X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cdb11cb99e14b18bc284fce01ccbd18fa9c56cb7..38dd8ed40423d980243d95e4d54e1f500c32f557:/include/wx/tbarbase.h diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index 50cc2bc217..34928b79f6 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -24,15 +24,15 @@ #include "wx/list.h" #include "wx/control.h" -class WXDLLEXPORT wxToolBarBase; -class WXDLLEXPORT wxToolBarToolBase; -class WXDLLEXPORT wxImage; +class WXDLLIMPEXP_FWD_CORE wxToolBarBase; +class WXDLLIMPEXP_FWD_CORE wxToolBarToolBase; +class WXDLLIMPEXP_FWD_CORE wxImage; // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -extern WXDLLEXPORT_DATA(const wxChar) wxToolBarNameStr[]; +extern WXDLLEXPORT_DATA(const char) wxToolBarNameStr[]; extern WXDLLEXPORT_DATA(const wxSize) wxDefaultSize; extern WXDLLEXPORT_DATA(const wxPoint) wxDefaultPosition; @@ -71,12 +71,13 @@ public: const wxString& longHelpString = wxEmptyString) : m_label(label), m_shortHelpString(shortHelpString), - m_longHelpString(longHelpString) + m_longHelpString(longHelpString), + m_dropdownMenu(NULL) { m_tbar = tbar; m_id = toolid; if (m_id == wxID_ANY) - m_id = wxNewId(); + m_id = wxWindow::NewControlId(); m_clientData = clientData; m_bmpNormal = bmpNormal; @@ -106,9 +107,11 @@ public: m_toggled = false; m_toolStyle = wxTOOL_STYLE_CONTROL; + + m_dropdownMenu = 0; } - virtual ~wxToolBarToolBase(){} + virtual ~wxToolBarToolBase(); // accessors // --------- @@ -197,6 +200,11 @@ public: virtual void Detach() { m_tbar = (wxToolBarBase *)NULL; } virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; } + // these methods are only for tools of wxITEM_DROPDOWN kind (but even such + // tools can have a NULL associated menu) + void SetDropdownMenu(wxMenu *menu); + wxMenu *GetDropdownMenu() const { return m_dropdownMenu; } + protected: wxToolBarBase *m_tbar; // the toolbar to which we belong (may be NULL) @@ -227,6 +235,8 @@ protected: wxString m_shortHelpString; wxString m_longHelpString; + wxMenu *m_dropdownMenu; + DECLARE_DYNAMIC_CLASS_NO_COPY(wxToolBarToolBase) }; @@ -415,14 +425,14 @@ public: // get/set the size of the bitmaps used by the toolbar: should be called // before adding any tools to the toolbar virtual void SetToolBitmapSize(const wxSize& size) - { m_defaultWidth = size.x; m_defaultHeight = size.y; }; + { m_defaultWidth = size.x; m_defaultHeight = size.y; } virtual wxSize GetToolBitmapSize() const { return wxSize(m_defaultWidth, m_defaultHeight); } // the button size in some implementations is bigger than the bitmap size: // get the total button size (by default the same as bitmap size) virtual wxSize GetToolSize() const - { return GetToolBitmapSize(); } ; + { return GetToolBitmapSize(); } // returns a (non separator) tool containing the point (x, y) or NULL if // there is no tool at this point (corrdinates are client) @@ -525,6 +535,9 @@ public: // don't want toolbars to accept the focus virtual bool AcceptsFocus() const { return false; } + // Set dropdown menu + bool SetDropdownMenu(int toolid, wxMenu *menu); + protected: // to implement in derived classes // -------------------------------