コード例 #1
0
ファイル: CRToolbar.cs プロジェクト: cixonline/cixreader
        /// <summary>
        /// Load and initialise the toolbar.
        /// </summary>
        public void Load()
        {
            bool hasSearchField = false;

            int buttonHeight = Height - 12;
            int buttonWidth = Height - 6;

            SuspendLayout();
            Controls.Clear();

            foreach (CRToolbarItem button in CRToolbarItemCollection.DefaultCollection.Buttons)
            {
                switch (button.Type)
                {
                    case CRToolbarItemType.Search:
                        if (!hasSearchField)
                        {
                            CRSearchField searchField = new CRSearchField
                            {
                                Size = new Size(buttonWidth, buttonHeight),
                                Text = String.Empty,
                                Visible = true
                            };
                            button.Control = searchField;
                            searchField.Tag = button;

                            searchField.MouseDown += ToolbarOnMouseDown;
                            searchField.MouseMove += CustomisationOnMouseMove;

                            Controls.Add(searchField);

                            // Can only have one search field
                            hasSearchField = true;
                        }
                        break;

                    case CRToolbarItemType.Button:
                        {
                            CRRoundButton newButton = new CRRoundButton
                            {
                                Image = button.Image,
                                Name = button.Name,
                                Text = String.Empty,
                                Size = new Size(buttonWidth, buttonHeight),
                                ImageScaling = true,
                                Enabled = (button.ID == ActionID.Script || Customising)
                            };
                            newButton.Click += OnToolbarItemClick;

                            newButton.MouseDown += ToolbarOnMouseDown;
                            newButton.MouseMove += CustomisationOnMouseMove;

                            button.Control = newButton;
                            Controls.Add(newButton);

                            newButton.Tag = button;

                            // Add a tooltip for this button
                            ToolTip newToolTip = new ToolTip();
                            newToolTip.SetToolTip(newButton, button.Tooltip);
                            break;
                        }

                    case CRToolbarItemType.FlexibleSpace:
                    case CRToolbarItemType.Space:
                        {
                            PictureBox pictureBox = new PictureBox
                            {
                                Name = button.Name,
                                Size = new Size(buttonWidth, buttonHeight),
                                Visible = Customising
                            };

                            button.Control = pictureBox;
                            pictureBox.Tag = button;

                            pictureBox.MouseDown += ToolbarOnMouseDown;
                            pictureBox.MouseMove += CustomisationOnMouseMove;

                            Controls.Add(pictureBox);
                            break;
                        }
                }
            }
            Relayout();
            ResumeLayout(true);
        }
コード例 #2
0
ファイル: CRToolbar.cs プロジェクト: cixonline/cixreader
        /// <summary>
        /// Load and initialise the toolbar.
        /// </summary>
        public void Load()
        {
            bool hasSearchField = false;

            int buttonHeight = Height - 12;
            int buttonWidth  = Height - 6;

            SuspendLayout();
            Controls.Clear();

            foreach (CRToolbarItem button in CRToolbarItemCollection.DefaultCollection.Buttons)
            {
                switch (button.Type)
                {
                case CRToolbarItemType.Search:
                    if (!hasSearchField)
                    {
                        CRSearchField searchField = new CRSearchField
                        {
                            Size    = new Size(buttonWidth, buttonHeight),
                            Text    = String.Empty,
                            Visible = true
                        };
                        button.Control  = searchField;
                        searchField.Tag = button;

                        searchField.MouseDown += ToolbarOnMouseDown;
                        searchField.MouseMove += CustomisationOnMouseMove;

                        Controls.Add(searchField);

                        // Can only have one search field
                        hasSearchField = true;
                    }
                    break;

                case CRToolbarItemType.Button:
                {
                    CRRoundButton newButton = new CRRoundButton
                    {
                        Image        = button.Image,
                        Name         = button.Name,
                        Text         = String.Empty,
                        Size         = new Size(buttonWidth, buttonHeight),
                        ImageScaling = true,
                        Enabled      = (button.ID == ActionID.Script || Customising)
                    };
                    newButton.Click += OnToolbarItemClick;

                    newButton.MouseDown += ToolbarOnMouseDown;
                    newButton.MouseMove += CustomisationOnMouseMove;

                    button.Control = newButton;
                    Controls.Add(newButton);

                    newButton.Tag = button;

                    // Add a tooltip for this button
                    ToolTip newToolTip = new ToolTip();
                    newToolTip.SetToolTip(newButton, button.Tooltip);
                    break;
                }

                case CRToolbarItemType.FlexibleSpace:
                case CRToolbarItemType.Space:
                {
                    PictureBox pictureBox = new PictureBox
                    {
                        Name    = button.Name,
                        Size    = new Size(buttonWidth, buttonHeight),
                        Visible = Customising
                    };

                    button.Control = pictureBox;
                    pictureBox.Tag = button;

                    pictureBox.MouseDown += ToolbarOnMouseDown;
                    pictureBox.MouseMove += CustomisationOnMouseMove;

                    Controls.Add(pictureBox);
                    break;
                }
                }
            }
            Relayout();
            ResumeLayout(true);
        }