#define wxTB_3DBUTTONS 0x8000
#define wxTB_HORIZONTAL 0x0002
#define wxTB_VERTICAL 0x0004
-// Flatbar/Coolbar under Win98
+// Flatbar/Coolbar under Win98/ GTK 1.2
#define wxTB_FLAT 0x0008
-// use native docking
+// use native docking under GTK
#define wxTB_DOCKABLE 0x0010
/*
panel = new wxPanel(m_notebook);
(void)new wxStaticBox( panel, -1, "wxGauge and wxSlider", wxPoint(10,10), wxSize(180,130) );
m_gauge = new wxGauge( panel, -1, 200, wxPoint(18,50), wxSize(155, 30) );
- m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,-1) );
+ m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,-1), wxSL_LABELS );
(void)new wxStaticBox( panel, -1, "Explanation", wxPoint(200,10), wxSize(290,130) );
#ifdef __WXMOTIF__
// No wrapping text in wxStaticText yet :-(
m_dragMode = wxSPLIT_DRAG_NONE;
ReleaseMouse();
+#ifdef __WXGTK__
+ SetCursor(* wxSTANDARD_CURSOR);
+#endif
// Erase old tracker
DrawSashTracker(m_oldX, m_oldY);
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
if (style & wxSL_LABELS)
+ {
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE );
+
+ /* labels need more space and too small window will
+ cause junk to appear on the dialog */
+ if (style & wxSL_VERTICAL)
+ {
+ wxSize sz( size );
+ if (sz.x < 35)
+ {
+ sz.x = 35;
+ SetSize( sz );
+ }
+ }
+ else
+ {
+ wxSize sz( size );
+ if (sz.y < 35)
+ {
+ sz.y = 35;
+ SetSize( sz );
+ }
+ }
+ }
else
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
m_widget = gtk_handle_box_new();
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
gtk_widget_show( GTK_WIDGET(m_toolbar) );
+
+ if (style & wxTB_FLAT)
+ gtk_handle_box_set_shadow_type( GTK_HANDLE_BOX(m_widget), GTK_SHADOW_NONE );
}
else
{
}
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
+
+#if (GTK_MINOR_VERSION > 0)
+ if (style & wxTB_FLAT)
+ gtk_toolbar_set_button_relief( GTK_TOOLBAR(m_toolbar), GTK_RELIEF_NONE );
+#endif
m_fg = new GdkColor;
m_fg->red = 0;
wxCHECK_RET( m_text != NULL, _T("invalid text ctrl") );
wxControl::SetBackgroundColour( colour );
+
+ if (!m_widget->window) return;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg.Red() == colour.Red() &&
if (m_windowStyle & wxTE_MULTILINE)
{
GdkWindow *window = GTK_TEXT(m_text)->text_area;
+ if (!window) return;
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
if (style & wxSL_LABELS)
+ {
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE );
+
+ /* labels need more space and too small window will
+ cause junk to appear on the dialog */
+ if (style & wxSL_VERTICAL)
+ {
+ wxSize sz( size );
+ if (sz.x < 35)
+ {
+ sz.x = 35;
+ SetSize( sz );
+ }
+ }
+ else
+ {
+ wxSize sz( size );
+ if (sz.y < 35)
+ {
+ sz.y = 35;
+ SetSize( sz );
+ }
+ }
+ }
else
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
m_widget = gtk_handle_box_new();
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
gtk_widget_show( GTK_WIDGET(m_toolbar) );
+
+ if (style & wxTB_FLAT)
+ gtk_handle_box_set_shadow_type( GTK_HANDLE_BOX(m_widget), GTK_SHADOW_NONE );
}
else
{
}
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
+
+#if (GTK_MINOR_VERSION > 0)
+ if (style & wxTB_FLAT)
+ gtk_toolbar_set_button_relief( GTK_TOOLBAR(m_toolbar), GTK_RELIEF_NONE );
+#endif
m_fg = new GdkColor;
m_fg->red = 0;
wxCHECK_RET( m_text != NULL, _T("invalid text ctrl") );
wxControl::SetBackgroundColour( colour );
+
+ if (!m_widget->window) return;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg.Red() == colour.Red() &&
if (m_windowStyle & wxTE_MULTILINE)
{
GdkWindow *window = GTK_TEXT(m_text)->text_area;
+ if (!window) return;
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );