]> git.saurik.com Git - wxWidgets.git/commitdiff
Align initial size handling with other ports.
authorMattia Barbon <mbarbon@cpan.org>
Sat, 30 Jul 2005 17:09:56 +0000 (17:09 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Sat, 30 Jul 2005 17:09:56 +0000 (17:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/motif/textctrl.cpp
src/motif/window.cpp

index 06e42ff6c7272a8a9020a86febdcc4f3049ae640..52867950ee2d18b4402eb05c843597c6ecfccef4 100644 (file)
@@ -196,12 +196,8 @@ bool wxTextCtrl::Create(wxWindow *parent,
     // font
     ChangeFont(false);
 
-    wxSize best = GetBestSize();
-    if( size.x != -1 ) best.x = size.x;
-    if( size.y != -1 ) best.y = size.y;
-
     AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
-                  pos.x, pos.y, best.x, best.y);
+                  pos.x, pos.y, size.x, size.y);
 
     ChangeBackgroundColour();
 
@@ -683,7 +679,13 @@ wxSize wxDoGetSingleTextCtrlBestSize( Widget textWidget,
 wxSize wxTextCtrl::DoGetBestSize() const
 {
     if( IsSingleLine() )
-        return wxDoGetSingleTextCtrlBestSize( (Widget)m_mainWidget, this );
+    {
+        wxSize best = wxControl::DoGetBestSize();
+
+        if( best.x < 110 ) best.x = 110;
+
+        return best;
+    }
     else
         return wxWindow::DoGetBestSize();
 }
index feda98f8ec996f75d66da878ad9029272f3730aa..afcd0cd4f7a75e7de06e67ef3bc9e4d14b4d6d7e 100644 (file)
@@ -364,7 +364,7 @@ wxWindow::~wxWindow()
         g_captureWindow = NULL;
     
     m_isBeingDeleted = true;
-    
+
     // Motif-specific actions first
     WXWidget wMain = GetMainWidget();
     if ( wMain )
@@ -1436,6 +1436,8 @@ void wxWindow::DoMoveWindowIntr(int xx, int yy, int w, int h,
     }
     else
     {
+        if( xx < 0 ) xx = 0;
+        if( yy < 0 ) yy = 0;
         if( w < 1 ) w = 1;
         if( h < 1 ) h = 1;
 
@@ -1832,13 +1834,18 @@ bool wxWindow::AttachWidget (wxWindow* WXUNUSED(parent), WXWidget mainWidget,
         XtFree ((char *) ptr);
     }
 
-    if (x == -1)
-        x = 0;
-    if (y == -1)
-        y = 0;
-    SetSize (x, y, width, height);
+    SetInitialBestSize(wxSize(width, height));
+
+    if (x != -1 || y != -1)
+    {
+        if (x == -1)
+            x = 0;
+        if (y == -1)
+            y = 0;
+        Move(x, y);
+    }
 
-    return TRUE;
+    return true;
 }
 
 // Remove event handler, remove from hash table