1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-19 14:31:59 +00:00

Add option to move Tile/GridMap editors to another side

This commit is contained in:
Michael Alexsander Silva Dias
2018-08-21 01:35:48 -03:00
parent 9c69671611
commit 6fa1b5eca7
8 changed files with 97 additions and 31 deletions

View File

@@ -1909,6 +1909,21 @@ TileMapEditor::~TileMapEditor() {
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
void TileMapEditorPlugin::_notification(int p_what) {
if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
switch ((int)EditorSettings::get_singleton()->get("editors/tile_map/editor_side")) {
case 0: { // Left.
CanvasItemEditor::get_singleton()->get_palette_split()->move_child(tile_map_editor, 0);
} break;
case 1: { // Right.
CanvasItemEditor::get_singleton()->get_palette_split()->move_child(tile_map_editor, 1);
} break;
}
}
}
void TileMapEditorPlugin::edit(Object *p_object) {
tile_map_editor->edit(Object::cast_to<Node>(p_object));
@@ -1942,11 +1957,19 @@ TileMapEditorPlugin::TileMapEditorPlugin(EditorNode *p_node) {
EDITOR_DEF("editors/tile_map/sort_tiles_by_name", true);
EDITOR_DEF("editors/tile_map/bucket_fill_preview", true);
EDITOR_DEF("editors/tile_map/show_tile_info_on_hover", true);
EDITOR_DEF("editors/tile_map/editor_side", 1);
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "editors/tile_map/editor_side", PROPERTY_HINT_ENUM, "Left,Right"));
tile_map_editor = memnew(TileMapEditor(p_node));
add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE, tile_map_editor);
switch ((int)EditorSettings::get_singleton()->get("editors/tile_map/editor_side")) {
case 0: { // Left.
add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE_LEFT, tile_map_editor);
} break;
case 1: { // Right.
add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE_RIGHT, tile_map_editor);
} break;
}
tile_map_editor->hide();
tile_map_editor->set_process(true);
}
TileMapEditorPlugin::~TileMapEditorPlugin() {

View File

@@ -220,6 +220,9 @@ class TileMapEditorPlugin : public EditorPlugin {
TileMapEditor *tile_map_editor;
protected:
void _notification(int p_what);
public:
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) { return tile_map_editor->forward_gui_input(p_event); }
virtual void forward_draw_over_viewport(Control *p_overlay) { tile_map_editor->forward_draw_over_viewport(p_overlay); }

View File

@@ -2382,11 +2382,9 @@ TileSetEditorPlugin::TileSetEditorPlugin(EditorNode *p_node) {
editor = p_node;
tileset_editor = memnew(TileSetEditor(p_node));
tileset_editor_button =
p_node->add_bottom_panel_item(TTR("Tile Set"), tileset_editor);
tileset_editor_button->set_tooltip(TTR("Tile Set Editor"));
tileset_editor->set_custom_minimum_size(Size2(0, 200) * EDSCALE);
tileset_editor->hide();
tileset_editor_button = p_node->add_bottom_panel_item(TTR("Tile Set"), tileset_editor);
tileset_editor_button->hide();
}