Example #1
0
 public AnatomyFilter(AnatomyController anatomyController)
     : base("Medical.GUI.Anatomy.AnatomyFilter.layout")
 {
     scrollView             = widget as ScrollView;
     this.anatomyController = anatomyController;
     topLevelButtons.clear();
 }
        public SelectionModeChooser(AnatomyController anatomyController)
            : base("Medical.GUI.SelectionModeChooser.SelectionModeChooser.layout")
        {
            this.anatomyController = anatomyController;
            anatomyController.PickingModeChanged        += new Engine.EventDelegate <AnatomyController, AnatomyPickingMode>(anatomyController_PickingModeChanged);
            anatomyController.ShowPremiumAnatomyChanged += new Engine.EventDelegate <AnatomyController, bool>(anatomyController_ShowPremiumAnatomyChanged);

            pickingModeGroup = new ButtonGroup();
            Button groupButton = (Button)widget.findWidget("GroupButton");

            groupButton.UserObject = AnatomyPickingMode.Group;
            pickingModeGroup.addButton(groupButton);
            individualButton            = (Button)widget.findWidget("IndividualButton");
            individualButton.UserObject = AnatomyPickingMode.Individual;
            pickingModeGroup.addButton(individualButton);
            noneButton            = (Button)widget.findWidget("NoneButton");
            noneButton.UserObject = AnatomyPickingMode.None;
            pickingModeGroup.addButton(noneButton);
            pickingModeGroup.SelectedButton         = pickingModeGroup.findButtonWithUserData(anatomyController.PickingMode);
            pickingModeGroup.SelectedButtonChanged += new EventHandler(pickingModeGroup_SelectedButtonChanged);

            ChangeSelectionMode.FirstFrameUpEvent += changeSelectionMode_FirstFrameUpEvent;

            toggleIndividualSelectionVisible();
        }
 public SelectionOperatorTask(AnatomyController anatomyController)
     : base("Medical.SelectionOperator", "Selection Operator", "", TaskMenuCategories.Explore)
 {
     this.ShowOnTaskbar       = false;
     selectionOperatorChooser = new SelectionOperatorChooser(anatomyController);
     anatomyController.SelectionOperatorChanged += anatomyController_SelectionOperatorChanged;
     anatomyController_SelectionOperatorChanged(anatomyController, anatomyController.SelectionOperator);
 }
 public SelectionModeTask(AnatomyController anatomyController)
     : base("Medical.SelectionMode", "Selection Mode", "", TaskMenuCategories.Explore)
 {
     this.ShowOnTaskbar   = false;
     selectionModeChooser = new SelectionModeChooser(anatomyController);
     anatomyController.PickingModeChanged += new EventDelegate <AnatomyController, AnatomyPickingMode>(anatomyController_PickingModeChanged);
     anatomyController_PickingModeChanged(anatomyController, anatomyController.PickingMode);
 }
Example #5
0
 void anatomyController_SelectionOperatorChanged(AnatomyController source, SelectionOperator arg)
 {
     if (allowSelectionModeChanges)
     {
         allowSelectionModeChanges    = false;
         selectionOperators.Selection = arg;
         allowSelectionModeChanges    = true;
     }
 }
Example #6
0
        public AnatomyContextWindowManager(SceneViewController sceneViewController, AnatomyController anatomyController, LayerController layerController, AnatomyFinder anatomyFinder, AnatomyTaskManager anatomyTaskManager)
        {
            this.sceneViewController = sceneViewController;
            this.anatomyController   = anatomyController;
            this.anatomyController.SelectedAnatomy.SelectedAnatomyChanged += anatomyController_SelectedAnatomyChanged;
            this.anatomyFinder      = anatomyFinder;
            this.layerController    = layerController;
            this.anatomyTaskManager = anatomyTaskManager;

            liveThumbnailController             = new LiveThumbnailController("ContextWindows_", new IntSize2(ThumbRenderSize, ThumbRenderSize), sceneViewController);
            liveThumbnailController.MaxPoolSize = 1;
        }
