private void setupPage(int index) { String html = getHTMLString(pages.get(index)); html = replaceVariables(html); htmlPanel.setHTMLString(html, base); setupActionPanelKeys(index); regionsContainer.removeRegionContent(Region.SOUTH); // setup views regionsContainer.setRegionContent(Region.CENTER, htmlPanel); if (duration == 0) { regionsContainer.setRegionContent(Region.SOUTH, actionPanel); } regionsContainer.setRegionContentVisibility(Region.CENTER, true); regionsContainer.setRegionContentVisibility(Region.SOUTH, true); // enable the actions if (duration == 0) { actionPanel.enableActionPanel(); } currentIndex = index; // start timer if (timeoutHandler != null) { timeoutHandler.startTimeout(getExecutionContext()); } }
private void initComponents() { // question panel htmlPanel = new HTMLPanel(); // action panel actionPanel = new KeyActionPanel(); actionPanel.addActionPanelListener(this); }
private void doCleanup() { if (timeoutHandler != null) { timeoutHandler.cancelTimeout(); } actionPanel.disableActionPanel(); regionsContainer.removeRegionContent(Region.SOUTH); regionsContainer.removeRegionContent(Region.CENTER); }
private void setupActionPanelKeys(int index) { actionPanel.removeKeys(); Messages messages = context.getExecutionData().getModule().getMessages(); if (index > 0) { actionPanel.addKey( KeyEvent.VK_LEFT, messages.getString("AbstractHTMLExecutable.keyActionPanel.labelBack"), -1); actionPanel.addKey( KeyEvent.VK_RIGHT, messages.getString("AbstractHTMLExecutable.keyActionPanel.labelNext"), 1); } else { actionPanel.addKey( KeyEvent.VK_RIGHT, messages.getString("AbstractHTMLExecutable.keyActionPanel.labelNext"), 1); } actionPanel.validate(); }
/** Called when action panel gets triggered */ public void actionTriggered(ActionPanel source, Object actionValue) { int newIndex = 0; int addIndex = (Integer) actionValue; actionPanel.disableActionPanel(); // increment the displayed image if (currentIndex + addIndex >= 0) { newIndex = currentIndex + addIndex; } // setup next instruction / finish executable if (newIndex < getPagesCount()) { setupPage(newIndex); return; } else { if (getFinishExecutionLock()) { cancelExecutionAWT(); doCleanup(); finishExecution(); } return; } }
protected void cancelExecutionAWT() { actionPanel.disableActionPanel(); }