X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e79f02bdde82eb564e1408ba09e6b5abb031b694..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/tbarbase.h diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index bbb74680ef..709b7c53ea 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -199,10 +199,12 @@ public: virtual void Detach() { m_tbar = NULL; } virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; } +#if wxUSE_MENUS // these methods are only for tools of wxITEM_DROPDOWN kind (but even such // tools can have a NULL associated menu) virtual void SetDropdownMenu(wxMenu *menu); wxMenu *GetDropdownMenu() const { return m_dropdownMenu; } +#endif protected: // common part of all ctors @@ -222,7 +224,10 @@ protected: m_toggled = false; m_enabled = true; +#if wxUSE_MENUS m_dropdownMenu = NULL; +#endif + } wxToolBarBase *m_tbar; // the toolbar to which we belong (may be NULL) @@ -257,7 +262,9 @@ protected: wxString m_shortHelpString; wxString m_longHelpString; +#if wxUSE_MENUS wxMenu *m_dropdownMenu; +#endif DECLARE_DYNAMIC_CLASS_NO_COPY(wxToolBarToolBase) }; @@ -466,7 +473,7 @@ public: { 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) + // there is no tool at this point (coordinates are client) virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const = 0; @@ -560,6 +567,33 @@ public: // use GetToolMargins() instead wxSize GetMargins() const { return GetToolMargins(); } + // Tool factories, + // helper functions to create toolbar tools + // ------------------------- + virtual wxToolBarToolBase *CreateTool(int toolid, + const wxString& label, + const wxBitmap& bmpNormal, + const wxBitmap& bmpDisabled = wxNullBitmap, + wxItemKind kind = wxITEM_NORMAL, + wxObject *clientData = NULL, + const wxString& shortHelp = wxEmptyString, + const wxString& longHelp = wxEmptyString) = 0; + + virtual wxToolBarToolBase *CreateTool(wxControl *control, + const wxString& label) = 0; + + // this one is not virtual but just a simple helper/wrapper around + // CreateTool() for separators + wxToolBarToolBase *CreateSeparator() + { + return CreateTool(wxID_SEPARATOR, + wxEmptyString, + wxNullBitmap, wxNullBitmap, + wxITEM_SEPARATOR, NULL, + wxEmptyString, wxEmptyString); + } + + // implementation only from now on // ------------------------------- @@ -569,10 +603,15 @@ public: // don't want toolbars to accept the focus virtual bool AcceptsFocus() const { return false; } +#if wxUSE_MENUS // Set dropdown menu bool SetDropdownMenu(int toolid, wxMenu *menu); +#endif protected: + // choose the default border for this window + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } + // to implement in derived classes // ------------------------------- @@ -609,29 +648,6 @@ protected: // called when the tools "can be toggled" flag changes virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle) = 0; - // the functions to create toolbar tools - virtual wxToolBarToolBase *CreateTool(int toolid, - const wxString& label, - const wxBitmap& bmpNormal, - const wxBitmap& bmpDisabled, - wxItemKind kind, - wxObject *clientData, - const wxString& shortHelp, - const wxString& longHelp) = 0; - - virtual wxToolBarToolBase *CreateTool(wxControl *control, - const wxString& label) = 0; - - // this one is not virtual but just a simple helper/wrapper around - // CreateTool() for separators - wxToolBarToolBase *CreateSeparator() - { - return CreateTool(wxID_SEPARATOR, - wxEmptyString, - wxNullBitmap, wxNullBitmap, - wxITEM_SEPARATOR, NULL, - wxEmptyString, wxEmptyString); - } // helper functions // ----------------