mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-02-07 00:25:54 +01:00
Cleaned up PolygonEdit.
This commit is contained in:
parent
8178d526ba
commit
665f8be21f
@ -1,106 +1,73 @@
|
|||||||
|
|
||||||
#include "polygon_edit.h"
|
#include "polygon_edit.h"
|
||||||
|
|
||||||
|
#include "polygon_dialog.h"
|
||||||
|
#include "polygon_view.h"
|
||||||
|
#include "scene/gui/button.h"
|
||||||
|
|
||||||
Variant PolygonEdit::get_Variant() {
|
#include "../../../nodes/bases/polygon_base.h"
|
||||||
return Variant;
|
|
||||||
}
|
|
||||||
|
|
||||||
void PolygonEdit::set_Variant(const Variant &val) {
|
|
||||||
Variant = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool PolygonEdit::get_closed() const {
|
bool PolygonEdit::get_closed() const {
|
||||||
return closed;
|
return closed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PolygonEdit::set_closed(const bool val) {
|
|
||||||
closed = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Variant PolygonEdit::get_Variant() {
|
|
||||||
return Variant;
|
|
||||||
}
|
|
||||||
|
|
||||||
void PolygonEdit::set_Variant(const Variant &val) {
|
|
||||||
Variant = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//tool;
|
|
||||||
//var MMPolygon = preload("res://addons/mat_maker_gd/nodes/bases/polygon_base.gd");
|
|
||||||
//export ;
|
|
||||||
// setget set_closed;
|
|
||||||
bool closed = true;
|
|
||||||
// setget set_value;
|
|
||||||
Variant = null;
|
|
||||||
signal updated(polygon);
|
|
||||||
|
|
||||||
void PolygonEdit::set_closed(const bool c) {
|
void PolygonEdit::set_closed(const bool c) {
|
||||||
closed = c;
|
closed = c;
|
||||||
$PolygonView.set_closed(c);
|
_polygon_view->set_closed(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ref<PolygonBase> PolygonEdit::get_value() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
void PolygonEdit::set_value(const Variant &v) {
|
void PolygonEdit::set_value(const Ref<PolygonBase> &v) {
|
||||||
value = v;
|
value = v;
|
||||||
$PolygonView.set_polygon(value);
|
_polygon_view->set_polygon(value);
|
||||||
$PolygonView.update();
|
_polygon_view->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PolygonEdit::_on_PolygonEdit_pressed() {
|
void PolygonEdit::_on_PolygonEdit_pressed() {
|
||||||
//var dialog = preload("res://addons/mat_maker_gd/widgets/polygon_edit/polygon_dialog.tscn").instance();
|
PolygonDialog *dialog = memnew(PolygonDialog);
|
||||||
dialog.set_closed(closed);
|
dialog->set_closed(closed);
|
||||||
add_child(dialog);
|
add_child(dialog);
|
||||||
dialog.connect("polygon_changed", self, "on_value_changed");
|
dialog->connect("polygon_changed", this, "on_value_changed");
|
||||||
dialog.edit_polygon(value);
|
dialog->edit_polygon(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PolygonEdit::on_value_changed(const Variant &v) {
|
void PolygonEdit::on_value_changed(const Variant &v) {
|
||||||
//set_value(v);
|
//set_value(v);
|
||||||
emit_signal("updated", v);
|
emit_signal("updated", v);
|
||||||
$PolygonView.update();
|
_polygon_view->update();
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PolygonEdit::PolygonEdit() {
|
PolygonEdit::PolygonEdit() {
|
||||||
//var MMPolygon = preload("res://addons/mat_maker_gd/nodes/bases/polygon_base.gd");
|
|
||||||
closed = true;
|
closed = true;
|
||||||
= null;
|
|
||||||
|
set_custom_minimum_size(Vector2(32, 32));
|
||||||
|
set_focus_mode(FOCUS_CLICK);
|
||||||
|
|
||||||
|
_polygon_view = memnew(PolygonView);
|
||||||
|
add_child(_polygon_view);
|
||||||
|
_polygon_view->set_anchors_and_margins_preset(PRESET_WIDE);
|
||||||
|
_polygon_view->set_mouse_filter(MOUSE_FILTER_IGNORE);
|
||||||
}
|
}
|
||||||
|
|
||||||
PolygonEdit::~PolygonEdit() {
|
PolygonEdit::~PolygonEdit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PolygonEdit::_bind_methods() {
|
||||||
static void PolygonEdit::_bind_methods() {
|
ADD_SIGNAL(MethodInfo("updated", PropertyInfo(Variant::OBJECT, "polygon", PROPERTY_HINT_RESOURCE_TYPE, "PolygonBase")));
|
||||||
ClassDB::bind_method(D_METHOD("get_Variant"), &PolygonEdit::get_Variant);
|
|
||||||
ClassDB::bind_method(D_METHOD("set_Variant", "value"), &PolygonEdit::set_Variant);
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "Variant", PROPERTY_HINT_RESOURCE_TYPE, "Variant"), "set_Variant", "get_Variant");
|
|
||||||
|
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("get_closed"), &PolygonEdit::get_closed);
|
ClassDB::bind_method(D_METHOD("get_closed"), &PolygonEdit::get_closed);
|
||||||
ClassDB::bind_method(D_METHOD("set_closed", "value"), &PolygonEdit::set_closed);
|
ClassDB::bind_method(D_METHOD("set_closed", "value"), &PolygonEdit::set_closed);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "closed"), "set_closed", "get_closed");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "closed"), "set_closed", "get_closed");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_value"), &PolygonEdit::get_value);
|
||||||
ClassDB::bind_method(D_METHOD("get_Variant"), &PolygonEdit::get_Variant);
|
ClassDB::bind_method(D_METHOD("set_value", "value"), &PolygonEdit::set_value);
|
||||||
ClassDB::bind_method(D_METHOD("set_Variant", "value"), &PolygonEdit::set_Variant);
|
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "value", PROPERTY_HINT_RESOURCE_TYPE, "PolygonBase"), "set_value", "get_value");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "Variant", PROPERTY_HINT_RESOURCE_TYPE, "Variant"), "set_Variant", "get_Variant");
|
|
||||||
|
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_closed", "c"), &PolygonEdit::set_closed, true);
|
ClassDB::bind_method(D_METHOD("set_closed", "c"), &PolygonEdit::set_closed, true);
|
||||||
ClassDB::bind_method(D_METHOD("set_value", "v"), &PolygonEdit::set_value);
|
ClassDB::bind_method(D_METHOD("set_value", "v"), &PolygonEdit::set_value);
|
||||||
ClassDB::bind_method(D_METHOD("_on_PolygonEdit_pressed"), &PolygonEdit::_on_PolygonEdit_pressed);
|
ClassDB::bind_method(D_METHOD("_on_PolygonEdit_pressed"), &PolygonEdit::_on_PolygonEdit_pressed);
|
||||||
ClassDB::bind_method(D_METHOD("on_value_changed", "v"), &PolygonEdit::on_value_changed);
|
ClassDB::bind_method(D_METHOD("on_value_changed", "v"), &PolygonEdit::on_value_changed);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
|
|
||||||
void construct() {
|
|
||||||
|
|
||||||
//Script: res://addons/mat_maker_gd/widgets/polygon_edit/polygon_edit.gd
|
|
||||||
Button *polygonedit = memnew(Button);
|
|
||||||
polygonedit->set_name("PolygonEdit");
|
|
||||||
|
|
||||||
polygonedit->set_name("PolygonEdit");
|
|
||||||
//polygonedit->set("name", PolygonEdit));
|
|
||||||
|
|
||||||
polygonedit->set_filename("res://addons/mat_maker_gd/widgets/polygon_edit/polygon_edit.tscn");
|
|
||||||
//polygonedit->set("filename", "res://addons/mat_maker_gd/widgets/polygon_edit/polygon_edit.tscn");
|
|
||||||
|
|
||||||
polygonedit->set_anchor_left(1);
|
|
||||||
//polygonedit->set("anchor_left", 1);
|
|
||||||
|
|
||||||
polygonedit->set_anchor_right(1);
|
|
||||||
//polygonedit->set("anchor_right", 1);
|
|
||||||
|
|
||||||
polygonedit->set_anchor_bottom(1);
|
|
||||||
//polygonedit->set("anchor_bottom", 1);
|
|
||||||
|
|
||||||
polygonedit->set_margin_left(-1280);
|
|
||||||
//polygonedit->set("margin_left", -1280);
|
|
||||||
|
|
||||||
polygonedit->set_margin_right(-1248);
|
|
||||||
//polygonedit->set("margin_right", -1248);
|
|
||||||
|
|
||||||
polygonedit->set_margin_bottom(-688);
|
|
||||||
//polygonedit->set("margin_bottom", -688);
|
|
||||||
|
|
||||||
polygonedit->set_rect_position(Vector2(-1280, 0));
|
|
||||||
//polygonedit->set("rect_position", Vector2(-1280, 0));
|
|
||||||
|
|
||||||
polygonedit->set_rect_global_position(Vector2(-1280, 0));
|
|
||||||
//polygonedit->set("rect_global_position", Vector2(-1280, 0));
|
|
||||||
|
|
||||||
polygonedit->set_rect_size(Vector2(32, 20));
|
|
||||||
//polygonedit->set("rect_size", Vector2(32, 20));
|
|
||||||
|
|
||||||
polygonedit->set_rect_min_size(Vector2(32, 32));
|
|
||||||
//polygonedit->set("rect_min_size", Vector2(32, 32));
|
|
||||||
|
|
||||||
polygonedit->set_focus_mode(1);
|
|
||||||
//polygonedit->set("focus_mode", 1);
|
|
||||||
|
|
||||||
//polygonedit property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Script: res://addons/mat_maker_gd/widgets/polygon_edit/polygon_view.gd
|
|
||||||
Control *polygonview_polygonedit = memnew(Control);
|
|
||||||
polygonview_polygonedit->set_name("PolygonView");
|
|
||||||
polygonedit->add_child(polygonview_polygonedit);
|
|
||||||
|
|
||||||
polygonview_polygonedit->set_name("PolygonView");
|
|
||||||
//polygonview_polygonedit->set("name", PolygonView));
|
|
||||||
|
|
||||||
polygonview_polygonedit->set_filename("res://addons/mat_maker_gd/widgets/polygon_edit/polygon_view.tscn");
|
|
||||||
//polygonview_polygonedit->set("filename", "res://addons/mat_maker_gd/widgets/polygon_edit/polygon_view.tscn");
|
|
||||||
|
|
||||||
//polygonview_polygonedit property owner TYPE_OBJECT value: PolygonEdit:[Button:42430]
|
|
||||||
|
|
||||||
polygonview_polygonedit->set_anchor_right(1);
|
|
||||||
//polygonview_polygonedit->set("anchor_right", 1);
|
|
||||||
|
|
||||||
polygonview_polygonedit->set_anchor_bottom(1);
|
|
||||||
//polygonview_polygonedit->set("anchor_bottom", 1);
|
|
||||||
|
|
||||||
polygonview_polygonedit->set_mouse_filter(2);
|
|
||||||
//polygonview_polygonedit->set("mouse_filter", 2);
|
|
||||||
|
|
||||||
//polygonview_polygonedit property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,23 +1,23 @@
|
|||||||
#ifndef POLYGON_EDIT_H
|
#ifndef POLYGON_EDIT_H
|
||||||
#define POLYGON_EDIT_H
|
#define POLYGON_EDIT_H
|
||||||
|
|
||||||
|
#include "core/reference.h"
|
||||||
|
|
||||||
|
#include "scene/gui/control.h"
|
||||||
|
|
||||||
|
class PolygonBase;
|
||||||
|
class PolygonView;
|
||||||
|
|
||||||
class PolygonEdit : public Control {
|
class PolygonEdit : public Control {
|
||||||
GDCLASS(PolygonEdit, Control);
|
GDCLASS(PolygonEdit, Control);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Variant get_Variant();
|
|
||||||
void set_Variant(const Variant &val);
|
|
||||||
|
|
||||||
bool get_closed() const;
|
bool get_closed() const;
|
||||||
void set_closed(const bool val);
|
|
||||||
|
|
||||||
Variant get_Variant();
|
|
||||||
void set_Variant(const Variant &val);
|
|
||||||
|
|
||||||
void set_closed(const bool c = true);
|
void set_closed(const bool c = true);
|
||||||
void set_value(const Variant &v);
|
|
||||||
|
Ref<PolygonBase> get_value();
|
||||||
|
void set_value(const Ref<PolygonBase> &v);
|
||||||
|
|
||||||
void _on_PolygonEdit_pressed();
|
void _on_PolygonEdit_pressed();
|
||||||
void on_value_changed(const Variant &v);
|
void on_value_changed(const Variant &v);
|
||||||
|
|
||||||
@ -27,15 +27,10 @@ class PolygonEdit : public Control {
|
|||||||
protected:
|
protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
//tool
|
bool closed;
|
||||||
Variant = preload("res://addons/mat_maker_gd/nodes/bases/polygon_base.gd");
|
Ref<PolygonBase> value;
|
||||||
//export
|
|
||||||
// setget set_closed
|
PolygonView *_polygon_view;
|
||||||
bool closed = true;
|
|
||||||
// setget set_value
|
|
||||||
Variant = null;
|
|
||||||
signal updated(polygon);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user