示例#1
0
        private UILabel SetupControls_TopRow(UiBuilder <MainMenuWindow> builder,
                                             U.AtlasBuilder atlasBuilder)
        {
            UILabel versionLabel;

            using (var versionLabelB = builder.Label <U.ULabel>(TrafficManagerMod.ModName)) {
                versionLabelB.ResizeFunction(r => r.Stack(UStackMode.Below));
                this.VersionLabel = versionLabel = versionLabelB.Control;
            }

            using (var btnBuilder = builder.Button <U.UButton>()) {
                UButton control = btnBuilder.Control;
                this.toggleOsdButton_ = control;
                control.atlas         = this.allButtonsAtlas_;
                control.name          = "TMPE_MainMenu_HelpButton";

                // Texture for Help will be included in the `allButtonsAtlas_`
                ButtonSkin skin = new ButtonSkin {
                    BackgroundPrefix  = "RoundButton",
                    Prefix            = "Help",
                    BackgroundHovered = true,
                    BackgroundActive  = true,
                    ForegroundActive  = true,
                };
                skin.UpdateAtlasBuilder(
                    atlasBuilder,
                    spriteSize: new IntVector2(50));

                control.Skin = skin;
                control.UpdateButtonImage();

                // This has to be done later when form setup is done:
                // helpB.Control.atlas = allButtonsAtlas_;

                btnBuilder.ResizeFunction(
                    resizeFn: r => {
                    r.Control.isVisible = true;     // not sure why its hidden on create? TODO
                    r.Stack(mode: UStackMode.ToTheRight,
                            spacing: UConst.UIPADDING * 3f,
                            stackRef: versionLabel);
                    r.Width(UValue.FixedSize(18f));     // assume Version label is 18pt high
                    r.Height(UValue.FixedSize(18f));
                });

                control.uCanActivate = c => true;
                control.uTooltip     = Translation.Menu.Get("Tooltip:Toggle onscreen display panel");

                control.uIsActive =
                    c => GlobalConfig.Instance.Main.KeybindsPanelVisible;

                control.uOnClick += (component, eventParam) => {
                    ModUI.Instance.MainMenu.OnToggleOsdButtonClicked(component as U.UButton);
                };
            }

            return(versionLabel);
        }
示例#2
0
        private UILabel SetupControls_TopRow(UiBuilder <MainMenuWindow> builder,
                                             HashSet <string> atlasKeySet)
        {
            UILabel versionLabel;

            using (var versionLabelB = builder.Label <U.Label.ULabel>(TrafficManagerMod.ModName)) {
                versionLabelB.ResizeFunction(r => r.Stack(UStackMode.Below));
                this.VersionLabel = versionLabel = versionLabelB.Control;
            }

            using (var helpB = builder.Button <U.Button.UButton>()) {
                this.helpButton_    = helpB.Control;
                helpB.Control.atlas = this.allButtonsAtlas_;
                helpB.Control.name  = "TMPE_MainMenu_HelpButton";

                // Texture for Help will be included in the `allButtonsAtlas_`
                ButtonSkin skin = new ButtonSkin {
                    BackgroundPrefix  = "RoundButton",
                    Prefix            = "Help",
                    BackgroundHovered = true,
                    BackgroundActive  = true,
                    ForegroundActive  = true,
                };
                atlasKeySet.AddRange(skin.CreateAtlasKeyset());

                helpB.Control.Skin = skin;
                helpB.Control.UpdateButtonImage();

                // This has to be done later when form setup is done:
                // helpB.Control.atlas = allButtonsAtlas_;

                helpB.ResizeFunction(
                    resizeFn: r => {
                    r.Control.isVisible = true;     // not sure why its hidden on create? TODO
                    r.Stack(mode: UStackMode.ToTheRight,
                            spacing: UConst.UIPADDING * 3f,
                            stackRef: versionLabel);
                    r.Width(UValue.FixedSize(18f));     // assume Version label is 18pt high
                    r.Height(UValue.FixedSize(18f));
                });

                helpB.Control.uCanActivate = c => true;

                helpB.Control.uIsActive =
                    c => GlobalConfig.Instance.Main.KeybindsPanelVisible;

                helpB.Control.uOnClick += (component, eventParam) => {
                    ModUI.Instance.MainMenu.OnHelpButtonClicked(component as U.Button.UButton);
                };
            }

            return(versionLabel);
        }
