예제 #1
0
            /// <summary>
            /// Creates the glyphs for navigation and manipulating pages
            /// </summary>
            private void CreateGlyphs()
            {
                toolbarAdorner = new Adorner();
                if (BehaviorService != null)
                {
                    BehaviorService.Adorners.Add(toolbarAdorner);
                }

                toolbar = new GlyphToolBar(BehaviorService, this, toolbarAdorner);

                moveToolbarButton             = new ButtonGlyph();
                moveToolbarButton.Path        = GetUpDownArrowSign(toolbar.DefaultIconSize.Height);
                moveToolbarButton.ToolTipText = "Move toolbar";
                moveToolbarButton.Click      += MoveToolbarButton_Click;

                navigateBackButton             = new ButtonGlyph();
                navigateBackButton.Path        = GetLeftArrowSign(toolbar.DefaultIconSize.Height);
                navigateBackButton.ToolTipText = "Previous page";
                navigateBackButton.Click      += NavigateBackButton_Click;

                navigateNextButton             = new ButtonGlyph();
                navigateNextButton.Path        = GetRightArrowSign(toolbar.DefaultIconSize.Height);
                navigateNextButton.ToolTipText = "Next page";
                navigateNextButton.Click      += NavigateNextButton_Click;

                addPageButton             = new ButtonGlyph();
                addPageButton.Path        = GetPlusSign(toolbar.DefaultIconSize.Height);
                addPageButton.ToolTipText = "Add a new page";
                addPageButton.Click      += AddPageButton_Click;

                removePageButton             = new ButtonGlyph();
                removePageButton.Path        = GetMinusSign(toolbar.DefaultIconSize.Height);
                removePageButton.ToolTipText = "Remove current page";
                removePageButton.Click      += RemovePageButton_Click;

                currentPageLabel      = new LabelGlyph();
                currentPageLabel.Text = string.Format("Page {0} of {1}", Control.SelectedIndex + 1, Control.Pages.Count);

                toolbar.AddButton(moveToolbarButton);
                toolbar.AddButton(new SeparatorGlyph());
                toolbar.AddButton(navigateBackButton);
                toolbar.AddButton(currentPageLabel);
                toolbar.AddButton(navigateNextButton);
                toolbar.AddButton(new SeparatorGlyph());
                toolbar.AddButton(addPageButton);
                toolbar.AddButton(removePageButton);

                toolbarAdorner.Glyphs.Add(toolbar);
            }
예제 #2
0
                public override bool OnMouseDown(Glyph g, MouseButtons mouseButton, Point mouseLoc)
                {
                    if (mouseButton == MouseButtons.Left)
                    {
                        GlyphToolBar toolbar = (GlyphToolBar)g;

                        foreach (var glyph in toolbar.buttons.OfType <ButtonGlyph>())
                        {
                            var button = glyph;
                            if (button.Enabled && button.Bounds.Contains(mouseLoc))
                            {
                                button.OnClick(EventArgs.Empty);
                                return(true);
                            }
                        }
                    }

                    return(false);
                }
예제 #3
0
 public GlyphIndexer(GlyphToolBar toolbar)
 {
     this.toolbar = toolbar;
 }