]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/fl/newbmpbtn.h
compilation fix for non-debug build
[wxWidgets.git] / contrib / include / wx / fl / newbmpbtn.h
index 455b54aad5c15dc2ec30a3b92641be20747d2876..09041cb157c14d1768279152cd8705a1f73424ed 100644 (file)
 #ifndef __NEWBMPBTN_G__
 #define __NEWBMPBTN_G__
 
 #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"
     #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
 
 
 // button label-text alignment types
 
@@ -28,8 +32,8 @@
 
 // classes declared in this header file
 
 
 // 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
 
 /*
 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 -
                             // 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;
 
     wxBitmap* mpDepressedImg;
     wxBitmap* mpPressedImg;
@@ -70,6 +74,7 @@ protected:
     bool      mDragStarted;
     bool      mIsPressed;
     bool      mIsInFocus;
     bool      mDragStarted;
     bool      mIsPressed;
     bool      mIsInFocus;
+    bool      mIsToggled;
 
     bool      mHasFocusedBmp;
 
 
     bool      mHasFocusedBmp;
 
@@ -99,36 +104,40 @@ protected:
                             wxPen& upperLeftSidePen,
                             wxPen& lowerRightSidePen );
 
                             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 );
 
     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,
 public:
 
         // Constructor.
     wxNewBitmapButton( const wxBitmap& labelBitmap = wxNullBitmap,
-                       const wxString& labelText   = "",
+                       const wxString& labelText   = wxT(""),
                        int   alignText             = NB_ALIGN_TEXT_BOTTOM,
                        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,
                        // 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,
                        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,
                      );
 
         // 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,
                            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,
                            // 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,
                            int textToLabelGap = 2,
-                           bool isSticky      = FALSE
+                           bool isSticky      = false
                              );
 
         // Destructor.
                              );
 
         // Destructor.
@@ -139,12 +148,17 @@ public:
     virtual void Reshape();
 
         // Sets the label and optionally label text.
     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,
 
         // 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.
                                 int textToLabelGap = 2);
 
         // Draws the decorations.
@@ -155,8 +169,8 @@ public:
 
         // Renders the label image.
     virtual void RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp, 
 
         // 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();
 
         // Renders label images.
     virtual void RenderLabelImages();
@@ -167,15 +181,15 @@ public:
         // Enables/disables button
     virtual bool Enable(bool enable);
 
         // 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 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 );
 
         // Responds to mouse enter to window.
     void OnMouseEnter( wxMouseEvent& event );