Exemplo n.º 1
0
        public override void initializeWidget()
        {
            base.initializeWidget();
            overlayWidget = new cave.ui.LayerWidget(context);
            var bgc = widgetBackgroundColor;

            if (!(bgc != null))
            {
                bgc = defaultActionItemWidgetBackgroundColor;
            }
            if (bgc != null)
            {
                addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, bgc));
            }
            var hbox = cave.ui.HorizontalBoxWidget.forContext(context, 0);

            if (widgetItems != null)
            {
                var n = 0;
                var m = widgetItems.Count;
                for (n = 0; n < m; n++)
                {
                    var w = widgetItems[n];
                    if (w != null)
                    {
                        hbox.addWidget((Windows.UI.Xaml.UIElement)cave.ui.AlignWidget.forWidget(context, w), 1.00);
                    }
                }
            }
            addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)hbox, context.getHeightValue("1mm")));
            addWidget((Windows.UI.Xaml.UIElement)overlayWidget);
        }
Exemplo n.º 2
0
        public DataGridWidget(cave.GuiApplicationContext ctx) : base(ctx)
        {
            addWidget((Windows.UI.Xaml.UIElement)(widgetBackground = new cave.ui.CanvasWidget(ctx)));
            var db = new cave.ui.VerticalBoxWidget(ctx);

            widgetGrid = db;
            db.addWidget((Windows.UI.Xaml.UIElement)(widgetHeaderRow = new cave.ui.HorizontalBoxWidget(ctx)));
            db.addWidget((Windows.UI.Xaml.UIElement)(widgetDataBox   = new cave.ui.VerticalBoxWidget(ctx)));
            var dblayer = new cave.ui.LayerWidget(ctx);

            dblayer.addWidget((Windows.UI.Xaml.UIElement)(widgetGridBackground = new cave.ui.CanvasWidget(ctx)));
            dblayer.addWidget((Windows.UI.Xaml.UIElement)db);
            var dblb = new cave.ui.VerticalBoxWidget(ctx);

            dblb.addWidget((Windows.UI.Xaml.UIElement)dblayer);
            addWidget((Windows.UI.Xaml.UIElement)dblb);
            setWidgetHeaderForegroundColor(cave.Color.black());
            setWidgetDataBackgroundColor(cave.Color.white());
            setWidgetDataForegroundColor(cave.Color.black());
            setWidgetSelectedDataForegroundColor(cave.Color.white());
            setWidgetSelectedDataBackgroundColor(cave.Color.instance("#428AFF"));
            setWidgetBackgroundColor(cave.Color.white());
            setWidgetGridColor(cave.Color.black());
            setWidgetHeaderBackgroundColor(cave.Color.instance("#AAAAAA"));
            setWidgetBackgroundColor(cave.Color.white());
            setWidgetGridWidth(ctx.getHeightValue("500um"));
            setWidgetCellPadding(ctx.getHeightValue("1mm"));
        }
Exemplo n.º 3
0
            public MyRadioButtonWidget(cave.GuiApplicationContext context) : base(context)
            {
                var thisWidget = (dynamic)this;

                setWidgetSpacing(context.getHeightValue("2000um"));
                var widget  = new cave.ui.AlignWidget(context);
                var widget2 = new cave.ui.LayerWidget(context);

                widget2.setWidgetHeightRequest(context.getHeightValue("4000um"));
                widget2.setWidgetWidthRequest(context.getHeightValue("4000um"));
                outline = new cave.ui.CanvasWidget(context);
                outline.setWidgetColor(cave.Color.black());
                outline.setWidgetRoundingRadius((double)context.getHeightValue("2000um"));
                widget2.addWidget((Windows.UI.Xaml.UIElement)outline);
                var widget3 = new cave.ui.LayerWidget(context);

                widget3.setWidgetMargin(context.getHeightValue("500um"));
                canvas = new cave.ui.CanvasWidget(context);
                widget3.addWidget((Windows.UI.Xaml.UIElement)canvas);
                widget2.addWidget((Windows.UI.Xaml.UIElement)widget3);
                widget.addWidget((Windows.UI.Xaml.UIElement)widget2);
                addWidget((Windows.UI.Xaml.UIElement)widget);
                label = new cave.ui.LabelWidget(context);
                addWidget((Windows.UI.Xaml.UIElement)label, 1.00);
            }
