/// <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); }
/// <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); }