]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/control.h
Add RunScript and implement on all backends. Document and add a very simple unit...
[wxWidgets.git] / include / wx / os2 / control.h
index d7cfb69f0fa49fedf775fdceeab1d3cb439d0e09..0fc4ceeba5bb70f030183291e0c5e308182ae198 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        control.h
+// Name:        wx/os2/control.h
 // Purpose:     wxControl class
 // Author:      David Webster
 // Modified by:
 
 #include "wx/dynarray.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxControlNameStr;
-
 // General item class
-class WXDLLEXPORT wxControl : public wxControlBase
+class WXDLLIMPEXP_CORE wxControl : public wxControlBase
 {
     DECLARE_ABSTRACT_CLASS(wxControl)
 
@@ -28,34 +26,25 @@ public:
              ,const wxPoint&     rPos = wxDefaultPosition
              ,const wxSize&      rSize = wxDefaultSize
              ,long               lStyle = 0
-#if wxUSE_VALIDATORS
              ,const wxValidator& rValidator = wxDefaultValidator
-#endif
              ,const wxString&    rsName = wxControlNameStr
             )
     {
-        Create( pParent
-               ,vId
-               ,rPos
-               ,rSize
-               ,lStyle
-               ,rValidator
-               ,rsName
-              );
+        Create( pParent, vId, rPos, rSize, lStyle, rValidator, rsName );
     }
-    virtual ~wxControl();
 
     bool Create( wxWindow*          pParent
                 ,wxWindowID         vId
                 ,const wxPoint&     rPos = wxDefaultPosition
                 ,const wxSize&      rSize = wxDefaultSize
                 ,long               lStyle = 0
-#if wxUSE_VALIDATORS
                 ,const wxValidator& rValidator = wxDefaultValidator
-#endif
                 ,const wxString&    rsName = wxControlNameStr
                );
 
+    virtual void SetLabel(const wxString& rsLabel);
+    virtual wxString GetLabel() const { return m_label; }
+
     //
     // Simulates an event
     //
@@ -74,8 +63,8 @@ public:
     //
     // For ownerdraw items
     //
-    virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; };
-    virtual bool OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; };
+    virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return false; };
+    virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return 0L; };
 
     wxArrayLong&     GetSubcontrols() { return m_aSubControls; }
     void             OnEraseBackground(wxEraseEvent& rEvent);
@@ -87,26 +76,7 @@ public:
                                 ,WXLPARAM lParam
                                );
 
-#if WXWIN_COMPATIBILITY
-    virtual void SetButtonColour(const wxColour& WXUNUSED(rCol)) { }
-    wxColour*    GetButtonColour(void) const { return NULL; }
-
-    inline virtual void SetLabelFont(const wxFont& rFont);
-    inline virtual void SetButtonFont(const wxFont& rFont);
-    inline wxFont&      GetLabelFont(void) const;
-    inline wxFont&      GetButtonFont(void) const;
-
-    //
-    // Adds callback
-    //
-    inline void Callback(const wxFunction function);
-    wxFunction  GetCallback(void) { return m_callback; }
-
-protected:
-    wxFunction                      m_callback;     // Callback associated with the window
-#endif // WXWIN_COMPATIBILITY
-
-protected:
+public:
     //
     // For controls like radiobuttons which are really composite
     //
@@ -115,7 +85,16 @@ protected:
     virtual wxSize DoGetBestSize(void) const;
 
     //
-    // Create the control of the given class with the given style, returns FALSE
+    // Create the control of the given PM class
+    //
+    bool OS2CreateControl( const wxChar*   zClassname
+                          ,const wxString& rsLabel
+                          ,const wxPoint&  rPos
+                          ,const wxSize&   rSize
+                          ,long            lStyle
+                         );
+    //
+    // Create the control of the given class with the given style, returns false
     // if creation failed.
     //
     bool OS2CreateControl( const wxChar*   zClassname
@@ -127,22 +106,25 @@ protected:
                          );
 
     //
-    // Determine the extended styles combination for this window (may slightly
-    // modify styl parameter)
+    // Default style for the control include WS_TABSTOP if it AcceptsFocus()
     //
-    WXDWORD GetExStyle(WXDWORD& rStyle) const;
+    virtual WXDWORD OS2GetStyle( long     lStyle
+                                ,WXDWORD* pdwExstyle
+                               ) const;
+
+    inline int  GetXComp(void) const {return m_nXComp;}
+    inline int  GetYComp(void) const {return m_nYComp;}
+    inline void SetXComp(const int nXComp) {m_nXComp = nXComp;}
+    inline void SetYComp(const int nYComp) {m_nYComp = nYComp;}
 
 private:
-   DECLARE_EVENT_TABLE()
-}; // end of wxControl
+    int m_nXComp;
+    int m_nYComp;
 
-#if WXWIN_COMPATIBILITY
-    inline void wxControl::Callback(const wxFunction f) { m_callback = f; };
-    inline wxFont& wxControl::GetLabelFont(void) const { return GetFont(); }
-    inline wxFont& wxControl::GetButtonFont(void) const { return GetFont(); }
-    inline void wxControl::SetLabelFont(const wxFont& rFont) { SetFont(rFont); }
-    inline void wxControl::SetButtonFont(const wxFont& rFont) { SetFont(rFont); }
-#endif // WXWIN_COMPATIBILITY
+    wxString m_label;
+    WXDWORD  m_dwStyle;
 
-#endif // _WX_CONTROL_H_
+    DECLARE_EVENT_TABLE()
+}; // end of wxControl
 
+#endif // _WX_CONTROL_H_