X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c3ead1d1513a5eb79091a604f4e42b45d1bdf5d..f5fac4471b361f54ae6a09f6047ae4dbe30fcb86:/include/wx/ribbon/buttonbar.h diff --git a/include/wx/ribbon/buttonbar.h b/include/wx/ribbon/buttonbar.h index b1642de78b..440a6c2af0 100644 --- a/include/wx/ribbon/buttonbar.h +++ b/include/wx/ribbon/buttonbar.h @@ -23,8 +23,8 @@ class wxRibbonButtonBarButtonBase; class wxRibbonButtonBarLayout; class wxRibbonButtonBarButtonInstance; -WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonButtonBarLayout*, wxArrayRibbonButtonBarLayout, class WXDLLIMPEXP_RIBBON); -WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonButtonBarButtonBase*, wxArrayRibbonButtonBarButtonBase, class WXDLLIMPEXP_RIBBON); +WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxRibbonButtonBarLayout*, wxArrayRibbonButtonBarLayout, class WXDLLIMPEXP_RIBBON); +WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxRibbonButtonBarButtonBase*, wxArrayRibbonButtonBarButtonBase, class WXDLLIMPEXP_RIBBON); class WXDLLIMPEXP_RIBBON wxRibbonButtonBar : public wxRibbonControl { @@ -66,7 +66,13 @@ public: const wxString& label, const wxBitmap& bitmap, const wxString& help_string = wxEmptyString); - + + virtual wxRibbonButtonBarButtonBase* AddToggleButton( + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& help_string = wxEmptyString); + virtual wxRibbonButtonBarButtonBase* AddButton( int button_id, const wxString& label, @@ -78,18 +84,62 @@ public: const wxString& help_string = wxEmptyString, wxObject* client_data = NULL); + virtual wxRibbonButtonBarButtonBase* InsertButton( + size_t pos, + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& help_string, + wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL); + + virtual wxRibbonButtonBarButtonBase* InsertDropdownButton( + size_t pos, + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& help_string = wxEmptyString); + + virtual wxRibbonButtonBarButtonBase* InsertHybridButton( + size_t pos, + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& help_string = wxEmptyString); + + virtual wxRibbonButtonBarButtonBase* InsertToggleButton( + size_t pos, + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& help_string = wxEmptyString); + + virtual wxRibbonButtonBarButtonBase* InsertButton( + size_t pos, + int button_id, + const wxString& label, + const wxBitmap& bitmap, + const wxBitmap& bitmap_small = wxNullBitmap, + const wxBitmap& bitmap_disabled = wxNullBitmap, + const wxBitmap& bitmap_small_disabled = wxNullBitmap, + wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL, + const wxString& help_string = wxEmptyString, + wxObject* client_data = NULL); + + virtual size_t GetButtonCount() const; + virtual bool Realize(); virtual void ClearButtons(); virtual bool DeleteButton(int button_id); virtual void EnableButton(int button_id, bool enable = true); + virtual void ToggleButton(int button_id, bool checked); virtual void SetArtProvider(wxRibbonArtProvider* art); virtual bool IsSizingContinuous() const; virtual wxSize GetMinSize() const; - virtual wxSize DoGetBestSize() const; protected: friend class wxRibbonButtonBarEvent; + virtual wxSize DoGetBestSize() const; wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } void OnEraseBackground(wxEraseEvent& evt); @@ -113,6 +163,7 @@ protected: static wxBitmap MakeDisabledBitmap(const wxBitmap& original); void FetchButtonSizeInfo(wxRibbonButtonBarButtonBase* button, wxRibbonButtonBarButtonState size, wxDC& dc); + virtual void UpdateWindowUI(long flags); wxArrayRibbonButtonBarLayout m_layouts; wxArrayRibbonButtonBarButtonBase m_buttons;