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);
        }