Example #7
0
        public PoseController(StandaloneController controller)
        {
            activeModes.Add("Main");

            controller.SceneLoaded    += controller_SceneLoaded;
            controller.SceneUnloading += controller_SceneUnloading;
            sceneViewController        = controller.SceneViewController;
            anatomyController          = controller.AnatomyController;
            musclePositionController   = controller.MusclePositionController;

            if (controller.MedicalController.CurrentScene != null)
            {
                controller_SceneLoaded(controller.MedicalController.CurrentScene);
            }
        }
        void anatomyController_PickingModeChanged(AnatomyController source, AnatomyPickingMode arg)
        {
            switch (arg)
            {
            case AnatomyPickingMode.Group:
                IconName = "SelectionIcons\\GroupSelection";
                break;

            case AnatomyPickingMode.Individual:
                IconName = "SelectionIcons\\IndividualSelection";
                break;

            case AnatomyPickingMode.None:
                IconName = "SelectionIcons\\NoSelection";
                break;
            }
            fireIconChanged();
        }
Example #9
0
        public SelectionOperatorChooser(AnatomyController anatomyController)
            : base("Medical.GUI.SelectionOperatorChooser.SelectionOperatorChooser.layout")
        {
            this.anatomyController = anatomyController;
            anatomyController.SelectionOperatorChanged += anatomyController_SelectionOperatorChanged;

            selectionOperators = new ButtonGroup <SelectionOperator>();
            setupSelectionButton(SelectionOperator.Select, "SelectButton");
            setupSelectionButton(SelectionOperator.Add, "AddButton");
            setupSelectionButton(SelectionOperator.Remove, "RemoveButton");
            selectionOperators.Selection              = anatomyController.SelectionOperator;
            selectionOperators.SelectedButtonChanged += pickingModeGroup_SelectedButtonChanged;

            ToggleAddMode.FirstFrameDownEvent    += toggleAdMode_FirstFrameDownEvent;
            ToggleAddMode.FirstFrameUpEvent      += toggleAdMode_FirstFrameUpEvent;
            ToggleRemoveMode.FirstFrameDownEvent += toggleRemoveMode_FirstFrameDownEvent;
            ToggleRemoveMode.FirstFrameUpEvent   += toggleRemoveMode_FirstFrameUpEvent;
        }
        void anatomyController_SelectionOperatorChanged(AnatomyController source, SelectionOperator arg)
        {
            switch (arg)
            {
            case SelectionOperator.Select:
                IconName = "AnatomyFinder.Select";
                break;

            case SelectionOperator.Add:
                IconName = "AnatomyFinder.Add";
                break;

            case SelectionOperator.Remove:
                IconName = "AnatomyFinder.Remove";
                break;
            }
            fireIconChanged();
        }
Example #11
0
        void AnatomyController_ShowPremiumAnatomyChanged(AnatomyController source, bool isPremium)
        {
            standaloneController.AnatomyController.setCommandPermission(AnatomyCommandPermissions.PremiumActive, isPremium);
            bookmarksController.PremiumBookmarks = isPremium;
            if (isPremium)
            {
                bookmarksController.clearBookmarks();
                bookmarksController.clearBookmarkPaths();
                //Save the demo bookmarks so the user does not feel like they "lost" them.
                //This isn't the most efficient way, but it respects the source and destination data
                //that is setup somewhere else. Also its only really going to copy 5 or 6 things one
                //time for most users.
                var oldBookmarksResourceProvider = createNonPremiumBookmarksResourceProvider();
                var newBookmarksResourceProvider = createPremiumBookmarksResourceProvider();
                if (!newBookmarksResourceProvider.listFiles("*.bmk").Any())
                {
                    foreach (String file in oldBookmarksResourceProvider.listFiles("*.bmk"))
                    {
                        using (Stream stream = oldBookmarksResourceProvider.openFile(file))
                        {
                            using (Stream write = newBookmarksResourceProvider.openWriteStream(Path.GetFileName(file)))
                            {
                                stream.CopyTo(write);
                            }
                        }
                    }
                }
                bookmarksController.loadSavedBookmarks(newBookmarksResourceProvider);

                //Turn off the ad
                if (taskMenuAd != null)
                {
                    taskMenuAd.Dispose();
                    taskMenuAd = null;
                }
            }
        }
