ReloadGraphLayout() private method

private ReloadGraphLayout ( MyNodeGroup target ) : void
target MyNodeGroup
return void
        private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            MyNodeView nodeView = null;

            foreach (GraphLayoutForm graphView in m_mainForm.GraphViews.Values)
            {
                if (graphView.Desktop.FocusElement is MyNodeView &&
                    (graphView.Desktop.FocusElement as MyNodeView).Node == propertyGrid.SelectedObject)
                {
                    nodeView = graphView.Desktop.FocusElement as MyNodeView;
                    nodeView.UpdateView();
                }

                if (propertyGrid.SelectedObject is MyNodeGroup && graphView.Target == propertyGrid.SelectedObject)
                {
                    graphView.Text = graphView.Target.Name;
                }

                graphView.Desktop.Invalidate();
            }

            if (nodeView != null)
            {
                if (nodeView.BranchChangeNeeded)
                {
                    if (nodeView.OutputBranchChangeNeeded)
                    {
                        m_mainForm.CloseObservers(nodeView.Node);
                    }

                    if (nodeView.Node is MyNodeGroup)
                    {
                        m_mainForm.ReloadGraphLayout(nodeView.Node as MyNodeGroup);
                    }

                    (nodeView as MyVariableBranchView).UpdateBranches();
                }
            }

            propertyGrid.Refresh();

            if (Target is MyNode)
            {
                UpdateTitleAndButtons();
                m_mainForm.MemoryBlocksView.UpdateView();
            }

            if (Target is MyAbstractObserver && m_mainForm.SimulationHandler.State == MySimulationHandler.SimulationState.PAUSED)
            {
                m_mainForm.UpdateObserverView(Target as MyAbstractObserver);
            }
        }
Example #2
0
        private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            OnPropertyChanged(e.ChangedItem.PropertyDescriptor.Name);

            var node = propertyGrid.SelectedObject as MyNode;

            if (node != null)
            {
                var nodeGroup = node as MyNodeGroup;
                if (nodeGroup != null)
                {
                    m_mainForm.ReloadGraphLayout(nodeGroup);
                }

                node.Updated();
            }

            foreach (GraphLayoutForm graphView in m_mainForm.GraphViews.Values)
            {
                if (propertyGrid.SelectedObject is MyNodeGroup && graphView.Target == propertyGrid.SelectedObject)
                {
                    graphView.Text = graphView.Target.Name;
                }
            }

            foreach (TextEditForm textEditor in m_mainForm.TextEditors.Values)
            {
                if (textEditor.Target == propertyGrid.SelectedObject)
                {
                    textEditor.Text = textEditor.Target.Name;
                }
            }

            propertyGrid.Refresh();

            if (Target is MyNode)
            {
                UpdateTitleAndButtons();
                m_mainForm.MemoryBlocksView.UpdateView();
            }

            if (Target is MyAbstractObserver && m_mainForm.SimulationHandler.State == MySimulationHandler.SimulationState.PAUSED)
            {
                m_mainForm.UpdateObserverView(Target as MyAbstractObserver);
            }
        }