示例#3
0
 public void AddItem()
 {
     foreach (var item in Minecraft.MinecraftList)
     {
         var Button = new UButton()
         {
             Texture = item.Value.Texture,
             Content = item.Value.Name,
             KeyName = item.Key
         };
         Button.Click += UButton_Click;
         I1.Children.Add(Button);
     }
 }
示例#4
0
        public int ButtonCallback1(UButton button)
        {
            switch (button.Id)
            {
            case 1:
                MessageBox.Show("button1 pushed");
                break;

            case 2:
                MessageBox.Show("button2 pushed");
                break;
            }


            return(0);
        }
示例#5
0
    /// <summary>
    ///
    /// </summary>
    protected WindowDemo()
    {
        //toolbar
        {
            UToolbar toolbar = new UToolbar();
            // button
            {
                UButton button = new UButton("Button");
                button.OnClicked += OnButtonClickedHandler;

                toolbar.AddWidget(button);
            }

            //toggle button
            {
                UToggleButton toggleButton = new UToggleButton("Toggle");
                toggleButton.OnToggleChanged += new UToggleChangedEventHandler(OnToggleChangedHandler);

                toolbar.AddWidget(toggleButton);
            }

            //menu
            {
                UMenu menu = new UMenu("Menu");

                UMenuButton a = new UMenuButton("A");
                a.OnClicked += OnMenuButtonAClickedHandler;

                UMenuButton b = new UMenuButton("B");
                b.enabled    = false;
                b.OnClicked += OnMenuButtonBClickedHandler;

                UMenuSeparator s = new UMenuSeparator();

                UMenuButton c = new UMenuButton("C");
                c.OnClicked += OnMenuButtonCClickedHandler;

                menu.AddItem(a);
                menu.AddItem(b);
                menu.AddItem(s);
                menu.AddItem(c);

                toolbar.AddWidget(menu);
            }

            //enum popup
            {
                UEnumPopup enumPopup = new UEnumPopup(WeekDay.Monday);
                enumPopup.OnValueChanged += OnEnumValueChangedHandler;

                toolbar.AddWidget(enumPopup);
            }

            //search field
            {
                USearchField searchFiled = new USearchField();
                searchFiled.OnTextChanged += OnSerachTextChangedHander;

                toolbar.AddWidget(searchFiled, UToolbar.Alignment.Right);
            }

            AddWidget(toolbar);
        }

        //treeview
        {
            UTreeView treeView = new UTreeView();
            AddWidget(treeView);

            UTreeViewItem item0   = treeView.Add("treeview item 1");
            UTreeViewItem child00 = item0.Add("treeview item 1.1");
            child00.Add("treeview item 1.1.1");
            UTreeViewItem child01 = item0.Add("treeview item 1.2");
            child00.Add("treeview item 1.2.1");

            UTreeViewItem item1 = treeView.Add("treeview item 2");
            item1.Add("treeview item 2.1");
            item1.Add("treeview item 2.2");

            UTreeViewItem item2 = treeView.Add("treeview item 3");
            item2.Add("treeview item 3.1");
            item2.Add("treeview item 3.2");

            UTreeViewItem item3 = treeView.Add("treeview item 4");
            item3.Add("treeview item 4.1");
            item3.Add("treeview item 4.2");

            UTreeViewItem item4 = treeView.Add("treeview item 5");
            item4.Add("treeview item 5.1");
            item4.Add("treeview item 5.2");

            UTreeViewItem item5 = treeView.Add("treeview item 6");
            item5.Add("treeview item 6.1");
            item5.Add("treeview item 6.2");

            UTreeViewItem item6 = treeView.Add("treeview item 7");
            item6.Add("treeview item 7.1");
            item6.Add("treeview item 7.2");

            treeView.Add("treeview item 8");
            treeView.Add("treeview item 9");
            treeView.Add("treeview item 10");
        }

        //listview
        {
            UListView listView = new UListView();
            AddWidget(listView);

            listView.Add("listview item 1");
            listView.Add("listview item 2");
            listView.Add("listview item 3");
            listView.Add("listview item 4");
            listView.Add("listview item 5");
            listView.Add("listview item 6");
            listView.Add("listview item 7");
            listView.Add("listview item 8");
            listView.Add("listview item 9");
            listView.Add("listview item 10");
        }
    }
