public SlideInputStrategy(Slide slide, UndoRedoBuffer undoBuffer, NotificationGUIManager notificationManager, RunCommandsAction previewTriggerAction, String tag, String previewIconName = CommonResources.NoIcon)
     : base(tag, previewIconName)
 {
     this.slide                = slide;
     this.undoBuffer           = undoBuffer;
     this.notificationManager  = notificationManager;
     this.previewTriggerAction = previewTriggerAction;
 }
Example #2
0
 /// <summary>
 /// Create a slide trigger strategy. The ActionTypeBrowser determines the slide action types that can be put on the slide.
 /// Be sure to set the DefaultSelection on this browser, this is used when the trigger has no action as the default.
 /// </summary>
 public SlideTriggerStrategy(Slide slide, Browser actionTypeBrowser, UndoRedoBuffer undoBuffer, String tag, String primaryClassName, String previewIconName, NotificationGUIManager notificationManager, RunCommandsAction previewTriggerAction)
     : base(tag, previewIconName, true)
 {
     this.primaryClassName     = primaryClassName;
     this.previewTriggerAction = previewTriggerAction;
     this.undoBuffer           = undoBuffer;
     this.slide               = slide;
     this.actionTypeBrowser   = actionTypeBrowser;
     this.notificationManager = notificationManager;
     ResizeHandles            = ResizeType.Top | ResizeType.Height;
 }
Example #3
0
        public void initializeControllers(BackgroundScene background, LicenseManager licenseManager)
        {
            //Background
            this.background     = background;
            this.LicenseManager = licenseManager;
            atlasPluginManager  = new AtlasPluginManager(this);
            atlasPluginManager.PluginLoadError += new Medical.AtlasPluginManager.PluginMessageDelegate(atlasPluginManager_PluginLoadError);
            atlasPluginManager.manageInstalledPlugins();

            clipboard = new SaveableClipboard();

            //Documents
            DocumentController = new DocumentController();

            //MDI Layout
            mdiLayout = new MDILayoutManager();

            //SceneView
            MyGUIInterface myGUI = MyGUIInterface.Instance;

            sceneViewController = new SceneViewController(mdiLayout, medicalController.EventManager, medicalController.MainTimer, medicalController.PluginManager.RendererPlugin.PrimaryWindow, myGUI.OgrePlatform.RenderManager, background);
            sceneViewController.WindowCreated         += sceneViewController_WindowCreated;
            sceneViewController.WindowDestroyed       += sceneViewController_WindowDestroyed;
            sceneViewController.DefaultBackgroundColor = new Color(0.274f, 0.274f, 0.274f);
            sceneStatsDisplayManager = new SceneStatsDisplayManager(sceneViewController, OgreInterface.Instance.OgrePrimaryWindow.OgreRenderTarget);
            sceneStatsDisplayManager.StatsVisible        = MedicalConfig.EngineConfig.ShowStatistics;
            MedicalConfig.EngineConfig.ShowStatsToggled += engineConfig => sceneStatsDisplayManager.StatsVisible = engineConfig.ShowStatistics;
            lightManager = PluginManager.Instance.RendererPlugin.createSceneViewLightManager();

            //Measurement grid
            measurementGrid = new MeasurementGrid("MeasurementGrid", sceneViewController);
            SceneUnloading += measurementGrid.sceneUnloading;
            SceneLoaded    += measurementGrid.sceneLoaded;

            //Image Renderer
            imageRenderer                       = new ImageRenderer(medicalController, sceneViewController, idleHandler);
            imageRenderer.Background            = background;
            imageRenderer.ImageRenderStarted   += measurementGrid.ScreenshotRenderStarted;
            imageRenderer.ImageRenderCompleted += measurementGrid.ScreenshotRenderCompleted;

            //Anatomy Controller
            anatomyController = new AnatomyController();

            //Medical states
            medicalStateController = new MedicalStateController(imageRenderer, medicalController);
            SceneLoaded           += medicalStateController.sceneLoaded;
            SceneUnloading        += medicalStateController.sceneUnloading;

            //Movement sequences
            movementSequenceController = new MovementSequenceController(medicalController);
            this.SceneLoaded          += movementSequenceController.sceneLoaded;
            musclePositionController   = new MusclePositionController(medicalController.MainTimer, this);

            SceneLoaded    += SleepyActorRepository.SceneLoaded;
            SceneUnloading += SleepyActorRepository.SceneUnloading;

            //Props
            propFactory = new PropFactory(this);

            //Timeline
            timelineController = new TimelineController(this);

            viewHostFactory = new MyGUIViewHostFactory(mdiLayout);
            mvcCore         = new AnomalousMvcCore(this, viewHostFactory);

            //Patient data
            patientDataController = new PatientDataController(this);

            //Tasks
            taskController = new TaskController();

            anatomyTaskManager = new AnatomyTaskManager(taskController, guiManager);

            //Coroutine
            Coroutine.SetTimer(medicalController.MainTimer);

            //Notifications
            notificationManager = new NotificationGUIManager();

            layerController = new LayerController();

            //Create virtual texture manager
            virtualTextureSceneViewLink = new VirtualTextureSceneViewLink(this);
        }
