Пример #1
0
        /// <summary>
        /// Initialize a new instance of the GroupCheckBoxController class.
        /// </summary>
        /// <param name="ribbon">Source control instance.</param>
        /// <param name="targetMain">Target for main element changes.</param>
        /// <param name="targetImage">Target for image state changes.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public GroupCheckBoxController(KryptonRibbon ribbon,
                                       ViewBase targetMain,
                                       ViewDrawRibbonGroupCheckBoxImage targetImage,
                                       NeedPaintHandler needPaint)
        {
            Debug.Assert(ribbon != null);
            Debug.Assert(targetMain != null);
            Debug.Assert(targetImage != null);
            Debug.Assert(needPaint != null);

            _ribbon      = ribbon;
            TargetMain   = targetMain;
            _targetImage = targetImage;
            NeedPaint    = needPaint;
        }
        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, GroupCheckBox, false);
            _viewMediumSmallText1 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, GroupCheckBox, true);
            _viewMediumSmallText2 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, GroupCheckBox, false);
            ViewLayoutRibbonCenterPadding imagePadding = new ViewLayoutRibbonCenterPadding(_smallImagePadding)
            {
                _viewMediumSmallImage
            };

            // Layout the content in the center of a row
            _viewMediumSmallCenter = new ViewLayoutRibbonRowCenter
            {
                imagePadding,
                _viewMediumSmallText1,
                _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        += OnMediumSmallCheckBoxClick;
            _viewMediumSmallController.ContextClick += 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);
        }
        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, GroupCheckBox, true);
            ViewLayoutRibbonCenterPadding largeImagePadding = new ViewLayoutRibbonCenterPadding(_largeImagePadding)
            {
                _viewLargeImage
            };

            _viewLarge.Add(largeImagePadding, ViewDockStyle.Top);

            // Add the first line of text
            _viewLargeText1 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, GroupCheckBox, true);
            _viewLarge.Add(_viewLargeText1, ViewDockStyle.Bottom);

            // Add the second line of text
            _viewLargeText2 = new ViewDrawRibbonGroupCheckBoxText(_ribbon, GroupCheckBox, 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        += OnLargeCheckBoxClick;
            _viewLargeController.ContextClick += 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);
        }