]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/radiobox.h
fixed bug with the caret positioning after SetValue() introduced by the last commit
[wxWidgets.git] / include / wx / os2 / radiobox.h
index f483123cc43529e1c4e8d702c4e7b428c0cfa980..e664ccf7bf4da0a5d971170534fe70181d771809 100644 (file)
 #ifndef _WX_RADIOBOX_H_
 #define _WX_RADIOBOX_H_
 
-#include "wx/control.h"
-
 WXDLLEXPORT_DATA(extern const char*) wxRadioBoxNameStr;
 
 // List box item
 class WXDLLEXPORT wxBitmap ;
 
-class WXDLLEXPORT wxRadioBox: public wxControl
+class WXDLLEXPORT wxRadioBox: public wxControl, public wxRadioBoxBase
 {
   DECLARE_DYNAMIC_CLASS(wxRadioBox)
 public:
@@ -29,7 +27,9 @@ public:
              const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
              int n = 0, const wxString choices[] = NULL,
              int majorDim = 0, long style = wxRA_HORIZONTAL,
+#if wxUSE_VALIDATORS
              const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
+#endif
   {
     Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
   }
@@ -40,22 +40,29 @@ public:
              const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
              int n = 0, const wxString choices[] = NULL,
              int majorDim = 0, long style = wxRA_HORIZONTAL,
+#if wxUSE_VALIDATORS
              const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
+#endif
 
   virtual bool OS2Command(WXUINT param, WXWORD id);
+  virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
+                              WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
 
   int FindString(const wxString& s) const;
   void SetSelection(int N);
   int GetSelection() const;
+  virtual int GetCount() const;
   wxString GetString(int N) const;
+  virtual void SetString(int n, const wxString& label);
+  virtual int GetColumnCount() const;
+  virtual int GetRowCount() const;
 
   void GetSize(int *x, int *y) const;
   void GetPosition(int *x, int *y) const;
 
-  void SetLabel(const wxString& label);
-  void SetLabel(int item, const wxString& label) ;
+  void SetLabel(int item, const wxString& label);
+  void SetLabel(int item, wxBitmap *bitmap);
   wxString GetLabel(int item) const;
-  wxString GetLabel() const;
   bool Show(bool show);
   void SetFocus();
   bool Enable(bool enable);
@@ -72,6 +79,24 @@ public:
   inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
   inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
 
+  // implementation only from now on
+  // -------------------------------
+
+  WXHWND *GetRadioButtons() const { return m_radioButtons; }
+  bool ContainsHWND(WXHWND hWnd) const;
+  void SendNotificationEvent();
+
+  // get the number of buttons per column/row
+  int GetNumVer() const;
+  int GetNumHor() const;
+
+#if WXWIN_COMPATIBILITY
+  wxRadioBox(wxWindow *parent, wxFunction func, const char *title,
+             int x = -1, int y = -1, int width = -1, int height = -1,
+             int n = 0, char **choices = NULL,
+             int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr);
+#endif // WXWIN_COMPATIBILITY
+
 protected:
   void SubclassRadioButton(WXHWND hWndBtn);
 
@@ -87,6 +112,11 @@ protected:
   virtual void DoSetSize(int x, int y,
                          int width, int height,
                          int sizeFlags = wxSIZE_AUTO);
+private:
+  virtual void SetLabel(const wxString& label)
+  { wxWindowBase::SetLabel(label); }
+  wxString GetLabel() const
+  { return(wxWindowBase::GetLabel()); }
 };
 
 #endif