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); }
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); }
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); } }
public int ButtonCallback1(UButton button) { switch (button.Id) { case 1: MessageBox.Show("button1 pushed"); break; case 2: MessageBox.Show("button2 pushed"); break; } return(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"); } }
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); } }
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 }
// 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(); }