private void HitOn(int x, int y) { if (Ribbon.Tabs.Count == 0 || Ribbon.ActiveTab == null) { SelectRibbon(); return; } if (Ribbon != null) { if (Ribbon.TabHitTest(x, y)) { SelectedElement = Ribbon.ActiveTab; } else { #region Tab ScrollTest if (Ribbon.ActiveTab.TabContentBounds.Contains(x, y)) { if (Ribbon.ActiveTab.ScrollLeftBounds.Contains(x, y) && Ribbon.ActiveTab.ScrollLeftVisible) { Ribbon.ActiveTab.ScrollLeft(); SelectedElement = Ribbon.ActiveTab; return; } if (Ribbon.ActiveTab.ScrollRightBounds.Contains(x, y) && Ribbon.ActiveTab.ScrollRightVisible) { Ribbon.ActiveTab.ScrollRight(); SelectedElement = Ribbon.ActiveTab; return; } } #endregion //Check Panel if (Ribbon.ActiveTab.TabContentBounds.Contains(x, y)) { RibbonPanel hittedPanel = null; foreach (RibbonPanel panel in Ribbon.ActiveTab.Panels) { if (panel.Bounds.Contains(x, y)) { hittedPanel = panel; break; } } if (hittedPanel != null) { //Check item RibbonItem hittedItem = null; foreach (RibbonItem item in hittedPanel.Items) { if (item.Bounds.Contains(x, y)) { hittedItem = item; break; } } if (hittedItem != null && hittedItem is IContainsSelectableRibbonItems) { //Check subitem RibbonItem hittedSubItem = null; foreach (RibbonItem subItem in (hittedItem as IContainsSelectableRibbonItems).GetItems()) { if (subItem.Bounds.Contains(x, y)) { hittedSubItem = subItem; break; } } if (hittedSubItem != null) { SelectedElement = hittedSubItem; } else { SelectedElement = hittedItem; } } else if (hittedItem != null) { SelectedElement = hittedItem; } else { SelectedElement = hittedPanel; } } else { SelectedElement = Ribbon.ActiveTab; } } else if (Ribbon.QuickAcessToolbar.SuperBounds.Contains(x, y)) { bool itemHitted = false; foreach (RibbonItem item in Ribbon.QuickAcessToolbar.Items) { if (item.Bounds.Contains(x, y)) { itemHitted = true; SelectedElement = item; break; } } if (!itemHitted) { SelectedElement = Ribbon.QuickAcessToolbar; } } else if (Ribbon.OrbBounds.Contains(x, y)) { Ribbon.OrbMouseDown(); } else { SelectRibbon(); Ribbon.ForceOrbMenu = false; if (Ribbon.OrbDropDown.Visible) { Ribbon.OrbDropDown.Close(); } } } } }
internal override void SetOwnerPanel(RibbonPanel ownerPanel) { base.SetOwnerPanel(ownerPanel); _dropDownItems.SetOwnerPanel(ownerPanel); }
public RibbonPanelRenderEventArgs(Ribbon owner, Graphics g, Rectangle clip, RibbonPanel panel, Control canvas) : base(owner, g, clip) { Panel = panel; Canvas = canvas; }
/// <summary> /// Sets the value of the OwnerPanel property /// </summary> /// <param name="ownerPanel">RibbonPanel where this item is located</param> internal virtual void SetOwnerPanel(RibbonPanel ownerPanel) { _ownerPanel = ownerPanel; }