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); }
public void LoadScalePanel(ref IRLVScaleSelectionPanel panel) { panel = scaleSelectionControl; }