コード例 #1
0
ファイル: ToolPanel.cs プロジェクト: Hrombel/AbstractDevelop
        /// <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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public ToolPanelEventArgs(ToolPanelButton button)
 {
     _btn = button;
     Success = true;
 }
コード例 #5
0
ファイル: ToolPanel.cs プロジェクト: Hrombel/AbstractDevelop
 /// <summary>
 /// Генерирует соытие нажатой кнопки.
 /// </summary>
 /// <param name="btn">Кнопка.</param>
 private void DispatchClick(ToolPanelButton btn)
 {
     if (OnButtonPressed != null)
     {
         ToolPanelEventArgs args = new ToolPanelEventArgs(btn);
         OnButtonPressed(this, args);
     }
 }