Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NuGenCollectionEditorPropertyBlock"/> class.
        /// </summary>
        public NuGenCollectionEditorPropertyBlock()
        {
            _propertyGrid = new NuGenPropertyGrid();
            _title        = new NuGenCollectionEditorTitle();

            _propertyGrid.Dock   = DockStyle.Fill;
            _propertyGrid.Parent = this;
            _propertyGrid.SelectedObjectsChanged += delegate
            {
                this.OnSelectedObjectsChanged(EventArgs.Empty);
            };

            _title.Dock   = DockStyle.Top;
            _title.Parent = this;
        }
            /*
             * InitializeComponent
             */

            private void InitializeComponent()
            {
                _okButton     = new Button();
                _cancelButton = new Button();

                _addRootButton  = new Button();
                _addChildButton = new Button();
                _deleteButton   = new Button();
                _moveDownButton = new Button();
                _moveUpButton   = new Button();

                _propertyDescriptionLabel = new Label();
                _treeViewDescriptionLabel = new Label();

                _propertyGrid      = new NuGenPropertyGrid();
                _propertyGrid.Dock = DockStyle.Fill;

                _okCancelPanel                     = new TableLayoutPanel();
                _nodeControlPanel                  = new TableLayoutPanel();
                _overarchingTableLayoutPanel       = new TableLayoutPanel();
                _navigationButtonsTableLayoutPanel = new TableLayoutPanel();

                _treeView      = new NodesEditorTreeView();
                _treeView.Dock = DockStyle.Fill;

                _okCancelPanel.SuspendLayout();
                _nodeControlPanel.SuspendLayout();
                _overarchingTableLayoutPanel.SuspendLayout();
                _navigationButtonsTableLayoutPanel.SuspendLayout();
                this.SuspendLayout();

                _okCancelPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
                _okCancelPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
                _okCancelPanel.Controls.Add(_okButton, 0, 0);
                _okCancelPanel.Controls.Add(_cancelButton, 1, 0);
                _okCancelPanel.Dock   = DockStyle.Right;
                _okCancelPanel.Margin = new Padding(3, 0, 0, 0);
                _okCancelPanel.RowStyles.Add(new RowStyle());

                _okButton.DialogResult = DialogResult.OK;
                _okButton.Dock         = DockStyle.Fill;
                _okButton.Text         = Resources.Text_TreeNodeCollectionEditor_okButton;

                _cancelButton.DialogResult = DialogResult.Cancel;
                _cancelButton.Dock         = DockStyle.Fill;
                _cancelButton.Text         = Resources.Text_TreeNodeCollectionEditor_cancelButton;

                _nodeControlPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
                _nodeControlPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
                _nodeControlPanel.Dock = DockStyle.Fill;
                _nodeControlPanel.Controls.Add(_addRootButton, 0, 0);
                _nodeControlPanel.Controls.Add(_addChildButton, 1, 0);
                _nodeControlPanel.Margin = new Padding(0, 3, 3, 3);
                _nodeControlPanel.RowStyles.Add(new RowStyle());

                _addRootButton.Dock   = DockStyle.Fill;
                _addRootButton.Margin = new Padding(0, 0, 3, 0);
                _addRootButton.Text   = Resources.Text_TreeNodeCollectionEditor_addRootButton;

                _addChildButton.Dock   = DockStyle.Fill;
                _addChildButton.Margin = new Padding(3, 0, 0, 0);
                _addChildButton.Text   = Resources.Text_TreeNodeCollectionEditor_addChildButton;

                _deleteButton.Dock   = DockStyle.Fill;
                _deleteButton.Margin = new Padding(0, 3, 0, 0);
                _deleteButton.Image  = Resources.Delete;
                _deleteButton.Size   = new Size(30, 30);

                _moveDownButton.Dock   = DockStyle.Fill;
                _moveDownButton.Margin = new Padding(0, 1, 0, 3);
                _moveDownButton.Image  = Resources.Down;
                _moveDownButton.Size   = new Size(30, 30);

                _moveUpButton.Dock   = DockStyle.Fill;
                _moveUpButton.Margin = new Padding(0, 0, 0, 1);
                _moveUpButton.Image  = Resources.Up;
                _moveUpButton.Size   = new Size(30, 30);

                _propertyGrid.LineColor = SystemColors.ScrollBar;
                _overarchingTableLayoutPanel.SetRowSpan(_propertyGrid, 2);

                _propertyDescriptionLabel.Dock   = DockStyle.Fill;
                _propertyDescriptionLabel.Margin = new Padding(3, 1, 0, 0);

                _treeView.AllowDrop = true;

                _treeView.HideSelection = false;
                _treeView.Margin        = new Padding(0, 3, 3, 3);

                _treeViewDescriptionLabel.Dock   = DockStyle.Fill;
                _treeViewDescriptionLabel.Margin = new Padding(0, 1, 3, 0);
                _treeViewDescriptionLabel.Text   = Resources.Text_TreeNodeCollectionEditor_treeViewDescriptionLabel;

                _overarchingTableLayoutPanel.Dock = DockStyle.Fill;
                _overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 250f));
                _overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 40f));
                _overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100f));
                _overarchingTableLayoutPanel.Controls.Add(_navigationButtonsTableLayoutPanel, 1, 1);
                _overarchingTableLayoutPanel.Controls.Add(_propertyDescriptionLabel, 2, 0);
                _overarchingTableLayoutPanel.Controls.Add(_propertyGrid, 2, 1);
                _overarchingTableLayoutPanel.Controls.Add(_treeView, 0, 1);
                _overarchingTableLayoutPanel.Controls.Add(_treeViewDescriptionLabel, 0, 0);
                _overarchingTableLayoutPanel.Controls.Add(_nodeControlPanel, 0, 2);
                _overarchingTableLayoutPanel.Controls.Add(_okCancelPanel, 2, 3);
                _overarchingTableLayoutPanel.RowStyles.Add(new RowStyle());
                _overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100f));
                _overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30f));
                _overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30f));

                _navigationButtonsTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
                _navigationButtonsTableLayoutPanel.Controls.Add(_moveUpButton, 0, 0);
                _navigationButtonsTableLayoutPanel.Controls.Add(_deleteButton, 0, 2);
                _navigationButtonsTableLayoutPanel.Controls.Add(_moveDownButton, 0, 1);
                _navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());
                _navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());
                _navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());

                this.AcceptButton  = _okButton;
                this.AutoScaleMode = AutoScaleMode.Font;
                this.CancelButton  = _cancelButton;
                this.Controls.Add(_overarchingTableLayoutPanel);
                this.Padding = new Padding(10);

                this.MaximizeBox   = false;
                this.MinimizeBox   = false;
                this.ShowIcon      = false;
                this.ShowInTaskbar = false;
                this.Size          = new Size(580, 480);
                this.MinimumSize   = this.Size;
                this.Text          = Resources.Text_TreeNodeCollectionEditor_EditorForm;

                _okCancelPanel.ResumeLayout(false);
                _okCancelPanel.PerformLayout();
                _nodeControlPanel.ResumeLayout(false);
                _nodeControlPanel.PerformLayout();
                _overarchingTableLayoutPanel.ResumeLayout(false);
                _overarchingTableLayoutPanel.PerformLayout();
                _navigationButtonsTableLayoutPanel.ResumeLayout(false);

                base.ResumeLayout(false);
            }
			/*
			 * InitializeComponent
			 */

			private void InitializeComponent()
			{
				_okButton = new Button();
				_cancelButton = new Button();
				
				_addRootButton = new Button();
				_addChildButton = new Button();
				_deleteButton = new Button();
				_moveDownButton = new Button();
				_moveUpButton = new Button();

				_propertyDescriptionLabel = new Label();
				_treeViewDescriptionLabel = new Label();

				_propertyGrid = new NuGenPropertyGrid();
				_propertyGrid.Dock = DockStyle.Fill;

				_okCancelPanel = new TableLayoutPanel();
				_nodeControlPanel = new TableLayoutPanel();
				_overarchingTableLayoutPanel = new TableLayoutPanel();
				_navigationButtonsTableLayoutPanel = new TableLayoutPanel();

				_treeView = new NodesEditorTreeView();
				_treeView.Dock = DockStyle.Fill;
				
				_okCancelPanel.SuspendLayout();
				_nodeControlPanel.SuspendLayout();
				_overarchingTableLayoutPanel.SuspendLayout();
				_navigationButtonsTableLayoutPanel.SuspendLayout();
				this.SuspendLayout();

				_okCancelPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
				_okCancelPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
				_okCancelPanel.Controls.Add(_okButton, 0, 0);
				_okCancelPanel.Controls.Add(_cancelButton, 1, 0);
				_okCancelPanel.Dock = DockStyle.Right;
				_okCancelPanel.Margin = new Padding(3, 0, 0, 0);
				_okCancelPanel.RowStyles.Add(new RowStyle());
				
				_okButton.DialogResult = DialogResult.OK;
				_okButton.Dock = DockStyle.Fill;
				_okButton.Text = Resources.Text_TreeNodeCollectionEditor_okButton;
				
				_cancelButton.DialogResult = DialogResult.Cancel;
				_cancelButton.Dock = DockStyle.Fill;
				_cancelButton.Text = Resources.Text_TreeNodeCollectionEditor_cancelButton;
				
				_nodeControlPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
				_nodeControlPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
				_nodeControlPanel.Dock = DockStyle.Fill;
				_nodeControlPanel.Controls.Add(_addRootButton, 0, 0);
				_nodeControlPanel.Controls.Add(_addChildButton, 1, 0);
				_nodeControlPanel.Margin = new Padding(0, 3, 3, 3);
				_nodeControlPanel.RowStyles.Add(new RowStyle());

				_addRootButton.Dock = DockStyle.Fill;
				_addRootButton.Margin = new Padding(0, 0, 3, 0);
				_addRootButton.Text = Resources.Text_TreeNodeCollectionEditor_addRootButton;

				_addChildButton.Dock = DockStyle.Fill;
				_addChildButton.Margin = new Padding(3, 0, 0, 0);
				_addChildButton.Text = Resources.Text_TreeNodeCollectionEditor_addChildButton;

				_deleteButton.Dock = DockStyle.Fill;
				_deleteButton.Margin = new Padding(0, 3, 0, 0);
				_deleteButton.Image = Resources.Delete;
				_deleteButton.Size = new Size(30, 30);

				_moveDownButton.Dock = DockStyle.Fill;
				_moveDownButton.Margin = new Padding(0, 1, 0, 3);
				_moveDownButton.Image = Resources.Down;
				_moveDownButton.Size = new Size(30, 30);

				_moveUpButton.Dock = DockStyle.Fill;
				_moveUpButton.Margin = new Padding(0, 0, 0, 1);
				_moveUpButton.Image = Resources.Up;
				_moveUpButton.Size = new Size(30, 30);
				
				_propertyGrid.LineColor = SystemColors.ScrollBar;
				_overarchingTableLayoutPanel.SetRowSpan(_propertyGrid, 2);

				_propertyDescriptionLabel.Dock = DockStyle.Fill;
				_propertyDescriptionLabel.Margin = new Padding(3, 1, 0, 0);

				_treeView.AllowDrop = true;
				
				_treeView.HideSelection = false;
				_treeView.Margin = new Padding(0, 3, 3, 3);

				_treeViewDescriptionLabel.Dock = DockStyle.Fill;
				_treeViewDescriptionLabel.Margin = new Padding(0, 1, 3, 0);
				_treeViewDescriptionLabel.Text = Resources.Text_TreeNodeCollectionEditor_treeViewDescriptionLabel;

				_overarchingTableLayoutPanel.Dock = DockStyle.Fill;
				_overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 250f));
				_overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 40f));
				_overarchingTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100f));
				_overarchingTableLayoutPanel.Controls.Add(_navigationButtonsTableLayoutPanel, 1, 1);
				_overarchingTableLayoutPanel.Controls.Add(_propertyDescriptionLabel, 2, 0);
				_overarchingTableLayoutPanel.Controls.Add(_propertyGrid, 2, 1);
				_overarchingTableLayoutPanel.Controls.Add(_treeView, 0, 1);
				_overarchingTableLayoutPanel.Controls.Add(_treeViewDescriptionLabel, 0, 0);
				_overarchingTableLayoutPanel.Controls.Add(_nodeControlPanel, 0, 2);
				_overarchingTableLayoutPanel.Controls.Add(_okCancelPanel, 2, 3);
				_overarchingTableLayoutPanel.RowStyles.Add(new RowStyle());
				_overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100f));
				_overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30f));
				_overarchingTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30f));

				_navigationButtonsTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
				_navigationButtonsTableLayoutPanel.Controls.Add(_moveUpButton, 0, 0);
				_navigationButtonsTableLayoutPanel.Controls.Add(_deleteButton, 0, 2);
				_navigationButtonsTableLayoutPanel.Controls.Add(_moveDownButton, 0, 1);
				_navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());
				_navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());
				_navigationButtonsTableLayoutPanel.RowStyles.Add(new RowStyle());

				this.AcceptButton = _okButton;
				this.AutoScaleMode = AutoScaleMode.Font;
				this.CancelButton = _cancelButton;
				this.Controls.Add(_overarchingTableLayoutPanel);
				this.Padding = new Padding(10);
				
				this.MaximizeBox = false;
				this.MinimizeBox = false;
				this.ShowIcon = false;
				this.ShowInTaskbar = false;
				this.Size = new Size(580, 480);
				this.MinimumSize = this.Size;
				this.Text = Resources.Text_TreeNodeCollectionEditor_EditorForm;

				_okCancelPanel.ResumeLayout(false);
				_okCancelPanel.PerformLayout();
				_nodeControlPanel.ResumeLayout(false);
				_nodeControlPanel.PerformLayout();
				_overarchingTableLayoutPanel.ResumeLayout(false);
				_overarchingTableLayoutPanel.PerformLayout();
				_navigationButtonsTableLayoutPanel.ResumeLayout(false);

				base.ResumeLayout(false);
			}