Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs/src
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2018-06-28 18:43:15 +0300
committerbubnikv <bubnikv@gmail.com>2018-06-28 18:43:15 +0300
commitc4a3e4eca74360e84e3634a5c720551118107af4 (patch)
tree901d1a94129976252792b98e0fbe238ae6dda161 /xs/src
parentaae6cfc696e065066aa185e3d12ca21d075e8e40 (diff)
parent5f1f7dcbedcdc884b4cd489562b444ad372b89c9 (diff)
Merge branch 'for_merging'
Diffstat (limited to 'xs/src')
-rw-r--r--xs/src/slic3r/GUI/ConfigWizard.cpp4
-rw-r--r--xs/src/slic3r/GUI/GUI.cpp7
-rw-r--r--xs/src/slic3r/GUI/Tab.cpp132
-rw-r--r--xs/src/slic3r/GUI/Tab.hpp6
4 files changed, 59 insertions, 90 deletions
diff --git a/xs/src/slic3r/GUI/ConfigWizard.cpp b/xs/src/slic3r/GUI/ConfigWizard.cpp
index 642c6dce7..2e315a70b 100644
--- a/xs/src/slic3r/GUI/ConfigWizard.cpp
+++ b/xs/src/slic3r/GUI/ConfigWizard.cpp
@@ -893,9 +893,9 @@ const wxString& ConfigWizard::name()
{
// A different naming convention is used for the Wizard on Windows vs. OSX & GTK.
#if WIN32
- static const wxString config_wizard_name = _(L("Configuration Wizard"));
+ static const wxString config_wizard_name = L("Configuration Wizard");
#else
- static const wxString config_wizard_name = _(L("Configuration Assistant"));
+ static const wxString config_wizard_name = L("Configuration Assistant");
#endif
return config_wizard_name;
}
diff --git a/xs/src/slic3r/GUI/GUI.cpp b/xs/src/slic3r/GUI/GUI.cpp
index c1f8adaf1..12af36d19 100644
--- a/xs/src/slic3r/GUI/GUI.cpp
+++ b/xs/src/slic3r/GUI/GUI.cpp
@@ -317,10 +317,11 @@ void add_config_menu(wxMenuBar *menu, int event_preferences_changed, int event_l
auto local_menu = new wxMenu();
wxWindowID config_id_base = wxWindow::NewControlId((int)ConfigMenuCnt);
- const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), ConfigWizard::name());
+ auto config_wizard_name = _(ConfigWizard::name().wx_str());
+ const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), config_wizard_name);
// Cmd+, is standard on OS X - what about other operating systems?
- local_menu->Append(config_id_base + ConfigMenuWizard, ConfigWizard::name() + dots, config_wizard_tooltip);
- local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("Configuration Snapshots"))+dots, _(L("Inspect / activate configuration snapshots")));
+ local_menu->Append(config_id_base + ConfigMenuWizard, config_wizard_name + dots, config_wizard_tooltip);
+ local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("Configuration Snapshots"))+dots, _(L("Inspect / activate configuration snapshots")));
local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration Snapshot")), _(L("Capture a configuration snapshot")));
// local_menu->Append(config_id_base + ConfigMenuUpdate, _(L("Check for updates")), _(L("Check for configuration updates")));
local_menu->AppendSeparator();
diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp
index 94f8cc3ea..b3b3c6139 100644
--- a/xs/src/slic3r/GUI/Tab.cpp
+++ b/xs/src/slic3r/GUI/Tab.cpp
@@ -47,66 +47,32 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle)
// preset chooser
m_presets_choice = new wxBitmapComboBox(panel, wxID_ANY, "", wxDefaultPosition, wxSize(270, -1), 0, 0,wxCB_READONLY);
- /*
- m_cc_presets_choice = new wxComboCtrl(panel, wxID_ANY, L(""), wxDefaultPosition, wxDefaultSize, wxCB_READONLY);
- wxDataViewTreeCtrlComboPopup* popup = new wxDataViewTreeCtrlComboPopup;
- if (popup != nullptr)
- {
- // FIXME If the following line is removed, the combo box popup list will not react to mouse clicks.
- // On the other side, with this line the combo box popup cannot be closed by clicking on the combo button on Windows 10.
-// m_cc_presets_choice->UseAltPopupWindow();
-
-// m_cc_presets_choice->EnablePopupAnimation(false);
- m_cc_presets_choice->SetPopupControl(popup);
- popup->SetStringValue(from_u8("Text1"));
-
- popup->Bind(wxEVT_DATAVIEW_SELECTION_CHANGED, [this, popup](wxCommandEvent& evt)
- {
- auto selected = popup->GetItemText(popup->GetSelection());
- if (selected != _(L("System presets")) && selected != _(L("Default presets")))
- {
- m_cc_presets_choice->SetText(selected);
- std::string selected_string = selected.ToUTF8().data();
-#ifdef __APPLE__
-#else
- select_preset(selected_string);
-#endif
- }
- });
-
-// popup->Bind(wxEVT_KEY_DOWN, [popup](wxKeyEvent& evt) { popup->OnKeyEvent(evt); });
-// popup->Bind(wxEVT_KEY_UP, [popup](wxKeyEvent& evt) { popup->OnKeyEvent(evt); });
-
- auto icons = new wxImageList(16, 16, true, 1);
- popup->SetImageList(icons);
- icons->Add(*new wxIcon(from_u8(Slic3r::var("flag-green-icon.png")), wxBITMAP_TYPE_PNG));
- icons->Add(*new wxIcon(from_u8(Slic3r::var("flag-red-icon.png")), wxBITMAP_TYPE_PNG));
- }
-*/
auto color = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
//buttons
+ m_btn_panel = new wxPanel(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL);
+
wxBitmap bmpMenu;
bmpMenu = wxBitmap(from_u8(Slic3r::var("disk.png")), wxBITMAP_TYPE_PNG);
- m_btn_save_preset = new wxBitmapButton(panel, wxID_ANY, bmpMenu, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
+ m_btn_save_preset = new wxBitmapButton(m_btn_panel, wxID_ANY, bmpMenu, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
if (wxMSW) m_btn_save_preset->SetBackgroundColour(color);
bmpMenu = wxBitmap(from_u8(Slic3r::var("delete.png")), wxBITMAP_TYPE_PNG);
- m_btn_delete_preset = new wxBitmapButton(panel, wxID_ANY, bmpMenu, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
+ m_btn_delete_preset = new wxBitmapButton(m_btn_panel, wxID_ANY, bmpMenu, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
if (wxMSW) m_btn_delete_preset->SetBackgroundColour(color);
m_show_incompatible_presets = false;
m_bmp_show_incompatible_presets.LoadFile(from_u8(Slic3r::var("flag-red-icon.png")), wxBITMAP_TYPE_PNG);
m_bmp_hide_incompatible_presets.LoadFile(from_u8(Slic3r::var("flag-green-icon.png")), wxBITMAP_TYPE_PNG);
- m_btn_hide_incompatible_presets = new wxBitmapButton(panel, wxID_ANY, m_bmp_hide_incompatible_presets, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
+ m_btn_hide_incompatible_presets = new wxBitmapButton(m_btn_panel, wxID_ANY, m_bmp_hide_incompatible_presets, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
if (wxMSW) m_btn_hide_incompatible_presets->SetBackgroundColour(color);
m_btn_save_preset->SetToolTip(_(L("Save current ")) + m_title);
m_btn_delete_preset->SetToolTip(_(L("Delete this preset")));
m_btn_delete_preset->Disable();
- m_undo_btn = new wxButton(panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
- m_undo_to_sys_btn = new wxButton(panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
- m_question_btn = new wxButton(panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
+ m_undo_btn = new wxButton(m_btn_panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
+ m_undo_to_sys_btn = new wxButton(m_btn_panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
+ m_question_btn = new wxButton(m_btn_panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
if (wxMSW) {
m_undo_btn->SetBackgroundColour(color);
m_undo_to_sys_btn->SetBackgroundColour(color);
@@ -153,57 +119,32 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle)
m_modified_label_clr = get_label_clr_modified();
m_default_text_clr = get_label_clr_default();
+ auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
+ m_btn_panel->SetSizer(btn_sizer);
+ m_btn_panel->Layout();
+
+ btn_sizer->Add(m_btn_save_preset, 0, wxALIGN_CENTER_VERTICAL);
+ btn_sizer->AddSpacer(4);
+ btn_sizer->Add(m_btn_delete_preset, 0, wxALIGN_CENTER_VERTICAL);
+ btn_sizer->AddSpacer(16);
+ btn_sizer->Add(m_btn_hide_incompatible_presets, 0, wxALIGN_CENTER_VERTICAL);
+ btn_sizer->AddSpacer(64);
+ btn_sizer->Add(m_undo_to_sys_btn, 0, wxALIGN_CENTER_VERTICAL);
+ btn_sizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL);
+ btn_sizer->AddSpacer(32);
+ btn_sizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL);
+
m_hsizer = new wxBoxSizer(wxHORIZONTAL);
sizer->Add(m_hsizer, 0, wxBOTTOM, 3);
m_hsizer->Add(m_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3);
m_hsizer->AddSpacer(4);
- m_hsizer->Add(m_btn_save_preset, 0, wxALIGN_CENTER_VERTICAL);
- m_hsizer->AddSpacer(4);
- m_hsizer->Add(m_btn_delete_preset, 0, wxALIGN_CENTER_VERTICAL);
- m_hsizer->AddSpacer(16);
- m_hsizer->Add(m_btn_hide_incompatible_presets, 0, wxALIGN_CENTER_VERTICAL);
- m_hsizer->AddSpacer(64);
- m_hsizer->Add(m_undo_to_sys_btn, 0, wxALIGN_CENTER_VERTICAL);
- m_hsizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL);
- m_hsizer->AddSpacer(32);
- m_hsizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL);
-// m_hsizer->Add(m_cc_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3);
+ m_hsizer->Add(m_btn_panel, 0, wxALIGN_CENTER_VERTICAL);
//Horizontal sizer to hold the tree and the selected page.
m_hsizer = new wxBoxSizer(wxHORIZONTAL);
sizer->Add(m_hsizer, 1, wxEXPAND, 0);
-/*
-
-
- //temporary left vertical sizer
- m_left_sizer = new wxBoxSizer(wxVERTICAL);
- m_hsizer->Add(m_left_sizer, 0, wxEXPAND | wxLEFT | wxTOP | wxBOTTOM, 3);
-
- // tree
- m_presetctrl = new wxDataViewTreeCtrl(panel, wxID_ANY, wxDefaultPosition, wxSize(200, -1), wxDV_NO_HEADER);
- m_left_sizer->Add(m_presetctrl, 1, wxEXPAND);
- m_preset_icons = new wxImageList(16, 16, true, 1);
- m_presetctrl->SetImageList(m_preset_icons);
- m_preset_icons->Add(*new wxIcon(from_u8(Slic3r::var("flag-green-icon.png")), wxBITMAP_TYPE_PNG));
- m_preset_icons->Add(*new wxIcon(from_u8(Slic3r::var("flag-red-icon.png")), wxBITMAP_TYPE_PNG));
-
- m_presetctrl->Bind(wxEVT_DATAVIEW_SELECTION_CHANGED, [this](wxCommandEvent& evt)
- {
- auto selected = m_presetctrl->GetItemText(m_presetctrl->GetSelection());
- if (selected != _(L("System presets")) && selected != _(L("Default presets")))
- {
- std::string selected_string = selected.ToUTF8().data();
-#ifdef __APPLE__
-#else
- select_preset(selected_string);
-#endif
- }
- });
-
-*/
-
//left vertical sizer
m_left_sizer = new wxBoxSizer(wxVERTICAL);
m_hsizer->Add(m_left_sizer, 0, wxEXPAND | wxLEFT | wxTOP | wxBOTTOM, 3);
@@ -290,6 +231,28 @@ PageShp Tab::add_options_page(const wxString& title, const std::string& icon, bo
return page;
}
+void Tab::OnActivate()
+{
+#ifdef __WXOSX__
+ wxWindowUpdateLocker noUpdates(this);
+
+ m_btn_panel->Fit();
+
+ Page* page = nullptr;
+ auto selection = m_treectrl->GetItemText(m_treectrl->GetSelection());
+ for (auto p : m_pages)
+ if (p->title() == selection)
+ {
+ page = p.get();
+ break;
+ }
+ if (page == nullptr) return;
+ page->Fit();
+ m_hsizer->Layout();
+ Refresh();
+#endif
+}
+
void Tab::update_labels_colour()
{
Freeze();
@@ -1246,6 +1209,7 @@ void TabPrint::update()
void TabPrint::OnActivate()
{
+ Tab::OnActivate();
m_recommended_thin_wall_thickness_description_line->SetText(
from_u8(PresetHints::recommended_thin_wall_thickness(*m_preset_bundle)));
}
@@ -1404,6 +1368,7 @@ void TabFilament::update()
void TabFilament::OnActivate()
{
+ Tab::OnActivate();
m_volumetric_speed_description_line->SetText(from_u8(PresetHints::maximum_volumetric_flow_description(*m_preset_bundle)));
}
@@ -2086,6 +2051,7 @@ void Tab::OnTreeSelChange(wxTreeEvent& event)
#endif
page->Show();
+ page->Fit();
m_hsizer->Layout();
Refresh();
diff --git a/xs/src/slic3r/GUI/Tab.hpp b/xs/src/slic3r/GUI/Tab.hpp
index d6bf2cf43..633f89750 100644
--- a/xs/src/slic3r/GUI/Tab.hpp
+++ b/xs/src/slic3r/GUI/Tab.hpp
@@ -119,6 +119,8 @@ protected:
wxButton* m_undo_to_sys_btn;
wxButton* m_question_btn;
+ wxPanel* m_btn_panel;
+
wxComboCtrl* m_cc_presets_choice;
wxDataViewTreeCtrl* m_presetctrl;
wxImageList* m_preset_icons;
@@ -198,7 +200,7 @@ public:
Tab() {}
Tab(wxNotebook* parent, const wxString& title, const char* name, bool no_controller) :
m_parent(parent), m_title(title), m_name(name), m_no_controller(no_controller) {
- Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL);
+ Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL, name);
get_tabs_list().push_back(this);
}
~Tab(){
@@ -242,7 +244,7 @@ public:
PageShp add_options_page(const wxString& title, const std::string& icon, bool is_extruder_pages = false);
- virtual void OnActivate(){}
+ virtual void OnActivate();
virtual void on_preset_loaded(){}
virtual void build() = 0;
virtual void update() = 0;