Cleaned up CurveDialog.

This commit is contained in:
Relintai 2022-06-13 16:47:01 +02:00
parent 4c12cb8606
commit e78601c60a
3 changed files with 126 additions and 438 deletions

View File

@ -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<CurveBase> CurveDialog::get_curve() {
return curve;
}
void CurveDialog::set_Variant(const Variant &val) {
Variant = val;
void CurveDialog::set_curve(const Ref<CurveBase> &val) {
curve = val;
}
Array CurveDialog::get_previous_points() {
Vector<CurveBase::Point> CurveDialog::get_previous_points() {
return previous_points;
}
void CurveDialog::set_previous_points(const Array &val) {
void CurveDialog::set_previous_points(const Vector<CurveBase::Point> &val) {
previous_points = val;
}
Variant CurveDialog::get_Variant() {
return Variant;
}
void CurveDialog::set_Variant(const Variant &val) {
Variant = val;
}
//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_CurveDialog_popup_hide() {
queue_free();
}
void CurveDialog::_on_OK_pressed() {
emit_signal("curve_changed", curve);
curve.curve_changed();
queue_free();
}
void CurveDialog::_on_Cancel_pressed() {
curve.set_points(previous_points);
emit_signal("curve_changed", curve);
queue_free();
}
void CurveDialog::edit_curve(const Variant &c) {
void CurveDialog::edit_curve(const Ref<CurveBase> &c) {
curve = c;
previous_points = curve.get_points();
$VBoxContainer/EditorContainer/CurveEditor.set_curve(curve);
previous_points = curve->get_points();
_curve_editor->set_curve(curve);
popup_centered();
}
void CurveDialog::_on_CurveDialog_popup_hide() {
queue_delete();
}
void CurveDialog::_on_CurveEditor_value_changed(const Variant &value) {
void CurveDialog::_on_OK_pressed() {
emit_signal("curve_changed", curve);
curve->curve_changed();
queue_delete();
}
void CurveDialog::_on_Cancel_pressed() {
curve->set_points(previous_points);
emit_signal("curve_changed", curve);
queue_delete();
}
void CurveDialog::_on_CurveEditor_value_changed(const Ref<CurveBase> &value) {
emit_signal("curve_changed", value);
}
}
CurveDialog::CurveDialog() {
//var MMCurve = preload("res://addons/mat_maker_gd/nodes/bases/curve_base.gd");
previous_points = ;
;
set_title("Edit curve");
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);
}
CurveDialog::~CurveDialog() {
}
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");
}
}
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");
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("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("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);
}

View File

@ -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");
}

View File

@ -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);
public:
Ref<CurveBase> get_curve();
void set_curve(const Ref<CurveBase> &val);
Variant get_Variant();
void set_Variant(const Variant &val);
Vector<CurveBase::Point> get_previous_points();
void set_previous_points(const Vector<CurveBase::Point> &val);
Array get_previous_points();
void set_previous_points(const Array &val);
void edit_curve(const Ref<CurveBase> &c);
Variant get_Variant();
void set_Variant(const Variant &val);
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);
void _on_CurveEditor_value_changed(const Ref<CurveBase> &value);
CurveDialog();
~CurveDialog();
protected:
void _notification(int p_what);
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<CurveBase::Point> previous_points;
Ref<CurveBase> curve;
CurveEditor *_curve_editor;
Button *_ok_button;
Button *_cancel_button;
};
#endif