private void Init() { dropdownContext = new DropdownContext(); dropdownContext.OnSelection += (data) => { if (enumEntry != null) { enumEntry.Value = data.Text; } }; label = CreateLabel(); { label.Alignment = TextAnchor.UpperLeft; } dropdown = CreateChild <DropdownButton>("dropdown"); { dropdown.Anchor = AnchorType.BottomStretch; dropdown.Pivot = PivotType.Bottom; dropdown.SetOffsetHorizontal(8f); dropdown.Y = 8f; dropdown.Height = 30f; dropdown.Context = dropdownContext; } }
private void Init() { context = new DropdownContext(); context.ImportFromEnum <MapCategoryType>(Model.Options.Category.Value); context.OnSelection += (data) => { var category = Model.Options.Category; if (data != null && !category.RawValue.ToString().Equals(data.ExtraData.ToString())) { category.RawValue = data.ExtraData; } }; label.Text = "Rank state"; dropdown = CreateChild <DropdownButton>("dropdown", 1); { dropdown.Anchor = AnchorType.Fill; dropdown.Offset = new Offset(0f, 24f, 0f, 0f); dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.25f); dropdown.Context = context; dropdown.UseAutoSelect = false; } OnEnableInited(); }
//Handle mouse hovering. private void OnDestroy() { if (hoveredButton != this) { return; } hoveredButton = null; }
public void OnPointerExit(PointerEventData eventData) { if (hoveredButton != this) { return; } hoveredButton = null; image.color = defaultColor; }
public override object Deserialize(Cell _data, ConversionContext _context = null) { object data = base.Deserialize(_data); DropdownButton ddButton; if (data == null) { ddButton = new DropdownButton(); } else { ddButton = data as DropdownButton; } if (_context == null || _context.Field == null || _context.Field.Metadata == null) { return(ddButton); } if (!_context.Field.Metadata.IsLoaded) { _context.Field.Metadata.Load(); } var metadata = _context.Field.Metadata.FirstOrDefault(m => m.Key == ModuleRepository.DropdownButtonMetadataKey); if (metadata != null && !String.IsNullOrWhiteSpace(metadata.Value)) { var json = new JavaScriptSerializer(); var items = json.Deserialize <string[]>(metadata.Value); if (items != null) { foreach (var i in items) { if (!String.IsNullOrWhiteSpace(i)) { // avoid adding empty entries to the dictionary ddButton.ValidValues.Add(i.EscapeName(), i); } } } } return(ddButton); }
void Update() { // pause updating if CollapseAllExceptCurrentlyExpanded() is still running if (!collapsing) { foreach (DropdownButton dropdown in dropdownList) { if (dropdown.body.activeSelf && !dropdown.Equals(currentlyExpandedDropdown)) { currentlyExpandedDropdown = dropdown; CollapseAllExceptCurrentlyExpanded(); } } } }
public void Test_Deserialize_DropdownButton_Null() { // Arrange var value = new DropdownButton { SelectedValue = null }; object retData = SerializeAndDeserialize(value); // Assert Assert.IsNotNull(retData); Assert.IsInstanceOfType(retData, typeof(DropdownButton)); DropdownButton result = (DropdownButton)retData; Assert.IsNull(result.SelectedValue); }
//TODO: Reset view wnr tab wisselt //TODO: Reset tab wnr je menu opent //TODO: UI een extra 5px buffer onderaan????? //TODO: Als nav dicht is niet nog nav knoppen laten werken //TODO: Wnr dropdown open is knoppen onder niet laten werken //TODO: IsActive() Variable in gebruik stellen. public NavigatorContent(ContentManager content, Vector2i position, Vector2i size, int offsetX = 0, int offsetY = 0) : base(content, position, size, "Navigator", offsetX, offsetY) { hiddenLine = new Image(content, "Menu/Navigator/hiddenLine", Vector2.Zero); backdrop = new Image(content, "Menu/Navigator/backdrop", Vector2.Zero); int width = size.X - 2 * 8; width = width / 4; this.updateContentVar = content; delay = new Timer(400); delay.Elapsed += Delay_Elapsed; menuButtons = new List <InMenuButton>(); menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons) { menuButton.Deselect(); } RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("official_view", "")); }, "navigator.toplevelview.official_view")); menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons) { menuButton.Deselect(); } RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("hotel_view", "")); }, "navigator.toplevelview.hotel_view")); menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons) { menuButton.Deselect(); } RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("roomads_view", "")); }, "navigator.toplevelview.roomads_view")); menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons) { menuButton.Deselect(); } RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("myworld_view", "")); }, "navigator.toplevelview.myworld_view")); menuButtons.First().SetActive(); dropdown = new DropdownButton(content, 116, position, new DropdownItem("navigator.filter.anything", () => { }), new DropdownItem("navigator.filter.room.name", () => { }), new DropdownItem("navigator.filter.owner", () => { }), new DropdownItem("navigator.filter.tag", () => { }), new DropdownItem("navigator.filter.group", () => { }) ); view = new ScrollView(content, new Vector2i(0, 0), new Vector2i(388, 356), "menu/Navigator/backdrop", null); }
public void SetOptions(DropdownOption[] options) { //Check to make sure the dropdown option exists if (DropdownOption == null) { FindDropdownOption(); } //Instantiate each option int i = 0; foreach (DropdownOption option in options) { DropdownButton createdMenu = Object.Instantiate <DropdownButton>(DropdownOption, transform); createdMenu.Setup(option.displayName, option.callback); //Make the button on top of everything so pointer intercepts work. createdMenu.transform.localPosition = new Vector3(0, startingPosition + optionDistance * (i++)); } }
public void AddButtons() { DropdownButton button = buttonprefab.GetComponent <DropdownButton>(); var name = "All"; button.Setup(name, dropdownlistPT); for (int i = 0; i < layers.Count; i++) { name = layers[i].gameObject.name; button.Setup(name, dropdownlistPT); } button.Setup(name, dropdownlistLS); for (int i = 0; i < layers.Count; i++) { name = layers[i].gameObject.name; button.Setup(name, dropdownlistLS); } }
private void Init() { context = new DropdownContext(); context.ImportFromEnum <MapSortType>(Model.Options.Sort.Value); context.OnSelection += (data) => { var sort = Model.Options.Sort; if (data != null && !sort.RawValue.ToString().Equals(data.ExtraData.ToString())) { sort.RawValue = data.ExtraData; } }; label.Text = "Sort by"; dropdown = CreateChild <DropdownButton>("dropdown", 1); { dropdown.Anchor = AnchorType.LeftStretch; dropdown.Pivot = PivotType.Left; dropdown.X = 0f; dropdown.SetOffsetVertical(24f, 0f); dropdown.Width = 140f; dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.25f); dropdown.Context = context; dropdown.UseAutoSelect = false; } toggle = CreateChild <LabelledToggle>("toggle", 2); { toggle.Anchor = AnchorType.Fill; toggle.Offset = new Offset(156f, 24f, 0f, 0f); toggle.LabelText = "Descending"; toggle.OnTriggered += Model.Options.ToggleIsDescending; } OnEnableInited(); }
private void Init() { context = new DropdownContext(); context.OnSelection += (data) => { if (bindable != null && data != null && !bindable.RawValue.ToString().Equals(data.ExtraData.ToString())) { bindable.RawValue = data.ExtraData; } }; dropdown = container.CreateChild <DropdownButton>("dropdown", 1); { dropdown.Anchor = AnchorType.Fill; dropdown.Offset = new Offset(106f, 12f, 16f, 12f); dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.125f); dropdown.Context = context; dropdown.UseAutoSelect = false; } OnEnableInited(); }
public static DropdownButton <THelper> SetDropup <THelper>(this DropdownButton <THelper> dropdownButton, bool dropup = true) where THelper : BootstrapHelper <THelper> { dropdownButton.ToggleCss(Css.Dropup, dropup); return(dropdownButton); }
private void FindDropdownOption() { DropdownOption = Resources.Load <DropdownButton>("UserInterface/DropdownButton"); }
public void CreateList() { if (activeButtons.Count > 0) { foreach (DropdownButton but in activeButtons) { Image img = but.button.image; if (img.gameObject != null) { Destroy(img.gameObject); } } activeButtons.Clear(); } buttonCount = refList.Count; if (buttonCount > 0) { RectTransform itemRectTransform = contentPanelPrefab.gameObject.GetComponent <RectTransform>(); RectTransform containerRectTransform = mainPanel.gameObject.GetComponent <RectTransform>(); // Calculate width and height of content panels float width = containerRectTransform.rect.width / columnCount; float ratio = width / itemRectTransform.rect.width; float height = itemRectTransform.rect.height * ratio; int rowCount = buttonCount / columnCount; if (buttonCount % rowCount > 0) { rowCount++; } // Calculate size of parent panel float scrollHeight = height * rowCount; containerRectTransform.offsetMin = new Vector2(containerRectTransform.offsetMin.x, -scrollHeight / 2); containerRectTransform.offsetMax = new Vector2(containerRectTransform.offsetMax.x, scrollHeight / 2); // Create objects int counter = 0; for (int i = 0; i < buttonCount; i++) { if (i % columnCount == 0) // Only matters if columnCount > 1 { counter++; } Image newItem = Instantiate(contentPanelPrefab); newItem.name = "DropdownEntry: " + refList[i].text; newItem.transform.SetParent(mainPanel.transform); Text[] texts = newItem.GetComponentsInChildren <Text>(); texts[0].text = refList[i].text; if (parameters.Count > 0) { SetButtonCallback(newItem.GetComponentInChildren <Button>(), refList[i].action_job, parameters[i]); } else { SetButtonCallback(newItem.GetComponentInChildren <Button>(), refList[i].action); } DropdownButton newButton = new DropdownButton(refList[i].action, refList[i].text); newButton.button = newItem.GetComponent <Button>(); activeButtons.Add(newButton); // Move and scale object RectTransform rectTransform = newItem.GetComponent <RectTransform>(); float x = -containerRectTransform.rect.width / 2 + width * (i % columnCount); float y = containerRectTransform.rect.height / 2 - height * counter; rectTransform.offsetMin = new Vector2(x, y); x = rectTransform.offsetMin.x + width; y = rectTransform.offsetMin.y + height; rectTransform.offsetMax = new Vector2(x, y); } } }
public void OnPointerEnter(PointerEventData eventData) { hoveredButton = this; image.color = overColor; }