]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/fl/newbmpbtn.h
added wxDC::DrawPolyPolygon() (patch 882189)
[wxWidgets.git] / contrib / include / wx / fl / newbmpbtn.h
index 9992849bf0fac07c6590f335acabef3c7beb7103..5f974d0ee99512bc3ba78dcb486a1f7db948f2fa 100644 (file)
 #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
@@ -31,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
@@ -73,6 +74,7 @@ protected:
     bool      mDragStarted;
     bool      mIsPressed;
     bool      mIsInFocus;
+    bool      mIsToggled;
 
     bool      mHasFocusedBmp;
 
@@ -105,11 +107,15 @@ protected:
         // 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,
                        // this is the default type of fired events
@@ -123,7 +129,7 @@ public:
         // 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,
                            // this is the default type of fired events
@@ -142,7 +148,12 @@ 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,
@@ -170,6 +181,9 @@ 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 );
 
@@ -194,11 +208,6 @@ public:
         // Responds to a kill focus event.
     void OnKillFocus( wxFocusEvent& event );
 
-        // Maps bitmap to current system colours on Windows
-#ifdef __WXMSW__
-    WXHBITMAP MapBitmap(WXHBITMAP bitmap, int width, int height);
-#endif
-
     DECLARE_EVENT_TABLE()
 };