Added reset buttons description

This commit is contained in:
YuSanka 2018-04-20 12:58:07 +02:00
parent 88dadcec78
commit 1e1bf03f61
9 changed files with 74 additions and 33 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

View File

@ -1,3 +1,6 @@
#ifndef slic3r_2DBed_hpp_
#define slic3r_2DBed_hpp_
#include <wx/wx.h> #include <wx/wx.h>
#include "Config.hpp" #include "Config.hpp"
@ -45,3 +48,5 @@ public:
} // GUI } // GUI
} // Slic3r } // Slic3r
#endif /* slic3r_2DBed_hpp_ */

View File

@ -1,3 +1,5 @@
#ifndef slic3r_BedShapeDialog_hpp_
#define slic3r_BedShapeDialog_hpp_
// The bed shape dialog. // The bed shape dialog.
// The dialog opens from Print Settins tab->Bed Shape : Set... // The dialog opens from Print Settins tab->Bed Shape : Set...
@ -49,3 +51,6 @@ public:
} // GUI } // GUI
} // Slic3r } // Slic3r
#endif /* slic3r_BedShapeDialog_hpp_ */

View File

@ -22,7 +22,7 @@ namespace Slic3r { namespace GUI {
auto color = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); auto color = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
auto sz = 16; auto sz = 16;
#ifdef __WXGTK__ #ifdef __WXGTK__
sz = 28 sz = 28;
#endif // __WXGTK__ #endif // __WXGTK__
m_Undo_btn = new wxButton(m_parent, wxID_ANY, "", wxDefaultPosition, wxSize(sz,sz), wxNO_BORDER); m_Undo_btn = new wxButton(m_parent, wxID_ANY, "", wxDefaultPosition, wxSize(sz,sz), wxNO_BORDER);
m_Undo_to_sys_btn = new wxButton(m_parent, wxID_ANY, "", wxDefaultPosition, wxSize(sz,sz), wxNO_BORDER); m_Undo_to_sys_btn = new wxButton(m_parent, wxID_ANY, "", wxDefaultPosition, wxSize(sz,sz), wxNO_BORDER);

View File

@ -1,3 +1,6 @@
#ifndef slic3r_OptionsGroup_hpp_
#define slic3r_OptionsGroup_hpp_
#include <wx/wx.h> #include <wx/wx.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/settings.h> #include <wx/settings.h>
@ -204,3 +207,5 @@ public:
}; };
}} }}
#endif /* slic3r_OptionsGroup_hpp_ */

View File

@ -1,3 +1,6 @@
#ifndef slic3r_Preferences_hpp_
#define slic3r_Preferences_hpp_
#include "GUI.hpp" #include "GUI.hpp"
#include <wx/dialog.h> #include <wx/dialog.h>
@ -25,3 +28,5 @@ public:
} // GUI } // GUI
} // Slic3r } // Slic3r
#endif /* slic3r_Preferences_hpp_ */

View File

