ComponentFactory.Krypton.Ribbon.VisualPopupAppMenu.VisualPopupAppMenu C# (CSharp) Method

VisualPopupAppMenu() public method

Initialize a new instance of the VisualPopupAppMenu class.
public VisualPopupAppMenu ( KryptonRibbon ribbon, RibbonAppButton appButton, IPalette palette, PaletteMode paletteMode, PaletteRedirect redirector, Rectangle rectAppButtonTopHalf, Rectangle rectAppButtonBottomHalf, bool keyboardActivated ) : System
ribbon KryptonRibbon Owning ribbon instance.
appButton RibbonAppButton Originating app button instance.
palette IPalette Local palette setting to use initially.
paletteMode PaletteMode Palette mode setting to use initially.
redirector ComponentFactory.Krypton.Toolkit.PaletteRedirect Redirector used for obtaining palette values.
rectAppButtonTopHalf System.Drawing.Rectangle Screen location of the upper half of the app button.
rectAppButtonBottomHalf System.Drawing.Rectangle Screen location of the lower half of the app button.
keyboardActivated bool Was the context menu activated by a keyboard action.
return System
        public VisualPopupAppMenu(KryptonRibbon ribbon,
                                  RibbonAppButton appButton,
                                  IPalette palette,
                                  PaletteMode paletteMode,
                                  PaletteRedirect redirector,
                                  Rectangle rectAppButtonTopHalf,
                                  Rectangle rectAppButtonBottomHalf,
                                  bool keyboardActivated)
            : base(true)
        {
            // Remember incoming state
            _redirector = redirector;
            _ribbon = ribbon;
            _rectAppButtonTopHalf = rectAppButtonTopHalf;
            _rectAppButtonBottomHalf = rectAppButtonBottomHalf;

            // Create the view manager instance with root element
            ViewManager = new ViewContextMenuManager(this, new ViewLayoutNull());

            // Set the initial resolved palette to the appropriate setting
            if (palette != null)
                SetPalette(palette);
            else
                SetPalette(KryptonManager.GetPaletteForMode(paletteMode));

            // Set of context menu columns
            _viewColumns = new ViewLayoutStack(true);

            // Create provider instance
            _provider = new AppButtonMenuProvider((ViewContextMenuManager)ViewManager,
                                                  _ribbon.RibbonAppButton.AppButtonMenuItems,
                                                  _viewColumns, palette, paletteMode,
                                                  redirector, NeedPaintDelegate);

            _provider.Closing += new CancelEventHandler(OnProviderClosing);
            _provider.Close += new EventHandler<CloseReasonEventArgs>(OnProviderClose);
            _provider.Dispose += new EventHandler(OnProviderClose);

            CreateAppButtonBottom();
            CreateButtonSpecView();
            CreateContextMenuView(appButton);
            CreateRecentDocumentsView();
            CreateInnerBacking(CreateInsideCanvas());
            CreateOuterBacking();
            CreateOutsideDocker();
            CreateButtonManager(appButton);

            ViewManager.Root = _drawOutsideDocker;

            // With keyboard activate we select the first valid item
            if (keyboardActivated)
                ((ViewContextMenuManager)ViewManager).KeyDown();
        }