From: Chris Toshok Date: Thu, 7 Dec 2006 01:18:18 +0000 (-0000) Subject: In Test/System.Windows.Forms: X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=4eea763c7c20d5a680e6e72ce40945f891f1d2b2;p=mono.git In Test/System.Windows.Forms: * FormTest.cs: make sure Form.ImeMode is NoControl by default. * ButtonTest.cs: add a unit test for Button.DefaultImeMode. 2006-12-06 Chris Toshok 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 svn path=/trunk/mcs/; revision=69148 --- diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs index 945f459fec0..8a7cc770b8f 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs @@ -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 { diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog index 725f967bf17..1a688a9fcdc 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog @@ -1,3 +1,20 @@ +2006-12-06 Chris Toshok + + * 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 * Control.cs: make control_style private. diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs index d3072d3cfe6..bb8968b8888 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs @@ -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; } diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs index 36bfea95b4b..8b4b2604f80 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs @@ -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; diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs index 26e68ebff5d..11211ddbdca 100644 --- a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs +++ b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ButtonTest.cs @@ -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 () diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog index 96476411b8f..227ad6d206c 100644 --- a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog +++ b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog @@ -1,3 +1,9 @@ +2006-12-06 Chris Toshok + + * FormTest.cs: make sure Form.ImeMode is NoControl by default. + + * ButtonTest.cs: add a unit test for Button.DefaultImeMode. + 2006-12-06 Chris Toshok * RadioButtonTest.cs: add a couple of test involving TabStop. diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FormTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FormTest.cs index 46671da8334..3077a4de9ff 100644 --- a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FormTest.cs +++ b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/FormTest.cs @@ -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 (); }