Add wxRibbonButtonBarEvent::GetButton().
Allow to retrieve the button associated with the given button bar event. See #14630. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -195,25 +195,30 @@ class WXDLLIMPEXP_RIBBON wxRibbonButtonBarEvent : public wxCommandEvent
|
|||||||
public:
|
public:
|
||||||
wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
|
wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
|
||||||
int win_id = 0,
|
int win_id = 0,
|
||||||
wxRibbonButtonBar* bar = NULL)
|
wxRibbonButtonBar* bar = NULL,
|
||||||
|
wxRibbonButtonBarButtonBase* button = NULL)
|
||||||
: wxCommandEvent(command_type, win_id)
|
: wxCommandEvent(command_type, win_id)
|
||||||
, m_bar(bar)
|
, m_bar(bar), m_button(button)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
wxRibbonButtonBarEvent(const wxRibbonButtonBarEvent& e) : wxCommandEvent(e)
|
wxRibbonButtonBarEvent(const wxRibbonButtonBarEvent& e) : wxCommandEvent(e)
|
||||||
{
|
{
|
||||||
m_bar = e.m_bar;
|
m_bar = e.m_bar;
|
||||||
|
m_button = e.m_button;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
wxEvent *Clone() const { return new wxRibbonButtonBarEvent(*this); }
|
wxEvent *Clone() const { return new wxRibbonButtonBarEvent(*this); }
|
||||||
|
|
||||||
wxRibbonButtonBar* GetBar() {return m_bar;}
|
wxRibbonButtonBar* GetBar() {return m_bar;}
|
||||||
|
wxRibbonButtonBarButtonBase *GetButton() { return m_button; }
|
||||||
void SetBar(wxRibbonButtonBar* bar) {m_bar = bar;}
|
void SetBar(wxRibbonButtonBar* bar) {m_bar = bar;}
|
||||||
|
void SetButton(wxRibbonButtonBarButtonBase* button) { m_button = button; }
|
||||||
bool PopupMenu(wxMenu* menu);
|
bool PopupMenu(wxMenu* menu);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxRibbonButtonBar* m_bar;
|
wxRibbonButtonBar* m_bar;
|
||||||
|
wxRibbonButtonBarButtonBase *m_button;
|
||||||
|
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
private:
|
private:
|
||||||
|
@@ -484,7 +484,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
|
wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
|
||||||
int win_id = 0,
|
int win_id = 0,
|
||||||
wxRibbonButtonBar* bar = NULL);
|
wxRibbonButtonBar* bar = NULL,
|
||||||
|
wxRibbonButtonBarButtonBase* button = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the bar which contains the button which the event relates to.
|
Returns the bar which contains the button which the event relates to.
|
||||||
@@ -496,6 +497,20 @@ public:
|
|||||||
*/
|
*/
|
||||||
void SetBar(wxRibbonButtonBar* bar);
|
void SetBar(wxRibbonButtonBar* bar);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns the button which the event relates to.
|
||||||
|
|
||||||
|
@since 2.9.5
|
||||||
|
*/
|
||||||
|
wxRibbonButtonBarButtonBase* GetButton();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the button relating to this event.
|
||||||
|
|
||||||
|
@since 2.9.5
|
||||||
|
*/
|
||||||
|
void SetButton(wxRibbonButtonBarButtonBase* bar);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Display a popup menu as a result of this (dropdown clicked) event.
|
Display a popup menu as a result of this (dropdown clicked) event.
|
||||||
*/
|
*/
|
||||||
|
@@ -1098,6 +1098,7 @@ void wxRibbonButtonBar::OnMouseUp(wxMouseEvent& evt)
|
|||||||
}
|
}
|
||||||
notification.SetEventObject(this);
|
notification.SetEventObject(this);
|
||||||
notification.SetBar(this);
|
notification.SetBar(this);
|
||||||
|
notification.SetButton(m_active_button->base);
|
||||||
m_lock_active_state = true;
|
m_lock_active_state = true;
|
||||||
ProcessWindowEvent(notification);
|
ProcessWindowEvent(notification);
|
||||||
m_lock_active_state = false;
|
m_lock_active_state = false;
|
||||||
|
Reference in New Issue
Block a user