Add wxRibbonButtonBar::InsertXXXButton() methods.
Allow inserting buttons into the ribbon bar and not only appending them. Closes #13811. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -279,6 +279,23 @@ wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddButton(
|
||||
wxRibbonButtonKind kind,
|
||||
const wxString& help_string,
|
||||
wxObject* client_data)
|
||||
{
|
||||
return InsertButton(GetButtonCount(), button_id, label, bitmap,
|
||||
bitmap_small, bitmap_disabled,bitmap_small_disabled, kind, help_string,
|
||||
client_data);
|
||||
}
|
||||
|
||||
wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertButton(
|
||||
size_t pos,
|
||||
int button_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxBitmap& bitmap_small,
|
||||
const wxBitmap& bitmap_disabled,
|
||||
const wxBitmap& bitmap_small_disabled,
|
||||
wxRibbonButtonKind kind,
|
||||
const wxString& help_string,
|
||||
wxObject* client_data)
|
||||
{
|
||||
wxASSERT(bitmap.IsOk() || bitmap_small.IsOk());
|
||||
if(m_buttons.IsEmpty())
|
||||
@@ -348,12 +365,56 @@ wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddButton(
|
||||
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, temp_dc);
|
||||
FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_LARGE, temp_dc);
|
||||
|
||||
// TODO
|
||||
m_buttons.Add(base);
|
||||
m_buttons.Insert(base, pos);
|
||||
m_layouts_valid = false;
|
||||
return base;
|
||||
}
|
||||
|
||||
wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertButton(
|
||||
size_t pos,
|
||||
int button_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxString& help_string,
|
||||
wxRibbonButtonKind kind)
|
||||
{
|
||||
return InsertButton(pos, button_id, label, bitmap, wxNullBitmap,
|
||||
wxNullBitmap, wxNullBitmap, kind, help_string);
|
||||
}
|
||||
|
||||
wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertDropdownButton(
|
||||
size_t pos,
|
||||
int button_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxString& help_string)
|
||||
{
|
||||
return InsertButton(pos, button_id, label, bitmap, help_string,
|
||||
wxRIBBON_BUTTON_DROPDOWN);
|
||||
}
|
||||
|
||||
wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertToggleButton(
|
||||
size_t pos,
|
||||
int button_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxString& help_string)
|
||||
{
|
||||
return InsertButton(pos, button_id, label, bitmap, help_string,
|
||||
wxRIBBON_BUTTON_TOGGLE);
|
||||
}
|
||||
|
||||
wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertHybridButton(
|
||||
size_t pos,
|
||||
int button_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxString& help_string)
|
||||
{
|
||||
return InsertButton(pos, button_id, label, bitmap, help_string,
|
||||
wxRIBBON_BUTTON_HYBRID);
|
||||
}
|
||||
|
||||
void wxRibbonButtonBar::FetchButtonSizeInfo(wxRibbonButtonBarButtonBase* button,
|
||||
wxRibbonButtonBarButtonState size, wxDC& dc)
|
||||
{
|
||||
@@ -382,6 +443,11 @@ wxBitmap wxRibbonButtonBar::MakeDisabledBitmap(const wxBitmap& original)
|
||||
return wxBitmap(img.ConvertToGreyscale());
|
||||
}
|
||||
|
||||
size_t wxRibbonButtonBar::GetButtonCount() const
|
||||
{
|
||||
return m_buttons.GetCount();
|
||||
}
|
||||
|
||||
bool wxRibbonButtonBar::Realize()
|
||||
{
|
||||
if(!m_layouts_valid)
|
||||
|
||||
Reference in New Issue
Block a user