Example #4
0
        public DeveloperRenderPropertiesDialog(SceneViewController sceneViewController, ImageRenderer imageRenderer, GUIManager guiManager, NotificationGUIManager notificationManager)
            : base("Developer.GUI.DeveloperRenderer.DeveloperRenderPropertiesDialog.layout")
        {
            this.sceneViewController = sceneViewController;
            this.imageRenderer       = imageRenderer;
            this.notificationManager = notificationManager;
            this.guiManager          = guiManager;

            width  = new NumericEdit(window.findWidget("RenderingTab/WidthEdit") as EditBox);
            height = new NumericEdit(window.findWidget("RenderingTab/HeightEdit") as EditBox);

            width.ValueChanged  += new MyGUIEvent(renderSizeChanged);
            height.ValueChanged += new MyGUIEvent(renderSizeChanged);

            renderButton = window.findWidget("RenderingTab/Render") as Button;
            renderButton.MouseButtonClick += new MyGUIEvent(renderButton_MouseButtonClick);

            previewImage     = (ImageBox)window.findWidget("PreviewImage");
            previewMaxWidth  = previewImage.Width;
            previewMaxHeight = previewImage.Height;

            fullSizeButton = (Button)window.findWidget("FullSize");
            fullSizeButton.MouseButtonClick += new MyGUIEvent(fullSizeButton_MouseButtonClick);

            sizeButton = window.findWidget("RenderingTab/SizeButton") as Button;
            sizeButton.MouseButtonClick += new MyGUIEvent(sizeButton_MouseButtonClick);

            //ResolutionMenu
            resolutionMenu = new DeveloperResolutionMenu(this);
            resolutionMenu.ResolutionChanged += new EventHandler(resolutionMenu_ResolutionChanged);

            //Image save properties
            imageName         = (EditBox)window.findWidget("ImageName");
            imageName.Caption = "Anomalous Image";

            outputFolder                   = (EditBox)window.findWidget("OutputFolder");
            outputFolder.Caption           = MedicalConfig.ImageOutputFolder;
            outputBrowse                   = (Button)window.findWidget("OutputBrowse");
            outputBrowse.MouseButtonClick += new MyGUIEvent(outputBrowse_MouseButtonClick);

            imageFormat = (ComboBox)window.findWidget("ImageFormat");
            imageFormat.SelectedIndex = 0;

            //Image Properties
            aaCombo = (ComboBox)window.findWidget("AACombo");
            aaCombo.SelectedIndex = 4;

            showBackground         = new CheckButton((Button)window.findWidget("ShowBackground"));
            showBackground.Checked = true;

            showWatermark         = new CheckButton((Button)window.findWidget("ShowWatermark"));
            showWatermark.Checked = true;

            transparent         = new CheckButton((Button)window.findWidget("Transparent"));
            transparent.Checked = false;

            saveButton = (Button)window.findWidget("Save");
            saveButton.MouseButtonClick += new MyGUIEvent(saveButton_MouseButtonClick);

            Button openOutputFolder = (Button)window.findWidget("OpenOutputFolder");

            openOutputFolder.MouseButtonClick += new MyGUIEvent(openOutputFolder_MouseButtonClick);

            toggleRequireImagesWidgets();
        }