diff java/src/uk/ac/qmul/eecs/ccmi/simpletemplate/SpeechWizardDialog.java @ 0:78b7fc5391a2

first import, outcome of NIME 2014 hackaton
author Fiore Martin <f.martin@qmul.ac.uk>
date Tue, 08 Jul 2014 16:28:59 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/java/src/uk/ac/qmul/eecs/ccmi/simpletemplate/SpeechWizardDialog.java	Tue Jul 08 16:28:59 2014 +0100
@@ -0,0 +1,94 @@
+/*  
+ CCmI Editor - A Collaborative Cross-Modal Diagram Editing Tool
+  
+ Copyright (C) 2011  Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/  
+
+package uk.ac.qmul.eecs.ccmi.simpletemplate;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.ResourceBundle;
+
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JRootPane;
+import javax.swing.KeyStroke;
+import javax.swing.event.ChangeEvent;
+
+import jwizardcomponent.dialog.SimpleJWizardDialog;
+
+/*
+ * The dialog where the template wizard is displayed 
+ * 
+ * @see Wizard
+ *
+ */
+@SuppressWarnings("serial")
+public class SpeechWizardDialog extends SimpleJWizardDialog {
+	public SpeechWizardDialog(Frame owner){
+		super(owner,true);
+		finished = false;
+		
+		ResourceBundle resources = ResourceBundle.getBundle(getClass().getName());
+		setSize(350, 200);
+		setTitle(resources.getString("dialog.wizard.title"));
+		setLocationRelativeTo(owner);
+		
+		JButton button;
+		button = getWizardComponents().getNextButton();
+		button.setText(resources.getString("button.next.label"));
+		button.getAccessibleContext().setAccessibleName(resources.getString("button.next.speech"));
+		
+		button = getWizardComponents().getBackButton();
+		button.setText(resources.getString("button.previous.label"));
+		button.getAccessibleContext().setAccessibleName(resources.getString("button.previous.speech"));
+		
+		button = getWizardComponents().getCancelButton(); 	
+		button.setText(resources.getString("button.cancel.label"));
+		
+		button = getWizardComponents().getFinishButton();
+		button.setText(resources.getString("button.finish.label"));
+		button.addChangeListener(new javax.swing.event.ChangeListener(){
+			@Override
+			public void stateChanged(ChangeEvent e) {
+				((JButton)e.getSource()).setEnabled(finished);
+			}
+		});
+		JRootPane rootPane = getRootPane();
+		rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0), "close");
+		rootPane.getActionMap().put("close", new AbstractAction(){
+			@Override
+			public void actionPerformed(ActionEvent arg0) {
+				dispose();
+			}
+		});
+	}
+	
+	/**
+	 * Enables or disables the finish button.   
+	 * @param enabled {@code true} to enable the button, {@code false} to disable 
+	 */
+	public void setFinishButtonEnabled(boolean enabled){
+		finished = enabled;
+		getWizardComponents().getFinishButton().setEnabled(true);
+	}
+	
+	private boolean finished;
+}
+