public void UpdateHookForm() { // update hook form if (m_hookForm != null) { if (m_hookForm.Enabled) { m_hookForm.Text = this.DMS(); m_hookGeneralLabel.Text = this.GeneralInfo(); m_hookDetailLabel.Text = this.DetailedInfo(); m_hookDescLabel.Text = this.DescriptionInfo(); } else { m_hookForm.Dispose(); m_hookTreeNode = null; m_hookGeneralTreeNode = null; m_hookDetailTreeNode = null; m_hookDescTreeNode = null; m_hookGeneralLabel = null; m_hookDetailLabel = null; m_hookDescLabel = null; m_hookForm = null; IsHooked = false; } } }
public override void Load() { try { m_layerManagerForm = new FormWidget("Layer Manager"); m_layerManagerForm.Location = new System.Drawing.Point(150, 150); SimpleTreeNodeWidget tnw = new SimpleTreeNodeWidget("Layer Manager"); tnw.Expanded = true; tnw.ParentWidget = m_layerManagerForm; m_activeLayersNode = new SimpleTreeNodeWidget("Active Layers"); m_activeLayersNode.ParentWidget = tnw; m_allLayersNode = new SimpleTreeNodeWidget("All Layers"); m_allLayersNode.ParentWidget = tnw; tnw.ChildWidgets.Add(m_activeLayersNode); tnw.ChildWidgets.Add(m_allLayersNode); m_layerManagerForm.ChildWidgets.Add(tnw); //m_layerManagerForm.ChildWidgets.Add(m_activeLayersNode); //m_layerManagerForm.ChildWidgets.Add(m_allLayersNode); DrawArgs.NewRootWidget.ChildWidgets.Add(m_layerManagerForm); m_updateTimer = new System.Timers.Timer(100); m_updateTimer.Elapsed += new System.Timers.ElapsedEventHandler(m_updateTimer_Elapsed); m_updateTimer.Start(); } catch (Exception ex) { Utility.Log.Write(ex); } base.Load(); }
static void node_OnCheckStateChanged(object o, bool state) { SimpleTreeNodeWidget node = (SimpleTreeNodeWidget)o; if (node != null && node.Tag != null && node.Tag is WorldWind.Renderable.RenderableObject) { WorldWind.Renderable.RenderableObject renderable = (WorldWind.Renderable.RenderableObject)node.Tag; renderable.IsOn = state; } }
private static void UpdateAllLayers(SimpleTreeNodeWidget node, WorldWind.Renderable.RenderableObject renderable) { WorldWind.Renderable.RenderableObject nodeRenderable = (WorldWind.Renderable.RenderableObject)node.Tag; if (nodeRenderable != renderable) { node.Name = renderable.Name; node.Tag = renderable; } if (node.Enabled != renderable.IsOn) { node.Enabled = renderable.IsOn; } if (renderable is WorldWind.Renderable.RenderableObjectList) { WorldWind.Renderable.RenderableObjectList rol = (WorldWind.Renderable.RenderableObjectList)renderable; for (int i = 0; i < rol.ChildObjects.Count; i++) { WorldWind.Renderable.RenderableObject childRenderable = (WorldWind.Renderable.RenderableObject)rol.ChildObjects[i]; if (node.ChildWidgets.Count == i) { SimpleTreeNodeWidget childNode = new SimpleTreeNodeWidget(childRenderable.Name); childNode.Tag = childRenderable; childNode.ParentWidget = node; childNode.OnCheckStateChanged += new CheckStateChangedHandler(node_OnCheckStateChanged); node.ChildWidgets.Add(childNode); } UpdateAllLayers((SimpleTreeNodeWidget)node.ChildWidgets[i], childRenderable); } while (node.ChildWidgets.Count > rol.ChildObjects.Count) { rol.ChildObjects.RemoveAt(rol.ChildObjects.Count - 1); } } else if (node.ChildWidgets.Count > 0) { node.ChildWidgets.Clear(); } }
void IconHookMenuItem_Click(object sender, EventArgs s) { if (m_hookForm == null) { m_hookForm = new FormWidget(" " + this.Name); m_hookForm.WidgetSize = new System.Drawing.Size(200, 250); m_hookForm.Location = new System.Drawing.Point(200, 120); m_hookForm.DestroyOnClose = true; m_hookTreeNode = new SimpleTreeNodeWidget("Info"); m_hookTreeNode.IsRadioButton = true; m_hookTreeNode.Expanded = true; m_hookTreeNode.EnableCheck = false; m_hookGeneralLabel = new LabelWidget(""); m_hookGeneralLabel.ClearOnRender = true; m_hookGeneralLabel.Format = DrawTextFormat.WordBreak; m_hookGeneralLabel.Location = new System.Drawing.Point(0, 0); m_hookGeneralLabel.AutoSize = true; m_hookGeneralLabel.UseParentWidth = false; m_hookGeneralTreeNode = new SimpleTreeNodeWidget("General"); m_hookGeneralTreeNode.IsRadioButton = true; m_hookGeneralTreeNode.Expanded = true; m_hookGeneralTreeNode.EnableCheck = false; m_hookGeneralTreeNode.Add(m_hookGeneralLabel); m_hookTreeNode.Add(m_hookGeneralTreeNode); m_hookDetailLabel = new LabelWidget(""); m_hookDetailLabel.ClearOnRender = true; m_hookDetailLabel.Format = DrawTextFormat.WordBreak; m_hookDetailLabel.Location = new System.Drawing.Point(0, 0); m_hookDetailLabel.AutoSize = true; m_hookDetailLabel.UseParentWidth = false; m_hookDetailTreeNode = new SimpleTreeNodeWidget("Detail"); m_hookDetailTreeNode.IsRadioButton = true; m_hookDetailTreeNode.Expanded = true; m_hookDetailTreeNode.EnableCheck = false; m_hookDetailTreeNode.Add(m_hookDetailLabel); m_hookTreeNode.Add(m_hookDetailTreeNode); m_hookDescTreeNode = new SimpleTreeNodeWidget("Description"); m_hookDescTreeNode.IsRadioButton = true; m_hookDescTreeNode.Expanded = true; m_hookDescTreeNode.EnableCheck = false; m_hookDescLabel = new LabelWidget(""); m_hookDescLabel.ClearOnRender = true; m_hookDescLabel.Format = DrawTextFormat.WordBreak; m_hookDescLabel.Location = new System.Drawing.Point(0, 0); m_hookDescLabel.AutoSize = true; m_hookDescLabel.UseParentWidth = true; m_hookDescTreeNode.Add(m_hookDescLabel); m_hookTreeNode.Add(m_hookDescTreeNode); m_hookForm.Add(m_hookTreeNode); DrawArgs.NewRootWidget.ChildWidgets.Add(m_hookForm); } UpdateHookForm(); m_hookForm.Enabled = true; m_hookForm.Visible = true; IsHooked = true; }
void m_updateTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { List <WorldWind.Renderable.RenderableObject> activeList = new List <WorldWind.Renderable.RenderableObject>(); for (int i = 0; i < ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Count; i++) { WorldWind.Renderable.RenderableObject renderable = (WorldWind.Renderable.RenderableObject)ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects[i]; List <WorldWind.Renderable.RenderableObject> childActiveList = getActiveLayers(renderable); for (int j = 0; j < childActiveList.Count; j++) { activeList.Add(childActiveList[j]); } } for (int i = 0; i < activeList.Count; i++) { if (m_activeLayersNode.ChildWidgets.Count == i) { SimpleTreeNodeWidget node = new SimpleTreeNodeWidget(activeList[i].Name); node.Tag = activeList[i]; node.ParentWidget = m_activeLayersNode; node.OnCheckStateChanged += new CheckStateChangedHandler(node_OnCheckStateChanged); m_activeLayersNode.ChildWidgets.Add(node); } else { SimpleTreeNodeWidget currentNode = (SimpleTreeNodeWidget)m_activeLayersNode.ChildWidgets[i]; WorldWind.Renderable.RenderableObject nodeRenderable = (WorldWind.Renderable.RenderableObject)currentNode.Tag; if (activeList[i] != nodeRenderable) { SimpleTreeNodeWidget node = new SimpleTreeNodeWidget(activeList[i].Name); node.Tag = activeList[i]; node.ParentWidget = m_activeLayersNode; node.OnCheckStateChanged += new CheckStateChangedHandler(node_OnCheckStateChanged); m_activeLayersNode.ChildWidgets.Insert(node, i); } } } if (m_activeLayersNode.ChildWidgets.Count != activeList.Count) { while (m_activeLayersNode.ChildWidgets.Count > activeList.Count) { m_activeLayersNode.ChildWidgets.RemoveAt(m_activeLayersNode.ChildWidgets.Count - 1); } } for (int i = 0; i < ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Count; i++) { WorldWind.Renderable.RenderableObject renderable = (WorldWind.Renderable.RenderableObject)ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects[i]; if (m_allLayersNode.ChildWidgets.Count == i) { SimpleTreeNodeWidget childNode = new SimpleTreeNodeWidget(renderable.Name); childNode.Tag = renderable; childNode.ParentWidget = m_allLayersNode; childNode.OnCheckStateChanged += new CheckStateChangedHandler(node_OnCheckStateChanged); m_allLayersNode.Add(childNode); } UpdateAllLayers((SimpleTreeNodeWidget)m_allLayersNode.ChildWidgets[i], renderable); } while (m_allLayersNode.ChildWidgets.Count > ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Count) { m_allLayersNode.ChildWidgets.RemoveAt(ParentApplication.WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Count - 1); } }