示例#6
0
    public InspectorDemo()
    {
        // label
        {
            UDrawer labelDrawer = new UDrawer("Label Drawer");
            AddWidget(labelDrawer);

            ULabel label = new ULabel("This is a label");
            labelDrawer.AddWidget(label);

            UFixedSpace space = new UFixedSpace(3);
            AddWidget(space);
        }

        // helpbox
        {
            UDrawer helpboxDrawer = new UDrawer("HelpBox Drawer");
            AddWidget(helpboxDrawer);

            UHelpBox helpBox = new UHelpBox("none...", MessageType.None);
            helpboxDrawer.AddWidget(helpBox);
            UHelpBox infoHelpBox = new UHelpBox("information...", MessageType.Info);
            helpboxDrawer.AddWidget(infoHelpBox);
            UHelpBox warningHelpBox = new UHelpBox("warning...", MessageType.Warning);
            helpboxDrawer.AddWidget(warningHelpBox);
            UHelpBox errorHelpBox = new UHelpBox("error...", MessageType.Error);
            helpboxDrawer.AddWidget(errorHelpBox);

            UFixedSpace space = new UFixedSpace(3);
            AddWidget(space);
        }

        // field
        {
            UDrawer fieldDrawer = new UDrawer("Field Drawer");
            AddWidget(fieldDrawer);

            UTextField textField = new UTextField("Text Filed");
            fieldDrawer.AddWidget(textField);

            UIntField intField = new UIntField("Int Field");
            fieldDrawer.AddWidget(intField);

            UFloatField floatField = new UFloatField("Float Field");
            fieldDrawer.AddWidget(floatField);

            UObjectField objectField = new UObjectField("Object Field", typeof(GameObject));
            fieldDrawer.AddWidget(objectField);

            UAnimationCurveField curveField = new UAnimationCurveField("AnimationCurve Filed");
            fieldDrawer.AddWidget(curveField);

            UColorField colorField = new UColorField("Color Field");
            fieldDrawer.AddWidget(colorField);

            UBoundsField boundsField = new UBoundsField("Bounds Field");
            fieldDrawer.AddWidget(boundsField);

            URectField rectField = new URectField("Rect Field");
            fieldDrawer.AddWidget(rectField);

            UVector2Filed vector2Field = new UVector2Filed("Vector2 Field");
            fieldDrawer.AddWidget(vector2Field);

            UVector3Filed vector3Field = new UVector3Filed("Vector3 Field");
            fieldDrawer.AddWidget(vector3Field);

            UVector4Filed vector4Field = new UVector4Filed("Vector4 Field");
            fieldDrawer.AddWidget(vector4Field);

            USearchField searchField = new USearchField("Search Field");
            fieldDrawer.AddWidget(searchField);

            //UPropertyField propertyField = new UPropertyField("Property Field", null);
            //fieldDrawer.AddWidget(propertyField);

            UPasswordField passwordFiled = new UPasswordField("Password Field", "123");
            fieldDrawer.AddWidget(passwordFiled);

            UFixedSpace space = new UFixedSpace(3);
            AddWidget(space);
        }

        // slider
        {
            UDrawer sliderDrawer = new UDrawer("Slider Drawer");
            AddWidget(sliderDrawer);

            UIntSlider intSlider = new UIntSlider("Int Slider", 5, 0, 10);
            sliderDrawer.AddWidget(intSlider);

            UFixedSpace space = new UFixedSpace(3);
            AddWidget(space);
        }

        // popup
        {
            UDrawer popupDrawer = new UDrawer("Popup Drawer");
            AddWidget(popupDrawer);

            UEnumPopup enumPopup = new UEnumPopup("Enum Popup", EnumType.B);
            popupDrawer.AddWidget(enumPopup);

            int[]    popupValues = new int[] { 1, 3, 5, 7, 9 };
            string[] popupTexts  = new string[] { "1", "3", "5", "7", "9" };

            UIntPopup intPopup = new UIntPopup("Int Popup", popupValues[2], popupValues, popupTexts);
            popupDrawer.AddWidget(intPopup);

            ULayerPopup layerPopup = new ULayerPopup("Layer Popup", 0);
            popupDrawer.AddWidget(layerPopup);

            UTagPopup tagPopup = new UTagPopup("Tag Popup", "Untagged");
            popupDrawer.AddWidget(tagPopup);

            UEnumMaskPopup enumMaskPopup = new UEnumMaskPopup("Enum Mask Popup", EnumMaskType.BM);
            popupDrawer.AddWidget(enumMaskPopup);

            UFixedSpace space = new UFixedSpace(3);
            AddWidget(space);
        }

        // button
        {
            UDrawer buttonDrawer = new UDrawer("Button Drawer");
            AddWidget(buttonDrawer);

            UButton button = new UButton("Button");
            button.color = Color.green;
            buttonDrawer.AddWidget(button);

            UHLayout buttonLayout = new UHLayout();
            buttonDrawer.AddLayout(buttonLayout);

            UButton leftButton = new UButton("LeftButton", UButton.Style.Left);
            buttonLayout.AddWidget(leftButton);
            UButton midButton = new UButton("MidButton", UButton.Style.Middle);
            buttonLayout.AddWidget(midButton);
            UButton rightButton = new UButton("RightButton", UButton.Style.Right);
            buttonLayout.AddWidget(rightButton);

            UButton miniButton = new UButton("Mini Button", UButton.Style.Mini);
            miniButton.color = Color.red;
            buttonDrawer.AddWidget(miniButton);

            UHLayout miniButtonLayout = new UHLayout();
            buttonDrawer.AddLayout(miniButtonLayout);

            UButton leftMiniButton = new UButton("Left Mini Button", UButton.Style.MiniLeft);
            miniButtonLayout.AddWidget(leftMiniButton);
            UButton midMiniButton = new UButton("Mid Mini Button", UButton.Style.MiniMiddle);
            miniButtonLayout.AddWidget(midMiniButton);
            UButton rightMiniButton = new UButton("Right Mini Button", UButton.Style.MiniRight);
            miniButtonLayout.AddWidget(rightMiniButton);

            UToggleButton toggleButton = new UToggleButton("Toggle Button");
            toggleButton.color = Color.blue;
            buttonDrawer.AddWidget(toggleButton);

            UHLayout toggleLayout = new UHLayout();
            buttonDrawer.AddLayout(toggleLayout);

            UToggleButton leftToggleButton = new UToggleButton("Left Toggle Button", UToggleButton.Style.Left);
            toggleLayout.AddWidget(leftToggleButton);
            UToggleButton midToggleButton = new UToggleButton("Mid Toggle Button", UToggleButton.Style.Middle);
            toggleLayout.AddWidget(midToggleButton);
            UToggleButton rightToggleButton = new UToggleButton("Right Toggle Button", UToggleButton.Style.Right);
            toggleLayout.AddWidget(rightToggleButton);

            UToggleButton miniToggleButton = new UToggleButton("Mini Toggle Button", UButton.Style.Mini);
            miniToggleButton.color = Color.yellow;
            buttonDrawer.AddWidget(miniToggleButton);

            UHLayout miniToggleLayout = new UHLayout();
            buttonDrawer.AddLayout(miniToggleLayout);

            UToggleButton leftMiniToggleButton = new UToggleButton("Left Mini Toggle Button", UToggleButton.Style.MiniLeft);
            miniToggleLayout.AddWidget(leftMiniToggleButton);
            UToggleButton midMiniToggleButton = new UToggleButton("Mid Mini Toggle Button", UToggleButton.Style.MiniMiddle);
            miniToggleLayout.AddWidget(midMiniToggleButton);
            UToggleButton rightMiniToggleButton = new UToggleButton("Right Mini Toggle Button", UToggleButton.Style.MiniRight);
            miniToggleLayout.AddWidget(rightMiniToggleButton);

            UCheckbox checkbox = new UCheckbox("Right Checkbox");
            buttonDrawer.AddWidget(checkbox);
            UCheckbox leftCheckbox = new UCheckbox("Left Checkbox", UCheckbox.Style.Left);
            buttonDrawer.AddWidget(leftCheckbox);

            URadiobox radiobox = new URadiobox();
            buttonDrawer.AddWidget(radiobox);
        }
    }
