Exemplo n.º 1
0
        private void configureControls()
        {
            DockControlDockChangedEventHandler dockChangedHandler = new DockControlDockChangedEventHandler((s, args) =>
            {
                menu.setViewViewable(args.DockControl.Name, args.DockControl.Viewable);
            });

            outputViewDock.DockedChanged  += dockChangedHandler;
            libraryViewDock.DockedChanged += dockChangedHandler;
            docViewDock.DockedChanged     += dockChangedHandler;
            propViewDock.DockedChanged    += dockChangedHandler;

            menu.ViewToggled += (s, args) =>
            {
                DockControl dockControl = lookUpDockControl(args.ViewName);
                if (dockControl.Viewable)
                {
                    dockControl.undock();
                }
                else
                {
                    dockControl.dock();
                }
            };


            this.KeyPreview = true;
            this.KeyDown   += (s, a) =>
            {
                if (a.Control && a.KeyCode == Keys.S)
                {
                    docView.saveCurrent();
                }
            };

            ProjectManager.Instance.ActiveProject.MediaAdded += mediaAddedListener;
            ProjectManager.Instance.ProjectChanged           += (s, a) =>
            {
                a.NewProject.MediaAdded += mediaAddedListener;
            };

            libraryView.SelectionChanged += (s, args) =>
            {
                //if (args.Selected.FilePath.ToLower().StartsWith(ProjectManager.Instance.ActiveProject.PathMedia.ToLower()))
                //{
                //    //clicked on a node in the media directory
                //}
                //else
                {
                    //clicked on a node not in the media directory
                    setDocumentAndProperties(args.Selected.FilePath, true, true);
                }
            };


            libraryView.ClickedOnNode += (s, args) =>
            {
                if (args.Selected.FilePath.ToLower().StartsWith(ProjectManager.Instance.ActiveProject.PathMedia.ToLower()))
                {
                }
                else
                {
                    setDocumentAndProperties(args.Selected.FilePath, false, true);
                }
            };



            docView.PropertyChangeRequested += (s, args) =>
            {
                setDocumentAndProperties(UIManager.Instance.getDocumentFactory(args.PropertyDescriptor), false, true);
            };
            libraryView.FileDeleted += (s, args) =>
            {
                propView.clearPropertyContent();

                if (args.PropertyDescriptor is PathDescriptor)
                {
                    docView.closeDocument((args.PropertyDescriptor as PathDescriptor).FilePath);
                }

                //setDocumentAndProperties(UIManager.Instance.getDocumentFactory(args.PropertyDescriptor), true, true);
            };

            SelectionManager.Instance.SelectedInstanceChanged += (s, old) =>
            {
                if (SelectionManager.Instance.SelectedInstance == null)
                {
                    propView.clearPropertyContent();
                }
                else
                {
                    setDocumentAndProperties(UIManager.Instance.getDocumentFactory(SelectionManager.Instance.SelectedInstance), false, true);
                }
            };
        }