Implemented flat toolbars
corrected mouse cursor over splitter window corrected segvs when setting bg colour in text ctrl sliders enlarge when they have labels to avoid pixel junk git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -420,9 +420,9 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
#define wxTB_3DBUTTONS 0x8000
|
#define wxTB_3DBUTTONS 0x8000
|
||||||
#define wxTB_HORIZONTAL 0x0002
|
#define wxTB_HORIZONTAL 0x0002
|
||||||
#define wxTB_VERTICAL 0x0004
|
#define wxTB_VERTICAL 0x0004
|
||||||
// Flatbar/Coolbar under Win98
|
// Flatbar/Coolbar under Win98/ GTK 1.2
|
||||||
#define wxTB_FLAT 0x0008
|
#define wxTB_FLAT 0x0008
|
||||||
// use native docking
|
// use native docking under GTK
|
||||||
#define wxTB_DOCKABLE 0x0010
|
#define wxTB_DOCKABLE 0x0010
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -549,7 +549,7 @@ m_text(NULL), m_notebook(NULL)
|
|||||||
panel = new wxPanel(m_notebook);
|
panel = new wxPanel(m_notebook);
|
||||||
(void)new wxStaticBox( panel, -1, "wxGauge and wxSlider", wxPoint(10,10), wxSize(180,130) );
|
(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_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) );
|
(void)new wxStaticBox( panel, -1, "Explanation", wxPoint(200,10), wxSize(290,130) );
|
||||||
#ifdef __WXMOTIF__
|
#ifdef __WXMOTIF__
|
||||||
// No wrapping text in wxStaticText yet :-(
|
// No wrapping text in wxStaticText yet :-(
|
||||||
|
@@ -173,6 +173,9 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
|
|||||||
m_dragMode = wxSPLIT_DRAG_NONE;
|
m_dragMode = wxSPLIT_DRAG_NONE;
|
||||||
ReleaseMouse();
|
ReleaseMouse();
|
||||||
|
|
||||||
|
#ifdef __WXGTK__
|
||||||
|
SetCursor(* wxSTANDARD_CURSOR);
|
||||||
|
#endif
|
||||||
// Erase old tracker
|
// Erase old tracker
|
||||||
DrawSashTracker(m_oldX, m_oldY);
|
DrawSashTracker(m_oldX, m_oldY);
|
||||||
|
|
||||||
|
@@ -107,7 +107,30 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
|
|||||||
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
|
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
|
||||||
|
|
||||||
if (style & wxSL_LABELS)
|
if (style & wxSL_LABELS)
|
||||||
|
{
|
||||||
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE );
|
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
|
else
|
||||||
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
|
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
|
||||||
|
|
||||||
|
@@ -162,6 +162,9 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
|||||||
m_widget = gtk_handle_box_new();
|
m_widget = gtk_handle_box_new();
|
||||||
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
|
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
|
||||||
gtk_widget_show( 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
|
else
|
||||||
{
|
{
|
||||||
@@ -170,6 +173,11 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
|
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 = new GdkColor;
|
||||||
m_fg->red = 0;
|
m_fg->red = 0;
|
||||||
m_fg->green = 0;
|
m_fg->green = 0;
|
||||||
|
@@ -961,6 +961,8 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
|||||||
|
|
||||||
wxControl::SetBackgroundColour( colour );
|
wxControl::SetBackgroundColour( colour );
|
||||||
|
|
||||||
|
if (!m_widget->window) return;
|
||||||
|
|
||||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||||
if (sysbg.Red() == colour.Red() &&
|
if (sysbg.Red() == colour.Red() &&
|
||||||
sysbg.Green() == colour.Green() &&
|
sysbg.Green() == colour.Green() &&
|
||||||
@@ -974,6 +976,7 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
|||||||
if (m_windowStyle & wxTE_MULTILINE)
|
if (m_windowStyle & wxTE_MULTILINE)
|
||||||
{
|
{
|
||||||
GdkWindow *window = GTK_TEXT(m_text)->text_area;
|
GdkWindow *window = GTK_TEXT(m_text)->text_area;
|
||||||
|
if (!window) return;
|
||||||
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
|
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
|
||||||
gdk_window_set_background( window, m_backgroundColour.GetColor() );
|
gdk_window_set_background( window, m_backgroundColour.GetColor() );
|
||||||
gdk_window_clear( window );
|
gdk_window_clear( window );
|
||||||
|
@@ -107,7 +107,30 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
|
|||||||
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
|
m_widget = gtk_hscale_new( (GtkAdjustment *) NULL );
|
||||||
|
|
||||||
if (style & wxSL_LABELS)
|
if (style & wxSL_LABELS)
|
||||||
|
{
|
||||||
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE );
|
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
|
else
|
||||||
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
|
gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
|
||||||
|
|
||||||
|
@@ -162,6 +162,9 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
|||||||
m_widget = gtk_handle_box_new();
|
m_widget = gtk_handle_box_new();
|
||||||
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
|
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
|
||||||
gtk_widget_show( 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
|
else
|
||||||
{
|
{
|
||||||
@@ -170,6 +173,11 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
|
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 = new GdkColor;
|
||||||
m_fg->red = 0;
|
m_fg->red = 0;
|
||||||
m_fg->green = 0;
|
m_fg->green = 0;
|
||||||
|
@@ -961,6 +961,8 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
|||||||
|
|
||||||
wxControl::SetBackgroundColour( colour );
|
wxControl::SetBackgroundColour( colour );
|
||||||
|
|
||||||
|
if (!m_widget->window) return;
|
||||||
|
|
||||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||||
if (sysbg.Red() == colour.Red() &&
|
if (sysbg.Red() == colour.Red() &&
|
||||||
sysbg.Green() == colour.Green() &&
|
sysbg.Green() == colour.Green() &&
|
||||||
@@ -974,6 +976,7 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
|||||||
if (m_windowStyle & wxTE_MULTILINE)
|
if (m_windowStyle & wxTE_MULTILINE)
|
||||||
{
|
{
|
||||||
GdkWindow *window = GTK_TEXT(m_text)->text_area;
|
GdkWindow *window = GTK_TEXT(m_text)->text_area;
|
||||||
|
if (!window) return;
|
||||||
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
|
m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
|
||||||
gdk_window_set_background( window, m_backgroundColour.GetColor() );
|
gdk_window_set_background( window, m_backgroundColour.GetColor() );
|
||||||
gdk_window_clear( window );
|
gdk_window_clear( window );
|
||||||
|
Reference in New Issue
Block a user