ComponentFactory.Krypton.Ribbon.ButtonSpecViewAppButton.CreateController C# (CSharp) Method

CreateController() public method

Create a button controller for the view.
public CreateController ( ViewDrawButton viewButton, NeedPaintHandler needPaint, MouseEventHandler clickHandler ) : ButtonSpecViewControllers
viewButton ComponentFactory.Krypton.Toolkit.ViewDrawButton View to be controlled.
needPaint NeedPaintHandler Paint delegate.
clickHandler MouseEventHandler Reference to click handler.
return ComponentFactory.Krypton.Toolkit.ButtonSpecViewControllers
        public override ButtonSpecViewControllers CreateController(ViewDrawButton viewButton,
                                                                   NeedPaintHandler needPaint,
                                                                   MouseEventHandler clickHandler)
        {
            // Create a ribbon specific button controller
            ButtonSpecManagerLayoutAppButton managerAppButton = (ButtonSpecManagerLayoutAppButton)Manager;
            _controller = new ButtonSpecAppButtonController(managerAppButton.ViewManager, viewButton, needPaint);
            _controller.BecomesFixed = true;
            _controller.Click += clickHandler;

            // If associated with a tooltip manager then pass mouse messages onto tooltip manager
            IMouseController mouseController = (IMouseController)_controller;
            if (Manager.ToolTipManager != null)
                mouseController = new ToolTipController(Manager.ToolTipManager, viewButton, _controller);

            // Return a collection of controllers
            return new ButtonSpecViewControllers(mouseController, _controller, _controller);
        }