Fillid in many more missing functions (such as Enable())

There are still things to fix when compiling sockets ..


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-09-06 20:27:21 +00:00
parent 13439807d3
commit d3904ceb9a
20 changed files with 258 additions and 82 deletions

View File

@@ -60,6 +60,7 @@ class wxCheckBox: public wxControl
void SetValue( bool state );
bool GetValue(void) const;
void SetFont( const wxFont &font );
void Enable( bool enable );
};
#endif // __GTKCHECKBOXH__

View File

@@ -36,16 +36,13 @@ class wxControl: public wxWindow
DECLARE_DYNAMIC_CLASS(wxControl)
public:
// construction
wxControl();
wxControl( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr );
// overridables
virtual void Command( wxCommandEvent &event );
// accessors
// this function will filter out '&' characters and will put the accelerator
// char (the one immediately after '&') into m_chAccel (@@ not yet)
virtual void SetLabel( const wxString &label );
@@ -53,8 +50,7 @@ public:
protected:
wxString m_label;
// when we implement keyboard interface we will make use of this, but not yet
//char m_chAccel;
char m_chAccel; // enabled to avoid breaking binary compatibility later on
};
#endif // __GTKCONTROLH__

View File

@@ -65,7 +65,6 @@ class wxRadioBox: public wxControl
void SetSelection( int n );
int GetSelection(void) const;
wxString GetString( int n ) const;
wxString GetLabel(void) const;
void SetLabel( const wxString& label );
void SetLabel( int item, const wxString& label );
void SetLabel( int item, wxBitmap *bitmap );
@@ -79,8 +78,8 @@ class wxRadioBox: public wxControl
virtual int Number(void) const;
int GetNumberOfRowsOrCols(void) const;
void SetNumberOfRowsOrCols( int n );
void SetFont( const wxFont &font );
void SetFont( const wxFont &font );
void OnSize( wxSizeEvent &event );
// implementation

View File

@@ -62,6 +62,7 @@ class wxRadioButton: public wxControl
virtual void SetValue(bool val);
virtual bool GetValue(void) const;
void SetFont( const wxFont &font );
void Enable( bool enable );
};
#endif // __GTKRADIOBUTTONH__

View File

@@ -50,6 +50,7 @@ class wxStaticBox: public wxControl
bool Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxStaticBoxNameStr );
void SetLabel( const wxString &label );
};
#endif // __GTKSTATICBOXH__

View File

@@ -60,6 +60,7 @@ class wxCheckBox: public wxControl
void SetValue( bool state );
bool GetValue(void) const;
void SetFont( const wxFont &font );
void Enable( bool enable );
};
#endif // __GTKCHECKBOXH__

View File

@@ -36,16 +36,13 @@ class wxControl: public wxWindow
DECLARE_DYNAMIC_CLASS(wxControl)
public:
// construction
wxControl();
wxControl( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr );
// overridables
virtual void Command( wxCommandEvent &event );
// accessors
// this function will filter out '&' characters and will put the accelerator
// char (the one immediately after '&') into m_chAccel (@@ not yet)
virtual void SetLabel( const wxString &label );
@@ -53,8 +50,7 @@ public:
protected:
wxString m_label;
// when we implement keyboard interface we will make use of this, but not yet
//char m_chAccel;
char m_chAccel; // enabled to avoid breaking binary compatibility later on
};
#endif // __GTKCONTROLH__

View File

@@ -65,7 +65,6 @@ class wxRadioBox: public wxControl
void SetSelection( int n );
int GetSelection(void) const;
wxString GetString( int n ) const;
wxString GetLabel(void) const;
void SetLabel( const wxString& label );
void SetLabel( int item, const wxString& label );
void SetLabel( int item, wxBitmap *bitmap );
@@ -79,8 +78,8 @@ class wxRadioBox: public wxControl
virtual int Number(void) const;
int GetNumberOfRowsOrCols(void) const;
void SetNumberOfRowsOrCols( int n );
void SetFont( const wxFont &font );
void SetFont( const wxFont &font );
void OnSize( wxSizeEvent &event );
// implementation

View File

@@ -62,6 +62,7 @@ class wxRadioButton: public wxControl
virtual void SetValue(bool val);
virtual bool GetValue(void) const;
void SetFont( const wxFont &font );
void Enable( bool enable );
};
#endif // __GTKRADIOBUTTONH__