Example #12
0
        public ViewsGui(SceneViewController sceneViewController, AnatomyController anatomyController)
            : base("Medical.GUI.ViewsGui.ViewsGui.layout")
        {
            this.sceneViewController = sceneViewController;
            this.anatomyController   = anatomyController;

            Button button = window.findWidget("Front") as Button;

            button.MouseButtonClick += (s, e) => setStraightAngleView(new Vector3(1.0f, 1.0f, 0.0f), new Vector3(0.0f, 0.0f, 1.0f));

            button = window.findWidget("Back") as Button;
            button.MouseButtonClick += (s, e) => setStraightAngleView(new Vector3(1.0f, 1.0f, 0.0f), new Vector3(0.0f, 0.0f, -1.0f));

            button = window.findWidget("Left") as Button;
            button.MouseButtonClick += (s, e) => setStraightAngleView(new Vector3(0.0f, 1.0f, 1.0f), new Vector3(1.0f, 0.0f, 0.0f));

            button = window.findWidget("Right") as Button;
            button.MouseButtonClick += (s, e) => setStraightAngleView(new Vector3(0.0f, 1.0f, 1.0f), new Vector3(-1.0f, 0.0f, 0.0f));

            button = window.findWidget("Top") as Button;
            button.MouseButtonClick += (s, e) => setTopBottomView(1);

            button = window.findWidget("Bottom") as Button;
            button.MouseButtonClick += (s, e) => setTopBottomView(-1);

            button = window.findWidget("CenterVisible") as Button;
            button.MouseButtonClick += (s, e) => showAllVisibleAnatomy();

            undoItem = window.findWidget("Undo") as Button;
            undoItem.MouseButtonClick += (s, e) => undo();

            redoItem = window.findWidget("Redo") as Button;
            redoItem.MouseButtonClick += (s, e) => redo();

            sceneViewController.ActiveWindowChanged += sceneViewController_ActiveWindowChanged;
            sceneViewController_ActiveWindowChanged(sceneViewController.ActiveWindow);
        }
 void anatomyController_ShowPremiumAnatomyChanged(AnatomyController source, bool arg)
 {
     toggleIndividualSelectionVisible();
 }
Example #14
0
 void anatomyController_AnatomyChanged(AnatomyController anatomyController)
 {
     updateSearch();
     anatomyFilter.refreshCategories();
 }
Example #15
0
 void anatomyController_ShowPremiumAnatomyChanged(AnatomyController source, bool arg)
 {
     //This gets rid of the locks, clear thumbs and update the search.
     updateSearch();
 }
 void anatomyController_PickingModeChanged(AnatomyController source, AnatomyPickingMode arg)
 {
     allowSelectionModeChanges       = false;
     pickingModeGroup.SelectedButton = pickingModeGroup.findButtonWithUserData(anatomyController.PickingMode);
     allowSelectionModeChanges       = true;
 }
