mirror of
https://github.com/Relintai/tile_map_backport.git
synced 2024-11-05 10:11:16 +01:00
Fixed up the errors in the tile_set_scenes_collection_source_editor.
This commit is contained in:
parent
b599c2c347
commit
31d4909a20
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
#include "core/core_string_names.h"
|
#include "core/core_string_names.h"
|
||||||
|
|
||||||
void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::set_id(int p_id) {
|
void RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::set_id(int p_id) {
|
||||||
ERR_FAIL_COND(p_id < 0);
|
ERR_FAIL_COND(p_id < 0);
|
||||||
if (source_id == p_id) {
|
if (source_id == p_id) {
|
||||||
return;
|
return;
|
||||||
@ -51,11 +51,11 @@ void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::
|
|||||||
emit_signal(("changed"), "id");
|
emit_signal(("changed"), "id");
|
||||||
}
|
}
|
||||||
|
|
||||||
int RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::get_id() {
|
int RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::get_id() {
|
||||||
return source_id;
|
return source_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::_set(const StringName &p_name, const Variant &p_value) {
|
bool RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::_set(const StringName &p_name, const Variant &p_value) {
|
||||||
String name = p_name;
|
String name = p_name;
|
||||||
if (name == "name") {
|
if (name == "name") {
|
||||||
// Use the resource_name property to store the source's name.
|
// Use the resource_name property to store the source's name.
|
||||||
@ -69,7 +69,7 @@ bool RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::
|
|||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::_get(const StringName &p_name, Variant &r_ret) const {
|
bool RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::_get(const StringName &p_name, Variant &r_ret) const {
|
||||||
if (!tile_set_scenes_collection_source) {
|
if (!tile_set_scenes_collection_source) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -83,21 +83,21 @@ bool RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::
|
|||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::_get_property_list(List<PropertyInfo> *p_list) const {
|
void RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||||
p_list->push_back(PropertyInfo(Variant::STRING, "name", PROPERTY_HINT_NONE, ""));
|
p_list->push_back(PropertyInfo(Variant::STRING, "name", PROPERTY_HINT_NONE, ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::_bind_methods() {
|
void RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::_bind_methods() {
|
||||||
// -- Shape and layout --
|
// -- Shape and layout --
|
||||||
ClassDB::bind_method(D_METHOD("set_id", "id"), &RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::set_id);
|
ClassDB::bind_method(D_METHOD("set_id", "id"), &RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::set_id);
|
||||||
ClassDB::bind_method(D_METHOD("get_id"), &RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::get_id);
|
ClassDB::bind_method(D_METHOD("get_id"), &RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::get_id);
|
||||||
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "id"), "set_id", "get_id");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "id"), "set_id", "get_id");
|
||||||
|
|
||||||
ADD_SIGNAL(MethodInfo("changed", PropertyInfo(Variant::STRING, "what")));
|
ADD_SIGNAL(MethodInfo("changed", PropertyInfo(Variant::STRING, "what")));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::edit(Ref<RTileSet> p_tile_set, RTileSetScenesCollectionSource *p_tile_set_scenes_collection_source, int p_source_id) {
|
void RTileSetScenesCollectionSourceEditor::TileSetScenesCollectionProxyObject::edit(Ref<RTileSet> p_tile_set, RTileSetScenesCollectionSource *p_tile_set_scenes_collection_source, int p_source_id) {
|
||||||
ERR_FAIL_COND(!p_tile_set.is_valid());
|
ERR_FAIL_COND(!p_tile_set.is_valid());
|
||||||
ERR_FAIL_COND(!p_tile_set_scenes_collection_source);
|
ERR_FAIL_COND(!p_tile_set_scenes_collection_source);
|
||||||
ERR_FAIL_COND(p_source_id < 0);
|
ERR_FAIL_COND(p_source_id < 0);
|
||||||
@ -108,22 +108,22 @@ void RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionProxyObject::
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Disconnect to changes.
|
// Disconnect to changes.
|
||||||
if (tile_set_scenes_collection_source) {
|
//if (tile_set_scenes_collection_source) {
|
||||||
tile_set_scenes_collection_source->disconnect(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed));
|
// tile_set_scenes_collection_source->disconnect(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed));
|
||||||
}
|
//}
|
||||||
|
|
||||||
tile_set = p_tile_set;
|
tile_set = p_tile_set;
|
||||||
tile_set_scenes_collection_source = p_tile_set_scenes_collection_source;
|
tile_set_scenes_collection_source = p_tile_set_scenes_collection_source;
|
||||||
source_id = p_source_id;
|
source_id = p_source_id;
|
||||||
|
|
||||||
// Connect to changes.
|
// Connect to changes.
|
||||||
if (tile_set_scenes_collection_source) {
|
//if (tile_set_scenes_collection_source) {
|
||||||
if (!tile_set_scenes_collection_source->is_connected(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed))) {
|
// if (!tile_set_scenes_collection_source->is_connected(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed))) {
|
||||||
tile_set_scenes_collection_source->connect(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed));
|
// tile_set_scenes_collection_source->connect(CoreStringNames::get_singleton()->property_list_changed, callable_mp((Object *)this, &Object::notify_property_list_changed));
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
notify_property_list_changed();
|
property_list_changed_notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Proxy object used by the tile inspector --
|
// -- Proxy object used by the tile inspector --
|
||||||
@ -199,7 +199,7 @@ void RTileSetScenesCollectionSourceEditor::SceneTileProxyObject::edit(RTileSetSc
|
|||||||
tile_set_scenes_collection_source = p_tile_set_scenes_collection_source;
|
tile_set_scenes_collection_source = p_tile_set_scenes_collection_source;
|
||||||
scene_id = p_scene_id;
|
scene_id = p_scene_id;
|
||||||
|
|
||||||
notify_property_list_changed();
|
property_list_changed_notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTileSetScenesCollectionSourceEditor::SceneTileProxyObject::_bind_methods() {
|
void RTileSetScenesCollectionSourceEditor::SceneTileProxyObject::_bind_methods() {
|
||||||
@ -302,11 +302,13 @@ void RTileSetScenesCollectionSourceEditor::_update_scenes_list() {
|
|||||||
|
|
||||||
int item_index = 0;
|
int item_index = 0;
|
||||||
if (scene.is_valid()) {
|
if (scene.is_valid()) {
|
||||||
item_index = scene_tiles_list->add_item(vformat("%s (path:%s id:%d)", scene->get_path().get_file().get_basename(), scene->get_path(), scene_id));
|
scene_tiles_list->add_item(vformat("%s (path:%s id:%d)", scene->get_path().get_file().get_basename(), scene->get_path(), scene_id));
|
||||||
|
item_index = scene_tiles_list->get_item_count() - 1;
|
||||||
Variant udata = i;
|
Variant udata = i;
|
||||||
EditorResourcePreview::get_singleton()->queue_edited_resource_preview(scene, this, "_scene_thumbnail_done", udata);
|
EditorResourcePreview::get_singleton()->queue_edited_resource_preview(scene, this, "_scene_thumbnail_done", udata);
|
||||||
} else {
|
} else {
|
||||||
item_index = scene_tiles_list->add_item(TTR("Tile with Invalid Scene"), get_theme_icon(("PackedScene"), ("EditorIcons")));
|
scene_tiles_list->add_item(TTR("Tile with Invalid Scene"), get_icon(("PackedScene"), ("EditorIcons")));
|
||||||
|
item_index = scene_tiles_list->get_item_count() - 1;
|
||||||
}
|
}
|
||||||
scene_tiles_list->set_item_metadata(item_index, scene_id);
|
scene_tiles_list->set_item_metadata(item_index, scene_id);
|
||||||
|
|
||||||
@ -329,8 +331,8 @@ void RTileSetScenesCollectionSourceEditor::_notification(int p_what) {
|
|||||||
switch (p_what) {
|
switch (p_what) {
|
||||||
case NOTIFICATION_ENTER_TREE:
|
case NOTIFICATION_ENTER_TREE:
|
||||||
case NOTIFICATION_THEME_CHANGED:
|
case NOTIFICATION_THEME_CHANGED:
|
||||||
scene_tile_add_button->set_icon(get_theme_icon(("Add"), ("EditorIcons")));
|
scene_tile_add_button->set_icon(get_icon(("Add"), ("EditorIcons")));
|
||||||
scene_tile_delete_button->set_icon(get_theme_icon(("Remove"), ("EditorIcons")));
|
scene_tile_delete_button->set_icon(get_icon(("Remove"), ("EditorIcons")));
|
||||||
_update_scenes_list();
|
_update_scenes_list();
|
||||||
break;
|
break;
|
||||||
case NOTIFICATION_INTERNAL_PROCESS:
|
case NOTIFICATION_INTERNAL_PROCESS:
|
||||||
@ -365,7 +367,7 @@ void RTileSetScenesCollectionSourceEditor::edit(Ref<RTileSet> p_tile_set, RTileS
|
|||||||
|
|
||||||
// Remove listener for old objects.
|
// Remove listener for old objects.
|
||||||
if (tile_set_scenes_collection_source) {
|
if (tile_set_scenes_collection_source) {
|
||||||
tile_set_scenes_collection_source->disconnect("changed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_tile_set_scenes_collection_source_changed));
|
tile_set_scenes_collection_source->disconnect("changed", this, "_tile_set_scenes_collection_source_changed");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change the edited object.
|
// Change the edited object.
|
||||||
@ -375,7 +377,7 @@ void RTileSetScenesCollectionSourceEditor::edit(Ref<RTileSet> p_tile_set, RTileS
|
|||||||
|
|
||||||
// Add the listener again.
|
// Add the listener again.
|
||||||
if (tile_set_scenes_collection_source) {
|
if (tile_set_scenes_collection_source) {
|
||||||
tile_set_scenes_collection_source->connect("changed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_tile_set_scenes_collection_source_changed));
|
tile_set_scenes_collection_source->connect("changed", this, "_tile_set_scenes_collection_source_changed");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update everything.
|
// Update everything.
|
||||||
@ -449,6 +451,18 @@ void RTileSetScenesCollectionSourceEditor::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("_scene_thumbnail_done"), &RTileSetScenesCollectionSourceEditor::_scene_thumbnail_done);
|
ClassDB::bind_method(D_METHOD("_scene_thumbnail_done"), &RTileSetScenesCollectionSourceEditor::_scene_thumbnail_done);
|
||||||
ClassDB::bind_method(D_METHOD("_can_drop_data_fw"), &RTileSetScenesCollectionSourceEditor::_can_drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_can_drop_data_fw"), &RTileSetScenesCollectionSourceEditor::_can_drop_data_fw);
|
||||||
ClassDB::bind_method(D_METHOD("_drop_data_fw"), &RTileSetScenesCollectionSourceEditor::_drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_drop_data_fw"), &RTileSetScenesCollectionSourceEditor::_drop_data_fw);
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("_tile_set_scenes_collection_source_changed"), &RTileSetScenesCollectionSourceEditor::_tile_set_scenes_collection_source_changed);
|
||||||
|
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("_scenes_collection_source_proxy_object_changed"), &RTileSetScenesCollectionSourceEditor::_scenes_collection_source_proxy_object_changed);
|
||||||
|
ClassDB::bind_method(D_METHOD("_update_scenes_list"), &RTileSetScenesCollectionSourceEditor::_update_scenes_list);
|
||||||
|
ClassDB::bind_method(D_METHOD("_update_action_buttons"), &RTileSetScenesCollectionSourceEditor::_update_action_buttons);
|
||||||
|
ClassDB::bind_method(D_METHOD("_update_tile_inspector"), &RTileSetScenesCollectionSourceEditor::_update_tile_inspector);
|
||||||
|
ClassDB::bind_method(D_METHOD("_scenes_list_item_activated"), &RTileSetScenesCollectionSourceEditor::_scenes_list_item_activated);
|
||||||
|
ClassDB::bind_method(D_METHOD("_source_add_pressed"), &RTileSetScenesCollectionSourceEditor::_source_add_pressed);
|
||||||
|
ClassDB::bind_method(D_METHOD("_source_delete_pressed"), &RTileSetScenesCollectionSourceEditor::_source_delete_pressed);
|
||||||
|
ClassDB::bind_method(D_METHOD("_tile_set_scenes_collection_source_changed"), &RTileSetScenesCollectionSourceEditor::_tile_set_scenes_collection_source_changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
||||||
@ -459,7 +473,7 @@ RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
|||||||
|
|
||||||
// Middle panel.
|
// Middle panel.
|
||||||
ScrollContainer *middle_panel = memnew(ScrollContainer);
|
ScrollContainer *middle_panel = memnew(ScrollContainer);
|
||||||
middle_panel->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
|
middle_panel->set_enable_h_scroll(false);
|
||||||
middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE);
|
middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE);
|
||||||
split_container_right_side->add_child(middle_panel);
|
split_container_right_side->add_child(middle_panel);
|
||||||
|
|
||||||
@ -472,12 +486,12 @@ RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
|||||||
scenes_collection_source_inspector_label->set_text(TTR("Scenes collection properties:"));
|
scenes_collection_source_inspector_label->set_text(TTR("Scenes collection properties:"));
|
||||||
middle_vbox_container->add_child(scenes_collection_source_inspector_label);
|
middle_vbox_container->add_child(scenes_collection_source_inspector_label);
|
||||||
|
|
||||||
scenes_collection_source_proxy_object = memnew(RTileSetScenesCollectionProxyObject());
|
scenes_collection_source_proxy_object = memnew(TileSetScenesCollectionProxyObject());
|
||||||
scenes_collection_source_proxy_object->connect("changed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_scenes_collection_source_proxy_object_changed));
|
scenes_collection_source_proxy_object->connect("changed", this, "_scenes_collection_source_proxy_object_changed");
|
||||||
|
|
||||||
scenes_collection_source_inspector = memnew(EditorInspector);
|
scenes_collection_source_inspector = memnew(EditorInspector);
|
||||||
scenes_collection_source_inspector->set_undo_redo(undo_redo);
|
scenes_collection_source_inspector->set_undo_redo(undo_redo);
|
||||||
scenes_collection_source_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
|
scenes_collection_source_inspector->set_enable_v_scroll(false);
|
||||||
scenes_collection_source_inspector->edit(scenes_collection_source_proxy_object);
|
scenes_collection_source_inspector->edit(scenes_collection_source_proxy_object);
|
||||||
middle_vbox_container->add_child(scenes_collection_source_inspector);
|
middle_vbox_container->add_child(scenes_collection_source_inspector);
|
||||||
|
|
||||||
@ -488,12 +502,12 @@ RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
|||||||
middle_vbox_container->add_child(tile_inspector_label);
|
middle_vbox_container->add_child(tile_inspector_label);
|
||||||
|
|
||||||
tile_proxy_object = memnew(SceneTileProxyObject(this));
|
tile_proxy_object = memnew(SceneTileProxyObject(this));
|
||||||
tile_proxy_object->connect("changed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_update_scenes_list).unbind(1));
|
tile_proxy_object->connect("changed", this, "_update_scenes_list");
|
||||||
tile_proxy_object->connect("changed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_update_action_buttons).unbind(1));
|
tile_proxy_object->connect("changed", this, "_update_action_buttons");
|
||||||
|
|
||||||
tile_inspector = memnew(EditorInspector);
|
tile_inspector = memnew(EditorInspector);
|
||||||
tile_inspector->set_undo_redo(undo_redo);
|
tile_inspector->set_undo_redo(undo_redo);
|
||||||
tile_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
|
tile_inspector->set_enable_v_scroll(false);
|
||||||
tile_inspector->edit(tile_proxy_object);
|
tile_inspector->edit(tile_proxy_object);
|
||||||
tile_inspector->set_use_folding(true);
|
tile_inspector->set_use_folding(true);
|
||||||
middle_vbox_container->add_child(tile_inspector);
|
middle_vbox_container->add_child(tile_inspector);
|
||||||
@ -506,10 +520,10 @@ RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
|||||||
scene_tiles_list->set_h_size_flags(SIZE_EXPAND_FILL);
|
scene_tiles_list->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
scene_tiles_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
scene_tiles_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
scene_tiles_list->set_drag_forwarding(this);
|
scene_tiles_list->set_drag_forwarding(this);
|
||||||
scene_tiles_list->connect("item_selected", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_update_tile_inspector).unbind(1));
|
scene_tiles_list->connect("item_selected", this, "_update_tile_inspector");
|
||||||
scene_tiles_list->connect("item_selected", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_update_action_buttons).unbind(1));
|
scene_tiles_list->connect("item_selected", this, "_update_action_buttons");
|
||||||
scene_tiles_list->connect("item_activated", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_scenes_list_item_activated));
|
scene_tiles_list->connect("item_activated", this, "_scenes_list_item_activated");
|
||||||
scene_tiles_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST);
|
//scene_tiles_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST);
|
||||||
right_vbox_container->add_child(scene_tiles_list);
|
right_vbox_container->add_child(scene_tiles_list);
|
||||||
|
|
||||||
HBoxContainer *scenes_bottom_actions = memnew(HBoxContainer);
|
HBoxContainer *scenes_bottom_actions = memnew(HBoxContainer);
|
||||||
@ -517,13 +531,13 @@ RTileSetScenesCollectionSourceEditor::RTileSetScenesCollectionSourceEditor() {
|
|||||||
|
|
||||||
scene_tile_add_button = memnew(Button);
|
scene_tile_add_button = memnew(Button);
|
||||||
scene_tile_add_button->set_flat(true);
|
scene_tile_add_button->set_flat(true);
|
||||||
scene_tile_add_button->connect("pressed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_source_add_pressed));
|
scene_tile_add_button->connect("pressed", this, "_source_add_pressed");
|
||||||
scenes_bottom_actions->add_child(scene_tile_add_button);
|
scenes_bottom_actions->add_child(scene_tile_add_button);
|
||||||
|
|
||||||
scene_tile_delete_button = memnew(Button);
|
scene_tile_delete_button = memnew(Button);
|
||||||
scene_tile_delete_button->set_flat(true);
|
scene_tile_delete_button->set_flat(true);
|
||||||
scene_tile_delete_button->set_disabled(true);
|
scene_tile_delete_button->set_disabled(true);
|
||||||
scene_tile_delete_button->connect("pressed", callable_mp(this, &RTileSetScenesCollectionSourceEditor::_source_delete_pressed));
|
scene_tile_delete_button->connect("pressed", this, "_source_delete_pressed");
|
||||||
scenes_bottom_actions->add_child(scene_tile_delete_button);
|
scenes_bottom_actions->add_child(scene_tile_delete_button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user