Exemplo n.º 4
0
        public Windows.UI.Xaml.UIElement addActionItem(string text, System.Action handler, bool bold = false, cave.Color backgroundColor = null, cave.Color textColor = null)
        {
            var v   = new cave.ui.LayerWidget(context);
            var bgc = backgroundColor;

            if (bgc == null)
            {
                bgc = defaultActionItemWidgetBackgroundColor;
            }
            var tc = determineTextColor(backgroundColor, textColor, defaultActionItemWidgetTextColor, bgc);

            if (bgc != null)
            {
                v.addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, bgc));
            }
            var mm3 = context.getHeightValue("3mm");
            var lbl = cave.ui.LabelWidget.forText(context, text);

            lbl.setWidgetFontSize((double)mm3);
            lbl.setWidgetTextColor(tc);
            lbl.setWidgetFontBold(bold);
            v.addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)lbl, mm3));
            if (handler != null)
            {
                cave.ui.Widget.setWidgetClickHandler((Windows.UI.Xaml.UIElement)v, handler);
            }
            addToWidgetItems((Windows.UI.Xaml.UIElement)v);
            return((Windows.UI.Xaml.UIElement) this);
        }
Exemplo n.º 5
0
        public static cave.ui.LayerWidget forMargin(cave.GuiApplicationContext context, int margin)
        {
            var v = new cave.ui.LayerWidget(context);

            v.setWidgetMargin(margin);
            return(v);
        }
Exemplo n.º 6
0
        public static cave.ui.LayerWidget forWidget(cave.GuiApplicationContext context, Windows.UI.Xaml.UIElement widget, int margin = 0)
        {
            var v = new cave.ui.LayerWidget(context);

            v.setWidgetMargin(margin);
            v.addWidget(widget);
            return(v);
        }
Exemplo n.º 7
0
        public static cave.ui.LayerWidget forWidgetAndWidth(cave.GuiApplicationContext context, Windows.UI.Xaml.UIElement widget, int width)
        {
            var v = new cave.ui.LayerWidget(context);

            v.addWidget(widget);
            v.setWidgetWidthRequest(width);
            return(v);
        }
Exemplo n.º 8
0
            public CellWidget(cave.GuiApplicationContext context) : base(context)
            {
                var thisWidget = (dynamic)this;

                cellBackground = new cave.ui.CanvasWidget(context);
                cellBackground.setWidgetColor(cave.Color.white());
                addWidget((Windows.UI.Xaml.UIElement)cellBackground);
                cellTextCon = new cave.ui.LayerWidget(context);
                addWidget((Windows.UI.Xaml.UIElement)cellTextCon);
            }
Exemplo n.º 9
0
 public FormWidget(cave.GuiApplicationContext context) : base(context)
 {
     fieldsById            = new System.Collections.Generic.Dictionary <string, Windows.UI.Xaml.UIElement>();
     formMargin            = context.getHeightValue("1mm");
     formWidth             = context.getWidthValue("120mm");
     fieldLabelFontSize    = context.getHeightValue("2000um");
     fieldLabelFontFamily  = "Arial";
     elementSpacing        = formMargin;
     customFooterWidget    = new cave.ui.LayerWidget(context);
     widgetBackgroundColor = cave.Color.forString("#EEEEEE");
 }
