/// <summary> /// Выполняет операцию нажатия на указанную кнопку без диспетчеризации события. /// </summary> /// <param name="btn">Код нажимаемой кнопки.</param> public void PerformClick(ToolPanelButton btn) { if(!Enum.IsDefined(typeof(ToolPanelButton), btn)) throw new ArgumentException("Указанной кнопки нет в перечислении"); switch (btn) { case ToolPanelButton.Play: { stopBtn.Enabled = true; pauseBtn.Enabled = true; stepBtn.Enabled = false; runBtn.Enabled = false; break; } case ToolPanelButton.Stop: { runBtn.Enabled = true; stepBtn.Enabled = false; stopBtn.Enabled = false; pauseBtn.Enabled = false; break; } case ToolPanelButton.Pause: { runBtn.Enabled = true; stepBtn.Enabled = true; stopBtn.Enabled = true; pauseBtn.Enabled = false; break; } case ToolPanelButton.Step: { break; } default: throw new Exception("Неизвестная кнопка"); } startItem.Enabled = runBtn.Enabled; stopItem.Enabled = stopBtn.Enabled; pauseItem.Enabled = pauseBtn.Enabled; stepItem.Enabled = stepBtn.Enabled; }
private void DrawToolPanel() { var createNewButton = new ToolPanelButton("Create"); var loadButton = new ToolPanelButton("Load"); var saveButton = new ToolPanelButton("Save"); createNewButton.Clicked += () => { }; loadButton.Clicked += () => { }; saveButton.Clicked += () => { }; var toolPanelButtons = new List <ToolPanelButton>() { createNewButton, loadButton, saveButton }; _vntView.DrawToolPanel(toolPanelButtons); }
private void DrawToolPanel() { var createNewButton = new ToolPanelButton("Create"); var loadButton = new ToolPanelButton("Load"); var saveButton = new ToolPanelButton("Save"); createNewButton.Clicked += () => { foreach (var nodePresenter in _nodePresenters) { nodePresenter.ConnectionPointSelected -= OnConnectionPointSelected; nodePresenter.ConnectionPointUnSelected -= OnConnectionPointUnSelected; } _nodePresenters.Clear(); _connectionPresenters.Clear(); _selectedNodePresenter = null; _selectedPointPresenter = null; }; loadButton.Clicked += () => { }; saveButton.Clicked += () => { var saveFileDialog = new SaveFileDialog(); saveFileDialog.ShowDialog(); if (saveFileDialog.Result) { var path = saveFileDialog.Path; XmlReadWriter.Write <VntData>(path, _vntData); } }; var toolPanelButtons = new List <ToolPanelButton>() { createNewButton, loadButton, saveButton }; _vntView.DrawToolPanel(toolPanelButtons); }
public ToolPanelEventArgs(ToolPanelButton button) { _btn = button; Success = true; }
/// <summary> /// Генерирует соытие нажатой кнопки. /// </summary> /// <param name="btn">Кнопка.</param> private void DispatchClick(ToolPanelButton btn) { if (OnButtonPressed != null) { ToolPanelEventArgs args = new ToolPanelEventArgs(btn); OnButtonPressed(this, args); } }