Example #17
0
        public AnatomyFinder(AnatomyController anatomyController, SceneViewController sceneViewController, LayerController layerController, AnatomyTaskManager anatomyTaskManager)
            : base("Medical.GUI.Anatomy.AnatomyFinder.layout")
        {
            this.anatomyController                       = anatomyController;
            anatomyController.AnatomyChanged            += anatomyController_AnatomyChanged;
            anatomyController.ShowPremiumAnatomyChanged += anatomyController_ShowPremiumAnatomyChanged;
            anatomyController.ClearDisplayedAnatomy     += anatomyController_ClearDisplayedAnatomy;
            if (PlatformConfig.UnrestrictedEnvironment)
            {
                anatomyController.DisplayAnatomy += anatomyController_DisplayAnatomy;
            }
            else
            {
                anatomyController.DisplayAnatomy += anatomyController_DisplayAnatomy_Restricted;
            }
            anatomyController.SelectedAnatomy.SelectedAnatomyChanged += anatomyController_SelectedAnatomyChanged;
            anatomyController.SearchStarted        += anatomyController_SearchStarted;
            anatomyController.SearchEnded          += anatomyController_SearchEnded;
            anatomyController.SuggestSearchCaption += anatomyController_SuggestSearchCaption;

            this.sceneViewController = sceneViewController;

            this.layerController               = layerController;
            this.layerController               = layerController;
            layerController.OnRedo            += updateUndoRedo;
            layerController.OnUndo            += updateUndoRedo;
            layerController.OnUndoRedoChanged += updateUndoRedo;
            layerController.OnActiveTransparencyStateChanged += updateUndoRedo;

            anatomyWindowManager = new AnatomyContextWindowManager(sceneViewController, anatomyController, layerController, this, anatomyTaskManager);
            anatomyFilter        = new AnatomyFilter(anatomyController);
            anatomyFilter.refreshCategories();
            anatomyFilter.FilterChanged          += anatomyFilter_FilterChanged;
            anatomyFilter.TopLevelAnatomyChanged += anatomyFilter_TopLevelAnatomyChanged;

            Button filter = window.findWidget("Filter") as Button;

            filter.MouseButtonClick += filter_MouseButtonClick;

            ScrollView anatomyScroll = (ScrollView)window.findWidget("AnatomyList");

            anatomyList = new HashSetMultiSelectButtonGrid(anatomyScroll, new ButtonGridListLayout(), naturalSort);
            anatomyList.ItemActivated += anatomyList_ItemActivated;
            anatomyList.ItemAdded     += anatomyList_ItemAdded;
            anatomyList.ItemRemoved   += anatomyList_ItemRemoved;
            anatomyList.ItemChosen    += anatomyList_ItemChosen;

            buttonGridThumbs = new ButtonGridLiveThumbnailController <Anatomy>("AnatomyFinder_", new IntSize2(ThumbRenderSize, ThumbRenderSize), sceneViewController, anatomyList, anatomyScroll);

            searchBox = (EditBox)window.findWidget("SearchBox");
            searchBox.EventEditTextChange += new MyGUIEvent(searchBox_EventEditTextChange);
            clearButton = (Button)searchBox.findWidgetChildSkin("Clear");
            clearButton.MouseButtonClick += new MyGUIEvent(clearButton_MouseButtonClick);
            clearButton.NeedToolTip       = true;
            clearButton.EventToolTip     += button_UserObject_EventToolTip;
            clearButton.UserObject        = "Clear Search";

            Button unhideAll = window.findWidget("UnhideAll") as Button;

            unhideAll.MouseButtonClick += (s, e) =>
            {
                LayerState undo = LayerState.CreateAndCapture();
                this.layerController.unhideAll();
                this.layerController.pushUndoState(undo);
            };

            undoButton = window.findWidget("Undo") as Button;
            undoButton.MouseButtonClick += (s, e) => layerController.undo();

            redoButton = window.findWidget("Redo") as Button;
            redoButton.MouseButtonClick += (s, e) => layerController.redo();

            PickAnatomy.FirstFrameDownEvent     += PickAnatomy_FirstFrameDownEvent;
            PickAnatomy.OnHeldDown              += PickAnatomy_OnHeldDown;
            PickAnatomy.FirstFrameUpEvent       += pickAnatomy_FirstFrameUpEvent;
            OpenAnatomyFinder.FirstFrameUpEvent += openAnatomyFinder_FirstFrameUpEvent;

            if (!PlatformConfig.UnrestrictedEnvironment && !anatomyController.ShowPremiumAnatomy)
            {
                filter.Visible  = false;
                searchBox.Width = filter.Right - searchBox.Left;
            }

            this.Resized += new EventHandler(AnatomyFinder_Resized);
            fixListItemWidth();

            updateSearch();
        }