Exemplo n.º 10
0
            public TabHeaderWidget(cave.GuiApplicationContext context) : base(context)
            {
                var thisWidget = (dynamic)this;

                headerBackground = new cave.ui.CanvasWidget(context);
                addWidget((Windows.UI.Xaml.UIElement)headerBackground);
                headerPadding = new cave.ui.LayerWidget(context);
                headerTitle   = new cave.ui.LabelWidget(context);
                headerTitle.setWidgetText("Tab Header");
                headerPadding.addWidget((Windows.UI.Xaml.UIElement)headerTitle);
                addWidget((Windows.UI.Xaml.UIElement)headerPadding);
            }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        public void showMessageDialog(string title, string message, System.Action callback = null)
        {
            checkForDefaultColors();
            var mm2    = context.getWidthValue("2mm");
            var mm3    = context.getWidthValue("3mm");
            var widget = new cave.ui.LayerWidget(context);

            widget.setWidgetWidthRequest(context.getWidthValue("100mm"));
            widget.addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, cave.Color.white()));
            var titleLabel = cave.ui.LabelWidget.forText(context, title);

            titleLabel.setWidgetFontSize((double)mm3);
            titleLabel.setWidgetTextColor(headerTextColor);
            titleLabel.setWidgetFontBold(true);
            var box = new cave.ui.VerticalBoxWidget(context);

            box.addWidget((Windows.UI.Xaml.UIElement) new cave.ui.LayerWidget(context).addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, headerBackgroundColor)).addWidget((Windows.UI.Xaml.UIElement)cave.ui.AlignWidget.forWidget(context, (Windows.UI.Xaml.UIElement)titleLabel, (double)0, 0.50).setWidgetMargin(mm3)));
            var sbox = new cave.ui.VerticalBoxWidget(context);

            sbox.setWidgetMargin(mm3);
            sbox.setWidgetSpacing(mm3);
            var messageLabel = cave.ui.LabelWidget.forText(context, message);

            messageLabel.setWidgetTextAlign(cave.ui.LabelWidget.ALIGN_CENTER);
            messageLabel.setWidgetFontSize((double)mm3);
            messageLabel.setWidgetTextColor(messageTextColor);
            sbox.addWidget((Windows.UI.Xaml.UIElement)messageLabel);
            var buttons = new cave.ui.HorizontalBoxWidget(context);

            buttons.setWidgetSpacing(mm3);
            var okButton = cave.ui.TextButtonWidget.forText(context, "OK", null);

            okButton.setWidgetBackgroundColor(positiveButtonColor);
            buttons.addWidget((Windows.UI.Xaml.UIElement)okButton, 1.00);
            sbox.addWidget((Windows.UI.Xaml.UIElement)buttons);
            box.addWidget((Windows.UI.Xaml.UIElement)sbox);
            widget.addWidget((Windows.UI.Xaml.UIElement)box);
            var pp = cave.ui.PopupWidget.forContentWidget(context, (Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)widget, mm2));
            var cb = callback;

            pp.showPopup(parent);
            okButton.setWidgetClickHandler(() => {
                pp.hidePopup();
                if (cb != null)
                {
                    cb();
                }
            });
        }
Exemplo n.º 13
0
        public static cave.ui.LayerWidget findTopMostLayerWidget(Windows.UI.Xaml.UIElement widget)
        {
            cave.ui.LayerWidget v = null;
            var pp = widget;

            while (pp != null)
            {
                if (pp is cave.ui.LayerWidget)
                {
                    v = (cave.ui.LayerWidget)pp;
                }
                pp = cave.ui.Widget.getParent(pp);
            }
            return(v);
        }
Exemplo n.º 14
0
        public TabWidget(cave.GuiApplicationContext context) : base(context)
        {
            var thisWidget = (dynamic)this;
            var widget     = new cave.ui.VerticalBoxWidget(context);

            tabHeaders = new cave.ui.HorizontalBoxWidget(context);
            widget.addWidget((Windows.UI.Xaml.UIElement)tabHeaders);
            var widget2 = new cave.ui.LayerWidget(context);

            background = new cave.ui.CanvasWidget(context);
            background.setWidgetColor(cave.Color.white());
            widget2.addWidget((Windows.UI.Xaml.UIElement)background);
            content = new cave.ui.LayerWidget(context);
            widget2.addWidget((Windows.UI.Xaml.UIElement)content);
            widget.addWidget((Windows.UI.Xaml.UIElement)widget2, 1.00);
            addWidget((Windows.UI.Xaml.UIElement)widget);
        }
