]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/fl/newbmpbtn.h
wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
[wxWidgets.git] / contrib / include / wx / fl / newbmpbtn.h
index 9992849bf0fac07c6590f335acabef3c7beb7103..29c8cc91278d6a4c76125da1dfc6a9525313daab 100644 (file)
 #ifndef __NEWBMPBTN_G__
 #define __NEWBMPBTN_G__
 
-#ifdef __GNUG__
-    #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 +28,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
@@ -62,7 +59,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;
@@ -73,6 +70,7 @@ protected:
     bool      mDragStarted;
     bool      mIsPressed;
     bool      mIsInFocus;
+    bool      mIsToggled;
 
     bool      mHasFocusedBmp;
 
@@ -102,36 +100,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        = 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        = NB_DEFAULT_MARGIN,
                            int marginY        = NB_DEFAULT_MARGIN,
                            int textToLabelGap = 2,
-                           bool isSticky      = FALSE
+                           bool isSticky      = false
                              );
 
         // Destructor.
@@ -142,7 +144,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,
@@ -158,8 +165,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();
@@ -170,6 +177,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 +204,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()
 };