/// <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 { Interval = 120 }; _trackingEventTimer.Tick += 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 { _buttonUp, _buttonDown, _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 { { _drawDocker, ViewDockStyle.Fill }, { _buttonsLayout, ViewDockStyle.Right } }; // Create the view manager instance ViewManager = new ViewManager(this, _layoutDocker); // Set the default padding value base.Padding = new Padding(3); }
/// <summary> /// Define the new state to use for sourcing values. /// </summary> /// <param name="state">New state for background/border.</param> public void SetState(PaletteGalleryState state) { Debug.Assert(state != null); _state = state; }
/// <summary> /// Initialize a new instance of the PaletteGalleryBackBorder class. /// </summary> /// <param name="state">Initial state for background/border.</param> public PaletteGalleryBackBorder(PaletteGalleryState state) { Debug.Assert(state != null); _state = state; }