You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-15 13:51:40 +00:00
Fix TileSet editor drag and drop not working
This commit is contained in:
@@ -41,10 +41,10 @@
|
|||||||
|
|
||||||
TileSetEditor *TileSetEditor::singleton = nullptr;
|
TileSetEditor *TileSetEditor::singleton = nullptr;
|
||||||
|
|
||||||
void TileSetEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
|
void TileSetEditor::_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
|
||||||
ERR_FAIL_COND(!tile_set.is_valid());
|
ERR_FAIL_COND(!tile_set.is_valid());
|
||||||
|
|
||||||
if (!can_drop_data_fw(p_point, p_data, p_from)) {
|
if (!_can_drop_data_fw(p_point, p_data, p_from)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ void TileSetEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TileSetEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
|
bool TileSetEditor::_can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
|
||||||
ERR_FAIL_COND_V(!tile_set.is_valid(), false);
|
ERR_FAIL_COND_V(!tile_set.is_valid(), false);
|
||||||
|
|
||||||
if (p_from == sources_list) {
|
if (p_from == sources_list) {
|
||||||
@@ -608,8 +608,8 @@ void TileSetEditor::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TileSetEditor::_bind_methods() {
|
void TileSetEditor::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("_can_drop_data_fw"), &TileSetEditor::can_drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_can_drop_data_fw"), &TileSetEditor::_can_drop_data_fw);
|
||||||
ClassDB::bind_method(D_METHOD("_drop_data_fw"), &TileSetEditor::drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_drop_data_fw"), &TileSetEditor::_drop_data_fw);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TileSetEditor::edit(Ref<TileSet> p_tile_set) {
|
void TileSetEditor::edit(Ref<TileSet> p_tile_set) {
|
||||||
|
|||||||
@@ -59,6 +59,9 @@ private:
|
|||||||
|
|
||||||
UndoRedo *undo_redo = EditorNode::get_undo_redo();
|
UndoRedo *undo_redo = EditorNode::get_undo_redo();
|
||||||
|
|
||||||
|
void _drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
||||||
|
bool _can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
||||||
|
|
||||||
void _update_sources_list(int force_selected_id = -1);
|
void _update_sources_list(int force_selected_id = -1);
|
||||||
|
|
||||||
// Sources management.
|
// Sources management.
|
||||||
@@ -98,9 +101,6 @@ public:
|
|||||||
|
|
||||||
void edit(Ref<TileSet> p_tile_set);
|
void edit(Ref<TileSet> p_tile_set);
|
||||||
|
|
||||||
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
|
||||||
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
|
||||||
|
|
||||||
TileSetEditor();
|
TileSetEditor();
|
||||||
~TileSetEditor();
|
~TileSetEditor();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -385,8 +385,8 @@ void TileSetScenesCollectionSourceEditor::edit(Ref<TileSet> p_tile_set, TileSetS
|
|||||||
_update_tile_inspector();
|
_update_tile_inspector();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TileSetScenesCollectionSourceEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
|
void TileSetScenesCollectionSourceEditor::_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
|
||||||
if (!can_drop_data_fw(p_point, p_data, p_from)) {
|
if (!_can_drop_data_fw(p_point, p_data, p_from)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ void TileSetScenesCollectionSourceEditor::drop_data_fw(const Point2 &p_point, co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TileSetScenesCollectionSourceEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
|
bool TileSetScenesCollectionSourceEditor::_can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
|
||||||
if (p_from == scene_tiles_list) {
|
if (p_from == scene_tiles_list) {
|
||||||
Dictionary d = p_data;
|
Dictionary d = p_data;
|
||||||
|
|
||||||
@@ -447,8 +447,8 @@ void TileSetScenesCollectionSourceEditor::_bind_methods() {
|
|||||||
ADD_SIGNAL(MethodInfo("source_id_changed", PropertyInfo(Variant::INT, "source_id")));
|
ADD_SIGNAL(MethodInfo("source_id_changed", PropertyInfo(Variant::INT, "source_id")));
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("_scene_thumbnail_done"), &TileSetScenesCollectionSourceEditor::_scene_thumbnail_done);
|
ClassDB::bind_method(D_METHOD("_scene_thumbnail_done"), &TileSetScenesCollectionSourceEditor::_scene_thumbnail_done);
|
||||||
ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &TileSetScenesCollectionSourceEditor::can_drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_can_drop_data_fw"), &TileSetScenesCollectionSourceEditor::_can_drop_data_fw);
|
||||||
ClassDB::bind_method(D_METHOD("drop_data_fw"), &TileSetScenesCollectionSourceEditor::drop_data_fw);
|
ClassDB::bind_method(D_METHOD("_drop_data_fw"), &TileSetScenesCollectionSourceEditor::_drop_data_fw);
|
||||||
}
|
}
|
||||||
|
|
||||||
TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() {
|
TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() {
|
||||||
|
|||||||
@@ -125,14 +125,15 @@ private:
|
|||||||
void _update_scenes_list();
|
void _update_scenes_list();
|
||||||
void _update_action_buttons();
|
void _update_action_buttons();
|
||||||
|
|
||||||
|
void _drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
||||||
|
bool _can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void edit(Ref<TileSet> p_tile_set, TileSetScenesCollectionSource *p_tile_set_scenes_collection_source, int p_source_id);
|
void edit(Ref<TileSet> p_tile_set, TileSetScenesCollectionSource *p_tile_set_scenes_collection_source, int p_source_id);
|
||||||
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
|
|
||||||
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
|
|
||||||
TileSetScenesCollectionSourceEditor();
|
TileSetScenesCollectionSourceEditor();
|
||||||
~TileSetScenesCollectionSourceEditor();
|
~TileSetScenesCollectionSourceEditor();
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user