]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/radiobox.h
adding a more extensive version to arrive at the impl when given a native control...
[wxWidgets.git] / include / wx / osx / radiobox.h
index 3378811c575764ca7477ebd5011b7b2d3a254e7c..82ae33f1278fa51655f45df801ad4556d11a3701 100644 (file)
@@ -1,5 +1,110 @@
-#ifdef __WXMAC_CLASSIC__
-#include "wx/osx/classic/radiobox.h"
-#else
-#include "wx/osx/carbon/radiobox.h"
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/osx/radiobox.h
+// Purpose:     wxRadioBox class
+// Author:      Stefan Csomor
+// Modified by:
+// Created:     1998-01-01
+// RCS-ID:      $Id$
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RADIOBOX_H_
+#define _WX_RADIOBOX_H_
+
+// List box item
+class WXDLLIMPEXP_FWD_CORE wxBitmap ;
+
+class WXDLLIMPEXP_FWD_CORE wxRadioButton ;
+
+class WXDLLIMPEXP_CORE wxRadioBox: public wxControl, public wxRadioBoxBase
+{
+    DECLARE_DYNAMIC_CLASS(wxRadioBox)
+public:
+// Constructors & destructor
+    wxRadioBox();
+    inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
+             const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+             int n = 0, const wxString choices[] = NULL,
+             int majorDim = 0, long style = wxRA_SPECIFY_COLS,
+             const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
+        {
+            Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
+        }
+    inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
+             const wxPoint& pos, const wxSize& size,
+             const wxArrayString& choices,
+             int majorDim = 0, long style = wxRA_SPECIFY_COLS,
+             const wxValidator& val = wxDefaultValidator,
+             const wxString& name = wxRadioBoxNameStr)
+     {
+         Create(parent, id, title, pos, size, choices,
+                majorDim, style, val, name);
+     }
+    virtual ~wxRadioBox();
+    bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
+             const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+             int n = 0, const wxString choices[] = NULL,
+             int majorDim = 0, long style = wxRA_SPECIFY_COLS,
+             const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
+    bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
+             const wxPoint& pos, const wxSize& size,
+             const wxArrayString& choices,
+             int majorDim = 0, long style = wxRA_SPECIFY_COLS,
+             const wxValidator& val = wxDefaultValidator,
+             const wxString& name = wxRadioBoxNameStr);
+
+    // Enabling
+    virtual bool Enable(bool enable = true);
+    virtual bool Enable(unsigned int item, bool enable = true);
+    virtual bool IsItemEnabled(unsigned int item) const;
+
+    // Showing
+    virtual bool Show(bool show = true);
+    virtual bool Show(unsigned int item, bool show = true);
+    virtual bool IsItemShown(unsigned int item) const;
+
+    // Specific functions (in wxWidgets2 reference)
+    virtual void SetSelection(int item);
+    virtual int GetSelection() const;
+
+    virtual unsigned int GetCount() const { return m_noItems; }
+
+    virtual wxString GetString(unsigned int item) const;
+    virtual void SetString(unsigned int item, const wxString& label);
+
+    virtual wxString GetLabel() const;
+    virtual void SetLabel(const wxString& label) ;
+
+    // protect native font of box
+    virtual bool SetFont( const wxFont &font );
+// Other external functions
+    void Command(wxCommandEvent& event);
+    void SetFocus();
+
+// Other variable access functions
+    inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
+    inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
+
+    void OnRadioButton( wxCommandEvent& event ) ;
+
+protected:
+    // resolve ambiguity in base classes
+    virtual wxBorder GetDefaultBorder() const { return wxRadioBoxBase::GetDefaultBorder(); }
+
+    wxRadioButton    *m_radioButtonCycle;
+
+    unsigned int      m_noItems;
+    int               m_noRowsOrCols;
+
+// Internal functions
+    virtual wxSize DoGetBestSize() const ;
+    virtual void DoSetSize(int x, int y,
+                           int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
+
+    DECLARE_EVENT_TABLE()
+};
+
 #endif
 #endif
+    // _WX_RADIOBOX_H_