{
child.LayoutChanged -= OnChildLayoutChanges;
//child.Parent = null;
+
+ //check if HoverWidget is removed from Tree
+ if (CurrentInterface.HoverWidget != null) {
+ if (this.Contains (CurrentInterface.HoverWidget))
+ CurrentInterface.HoverWidget = null;
+ }
+
lock (children)
Children.Remove(child);
{
if (child != null) {
+ //check if HoverWidget is removed from Tree
+ if (CurrentInterface.HoverWidget != null) {
+ if (this.Contains (CurrentInterface.HoverWidget))
+ CurrentInterface.HoverWidget = null;
+ }
contentSize = new Size (0, 0);
child.LayoutChanged -= OnChildLayoutChanges;
child.Parent = null;
public static int DeviceRepeatInterval = 40;
/// <summary>Tabulation size in Text controls</summary>
public static int TabSize = 4;
- public static bool ReplaceTabsWithSpace = false;
public static string LineBreak = "\r\n";
/// <summary> Allow rendering of interface in development environment </summary>
public static bool DesignerMode = false;
/// on the first instance creation of a IML item.
/// </summary>
public static Dictionary<String, Instantiator> Instantiators = new Dictionary<string, Instantiator>();
- public bool DesignMode = false;
public List<CrowThread> CrowThreads = new List<CrowThread>();//used to monitor thread finished
#endregion
public void DeleteWidget(GraphicObject g)
{
g.Visible = false;//trick to ensure clip is added to refresh zone
+ if (_hoverWidget != null) {
+ if (g.Contains (_hoverWidget))
+ HoverWidget = null;
+ }
lock (UpdateMutex)
GraphicTree.Remove (g);
}
}
if (HoverWidget != null) {
- //TODO, ensure object is still in the graphic tree
//check topmost graphicobject first
GraphicObject tmp = HoverWidget;
GraphicObject topc = null;
}
}
-
if (HoverWidget.MouseIsIn (e.Position)) {
HoverWidget.checkHoverWidget (e);
return true;