public void Attach(IGraphPresentation presentation, Action <IGraphPresentation> writeDocument)
        {
            myWriteDocument = writeDocument;

            if (myTransformationsObserver != null)
            {
                myTransformationsObserver.ModuleChanged -= OnTransformationsChanged;
                myTransformationsObserver.Dispose();
                myTransformationsObserver = null;
            }

            if (myCaptionsJournal != null)
            {
                myCaptionsJournal.ModuleChanged -= OnCaptionsChanged;
                myCaptionsJournal.Dispose();
                myCaptionsJournal = null;
            }

            myPresentation = presentation;

            if (myPresentation != null)
            {
                var transformationModule = myPresentation.GetModule <ITransformationModule>();
                myTransformationsObserver = transformationModule.CreateObserver();
                myTransformationsObserver.ModuleChanged += OnTransformationsChanged;

                var captionsModule = myPresentation.GetModule <ICaptionModule>();
                myCaptionsJournal = captionsModule.CreateJournal();
                myCaptionsJournal.ModuleChanged += OnCaptionsChanged;
            }
        }
Esempio n. 2
0
 public void Dispose()
 {
     if (myNodeMaskModuleObserver != null)
     {
         myNodeMaskModuleObserver.ModuleChanged -= OnGraphVisibilityChanged;
         myNodeMaskModuleObserver.Dispose();
         myNodeMaskModuleObserver = null;
     }
 }
        public void Dispose()
        {
            if (myModules != null)
            {
                myNodeMaskModuleObserver.ModuleChanged -= OnModuleChanged;
                myNodeMaskModuleObserver.Dispose();

                myTransformationModuleObserver.ModuleChanged -= OnModuleChanged;
                myTransformationModuleObserver.Dispose();

                GraphVisibilityChanged = null;

                myModules.Clear();
                myModules = null;
            }
        }
Esempio n. 4
0
        protected override void OnModelPropertyChanged(string propertyName)
        {
            RaisePropertyChanged(propertyName);

            if (propertyName == "Presentation")
            {
                RemoveNodeCommand.RaiseCanExecuteChanged();
                RemoveAllButCommand.RaiseCanExecuteChanged();
                ShowCyclesCommand.RaiseCanExecuteChanged();
                RemoveNodesWithoutSourcesCommand.RaiseCanExecuteChanged();
                RemoveNodesWithoutTargetsCommand.RaiseCanExecuteChanged();
                RemoveNodesWithoutSiblingsCommand.RaiseCanExecuteChanged();
                ShowNodesOutsideClustersCommand.RaiseCanExecuteChanged();
                FoldUnfoldAllClustersCommand.RaiseCanExecuteChanged();
                AddVisibleNodesOutsideClustersToClusterCommand.RaiseCanExecuteChanged();
                ClearSelectionCommand.RaiseCanExecuteChanged();
                InvertSelectionCommand.RaiseCanExecuteChanged();
                HomeCommand.RaiseCanExecuteChanged();
                InvalidateLayoutCommand.RaiseCanExecuteChanged();
                PrintGraphCommand.RaiseCanExecuteChanged();

                BuildClustersMenu();
                BuildSelectedNodesMenu();

                if (myTransformationsModuleObserver != null)
                {
                    mySelectionObserver.ModuleChanged -= OnSelectionChanged;
                    mySelectionObserver.Dispose();
                    mySelectionObserver = null;

                    myTransformationsModuleObserver.ModuleChanged -= OnTransformationsModuleChanged;
                    myTransformationsModuleObserver.Dispose();
                    myTransformationsModuleObserver = null;
                }

                if (Presentation != null)
                {
                    var transformations = Presentation.GetModule <ITransformationModule>();
                    myTransformationsModuleObserver = transformations.CreateObserver();
                    myTransformationsModuleObserver.ModuleChanged += OnTransformationsModuleChanged;

                    mySelectionObserver = Presentation.GetPropertySetFor <Selection>().CreateObserver();
                    mySelectionObserver.ModuleChanged += OnSelectionChanged;
                }
            }
        }
Esempio n. 5
0
        protected override void OnModelPropertyChanged(string propertyName)
        {
            if (propertyName == "Presentation")
            {
                if (myPresentation == Model.Presentation)
                {
                    return;
                }

                if (myTransformationsObserver != null)
                {
                    myTransformationsObserver.ModuleChanged -= OnTransformationsChanged;
                    myTransformationsObserver.Dispose();
                }

                myPresentation = Model.Presentation;

                // first build tree - master for preview
                BuildTree();

                // rebuild preview
                myPreviewNodes = null;
                if (Filter == null)
                {
                    PreviewNodes.Refresh();
                }
                else
                {
                    Filter = null;
                }

                // register for updates only AFTER tree is built up completely to avoid getting notified by the built up process
                var transformationModule = Model.Presentation.GetModule <ITransformationModule>();
                myTransformationsObserver = transformationModule.CreateObserver();
                myTransformationsObserver.ModuleChanged += OnTransformationsChanged;
            }
        }