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); } })); } }
/** * Shows menu below (or above if not enough space) given actor. * @param stage stage instance that this menu is being added to * @param actor used to get calculate menu position in stage, menu will be displayed above or below it */ public void showMenu (Stage stage, Actor actor) { Vector2 pos = actor.localToStageCoordinates(tmpVector.setZero()); float menuY; if (pos.y - getHeight() <= 0) { menuY = pos.y + actor.getHeight() + getHeight() - sizes.borderSize; } else { menuY = pos.y + sizes.borderSize; } showMenu(stage, pos.x, menuY); }
private boolean subMenuStructureContains (float x, float y) { if (contains(x, y)) return true; if (activeSubMenu != null) return activeSubMenu.subMenuStructureContains(x, y); return false; }
public PopupMenu (Sizes sizes, PopupMenuStyle style) { this.sizes = sizes; this.style = style; setTouchable(Touchable.enabled); pad(0); setBackground(style.background); createListeners(); }
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; }
@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); }
@Override public void touchUp (InputEvent event, float x, float y, int pointer, int button) { if (event.getButton() == mouseButton) showMenu(event.getStage(), event.getStageX(), event.getStageY()); } };
viewModePopupMenu = new PopupMenu(style.popupMenuStyle); createViewModePopupMenu(); createCenterContentPanel();
public void addSeparator () { add(new Separator("menu")).padTop(2).padBottom(2).fill().expand().row(); }
PopupMenu menu = new PopupMenu(); 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) {
@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); }
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; actorsFileMenu.pmOpenRecent.addItem(menuItem);
@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); }