/// <summary> /// Initialize a new instance of the KryptonBreadCrumb class. /// </summary> public KryptonBreadCrumb() { // The bread crumb cannot take the focus SetStyle(ControlStyles.Selectable, false); // Set default values _selectedItem = null; _dropDownNavigaton = true; _buttonStyle = ButtonStyle.BreadCrumb; _rootItem = new KryptonBreadCrumbItem("Root"); _rootItem.PropertyChanged += new PropertyChangedEventHandler(OnCrumbItemChanged); _allowButtonSpecToolTips = false; // Create storage objects _buttonSpecs = new BreadCrumbButtonSpecCollection(this); // Create the palette storage _stateCommon = new PaletteBreadCrumbRedirect(Redirector, NeedPaintDelegate); _stateDisabled = new PaletteBreadCrumbDoubleState(_stateCommon, NeedPaintDelegate); _stateNormal = new PaletteBreadCrumbDoubleState(_stateCommon, NeedPaintDelegate); _stateTracking = new PaletteBreadCrumbState(_stateCommon, NeedPaintDelegate); _statePressed = new PaletteBreadCrumbState(_stateCommon, NeedPaintDelegate); // Our view contains background and border with crumbs inside _layoutCrumbs = new ViewLayoutCrumbs(this, NeedPaintDelegate); _drawDocker = new ViewDrawDocker(_stateNormal.Back, _stateNormal.Border, null); _drawDocker.Add(_layoutCrumbs, ViewDockStyle.Fill); // Create the view manager instance ViewManager = new ViewManager(this, _drawDocker); // Create button specification collection manager _buttonManager = new ButtonSpecManagerDraw(this, Redirector, _buttonSpecs, null, new ViewDrawDocker[] { _drawDocker }, new IPaletteMetric[] { _stateCommon }, new PaletteMetricInt[] { PaletteMetricInt.HeaderButtonEdgeInsetPrimary }, new PaletteMetricPadding[] { PaletteMetricPadding.None }, new GetToolStripRenderer(CreateToolStripRenderer), NeedPaintDelegate); // Create the manager for handling tooltips _toolTipManager = new ToolTipManager(); _toolTipManager.ShowToolTip += new EventHandler <ToolTipEventArgs>(OnShowToolTip); _toolTipManager.CancelToolTip += new EventHandler(OnCancelToolTip); _buttonManager.ToolTipManager = _toolTipManager; }
/// <summary> /// Initialize a new instance of the PaletteBreadCrumbDoubleState class. /// </summary> /// <param name="redirect">Inheritence redirection instance.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> public PaletteBreadCrumbDoubleState(PaletteBreadCrumbRedirect redirect, NeedPaintHandler needPaint) : base(redirect, needPaint) { _paletteCrumb = new PaletteTriple(redirect.BreadCrumb, needPaint); }