]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/bmpbuttn.h
Don't infinitely recurse when setting the child focus. Without
[wxWidgets.git] / include / wx / motif / bmpbuttn.h
index 68a92fb88651d48ef1a57453516a0e8e5c97bac4..af3237a0dfad6cfb9456fc73aa287df510930d32 100644 (file)
 #ifndef _WX_BMPBUTTN_H_
 #define _WX_BMPBUTTN_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "bmpbuttn.h"
 #endif
 
-#include "wx/button.h"
-
-WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
+#include "wx/motif/bmpmotif.h"
 
 #define wxDEFAULT_BUTTON_MARGIN 4
 
-class WXDLLEXPORT wxBitmapButton: public wxButton
+class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase
 {
     DECLARE_DYNAMIC_CLASS(wxBitmapButton)
 public:
     wxBitmapButton();
     ~wxBitmapButton();
-    inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
+    wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
         const wxValidator& validator = wxDefaultValidator,
@@ -54,38 +52,24 @@ public:
     
     virtual void SetBitmapLabel(const wxBitmap& bitmap);
     
-    inline wxBitmap& GetBitmapLabel() const { return (wxBitmap&) m_buttonBitmap; }
-    inline wxBitmap& GetBitmapSelected() const { return (wxBitmap&) m_buttonBitmapSelected; }
-    inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; }
-    inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; }
-    
     void SetBitmapSelected(const wxBitmap& sel);
     void SetBitmapFocus(const wxBitmap& focus);
     void SetBitmapDisabled(const wxBitmap& disabled);
     
-    inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
-    inline int GetMarginX() { return m_marginX; }
-    inline int GetMarginY() { return m_marginY; }
-    
     // Implementation
     void DoSetBitmap();
     virtual void ChangeBackgroundColour();
+    virtual wxSize DoGetBestSize() const;
     
 protected:
-    wxBitmap m_buttonBitmapFocus;
-    wxBitmap m_buttonBitmap;
-    wxBitmap m_buttonBitmapOriginal; // May be different from m_buttonBitmap
+    wxBitmap m_bmpNormalOriginal; // May be different from m_buttonBitmap
     // if m_buttonBitmap has been changed
     // to reflect button background colour
-    wxBitmap m_buttonBitmapSelected;
-    wxBitmap m_buttonBitmapSelectedOriginal;
-    
-    wxBitmap m_buttonBitmapDisabled;
-    wxBitmap m_buttonBitmapDisabledOriginal;
-    
-    int      m_marginX;
-    int      m_marginY;
-    
+    wxBitmap m_bmpSelectedOriginal;   
+    wxBitmap m_bmpDisabledOriginal;
+
+    wxBitmapCache m_bitmapCache;
+
     WXPixmap m_insensPixmap;
 };