Ejemplo n.º 1
0
 public DiagramManagerViewModel(IDiagramExplorer explorer, Func <Diagram, IDiagramEditor> editorFactory)
     : this()
 {
     _explorer      = explorer;
     _editorFactory = editorFactory;
     _explorer.OpenPreviewRequested += explorer_OpenPreviewRequested;
 }
Ejemplo n.º 2
0
        public DiagramManagerViewModel(IDiagramExplorer explorer, Func <Diagram, IDiagramEditor> editorFactory)
        {
            _explorer      = explorer;
            _editorFactory = editorFactory;

            _openDiagrams       = Property.New(this, p => OpenDiagrams, OnPropertyChanged);
            _openDiagrams.Value = new ObservableCollection <IDiagramEditor>();

            _openDiagram = Property.New(this, p => p.OpenDiagram, OnPropertyChanged);

            _closingDiagram = Property.New(this, p => p.ClosingDiagram, OnPropertyChanged);

            SaveClosingDiagramCommand = new RelayCommand(() => _editorsNeedingSaving.Add(ClosingDiagram));
            OpenDiagramCommand        = new RelayCommand <PreviewDiagramViewModel>(OpenDiagramForEdit, d => d != null);
            CloseCommand   = new RelayCommand(Close);
            SaveAllCommand = Command.For(this)
                             .DependsOnCollection(p => p.OpenDiagrams)
                             .When(c => c.Any(p => p.CanSave))
                             .Asynchronously()
                             .Executes(SaveAllAsync);

            _explorer.OpenPreviewRequested += explorer_OpenPreviewRequested;
        }