/// <summary> /// Create a button controller for the view. /// </summary> /// <param name="viewButton">View to be controlled.</param> /// <param name="needPaint">Paint delegate.</param> /// <param name="clickHandler">Reference to click handler.</param> /// <returns>Controller instance.</returns> 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); }
/// <summary> /// Create a button controller for the view. /// </summary> /// <param name="viewButton">View to be controlled.</param> /// <param name="needPaint">Paint delegate.</param> /// <param name="clickHandler">Reference to click handler.</param> /// <returns>Controller instance.</returns> 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)); }