@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); }
@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); }
@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); }