Beispiel #1
0
        public virtual void SetupVisualizer(IEnumerable <IRLVPanel> panels, IRLVOutputVisualizer visualizer = null)
        {
            if (panels != null)
            {
                // iterate through panels and register each event/handler pair
                this.panels = panels;
                foreach (var panel in panels)
                {
                    if (panel is IRLVProgressionChartPanel)
                    {
                        IRLVProgressionChartPanel progPanel = panel as IRLVProgressionChartPanel;
                        progPanel.SelectedCaseChangedEvent        += IRLVProgressionChartPanel_SelectedCaseChangedHandler;
                        progPanel.SelectedCaseScaleChangedEvent   += IRLVProgressionChartPanel_SelectedCaseScaleChangedHandler;
                        SelectedUniqueInputSetChangedResultsEvent += progPanel.IRLVCore_SelectedUniqueInputSetChangedResultsHandler;
                        ScaleChangedResultsEvent             += progPanel.IRLVCore_ScaleChangedResultsHandler;
                        NextPrevCaseChangedResultsEvent      += progPanel.IRLVCore_NextPrevCaseChangedResultsHandler;
                        RealTimeUpdateEvent                  += progPanel.IRLVCore_RealTimeUpdateHandler;
                        SelectedCaseScaleChangedResultsEvent += progPanel.IRLVCore_SelectedCaseScaleChangedResultsHandler;
                        progPanel.SelectChartDataPointEvent  += IRLVProgressionChartPantl_SelectChartDataPointHandler;
                    }

                    if (panel is IRLVSelectedDetailsPanel)
                    {
                        IRLVSelectedDetailsPanel detailsPanel = panel as IRLVSelectedDetailsPanel;
                        detailsPanel.LearningComparisonEvent    += IRLVSelectedDetailsPanel_LearningComparisonHandler;
                        detailsPanel.NextPrevCaseChangedEvent   += IRLVSelectedDetailsPanel_NextPrevCaseChangedHandler;
                        detailsPanel.SessionBreakdownClickEvent += IRLVSelectedDetailsPanel_SessionBreakdownClickHandler;
                        SessionBreakdownClickResultsEvent       += detailsPanel.IRLVCore_SessionBreakdownClickResultsHandler;
                        SelectedCaseDetailResultsEvent          += detailsPanel.IRLVCore_SelectedCaseDetailResultsHandler;
                        detailsPanel.OutputVisualizer            = visualizer;
                    }

                    if (panel is IRLVScaleSelectionPanel)
                    {
                        IRLVScaleSelectionPanel scalePanel = panel as IRLVScaleSelectionPanel;
                        scalePanel.ScaleChangedEvent += IRLVScaleSelectionPanel_ScaleChangedHandler;
                        currentScale = ((RLVScaleSelectionVM)scalePanel.ViewModel).DefaultScale;
                    }
                }
            }

            // register the event/handler pair for the external app
            this.visualizer = visualizer;
            if (visualizer != null)
            {
                visualizer.ComparisonModeClosedEvent          += IRLVOutputVisualizer_ComparisonModeClosedHandler;
                visualizer.SelectedUniqueInputSetChangedEvent += IRLVOutputVisualizer_SelectedUniqueInputSetChangedHandler;
                LearningComparisonResultsEvent += visualizer.IRLVCore_LearningComparisonResultsHandler;
                DataNotAvailableEvent          += visualizer.IRLVCore_DataNotAvailableHandler;
            }
        }
        public VisualizerWindow(IRLVCore core)
        {
            InitializeComponent();

            this.core       = core;
            this.visualizer = new RLVOutputVisualizer(this);

            IRLVScaleSelectionVM scaleVM = new RLVScaleSelectionVM();

            detailsScalePanel = rlv.DetailsControl.ScalePanel;
            chartScalePanel   = rlv.ChartControl.ScalePanel;

            detailsScalePanel.SetViewModel(scaleVM);
            chartScalePanel.SetViewModel(scaleVM);
            scaleVM.DefaultScale = 100;

            core.SetupVisualizer(new List <IRLVPanel>
            {
                rlv.DetailsControl,
                rlv.ChartControl,
                chartScalePanel,
                detailsScalePanel
            }, visualizer);

            this.Closing += VisualizerWindow_Closing;

            notifier = new Notifier(cfg =>
            {
                cfg.PositionProvider = new WindowPositionProvider(
                    parentWindow: this,
                    corner: Corner.TopRight,
                    offsetX: 10,
                    offsetY: 10);

                cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor(
                    notificationLifetime: TimeSpan.FromSeconds(3),
                    maximumNotificationCount: MaximumNotificationCount.FromCount(5));

                cfg.Dispatcher = Application.Current.Dispatcher;
            });
        }
        public TempRLVContainerPanel(IRLVCore core, IRLVOutputVisualizer visualizer)
        {
            InitializeComponent();

            this.core       = core;
            this.visualizer = visualizer;

            IRLVScaleSelectionVM scaleVM = new RLVScaleSelectionVM();

            detailsScalePanel = detailsControl.ScalePanel;
            chartScalePanel   = progressionChartControl.ScalePanel;

            detailsScalePanel.SetViewModel(scaleVM);
            chartScalePanel.SetViewModel(scaleVM);

            core.SetupVisualizer(new List <IRLVPanel>
            {
                detailsControl,
                progressionChartControl,
                chartScalePanel,
                detailsScalePanel
            }, visualizer);
        }
        public VisualizerWindow(IRLVCore core, IRLVOutputVisualizer visualizer)
        {
            InitializeComponent();

            this.core       = core;
            this.visualizer = visualizer;

            IRLVScaleSelectionVM scaleVM = new RLVScaleSelectionVM();

            detailsScalePanel = rlv.DetailsControl.ScalePanel;
            chartScalePanel   = rlv.ChartControl.ScalePanel;

            detailsScalePanel.SetViewModel(scaleVM);
            chartScalePanel.SetViewModel(scaleVM);
            scaleVM.DefaultScale = 100;

            core.SetupVisualizer(new List <IRLVPanel>
            {
                rlv.DetailsControl,
                rlv.ChartControl,
                chartScalePanel,
                detailsScalePanel
            }, visualizer);
        }
Beispiel #5
0
 public void LoadScalePanel(ref IRLVScaleSelectionPanel panel)
 {
     panel = scaleSelectionControl;
 }