In Test/System.Windows.Forms:
authorChris Toshok <toshok@novell.com>
Thu, 7 Dec 2006 01:18:18 +0000 (01:18 -0000)
committerChris Toshok <toshok@novell.com>
Thu, 7 Dec 2006 01:18:18 +0000 (01:18 -0000)
* FormTest.cs: make sure Form.ImeMode is NoControl by default.

* ButtonTest.cs: add a unit test for Button.DefaultImeMode.

2006-12-06  Chris Toshok  <toshok@ximian.com>

In System.Windows.Forms:
* Form.cs: we don't need to explicitly set ImeMode to
ImeMode.NoControl - that's a natural fallout of Control.ImeMode's
behavior in the face of ImeMode.Inherit.

* ButtonBase.cs: change DefaultImeMode to ImeMode.Disable, and
change the ctor's assignment to use ImeMode instead of ime_mode.

* Control.cs (get_ImeMode): don't assume DefaultImeMode ==
ImeModeInherit.  Only check for the parent's imemode (and return
NoControl if there is no parent) if ime_Mode == ImeMode.Inherit.
This fixes the button unit test, which sets both ImeMode and
DefaultImeMode to ImeMode.Disable.

also make the ime_mode field private.

2006-12-06  Chris Toshok  <toshok@ximian.com>

svn path=/trunk/mcs/; revision=69148

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FormTest.cs

index 945f459fec08cc28d279b4f05f142ef27333626f..8a7cc770b8f56ecf6dad6d8812fbc090cffe0a8a 100644 (file)
@@ -136,7 +136,7 @@ namespace System.Windows.Forms {
                        image           = null;
                        image_list      = null;
                        image_alignment = ContentAlignment.MiddleCenter;
-                       ime_mode        = ImeMode.Disable;
+                       ImeMode         = ImeMode.Disable;
                        text_alignment  = ContentAlignment.MiddleCenter;
                        is_default      = false;
                        is_pressed      = false;
@@ -244,13 +244,8 @@ namespace System.Windows.Forms {
                [Browsable(false)]
                [EditorBrowsable (EditorBrowsableState.Never)]
                public new ImeMode ImeMode {
-                       get {
-                               return base.ImeMode;
-                       }
-
-                       set {
-                               base.ImeMode = value;
-                       }
+                       get { return base.ImeMode; }
+                       set { base.ImeMode = value; }
                }
 
                [Localizable(true)]
@@ -325,9 +320,7 @@ namespace System.Windows.Forms {
                }
 
                protected override ImeMode DefaultImeMode {
-                       get {
-                               return ImeMode.Inherit;
-                       }
+                       get { return ImeMode.Disable; }
                }
 
                protected override Size DefaultSize {
index 725f967bf177405769602d1f1595abce5485a0e7..1a688a9fcdcae40878474cc259063777ca04514c 100644 (file)
@@ -1,3 +1,20 @@
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: we don't need to explicitly set ImeMode to
+       ImeMode.NoControl - that's a natural fallout of Control.ImeMode's
+       behavior in the face of ImeMode.Inherit.
+
+       * ButtonBase.cs: change DefaultImeMode to ImeMode.Disable, and
+       change the ctor's assignment to use ImeMode instead of ime_mode.
+
+       * Control.cs (get_ImeMode): don't assume DefaultImeMode ==
+       ImeModeInherit.  Only check for the parent's imemode (and return
+       NoControl if there is no parent) if ime_Mode == ImeMode.Inherit.
+       This fixes the button unit test, which sets both ImeMode and
+       DefaultImeMode to ImeMode.Disable.
+
+       also make the ime_mode field private.
+
 2006-12-06  Chris Toshok  <toshok@ximian.com>
 
        * Control.cs: make control_style private.
index d3072d3cfe6949c9a3ef5db0b1c398def3addaec..bb8968b8888a009befab3e3a3f2a331fcb136b84 100644 (file)
@@ -84,7 +84,7 @@ namespace System.Windows.Forms
                Size client_size; // size of the client area (window excluding decorations)
                Rectangle client_rect; // rectangle with the client area (window excluding decorations)
                ControlStyles control_style; // rather win32-specific, style bits for control
-               internal ImeMode                ime_mode = ImeMode.Inherit;
+               ImeMode ime_mode;
                bool layout_pending; // true if our parent needs to re-layout us
                object control_tag; // object that contains data about our control
                internal int                    mouse_clicks;           // Counter for mouse clicks
@@ -722,6 +722,7 @@ namespace System.Windows.Forms
                        dist_top = 0;
                        dist_bottom = 0;
                        tab_stop = true;
+                       ime_mode = ImeMode.Inherit;
 
 #if NET_2_0
                        use_compatible_text_rendering = Application.use_compatible_text_rendering;
@@ -2123,12 +2124,12 @@ namespace System.Windows.Forms
                [MWFCategory("Behavior")]
                public ImeMode ImeMode {
                        get {
-                                if (ime_mode == DefaultImeMode) {
+                               if (ime_mode == ImeMode.Inherit) {
                                        if (parent != null)
                                                 return parent.ImeMode;
                                         else
                                                 return ImeMode.NoControl; // default value
-                                }
+                               }
                                return ime_mode;
                        }
 
index 36bfea95b4bc35aaedeb865a496e5fa79e61aa99..8b4b2604f8090dcd1db3ea1919a7136c763c53c9 100644 (file)
@@ -170,7 +170,6 @@ namespace System.Windows.Forms {
                        maximize_box = true;
                        help_button = false;
                        show_in_taskbar = true;
-                       ime_mode = ImeMode.NoControl;
                        is_visible = false;
                        is_toplevel = true;
                        size_grip_style = SizeGripStyle.Auto;
index 26e68ebff5db337b37c132d6666fb6b8b7e16fa2..11211ddbdcab18e2119941ac6b77be7229ada1d4 100644 (file)
@@ -57,6 +57,7 @@ namespace MonoTests.System.Windows.Forms
                        Assert.AreEqual (16, B1.ImageList.ImageSize.Width, "#3g");
                }
 
+
                [Test]
                public void IMeModeTest ()
                {
@@ -119,6 +120,12 @@ namespace MonoTests.System.Windows.Forms
        [TestFixture]
        public class ButtonInheritorTest : Button {
 
+               [Test]
+               public void DefaultImeModeTest ()
+               {
+                       Assert.AreEqual (ImeMode.Disable, DefaultImeMode, "1");
+               }
+
                [Test]
                [ExpectedException (typeof (ArgumentNullException))]
                public void Constructor_Null ()
index 96476411b8f4375033aa43eaa22625683a483039..227ad6d206cf867b08e01f587b25513adabed6bf 100644 (file)
@@ -1,3 +1,9 @@
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * FormTest.cs: make sure Form.ImeMode is NoControl by default.
+
+       * ButtonTest.cs: add a unit test for Button.DefaultImeMode.
+
 2006-12-06  Chris Toshok  <toshok@ximian.com>
 
        * RadioButtonTest.cs: add a couple of test involving TabStop.
index 46671da833484c3d41c4eec2a01de17b7c3005af..3077a4de9ff66f770b6ca77b8a5dc61a0a59c7f8 100644 (file)
@@ -72,6 +72,7 @@ namespace MonoTests.System.Windows.Forms
                        Assert.IsFalse (myform.TopMost, "#36");
                        Assert.AreEqual (Color.Empty, myform.TransparencyKey, "#37");
                        Assert.AreEqual (FormWindowState.Normal, myform.WindowState, "#38");
+                       Assert.AreEqual (ImeMode.NoControl, myform.ImeMode, "#39");
                        myform.Dispose ();
                }