Exemplo n.º 1
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.º 2
0
        public static cave.ui.HorizontalBoxWidget forContext(cave.GuiApplicationContext context, int widgetMargin = 0, int widgetSpacing = 0)
        {
            var v = new cave.ui.HorizontalBoxWidget(context);

            v.widgetMarginLeft   = widgetMargin;
            v.widgetMarginRight  = widgetMargin;
            v.widgetMarginTop    = widgetMargin;
            v.widgetMarginBottom = widgetMargin;
            v.widgetSpacing      = widgetSpacing;
            return(v);
        }
Exemplo n.º 3
0
        public MenuBarWidget(cave.GuiApplicationContext context) : base(context)
        {
            var thisWidget = (dynamic)this;
            var widget     = new cave.ui.CanvasWidget(context);

            widget.setWidgetColor(cave.Color.forString("#BBBBBB"));
            addWidget((Windows.UI.Xaml.UIElement)widget);
            box = new cave.ui.HorizontalBoxWidget(context);
            box.setWidgetSpacing(context.getWidthValue("300um"));
            box.setWidgetMargin(context.getWidthValue("300um"));
            addWidget((Windows.UI.Xaml.UIElement)box);
        }
Exemplo n.º 4
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.º 5
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.º 6
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.º 7
0
            public void reload(object[] data, System.Collections.Generic.List <cave.ui.DataGridWidget.Column> widgetColumns, bool isEditable = false)
            {
                var n = 0;
                var c = data.Length;

                widgetCellContainer = new cave.ui.HorizontalBoxWidget(context);
                widgetCellContainer.setWidgetSpacing(widgetGridWidth);
                widgetMain.addWidget((Windows.UI.Xaml.UIElement)widgetCellContainer);
                if (widgetColumns != null)
                {
                    var n2 = 0;
                    var m  = widgetColumns.Count;
                    for (n2 = 0; n2 < m; n2++)
                    {
                        var column = widgetColumns[n2];
                        if (column != null)
                        {
                            if (n >= c)
                            {
                                continue;
                            }
                            var dd  = data[n];
                            var str = cape.String.asString(dd);
                            if (!(str != null))
                            {
                                str = "";
                            }
                            cave.ui.DataGridWidget.CellWidget cell = null;
                            if (isEditable)
                            {
                                cell = cave.ui.DataGridWidget.CellWidget.forEditableCell(context, str, widgetCellPadding);
                            }
                            else
                            {
                                cell = cave.ui.DataGridWidget.CellWidget.forStaticCell(context, str, widgetCellPadding);
                            }
                            cell.setWidgetKey(column.key);
                            cell.setWidgetCellTextColor(cave.Color.black());
                            widgetCellContainer.addWidget((Windows.UI.Xaml.UIElement)cell, column.weight);
                            n++;
                        }
                    }
                }
            }
Exemplo n.º 8
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);
        }