mirror of
https://github.com/godotengine/godot.git
synced 2025-12-07 22:00:10 +00:00
Merge pull request #113338 from KoBeWi/Porygon-Dck
Use EditorDock for Polygon2D editor
This commit is contained in:
commit
79106fdf40
3 changed files with 24 additions and 14 deletions
1
editor/icons/PolygonDock.svg
Normal file
1
editor/icons/PolygonDock.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" stroke="#e0e0e0" stroke-linejoin="round" stroke-width="2" d="M14 14H2V2h12L8 8z"/></svg>
|
||||
|
After Width: | Height: | Size: 173 B |
|
|
@ -32,9 +32,10 @@
|
|||
|
||||
#include "core/input/input_event.h"
|
||||
#include "core/math/geometry_2d.h"
|
||||
#include "editor/docks/editor_dock.h"
|
||||
#include "editor/docks/editor_dock_manager.h"
|
||||
#include "editor/editor_node.h"
|
||||
#include "editor/editor_undo_redo_manager.h"
|
||||
#include "editor/gui/editor_bottom_panel.h"
|
||||
#include "editor/gui/editor_zoom_widget.h"
|
||||
#include "editor/scene/canvas_item_editor_plugin.h"
|
||||
#include "editor/settings/editor_command_palette.h"
|
||||
|
|
@ -140,13 +141,9 @@ void Polygon2DEditor::_notification(int p_what) {
|
|||
} break;
|
||||
case NOTIFICATION_VISIBILITY_CHANGED: {
|
||||
if (is_visible()) {
|
||||
dock_button->show();
|
||||
EditorNode::get_bottom_panel()->make_item_visible(polygon_edit);
|
||||
polygon_edit->make_visible();
|
||||
} else {
|
||||
dock_button->hide();
|
||||
if (polygon_edit->is_visible_in_tree()) {
|
||||
EditorNode::get_bottom_panel()->hide_bottom_panel();
|
||||
}
|
||||
polygon_edit->close();
|
||||
}
|
||||
} break;
|
||||
}
|
||||
|
|
@ -1337,7 +1334,21 @@ Polygon2DEditor::Polygon2DEditor() {
|
|||
snap_show_grid = EditorSettings::get_singleton()->get_project_metadata("polygon_2d_uv_editor", "show_grid", false);
|
||||
|
||||
selected_action = ACTION_EDIT_POINT;
|
||||
polygon_edit = memnew(VBoxContainer);
|
||||
|
||||
polygon_edit = memnew(EditorDock);
|
||||
polygon_edit->set_name(TTRC("Polygon"));
|
||||
polygon_edit->set_icon_name("PolygonDock");
|
||||
polygon_edit->set_dock_shortcut(ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_polygon_2d_bottom_panel", TTRC("Toggle Polygon Dock")));
|
||||
polygon_edit->set_default_slot(DockConstants::DOCK_SLOT_BOTTOM);
|
||||
polygon_edit->set_available_layouts(EditorDock::DOCK_LAYOUT_HORIZONTAL | EditorDock::DOCK_LAYOUT_FLOATING);
|
||||
polygon_edit->set_global(false);
|
||||
polygon_edit->set_transient(true);
|
||||
EditorDockManager::get_singleton()->add_dock(polygon_edit);
|
||||
polygon_edit->close();
|
||||
|
||||
VBoxContainer *edit_vbox = memnew(VBoxContainer);
|
||||
polygon_edit->add_child(edit_vbox);
|
||||
|
||||
HBoxContainer *toolbar = memnew(HBoxContainer);
|
||||
|
||||
Ref<ButtonGroup> mode_button_group;
|
||||
|
|
@ -1356,7 +1367,7 @@ Polygon2DEditor::Polygon2DEditor() {
|
|||
|
||||
toolbar->add_child(memnew(VSeparator));
|
||||
|
||||
polygon_edit->add_child(toolbar);
|
||||
edit_vbox->add_child(toolbar);
|
||||
for (int i = 0; i < ACTION_MAX; i++) {
|
||||
action_buttons[i] = memnew(Button);
|
||||
action_buttons[i]->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
|
|
@ -1414,7 +1425,7 @@ Polygon2DEditor::Polygon2DEditor() {
|
|||
bone_paint_radius->set_accessibility_name(TTRC("Radius:"));
|
||||
|
||||
HSplitContainer *uv_main_hsc = memnew(HSplitContainer);
|
||||
polygon_edit->add_child(uv_main_hsc);
|
||||
edit_vbox->add_child(uv_main_hsc);
|
||||
uv_main_hsc->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
canvas_background = memnew(Panel);
|
||||
|
|
@ -1555,9 +1566,6 @@ Polygon2DEditor::Polygon2DEditor() {
|
|||
|
||||
error = memnew(AcceptDialog);
|
||||
add_child(error);
|
||||
|
||||
dock_button = EditorNode::get_bottom_panel()->add_item(TTRC("Polygon"), polygon_edit, ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_polygon_2d_bottom_panel", TTR("Toggle Polygon Bottom Panel")));
|
||||
dock_button->hide();
|
||||
}
|
||||
|
||||
Polygon2DEditorPlugin::Polygon2DEditorPlugin() :
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
class AcceptDialog;
|
||||
class ButtonGroup;
|
||||
class EditorDock;
|
||||
class EditorZoomWidget;
|
||||
class HScrollBar;
|
||||
class HSlider;
|
||||
|
|
@ -84,7 +85,7 @@ class Polygon2DEditor : public AbstractPolygon2DEditor {
|
|||
Polygon2D *previous_node = nullptr;
|
||||
|
||||
Button *dock_button = nullptr;
|
||||
VBoxContainer *polygon_edit = nullptr;
|
||||
EditorDock *polygon_edit = nullptr;
|
||||
Mode current_mode = MODE_MAX; // Uninitialized.
|
||||
Button *mode_buttons[MODE_MAX];
|
||||
Action selected_action = ACTION_CREATE;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue