Removal of tabs from plater -> fixed no-imgui case

This commit is contained in:
Enrico Turri 2018-12-04 15:17:24 +01:00
parent e0aa25b677
commit 8d25f3aaaf
4 changed files with 22 additions and 13 deletions

View file

@ -31,6 +31,9 @@ namespace GUI {
View3D::View3D(wxWindow* parent, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process) View3D::View3D(wxWindow* parent, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process)
: m_canvas_widget(nullptr) : m_canvas_widget(nullptr)
, m_canvas(nullptr) , m_canvas(nullptr)
#if !ENABLE_IMGUI
, m_gizmo_widget(nullptr)
#endif // !ENABLE_IMGUI
, m_model(nullptr) , m_model(nullptr)
, m_config(nullptr) , m_config(nullptr)
, m_process(nullptr) , m_process(nullptr)
@ -70,8 +73,17 @@ bool View3D::init(wxWindow* parent, Model* model, DynamicPrintConfig* config, Ba
m_canvas->enable_shader(true); m_canvas->enable_shader(true);
m_canvas->enable_force_zoom_to_bed(true); m_canvas->enable_force_zoom_to_bed(true);
#if !ENABLE_IMGUI
m_gizmo_widget = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
m_gizmo_widget->SetSizer(new wxBoxSizer(wxVERTICAL));
m_canvas->set_external_gizmo_widgets_parent(m_gizmo_widget);
#endif // !ENABLE_IMGUI
wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
main_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); main_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0);
#if !ENABLE_IMGUI
main_sizer->Add(m_gizmo_widget, 0, wxALL | wxEXPAND, 0);
#endif // !ENABLE_IMGUI
SetSizer(main_sizer); SetSizer(main_sizer);
SetMinSize(GetSize()); SetMinSize(GetSize());

View file

@ -35,6 +35,10 @@ class View3D : public wxPanel
wxGLCanvas* m_canvas_widget; wxGLCanvas* m_canvas_widget;
GLCanvas3D* m_canvas; GLCanvas3D* m_canvas;
#if !ENABLE_IMGUI
wxPanel* m_gizmo_widget;
#endif // !ENABLE_IMGUI
Model* m_model; Model* m_model;
DynamicPrintConfig* m_config; DynamicPrintConfig* m_config;
BackgroundSlicingProcess* m_process; BackgroundSlicingProcess* m_process;

View file

@ -929,12 +929,12 @@ struct Plater::priv
// EventGuard unbinds the handler in its d-tor. // EventGuard unbinds the handler in its d-tor.
#endif // ENABLE_REMOVE_TABS_FROM_PLATER #endif // ENABLE_REMOVE_TABS_FROM_PLATER
Sidebar *sidebar; Sidebar *sidebar;
#if !ENABLE_IMGUI
wxPanel *panel3d;
#endif // not ENABLE_IMGUI
#if ENABLE_REMOVE_TABS_FROM_PLATER #if ENABLE_REMOVE_TABS_FROM_PLATER
View3D* view3D; View3D* view3D;
#else #else
#if !ENABLE_IMGUI
wxPanel *panel3d;
#endif // not ENABLE_IMGUI
wxGLCanvas *canvas3Dwidget; // TODO: Use GLCanvas3D when we can wxGLCanvas *canvas3Dwidget; // TODO: Use GLCanvas3D when we can
GLCanvas3D *canvas3D; GLCanvas3D *canvas3D;
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER #endif // !ENABLE_REMOVE_TABS_FROM_PLATER
@ -1063,17 +1063,13 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
, guard_on_notebook_changed(notebook, wxEVT_NOTEBOOK_PAGE_CHANGED, &priv::on_notebook_changed, this) , guard_on_notebook_changed(notebook, wxEVT_NOTEBOOK_PAGE_CHANGED, &priv::on_notebook_changed, this)
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER #endif // !ENABLE_REMOVE_TABS_FROM_PLATER
, sidebar(new Sidebar(q)) , sidebar(new Sidebar(q))
#if ENABLE_IMGUI
#if !ENABLE_REMOVE_TABS_FROM_PLATER #if !ENABLE_REMOVE_TABS_FROM_PLATER
#if ENABLE_IMGUI
, canvas3Dwidget(GLCanvas3DManager::create_wxglcanvas(notebook)) , canvas3Dwidget(GLCanvas3DManager::create_wxglcanvas(notebook))
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER
#else #else
, panel3d(new wxPanel(notebook, wxID_ANY)) , panel3d(new wxPanel(notebook, wxID_ANY))
#if !ENABLE_REMOVE_TABS_FROM_PLATER
, canvas3Dwidget(GLCanvas3DManager::create_wxglcanvas(panel3d)) , canvas3Dwidget(GLCanvas3DManager::create_wxglcanvas(panel3d))
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER
#endif // ENABLE_IMGUI #endif // ENABLE_IMGUI
#if !ENABLE_REMOVE_TABS_FROM_PLATER
, canvas3D(nullptr) , canvas3D(nullptr)
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER #endif // !ENABLE_REMOVE_TABS_FROM_PLATER
, delayed_scene_refresh(false) , delayed_scene_refresh(false)
@ -1101,12 +1097,8 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
_3DScene::add_canvas(canvas3Dwidget); _3DScene::add_canvas(canvas3Dwidget);
this->canvas3D = _3DScene::get_canvas(this->canvas3Dwidget); this->canvas3D = _3DScene::get_canvas(this->canvas3Dwidget);
this->canvas3D->allow_multisample(GLCanvas3DManager::can_multisample()); this->canvas3D->allow_multisample(GLCanvas3DManager::can_multisample());
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER
#if ENABLE_IMGUI #if ENABLE_IMGUI
#if !ENABLE_REMOVE_TABS_FROM_PLATER
notebook->AddPage(canvas3Dwidget, _(L("3D"))); notebook->AddPage(canvas3Dwidget, _(L("3D")));
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER
#else #else
auto *panel3dsizer = new wxBoxSizer(wxVERTICAL); auto *panel3dsizer = new wxBoxSizer(wxVERTICAL);
panel3dsizer->Add(canvas3Dwidget, 1, wxEXPAND); panel3dsizer->Add(canvas3Dwidget, 1, wxEXPAND);
@ -1119,6 +1111,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
canvas3D->set_external_gizmo_widgets_parent(panel_gizmo_widgets); canvas3D->set_external_gizmo_widgets_parent(panel_gizmo_widgets);
#endif // ENABLE_IMGUI #endif // ENABLE_IMGUI
#endif // !ENABLE_REMOVE_TABS_FROM_PLATER
#if ENABLE_REMOVE_TABS_FROM_PLATER #if ENABLE_REMOVE_TABS_FROM_PLATER
view3D = new View3D(q, &model, config, &background_process); view3D = new View3D(q, &model, config, &background_process);