Author: gert
Date: 2006-11-23 08:54:52 -0500 (Thu, 23 Nov 2006)
New Revision: 68389

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MdiClient.cs
   trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
   
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/MdiFormTest.cs
Log:
* MdiFormTest.cs: Improved Text test to also verify behavior when
Text of MDI child or container is empty. Added NotWorking test for
Text after MDI is maximized. Added comment with existing NotWorking
test for ActiveMdiChild.
* MdiClient.cs: Ignore active MDI client for text of parent, if
child has no text set.


Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-11-23 13:52:00 UTC (rev 68388)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-11-23 13:54:52 UTC (rev 68389)
@@ -1,5 +1,10 @@
 2006-11-23  Gert Driesen  <[EMAIL PROTECTED]>
 
+       * MdiClient.cs: Ignore active MDI client for text of parent, if
+       child has no text set.
+
+2006-11-23  Gert Driesen  <[EMAIL PROTECTED]>
+
        * ToolBar.cs: Fixed ToString to match MS.
 
 2006-11-22  Andreia Gaita  <[EMAIL PROTECTED]>

Modified: 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MdiClient.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MdiClient.cs     
2006-11-23 13:52:00 UTC (rev 68388)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MdiClient.cs     
2006-11-23 13:54:52 UTC (rev 68389)
@@ -115,7 +115,12 @@
             }
             else
             {
-                ParentForm.Text = form_text + " - [" + 
ParentForm.ActiveMaximizedMdiChild.form.Text + "]";
+                               string childText = 
ParentForm.ActiveMaximizedMdiChild.form.Text;
+                               if (childText.Length > 0) {
+                                       ParentForm.Text = form_text + " - [" + 
ParentForm.ActiveMaximizedMdiChild.form.Text + "]";
+                               } else {
+                                       ParentForm.Text = form_text;
+                               }
             }
 
             setting_form_text = false;

Modified: 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog   
2006-11-23 13:52:00 UTC (rev 68388)
+++ trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog   
2006-11-23 13:54:52 UTC (rev 68389)
@@ -1,5 +1,12 @@
-2006-11-23  Gert Driesen <[EMAIL PROTECTED]>
+2006-11-23  Gert Driesen  <[EMAIL PROTECTED]>
 
+       * MdiFormTest.cs: Improved Text test to also verify behavior when
+       Text of MDI child or container is empty. Added NotWorking test for
+       Text after MDI is maximized. Added comment with existing NotWorking
+       test for ActiveMdiChild.
+
+2006-11-23  Gert Driesen  <[EMAIL PROTECTED]>
+
        * ToolBarTest.cs: Added test for bug #79863. Fixed and enabled
        ToStringTest.
 

Modified: 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/MdiFormTest.cs
===================================================================
--- 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/MdiFormTest.cs  
    2006-11-23 13:52:00 UTC (rev 68388)
+++ 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/MdiFormTest.cs  
    2006-11-23 13:54:52 UTC (rev 68389)
@@ -22,7 +22,7 @@
                [Test]
                public void Text ()
                {
-                       Form main = null, child1 = null, child2 = null;
+                       Form main = null, child1 = null, child2 = null, child3 
= null;
 
                        main = new Form ();
                        main.IsMdiContainer = true;
@@ -43,7 +43,8 @@
                        
                        child2 = new Form ();
                        child2.Name = "child2";
-                       child2.Text = child2.Text;
+                       child1.MdiParent = main;
+                       child2.Text = string.Empty;
                        child2.WindowState = FormWindowState.Maximized;
                        child2.Show();
                        
@@ -61,12 +62,69 @@
                        child2.WindowState = FormWindowState.Maximized;
                        Assert.AreEqual ("main", main.Text, "#7");
 
+                       child3 = new Form ();
+                       child3.Name = "child3";
+                       child3.MdiParent = main;
+                       child3.Text = child3.Name;
+                       child3.WindowState = FormWindowState.Maximized;
+                       child3.Show ();
+
+                       Assert.AreEqual ("main - [child3]", main.Text, "#8");
+                       child3.WindowState = FormWindowState.Normal;
+                       Assert.AreEqual ("main", main.Text, "#9");
+
+                       main.Text = string.Empty;
+                       child3.WindowState = FormWindowState.Maximized;
+                       Assert.AreEqual (" - [child3]", main.Text, "#10");
+
+                       child3.Text = string.Empty;
+                       Assert.AreEqual (string.Empty, main.Text, "#11");
+
+                       child3.Dispose ();
                        child2.Dispose ();
                        child1.Dispose ();
                        main.Dispose ();
                }
-                               
+
+               // Setting WindowState to Maximized of a form, of which the 
handle is 
+               // already created, does not make it ActiveMdiChild
                [Test]
+               [Category ("NotWorking")]
+               public void Text_Maximized ()
+               {
+                       Form main = new Form ();
+                       main.IsMdiContainer = true;
+                       main.Name = "main";
+                       main.Text = main.Name;
+                       main.Show ();
+
+                       Assert.AreEqual ("main", main.Text, "#1");
+
+                       Form child1 = new Form ();
+                       child1.Name = "child1";
+                       child1.MdiParent = main;
+                       child1.Text = child1.Name;
+                       child1.WindowState = FormWindowState.Maximized;
+                       child1.Show ();
+
+                       Assert.AreEqual ("main - [child1]", main.Text, "#2");
+
+                       Form child2 = new Form ();
+                       child2.Name = "child2";
+                       child2.MdiParent = main;
+                       child2.Text = child2.Name;
+                       child2.WindowState = FormWindowState.Maximized;
+                       child2.Show ();
+
+                       Assert.AreEqual ("main - [child2]", main.Text, "#3");
+
+                       child1.WindowState = FormWindowState.Maximized;
+
+                       Assert.AreEqual ("main - [child1]", main.Text, "#4");
+               }
+
+               // Form.ActiveMdiChild should return null if handle is not yet 
created
+               [Test]
                [Category("NotWorking")]
                public void ActiveMdiChild ()
                {
@@ -87,16 +145,20 @@
                        child2.MdiParent = main;
                        child2.Show();
                        
-                       Assert.AreSame (null, main.ActiveMdiChild, "#1");
+                       Assert.IsNull (main.ActiveMdiChild, "#1");
 
                        main.Show ();
-                       if (child1 == main.ActiveMdiChild)
-                               Assert.Fail ("#2");
-                       Assert.AreSame (child2, main.ActiveMdiChild, "#3");
+                       Assert.AreSame (child2, main.ActiveMdiChild, "#2");
 
-                       main.Visible = false;
+                       child1.WindowState = FormWindowState.Maximized;
+                       Assert.AreSame (child1, main.ActiveMdiChild, "#3");
+
+                       child1.WindowState = FormWindowState.Maximized;
                        Assert.AreSame (child2, main.ActiveMdiChild, "#4");
 
+                       main.Visible = false;
+                       Assert.AreSame (child2, main.ActiveMdiChild, "#5");
+
                        child2.Dispose ();
                        child1.Dispose ();
                        main.Dispose ();
@@ -136,7 +198,7 @@
                                main.Close();
                        }
                }
-               
+
                [Test]
                public void MdiChild_WindowState2 ()
                {
@@ -170,7 +232,7 @@
                                main.Close();
                        }
                }
-               
+
                [Test]
                public void MdiChild_WindowState3 ()
                {
@@ -238,7 +300,6 @@
                        }
                }
 
-
                [Test]
                public void MdiChild_WindowState5 ()
                {
@@ -280,7 +341,6 @@
                        }
                }
 
-
                [Test]
                public void MdiChild_WindowState6 ()
                {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to