From 11f4a34413ae1495a9ca2c812b00da86d90eee25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?W=C5=82odzimierz=20Skiba?= Date: Tue, 22 Feb 2005 07:22:11 +0000 Subject: [PATCH] More wxAPI for radiobox of PalmOS. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/palmos/control.h | 16 +++++++------- include/wx/palmos/radiobox.h | 13 +++++++++-- src/palmos/radiobox.cpp | 43 +++++++++++++++++++++++++++++------- 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/include/wx/palmos/control.h b/include/wx/palmos/control.h index 18bd43e88b..94931bcce2 100644 --- a/include/wx/palmos/control.h +++ b/include/wx/palmos/control.h @@ -132,6 +132,14 @@ protected: // holds the ids (not HWNDs!) of the sub controls wxArrayLong m_subControls; + // 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 + // it is no longer in use (typically after the form containing the + // control is freed). + wxString m_label; + private: bool m_palmControl:1; @@ -143,14 +151,6 @@ private: virtual void DoGetBounds( RectangleType &rect ) const; virtual void DoSetBounds( RectangleType &rect ); - // 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 - // it is no longer in use (typically after the form containing the - // control is freed). - wxString m_label; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxControl) DECLARE_EVENT_TABLE() }; diff --git a/include/wx/palmos/radiobox.h b/include/wx/palmos/radiobox.h index 5ca125b1e7..c69f7a951f 100644 --- a/include/wx/palmos/radiobox.h +++ b/include/wx/palmos/radiobox.h @@ -95,8 +95,16 @@ public: virtual int GetCount() const; virtual wxString GetString(int n) const; virtual void SetString(int n, const wxString& label); + + virtual bool Enable(bool enable = true); virtual bool Enable(int n, bool enable = true); + + virtual bool Show(bool show = true); virtual void Show(int n, bool show = true); + + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel(); + virtual int GetColumnCount() const; virtual int GetRowCount() const; @@ -106,12 +114,13 @@ public: virtual wxPoint GetClientAreaOrigin() const; - virtual bool Show(bool show = true); void SetFocus(); - virtual bool Enable(bool enable = true); void SetLabelFont(const wxFont& WXUNUSED(font)) {}; void SetButtonFont(const wxFont& font) { SetFont(font); } + virtual void Refresh( bool eraseBackground = true, + const wxRect *rect = NULL ); + void Command(wxCommandEvent& event); int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; } diff --git a/src/palmos/radiobox.cpp b/src/palmos/radiobox.cpp index 80ec1b6103..1031b08ccb 100644 --- a/src/palmos/radiobox.cpp +++ b/src/palmos/radiobox.cpp @@ -177,6 +177,8 @@ bool wxRadioBox::Create(wxWindow *parent, if(m_pos.y==wxDefaultCoord) m_pos.y=0; + m_label = title; + if(!wxControl::Create(parent, id, m_pos, m_size, style, val, name)) return false; @@ -273,7 +275,9 @@ void wxRadioBox::DoMoveWindow(int x, int y, int width, int height) end.y = (use_cols ? ((j+1)*m_size.y)/minor : ((k+1)*m_size.y)/m_majorDim); wxRadioButton* rb = GetRadioButton(i); if(rb) - rb->SetSize(end.x-start.x-1,end.y-start.y-1); + { + rb->SetSize(start.x,start.y,end.x-start.x-1,end.y-start.y-1); + } i++; } } @@ -331,9 +335,12 @@ void wxRadioBox::SetFocus() { } -bool wxRadioBox::Show(bool show) +// Enable all subcontrols +bool wxRadioBox::Enable(bool enable) { - return false; + for(int i=0; iGetPosition()); + area.SetSize(rect->GetSize()); + } + + GetParent()->Refresh( eraseBack , &area ); +} + void wxRadioBox::Command(wxCommandEvent & event) { }