X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba88951339bb5ae38d11394b25041b7e019b6883..75ce4cb180dfbe5f6ee1ad6927929b43d04edcd1:/include/wx/palmos/control.h diff --git a/include/wx/palmos/control.h b/include/wx/palmos/control.h index c3dc2f6ffb..fe88a5974e 100644 --- a/include/wx/palmos/control.h +++ b/include/wx/palmos/control.h @@ -12,17 +12,13 @@ #ifndef _WX_CONTROL_H_ #define _WX_CONTROL_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "control.h" -#endif - #include "wx/dynarray.h" // General item class class WXDLLEXPORT wxControl : public wxControlBase { public: - wxControl() { } + wxControl() { Init(); } wxControl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, @@ -30,6 +26,7 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxControlNameStr) { + Init(); Create(parent, id, pos, size, style, validator, name); } @@ -71,12 +68,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; + WXFORMPTR GetParentForm() const; + WXFORMPTR GetObjectFormIndex(uint16_t& index) const; + void* GetObjectPtr() const; // choose the default border for this window virtual wxBorder GetDefaultBorder() const; @@ -86,20 +82,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, + bool PalmCreateControl(int palmStyle, 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, + int 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 +128,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 +136,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( WXRECTANGLEPTR rect ) const; + virtual void DoSetBounds( WXRECTANGLEPTR rect ); + DECLARE_DYNAMIC_CLASS_NO_COPY(wxControl) DECLARE_EVENT_TABLE() };