From e78601c60ab8308c394dffe789ce118bb19314b1 Mon Sep 17 00:00:00 2001 From: Relintai Date: Mon, 13 Jun 2022 16:47:01 +0200 Subject: [PATCH] Cleaned up CurveDialog. --- .../widgets/curve_edit/curve_dialog.cpp | 181 +++++----- .../widgets/curve_edit/curve_dialog.ctscn | 328 ------------------ .../editor/widgets/curve_edit/curve_dialog.h | 55 +-- 3 files changed, 126 insertions(+), 438 deletions(-) delete mode 100644 modules/material_maker/editor/widgets/curve_edit/curve_dialog.ctscn diff --git a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.cpp b/modules/material_maker/editor/widgets/curve_edit/curve_dialog.cpp index 286d1532f..9ca9a1dcd 100644 --- a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.cpp +++ b/modules/material_maker/editor/widgets/curve_edit/curve_dialog.cpp @@ -1,115 +1,126 @@ #include "curve_dialog.h" +#include "curve_editor.h" -Variant CurveDialog::get_Variant() { - return Variant; +#include "scene/gui/box_container.h" +#include "scene/gui/button.h" +#include "scene/gui/margin_container.h" +#include "scene/gui/separator.h" + +Ref CurveDialog::get_curve() { + return curve; } -void CurveDialog::set_Variant(const Variant &val) { -Variant = val; +void CurveDialog::set_curve(const Ref &val) { + curve = val; } - -Array CurveDialog::get_previous_points() { - return previous_points; +Vector CurveDialog::get_previous_points() { + return previous_points; } -void CurveDialog::set_previous_points(const Array &val) { -previous_points = val; +void CurveDialog::set_previous_points(const Vector &val) { + previous_points = val; } - -Variant CurveDialog::get_Variant() { - return Variant; +void CurveDialog::edit_curve(const Ref &c) { + curve = c; + previous_points = curve->get_points(); + _curve_editor->set_curve(curve); + popup_centered(); } -void CurveDialog::set_Variant(const Variant &val) { -Variant = val; +void CurveDialog::_on_CurveDialog_popup_hide() { + queue_delete(); } - - - //tool; - //var MMCurve = preload("res://addons/mat_maker_gd/nodes/bases/curve_base.gd"); - Array previous_points = ; - Variant ; - signal curve_changed(curve); - // Called when the node enters the scene tree for the first time.; - - void CurveDialog::_ready() { - // Replace with function body.; - pass; +void CurveDialog::_on_OK_pressed() { + emit_signal("curve_changed", curve); + curve->curve_changed(); + queue_delete(); } - - void CurveDialog::_on_CurveDialog_popup_hide() { - queue_free(); +void CurveDialog::_on_Cancel_pressed() { + curve->set_points(previous_points); + emit_signal("curve_changed", curve); + queue_delete(); } - - void CurveDialog::_on_OK_pressed() { - emit_signal("curve_changed", curve); - curve.curve_changed(); - queue_free(); +void CurveDialog::_on_CurveEditor_value_changed(const Ref &value) { + emit_signal("curve_changed", value); } +CurveDialog::CurveDialog() { + set_title("Edit curve"); - void CurveDialog::_on_Cancel_pressed() { - curve.set_points(previous_points); - emit_signal("curve_changed", curve); - queue_free(); + VBoxContainer *mvbc = memnew(VBoxContainer); + add_child(mvbc); + + MarginContainer *mc = memnew(MarginContainer); + + mc->set_clip_contents(true); + mc->set_h_size_flags(SIZE_EXPAND_FILL); + mc->set_v_size_flags(SIZE_EXPAND_FILL); + + mc->set("custom_constants/margin_right", 4); + mc->set("custom_constants/margin_top", 4); + mc->set("custom_constants/margin_left", 4); + mc->set("custom_constants/margin_bottom", 4); + + mvbc->add_child(mc); + + _curve_editor = memnew(CurveEditor); + _curve_editor->set_filename("res://addons/mat_maker_gd/widgets/curve_edit/curve_editor.tscn"); + _curve_editor->set_v_size_flags(SIZE_EXPAND_FILL); + mc->add_child(_curve_editor); + + HSeparator *hsep = memnew(HSeparator); + mvbc->add_child(hsep); + + HBoxContainer *bhbc = memnew(HBoxContainer); + mvbc->add_child(bhbc); + + Control *spacer = memnew(Control); + spacer->set_h_size_flags(SIZE_EXPAND_FILL); + bhbc->add_child(spacer); + + _ok_button = memnew(Button); + _ok_button->set_text("OK"); + bhbc->add_child(_ok_button); + + _cancel_button = memnew(Button); + _cancel_button->set_text("Cancel"); + bhbc->add_child(_cancel_button); } - - void CurveDialog::edit_curve(const Variant &c) { - curve = c; - previous_points = curve.get_points(); - $VBoxContainer/EditorContainer/CurveEditor.set_curve(curve); - popup_centered(); +CurveDialog::~CurveDialog() { } - - void CurveDialog::_on_CurveEditor_value_changed(const Variant &value) { - emit_signal("curve_changed", value); +void CurveDialog::_notification(int p_what) { + if (p_what == NOTIFICATION_POSTINITIALIZE) { + connect("popup_hide", this, "_on_CurveDialog_popup_hide"); + _curve_editor->connect("value_changed", this, "_on_CurveEditor_value_changed"); + _ok_button->connect("pressed", this, "_on_OK_pressed"); + _cancel_button->connect("pressed", this, "_on_Cancel_pressed"); + } } +void CurveDialog::_bind_methods() { + ADD_SIGNAL(MethodInfo("curve_changed", PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "CurveBase"))); + + ClassDB::bind_method(D_METHOD("get_curve"), &CurveDialog::get_curve); + ClassDB::bind_method(D_METHOD("set_curve", "value"), &CurveDialog::set_curve); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "CurveBase"), "set_curve", "get_curve"); + + //ClassDB::bind_method(D_METHOD("get_previous_points"), &CurveDialog::get_previous_points); + //ClassDB::bind_method(D_METHOD("set_previous_points", "value"), &CurveDialog::set_previous_points); + //ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "previous_points"), "set_previous_points", "get_previous_points"); + + ClassDB::bind_method(D_METHOD("edit_curve", "c"), &CurveDialog::edit_curve); + + ClassDB::bind_method(D_METHOD("_on_CurveDialog_popup_hide"), &CurveDialog::_on_CurveDialog_popup_hide); + ClassDB::bind_method(D_METHOD("_on_OK_pressed"), &CurveDialog::_on_OK_pressed); + ClassDB::bind_method(D_METHOD("_on_Cancel_pressed"), &CurveDialog::_on_Cancel_pressed); + ClassDB::bind_method(D_METHOD("_on_CurveEditor_value_changed", "value"), &CurveDialog::_on_CurveEditor_value_changed); } - - CurveDialog::CurveDialog() { - //var MMCurve = preload("res://addons/mat_maker_gd/nodes/bases/curve_base.gd"); - previous_points = ; - ; - } - - CurveDialog::~CurveDialog() { - } - - - static void CurveDialog::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_Variant"), &CurveDialog::get_Variant); - ClassDB::bind_method(D_METHOD("set_Variant", "value"), &CurveDialog::set_Variant); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "Variant", PROPERTY_HINT_RESOURCE_TYPE, "Variant"), "set_Variant", "get_Variant"); - - - ClassDB::bind_method(D_METHOD("get_previous_points"), &CurveDialog::get_previous_points); - ClassDB::bind_method(D_METHOD("set_previous_points", "value"), &CurveDialog::set_previous_points); - ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "previous_points"), "set_previous_points", "get_previous_points"); - - - ClassDB::bind_method(D_METHOD("get_Variant"), &CurveDialog::get_Variant); - ClassDB::bind_method(D_METHOD("set_Variant", "value"), &CurveDialog::set_Variant); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "Variant", PROPERTY_HINT_RESOURCE_TYPE, "Variant"), "set_Variant", "get_Variant"); - - - ClassDB::bind_method(D_METHOD("_ready"), &CurveDialog::_ready); - ClassDB::bind_method(D_METHOD("_on_CurveDialog_popup_hide"), &CurveDialog::_on_CurveDialog_popup_hide); - ClassDB::bind_method(D_METHOD("_on_OK_pressed"), &CurveDialog::_on_OK_pressed); - ClassDB::bind_method(D_METHOD("_on_Cancel_pressed"), &CurveDialog::_on_Cancel_pressed); - ClassDB::bind_method(D_METHOD("edit_curve", "c"), &CurveDialog::edit_curve); - ClassDB::bind_method(D_METHOD("_on_CurveEditor_value_changed", "value"), &CurveDialog::_on_CurveEditor_value_changed); - - } - - - diff --git a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.ctscn b/modules/material_maker/editor/widgets/curve_edit/curve_dialog.ctscn deleted file mode 100644 index a4abfe543..000000000 --- a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.ctscn +++ /dev/null @@ -1,328 +0,0 @@ - -void construct() { - -//Script: res://addons/mat_maker_gd/widgets/curve_edit/curve_dialog.gd -WindowDialog *curvedialog = memnew(WindowDialog); -curvedialog->set_name("CurveDialog"); - -curvedialog->set_name("CurveDialog"); -//curvedialog->set("name", CurveDialog)); - -curvedialog->set_filename("res://addons/mat_maker_gd/widgets/curve_edit/curve_dialog.tscn"); -//curvedialog->set("filename", "res://addons/mat_maker_gd/widgets/curve_edit/curve_dialog.tscn"); - -curvedialog->set_anchor_right(1); -//curvedialog->set("anchor_right", 1); - -curvedialog->set_anchor_bottom(1); -//curvedialog->set("anchor_bottom", 1); - -curvedialog->set_margin_left(307); -//curvedialog->set("margin_left", 307); - -curvedialog->set_margin_top(151); -//curvedialog->set("margin_top", 151); - -curvedialog->set_margin_right(-347); -//curvedialog->set("margin_right", -347); - -curvedialog->set_margin_bottom(-174); -//curvedialog->set("margin_bottom", -174); - -curvedialog->set_rect_position(Vector2(307, 151)); -//curvedialog->set("rect_position", Vector2(307, 151)); - -curvedialog->set_rect_global_position(Vector2(307, 151)); -//curvedialog->set("rect_global_position", Vector2(307, 151)); - -curvedialog->set_rect_size(Vector2(0, 1)); -//curvedialog->set("rect_size", Vector2(0, 1)); - -curvedialog->set_window_title("Edit curve"); -//curvedialog->set("window_title", "Edit curve"); - -//curvedialog property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False} - - - -TextureButton *texturebutton_curvedialog = memnew(TextureButton); -texturebutton_curvedialog->set_name("TextureButton"); -curvedialog->add_child(texturebutton_curvedialog); - -texturebutton_curvedialog->set_name("TextureButton"); -//texturebutton_curvedialog->set("name", TextureButton)); - - - -VBoxContainer *vboxcontainer_curvedialog = memnew(VBoxContainer); -vboxcontainer_curvedialog->set_name("VBoxContainer"); -curvedialog->add_child(vboxcontainer_curvedialog); - -vboxcontainer_curvedialog->set_name("VBoxContainer"); -//vboxcontainer_curvedialog->set("name", VBoxContainer)); - -//vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -vboxcontainer_curvedialog->set_anchor_right(1); -//vboxcontainer_curvedialog->set("anchor_right", 1); - -vboxcontainer_curvedialog->set_anchor_bottom(1); -//vboxcontainer_curvedialog->set("anchor_bottom", 1); - -vboxcontainer_curvedialog->set_margin_left(5); -//vboxcontainer_curvedialog->set("margin_left", 5); - -vboxcontainer_curvedialog->set_margin_top(5); -//vboxcontainer_curvedialog->set("margin_top", 5); - -vboxcontainer_curvedialog->set_margin_right(-5); -//vboxcontainer_curvedialog->set("margin_right", -5); - -vboxcontainer_curvedialog->set_margin_bottom(-5); -//vboxcontainer_curvedialog->set("margin_bottom", -5); - -vboxcontainer_curvedialog->set_rect_position(Vector2(5, 5)); -//vboxcontainer_curvedialog->set("rect_position", Vector2(5, 5)); - -vboxcontainer_curvedialog->set_rect_global_position(Vector2(5, 5)); -//vboxcontainer_curvedialog->set("rect_global_position", Vector2(5, 5)); - -//vboxcontainer_curvedialog property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False} - - - -MarginContainer *editorcontainer_vboxcontainer_curvedialog = memnew(MarginContainer); -editorcontainer_vboxcontainer_curvedialog->set_name("EditorContainer"); -vboxcontainer_curvedialog->add_child(editorcontainer_vboxcontainer_curvedialog); - -editorcontainer_vboxcontainer_curvedialog->set_name("EditorContainer"); -//editorcontainer_vboxcontainer_curvedialog->set("name", EditorContainer)); - -//editorcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -editorcontainer_vboxcontainer_curvedialog->set_margin_right(616); -//editorcontainer_vboxcontainer_curvedialog->set("margin_right", 616); - -editorcontainer_vboxcontainer_curvedialog->set_margin_bottom(353); -//editorcontainer_vboxcontainer_curvedialog->set("margin_bottom", 353); - -editorcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(616, 353)); -//editorcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(616, 353)); - -editorcontainer_vboxcontainer_curvedialog->set_rect_clip_content(True); -//editorcontainer_vboxcontainer_curvedialog->set("rect_clip_content", True); - -editorcontainer_vboxcontainer_curvedialog->set_size_flags_horizontal(3); -//editorcontainer_vboxcontainer_curvedialog->set("size_flags_horizontal", 3); - -editorcontainer_vboxcontainer_curvedialog->set_size_flags_vertical(3); -//editorcontainer_vboxcontainer_curvedialog->set("size_flags_vertical", 3); - -editorcontainer_vboxcontainer_curvedialog->set_custom_constants/margin_right(4); -//editorcontainer_vboxcontainer_curvedialog->set("custom_constants/margin_right", 4); - -editorcontainer_vboxcontainer_curvedialog->set_custom_constants/margin_top(4); -//editorcontainer_vboxcontainer_curvedialog->set("custom_constants/margin_top", 4); - -editorcontainer_vboxcontainer_curvedialog->set_custom_constants/margin_left(4); -//editorcontainer_vboxcontainer_curvedialog->set("custom_constants/margin_left", 4); - -editorcontainer_vboxcontainer_curvedialog->set_custom_constants/margin_bottom(4); -//editorcontainer_vboxcontainer_curvedialog->set("custom_constants/margin_bottom", 4); - - - -//Script: res://addons/mat_maker_gd/widgets/curve_edit/curve_editor.gd -Control *curveeditor_editorcontainer_vboxcontainer_curvedialog = memnew(Control); -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_name("CurveEditor"); -editorcontainer_vboxcontainer_curvedialog->add_child(curveeditor_editorcontainer_vboxcontainer_curvedialog); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_name("CurveEditor"); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("name", CurveEditor)); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_filename("res://addons/mat_maker_gd/widgets/curve_edit/curve_editor.tscn"); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("filename", "res://addons/mat_maker_gd/widgets/curve_edit/curve_editor.tscn"); - -//curveeditor_editorcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_margin_left(4); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("margin_left", 4); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_margin_top(4); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("margin_top", 4); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_margin_right(612); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("margin_right", 612); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_margin_bottom(349); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("margin_bottom", 349); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_rect_position(Vector2(4, 4)); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("rect_position", Vector2(4, 4)); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_rect_global_position(Vector2(4, 4)); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("rect_global_position", Vector2(4, 4)); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(608, 345)); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(608, 345)); - -curveeditor_editorcontainer_vboxcontainer_curvedialog->set_size_flags_vertical(3); -//curveeditor_editorcontainer_vboxcontainer_curvedialog->set("size_flags_vertical", 3); - -//curveeditor_editorcontainer_vboxcontainer_curvedialog property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False} - - - -HSeparator *hseparator_vboxcontainer_curvedialog = memnew(HSeparator); -hseparator_vboxcontainer_curvedialog->set_name("HSeparator"); -vboxcontainer_curvedialog->add_child(hseparator_vboxcontainer_curvedialog); - -hseparator_vboxcontainer_curvedialog->set_name("HSeparator"); -//hseparator_vboxcontainer_curvedialog->set("name", HSeparator)); - -//hseparator_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -hseparator_vboxcontainer_curvedialog->set_margin_top(357); -//hseparator_vboxcontainer_curvedialog->set("margin_top", 357); - -hseparator_vboxcontainer_curvedialog->set_margin_right(616); -//hseparator_vboxcontainer_curvedialog->set("margin_right", 616); - -hseparator_vboxcontainer_curvedialog->set_margin_bottom(361); -//hseparator_vboxcontainer_curvedialog->set("margin_bottom", 361); - -hseparator_vboxcontainer_curvedialog->set_rect_position(Vector2(0, 357)); -//hseparator_vboxcontainer_curvedialog->set("rect_position", Vector2(0, 357)); - -hseparator_vboxcontainer_curvedialog->set_rect_global_position(Vector2(0, 357)); -//hseparator_vboxcontainer_curvedialog->set("rect_global_position", Vector2(0, 357)); - -hseparator_vboxcontainer_curvedialog->set_rect_size(Vector2(616, 4)); -//hseparator_vboxcontainer_curvedialog->set("rect_size", Vector2(616, 4)); - - - -HBoxContainer *hboxcontainer_vboxcontainer_curvedialog = memnew(HBoxContainer); -hboxcontainer_vboxcontainer_curvedialog->set_name("HBoxContainer"); -vboxcontainer_curvedialog->add_child(hboxcontainer_vboxcontainer_curvedialog); - -hboxcontainer_vboxcontainer_curvedialog->set_name("HBoxContainer"); -//hboxcontainer_vboxcontainer_curvedialog->set("name", HBoxContainer)); - -//hboxcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -hboxcontainer_vboxcontainer_curvedialog->set_margin_top(365); -//hboxcontainer_vboxcontainer_curvedialog->set("margin_top", 365); - -hboxcontainer_vboxcontainer_curvedialog->set_margin_right(616); -//hboxcontainer_vboxcontainer_curvedialog->set("margin_right", 616); - -hboxcontainer_vboxcontainer_curvedialog->set_margin_bottom(385); -//hboxcontainer_vboxcontainer_curvedialog->set("margin_bottom", 385); - -hboxcontainer_vboxcontainer_curvedialog->set_rect_position(Vector2(0, 365)); -//hboxcontainer_vboxcontainer_curvedialog->set("rect_position", Vector2(0, 365)); - -hboxcontainer_vboxcontainer_curvedialog->set_rect_global_position(Vector2(0, 365)); -//hboxcontainer_vboxcontainer_curvedialog->set("rect_global_position", Vector2(0, 365)); - -hboxcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(616, 20)); -//hboxcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(616, 20)); - - - -Control *control_hboxcontainer_vboxcontainer_curvedialog = memnew(Control); -control_hboxcontainer_vboxcontainer_curvedialog->set_name("Control"); -hboxcontainer_vboxcontainer_curvedialog->add_child(control_hboxcontainer_vboxcontainer_curvedialog); - -control_hboxcontainer_vboxcontainer_curvedialog->set_name("Control"); -//control_hboxcontainer_vboxcontainer_curvedialog->set("name", Control)); - -//control_hboxcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -control_hboxcontainer_vboxcontainer_curvedialog->set_margin_right(488); -//control_hboxcontainer_vboxcontainer_curvedialog->set("margin_right", 488); - -control_hboxcontainer_vboxcontainer_curvedialog->set_margin_bottom(20); -//control_hboxcontainer_vboxcontainer_curvedialog->set("margin_bottom", 20); - -control_hboxcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(488, 20)); -//control_hboxcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(488, 20)); - -control_hboxcontainer_vboxcontainer_curvedialog->set_size_flags_horizontal(3); -//control_hboxcontainer_vboxcontainer_curvedialog->set("size_flags_horizontal", 3); - - - -Button *ok_hboxcontainer_vboxcontainer_curvedialog = memnew(Button); -ok_hboxcontainer_vboxcontainer_curvedialog->set_name("OK"); -hboxcontainer_vboxcontainer_curvedialog->add_child(ok_hboxcontainer_vboxcontainer_curvedialog); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_name("OK"); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("name", OK)); - -//ok_hboxcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -ok_hboxcontainer_vboxcontainer_curvedialog->set_margin_left(492); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("margin_left", 492); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_margin_right(552); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("margin_right", 552); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_margin_bottom(20); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("margin_bottom", 20); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_rect_position(Vector2(492, 0)); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("rect_position", Vector2(492, 0)); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_rect_global_position(Vector2(492, 0)); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("rect_global_position", Vector2(492, 0)); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(60, 20)); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(60, 20)); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_rect_min_size(Vector2(60, 0)); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("rect_min_size", Vector2(60, 0)); - -ok_hboxcontainer_vboxcontainer_curvedialog->set_text("OK"); -//ok_hboxcontainer_vboxcontainer_curvedialog->set("text", "OK"); - - - -Button *cancel_hboxcontainer_vboxcontainer_curvedialog = memnew(Button); -cancel_hboxcontainer_vboxcontainer_curvedialog->set_name("Cancel"); -hboxcontainer_vboxcontainer_curvedialog->add_child(cancel_hboxcontainer_vboxcontainer_curvedialog); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_name("Cancel"); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("name", Cancel)); - -//cancel_hboxcontainer_vboxcontainer_curvedialog property owner TYPE_OBJECT value: CurveDialog:[WindowDialog:59762] - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_margin_left(556); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("margin_left", 556); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_margin_right(616); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("margin_right", 616); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_margin_bottom(20); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("margin_bottom", 20); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_rect_position(Vector2(556, 0)); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("rect_position", Vector2(556, 0)); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_rect_global_position(Vector2(556, 0)); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("rect_global_position", Vector2(556, 0)); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_rect_size(Vector2(60, 20)); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("rect_size", Vector2(60, 20)); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_rect_min_size(Vector2(60, 0)); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("rect_min_size", Vector2(60, 0)); - -cancel_hboxcontainer_vboxcontainer_curvedialog->set_text("Cancel"); -//cancel_hboxcontainer_vboxcontainer_curvedialog->set("text", "Cancel"); - - - - -} diff --git a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.h b/modules/material_maker/editor/widgets/curve_edit/curve_dialog.h index d54530b80..228d85217 100644 --- a/modules/material_maker/editor/widgets/curve_edit/curve_dialog.h +++ b/modules/material_maker/editor/widgets/curve_edit/curve_dialog.h @@ -1,41 +1,46 @@ #ifndef CURVE_DIALOG_H #define CURVE_DIALOG_H +#include "core/reference.h" + +#include "scene/gui/dialogs.h" + +#include "../../../nodes/bases/curve_base.h" + +class Button; +class CurveEditor; class CurveDialog : public WindowDialog { - GDCLASS(CurveDialog, WindowDialog); + GDCLASS(CurveDialog, WindowDialog); - public: +public: + Ref get_curve(); + void set_curve(const Ref &val); - Variant get_Variant(); - void set_Variant(const Variant &val); + Vector get_previous_points(); + void set_previous_points(const Vector &val); - Array get_previous_points(); - void set_previous_points(const Array &val); + void edit_curve(const Ref &c); - Variant get_Variant(); - void set_Variant(const Variant &val); + void _on_CurveDialog_popup_hide(); + void _on_OK_pressed(); + void _on_Cancel_pressed(); + void _on_CurveEditor_value_changed(const Ref &value); - void _ready(); - void _on_CurveDialog_popup_hide(); - void _on_OK_pressed(); - void _on_Cancel_pressed(); - void edit_curve(const Variant &c); - void _on_CurveEditor_value_changed(const Variant &value); + CurveDialog(); + ~CurveDialog(); - CurveDialog(); - ~CurveDialog(); +protected: + void _notification(int p_what); - protected: - static void _bind_methods(); + static void _bind_methods(); - //tool - Variant = preload("res://addons/mat_maker_gd/nodes/bases/curve_base.gd"); - Array previous_points = ; - Variant ; - signal curve_changed(curve); - // Called when the node enters the scene tree for the first time. + Vector previous_points; + Ref curve; + + CurveEditor *_curve_editor; + Button *_ok_button; + Button *_cancel_button; }; - #endif