public static cave.ui.SwitcherLayerWidget forMargin(cave.GuiApplicationContext context, int margin)
        {
            var v = new cave.ui.SwitcherLayerWidget(context);

            v.margin = margin;
            return(v);
        }
        public static cave.ui.SwitcherLayerWidget forWidget(cave.GuiApplicationContext context, Windows.UI.Xaml.UIElement widget, int margin = 0)
        {
            var v = new cave.ui.SwitcherLayerWidget(context);

            v.margin = margin;
            v.addWidget(widget);
            return(v);
        }
        public override void initializeWidget()
        {
            base.initializeWidget();
            createBackground();
            var mainContainer = cave.ui.VerticalBoxWidget.forContext(context);

            if (widgetEnableActionBar)
            {
                actionBar = new cave.ui.ActionBarWidget(context);
                actionBar.setWidgetBackgroundColor(widgetActionBarBackgroundColor);
                actionBar.setWidgetTextColor(widgetActionBarTextColor);
                actionBar.setWidgetMenuItemSpacing(widgetActionBarMenuItemSpacing);
                var appIcon = getAppIconResource();
                if (cape.String.isEmpty(appIcon) == false)
                {
                    actionBar.configureRightButton(appIcon, getAppMenuHandler());
                }
            }
            if (actionBar != null && widgetActionBarIsFloating == false)
            {
                mainContainer.addWidget((Windows.UI.Xaml.UIElement)actionBar);
            }
            contentArea = new cave.ui.SwitcherLayerWidget(context);
            if (actionBar != null && widgetActionBarIsFloating == true)
            {
                var ll = new cave.ui.LayerWidget(context);
                ll.addWidget((Windows.UI.Xaml.UIElement)contentArea);
                ll.addWidget((Windows.UI.Xaml.UIElement)cave.ui.VerticalBoxWidget.forContext(context).addWidget((Windows.UI.Xaml.UIElement)actionBar, 0.00).addWidget((Windows.UI.Xaml.UIElement) new cave.ui.CustomContainerWidget(context), 1.00));
                mainContainer.addWidget((Windows.UI.Xaml.UIElement)ll, 1.00);
            }
            else
            {
                mainContainer.addWidget((Windows.UI.Xaml.UIElement)contentArea, 1.00);
            }
            var superMainContainer = cave.ui.HorizontalBoxWidget.forContext(context);

            sidebarSlotLeft = new cave.ui.LayerWidget(context);
            superMainContainer.addWidget((Windows.UI.Xaml.UIElement)sidebarSlotLeft);
            superMainContainer.addWidget((Windows.UI.Xaml.UIElement)mainContainer, (double)1);
            addWidget((Windows.UI.Xaml.UIElement)superMainContainer);
            sidebarWidget = createSidebarWidget();
            updateMenuButton();
            var main = contentWidget;

            if (!(main != null))
            {
                main = createMainWidget();
            }
            if (main != null)
            {
                pushWidget(main);
            }
        }
        public static cave.ui.SwitcherLayerWidget findTopMostLayerWidget(Windows.UI.Xaml.UIElement widget)
        {
            cave.ui.SwitcherLayerWidget v = null;
            var pp = widget;

            while (pp != null)
            {
                if (pp is cave.ui.SwitcherLayerWidget)
                {
                    v = (cave.ui.SwitcherLayerWidget)pp;
                }
                pp = cave.ui.Widget.getParent(pp);
            }
            return(v);
        }
        public static cave.ui.SwitcherLayerWidget forWidgets(cave.GuiApplicationContext context, Windows.UI.Xaml.UIElement[] widgets, int margin = 0)
        {
            var v = new cave.ui.SwitcherLayerWidget(context);

            v.margin = margin;
            if (widgets != null)
            {
                var n = 0;
                var m = widgets.Length;
                for (n = 0; n < m; n++)
                {
                    var widget = widgets[n];
                    if (widget != null)
                    {
                        v.addWidget(widget);
                    }
                }
            }
            return(v);
        }