Draws a gallery button with specified image.
Наследование: ComponentFactory.Krypton.Toolkit.ViewLeaf, IContentValues
        /// <summary>
        /// Initialize a new instance of the ViewLayoutRibbonGalleryItems class.
        /// </summary>
        /// <param name="palette">Reference to palette for display values.</param>
        /// <param name="gallery">Reference to owning gallery.</param>
        /// <param name="needPaint">Delegate for requesting paints.</param>
        /// <param name="buttonUp">Reference to the up button.</param>
        /// <param name="buttonDown">Reference to the down button.</param>
        /// <param name="buttonContext">Reference to the context button.</param>
        public ViewLayoutRibbonGalleryItems(IPalette palette,
                                            KryptonGallery gallery,
                                            NeedPaintHandler needPaint,
                                            ViewDrawRibbonGalleryButton buttonUp,
                                            ViewDrawRibbonGalleryButton buttonDown,
                                            ViewDrawRibbonGalleryButton buttonContext)
        {
            Debug.Assert(palette != null);
            Debug.Assert(gallery != null);
            Debug.Assert(needPaint != null);
            Debug.Assert(buttonUp != null);
            Debug.Assert(buttonDown != null);
            Debug.Assert(buttonContext != null);

            _gallery = gallery;
            _needPaint = needPaint;
            _buttonUp = buttonUp;
            _buttonDown = buttonDown;
            _buttonContext = buttonContext;
            _bringIntoView = -1;
            _scrollIntoView = true;

            // Need to know when any button is clicked
            _buttonUp.Click += new MouseEventHandler(OnButtonUp);
            _buttonDown.Click += new MouseEventHandler(OnButtonDown);
            _buttonContext.Click += new MouseEventHandler(OnButtonContext);

            // Create triple that can be used by the draw button
            _style = ButtonStyle.LowProfile;
            _triple = new PaletteTripleToPalette(palette,
                                                 PaletteBackStyle.ButtonLowProfile,
                                                 PaletteBorderStyle.ButtonLowProfile,
                                                 PaletteContentStyle.ButtonLowProfile);

            // Setup timer to use for scrolling lines
            _scrollTimer = new Timer();
            _scrollTimer.Interval = 40;
            _scrollTimer.Tick += new EventHandler(OnScrollTick);
        }
Пример #2
0
        /// <summary>
        /// Initialize a new instance of the ViewLayoutRibbonGalleryItems class.
        /// </summary>
        /// <param name="palette">Reference to palette for display values.</param>
        /// <param name="gallery">Reference to owning gallery.</param>
        /// <param name="needPaint">Delegate for requesting paints.</param>
        /// <param name="buttonUp">Reference to the up button.</param>
        /// <param name="buttonDown">Reference to the down button.</param>
        /// <param name="buttonContext">Reference to the context button.</param>
        public ViewLayoutRibbonGalleryItems(IPalette palette,
                                            KryptonGallery gallery,
                                            NeedPaintHandler needPaint,
                                            ViewDrawRibbonGalleryButton buttonUp,
                                            ViewDrawRibbonGalleryButton buttonDown,
                                            ViewDrawRibbonGalleryButton buttonContext)
        {
            Debug.Assert(palette != null);
            Debug.Assert(gallery != null);
            Debug.Assert(needPaint != null);
            Debug.Assert(buttonUp != null);
            Debug.Assert(buttonDown != null);
            Debug.Assert(buttonContext != null);

            _gallery        = gallery;
            _needPaint      = needPaint;
            _buttonUp       = buttonUp;
            _buttonDown     = buttonDown;
            _buttonContext  = buttonContext;
            _bringIntoView  = -1;
            _scrollIntoView = true;

            // Need to know when any button is clicked
            _buttonUp.Click      += new MouseEventHandler(OnButtonUp);
            _buttonDown.Click    += new MouseEventHandler(OnButtonDown);
            _buttonContext.Click += new MouseEventHandler(OnButtonContext);

            // Create triple that can be used by the draw button
            _style  = ButtonStyle.LowProfile;
            _triple = new PaletteTripleToPalette(palette,
                                                 PaletteBackStyle.ButtonLowProfile,
                                                 PaletteBorderStyle.ButtonLowProfile,
                                                 PaletteContentStyle.ButtonLowProfile);

            // Setup timer to use for scrolling lines
            _scrollTimer          = new Timer();
            _scrollTimer.Interval = 40;
            _scrollTimer.Tick    += new EventHandler(OnScrollTick);
        }
Пример #3
0
        /// <summary>
        /// Initialize a new instance of the KryptonGallery class.
        /// </summary>
        public KryptonGallery()
        {
            // Defaults
            _mouseOver = false;
            _alwaysActive = true;
            _selectedIndex = -1;
            _trackingIndex = -1;
            _eventTrackingIndex = -1;
            _preferredItemSize = new Size(5, 1);
            _dropMaxItemWidth = 128;
            _dropMinItemWidth = 3;

            // Timer used to generate tracking change event
            _trackingEventTimer = new Timer();
            _trackingEventTimer.Interval = 120;
            _trackingEventTimer.Tick += new EventHandler(OnTrackingTick);

            // Create content storage
            _images = new GalleryImages(NeedPaintDelegate);
            _dropButtonRanges = new KryptonGalleryRangeCollection();

            // Create the palette storage
            _stateCommon = new PaletteGalleryRedirect(Redirector, NeedPaintDelegate);
            _stateNormal = new PaletteGalleryState(_stateCommon, NeedPaintDelegate);
            _stateDisabled = new PaletteGalleryState(_stateCommon, NeedPaintDelegate);
            _stateActive = new PaletteGalleryState(_stateCommon, NeedPaintDelegate);

            // Create and organize the buttons
            _buttonUp = new ViewDrawRibbonGalleryButton(Redirector, PaletteRelativeAlign.Near, PaletteRibbonGalleryButton.Up, _images, NeedPaintDelegate);
            _buttonDown = new ViewDrawRibbonGalleryButton(Redirector, PaletteRelativeAlign.Center, PaletteRibbonGalleryButton.Down, _images, NeedPaintDelegate);
            _buttonContext = new ViewDrawRibbonGalleryButton(Redirector, PaletteRelativeAlign.Far, PaletteRibbonGalleryButton.DropDown, _images, NeedPaintDelegate);
            _buttonsLayout = new ViewLayoutRibbonGalleryButtons();
            _buttonsLayout.Add(_buttonUp);
            _buttonsLayout.Add(_buttonDown);
            _buttonsLayout.Add(_buttonContext);

            // The draw layout that contains the actual selection images
            _backBorder = new PaletteGalleryBackBorder(_stateNormal);
            _drawDocker = new ViewDrawDocker(_backBorder, _backBorder);
            _drawItems = new ViewLayoutRibbonGalleryItems(Redirector, this, NeedPaintDelegate, _buttonUp, _buttonDown, _buttonContext);
            _drawDocker.Add(_drawItems, ViewDockStyle.Fill);

            // Top level layout view
            _layoutDocker = new ViewLayoutDocker();
            _layoutDocker.Add(_drawDocker, ViewDockStyle.Fill);
            _layoutDocker.Add(_buttonsLayout, ViewDockStyle.Right);

            // Create the view manager instance
            ViewManager = new ViewManager(this, _layoutDocker);

            // Check the control is licenced
            KryptonGalleryLicence.PerformLicenceChecking(this);

            // Set the default padding value
            base.Padding = new Padding(3);
        }