1 #ifndef slic3r_GUI_KBShortcutsDialog_hpp_ 2 #define slic3r_GUI_KBShortcutsDialog_hpp_ 3 4 #include <wx/wx.h> 5 #include <map> 6 #include <vector> 7 8 #include "GUI_Utils.hpp" 9 #include "wxExtensions.hpp" 10 11 namespace Slic3r { 12 namespace GUI { 13 14 class KBShortcutsDialog : public DPIDialog 15 { 16 typedef std::pair<std::string, std::string> Shortcut; 17 typedef std::vector<Shortcut> Shortcuts; 18 typedef std::pair<std::pair<wxString, wxString>, Shortcuts> ShortcutsItem; 19 typedef std::vector<ShortcutsItem> ShortcutsVec; 20 21 ShortcutsVec m_full_shortcuts; 22 ScalableBitmap m_logo_bmp; 23 wxStaticBitmap* m_header_bitmap; 24 std::vector<wxPanel*> m_pages; 25 26 public: 27 KBShortcutsDialog(); 28 29 protected: 30 void on_dpi_changed(const wxRect &suggested_rect) override; 31 32 private: 33 void fill_shortcuts(); 34 35 wxPanel* create_header(wxWindow* parent, const wxFont& bold_font); 36 wxPanel* create_page(wxWindow* parent, const ShortcutsItem& shortcuts, const wxFont& font, const wxFont& bold_font); 37 }; 38 39 } // namespace GUI 40 } // namespace Slic3r 41 42 #endif 43