Skip to content

Commit 0932e8d

Browse files
committed
Make OpenXRActionMapEditor into EditorDock
1 parent 5f12ada commit 0932e8d

File tree

4 files changed

+20
-10
lines changed

4 files changed

+20
-10
lines changed

editor/icons/OpenXRActionMap.svg

Lines changed: 1 addition & 0 deletions
Loading

modules/openxr/editor/openxr_action_map_editor.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
#include "core/config/project_settings.h"
3434
#include "core/io/dir_access.h"
3535
#include "editor/editor_node.h"
36-
#include "editor/gui/editor_bottom_panel.h"
3736
#include "editor/gui/editor_file_dialog.h"
37+
#include "editor/settings/editor_command_palette.h"
3838
#include "editor/themes/editor_scale.h"
3939

4040
HashMap<String, String> OpenXRActionMapEditor::interaction_profile_editors;
@@ -384,7 +384,7 @@ void OpenXRActionMapEditor::_do_remove_interaction_profile_editor(OpenXRInteract
384384
}
385385

386386
void OpenXRActionMapEditor::open_action_map(const String &p_path) {
387-
EditorNode::get_bottom_panel()->make_item_visible(this);
387+
make_visible();
388388

389389
// out with the old...
390390
_clear_action_map();
@@ -430,11 +430,20 @@ String OpenXRActionMapEditor::get_binding_modifier_editor_class(const String &p_
430430
}
431431

432432
OpenXRActionMapEditor::OpenXRActionMapEditor() {
433-
undo_redo = EditorUndoRedoManager::get_singleton();
433+
set_name(TTRC("OpenXR Action Map"));
434+
set_icon_name("OpenXRActionMap");
435+
set_dock_shortcut(ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_openxr_action_map_bottom_panel", TTRC("Toggle OpenXR Action Map Dock")));
436+
set_default_slot(DockConstants::DOCK_SLOT_BOTTOM);
437+
set_available_layouts(EditorDock::DOCK_LAYOUT_HORIZONTAL | EditorDock::DOCK_LAYOUT_FLOATING);
434438
set_custom_minimum_size(Size2(0.0, 300.0 * EDSCALE));
435439

440+
undo_redo = EditorUndoRedoManager::get_singleton();
441+
442+
VBoxContainer *main_vb = memnew(VBoxContainer);
443+
add_child(main_vb);
444+
436445
top_hb = memnew(HBoxContainer);
437-
add_child(top_hb);
446+
main_vb->add_child(top_hb);
438447

439448
header_label = memnew(Label);
440449
header_label->set_text(String(TTR("Action Map")));
@@ -475,7 +484,7 @@ OpenXRActionMapEditor::OpenXRActionMapEditor() {
475484
tabs->set_theme_type_variation("TabContainerOdd");
476485
tabs->connect("tab_changed", callable_mp(this, &OpenXRActionMapEditor::_on_tabs_tab_changed));
477486
tabs->connect("tab_button_pressed", callable_mp(this, &OpenXRActionMapEditor::_on_tab_button_pressed));
478-
add_child(tabs);
487+
main_vb->add_child(tabs);
479488

480489
actionsets_scroll = memnew(ScrollContainer);
481490
actionsets_scroll->set_h_size_flags(SIZE_EXPAND_FILL);

modules/openxr/editor/openxr_action_map_editor.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "openxr_select_interaction_profile_dialog.h"
3737

3838
#include "core/templates/hash_map.h"
39+
#include "editor/docks/editor_dock.h"
3940
#include "editor/editor_undo_redo_manager.h"
4041
#include "editor/plugins/editor_plugin.h"
4142
#include "scene/gui/box_container.h"
@@ -44,8 +45,8 @@
4445
#include "scene/gui/scroll_container.h"
4546
#include "scene/gui/tab_container.h"
4647

47-
class OpenXRActionMapEditor : public VBoxContainer {
48-
GDCLASS(OpenXRActionMapEditor, VBoxContainer);
48+
class OpenXRActionMapEditor : public EditorDock {
49+
GDCLASS(OpenXRActionMapEditor, EditorDock);
4950

5051
private:
5152
static HashMap<String, String> interaction_profile_editors; // interaction profile path, interaction profile editor

modules/openxr/editor/openxr_editor_plugin.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@
3333
#include "../action_map/openxr_action_map.h"
3434
#include "../openxr_api.h"
3535

36+
#include "editor/docks/editor_dock_manager.h"
3637
#include "editor/editor_node.h"
37-
#include "editor/gui/editor_bottom_panel.h"
38-
#include "editor/settings/editor_command_palette.h"
3938
#include "platform/android/export/export_plugin.h"
4039

4140
#include <openxr/openxr.h>
@@ -176,7 +175,7 @@ OpenXREditorPlugin::OpenXREditorPlugin() {
176175
// Only add our OpenXR action map editor if OpenXR is enabled for the whole project.
177176
if (OpenXRAPI::openxr_is_enabled(false)) {
178177
action_map_editor = memnew(OpenXRActionMapEditor);
179-
EditorNode::get_bottom_panel()->add_item(TTRC("OpenXR Action Map"), action_map_editor, ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_openxr_action_map_bottom_panel", TTRC("Toggle OpenXR Action Map Bottom Panel")));
178+
EditorDockManager::get_singleton()->add_dock(action_map_editor);
180179

181180
binding_modifier_inspector_plugin = Ref<EditorInspectorPluginBindingModifier>(memnew(EditorInspectorPluginBindingModifier));
182181
EditorInspector::add_inspector_plugin(binding_modifier_inspector_plugin);

0 commit comments

Comments
 (0)