wxSpinButton *m_spinbutton;
wxTextCtrl *m_spintext;
wxTextCtrl *m_multitext;
+ wxCheckBox *m_checkbox;
wxTextCtrl *m_text;
wxNotebook *m_notebook;
(void)new wxButton( panel, ID_LISTBOX_DELETE, "Delete selected item", wxPoint(180,130), wxSize(140,30) );
button = new wxButton( panel, ID_LISTBOX_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) );
// button->SetForegroundColour( "red" );
- (void)new wxCheckBox( panel, ID_LISTBOX_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
+ m_checkbox = 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);
case ID_LISTBOX_FONT:
{
m_listbox->SetFont( *wxITALIC_FONT );
+ m_checkbox->SetFont( *wxITALIC_FONT );
break;
}
}
void wxCheckBox::SetValue( bool state )
{
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
- if (state)
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_ACTIVE );
- else
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_NORMAL );
m_blockFirstEvent = TRUE;
+
+ gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), state );
}
bool wxCheckBox::GetValue() const
{
wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), val );
-
m_blockFirstEvent = TRUE;
+
+ gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), val );
}
bool wxRadioButton::GetValue(void) const
#include "wx/textctrl.h"
#include "wx/utils.h"
-#include <wx/intl.h>
+#include "wx/intl.h"
+#include "wx/settings.h"
#include <sys/types.h>
#include <sys/stat.h>
GtkWidget* wxTextCtrl::GetConnectWidget()
{
- return GTK_WIDGET(m_text);
+ return GTK_WIDGET(m_text);
}
bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window )
{
- if (m_windowStyle & wxTE_MULTILINE)
- return (window == GTK_TEXT(m_text)->text_area);
- else
- return (window == GTK_ENTRY(m_text)->text_area);
+ if (m_windowStyle & wxTE_MULTILINE)
+ return (window == GTK_TEXT(m_text)->text_area);
+ else
+ return (window == GTK_ENTRY(m_text)->text_area);
}
void wxTextCtrl::SetFont( const wxFont &WXUNUSED(font) )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- // doesn't work
+ // doesn't work
}
void wxTextCtrl::SetForegroundColour( const wxColour &WXUNUSED(colour) )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- // doesn't work
+ // doesn't work
}
void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- wxControl::SetBackgroundColour( colour );
+ wxControl::SetBackgroundColour( colour );
- if (!m_backgroundColour.Ok()) return;
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ return;
+ }
+
+ if (!m_backgroundColour.Ok()) return;
- if (m_windowStyle & wxTE_MULTILINE)
- {
- GdkWindow *window = GTK_TEXT(m_text)->text_area;
- m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
- gdk_window_set_background( window, m_backgroundColour.GetColor() );
- gdk_window_clear( window );
- }
+ if (m_windowStyle & wxTE_MULTILINE)
+ {
+ GdkWindow *window = GTK_TEXT(m_text)->text_area;
+ m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
+ gdk_window_set_background( window, m_backgroundColour.GetColor() );
+ gdk_window_clear( window );
+ }
}
void wxTextCtrl::ApplyWidgetStyle()
{
- if (m_windowStyle & wxTE_MULTILINE)
- {
- }
- else
- {
- SetWidgetStyle();
- gtk_widget_set_style( m_text, m_widgetStyle );
- }
+ if (m_windowStyle & wxTE_MULTILINE)
+ {
+ }
+ else
+ {
+ SetWidgetStyle();
+ gtk_widget_set_style( m_text, m_widgetStyle );
+ }
}
if (m_backgroundColour == colour) return;
- wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if (sysbg.Red() == colour.Red() &&
- sysbg.Green() == colour.Green() &&
- sysbg.Blue() == colour.Blue())
- {
- return;
- }
-
m_backgroundColour = colour;
if (!m_backgroundColour.Ok()) return;
gdk_window_clear( window );
}
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
wxColour wxWindow::GetForegroundColour() const
m_foregroundColour = colour;
if (!m_foregroundColour.Ok()) return;
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
GtkStyle *wxWindow::GetWidgetStyle()
else
m_font = *wxSWISS_FONT;
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == m_backgroundColour.Red() &&
+ sysbg.Green() == m_backgroundColour.Green() &&
+ sysbg.Blue() == m_backgroundColour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
void wxWindow::SetWindowStyleFlag( long flag )
void wxCheckBox::SetValue( bool state )
{
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
- if (state)
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_ACTIVE );
- else
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_NORMAL );
m_blockFirstEvent = TRUE;
+
+ gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), state );
}
bool wxCheckBox::GetValue() const
{
wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), val );
-
m_blockFirstEvent = TRUE;
+
+ gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), val );
}
bool wxRadioButton::GetValue(void) const
#include "wx/textctrl.h"
#include "wx/utils.h"
-#include <wx/intl.h>
+#include "wx/intl.h"
+#include "wx/settings.h"
#include <sys/types.h>
#include <sys/stat.h>
GtkWidget* wxTextCtrl::GetConnectWidget()
{
- return GTK_WIDGET(m_text);
+ return GTK_WIDGET(m_text);
}
bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window )
{
- if (m_windowStyle & wxTE_MULTILINE)
- return (window == GTK_TEXT(m_text)->text_area);
- else
- return (window == GTK_ENTRY(m_text)->text_area);
+ if (m_windowStyle & wxTE_MULTILINE)
+ return (window == GTK_TEXT(m_text)->text_area);
+ else
+ return (window == GTK_ENTRY(m_text)->text_area);
}
void wxTextCtrl::SetFont( const wxFont &WXUNUSED(font) )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- // doesn't work
+ // doesn't work
}
void wxTextCtrl::SetForegroundColour( const wxColour &WXUNUSED(colour) )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- // doesn't work
+ // doesn't work
}
void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
{
- wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
+ wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
- wxControl::SetBackgroundColour( colour );
+ wxControl::SetBackgroundColour( colour );
- if (!m_backgroundColour.Ok()) return;
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ return;
+ }
+
+ if (!m_backgroundColour.Ok()) return;
- if (m_windowStyle & wxTE_MULTILINE)
- {
- GdkWindow *window = GTK_TEXT(m_text)->text_area;
- m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
- gdk_window_set_background( window, m_backgroundColour.GetColor() );
- gdk_window_clear( window );
- }
+ if (m_windowStyle & wxTE_MULTILINE)
+ {
+ GdkWindow *window = GTK_TEXT(m_text)->text_area;
+ m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
+ gdk_window_set_background( window, m_backgroundColour.GetColor() );
+ gdk_window_clear( window );
+ }
}
void wxTextCtrl::ApplyWidgetStyle()
{
- if (m_windowStyle & wxTE_MULTILINE)
- {
- }
- else
- {
- SetWidgetStyle();
- gtk_widget_set_style( m_text, m_widgetStyle );
- }
+ if (m_windowStyle & wxTE_MULTILINE)
+ {
+ }
+ else
+ {
+ SetWidgetStyle();
+ gtk_widget_set_style( m_text, m_widgetStyle );
+ }
}
if (m_backgroundColour == colour) return;
- wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if (sysbg.Red() == colour.Red() &&
- sysbg.Green() == colour.Green() &&
- sysbg.Blue() == colour.Blue())
- {
- return;
- }
-
m_backgroundColour = colour;
if (!m_backgroundColour.Ok()) return;
gdk_window_clear( window );
}
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
wxColour wxWindow::GetForegroundColour() const
m_foregroundColour = colour;
if (!m_foregroundColour.Ok()) return;
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == colour.Red() &&
+ sysbg.Green() == colour.Green() &&
+ sysbg.Blue() == colour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
GtkStyle *wxWindow::GetWidgetStyle()
else
m_font = *wxSWISS_FONT;
- ApplyWidgetStyle();
+ wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
+ if (sysbg.Red() == m_backgroundColour.Red() &&
+ sysbg.Green() == m_backgroundColour.Green() &&
+ sysbg.Blue() == m_backgroundColour.Blue())
+ {
+ m_backgroundColour = wxNullColour;
+ ApplyWidgetStyle();
+ m_backgroundColour = sysbg;
+ }
+ else
+ {
+ ApplyWidgetStyle();
+ }
}
void wxWindow::SetWindowStyleFlag( long flag )