예제 #1
0
 private IEditorPresenter ChangePresenter(Type modelType)
 {
     if (Conferma())
     {
         _mainContainer.MenuModifica.Enabled = false;
         IEditorPresenter old = _currentEditorHandler;
         _currentEditorHandler = _editorFactory.GetEditorHandler(modelType, Documento.getInstance().ModelloRiferimento);
         _mainContainer.RightPanel.Controls.Clear();
         _mainContainer.RightPanel.Controls.Add(_currentEditorHandler.Editor);
         foreach (ToolStripItem item in _mainContainer.SaveItems)
         {
             item.Enabled = true;
             if (null != old)
             {
                 item.Click -= old.OnSave;
             }
             if (null != _progettoPresenter)
             {
                 item.Click -= _progettoPresenter.OnSave;
             }
             item.Click += _currentEditorHandler.OnSave;
         }
         _progettoPresenter = null;
     }
     return(_currentEditorHandler);
 }
        public ProjectExplorerPresenter(IEditorPresenter editor)
        {
            _editor = editor;
            _editor.SyncCurrentProject += EditorSyncCurrentProject;

            _libraryEventBindings = new Dictionary<EventBindings, EventHandler<ResourceEventArgs<Library>>>() {
                { EventBindings.LibraryAdded, (s, e) => OnLibraryAdded(new ResourceEventArgs<Library>(e.Resource)) },
                { EventBindings.LibraryRemoved, (s, e) => OnLibraryRemoved(new ResourceEventArgs<Library>(e.Resource)) },
                { EventBindings.LibraryModified, (s, e) => OnLibraryModified(new ResourceEventArgs<Library>(e.Resource)) },
            };

            _levelEventBindings = new Dictionary<EventBindings, EventHandler<ResourceEventArgs<Level>>>() {
                { EventBindings.LevelAdded, (s, e) => OnLevelAdded(new ResourceEventArgs<Level>(e.Resource)) },
                { EventBindings.LevelRemoved, (s, e) => OnLevelRemoved(new ResourceEventArgs<Level>(e.Resource)) },
                { EventBindings.LevelModified, (s, e) => OnLevelModified(new ResourceEventArgs<Level>(e.Resource)) },
            };

            _objectEventBindings = new Dictionary<EventBindings, EventHandler<ResourceEventArgs<ObjectClass>>>() {
                { EventBindings.ObjectAdded, (s, e) => OnObjectAdded(new ResourceEventArgs<ObjectClass>(e.Resource)) },
                { EventBindings.ObjectRemoved, (s, e) => OnObjectRemoved(new ResourceEventArgs<ObjectClass>(e.Resource)) },
                { EventBindings.ObjectModified, (s, e) => OnObjectModified(new ResourceEventArgs<ObjectClass>(e.Resource)) },
            };

            _tilePoolEventBindings = new Dictionary<EventBindings, EventHandler<ResourceEventArgs<TilePool>>>() {
                { EventBindings.TilePoolAdded, (s, e) => OnTilePoolAdded(new ResourceEventArgs<TilePool>(e.Resource)) },
                { EventBindings.TilePoolRemoved, (s, e) => OnTilePoolRemoved(new ResourceEventArgs<TilePool>(e.Resource)) },
                { EventBindings.TilePoolModified, (s, e) => OnTilePoolModified(new ResourceEventArgs<TilePool>(e.Resource)) },
            };
        }
예제 #3
0
        private void BtnCreateEditorClick(object sender, EventArgs e)
        {
            IEditorPresenter editor = this.editorFactory.Create();

            this.editors.Add(editor);
            editor.Show();
        }
예제 #4
0
        private void OnLibreriaDoubleClick(object sender, MouseEventArgs args)
        {
            TreeNode clicked = _mainContainer.LibreriaView.GetNodeAt(new System.Drawing.Point(args.X, args.Y));

            if (null == clicked.Tag)
            {
                return;
            }
            PersisterMapper obj = (clicked.Tag as PersisterMapper);

            if (null == obj)
            {
                return;
            }
            IEditorPresenter presenter = ChangePresenter(obj.Element.GetType());

            presenter.CaricaModello(obj.Copy());
        }
예제 #5
0
        private void VisualizzaEditorPer(Sequenza s)
        {
            if (null != _sequenzaEditor)
            {
                _editor.EditorContainer.Controls.Remove(_sequenzaEditor.Editor);
            }
            _sequenzaEditor = Documento.getInstance().EditorFactory.GetEditorHandler(s.GetType(), Documento.getInstance().ModelloRiferimento);
            _sequenzaEditor.CaricaModello(new PersisterMapper <Sequenza>(s));
            _editor.EditorContainer.Controls.Add(_sequenzaEditor.Editor);
            _sequenzaEditor.Editor.BringToFront();
            _editor.NomeField.Text = s.Nome;
            FasciaOraria fo = _wrapper.Element.GetFasciaOrariaOf(s);

            _currentSequenza = s;
            _editor.StartPicker.InitValue = fo.StartToDateTime();
            _editor.EndPicker.InitValue   = fo.EndToDateTime();
            ControllaPickers(fo);
        }
예제 #6
0
 private void OnNuovoProgettoClick(object sender, EventArgs args)
 {
     if (Conferma())
     {
         _progettoPresenter = new ProgrammazioneEditorPresenter(_editorFactory);
         _mainContainer.RightPanel.Controls.Clear();
         _mainContainer.RightPanel.Controls.Add(_progettoPresenter.Editor);
         foreach (ToolStripItem item in _mainContainer.SaveItems)
         {
             item.Enabled = true;
             if (null != _currentEditorHandler)
             {
                 item.Click -= _currentEditorHandler.OnSave;
             }
             if (null != _progettoPresenter)
             {
                 item.Click -= _progettoPresenter.OnSave;
             }
             item.Click += _progettoPresenter.OnSave;
         }
         _currentEditorHandler = null;
         _mainContainer.MenuModifica.Enabled = true;
     }
 }
예제 #7
0
        public void BindController(IEditorPresenter controller)
        {
            if (_controller == controller) {
                return;
            }

            _controller = controller;
        }
        //private string _selectedObject;
        //private ObjectClass _selectedObjectRef;
        public ObjectPoolCollectionPresenter(IEditorPresenter editor)
        {
            _editor = editor;
            _editor.SyncCurrentProject += SyncCurrentProjectHandler;

            InitializeCommandManager();
        }
        public TileBrushManagerPresenter(IEditorPresenter editor)
        {
            _editor = editor;
            _editor.SyncCurrentProject += SyncCurrentProjectHandler;

            InitializeCommandManager();
        }
예제 #10
0
        protected virtual void Dispose(bool disposing)
        {
            if (_editor != null) {
                if (disposing) {
                    BindTilePoolManager(null);
                    _editor.SyncCurrentProject -= EditorSyncCurrentProject;
                }

                _editor = null;
            }
        }
예제 #11
0
        public TilePoolListPresenter(IEditorPresenter editor)
        {
            _editor = editor;
            _editor.SyncCurrentProject += EditorSyncCurrentProject;

            _tilePoolPresenters = new Dictionary<Guid, TilePoolPresenter>();

            InitializeCommandManager();
        }