private void addMenu(ArrayList<Pair<ImageID, String>> helpPages) { UiPagination menu = new UiPagination(""); commandViews.add(menu); int totalPages = helpPages.size(); for (int i = 0; i < totalPages; i++) { GridPane newGrid = gridHelper.setUpGrid(UiConstants.GRID_SETTINGS_ACTION_HELP_MENU); ImageID imageID = helpPages.get(i).getKey(); gridHelper.createImageInCell( 0, 0, UiImageManager.getInstance().getImage(imageID), imageWidth, 0, newGrid); UiTextBuilder myBuilder = new UiTextBuilder(); myBuilder.addMarker(0, UiConstants.STYLE_TEXT_DEFAULT); String helpText = helpPages.get(i).getValue(); gridHelper.createStyledCell(0, 1, UiConstants.STYLE_HIGHLIGHT_BOX, newGrid); gridHelper.addTextFlowToCell(0, 1, myBuilder.build(helpText), TextAlignment.CENTER, newGrid); menu.addGridToPagination(newGrid, new ArrayList<StackPane>()); // no interactions } menu.initializeDisplay(totalPages); // update UI and bind call back }
/** @@author A0125419H */ private void addMainMenu(ArrayList<Pair<String, String>> mainMenuOptions) { int numCommmands = mainMenuOptions.size(); int totalPages = (int) Math.ceil( numCommmands / 1.0 / UiConstants.ENTRIES_PER_PAGE_HELP_MENU); // convert to double int entryNo = 0; for (int i = 0; i < totalPages; i++) { GridPane newGrid = gridHelper.setUpGrid(UiConstants.GRID_SETTINGS_ACTION_HELP); ArrayList<StackPane> menuElements = new ArrayList<StackPane>(); // newGrid.setGridLinesVisible(true); for (int j = 0; j < UiConstants.ENTRIES_PER_PAGE_HELP_MENU; j++) { if (entryNo >= numCommmands) { break; } String optionText = mainMenuOptions.get(entryNo).getKey(); Label current = gridHelper.createLabelInCell( 0, j, optionText, UiConstants.STYLE_PROMPT_SELECTED, newGrid); GridPane.setFillWidth(current.getParent(), false); GridPane.setFillHeight(current.getParent(), false); GridPane.setHalignment(current.getParent(), HPos.CENTER); if (entryNo > 0) { menuElements.add(gridHelper.getWrapperAtCell(0, j, newGrid)); } UiTextBuilder myBuilder = new UiTextBuilder(); myBuilder.addMarker(0, UiConstants.STYLE_PROMPT_SELECTED); String descriptionText = mainMenuOptions.get(entryNo).getValue(); gridHelper.createStyledCell(1, j, "", newGrid); gridHelper.addTextFlowToCell( 1, j, myBuilder.build(descriptionText), TextAlignment.LEFT, newGrid); GridPane.setHalignment(current.getParent(), HPos.CENTER); entryNo++; } helpView.addGridToPagination(newGrid, menuElements); } helpView.initializeDisplay(totalPages); // update UI and bind call back }