1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/gtk1/radiobox.h 3// Purpose: 4// Author: Robert Roebling 5// Id: $Id: radiobox.h 38319 2006-03-23 22:05:23Z VZ $ 6// Copyright: (c) 1998 Robert Roebling 7// Licence: wxWindows licence 8///////////////////////////////////////////////////////////////////////////// 9 10#ifndef _WX_GTK_RADIOBOX_H_ 11#define _WX_GTK_RADIOBOX_H_ 12 13#include "wx/bitmap.h" 14 15//----------------------------------------------------------------------------- 16// wxRadioBox 17//----------------------------------------------------------------------------- 18 19class WXDLLIMPEXP_CORE wxRadioBox : public wxControl, 20 public wxRadioBoxBase 21{ 22public: 23 // ctors and dtor 24 wxRadioBox() { Init(); } 25 wxRadioBox(wxWindow *parent, 26 wxWindowID id, 27 const wxString& title, 28 const wxPoint& pos = wxDefaultPosition, 29 const wxSize& size = wxDefaultSize, 30 int n = 0, 31 const wxString choices[] = (const wxString *) NULL, 32 int majorDim = 1, 33 long style = wxRA_HORIZONTAL, 34 const wxValidator& val = wxDefaultValidator, 35 const wxString& name = wxRadioBoxNameStr) 36 { 37 Init(); 38 39 Create( parent, id, title, pos, size, n, choices, majorDim, style, val, name ); 40 } 41 42 wxRadioBox(wxWindow *parent, 43 wxWindowID id, 44 const wxString& title, 45 const wxPoint& pos, 46 const wxSize& size, 47 const wxArrayString& choices, 48 int majorDim = 1, 49 long style = wxRA_HORIZONTAL, 50 const wxValidator& val = wxDefaultValidator, 51 const wxString& name = wxRadioBoxNameStr) 52 { 53 Init(); 54 55 Create( parent, id, title, pos, size, choices, majorDim, style, val, name ); 56 } 57 58 bool Create(wxWindow *parent, 59 wxWindowID id, 60 const wxString& title, 61 const wxPoint& pos = wxDefaultPosition, 62 const wxSize& size = wxDefaultSize, 63 int n = 0, 64 const wxString choices[] = (const wxString *) NULL, 65 int majorDim = 0, 66 long style = wxRA_HORIZONTAL, 67 const wxValidator& val = wxDefaultValidator, 68 const wxString& name = wxRadioBoxNameStr); 69 bool Create(wxWindow *parent, 70 wxWindowID id, 71 const wxString& title, 72 const wxPoint& pos, 73 const wxSize& size, 74 const wxArrayString& choices, 75 int majorDim = 0, 76 long style = wxRA_HORIZONTAL, 77 const wxValidator& val = wxDefaultValidator, 78 const wxString& name = wxRadioBoxNameStr); 79 80 virtual ~wxRadioBox(); 81 82 83 // implement wxItemContainerImmutable methods 84 virtual unsigned int GetCount() const; 85 86 virtual wxString GetString(unsigned int n) const; 87 virtual void SetString(unsigned int n, const wxString& s); 88 89 virtual void SetSelection(int n); 90 virtual int GetSelection() const; 91 92 93 // implement wxRadioBoxBase methods 94 virtual bool Show(unsigned int n, bool show = true); 95 virtual bool Enable(unsigned int n, bool enable = true); 96 97 virtual bool IsItemEnabled(unsigned int n) const; 98 virtual bool IsItemShown(unsigned int n) const; 99 100 101 // override some base class methods to operate on radiobox itself too 102 virtual bool Show( bool show = true ); 103 virtual bool Enable( bool enable = true ); 104 105 virtual void SetLabel( const wxString& label ); 106 107 static wxVisualAttributes 108 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); 109 110 // implementation 111 // -------------- 112 113 void SetFocus(); 114 void GtkDisableEvents(); 115 void GtkEnableEvents(); 116 bool IsOwnGtkWindow( GdkWindow *window ); 117 void DoApplyWidgetStyle(GtkRcStyle *style); 118#if wxUSE_TOOLTIPS 119 void ApplyToolTip( GtkTooltips *tips, const wxChar *tip ); 120#endif // wxUSE_TOOLTIPS 121 122 virtual void OnInternalIdle(); 123 124 bool m_hasFocus, 125 m_lostFocus; 126 wxList m_boxes; 127 128protected: 129 // common part of all ctors 130 void Init(); 131 132private: 133 DECLARE_DYNAMIC_CLASS(wxRadioBox) 134}; 135 136#endif // _WX_GTK_RADIOBOX_H_ 137