]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/control.h
added state image support (patch 530155)
[wxWidgets.git] / include / wx / msw / control.h
index e5e7f5c918ca0f6a7509761136c24775f12ca816..8c2310844d542356fd7883f2a4fbb9257409277e 100644 (file)
@@ -21,8 +21,6 @@
 // General item class
 class WXDLLEXPORT wxControl : public wxControlBase
 {
-    DECLARE_ABSTRACT_CLASS(wxControl)
-
 public:
    wxControl();
    wxControl(wxWindow *parent, wxWindowID id,
@@ -71,33 +69,27 @@ public:
     virtual void SetButtonColour(const wxColour& WXUNUSED(col)) { }
     wxColour* GetButtonColour() const { return NULL; }
 
-    inline virtual void SetLabelFont(const wxFont& font);
-    inline virtual void SetButtonFont(const wxFont& font);
-    inline wxFont& GetLabelFont() const;
-    inline wxFont& GetButtonFont() const;
-
-    // Adds callback
-    inline void Callback(const wxFunction function);
-
-    wxFunction GetCallback() { return m_callback; }
-
-protected:
-    wxFunction       m_callback;     // Callback associated with the window
+    virtual void SetLabelFont(const wxFont& font);
+    virtual void SetButtonFont(const wxFont& font);
+    wxFont& GetLabelFont() const;
+    wxFont& GetButtonFont() const;
 #endif // WXWIN_COMPATIBILITY
 
 protected:
-    // for controls like radiobuttons which are really composite this array
-    // holds the ids (not HWNDs!) of the sub controls
-    wxArrayLong m_subControls;
+    // choose the default border for this window
+    virtual wxBorder GetDefaultBorder() const;
 
     virtual wxSize DoGetBestSize() const;
 
-    // create the control of the given Window class
+    // create the control of the given Windows class: this is typically called
+    // from Create() method of the derived class passing its label, pos and
+    // size parameter (style parameter is not needed because m_windowStyle is
+    // supposed to had been already set and so is used instead when this
+    // function is called)
     bool MSWCreateControl(const wxChar *classname,
                           const wxString& label,
                           const wxPoint& pos,
-                          const wxSize& size,
-                          long style);
+                          const wxSize& size);
 
     // NB: the method below is deprecated now, with MSWGetStyle() the method
     //     above should be used instead! Once all the controls are updated to
@@ -122,13 +114,17 @@ protected:
     // default style for the control include WS_TABSTOP if it AcceptsFocus()
     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
 
+    // for controls like radiobuttons which are really composite this array
+    // holds the ids (not HWNDs!) of the sub controls
+    wxArrayLong m_subControls;
+
 private:
+    DECLARE_ABSTRACT_CLASS(wxControl)
     DECLARE_EVENT_TABLE()
 };
 
 
 #if WXWIN_COMPATIBILITY
-    inline void wxControl::Callback(const wxFunction f) { m_callback = f; };
     inline wxFont& wxControl::GetLabelFont() const { return (wxFont &)GetFont(); }
     inline wxFont& wxControl::GetButtonFont() const { return (wxFont &)GetFont(); }
     inline void wxControl::SetLabelFont(const wxFont& font) { SetFont(font); }