]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/button.h
Fixed typo.
[wxWidgets.git] / include / wx / osx / button.h
index 6c599dfaaa37c84c5c5fe50e3a5e10c238fb6738..1d0353ef87a3d5712f493dfd0468d83c05d0d758 100644 (file)
@@ -9,16 +9,14 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_BUTTON_H_
-#define _WX_BUTTON_H_
+#ifndef _WX_OSX_BUTTON_H_
+#define _WX_OSX_BUTTON_H_
 
 #include "wx/control.h"
 #include "wx/gdicmn.h"
 
-WXDLLIMPEXP_DATA_CORE(extern const char) wxButtonNameStr[];
-
 // Pushbutton
-class WXDLLIMPEXP_CORE wxButton: public wxButtonBase
+class WXDLLIMPEXP_CORE wxButton : public wxButtonBase
 {
 public:
     wxButton() {}
@@ -45,20 +43,51 @@ public:
 
     static wxSize GetDefaultSize();
 
+    virtual void SetLabel(const wxString& label);
     virtual wxWindow *SetDefault();
     virtual void Command(wxCommandEvent& event);
 
     // osx specific event handling common for all osx-ports
-    
+
     virtual bool        OSXHandleClicked( double timestampsec );
 
 protected:
     virtual wxSize DoGetBestSize() const ;
 
+    void OnEnterWindow( wxMouseEvent& event);
+    void OnLeaveWindow( wxMouseEvent& event);
+
+    virtual wxBitmap DoGetBitmap(State which) const;
+    virtual void DoSetBitmap(const wxBitmap& bitmap, State which);
+    virtual void DoSetBitmapPosition(wxDirection dir);
+
+    virtual void DoSetBitmapMargins(int x, int y)
+    {
+        m_marginX = x;
+        m_marginY = y;
+        InvalidateBestSize();
+    }
+
+#if wxUSE_MARKUP && wxOSX_USE_COCOA
+    virtual bool DoSetLabelMarkup(const wxString& markup);
+#endif // wxUSE_MARKUP && wxOSX_USE_COCOA
+
+
+    // the margins around the bitmap
+    int m_marginX;
+    int m_marginY;
+
+    // the bitmaps for the different state of the buttons, all of them may be
+    // invalid and the button only shows a bitmap at all if State_Normal bitmap
+    // is valid
+    wxBitmap m_bitmaps[State_Max];
+
     DECLARE_DYNAMIC_CLASS(wxButton)
+    DECLARE_EVENT_TABLE()
 };
 
-class WXDLLIMPEXP_CORE wxDisclosureTriangle: public wxControl
+// OS X specific class, not part of public wx API
+class WXDLLIMPEXP_CORE wxDisclosureTriangle : public wxControl
 {
 public:
     wxDisclosureTriangle(wxWindow *parent,
@@ -66,7 +95,7 @@ public:
              const wxString& label = wxEmptyString,
              const wxPoint& pos = wxDefaultPosition,
              const wxSize& size = wxDefaultSize,
-             long style = 0,
+             long style = wxBORDER_NONE,
              const wxValidator& validator = wxDefaultValidator,
              const wxString& name = wxButtonNameStr)
     {
@@ -78,7 +107,7 @@ public:
                 const wxString& label = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = 0,
+                long style = wxBORDER_NONE,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxButtonNameStr);
 
@@ -86,13 +115,11 @@ public:
     bool IsOpen() const;
 
     // osx specific event handling common for all osx-ports
-    
+
     virtual bool        OSXHandleClicked( double timestampsec );
 
 protected:
     virtual wxSize DoGetBestSize() const ;
-    
 };
 
-#endif
-    // _WX_BUTTON_H_
+#endif // _WX_OSX_BUTTON_H_