X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ca6a5f04692678cd2d9f3ea0843fc3f5a0b254f..012a01fc1ea0f4c870eaf66bb332617affa5abd0:/include/wx/tbarbase.h?ds=sidebyside diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index aa19f52861..469c4f36a1 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 @@ -129,11 +132,13 @@ public: bool CanBeToggled() const { return m_isToggle; } // attributes - const wxBitmap& GetBitmap1() const { return m_bitmap1; } - const wxBitmap& GetBitmap2() const { return m_bitmap2; } + const wxBitmap& GetNormalBitmap() const { return m_bitmap1; } + const wxBitmap& GetDisabledBitmap() const { return m_bitmap2; } const wxBitmap& GetBitmap() const - { return IsToggled() ? m_bitmap2 : m_bitmap1; } + { return IsEnabled() ? GetNormalBitmap() : GetDisabledBitmap(); } + + wxString GetLabel() const { return m_label; } wxString GetShortHelp() const { return m_shortHelpString; } wxString GetLongHelp() const { return m_longHelpString; } @@ -159,8 +164,10 @@ public: void Toggle() { Toggle(!IsToggled()); } - void SetBitmap1(const wxBitmap& bmp) { m_bitmap1 = bmp; } - void SetBitmap2(const wxBitmap& bmp) { m_bitmap2 = bmp; } + void SetNormalBitmap(const wxBitmap& bmp) { m_bitmap1 = bmp; } + void SetDisabledBitmap(const wxBitmap& bmp) { m_bitmap2 = bmp; } + + void SetLabel(const wxString& label) { m_label = label; } void SetClientData(wxObject *clientData) { @@ -178,6 +185,15 @@ public: virtual void Detach() { m_tbar = (wxToolBarBase *)NULL; } virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; } + // compatibility only, don't use +#if WXWIN_COMPATIBILITY_2_2 + const wxBitmap& GetBitmap1() const { return GetNormalBitmap(); } + const wxBitmap& GetBitmap2() const { return GetDisabledBitmap(); } + + void SetBitmap1(const wxBitmap& bmp) { SetNormalBitmap(bmp); } + void SetBitmap2(const wxBitmap& bmp) { SetDisabledBitmap(bmp); } +#endif // WXWIN_COMPATIBILITY_2_2 + protected: wxToolBarBase *m_tbar; // the toolbar to which we belong (may be NULL) @@ -196,10 +212,13 @@ protected: bool m_isToggle; bool m_enabled; - // normal and toggles bitmaps + // normal and disabled bitmaps wxBitmap m_bitmap1; wxBitmap m_bitmap2; + // the button label + wxString m_label; + // short and long help strings wxString m_shortHelpString; wxString m_longHelpString; @@ -236,7 +255,7 @@ public: // 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, @@ -335,10 +354,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 // ---------------- @@ -368,6 +390,9 @@ public: virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const = 0; + // return TRUE if this is a vertical toolbar, otherwise FALSE + bool IsVertical() const { return HasFlag(wxTB_VERTICAL); } + // event handlers // -------------- @@ -407,6 +432,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 // ------------------------------- @@ -464,8 +492,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_