VOXEDIT: fixed script editor placement via dock id
parent
12fbd2ae7f
commit
263c7a6323
|
@ -231,7 +231,7 @@ void MainWindow::rightWidget() {
|
|||
_animationPanel.update(TITLE_ANIMATION_SETTINGS, _lastExecutedCommand);
|
||||
_layerPanel.update(TITLE_LAYERS, &_layerSettings, _lastExecutedCommand);
|
||||
_sceneGraphPanel.update(_scene->camera(), TITLE_SCENEGRAPH);
|
||||
_scriptPanel.update(TITLE_SCRIPTPANEL, WINDOW_TITLE_SCRIPT_EDITOR, _app);
|
||||
_scriptPanel.update(TITLE_SCRIPTPANEL, WINDOW_TITLE_SCRIPT_EDITOR, _app, _dockIdMainDown);
|
||||
_noisePanel.update(TITLE_NOISEPANEL);
|
||||
_treePanel.update(TITLE_TREES);
|
||||
_lsystemPanel.update(TITLE_LSYSTEMPANEL);
|
||||
|
@ -433,29 +433,29 @@ void MainWindow::update() {
|
|||
ImGui::DockBuilderRemoveNode(dockspaceId);
|
||||
ImGui::DockBuilderAddNode(dockspaceId, ImGuiDockNodeFlags_DockSpace);
|
||||
ImGui::DockBuilderSetNodeSize(dockspaceId, viewport->WorkSize);
|
||||
ImGuiID dockIdMain = dockspaceId;
|
||||
ImGuiID dockIdLeft = ImGui::DockBuilderSplitNode(dockIdMain, ImGuiDir_Left, 0.10f, nullptr, &dockIdMain);
|
||||
ImGuiID dockIdRight = ImGui::DockBuilderSplitNode(dockIdMain, ImGuiDir_Right, 0.20f, nullptr, &dockIdMain);
|
||||
ImGuiID dockIdLeftDown = ImGui::DockBuilderSplitNode(dockIdLeft, ImGuiDir_Down, 0.50f, nullptr, &dockIdLeft);
|
||||
ImGuiID dockIdRightDown = ImGui::DockBuilderSplitNode(dockIdRight, ImGuiDir_Down, 0.50f, nullptr, &dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_PALETTE, dockIdLeft);
|
||||
ImGui::DockBuilderDockWindow(TITLE_POSITIONS, dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_MODIFIERS, dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_ANIMATION_SETTINGS, dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_LAYERS, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_TREES, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_SCENEGRAPH, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_NOISEPANEL, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_LSYSTEMPANEL, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_SCRIPTPANEL, dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_TOOLS, dockIdLeftDown);
|
||||
ImGui::DockBuilderDockWindow(_scene->id().c_str(), dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneLeft->id().c_str(), dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneTop->id().c_str(), dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneFront->id().c_str(), dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneAnimation->id().c_str(), dockIdMain);
|
||||
ImGuiID dockIdMainDown = ImGui::DockBuilderSplitNode(dockIdMain, ImGuiDir_Down, 0.50f, nullptr, &dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(WINDOW_TITLE_SCRIPT_EDITOR, dockIdMainDown);
|
||||
_dockIdMain = dockspaceId;
|
||||
_dockIdLeft = ImGui::DockBuilderSplitNode(_dockIdMain, ImGuiDir_Left, 0.10f, nullptr, &_dockIdMain);
|
||||
_dockIdRight = ImGui::DockBuilderSplitNode(_dockIdMain, ImGuiDir_Right, 0.20f, nullptr, &_dockIdMain);
|
||||
_dockIdLeftDown = ImGui::DockBuilderSplitNode(_dockIdLeft, ImGuiDir_Down, 0.50f, nullptr, &_dockIdLeft);
|
||||
_dockIdRightDown = ImGui::DockBuilderSplitNode(_dockIdRight, ImGuiDir_Down, 0.50f, nullptr, &_dockIdRight);
|
||||
_dockIdMainDown = ImGui::DockBuilderSplitNode(_dockIdMain, ImGuiDir_Down, 0.20f, nullptr, &_dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(TITLE_PALETTE, _dockIdLeft);
|
||||
ImGui::DockBuilderDockWindow(TITLE_POSITIONS, _dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_MODIFIERS, _dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_ANIMATION_SETTINGS, _dockIdRight);
|
||||
ImGui::DockBuilderDockWindow(TITLE_LAYERS, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_TREES, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_SCENEGRAPH, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_NOISEPANEL, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_LSYSTEMPANEL, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_SCRIPTPANEL, _dockIdRightDown);
|
||||
ImGui::DockBuilderDockWindow(TITLE_TOOLS, _dockIdLeftDown);
|
||||
ImGui::DockBuilderDockWindow(_scene->id().c_str(), _dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneLeft->id().c_str(), _dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneTop->id().c_str(), _dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneFront->id().c_str(), _dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(_sceneAnimation->id().c_str(), _dockIdMain);
|
||||
ImGui::DockBuilderDockWindow(WINDOW_TITLE_SCRIPT_EDITOR, _dockIdMainDown);
|
||||
ImGui::DockBuilderFinish(dockspaceId);
|
||||
init = true;
|
||||
}
|
||||
|
|
|
@ -52,6 +52,13 @@ private:
|
|||
Viewport* _sceneFront = nullptr;
|
||||
Viewport* _sceneAnimation = nullptr;
|
||||
|
||||
ImGuiID _dockIdMain = 0;
|
||||
ImGuiID _dockIdLeft = 0;
|
||||
ImGuiID _dockIdRight = 0;
|
||||
ImGuiID _dockIdLeftDown = 0;
|
||||
ImGuiID _dockIdRightDown = 0;
|
||||
ImGuiID _dockIdMainDown = 0;
|
||||
|
||||
bool _popupUnsaved = false;
|
||||
bool _popupNewScene = false;
|
||||
bool _popupFailedToSave = false;
|
||||
|
|
|
@ -28,7 +28,7 @@ void ScriptPanel::reloadScriptParameters(const core::String& script) {
|
|||
}
|
||||
}
|
||||
|
||||
void ScriptPanel::update(const char *title, const char *scriptEditorTitle, ui::imgui::IMGUIApp* app) {
|
||||
void ScriptPanel::update(const char *title, const char *scriptEditorTitle, ui::imgui::IMGUIApp* app, ImGuiID dockIdMainDown) {
|
||||
if (ImGui::Begin(title)) {
|
||||
core_trace_scoped(ScriptPanel);
|
||||
if (_scripts.empty()) {
|
||||
|
@ -157,7 +157,8 @@ void ScriptPanel::update(const char *title, const char *scriptEditorTitle, ui::i
|
|||
ImGui::End();
|
||||
|
||||
if (_scriptEditor) {
|
||||
if (ImGui::Begin(scriptEditorTitle, &_scriptEditor, ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoSavedSettings)) {
|
||||
ImGui::SetNextWindowDockID(dockIdMainDown, ImGuiCond_Appearing);
|
||||
if (ImGui::Begin(scriptEditorTitle, &_scriptEditor, ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_HorizontalScrollbar)) {
|
||||
if (ImGui::BeginMenuBar()) {
|
||||
if (ImGui::BeginMenu(ICON_FA_FILE " File##scripteditor")) {
|
||||
if (ImGui::MenuItem(ICON_FA_CHECK " Apply and execute##scripteditor")) {
|
||||
|
|
|
@ -24,7 +24,7 @@ private:
|
|||
|
||||
void reloadScriptParameters(const core::String& script);
|
||||
public:
|
||||
void update(const char *title, const char *scriptEditorTitle, ui::imgui::IMGUIApp* app);
|
||||
void update(const char *title, const char *scriptEditorTitle, ui::imgui::IMGUIApp* app, ImGuiID dockIdMainDown);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue