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:
parent
7f3b7908d3
commit
858b5bddf6
@ -420,9 +420,9 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||
#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
|
||||
|
||||
/*
|
||||
|
@ -549,7 +549,7 @@ m_text(NULL), m_notebook(NULL)
|
||||
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 :-(
|
||||
|
@ -173,6 +173,9 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
|
||||
m_dragMode = wxSPLIT_DRAG_NONE;
|
||||
ReleaseMouse();
|
||||
|
||||
#ifdef __WXGTK__
|
||||
SetCursor(* wxSTANDARD_CURSOR);
|
||||
#endif
|
||||
// Erase old tracker
|
||||
DrawSashTracker(m_oldX, m_oldY);
|
||||
|
||||
|
@ -107,7 +107,30 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
|
||||
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 );
|
||||
|
||||
|
@ -162,6 +162,9 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
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
|
||||
{
|
||||
@ -169,6 +172,11 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -960,6 +960,8 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
||||
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() &&
|
||||
@ -974,6 +976,7 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
||||
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 );
|
||||
|
@ -107,7 +107,30 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
|
||||
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 );
|
||||
|
||||
|
@ -162,6 +162,9 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
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
|
||||
{
|
||||
@ -169,6 +172,11 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -960,6 +960,8 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
||||
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() &&
|
||||
@ -974,6 +976,7 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
|
||||
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 );
|
||||
|
Loading…
Reference in New Issue
Block a user