示例#7
0
            public void SetupControls(SpeedLimitsToolWindow window, UBuilder builder)
            {
                this.name = GAMEOBJECT_NAME + "_ModesPanel";

                void ButtonpanelResizeFn(UResizer r)
                {
                    r.Stack(
                        mode: UStackMode.NewRowBelow,
                        spacing: UConst.UIPADDING,
                        stackRef: window.windowTitleLabel_);
                    r.FitToChildren();
                }

                this.ResizeFunction(ButtonpanelResizeFn);

                Vector2        buttonSize  = new Vector2(40f, 40f);
                UITextureAtlas uiAtlas     = window.GetUiAtlas();
                LookupTable    translation = Translation.SpeedLimits;

                //----------------
                // Edit Segments/Lanes mode button
                //----------------
                this.SegmentModeButton = builder.Button <UButton>(
                    parent: this,
                    text: string.Empty,
                    tooltip: translation.Get("Tooltip:Edit segment speed limits"),
                    size: buttonSize,
                    stack: UStackMode.Below);
                this.SegmentModeButton.atlas = uiAtlas;

                // Note the atlas is loaded before this skin is created in window.GetUiAtlas()
                this.SegmentModeButton.Skin =
                    ButtonSkin.CreateSimple(
                        foregroundPrefix: "EditSegments",
                        backgroundPrefix: UConst.MAINMENU_ROUND_BUTTON_BG)
                    .CanActivate(background: false)
                    .CanHover(foreground: false);
                this.SegmentModeButton.ApplyButtonSkin();

                // the onclick handler is set by SpeedLimitsTool outside of this module

                //----------------
                // Edit Lanes mode button
                //----------------
                this.LaneModeButton = builder.Button <UButton>(
                    parent: this,
                    text: string.Empty,
                    tooltip: translation.Get("Tooltip:Edit lane speed limits"),
                    size: buttonSize,
                    stack: UStackMode.ToTheRight);
                this.LaneModeButton.atlas = uiAtlas;
                // Note the atlas is loaded before this skin is created in window.GetUiAtlas()
                this.LaneModeButton.Skin = ButtonSkin
                                           .CreateSimple(
                    foregroundPrefix: "EditLanes",
                    backgroundPrefix: UConst.MAINMENU_ROUND_BUTTON_BG)
                                           .CanActivate(background: false)
                                           .CanHover(foreground: false);
                this.LaneModeButton.ApplyButtonSkin();
                // the onclick handler is set by SpeedLimitsTool outside of this module

                //----------------
                // Edit Defaults mode button
                //----------------
                this.DefaultsModeButton = builder.Button <UButton>(
                    parent: this,
                    text: string.Empty,
                    tooltip: translation.Get("Tooltip:Default speed limits per road type"),
                    size: buttonSize,
                    stack: UStackMode.NewRowBelow);
                this.DefaultsModeButton.atlas = uiAtlas;

                // Note the atlas is loaded before this skin is created in window.GetUiAtlas()
                this.DefaultsModeButton.Skin = ButtonSkin
                                               .CreateSimple(
                    foregroundPrefix: "EditDefaults",
                    backgroundPrefix: UConst.MAINMENU_ROUND_BUTTON_BG)
                                               .CanActivate(background: false)
                                               .CanHover(foreground: false);
                this.DefaultsModeButton.ApplyButtonSkin();

                // the onclick handler is set by SpeedLimitsTool outside of this module

                //----------------
                // MPH/Kmph switch
                //----------------
                bool displayMph = GlobalConfig.Instance.Main.DisplaySpeedLimitsMph;

                this.ToggleMphButton = builder.Button <MphToggleButton>(
                    parent: this,
                    text: string.Empty,
                    tooltip: displayMph
                                 ? translation.Get("Miles per hour")
                                 : translation.Get("Kilometers per hour"),
                    size: buttonSize,
                    stack: UStackMode.ToTheRight);
                this.ToggleMphButton.atlas = uiAtlas;

                // Note the atlas is loaded before this skin is created in window.GetUiAtlas()
                this.ToggleMphButton.Skin = ButtonSkin.CreateSimple(
                    foregroundPrefix: "MphToggle",
                    backgroundPrefix: UConst.MAINMENU_ROUND_BUTTON_BG)
                                            .CanActivate(background: false)
                                            .CanHover(foreground: false);
                this.ToggleMphButton.ApplyButtonSkin();

                // the onclick handler is set by SpeedLimitsTool outside of this module
            }
