X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/45da7759b82ec09ade8236a17f822dc54c5e5483..284be59b1028da651c7136d90025283d22877678:/contrib/include/wx/fl/newbmpbtn.h diff --git a/contrib/include/wx/fl/newbmpbtn.h b/contrib/include/wx/fl/newbmpbtn.h index 455b54aad5..09041cb157 100644 --- a/contrib/include/wx/fl/newbmpbtn.h +++ b/contrib/include/wx/fl/newbmpbtn.h @@ -12,12 +12,16 @@ #ifndef __NEWBMPBTN_G__ #define __NEWBMPBTN_G__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "newbmpbtn.h" #endif #include "wx/button.h" #include "wx/string.h" +#include "wx/fl/fldefs.h" + +// defaults +#define NB_DEFAULT_MARGIN 2 // button label-text alignment types @@ -28,8 +32,8 @@ // classes declared in this header file -class wxNewBitmapButton; -class wxBorderLessBitmapButton; +class WXDLLIMPEXP_FL wxNewBitmapButton; +class WXDLLIMPEXP_FL wxBorderLessBitmapButton; /* This is an alternative class to wxBitmapButton. It is used @@ -59,7 +63,7 @@ protected: // labels for particular state wxBitmap mFocusedBmp; // may not be always present - - // only if mHasFocusedBmp is TRUE + // only if mHasFocusedBmp is true wxBitmap* mpDepressedImg; wxBitmap* mpPressedImg; @@ -70,6 +74,7 @@ protected: bool mDragStarted; bool mIsPressed; bool mIsInFocus; + bool mIsToggled; bool mHasFocusedBmp; @@ -99,36 +104,40 @@ protected: wxPen& upperLeftSidePen, wxPen& lowerRightSidePen ); - // Returns TRUE if the given point is in the window. + // Returns true if the given point is in the window. bool IsInWindow( int x, int y ); + virtual void OnIdle(wxIdleEvent& event); + // (EVT_UPDATE_UI handler) + virtual void DoButtonUpdate(); + public: // Constructor. wxNewBitmapButton( const wxBitmap& labelBitmap = wxNullBitmap, - const wxString& labelText = "", + const wxString& labelText = wxT(""), int alignText = NB_ALIGN_TEXT_BOTTOM, - bool isFlat = TRUE, + bool isFlat = true, // this is the default type of fired events int firedEventType = wxEVT_COMMAND_MENU_SELECTED, - int marginX = 2, - int marginY = 2, + int marginX = NB_DEFAULT_MARGIN, + int marginY = NB_DEFAULT_MARGIN, int textToLabelGap = 2, - bool isSticky = FALSE + bool isSticky = false ); // Use this constructor if buttons have to be persistant wxNewBitmapButton( const wxString& bitmapFileName, const wxBitmapType bitmapFileType = wxBITMAP_TYPE_BMP, - const wxString& labelText = "", + const wxString& labelText = wxT(""), int alignText = NB_ALIGN_TEXT_BOTTOM, - bool isFlat = TRUE, + bool isFlat = true, // this is the default type of fired events int firedEventType = wxEVT_COMMAND_MENU_SELECTED, - int marginX = 2, - int marginY = 2, + int marginX = NB_DEFAULT_MARGIN, + int marginY = NB_DEFAULT_MARGIN, int textToLabelGap = 2, - bool isSticky = FALSE + bool isSticky = false ); // Destructor. @@ -139,12 +148,17 @@ public: virtual void Reshape(); // Sets the label and optionally label text. - virtual void SetLabel(const wxBitmap& labelBitmap, const wxString& labelText = "" ); + virtual void SetLabel(const wxBitmap& labelBitmap, const wxString& labelText = wxT("") ); + + // Unhide method from parents. + + virtual void SetLabel(const wxString& label) + { wxPanel::SetLabel(label); }; // Sets the text alignment and margins. virtual void SetAlignments( int alignText = NB_ALIGN_TEXT_BOTTOM, - int marginX = 2, - int marginY = 2, + int marginX = NB_DEFAULT_MARGIN, + int marginY = NB_DEFAULT_MARGIN, int textToLabelGap = 2); // Draws the decorations. @@ -155,8 +169,8 @@ public: // Renders the label image. virtual void RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp, - bool isEnabled = TRUE, - bool isPressed = FALSE); + bool isEnabled = true, + bool isPressed = false); // Renders label images. virtual void RenderLabelImages(); @@ -167,15 +181,15 @@ public: // Enables/disables button virtual bool Enable(bool enable); + // Depress button + virtual bool Toggle(bool enable); + // Responds to a left mouse button down event. void OnLButtonDown( wxMouseEvent& event ); // Responds to a left mouse button up event. void OnLButtonUp( wxMouseEvent& event ); - // Responds to a left mouse button double click. - void OnLButtonDClick( wxMouseEvent& event ); - // Responds to mouse enter to window. void OnMouseEnter( wxMouseEvent& event );