private Button GetSwitchButton() { var button = new Button(); button.Click += (sender, ev) => { switch (viewType) { case SignalViewType.Signals: viewSwitchButton.Text = "Суммарный"; viewType = SignalViewType.Sum; Invalidate(); break; case SignalViewType.Sum: viewSwitchButton.Text = "Разделенный"; viewType = SignalViewType.Signals; Invalidate(); break; } Controls.Remove(currentView); currentView = signalViewes[viewType]; Controls.Add(currentView); OnSizeChanged(EventArgs.Empty); Invalidate(); }; return(button); }
public SignalViewState(SignalManager manager, SignalViewType current) { views = new Dictionary <SignalViewType, ISignalsVisualizer>(); SetView(new AloneVisualizer(manager.Sum), SignalViewType.Summarized); SetView(new ManagerVisualizer(manager), SignalViewType.Divided); var divided = new List <SignalViewOptions>(); CurrentType = current; }
public SignalPanel(SignalManager signals) : base() { signalState = signals; viewType = SignalViewType.Signals; signalViewes = new Dictionary <SignalViewType, Chart>(); InitCharts(); currentView = signalViewes[viewType]; signalsList = new SignalsList(signals); viewSwitchButton = new Button(); viewSwitchButton = GetSwitchButton(); Reconstruct(); signals.AddedSignal += (values, index) => { Reconstruct(); Invalidate(); }; signals.DeletedSignal += (values, index) => { Reconstruct(); Invalidate(); }; Controls.Add(currentView); Controls.Add(viewSwitchButton); Controls.Add(signalsList); SizeChanged += (sender, ev) => { currentView.SetBounds(0, 0, Height / 2, Height / 2); viewSwitchButton.Location = new Point(currentView.Width - viewSwitchButton.Width, currentView.Height); var listPrefs = signalsList.PreferredSize; signalsList.SetBounds(0, currentView.Height + viewSwitchButton.Height, listPrefs.Width, listPrefs.Height); }; }
public void SwitchView(SignalViewType type) { View.CurrentType = type; ViewChanged(); }
public void SetView(ISignalsVisualizer signals, SignalViewType type) { views[type] = signals; }
public void AddSignal(SinSignal signal, SignalViewType type) { views[type].AddSignal(signal); }
public BoxItem(SignalViewType type, string name) { Type = type; Name = name; }