Fixed incorrect m_wiping_dialog_button showing after appInit
This commit is contained in:
parent
90ecbce9bb
commit
e3b4a7b206
5 changed files with 22 additions and 26 deletions
|
@ -653,7 +653,7 @@ void GUI_App::load_current_presets()
|
||||||
|
|
||||||
Sidebar& GUI_App::sidebar()
|
Sidebar& GUI_App::sidebar()
|
||||||
{
|
{
|
||||||
return mainframe->m_plater->sidebar();
|
return plater_->sidebar();
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectManipulation* GUI_App::obj_manipul()
|
ObjectManipulation* GUI_App::obj_manipul()
|
||||||
|
@ -668,17 +668,17 @@ ObjectList* GUI_App::obj_list()
|
||||||
|
|
||||||
Plater* GUI_App::plater()
|
Plater* GUI_App::plater()
|
||||||
{
|
{
|
||||||
return mainframe->m_plater;
|
return plater_;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGLCanvas* GUI_App::canvas3D()
|
wxGLCanvas* GUI_App::canvas3D()
|
||||||
{
|
{
|
||||||
return mainframe->m_plater->canvas3D();
|
return plater_->canvas3D();
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelObjectPtrs* GUI_App::model_objects()
|
ModelObjectPtrs* GUI_App::model_objects()
|
||||||
{
|
{
|
||||||
return &mainframe->m_plater->model().objects;
|
return &plater_->model().objects;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxNotebook* GUI_App::tab_panel() const
|
wxNotebook* GUI_App::tab_panel() const
|
||||||
|
|
|
@ -139,6 +139,7 @@ public:
|
||||||
PresetBundle* preset_bundle{ nullptr };
|
PresetBundle* preset_bundle{ nullptr };
|
||||||
PresetUpdater* preset_updater{ nullptr };
|
PresetUpdater* preset_updater{ nullptr };
|
||||||
MainFrame* mainframe{ nullptr };
|
MainFrame* mainframe{ nullptr };
|
||||||
|
Plater* plater_{ nullptr };
|
||||||
|
|
||||||
wxNotebook* tab_panel() const ;
|
wxNotebook* tab_panel() const ;
|
||||||
|
|
||||||
|
|
|
@ -139,6 +139,7 @@ void MainFrame::init_tabpanel()
|
||||||
|
|
||||||
if (!m_no_plater) {
|
if (!m_no_plater) {
|
||||||
m_plater = new Slic3r::GUI::Plater(m_tabpanel, this);
|
m_plater = new Slic3r::GUI::Plater(m_tabpanel, this);
|
||||||
|
wxGetApp().plater_ = m_plater;
|
||||||
m_tabpanel->AddPage(m_plater, _(L("Plater")));
|
m_tabpanel->AddPage(m_plater, _(L("Plater")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,18 +150,6 @@ void MainFrame::init_tabpanel()
|
||||||
// or when the preset's "modified" status changes.
|
// or when the preset's "modified" status changes.
|
||||||
Bind(EVT_TAB_PRESETS_CHANGED, &MainFrame::on_presets_changed, this);
|
Bind(EVT_TAB_PRESETS_CHANGED, &MainFrame::on_presets_changed, this);
|
||||||
|
|
||||||
|
|
||||||
// The following event is emited by the C++ Tab implementation on object selection change.
|
|
||||||
// EVT_COMMAND($self, -1, $OBJECT_SELECTION_CHANGED_EVENT, sub {
|
|
||||||
// auto obj_idx = event->GetId();
|
|
||||||
// // my $child = $event->GetInt == 1 ? 1 : undef;
|
|
||||||
// // $self->{plater}->select_object($obj_idx < 0 ? undef : $obj_idx, $child);
|
|
||||||
// // $self->{plater}->item_changed_selection($obj_idx);
|
|
||||||
//
|
|
||||||
// auto vol_idx = event->GetInt();
|
|
||||||
// m_plater->select_object_from_cpp(obj_idx < 0 ? undef : obj_idx, vol_idx < 0 ? -1 : vol_idx);
|
|
||||||
// });
|
|
||||||
|
|
||||||
create_preset_tabs();
|
create_preset_tabs();
|
||||||
std::vector<std::string> tab_names = { "print", "filament", "sla_material", "printer" };
|
std::vector<std::string> tab_names = { "print", "filament", "sla_material", "printer" };
|
||||||
for (auto tab_name : tab_names)
|
for (auto tab_name : tab_names)
|
||||||
|
@ -225,9 +214,6 @@ void MainFrame::add_created_tab(Tab* panel)
|
||||||
{
|
{
|
||||||
panel->create_preset_tab();
|
panel->create_preset_tab();
|
||||||
|
|
||||||
// Load the currently selected preset into the GUI, update the preset selection box.
|
|
||||||
panel->load_current_preset();
|
|
||||||
|
|
||||||
const wxString& tab_name = panel->GetName();
|
const wxString& tab_name = panel->GetName();
|
||||||
bool add_panel = true;
|
bool add_panel = true;
|
||||||
|
|
||||||
|
|
|
@ -244,6 +244,7 @@ public:
|
||||||
~FreqChangedParams() {}
|
~FreqChangedParams() {}
|
||||||
|
|
||||||
wxButton* get_wiping_dialog_button() { return m_wiping_dialog_button; }
|
wxButton* get_wiping_dialog_button() { return m_wiping_dialog_button; }
|
||||||
|
void Show(const bool show);
|
||||||
};
|
};
|
||||||
|
|
||||||
FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) :
|
FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) :
|
||||||
|
@ -368,6 +369,16 @@ FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) :
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FreqChangedParams::Show(const bool show)
|
||||||
|
{
|
||||||
|
bool is_wdb_shown = m_wiping_dialog_button->IsShown();
|
||||||
|
m_og->sizer->Show(show);
|
||||||
|
|
||||||
|
// correct showing of the FreqChangedParams sizer when m_wiping_dialog_button is hidden
|
||||||
|
if (show && !is_wdb_shown)
|
||||||
|
m_wiping_dialog_button->Hide();
|
||||||
|
}
|
||||||
|
|
||||||
// Sidebar / private
|
// Sidebar / private
|
||||||
|
|
||||||
struct Sidebar::priv
|
struct Sidebar::priv
|
||||||
|
@ -416,7 +427,7 @@ void Sidebar::priv::show_preset_comboboxes()
|
||||||
sizer_presets->Show(4, showSLA);
|
sizer_presets->Show(4, showSLA);
|
||||||
sizer_presets->Show(5, showSLA);
|
sizer_presets->Show(5, showSLA);
|
||||||
|
|
||||||
frequently_changed_parameters->get_sizer()->Show(!showSLA);
|
frequently_changed_parameters->Show(!showSLA);
|
||||||
|
|
||||||
wxGetApp().plater()->Layout();
|
wxGetApp().plater()->Layout();
|
||||||
wxGetApp().mainframe->Layout();
|
wxGetApp().mainframe->Layout();
|
||||||
|
|
|
@ -215,7 +215,9 @@ void Tab::create_preset_tab()
|
||||||
// Initialize the DynamicPrintConfig by default keys/values.
|
// Initialize the DynamicPrintConfig by default keys/values.
|
||||||
build();
|
build();
|
||||||
rebuild_page_tree();
|
rebuild_page_tree();
|
||||||
update();
|
// update();
|
||||||
|
// Load the currently selected preset into the GUI, update the preset selection box.
|
||||||
|
load_current_preset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tab::load_initial_data()
|
void Tab::load_initial_data()
|
||||||
|
@ -740,9 +742,7 @@ void Tab::update_wiping_button_visibility() {
|
||||||
bool multiple_extruders = dynamic_cast<ConfigOptionFloats*>((m_preset_bundle->printers.get_edited_preset().config).option("nozzle_diameter"))->values.size() > 1;
|
bool multiple_extruders = dynamic_cast<ConfigOptionFloats*>((m_preset_bundle->printers.get_edited_preset().config).option("nozzle_diameter"))->values.size() > 1;
|
||||||
bool single_extruder_mm = dynamic_cast<ConfigOptionBool*>( (m_preset_bundle->printers.get_edited_preset().config).option("single_extruder_multi_material"))->value;
|
bool single_extruder_mm = dynamic_cast<ConfigOptionBool*>( (m_preset_bundle->printers.get_edited_preset().config).option("single_extruder_multi_material"))->value;
|
||||||
|
|
||||||
if (!wxGetApp().mainframe)
|
auto wiping_dialog_button = wxGetApp().sidebar().get_wiping_dialog_button();
|
||||||
return;
|
|
||||||
auto wiping_dialog_button = wxGetApp().mainframe->m_plater->sidebar().get_wiping_dialog_button();
|
|
||||||
if (wiping_dialog_button) {
|
if (wiping_dialog_button) {
|
||||||
wiping_dialog_button->Show(wipe_tower_enabled && multiple_extruders && single_extruder_mm);
|
wiping_dialog_button->Show(wipe_tower_enabled && multiple_extruders && single_extruder_mm);
|
||||||
wiping_dialog_button->GetParent()->Layout();
|
wiping_dialog_button->GetParent()->Layout();
|
||||||
|
@ -1862,8 +1862,6 @@ void TabPrinter::extruders_count_changed(size_t extruders_count){
|
||||||
m_preset_bundle->update_multi_material_filament_presets();
|
m_preset_bundle->update_multi_material_filament_presets();
|
||||||
build_extruder_pages();
|
build_extruder_pages();
|
||||||
reload_config();
|
reload_config();
|
||||||
if (!wxGetApp().mainframe)
|
|
||||||
return;
|
|
||||||
on_value_change("extruders_count", extruders_count);
|
on_value_change("extruders_count", extruders_count);
|
||||||
wxGetApp().sidebar().update_objects_list_extruder_column(extruders_count);
|
wxGetApp().sidebar().update_objects_list_extruder_column(extruders_count);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue