Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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();
            }
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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);
            }
        }