Corrected bmpbutton size

added wxNO_BORDER style to button classes
  added WMclass and WMname strings to dialogs and frames
  added flag to scroll sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-05-08 14:18:51 +00:00
parent 2a4f27f209
commit de1c750f7e
9 changed files with 63 additions and 27 deletions

View File

@@ -77,12 +77,12 @@ END_EVENT_TABLE()
MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
const wxPoint &pos, const wxSize &size ) const wxPoint &pos, const wxSize &size )
: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER ) : wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER | wxTAB_TRAVERSAL )
{ {
// (void) new wxButton( this, -1, "wxButton", wxPoint(10,10) ); (void) new wxButton( this, -1, "wxButton", wxPoint(10,10) );
// (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,50) ); (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,50) );
(void) new wxRadioButton( this, -1, "Disable", wxPoint(10,90) ); (void) new wxRadioButton( this, -1, "Disable", wxPoint(10,90) );
@@ -95,9 +95,9 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
"examples." "examples."
}; };
// (void) new wxComboBox( this, -1, "This", wxPoint(10,130), wxDefaultSize, 5, choices ); (void) new wxComboBox( this, -1, "This", wxPoint(10,130), wxDefaultSize, 5, choices );
// (void) new wxRadioBox( this, -1, "This", wxPoint(10,200), wxDefaultSize, 5, choices ); (void) new wxRadioBox( this, -1, "This", wxPoint(10,200), wxDefaultSize, 5, choices );
} }
MyCanvas::~MyCanvas() MyCanvas::~MyCanvas()

View File

@@ -130,7 +130,12 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
m_label = ""; m_label = "";
m_widget = gtk_button_new(); m_widget = gtk_button_new();
#if (GTK_MINOR_VERSION > 0)
if (style & wxNO_BORDER)
gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
#endif
if (m_bitmap.Ok()) if (m_bitmap.Ok())
{ {
GdkBitmap *mask = (GdkBitmap *) NULL; GdkBitmap *mask = (GdkBitmap *) NULL;
@@ -141,8 +146,10 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
gtk_container_add( GTK_CONTAINER(m_widget), pixmap ); gtk_container_add( GTK_CONTAINER(m_widget), pixmap );
} }
if (newSize.x == -1) newSize.x = m_bitmap.GetHeight()+10; int border = 10;
if (newSize.y == -1) newSize.y = m_bitmap.GetWidth()+10; if (style & wxNO_BORDER) border = 4;
if (newSize.x == -1) newSize.x = m_bitmap.GetWidth()+border;
if (newSize.y == -1) newSize.y = m_bitmap.GetHeight()+border;
SetSize( newSize.x, newSize.y ); SetSize( newSize.x, newSize.y );
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
@@ -202,25 +209,25 @@ void wxBitmapButton::SetBitmap()
wxBitmap the_one; wxBitmap the_one;
if ( ! m_isEnabled ) if (!m_isEnabled)
the_one = m_disabled; the_one = m_disabled;
else else
{ {
if ( m_isSelected ) if (m_isSelected)
{ {
the_one = m_selected; the_one = m_selected;
} }
else else
{ {
if ( m_hasFocus ) if (m_hasFocus)
the_one = m_focus; the_one = m_focus;
else else
the_one = m_bitmap; the_one = m_bitmap;
} }
} }
if ( ! the_one.Ok() ) the_one = m_bitmap; if (!the_one.Ok()) the_one = m_bitmap;
if ( ! the_one.Ok() ) return; if (!the_one.Ok()) return;
GtkButton *bin = GTK_BUTTON( m_widget ); GtkButton *bin = GTK_BUTTON( m_widget );
GtkPixmap *g_pixmap = GTK_PIXMAP( bin->child ); GtkPixmap *g_pixmap = GTK_PIXMAP( bin->child );

View File

@@ -80,7 +80,13 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
SetValidator( validator ); SetValidator( validator );
m_widget = gtk_button_new_with_label( m_label.mbc_str() ); m_widget = gtk_button_new_with_label( "" );
#if (GTK_MINOR_VERSION > 0)
if (style & wxNO_BORDER)
gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
#endif
SetLabel(label); SetLabel(label);
if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label.mbc_str() ); if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label.mbc_str() );

