wxRibbonButtonBarButton: Implemented manual button size class control
Added new functions SetButtonMinSizeClass() and SetButtonMaxSizeClass() that set a button's minimum and maximum allowed size class during ribbon layout collapsing. Size classes are values from wxRibbonButtonBarButtonState enum. wxRibbonButtonBar::MakeLayouts() and wxRibbonButtonBar::TryCollapseLayout() are modified to support this new behaviour. The modified wxRibbonButtonBar provate layout routines are aware of wxRIBBON_BUTTONBAR_BUTTON_SMALL which is not implemented yet in MSW wxRibbonMSWArtProvider::DrawButtonBarButtonForeground.
This commit is contained in:
@@ -150,6 +150,10 @@ public:
|
||||
virtual void SetButtonTextMinWidth(int button_id,
|
||||
int min_width_medium, int min_width_large);
|
||||
virtual void SetButtonTextMinWidth(int button_id, const wxString& label);
|
||||
virtual void SetButtonMinSizeClass(int button_id,
|
||||
wxRibbonButtonBarButtonState min_size_class);
|
||||
virtual void SetButtonMaxSizeClass(int button_id,
|
||||
wxRibbonButtonBarButtonState max_size_class);
|
||||
|
||||
virtual wxRibbonButtonBarButtonBase *GetActiveItem() const;
|
||||
virtual wxRibbonButtonBarButtonBase *GetHoveredItem() const;
|
||||
@@ -183,7 +187,9 @@ protected:
|
||||
|
||||
void CommonInit(long style);
|
||||
void MakeLayouts();
|
||||
bool TryCollapseLayout(wxRibbonButtonBarLayout* original, size_t first_btn, size_t* last_button);
|
||||
void TryCollapseLayout(wxRibbonButtonBarLayout* original,
|
||||
size_t first_btn, size_t* last_button,
|
||||
wxRibbonButtonBarButtonState target_size);
|
||||
void MakeBitmaps(wxRibbonButtonBarButtonBase* base,
|
||||
const wxBitmap& bitmap_large,
|
||||
const wxBitmap& bitmap_large_disabled,
|
||||
|
Reference in New Issue
Block a user