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