]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/palmos/control.h
Updated version to 2.5.5
[wxWidgets.git] / include / wx / palmos / control.h
index c3dc2f6ffb44030b89bb5b0c27b872d07bef3a51..94931bcce238408a29eec5ea8c81214b99b4dd86 100644 (file)
@@ -22,7 +22,7 @@
 class WXDLLEXPORT wxControl : public wxControlBase
 {
 public:
-    wxControl() { }
+    wxControl() { Init(); }
 
     wxControl(wxWindow *parent, wxWindowID id,
               const wxPoint& pos = wxDefaultPosition,
@@ -30,6 +30,7 @@ public:
               const wxValidator& validator = wxDefaultValidator,
               const wxString& name = wxControlNameStr)
     {
+        Init();
         Create(parent, id, pos, size, style, validator, name);
     }
 
@@ -71,12 +72,11 @@ public:
 
     void OnEraseBackground(wxEraseEvent& event);
 
-    virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
-            WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
-
 protected:
     // regardless how deeply we are in wxWidgets hierarchy always get correct form
     FormType* GetParentForm() const;
+    FormType* GetObjectFormIndex(uint16_t& index) const;
+    void* GetObjectPtr() const;
 
     // choose the default border for this window
     virtual wxBorder GetDefaultBorder() const;
@@ -86,20 +86,39 @@ protected:
     bool GetBoolValue() const;
     void SetIntValue(int val);
 
+    // native labels access
+    void SetFieldLabel(const wxString& label);
+    void SetControlLabel(const wxString& label);
+    wxString GetFieldLabel();
+    wxString GetControlLabel();
+
     // return default best size (doesn't really make any sense, override this)
     virtual wxSize DoGetBestSize() const;
 
+    // getting and setting sizes
+    virtual void DoGetPosition( int *x, int *y ) const;
+    virtual void DoGetSize( int *width, int *height ) const;
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+
     // create the control of the given ControlStyleType: 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 PalmCreateControl(ControlStyleType style,
-                           wxWindow *parent,
-                           wxWindowID id,
                            const wxString& label,
                            const wxPoint& pos,
-                           const wxSize& size);
+                           const wxSize& size,
+                           uint8_t groupID = 0);
+    inline bool IsPalmControl() const { return m_palmControl; }
+
+    bool PalmCreateField(const wxString& label,
+                         const wxPoint& pos,
+                         const wxSize& size,
+                         bool editable,
+                         bool underlined,
+                         JustificationType justification);
+    inline bool IsPalmField() const { return m_palmField; }
 
     // this is a helper for the derived class GetClassDefaultAttributes()
     // implementation: it returns the right colours for the classes which
@@ -113,11 +132,7 @@ protected:
     // holds the ids (not HWNDs!) of the sub controls
     wxArrayLong m_subControls;
 
-    ControlType *m_control;
-
-private:
-
-    // Label stores label in case of wxButton, wxCheckBox, wxToggleButton etc.
+    // m_label stores label in case of wxButton, wxCheckBox, wxToggleButton etc.
     // We must ensure that it persists for as long as it is being displayed
     // (that is, for as long as the control is displayed or until we call
     // CtlSetLabel() with a new string), and we must free the string after
@@ -125,6 +140,17 @@ private:
     // control is freed).
     wxString m_label;
 
+private:
+
+    bool m_palmControl:1;
+    bool m_palmField:1;
+
+    // common part of all ctors
+    void Init();
+
+    virtual void DoGetBounds( RectangleType &rect ) const;
+    virtual void DoSetBounds( RectangleType &rect );
+
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxControl)
     DECLARE_EVENT_TABLE()
 };