private void CreateLargeCheckBoxView() { // Create the layout docker for the contents of the button _viewLarge = new ViewLayoutRibbonCheckBox(); // Add the large button at the top _viewLargeImage = new ViewDrawRibbonGroupCheckBoxImage(_ribbon, _ribbonCheckBox, true); ViewLayoutRibbonCenterPadding largeImagePadding = new ViewLayoutRibbonCenterPadding(_largeImagePadding); largeImagePadding.Add(_viewLargeImage); _viewLarge.Add(largeImagePadding, ViewDockStyle.Top); // Add the first line of text _viewLargeText1 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, _ribbonCheckBox, true); _viewLarge.Add(_viewLargeText1, ViewDockStyle.Bottom); // Add the second line of text _viewLargeText2 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, _ribbonCheckBox, false); _viewLarge.Add(_viewLargeText2, ViewDockStyle.Bottom); // Add a 1 pixel separator at bottom of button before the text _viewLarge.Add(new ViewLayoutRibbonSeparator(1, false), ViewDockStyle.Bottom); // Create controller for handling mouse, keyboard and focus _viewLargeController = new GroupCheckBoxController(_ribbon, _viewLarge, _viewLargeImage, _needPaint); _viewLargeController.Click += new EventHandler(OnLargeCheckBoxClick); _viewLargeController.ContextClick += new MouseEventHandler(OnContextClick); _viewLarge.MouseController = _viewLargeController; _viewLarge.SourceController = _viewLargeController; _viewLarge.KeyController = _viewLargeController; // Create controller for intercepting events to determine tool tip handling _viewLarge.MouseController = new ToolTipController(_ribbon.TabsArea.ButtonSpecManager.ToolTipManager, _viewLarge, _viewLarge.MouseController); }
private void CreateMediumSmallCheckBoxView() { // Create the layout docker for the contents of the button _viewMediumSmall = new ViewLayoutRibbonCheckBox(); // Create the image and drop down content _viewMediumSmallImage = new ViewDrawRibbonGroupCheckBoxImage(_ribbon, _ribbonCheckBox, false); _viewMediumSmallText1 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, _ribbonCheckBox, true); _viewMediumSmallText2 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, _ribbonCheckBox, false); ViewLayoutRibbonCenterPadding imagePadding = new ViewLayoutRibbonCenterPadding(_smallImagePadding); imagePadding.Add(_viewMediumSmallImage); // Layout the content in the center of a row _viewMediumSmallCenter = new ViewLayoutRibbonRowCenter(); _viewMediumSmallCenter.Add(imagePadding); _viewMediumSmallCenter.Add(_viewMediumSmallText1); _viewMediumSmallCenter.Add(_viewMediumSmallText2); // Use content as only fill item _viewMediumSmall.Add(_viewMediumSmallCenter, ViewDockStyle.Fill); // Create controller for handling mouse, keyboard and focus _viewMediumSmallController = new GroupCheckBoxController(_ribbon, _viewMediumSmall, _viewMediumSmallImage, _needPaint); _viewMediumSmallController.Click += new EventHandler(OnMediumSmallCheckBoxClick); _viewMediumSmallController.ContextClick += new MouseEventHandler(OnContextClick); _viewMediumSmall.MouseController = _viewMediumSmallController; _viewMediumSmall.SourceController = _viewMediumSmallController; _viewMediumSmall.KeyController = _viewMediumSmallController; // Create controller for intercepting events to determine tool tip handling _viewMediumSmall.MouseController = new ToolTipController(_ribbon.TabsArea.ButtonSpecManager.ToolTipManager, _viewMediumSmall, _viewMediumSmall.MouseController); }
/// <summary> /// Gets the array of group level key tips. /// </summary> /// <param name="keyTipList">List to add new entries into.</param> /// <param name="lineHint">Provide hint to item about its location.</param> public void GetGroupKeyTips(KeyTipInfoList keyTipList, int lineHint) { // Only provide a key tip if we are visible if (Visible) { // Get the screen location of the check box Rectangle viewRect = _ribbon.KeyTipToScreen(this[0]); Point screenPt = Point.Empty; GroupCheckBoxController controller = null; // Determine the screen position of the key tip dependant on item location/size switch (_currentSize) { case GroupItemSize.Large: screenPt = new Point(viewRect.Left + (viewRect.Width / 2), viewRect.Bottom); controller = _viewLargeController; break; case GroupItemSize.Medium: case GroupItemSize.Small: screenPt = _ribbon.CalculatedValues.KeyTipRectToPoint(viewRect, lineHint); controller = _viewMediumSmallController; break; } keyTipList.Add(new KeyTipInfo(_ribbonCheckBox.Enabled, _ribbonCheckBox.KeyTip, screenPt, this[0].ClientRectangle, controller)); } }