View File

@@ -50,6 +50,7 @@ class wxStaticBox: public wxControl
bool Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxStaticBoxNameStr );
void SetLabel( const wxString &label );
};
#endif // __GTKSTATICBOXH__

View File

@@ -103,7 +103,7 @@ const int MINIMAL_ABOUT = 102;
bool MyApp::OnInit(void)
{
// Create the main frame window
MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "Controls wxWindows App", 50, 50, 500, 420 );
MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "Controls wxWindows App", 50, 50, 530, 420 );
// Give it an icon
#ifdef __WXMSW__
@@ -140,6 +140,7 @@ const ID_LISTBOX_CLEAR = 133;
const ID_LISTBOX_APPEND = 134;
const ID_LISTBOX_DELETE = 135;
const ID_LISTBOX_FONT = 136;
const ID_LISTBOX_ENABLE = 137;
const ID_CHOICE = 120;
const ID_CHOICE_SEL_NUM = 121;
@@ -148,6 +149,7 @@ const ID_CHOICE_CLEAR = 123;
const ID_CHOICE_APPEND = 124;
const ID_CHOICE_DELETE = 125;
const ID_CHOICE_FONT = 126;
const ID_CHOICE_ENABLE = 127;
const ID_COMBO = 140;
const ID_COMBO_SEL_NUM = 141;
@@ -156,6 +158,7 @@ const ID_COMBO_CLEAR = 143;
const ID_COMBO_APPEND = 144;
const ID_COMBO_DELETE = 145;
const ID_COMBO_FONT = 146;
const ID_COMBO_ENABLE = 147;
const ID_TEXT = 150;
@@ -163,6 +166,7 @@ const ID_RADIOBOX = 160;
const ID_RADIOBOX_SEL_NUM = 161;
const ID_RADIOBOX_SEL_STR = 162;
const ID_RADIOBOX_FONT = 163;
const ID_RADIOBOX_ENABLE = 164;
const ID_SET_FONT = 170;
@@ -175,6 +179,7 @@ BEGIN_EVENT_TABLE(MyPanel, wxPanel)
EVT_BUTTON (ID_LISTBOX_APPEND, MyPanel::OnListBoxButtons)
EVT_BUTTON (ID_LISTBOX_DELETE, MyPanel::OnListBoxButtons)
EVT_BUTTON (ID_LISTBOX_FONT, MyPanel::OnListBoxButtons)
EVT_CHECKBOX (ID_LISTBOX_ENABLE, MyPanel::OnListBoxButtons)
EVT_CHOICE (ID_CHOICE, MyPanel::OnChoice)
EVT_BUTTON (ID_CHOICE_SEL_NUM, MyPanel::OnChoiceButtons)
EVT_BUTTON (ID_CHOICE_SEL_STR, MyPanel::OnChoiceButtons)
@@ -182,6 +187,7 @@ BEGIN_EVENT_TABLE(MyPanel, wxPanel)
EVT_BUTTON (ID_CHOICE_APPEND, MyPanel::OnChoiceButtons)
EVT_BUTTON (ID_CHOICE_DELETE, MyPanel::OnChoiceButtons)
EVT_BUTTON (ID_CHOICE_FONT, MyPanel::OnChoiceButtons)
EVT_CHECKBOX (ID_CHOICE_ENABLE, MyPanel::OnChoiceButtons)
EVT_CHOICE (ID_COMBO, MyPanel::OnCombo)
EVT_BUTTON (ID_COMBO_SEL_NUM, MyPanel::OnComboButtons)
EVT_BUTTON (ID_COMBO_SEL_STR, MyPanel::OnComboButtons)
@@ -189,10 +195,12 @@ BEGIN_EVENT_TABLE(MyPanel, wxPanel)
EVT_BUTTON (ID_COMBO_APPEND, MyPanel::OnComboButtons)
EVT_BUTTON (ID_COMBO_DELETE, MyPanel::OnComboButtons)
EVT_BUTTON (ID_COMBO_FONT, MyPanel::OnComboButtons)
EVT_CHECKBOX (ID_COMBO_ENABLE, MyPanel::OnComboButtons)
EVT_RADIOBOX (ID_RADIOBOX, MyPanel::OnRadio)
EVT_BUTTON (ID_RADIOBOX_SEL_NUM, MyPanel::OnRadioButtons)
EVT_BUTTON (ID_RADIOBOX_SEL_STR, MyPanel::OnRadioButtons)
EVT_BUTTON (ID_RADIOBOX_FONT, MyPanel::OnRadioButtons)
EVT_CHECKBOX (ID_RADIOBOX_ENABLE, MyPanel::OnRadioButtons)
EVT_BUTTON (ID_SET_FONT, MyPanel::OnSetFont)
END_EVENT_TABLE()
@@ -241,32 +249,35 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
wxPanel *panel = new wxPanel(m_notebook);
m_listbox = new wxListBox( panel, ID_LISTBOX, wxPoint(10,10), wxSize(120,70), 4, choices );
(void)new wxButton( panel, ID_LISTBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
(void)new wxButton( panel, ID_LISTBOX_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
(void)new wxButton( panel, ID_LISTBOX_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
(void)new wxButton( panel, ID_LISTBOX_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
(void)new wxButton( panel, ID_LISTBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_SEL_STR, "Select 'This'", wxPoint(340,30), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_CLEAR, "Clear", wxPoint(180,80), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_APPEND, "Append 'Hi!'", wxPoint(340,80), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_DELETE, "Delete selected item", wxPoint(180,130), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_FONT, "Set Italic font", wxPoint(180,180), wxSize(140,30) );
(void)new wxButton( panel, ID_LISTBOX_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_LISTBOX_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
m_notebook->AddPage(panel, "wxList", FALSE, Image_List);
panel = new wxPanel(m_notebook);
m_choice = new wxChoice( panel, ID_CHOICE, wxPoint(10,10), wxSize(120,-1), 4, choices );
(void)new wxButton( panel, ID_CHOICE_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
(void)new wxButton( panel, ID_CHOICE_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
(void)new wxButton( panel, ID_CHOICE_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
(void)new wxButton( panel, ID_CHOICE_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
(void)new wxButton( panel, ID_CHOICE_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_SEL_STR, "Select 'This'", wxPoint(340,30), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_CLEAR, "Clear", wxPoint(180,80), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_APPEND, "Append 'Hi!'", wxPoint(340,80), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_DELETE, "Delete selected item", wxPoint(180,130), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_FONT, "Set Italic font", wxPoint(180,180), wxSize(140,30) );
(void)new wxButton( panel, ID_CHOICE_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_CHOICE_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
m_notebook->AddPage(panel, "wxChoice", FALSE, Image_Choice);
panel = new wxPanel(m_notebook);
m_combo = new wxComboBox( panel, ID_COMBO, "This", wxPoint(10,10), wxSize(170,-1), 4, choices );
(void)new wxButton( panel, ID_COMBO_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
(void)new wxButton( panel, ID_COMBO_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
(void)new wxButton( panel, ID_COMBO_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
(void)new wxButton( panel, ID_COMBO_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
(void)new wxButton( panel, ID_COMBO_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_SEL_STR, "Select 'This'", wxPoint(340,30), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_CLEAR, "Clear", wxPoint(180,80), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_APPEND, "Append 'Hi!'", wxPoint(340,80), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_DELETE, "Delete selected item", wxPoint(180,130), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_FONT, "Set Italic font", wxPoint(180,180), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_COMBO_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
m_notebook->AddPage(panel, "wxComboBox", FALSE, Image_Combo);
wxTextCtrl *text = new wxTextCtrl( m_notebook, ID_TEXT, "Write text here.", wxPoint(10,10), wxSize(120,100), wxTE_MULTILINE );
@@ -274,10 +285,11 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
panel = new wxPanel(m_notebook);
m_radio = new wxRadioBox( panel, ID_RADIOBOX, "This", wxPoint(10,10), wxSize(-1,-1), 4, choices );
(void)new wxButton( panel, ID_RADIOBOX_SEL_NUM, "Select #2", wxPoint(200,30), wxSize(100,30) );
(void)new wxButton( panel, ID_RADIOBOX_SEL_STR, "Select 'This'", wxPoint(200,80), wxSize(100,30) );
(void)new wxButton( panel, ID_RADIOBOX_FONT, "Set Italic font", wxPoint(200,130), wxSize(160,30) );
m_fontButton = new wxButton( panel, ID_SET_FONT, "Set more Italic font", wxPoint(200,180), wxSize(160,30) );
(void)new wxButton( panel, ID_RADIOBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
(void)new wxButton( panel, ID_RADIOBOX_SEL_STR, "Select 'This'", wxPoint(180,80), wxSize(140,30) );
(void)new wxButton( panel, ID_RADIOBOX_FONT, "Set Italic font", wxPoint(180,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_RADIOBOX_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
m_fontButton = new wxButton( panel, ID_SET_FONT, "Set more Italic font", wxPoint(340,30), wxSize(160,30) );
m_notebook->AddPage(panel, "wxRadioBox", FALSE, Image_Radio);
}
@@ -302,6 +314,11 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event )
{
switch (event.GetId())
{
case ID_LISTBOX_ENABLE:
{
m_listbox->Enable( !((bool)event.GetInt()) );
break;
}
case ID_LISTBOX_SEL_NUM:
{
m_listbox->SetSelection( 2 );
@@ -347,6 +364,11 @@ void MyPanel::OnChoiceButtons( wxCommandEvent &event )
{
switch (event.GetId())
{
case ID_CHOICE_ENABLE:
{
m_choice->Enable( !((bool)event.GetInt()) );
break;
}
case ID_CHOICE_SEL_NUM:
{
m_choice->SetSelection( 2 );
@@ -392,6 +414,11 @@ void MyPanel::OnComboButtons( wxCommandEvent &event )
{
switch (event.GetId())
{
case ID_COMBO_ENABLE:
{
m_combo->Enable( !((bool)event.GetInt()) );
break;
}
case ID_COMBO_SEL_NUM:
{
m_combo->SetSelection( 2 );
@@ -437,6 +464,11 @@ void MyPanel::OnRadioButtons( wxCommandEvent &event )
{
switch (event.GetId())
{
case ID_RADIOBOX_ENABLE:
{
m_radio->Enable( !((bool)event.GetInt()) );
break;
}
case ID_RADIOBOX_SEL_NUM:
{
m_radio->SetSelection( 2 );

View File

@@ -55,14 +55,8 @@ LIB_CPP_SRC=\
common/validate.cpp \
common/valtext.cpp \
common/wxexpr.cpp \
common/tokenzr.cpp \
common/socket.cpp \
common/sckaddr.cpp \
common/protocol.cpp \
common/url.cpp \
common/http.cpp \
common/ftp.cpp \
common/sckfile.cpp \
common/sckipc.cpp \
\
gtk/accel.cpp \

View File

@@ -89,6 +89,14 @@ bool wxCheckBox::GetValue(void) const
return tb->active;
}
void wxCheckBox::Enable( bool enable )
{
wxControl::Enable( enable );
GtkButton *bin = GTK_BUTTON( m_widget );
GtkWidget *label = bin->child;
gtk_widget_set_sensitive( label, enable );
}
void wxCheckBox::SetFont( const wxFont &font )
{
if (((wxFont*)&font)->Ok())

View File

@@ -177,7 +177,12 @@ void wxRadioBox::SetSelection( int n )
{
GSList *item = gtk_radio_button_group( m_radio );
item = g_slist_nth( item, g_slist_length(item)-n-1 );
if (!item) return;
if (!item)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkToggleButton *button = GTK_TOGGLE_BUTTON( item->data );
@@ -205,28 +210,46 @@ wxString wxRadioBox::GetString( int n ) const
GSList *item = gtk_radio_button_group( m_radio );
item = g_slist_nth( item, g_slist_length(item)-n-1 );
if (!item) return "";
GtkToggleButton *button = GTK_TOGGLE_BUTTON( item->data );
if (!item)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return "";
}
GtkLabel *label = GTK_LABEL( GTK_BUTTON(button)->child );
GtkButton *button = GTK_BUTTON( item->data );
GtkLabel *label = GTK_LABEL( button->child );
return wxString( label->label );
}
wxString wxRadioBox::GetLabel(void) const
wxString wxRadioBox::GetLabel( int item ) const
{
return wxControl::GetLabel();
return GetString( item );
}
void wxRadioBox::SetLabel( const wxString& WXUNUSED(label) )
void wxRadioBox::SetLabel( const wxString& label )
{
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
wxControl::SetLabel( label );
GtkFrame *frame = GTK_FRAME( m_widget );
gtk_frame_set_label( frame, wxControl::GetLabel() );
}
void wxRadioBox::SetLabel( int WXUNUSED(item), const wxString& WXUNUSED(label) )
void wxRadioBox::SetLabel( int item, const wxString& label )
{
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkButton *button = GTK_BUTTON( list->data );
GtkLabel *g_label = GTK_LABEL( button->child );
gtk_label_set( g_label, label );
}
void wxRadioBox::SetLabel( int WXUNUSED(item), wxBitmap *WXUNUSED(bitmap) )
@@ -234,25 +257,56 @@ void wxRadioBox::SetLabel( int WXUNUSED(item), wxBitmap *WXUNUSED(bitmap) )
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
}
wxString wxRadioBox::GetLabel( int WXUNUSED(item) ) const
void wxRadioBox::Enable( bool enable )
{
wxFAIL_MSG("wxRadioBox::GetLabel not implemented.");
return "";
wxControl::Enable( enable );
GSList *item = gtk_radio_button_group( m_radio );
while (item)
{
GtkButton *button = GTK_BUTTON( item->data );
GtkWidget *label = button->child;
gtk_widget_set_sensitive( GTK_WIDGET(button), enable );
gtk_widget_set_sensitive( label, enable );
item = item->next;
}
}
void wxRadioBox::Enable( bool WXUNUSED(enable) )
void wxRadioBox::Enable( int item, bool enable )
{
wxFAIL_MSG("wxRadioBox::Enable not implemented.");
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkButton *button = GTK_BUTTON( list->data );
GtkWidget *label = button->child;
gtk_widget_set_sensitive( GTK_WIDGET(button), enable );
gtk_widget_set_sensitive( label, enable );
}
void wxRadioBox::Enable( int WXUNUSED(item), bool WXUNUSED(enable) )
void wxRadioBox::Show( int item, bool show )
{
wxFAIL_MSG("wxRadioBox::Enable not implemented.");
}
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
void wxRadioBox::Show( int WXUNUSED(item), bool WXUNUSED(show) )
{
wxFAIL_MSG("wxRadioBox::Show not implemented.");
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkWidget *button = GTK_WIDGET( list->data );
if (show)
gtk_widget_show( button );
else
gtk_widget_hide( button );
}
wxString wxRadioBox::GetStringSelection(void) const

View File

@@ -86,6 +86,14 @@ bool wxRadioButton::GetValue(void) const
return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxRadioButton::Enable( bool enable )
{
wxControl::Enable( enable );
GtkButton *bin = GTK_BUTTON( m_widget );
GtkWidget *label = bin->child;
gtk_widget_set_sensitive( label, enable );
}
void wxRadioButton::SetFont( const wxFont &font )
{
if (((wxFont*)&font)->Ok())

View File

@@ -48,3 +48,10 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
return TRUE;
}
void wxStaticBox::SetLabel( const wxString &label )
{
wxControl::SetLabel( label );
GtkFrame *frame = GTK_FRAME( m_widget );
gtk_frame_set_label( frame, GetLabel() );
}

View File

@@ -89,6 +89,14 @@ bool wxCheckBox::GetValue(void) const
return tb->active;
}
void wxCheckBox::Enable( bool enable )
{
wxControl::Enable( enable );
GtkButton *bin = GTK_BUTTON( m_widget );
GtkWidget *label = bin->child;
gtk_widget_set_sensitive( label, enable );
}
void wxCheckBox::SetFont( const wxFont &font )
{
if (((wxFont*)&font)->Ok())

View File

@@ -177,7 +177,12 @@ void wxRadioBox::SetSelection( int n )
{
GSList *item = gtk_radio_button_group( m_radio );
item = g_slist_nth( item, g_slist_length(item)-n-1 );
if (!item) return;
if (!item)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkToggleButton *button = GTK_TOGGLE_BUTTON( item->data );
@@ -205,28 +210,46 @@ wxString wxRadioBox::GetString( int n ) const
GSList *item = gtk_radio_button_group( m_radio );
item = g_slist_nth( item, g_slist_length(item)-n-1 );
if (!item) return "";
GtkToggleButton *button = GTK_TOGGLE_BUTTON( item->data );
if (!item)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return "";
}
GtkLabel *label = GTK_LABEL( GTK_BUTTON(button)->child );
GtkButton *button = GTK_BUTTON( item->data );
GtkLabel *label = GTK_LABEL( button->child );
return wxString( label->label );
}
wxString wxRadioBox::GetLabel(void) const
wxString wxRadioBox::GetLabel( int item ) const
{
return wxControl::GetLabel();
return GetString( item );
}
void wxRadioBox::SetLabel( const wxString& WXUNUSED(label) )
void wxRadioBox::SetLabel( const wxString& label )
{
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
wxControl::SetLabel( label );
GtkFrame *frame = GTK_FRAME( m_widget );
gtk_frame_set_label( frame, wxControl::GetLabel() );
}
void wxRadioBox::SetLabel( int WXUNUSED(item), const wxString& WXUNUSED(label) )
void wxRadioBox::SetLabel( int item, const wxString& label )
{
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkButton *button = GTK_BUTTON( list->data );
GtkLabel *g_label = GTK_LABEL( button->child );
gtk_label_set( g_label, label );
}
void wxRadioBox::SetLabel( int WXUNUSED(item), wxBitmap *WXUNUSED(bitmap) )
@@ -234,25 +257,56 @@ void wxRadioBox::SetLabel( int WXUNUSED(item), wxBitmap *WXUNUSED(bitmap) )
wxFAIL_MSG("wxRadioBox::SetLabel not implemented.");
}
wxString wxRadioBox::GetLabel( int WXUNUSED(item) ) const
void wxRadioBox::Enable( bool enable )
{
wxFAIL_MSG("wxRadioBox::GetLabel not implemented.");
return "";
wxControl::Enable( enable );
GSList *item = gtk_radio_button_group( m_radio );
while (item)
{
GtkButton *button = GTK_BUTTON( item->data );
GtkWidget *label = button->child;
gtk_widget_set_sensitive( GTK_WIDGET(button), enable );
gtk_widget_set_sensitive( label, enable );
item = item->next;
}
}
void wxRadioBox::Enable( bool WXUNUSED(enable) )
void wxRadioBox::Enable( int item, bool enable )
{
wxFAIL_MSG("wxRadioBox::Enable not implemented.");
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkButton *button = GTK_BUTTON( list->data );
GtkWidget *label = button->child;
gtk_widget_set_sensitive( GTK_WIDGET(button), enable );
gtk_widget_set_sensitive( label, enable );
}
void wxRadioBox::Enable( int WXUNUSED(item), bool WXUNUSED(enable) )
void wxRadioBox::Show( int item, bool show )
{
wxFAIL_MSG("wxRadioBox::Enable not implemented.");
}
GSList *list = gtk_radio_button_group( m_radio );
list = g_slist_nth( list, g_slist_length(list)-item-1 );
void wxRadioBox::Show( int WXUNUSED(item), bool WXUNUSED(show) )
{
wxFAIL_MSG("wxRadioBox::Show not implemented.");
if (!list)
{
wxFAIL_MSG( "wxRadioBox wrong index" );
return;
}
GtkWidget *button = GTK_WIDGET( list->data );
if (show)
gtk_widget_show( button );
else
gtk_widget_hide( button );
}
wxString wxRadioBox::GetStringSelection(void) const

View File

@@ -86,6 +86,14 @@ bool wxRadioButton::GetValue(void) const
return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxRadioButton::Enable( bool enable )
{
wxControl::Enable( enable );
GtkButton *bin = GTK_BUTTON( m_widget );
GtkWidget *label = bin->child;
gtk_widget_set_sensitive( label, enable );
}
void wxRadioButton::SetFont( const wxFont &font )
{
if (((wxFont*)&font)->Ok())

View File

@@ -48,3 +48,10 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
return TRUE;
}
void wxStaticBox::SetLabel( const wxString &label )
{
wxControl::SetLabel( label );
GtkFrame *frame = GTK_FRAME( m_widget );
gtk_frame_set_label( frame, GetLabel() );
}