+2007-01-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * MdiClient.cs: Add ActivatePreviousChild for
+ mdi child window navigation.
+ * Form.cs: Use MdiClient.ActivateNextChild/
+ ActivatePreviousChild instead of Form.SelectNextControl
+ to select the next/previous child since
+ SelectNextControl doesn't do it in the same order
+ as mdi children should do it.
+
2007-01-16 Chris Toshok <toshok@ximian.com>
* Control.cs: remove container_selected field.
return true;
case Keys.Control | Keys.Tab:
case Keys.Control | Keys.F6:
- MdiParent.SelectNextControl (MdiParent.ActiveControl, false, false, true, true);
+ MdiParent.MdiContainer.ActivateNextChild ();
return true;
case Keys.Control | Keys.Shift | Keys.Tab:
case Keys.Control | Keys.Shift | Keys.F6:
- MdiParent.SelectNextControl (MdiParent.ActiveControl, true, false, true, true);
+ MdiParent.MdiContainer.ActivatePreviousChild ();
return true;
}
}
Form front = (Form) Controls [0];
Form form = (Form) Controls [1];
- front.SendToBack ();
ActivateChild (form);
+ front.SendToBack ();
+ }
+
+ internal void ActivatePreviousChild ()
+ {
+ if (Controls.Count <= 1)
+ return;
+
+ Form back = (Form) Controls [Controls.Count - 1];
+
+ ActivateChild (back);
}
internal void ActivateChild (Form form)
XplatUI.InvalidateNC (form.Handle);
}
active_child = (Form) Controls [0];
- ParentForm.ActiveControl = active_child;
+
+ if (active_child.Visible)
+ ParentForm.ActiveControl = active_child;
}
internal override IntPtr AfterTopMostControl ()