Exemplo n.º 15
0
        public virtual void showPopup(Windows.UI.Xaml.UIElement widget)
        {
            cave.ui.LayerWidget parentLayer = null;
            var parent = widget;

            while (parent != null)
            {
                if (parent is cave.ui.LayerWidget)
                {
                    parentLayer = (cave.ui.LayerWidget)parent;
                }
                parent = cave.ui.Widget.getParent(parent);
            }
            if (parentLayer == null)
            {
                System.Diagnostics.Debug.WriteLine("[cave.ui.PopupWidget.showPopup] (PopupWidget.sling:126:3): No LayerWidget was found in the widget tree. Cannot show popup!");
                return;
            }
            parentLayer.addWidget((Windows.UI.Xaml.UIElement) this);
            cave.ui.Widget.setAlpha((Windows.UI.Xaml.UIElement)widgetContainerBackgroundColor, (double)0);
            cave.ui.Widget.setAlpha(widgetContent, (double)0);
            animationDestY = cave.ui.Widget.getY(widgetContent);
            var ay = context.getHeightValue("3mm");

            cave.ui.Widget.move(widgetContent, cave.ui.Widget.getX(widgetContent), (int)(animationDestY + ay));
            var anim = cave.ui.WidgetAnimation.forDuration(context, (long)300);

            anim.addCallback((double completion) => {
                var bgf = completion * 1.50;
                if (bgf > 1.00)
                {
                    bgf = 1.00;
                }
                cave.ui.Widget.setAlpha((Windows.UI.Xaml.UIElement)widgetContainerBackgroundColor, bgf);
                cave.ui.Widget.setAlpha(widgetContent, completion);
                cave.ui.Widget.move(widgetContent, cave.ui.Widget.getX(widgetContent), (int)(animationDestY + (1.00 - completion) * ay));
            });
            anim.setEndListener(() => {
                if (popupAnimationEndHandler != null)
                {
                    popupAnimationEndHandler();
                }
            });
            anim.start();
        }
Exemplo n.º 16
0
        public void displaySidebarWidget(bool animated = true)
        {
            if (sidebarIsFixed || sidebarIsDisplayed || sidebarWidget == null)
            {
                return;
            }
            if (dimWidget == null)
            {
                dimWidget = (Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, cave.Color.forRGBADouble(0.00, 0.00, 0.00, 0.80));
            }
            addWidget(dimWidget);
            sidebarIsDisplayed = true;
            var box = new cave.ui.HorizontalBoxWidget(context);

            box.addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, sidebarWidget));
            var filler = new cave.ui.LayerWidget(context);

            cave.ui.Widget.setWidgetClickHandler((Windows.UI.Xaml.UIElement)filler, () => {
                hideSidebarWidget();
            });
            box.addWidget((Windows.UI.Xaml.UIElement)filler, (double)1);
            var sidebarWidthRequest = updateSidebarWidthRequest(cave.ui.Widget.getWidth((Windows.UI.Xaml.UIElement) this));

            addWidget((Windows.UI.Xaml.UIElement)box);
            if (animated)
            {
                cave.ui.Widget.setAlpha((Windows.UI.Xaml.UIElement)box, 0.00);
                var sx = -sidebarWidthRequest;
                cave.ui.Widget.move((Windows.UI.Xaml.UIElement)box, sx, cave.ui.Widget.getY((Windows.UI.Xaml.UIElement)box));
                cave.ui.Widget.setAlpha(dimWidget, 0.00);
                var anim = cave.ui.WidgetAnimation.forDuration(context, (long)250);
                anim.addCallback((double completion) => {
                    var dx = (int)(sx + (0 - sx) * completion);
                    if (dx > 0)
                    {
                        dx = 0;
                    }
                    cave.ui.Widget.move((Windows.UI.Xaml.UIElement)box, dx, cave.ui.Widget.getY((Windows.UI.Xaml.UIElement)box));
                    cave.ui.Widget.setAlpha(dimWidget, completion);
                    cave.ui.Widget.setAlpha((Windows.UI.Xaml.UIElement)box, completion);
                });
                anim.start();
            }
        }
