]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/radiobox.h
added wxEncodingToCodepage() and implemented it properly (using in32 API instead...
[wxWidgets.git] / include / wx / os2 / radiobox.h
index 7150b569f5e98f135c239e023a0dbfaa5206c20d..e664ccf7bf4da0a5d971170534fe70181d771809 100644 (file)
@@ -1,29 +1,23 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        radiobox.h
 // Purpose:     wxRadioBox class
-// Author:      AUTHOR
+// Author:      David Webster
 // Modified by:
-// Created:     ??/??/98
+// Created:     10/12/99
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) David Webster
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_RADIOBOX_H_
 #define _WX_RADIOBOX_H_
 
-#ifdef __GNUG__
-#pragma interface "radiobox.h"
-#endif
-
-#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:
@@ -33,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);
   }
@@ -44,18 +40,28 @@ 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;
-  void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+  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;
-  wxString GetLabel() 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;
   bool Show(bool show);
   void SetFocus();
@@ -73,15 +79,44 @@ 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:
-/* TODO: implementation
+  void SubclassRadioButton(WXHWND hWndBtn);
+
   WXHWND *          m_radioButtons;
-*/
   int               m_majorDim ;
+  int *             m_radioWidth;  // for bitmaps
+  int *             m_radioHeight;
+
   int               m_noItems;
   int               m_noRowsOrCols;
   int               m_selectedButton;
 
+  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