View File

@@ -212,10 +212,12 @@ bool wxDialog::Create( wxWindow *parent,
PreCreation( parent, id, pos, size, style, name ); PreCreation( parent, id, pos, size, style, name );
m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL ); m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL );
if (!name.IsEmpty())
gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() );
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
gtk_widget_set( m_widget, "GtkWindow::allow_shrink", TRUE, NULL);
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );

View File

@@ -369,6 +369,9 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP; if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
m_widget = gtk_window_new( win_type ); m_widget = gtk_window_new( win_type );
if (!name.IsEmpty())
gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() );
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
debug_focus_in( m_widget, _T("wxFrame::m_widget"), name ); debug_focus_in( m_widget, _T("wxFrame::m_widget"), name );

View File

@@ -130,7 +130,12 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
m_label = ""; m_label = "";
m_widget = gtk_button_new(); m_widget = gtk_button_new();
#if (GTK_MINOR_VERSION > 0)
if (style & wxNO_BORDER)
gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
#endif
if (m_bitmap.Ok()) if (m_bitmap.Ok())
{ {
GdkBitmap *mask = (GdkBitmap *) NULL; GdkBitmap *mask = (GdkBitmap *) NULL;
@@ -141,8 +146,10 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
gtk_container_add( GTK_CONTAINER(m_widget), pixmap ); gtk_container_add( GTK_CONTAINER(m_widget), pixmap );
} }
if (newSize.x == -1) newSize.x = m_bitmap.GetHeight()+10; int border = 10;
if (newSize.y == -1) newSize.y = m_bitmap.GetWidth()+10; if (style & wxNO_BORDER) border = 4;
if (newSize.x == -1) newSize.x = m_bitmap.GetWidth()+border;
if (newSize.y == -1) newSize.y = m_bitmap.GetHeight()+border;
SetSize( newSize.x, newSize.y ); SetSize( newSize.x, newSize.y );
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
@@ -202,25 +209,25 @@ void wxBitmapButton::SetBitmap()
wxBitmap the_one; wxBitmap the_one;
if ( ! m_isEnabled ) if (!m_isEnabled)
the_one = m_disabled; the_one = m_disabled;
else else
{ {
if ( m_isSelected ) if (m_isSelected)
{ {
the_one = m_selected; the_one = m_selected;
} }
else else
{ {
if ( m_hasFocus ) if (m_hasFocus)
the_one = m_focus; the_one = m_focus;
else else
the_one = m_bitmap; the_one = m_bitmap;
} }
} }
if ( ! the_one.Ok() ) the_one = m_bitmap; if (!the_one.Ok()) the_one = m_bitmap;
if ( ! the_one.Ok() ) return; if (!the_one.Ok()) return;
GtkButton *bin = GTK_BUTTON( m_widget ); GtkButton *bin = GTK_BUTTON( m_widget );
GtkPixmap *g_pixmap = GTK_PIXMAP( bin->child ); GtkPixmap *g_pixmap = GTK_PIXMAP( bin->child );

View File

@@ -80,7 +80,13 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
SetValidator( validator ); SetValidator( validator );
m_widget = gtk_button_new_with_label( m_label.mbc_str() ); m_widget = gtk_button_new_with_label( "" );
#if (GTK_MINOR_VERSION > 0)
if (style & wxNO_BORDER)
gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
#endif
SetLabel(label); SetLabel(label);
if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label.mbc_str() ); if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label.mbc_str() );

View File

@@ -212,10 +212,12 @@ bool wxDialog::Create( wxWindow *parent,
PreCreation( parent, id, pos, size, style, name ); PreCreation( parent, id, pos, size, style, name );
m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL ); m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL );
if (!name.IsEmpty())
gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() );
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
gtk_widget_set( m_widget, "GtkWindow::allow_shrink", TRUE, NULL);
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );

View File

@@ -369,6 +369,9 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP; if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
m_widget = gtk_window_new( win_type ); m_widget = gtk_window_new( win_type );
if (!name.IsEmpty())
gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() );
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
debug_focus_in( m_widget, _T("wxFrame::m_widget"), name ); debug_focus_in( m_widget, _T("wxFrame::m_widget"), name );