Exemplo n.º 17
0
        public override void initializeWidget()
        {
            base.initializeWidget();
            var bgc = widgetBackgroundColor;

            if (bgc != null)
            {
                canvas = cave.ui.CanvasWidget.forColor(context, bgc);
                addWidget((Windows.UI.Xaml.UIElement)canvas);
            }
            var tml = new cave.ui.TopMarginLayerWidget(context);

            label = cave.ui.LabelWidget.forText(context, widgetTitle);
            label.setWidgetFontFamily("Arial");
            var wtc = getWidgetTextColor();

            label.setWidgetTextColor(wtc);
            box = cave.ui.HorizontalBoxWidget.forContext(context);
            box.setWidgetMargin(context.getWidthValue("1mm"));
            box.setWidgetSpacing(context.getWidthValue("1mm"));
            leftButton = new cave.ui.ImageButtonWidget(context);
            leftButton.setWidgetButtonHeight(context.getHeightValue("6mm"));
            box.addWidget((Windows.UI.Xaml.UIElement)leftButton);
            updateLeftButton();
            widgetTitleContainer = cave.ui.AlignWidget.forWidget(context, (Windows.UI.Xaml.UIElement)label, 0.50, 0.50);
            box.addWidget((Windows.UI.Xaml.UIElement)widgetTitleContainer, 1.00);
            var spacing = widgetMenuItemSpacing;

            if (spacing < 0)
            {
                spacing = context.getWidthValue("1mm");
            }
            menuItems = cave.ui.HorizontalBoxWidget.forContext(context, context.getWidthValue("1mm"), spacing);
            box.addWidget((Windows.UI.Xaml.UIElement)menuItems);
            rightButton = new cave.ui.ImageButtonWidget(context);
            rightButton.setWidgetButtonHeight(context.getHeightValue("6mm"));
            box.addWidget((Windows.UI.Xaml.UIElement)rightButton);
            updateRightButton();
            tml.addWidget((Windows.UI.Xaml.UIElement)box);
            overlayWidget = new cave.ui.LayerWidget(context);
            tml.addWidget((Windows.UI.Xaml.UIElement)overlayWidget);
            addWidget((Windows.UI.Xaml.UIElement)tml);
        }
Exemplo n.º 18
0
        public static cave.ui.LayerWidget forWidgets(cave.GuiApplicationContext context, Windows.UI.Xaml.UIElement[] widgets, int margin = 0)
        {
            var v = new cave.ui.LayerWidget(context);

            v.setWidgetMargin(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);
        }
Exemplo n.º 19
0
 public void addWidgetHeaderRow()
 {
     widgetHeaderRow.removeAllChildren();
     if (widgetColumns != null)
     {
         var n = 0;
         var m = widgetColumns.Count;
         for (n = 0; n < m; n++)
         {
             var column = widgetColumns[n];
             if (column != null)
             {
                 var str = column.name;
                 if (!(str != null))
                 {
                     str = "";
                 }
                 var lbl = cave.ui.LabelWidget.forText(context, str);
                 lbl.setWidgetTextColor(widgetHeaderForegroundColor);
                 lbl.setWidgetFontBold(true);
                 var cc = cave.ui.CanvasWidget.forColor(context, widgetHeaderBackgroundColor);
                 var ll = new cave.ui.LayerWidget(context);
                 ll.addWidget((Windows.UI.Xaml.UIElement)cc);
                 if (widgetCellPadding > 0)
                 {
                     ll.addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)lbl, widgetCellPadding));
                 }
                 else
                 {
                     ll.addWidget((Windows.UI.Xaml.UIElement)lbl);
                 }
                 widgetHeaderRow.addWidget((Windows.UI.Xaml.UIElement)ll, column.weight);
             }
         }
     }
 }
Exemplo n.º 20
0
 public DataGridRowWidget(cave.GuiApplicationContext ctx) : base(ctx)
 {
     addWidget((Windows.UI.Xaml.UIElement)(widgetBackground = cave.ui.CanvasWidget.forColor(context, cave.Color.black())));
     addWidget((Windows.UI.Xaml.UIElement)(widgetMain       = new cave.ui.LayerWidget(ctx)));
 }