X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6fd5fa4fcc83bfc4be401e0d4e752f48ae0a38bf..bc55104d9ab0b0b835644f17a152b4fbbfa8c7b9:/include/wx/tbarbase.h diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index 288f2d3a64..d57869579b 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -22,12 +22,15 @@ #include "wx/defs.h" +#if wxUSE_TOOLBAR + #include "wx/bitmap.h" #include "wx/list.h" #include "wx/control.h" class WXDLLEXPORT wxToolBarBase; class WXDLLEXPORT wxToolBarToolBase; +class WXDLLEXPORT wxImage; // ---------------------------------------------------------------------------- // constants @@ -118,9 +121,9 @@ public: wxToolBarBase *GetToolBar() const { return m_tbar; } // style - int IsButton() const { return m_toolStyle == wxTOOL_STYLE_BUTTON; } - int IsControl() const { return m_toolStyle == wxTOOL_STYLE_CONTROL; } - int IsSeparator() const { return m_toolStyle == wxTOOL_STYLE_SEPARATOR; } + bool IsButton() const { return m_toolStyle == wxTOOL_STYLE_BUTTON; } + bool IsControl() const { return m_toolStyle == wxTOOL_STYLE_CONTROL; } + bool IsSeparator() const { return m_toolStyle == wxTOOL_STYLE_SEPARATOR; } int GetStyle() const { return m_toolStyle; } // state @@ -142,7 +145,7 @@ public: { if ( m_toolStyle == wxTOOL_STYLE_CONTROL ) { - return m_control->GetClientData(); + return (wxObject*)m_control->GetClientData(); } else { @@ -206,7 +209,7 @@ protected: }; // a list of toolbar tools -WX_DECLARE_LIST(wxToolBarToolBase, wxToolBarToolsList); +WX_DECLARE_EXPORTED_LIST(wxToolBarToolBase, wxToolBarToolsList); // ---------------------------------------------------------------------------- // the base class for all toolbars @@ -221,12 +224,22 @@ public: // toolbar construction // -------------------- + // the most commonly used version of AddTool() + wxToolBarToolBase *AddTool(int id, + const wxBitmap& bitmap, + const wxString& shortHelpString = wxEmptyString, + const wxString& longHelpString = wxEmptyString) + { + return AddTool(id, bitmap, wxNullBitmap, FALSE, NULL, + shortHelpString, longHelpString); + } + // If pushedBitmap is NULL, a reversed version of bitmap is created and // used as the pushed/toggled image. If toggle is TRUE, the button toggles // between the two states. wxToolBarToolBase *AddTool(int id, const wxBitmap& bitmap, - const wxBitmap& pushedBitmap = wxNullBitmap, + const wxBitmap& pushedBitmap, bool toggle = FALSE, wxObject *clientData = NULL, const wxString& shortHelpString = wxEmptyString, @@ -325,10 +338,13 @@ public: virtual void SetToolSeparation(int separation) { m_toolSeparation = separation; } - virtual wxSize GetToolMargins() { return wxSize(m_xMargin, m_yMargin); } + virtual wxSize GetToolMargins() { return GetMargins(); } virtual int GetToolPacking() { return m_toolPacking; } virtual int GetToolSeparation() { return m_toolSeparation; } + // for compatibility + wxSize GetMargins() const { return wxSize(m_xMargin, m_yMargin); } + // toolbar geometry // ---------------- @@ -397,6 +413,9 @@ public: // Do the toolbar button updates (check for EVT_UPDATE_UI handlers) virtual void DoToolbarUpdates(); + // don't want toolbars to accept the focus + virtual bool AcceptsFocus() const { return FALSE; } + protected: // to implement in derived classes // ------------------------------- @@ -454,8 +473,14 @@ protected: private: DECLARE_EVENT_TABLE() + DECLARE_CLASS(wxToolBarBase) }; +// Helper function for creating the image for disabled buttons +bool wxCreateGreyedImage(const wxImage& in, wxImage& out) ; + +#endif // wxUSE_TOOLBAR + #endif // _WX_TBARBASE_H_