]> git.saurik.com Git - wxWidgets.git/commitdiff
Some Resize/GetBestSize() changes.
authorRobert Roebling <robert@roebling.de>
Sat, 1 Jan 2000 23:21:04 +0000 (23:21 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 1 Jan 2000 23:21:04 +0000 (23:21 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/combobox.cpp
src/gtk/control.cpp
src/gtk/spinctrl.cpp
src/gtk/textctrl.cpp
src/gtk1/combobox.cpp
src/gtk1/control.cpp
src/gtk1/spinctrl.cpp
src/gtk1/textctrl.cpp

index b8ed05b45f8ceaaf32451304be2aff463a48299c..0571f48fe4a20fad2ff53a4c456d706c217a0829 100644 (file)
@@ -108,8 +108,8 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         newSize.x = bestSize.x;
     if (newSize.y == -1)
         newSize.y = bestSize.y;
-    if (newSize.y > 30)
-        newSize.y = 30;
+    if (newSize.y > 22)
+        newSize.y = 22;
 
     if (!PreCreation( parent, pos, newSize ) ||
         !CreateBase( parent, id, pos, size, style, validator, name ))
@@ -666,7 +666,7 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
 wxSize wxComboBox::DoGetBestSize() const
 {
     // totally bogus - should measure the strings in the combo!
-    return wxSize(100, 26);
+    return wxSize(100, 22);
 }
 
 #endif
index b369c4d8c11ac1527db2a57fe5de03b41f440fde..959092087b2c1bc732a1eb0622be9c842f926afb 100644 (file)
@@ -74,6 +74,9 @@ wxString wxControl::GetLabel() const
 
 wxSize wxControl::DoGetBestSize() const
 {
+    // Do not return any arbitrary default value...
+    wxASSERT_MSG( m_widget, wxT("DoGetBestSize called before creation") );
+
     GtkRequisition req;
     (* GTK_WIDGET_CLASS( GTK_OBJECT(m_widget)->klass )->size_request )
         (m_widget, &req );
index 439794f54584c4176409d23b020f7f90f1c1bf3a..766b1c58ae6c5a98b7f2f455eaac30ae27b65ec2 100644 (file)
@@ -75,15 +75,8 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_needParent = TRUE;
     m_acceptsFocus = TRUE;
 
-    wxSize new_size = size,
-           sizeBest = DoGetBestSize();
-    if (new_size.x == -1)
-        new_size.x = sizeBest.x;
-    if (new_size.y == -1)
-        new_size.y = sizeBest.y;
-
-    if (!PreCreation( parent, pos, new_size ) ||
-        !CreateBase( parent, id, pos, new_size, style, wxDefaultValidator, name ))
+    if (!PreCreation( parent, pos, size ) ||
+        !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
     {
         wxFAIL_MSG( wxT("wxSpinCtrl creation failed") );
         return FALSE;
@@ -94,6 +87,16 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_adjust = (GtkAdjustment*) gtk_adjustment_new( initial, min, max, 1.0, 5.0, 0.0);
 
     m_widget = gtk_spin_button_new( m_adjust, 1, 0 );
+    
+    wxSize new_size = size,
+           sizeBest = DoGetBestSize();
+    if (new_size.x == -1)
+        new_size.x = sizeBest.x;
+    if (new_size.y == -1)
+        new_size.y = sizeBest.y;
+
+    if ((new_size.x != size.x) || (new_size.y != size.y))
+        SetSize( new_size.x, new_size.y );
 
     gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget),
                               (int)(m_windowStyle & wxSP_WRAP) );
@@ -224,7 +227,8 @@ void wxSpinCtrl::ApplyWidgetStyle()
 
 wxSize wxSpinCtrl::DoGetBestSize() const
 {
-    return wxSize(95, 26);
+    wxSize ret( wxControl::DoGetBestSize() );
+    return wxSize(95, ret.y);
 }
 
 #endif
index a81a25db284d52b76c5c654ce0290dd2e5f996e8..e832dcdf05704efc246545ba426a6e515d07878c 100644 (file)
@@ -192,7 +192,15 @@ bool wxTextCtrl::Create( wxWindow *parent,
           m_text = gtk_entry_new();
     }
 
-    SetSizeOrDefault( size );
+    wxSize new_size = size,
+           sizeBest = DoGetBestSize();
+    if (new_size.x == -1)
+        new_size.x = sizeBest.x;
+    if (new_size.y == -1)
+        new_size.y = sizeBest.y;
+
+    if ((new_size.x != size.x) || (new_size.y != size.y))
+        SetSize( new_size.x, new_size.y );
 
     m_parent->DoAddChild( this );
 
@@ -977,5 +985,6 @@ void wxTextCtrl::OnInternalIdle()
 wxSize wxTextCtrl::DoGetBestSize() const
 {
     // FIXME should be different for multi-line controls...
-    return wxSize(80, 26);
+    wxSize ret( wxControl::DoGetBestSize() );
+    return wxSize(80, ret.y);
 }
index b8ed05b45f8ceaaf32451304be2aff463a48299c..0571f48fe4a20fad2ff53a4c456d706c217a0829 100644 (file)
@@ -108,8 +108,8 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         newSize.x = bestSize.x;
     if (newSize.y == -1)
         newSize.y = bestSize.y;
-    if (newSize.y > 30)
-        newSize.y = 30;
+    if (newSize.y > 22)
+        newSize.y = 22;
 
     if (!PreCreation( parent, pos, newSize ) ||
         !CreateBase( parent, id, pos, size, style, validator, name ))
@@ -666,7 +666,7 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
 wxSize wxComboBox::DoGetBestSize() const
 {
     // totally bogus - should measure the strings in the combo!
-    return wxSize(100, 26);
+    return wxSize(100, 22);
 }
 
 #endif
index b369c4d8c11ac1527db2a57fe5de03b41f440fde..959092087b2c1bc732a1eb0622be9c842f926afb 100644 (file)
@@ -74,6 +74,9 @@ wxString wxControl::GetLabel() const
 
 wxSize wxControl::DoGetBestSize() const
 {
+    // Do not return any arbitrary default value...
+    wxASSERT_MSG( m_widget, wxT("DoGetBestSize called before creation") );
+
     GtkRequisition req;
     (* GTK_WIDGET_CLASS( GTK_OBJECT(m_widget)->klass )->size_request )
         (m_widget, &req );
index 439794f54584c4176409d23b020f7f90f1c1bf3a..766b1c58ae6c5a98b7f2f455eaac30ae27b65ec2 100644 (file)
@@ -75,15 +75,8 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_needParent = TRUE;
     m_acceptsFocus = TRUE;
 
-    wxSize new_size = size,
-           sizeBest = DoGetBestSize();
-    if (new_size.x == -1)
-        new_size.x = sizeBest.x;
-    if (new_size.y == -1)
-        new_size.y = sizeBest.y;
-
-    if (!PreCreation( parent, pos, new_size ) ||
-        !CreateBase( parent, id, pos, new_size, style, wxDefaultValidator, name ))
+    if (!PreCreation( parent, pos, size ) ||
+        !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
     {
         wxFAIL_MSG( wxT("wxSpinCtrl creation failed") );
         return FALSE;
@@ -94,6 +87,16 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_adjust = (GtkAdjustment*) gtk_adjustment_new( initial, min, max, 1.0, 5.0, 0.0);
 
     m_widget = gtk_spin_button_new( m_adjust, 1, 0 );
+    
+    wxSize new_size = size,
+           sizeBest = DoGetBestSize();
+    if (new_size.x == -1)
+        new_size.x = sizeBest.x;
+    if (new_size.y == -1)
+        new_size.y = sizeBest.y;
+
+    if ((new_size.x != size.x) || (new_size.y != size.y))
+        SetSize( new_size.x, new_size.y );
 
     gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget),
                               (int)(m_windowStyle & wxSP_WRAP) );
@@ -224,7 +227,8 @@ void wxSpinCtrl::ApplyWidgetStyle()
 
 wxSize wxSpinCtrl::DoGetBestSize() const
 {
-    return wxSize(95, 26);
+    wxSize ret( wxControl::DoGetBestSize() );
+    return wxSize(95, ret.y);
 }
 
 #endif
index a81a25db284d52b76c5c654ce0290dd2e5f996e8..e832dcdf05704efc246545ba426a6e515d07878c 100644 (file)
@@ -192,7 +192,15 @@ bool wxTextCtrl::Create( wxWindow *parent,
           m_text = gtk_entry_new();
     }
 
-    SetSizeOrDefault( size );
+    wxSize new_size = size,
+           sizeBest = DoGetBestSize();
+    if (new_size.x == -1)
+        new_size.x = sizeBest.x;
+    if (new_size.y == -1)
+        new_size.y = sizeBest.y;
+
+    if ((new_size.x != size.x) || (new_size.y != size.y))
+        SetSize( new_size.x, new_size.y );
 
     m_parent->DoAddChild( this );
 
@@ -977,5 +985,6 @@ void wxTextCtrl::OnInternalIdle()
 wxSize wxTextCtrl::DoGetBestSize() const
 {
     // FIXME should be different for multi-line controls...
-    return wxSize(80, 26);
+    wxSize ret( wxControl::DoGetBestSize() );
+    return wxSize(80, ret.y);
 }