示例#8
0
        // TreeViewの項目が選択された
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            Console.WriteLine(e.Node.Text);

            switch (e.Node.Tag)
            {
            case "101":
            {
                drawManager.Clear();
                drawMode = EDrawMode.Draw1;
                drawManager.initDrawList();
                UDrawable obj = new UDrawableRect(100, "rect1", 100, 100, 100, 100);
                obj.Color = Color.Yellow;
                drawManager.addDrawable(obj);

                UDrawable obj3 = new UDrawableRect(1, "rect2", 200, 200, 100, 100);
                obj3.Color = Color.Gray;
                drawManager.addDrawable(obj3);

                UDrawable obj2 = new UDrawableRect(1, "rect3", 150, 150, 100, 100);
                obj2.Color = Color.Orange;
                drawManager.addDrawable(obj2);
            }
            break;

            case "102":
            {
                drawManager.Clear();
                drawMode = EDrawMode.Draw2;

                UTextView text1 = new UTextView("text1", 20, 100, StringAlignment.Near, StringAlignment.Near, true, 100, 100, Color.Red);
                drawManager.addDrawable(text1);
            }
            break;

            case "103":
                drawMode = EDrawMode.Draw3;
                break;

            case "201":
            {
                drawMode = EDrawMode.Button1;

                drawManager.Clear();

                ButtonCallback callback1 = new ButtonCallback(ButtonCallback1);

                UButton button1 = new UButton(100, 1, "button1", 100, 100, 100, 50, callback1);
                drawManager.addDrawable(button1);

                UButton button2 = new UButton(100, 2, "button2", 100, 200, 100, 50, callback1);
                drawManager.addDrawable(button2);
            }
            break;

            case "202":
            {
                drawMode = EDrawMode.Button2;

                drawManager.Clear();

                ZoomView zoomView = new ZoomView(100, "zoom1", 100, 100);
                drawManager.addDrawable(zoomView);
            }
            break;

            case "203":
                drawMode = EDrawMode.Button3;
                break;

            case "301":
                drawMode = EDrawMode.List1;
                break;

            case "302":
                drawMode = EDrawMode.List2;
                break;

            case "303":
                drawMode = EDrawMode.List3;
                break;

            case "401":
                drawMode = EDrawMode.SB1;
                break;

            case "402":
                drawMode = EDrawMode.SB2;
                break;

            case "403":
                drawMode = EDrawMode.SB3;
                break;

            default:
                return;
            }
            panel2.Invalidate();
        }