private void updateRecentProjects() { Array<FileHandle> recentProjects = this.recentProjects.getRecentProjects(); actorsFileMenu.miOpenRecent.setDisabled(recentProjects.size == 0); actorsFileMenu.pmOpenRecent.clear(); for (final FileHandle file : recentProjects) { if (file.equals(getProject().getProjectFile())) continue; MenuItem menuItem = new MenuItem(file.nameWithoutExtension()); menuItem.setShortcut(CommonUtils.ellipsize(file.path(), 72)); // Will use shortcut label to display file path menuItem.getShortcutCell().left().expandX(); menuItem.getLabelCell().expand(false, false).left(); menuItem.getImageCell().width(0); // Shrink image cell to zero, we don't need it menuItem.pack(); menuItem.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) {
delete = new MenuItem(CONTEXT_MENU_DELETE.get(), style.iconTrash); newDirectory = new MenuItem(CONTEXT_MENU_NEW_DIRECTORY.get(), style.iconFolderNew); showInExplorer = new MenuItem(CONTEXT_MENU_SHOW_IN_EXPLORER.get()); refresh = new MenuItem(CONTEXT_MENU_REFRESH.get(), style.iconRefresh); addToFavorites = new MenuItem(CONTEXT_MENU_ADD_TO_FAVORITES.get(), style.iconFolderStar); removeFromFavorites = new MenuItem(CONTEXT_MENU_REMOVE_FROM_FAVORITES.get(), style.iconFolderStar); sortBy = new MenuItem(CONTEXT_MENU_SORT_BY.get()); sortBy.setSubMenu(sortingPopupMenu); delete.addListener(new ClickListener() { @Override public void clicked (InputEvent event, float x, float y) { newDirectory.addListener(new ClickListener() { @Override public void clicked (InputEvent event, float x, float y) { showInExplorer.addListener(new ClickListener() { @Override public void clicked (InputEvent event, float x, float y) { refresh.addListener(new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addToFavorites.addListener(new ClickListener() { @Override public void clicked (InputEvent event, float x, float y) {
protected MenuItem createMenuItem (String name) { MenuItem item = new MenuItem(name); item.getImageCell().size(0); item.getShortcutCell().space(0).pad(0); item.getSubMenuIconCell().size(0).space(0).pad(0); return item; } }
private MenuItem createDoubleNestedMenu () { MenuItem doubleNestedMenuItem = new MenuItem("submenu nested x2"); doubleNestedMenuItem.setSubMenu(createSubMenu()); PopupMenu nestedMenu = new PopupMenu(); nestedMenu.addItem(doubleNestedMenuItem); nestedMenu.addItem(new MenuItem("single nested")); MenuItem menuItem = new MenuItem("submenu nested"); menuItem.setSubMenu(nestedMenu); return menuItem; }
fileMenu.addItem(new MenuItem("menuitem #1")); fileMenu.addItem(new MenuItem("menuitem #2").setShortcut("f1")); fileMenu.addItem(new MenuItem("menuitem #3").setShortcut("f2")); fileMenu.addItem(new MenuItem("menuitem #4").setShortcut("alt + f4")); MenuItem subMenuItem = new MenuItem("submenu #1"); subMenuItem.setShortcut("alt + insert"); subMenuItem.setSubMenu(createSubMenu()); fileMenu.addItem(subMenuItem); MenuItem subMenuItem2 = new MenuItem("submenu #2"); subMenuItem2.setSubMenu(createSubMenu()); fileMenu.addItem(subMenuItem2); MenuItem subMenuItem3 = new MenuItem("submenu disabled"); subMenuItem3.setDisabled(true); subMenuItem3.setSubMenu(createSubMenu()); fileMenu.addItem(subMenuItem3); editMenu.addItem(new MenuItem("menuitem #5")); editMenu.addItem(new MenuItem("menuitem #6")); editMenu.addSeparator(); editMenu.addItem(new MenuItem("menuitem #7")); editMenu.addItem(new MenuItem("menuitem #8")); editMenu.addItem(createDoubleNestedMenu()); MenuItem disabledItem = new MenuItem("disabled menuitem"); disabledItem.setDisabled(true); MenuItem disabledItem2 = new MenuItem("disabled menuitem shortcut").setShortcut("alt + f4");
private int createRecentDirSuggestions (Array<FileHandle> files, float width) { clearChildren(); int suggestions = 0; for (final FileHandle file : files) { if (file.exists() == false) continue; MenuItem item = createMenuItem(file.path()); item.getLabel().setEllipsis(true); item.getLabelCell().width(width - 20); addItem(item); item.addListener(new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { chooser.setDirectory(file, FileChooser.HistoryPolicy.ADD); } }); suggestions++; if (suggestions == MAX_SUGGESTIONS) { break; } } return suggestions; } }
private void init (String text, Image image, MenuItemStyle style) { this.style = style; this.image = image; setSkin(VisUI.getSkin()); Sizes sizes = VisUI.getSizes(); defaults().space(3); add(image).size(sizes.menuItemIconSize); add(label).expand().fill(); add(shortcutLabel = new VisLabel("", "menuitem-shortcut")).padLeft(10).right(); shortcutLabelColor = shortcutLabel.getStyle().fontColor; subMenuIconCell = add(subMenuImage = new Image(style.subMenu)).padLeft(3).padRight(3) .size(style.subMenu.getMinWidth(), style.subMenu.getMinHeight()); subMenuIconCell.setActor(null); addListener(new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addListener(new InputListener() { @Override public void enter (InputEvent event, float x, float y, int pointer, Actor fromActor) {
this.chooser = chooser; addItem(sortByName = new MenuItem(SORT_BY_NAME.get(), selectedMenuItem, new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addItem(sortByDate = new MenuItem(SORT_BY_DATE.get(), selectedMenuItem, new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addItem(sortBySize = new MenuItem(SORT_BY_SIZE.get(), selectedMenuItem, new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addItem(sortByAscending = new MenuItem(SORT_BY_ASCENDING.get(), selectedMenuItem, new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { addItem(sortByDescending = new MenuItem(SORT_BY_DESCENDING.get(), selectedMenuItem, new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { sortByNameImage = sortByName.getImage(); sortByDateImage = sortByDate.getImage(); sortBySizeImage = sortBySize.getImage(); sortByAscendingImage = sortByAscending.getImage(); sortByDescendingImage = sortByDescending.getImage();
public MenuItem (String text, Drawable drawable, ChangeListener changeListener) { this(text, drawable, VisUI.getSkin().get(MenuItemStyle.class)); addListener(changeListener); }
/** * Set shortcuts text displayed in this menu item. * This DOES NOT set actual hot key for this menu item, it only makes shortcut text visible in item. * @param keycode from {@link Keys}. */ public MenuItem setShortcut (int keycode) { return setShortcut(Keys.toString(keycode)); }
@LmlAction("onPackListRightClick") void onPackListRightClick(OnRightClickLmlAttribute.Params params) { PackListAdapter.ViewHolder viewHolder = actorsPacks.packListAdapter.getViewHolder(params.actor); PackModel pack = viewHolder.getPack(); PopupMenu popupMenu = LmlAutumnUtils.parseLml(interfaceService, VIEW_ID, this, Gdx.files.internal("lml/packListMenu.lml")); MenuItem menuItem; menuItem = popupMenu.findActor("miRename"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miDelete"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miCopy"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miMoveUp"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miMoveDown"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miPackSelected"); menuItem.setDisabled(pack == null); menuItem = popupMenu.findActor("miPackAll"); menuItem.setDisabled(getProject().getPacks().size == 0); menuItem = popupMenu.findActor("miCopySettingsToAllPacks"); menuItem.setDisabled(pack == null); popupMenu.showMenu(getStage(), params.stageX, params.stageY); }
private MenuItem createTestsMenu () { MenuItem item = new MenuItem("start test"); menu.addItem(new MenuItem("tabbed pane", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("tabbed pane (vertical)", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("flow groups", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("button bar", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("list view", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("toasts", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { menu.addItem(new MenuItem("highlight textarea", new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) {
public MenuItem (String text, Image image, ChangeListener changeListener) { this(text, image, VisUI.getSkin().get(MenuItemStyle.class)); addListener(changeListener); }
private void assignShortcut(Actor actor, String rawAttributeData) { if (actor instanceof MenuItem) { MenuItem menuItem = (MenuItem) actor; String shortcut = App.inst().getShortcuts().resolveShortcutString(rawAttributeData); menuItem.setShortcut(shortcut); } } }
private void rebuildViewModePopupMenu () { viewModePopupMenu.clear(); for (final ViewMode mode : ViewMode.values()) { if (mode.thumbnailMode && iconProvider.isThumbnailModesSupported() == false) continue; viewModePopupMenu.addItem(new MenuItem(mode.getBundleText(), new ChangeListener() { @Override public void changed (ChangeEvent event, Actor actor) { setViewMode(mode); } })); } }
@LmlAction("onCanvasRightClick") void onCanvasRightClick(OnRightClickLmlAttribute.Params params) { PopupMenu popupMenu = LmlAutumnUtils.parseLml(interfaceService, VIEW_ID, this, Gdx.files.internal("lml/preview/canvasMenu.lml")); PackModel pack = getSelectedPack(); MenuItem menuItem; menuItem = popupMenu.findActor("miRepack"); menuItem.setDisabled(pack == null); popupMenu.showMenu(getStage(), params.stageX, params.stageY); }
public MenuItem (String text, ChangeListener changeListener) { this(text, (Image) null, VisUI.getSkin().get(MenuItemStyle.class)); addListener(changeListener); }
@LmlAction("showContextMenu") void showContextMenu(OnRightClickLmlAttribute.Params params) { AbstractListAdapter.ListSelection<InputFile, Stack> sm = listAdapter.getSelectionManager(); // Make sure that target item is selected InputFileListAdapter.ViewHolder viewHolder = listAdapter.getViewHolder(params.actor); boolean selected = listAdapter.isSelected(viewHolder); if (!selected) { sm.select(viewHolder.getInputFile()); } boolean canBeIncluded = false; for (InputFile inputFile : sm.getSelection()) { if (!inputFile.isDirectory() && inputFile.getType() == InputFile.Type.Ignore) { canBeIncluded = true; break; } } boolean canBeExcluded = false; for (InputFile inputFile : sm.getSelection()) { if (!inputFile.isDirectory() && inputFile.getType() == InputFile.Type.Input) { canBeExcluded = true; break; } } PopupMenu popupMenu = LmlAutumnUtils.parseLml(interfaceService, "IGNORE", this, Gdx.files.internal("lml/inputFileListMenu.lml")); MenuItem menuItem; menuItem = popupMenu.findActor("miIncludeSelected"); menuItem.setDisabled(!canBeIncluded); menuItem = popupMenu.findActor("miExcludeSelected"); menuItem.setDisabled(!canBeExcluded); popupMenu.showMenu(stage, params.stageX, params.stageY); }
public void addItem (MenuItem item) { super.add(item).fillX().expandX().row(); pack(); item.addListener(sharedMenuItemChangeListener); item.addListener(sharedMenuItemInputListener); }