@ -8,6 +8,7 @@
#include "slic3r/Utils/OctoPrint.hpp" #include "slic3r/Utils/OctoPrint.hpp"
#include "BonjourDialog.hpp" #include "BonjourDialog.hpp"
#include "WipeTowerDialog.hpp" #include "WipeTowerDialog.hpp"
#include "ButtonsDescription.hpp"
#include <wx/app.h> #include <wx/app.h>
#include <wx/button.h> #include <wx/button.h>
@ -103,38 +104,25 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle)
m_undo_btn = new wxButton(panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER); 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_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_question_btn = new wxButton(panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT | wxNO_BORDER);
m_undo_btns_legent = new wxStaticText(panel, wxID_ANY, _(L("For more information about buttons hover the mouse cursor over them.")), wxDefaultPosition, wxDefaultSize); // m_undo_btns_legent = new wxStaticText(panel, wxID_ANY, _(L("For more information about buttons hover the mouse cursor over them.")), wxDefaultPosition, wxDefaultSize);
if (wxMSW) { if (wxMSW) {
m_undo_btn->SetBackgroundColour(color); m_undo_btn->SetBackgroundColour(color);
m_undo_to_sys_btn->SetBackgroundColour(color); m_undo_to_sys_btn->SetBackgroundColour(color);
m_question_btn->SetBackgroundColour(color); m_question_btn->SetBackgroundColour(color);
} }
#ifdef __WXMSW__ m_undo_to_sys_btn->SetToolTip(_(L( "UNLOCKED LOCK icon indicates about some value changes compared with system values "
m_undo_to_sys_btn->SetToolTip(_(L( "Unlocked lock icon indicates about some value changes compared with system values "
"in current option group.\n" "in current option group.\n"
"Locked lock icon indicates about same values compared with system values " "LOCKED LOCK icon indicates about same values compared with system values "
"in current option group.\n" "in current option group.\n"
"White bullet icon indicates about nonsystem preset.\n" "WHITE BULLET icon indicates about nonsystem preset.\n\n"
"Click the unlocked lock to revert all values in current option group to system values."))); "Click the UNLOCKED LOCK to revert all values in current option group to system values.")));
#else
// ToolTips to undo buttons
m_undo_btn_tip = new wxRichToolTip("Information about current button",
_(L("Unlocked lock icon indicates about some value changes compared with system values "
"in current option group.\n"
"Locked lock icon indicates about same values compared with system values "
"in current option group.\n"
"White bullet icon indicates about nonsystem preset.\n"
"Click the unlocked lock to revert all values in current option group to system values.")));
m_undo_btn_tip->SetIcon(wxICON_INFORMATION);
m_undo_btn_tip->ShowFor(m_undo_btn);
#endif //__WXMSW__
m_undo_btn->SetToolTip(_(L( "Back arrow icon indicates about some value changes compared with last saved preset values " m_undo_btn->SetToolTip(_(L( "BACK ARROW icon indicates about some value changes compared with last saved preset values "
"in current option group.\n" "in current option group.\n"
"White bullet icon indicates about same values compared with last saved preset values " "WHITE BULLET icon indicates about same values compared with last saved preset values "
"in current option group.\n" "in current option group.\n\n"
"Click the Back arrow to revert all values in current option group to last saved preset values."))); "Click the BACK ARROW to revert all values in current option group to last saved preset values.")));
m_question_btn->SetToolTip(_(L("Hover the cursor over buttons to find more information."))); m_question_btn->SetToolTip(_(L("Hover the cursor over buttons to find more information.")));
@ -147,11 +135,18 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle)
m_bmp_white_bullet .LoadFile(from_u8(var("bullet_white.png")), wxBITMAP_TYPE_PNG); m_bmp_white_bullet .LoadFile(from_u8(var("bullet_white.png")), wxBITMAP_TYPE_PNG);
m_bmp_question .LoadFile(from_u8(var("question_mark_01.png")), wxBITMAP_TYPE_PNG); m_bmp_question .LoadFile(from_u8(var("question_mark_01.png")), wxBITMAP_TYPE_PNG);
fill_icon_descriptions();
m_undo_btn->SetBitmap(m_bmp_white_bullet); m_undo_btn->SetBitmap(m_bmp_white_bullet);
m_undo_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent){ on_roll_back_value(); })); m_undo_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent){ on_roll_back_value(); }));
m_undo_to_sys_btn->SetBitmap(m_bmp_white_bullet); m_undo_to_sys_btn->SetBitmap(m_bmp_white_bullet);
m_undo_to_sys_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent){ on_roll_back_value(true); })); m_undo_to_sys_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent){ on_roll_back_value(true); }));
m_question_btn->SetBitmap(m_bmp_question); m_question_btn->SetBitmap(m_bmp_question);
m_question_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent)
{
auto dlg = new ButtonsDescription(parent(), &m_icon_descriptions);
dlg->ShowModal();
}));
// Colors for ui "decoration" // Colors for ui "decoration"
m_sys_label_clr = get_sys_label_clr(); m_sys_label_clr = get_sys_label_clr();
@ -170,9 +165,9 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle)
m_hsizer->AddSpacer(64); m_hsizer->AddSpacer(64);
m_hsizer->Add(m_undo_to_sys_btn, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->Add(m_undo_to_sys_btn, 0, wxALIGN_CENTER_VERTICAL);
m_hsizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL);
m_hsizer->AddSpacer(16); m_hsizer->AddSpacer(32);
m_hsizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL);
m_hsizer->Add(m_undo_btns_legent, 0, wxALIGN_CENTER_VERTICAL); // m_hsizer->Add(m_undo_btns_legent, 0, wxALIGN_CENTER_VERTICAL);
// m_hsizer->AddSpacer(64); // m_hsizer->AddSpacer(64);
// m_hsizer->Add(m_cc_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3); // m_hsizer->Add(m_cc_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3);
@ -2354,6 +2349,22 @@ void Tab::update_tab_presets(wxComboCtrl* ui, bool show_incompatible)
ui->Thaw(); ui->Thaw();
} }
void Tab::fill_icon_descriptions()
{
m_icon_descriptions.push_back(t_icon_description(&m_bmp_value_lock, L("LOCKED LOCK;"
"indicates about same values compared with system values in current option group")));
m_icon_descriptions.push_back(t_icon_description(&m_bmp_value_unlock, L("UNLOCKED LOCK;"
"indicates about some value changes compared with system values in current option group")));
m_icon_descriptions.push_back(t_icon_description(&m_bmp_white_bullet, L("WHITE BULLET;"
"indicates about : \n - nonsystem preset (on left button)"
"\n - same values compared with last saved preset values in current option group(on right button)")));
m_icon_descriptions.push_back(t_icon_description(&m_bmp_value_revert, L("BACK ARROW;"
"indicates about some value changes compared with last saved preset values in current option group")));
}
void Page::reload_config() void Page::reload_config()
{ {
for (auto group : m_optgroups) for (auto group : m_optgroups)

View File

@ -1,3 +1,6 @@
#ifndef slic3r_Tab_hpp_
#define slic3r_Tab_hpp_
// The "Expert" tab at the right of the main tabbed window. // The "Expert" tab at the right of the main tabbed window.
// //
// This file implements following packages: // This file implements following packages:
@ -22,7 +25,6 @@
#include <wx/imaglist.h> #include <wx/imaglist.h>
#include <wx/statbox.h> #include <wx/statbox.h>
#include <wx/dataview.h> #include <wx/dataview.h>
#include <wx/richtooltip.h>
#include <map> #include <map>
#include <vector> #include <vector>
@ -35,6 +37,9 @@
namespace Slic3r { namespace Slic3r {
namespace GUI { namespace GUI {
typedef std::pair<wxBitmap*, std::string> t_icon_description;
typedef std::vector<std::pair<wxBitmap*, std::string>> t_icon_descriptions;
// Single Tab page containing a{ vsizer } of{ optgroups } // Single Tab page containing a{ vsizer } of{ optgroups }
// package Slic3r::GUI::Tab::Page; // package Slic3r::GUI::Tab::Page;
using ConfigOptionsGroupShp = std::shared_ptr<ConfigOptionsGroup>; using ConfigOptionsGroupShp = std::shared_ptr<ConfigOptionsGroup>;
@ -113,8 +118,7 @@ protected:
wxButton* m_undo_btn; wxButton* m_undo_btn;
wxButton* m_undo_to_sys_btn; wxButton* m_undo_to_sys_btn;
wxButton* m_question_btn; wxButton* m_question_btn;
wxStaticText* m_undo_btns_legent; // wxStaticText* m_undo_btns_legent;
wxRichToolTip* m_undo_btn_tip;
wxComboCtrl* m_cc_presets_choice; wxComboCtrl* m_cc_presets_choice;
wxDataViewTreeCtrl* m_presetctrl; wxDataViewTreeCtrl* m_presetctrl;
@ -152,6 +156,8 @@ protected:
std::map<std::string, int> m_options_list; std::map<std::string, int> m_options_list;
int m_opt_status_value; int m_opt_status_value;
t_icon_descriptions m_icon_descriptions = {};
// The two following two event IDs are generated at Plater.pm by calling Wx::NewEventType. // The two following two event IDs are generated at Plater.pm by calling Wx::NewEventType.
wxEventType m_event_value_change = 0; wxEventType m_event_value_change = 0;
wxEventType m_event_presets_changed = 0; wxEventType m_event_presets_changed = 0;
@ -179,10 +185,6 @@ public:
} }
~Tab(){ ~Tab(){
delete_tab_from_list(this); delete_tab_from_list(this);
if (m_undo_btn_tip){
delete m_undo_btn_tip;
m_undo_btn_tip = nullptr;
}
} }
wxWindow* parent() const { return m_parent; } wxWindow* parent() const { return m_parent; }
@ -249,6 +251,7 @@ protected:
void update_frequently_changed_parameters(); void update_frequently_changed_parameters();
void update_wiping_button_visibility(); void update_wiping_button_visibility();
void update_tab_presets(wxComboCtrl* ui, bool show_incompatible); void update_tab_presets(wxComboCtrl* ui, bool show_incompatible);
void fill_icon_descriptions();
}; };
//Slic3r::GUI::Tab::Print; //Slic3r::GUI::Tab::Print;
@ -327,3 +330,5 @@ public:
} // GUI } // GUI
} // Slic3r } // Slic3r
#endif /* slic3r_Tab_hpp_ */

View File

@ -1,3 +1,6 @@
#ifndef slic3r_TabIface_hpp_
#define slic3r_TabIface_hpp_
#include <vector> #include <vector>
#include <string> #include <string>
@ -30,6 +33,8 @@ public:
protected: protected:
GUI::Tab *m_tab; GUI::Tab *m_tab;
}; }; // namespace GUI
}; // namespace Slic3r }; // namespace Slic3r
#endif /* slic3r_TabIface_hpp_ */