diff options
author | Jackson Harper <jackson@novell.com> | 2006-02-27 23:02:26 +0300 |
---|---|---|
committer | Jackson Harper <jackson@novell.com> | 2006-02-27 23:02:26 +0300 |
commit | 926e80a36485e0f48229631092243c701fd86fa7 (patch) | |
tree | 8129ae674707dd8442c88222236738d19381917f /mcs | |
parent | 200f34ab9a1bd229e061dbf1803020b0ee009ef5 (diff) |
* Control.cs: Change where implicit controls fall in the
* zorder.
They are now on top of all children.
- Synced AddImplicit code with Add
- Removed unused enumerator.
svn path=/trunk/mcs/; revision=57349
Diffstat (limited to 'mcs')
-rw-r--r-- | mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog | 27 | ||||
-rw-r--r-- | mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs | 21 |
2 files changed, 40 insertions, 8 deletions
diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog index fb85ce087bc..6674be3ad06 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog @@ -1,3 +1,10 @@ +2006-02-27 Jackson Harper <jackson@ximian.com> + + * Control.cs: Change where implicit controls fall in the zorder. + They are now on top of all children. + - Synced AddImplicit code with Add + - Removed unused enumerator. + 2006-02-26 Peter Dennis Bartok <pbartok@novell.com> * TextControl.cs(Insert): Combine the last lines unless the insertion @@ -57,7 +64,25 @@ draw all the decorations ourselves. - Set a clipping rectangle on the non client paint event, the window manager drawing code needs one. - + * Form.cs: The window manager needs to know when the window state + has been updated. + * Hwnd.cs: The window manager stuff now does a proper NCCALC so we + don't need to factor in border and title sizes in these + methods. TODO: Remove the args and fix the call points. + * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA + properly. + - Let the driver set the cursors. + - Improve active window handling + - Correct sizes for title bars and buttons. + - Match MS drawing better + * MdiWindowManager.cs: We don't need to handle border style + updates specially anymore. + - Check for scrollbars when windows are done moving + - Handle Active properly. + * MimeIcon.cs: Don't crash when we can't load the GNOME stuff + correctly. I am spewing the exception though, so we don't hide the + bugs. + 2006-02-26 Pedro Martinez Julia <pedromj@gmail.com> * DataGridViewRowPostPaintEventArgs.cs, 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 ac21d9425f2..82a058af643 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs @@ -264,7 +264,7 @@ namespace System.Windows.Forms public class ControlCollection : IList, ICollection, ICloneable, IEnumerable { #region ControlCollection Local Variables private ArrayList list; - private ArrayList impl_list; + internal ArrayList impl_list; private Control [] all_controls; internal Control owner; #endregion // ControlCollection Local Variables @@ -354,7 +354,9 @@ namespace System.Windows.Forms impl_list = new ArrayList (); all_controls = null; impl_list.Add (control); + control.ChangeParent (owner); + control.InitLayout (); owner.UpdateZOrder (); owner.PerformLayout (control, "Parent"); owner.OnControlAdded (new ControlEventArgs (control)); @@ -487,9 +489,11 @@ namespace System.Windows.Forms if (impl_list == null) return (Control []) list.ToArray (typeof (Control)); + Control [] res = new Control [list.Count + impl_list.Count]; - list.CopyTo (res); - impl_list.CopyTo (res, list.Count); + impl_list.CopyTo (res); + list.CopyTo (res, impl_list.Count); + return res; } @@ -2456,10 +2460,15 @@ namespace System.Windows.Forms if (parent.child_controls.Contains(this)) { parent.child_controls.SetChildIndex(this, 0); } + } else { + if (parent.child_controls.impl_list != null) { + Control last_impl = (Control) parent.child_controls.impl_list [parent.child_controls.impl_list.Count - 1]; + XplatUI.SetZOrder (this.window.Handle, last_impl.Handle, false, false); + } else { + XplatUI.SetZOrder(this.window.Handle, IntPtr.Zero, true, false); + } } - XplatUI.SetZOrder(this.window.Handle, IntPtr.Zero, true, false); - if (parent != null) { parent.Refresh(); } @@ -3246,8 +3255,6 @@ namespace System.Windows.Forms [EditorBrowsable(EditorBrowsableState.Advanced)] protected void RecreateHandle() { - IEnumerator child = child_controls.GetAllEnumerator(); - is_recreating=true; if (IsHandleCreated) { |