]> git.saurik.com Git - wxWidgets.git/commitdiff
Correct the wxButton::Setlabel nonsense
authorRobert Roebling <robert@roebling.de>
Sat, 8 Aug 1998 13:44:36 +0000 (13:44 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 8 Aug 1998 13:44:36 +0000 (13:44 +0000)
  Added wxFrame::SetClientSize

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/frame.h
include/wx/gtk1/frame.h
src/gtk/button.cpp
src/gtk/control.cpp
src/gtk/frame.cpp
src/gtk1/button.cpp
src/gtk1/control.cpp
src/gtk1/frame.cpp

index 2c64cb50ffef8c1b9988dd3a656654a9297ddf0b..76e0a5c5b155cc8a58033677fe0c076de36cb7f6 100644 (file)
@@ -63,6 +63,7 @@ public:
   virtual void Enable( bool enable );
 
   virtual void GetClientSize( int *width, int *height ) const;
+  virtual void SetClientSize( int const width, int const height );
   
     // set minimal/maxmimal size for the frame
   virtual void SetSizeHints( int minW, int minH, int maxW, int maxH, int incW = -1 );
index 2c64cb50ffef8c1b9988dd3a656654a9297ddf0b..76e0a5c5b155cc8a58033677fe0c076de36cb7f6 100644 (file)
@@ -63,6 +63,7 @@ public:
   virtual void Enable( bool enable );
 
   virtual void GetClientSize( int *width, int *height ) const;
+  virtual void SetClientSize( int const width, int const height );
   
     // set minimal/maxmimal size for the frame
   virtual void SetSizeHints( int minW, int minH, int maxW, int maxH, int incW = -1 );
index 7205e098c58630accee6d3a1d75fa5144ddf6df6..6588daad60de53fcd677662b5d5a5eb1bb3325a8 100644 (file)
@@ -65,8 +65,8 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
 
   PreCreation( parent, id, pos, newSize, style, name );
 
-  SetLabel(label);
   m_widget = gtk_button_new_with_label( m_label );
+  SetLabel(label);
 
   if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label );
   if (newSize.y == -1) newSize.y = 26;
@@ -89,7 +89,7 @@ void wxButton::SetDefault(void)
 void wxButton::SetLabel( const wxString &label )
 {
   wxControl::SetLabel( label );
-  GtkBin *bin = GTK_BIN( m_widget );
+  GtkButton *bin = GTK_BUTTON( m_widget );
   GtkLabel *g_label = GTK_LABEL( bin->child );
   gtk_label_set( g_label, GetLabel() );
 };
index fb7fd4d3af88ab1495cf85de0883c3c7ca456431..7979f34d5c503c7db4d18d419160d23a8d4e008d 100644 (file)
@@ -38,6 +38,7 @@ void wxControl::Command( wxCommandEvent &WXUNUSED(event) )
 
 void wxControl::SetLabel( const wxString &label )
 {
+  m_label = "";
   for ( const char *pc = label; *pc != '\0'; pc++ ) {
     if ( *pc == '&' ) {
       pc++; // skip it
@@ -47,7 +48,6 @@ void wxControl::SetLabel( const wxString &label )
 #endif
     }
 
-    m_label = "";
     m_label << *pc;
   }
 };
index 99d98fcdb888fb61f061191589f2e226576d71ec..beb8a3df5c76620d21ec933e8c6a813d7eec2858 100644 (file)
@@ -226,6 +226,20 @@ void wxFrame::GetClientSize( int *width, int *height ) const
   };
 };
 
+void wxFrame::SetClientSize( int const width, int const height )
+{
+  int h = height;
+  if (m_frameMenuBar) h += wxMENU_HEIGHT;
+  if (m_frameStatusBar) h += wxSTATUS_HEIGHT;
+  if (m_frameToolBar)
+  {
+    int y = 0;
+    m_frameToolBar->GetSize( NULL, &y );
+    h += y;
+  }
+  wxWindow::SetClientSize( width, h );
+};
+
 void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
 {
   // due to a bug in gtk, x,y are always 0
index 7205e098c58630accee6d3a1d75fa5144ddf6df6..6588daad60de53fcd677662b5d5a5eb1bb3325a8 100644 (file)
@@ -65,8 +65,8 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
 
   PreCreation( parent, id, pos, newSize, style, name );
 
-  SetLabel(label);
   m_widget = gtk_button_new_with_label( m_label );
+  SetLabel(label);
 
   if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label );
   if (newSize.y == -1) newSize.y = 26;
@@ -89,7 +89,7 @@ void wxButton::SetDefault(void)
 void wxButton::SetLabel( const wxString &label )
 {
   wxControl::SetLabel( label );
-  GtkBin *bin = GTK_BIN( m_widget );
+  GtkButton *bin = GTK_BUTTON( m_widget );
   GtkLabel *g_label = GTK_LABEL( bin->child );
   gtk_label_set( g_label, GetLabel() );
 };
index fb7fd4d3af88ab1495cf85de0883c3c7ca456431..7979f34d5c503c7db4d18d419160d23a8d4e008d 100644 (file)
@@ -38,6 +38,7 @@ void wxControl::Command( wxCommandEvent &WXUNUSED(event) )
 
 void wxControl::SetLabel( const wxString &label )
 {
+  m_label = "";
   for ( const char *pc = label; *pc != '\0'; pc++ ) {
     if ( *pc == '&' ) {
       pc++; // skip it
@@ -47,7 +48,6 @@ void wxControl::SetLabel( const wxString &label )
 #endif
     }
 
-    m_label = "";
     m_label << *pc;
   }
 };
index 99d98fcdb888fb61f061191589f2e226576d71ec..beb8a3df5c76620d21ec933e8c6a813d7eec2858 100644 (file)
@@ -226,6 +226,20 @@ void wxFrame::GetClientSize( int *width, int *height ) const
   };
 };
 
+void wxFrame::SetClientSize( int const width, int const height )
+{
+  int h = height;
+  if (m_frameMenuBar) h += wxMENU_HEIGHT;
+  if (m_frameStatusBar) h += wxSTATUS_HEIGHT;
+  if (m_frameToolBar)
+  {
+    int y = 0;
+    m_frameToolBar->GetSize( NULL, &y );
+    h += y;
+  }
+  wxWindow::SetClientSize( width, h );
+};
+
 void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
 {
   // due to a bug in gtk, x,y are always 0