/* * FileWizard.java * * Created on 26. Juli 2006, 19:44 */ package de.unisiegen.tpml.ui; import java.awt.Component; import java.awt.event.KeyEvent; import javax.swing.DefaultListCellRenderer; import javax.swing.DefaultListModel; import javax.swing.JLabel; import javax.swing.JList; import de.unisiegen.tpml.core.languages.Language; import de.unisiegen.tpml.core.languages.LanguageFactory; /** * * @author bmeurer */ public class FileWizard extends javax.swing.JDialog { // // Inner classes // /** * List cell renderer for the JList with the {@link Language}s. */ private static class LanguagesListCellRender extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); Language language = (Language)value; label.setText(language.getName() + " (" + language.getTitle() + ")"); return label; } } // // Constructor // /** * Allocates a new <code>FileWizard</code> instance. * * @param parent the parent frame. * @param model <code>true</code> to display the wizard modal * for the <code>parent</code>. */ public FileWizard(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); FileWizardLogic l = new FileWizardLogic(this); l.getLanguages(); // determine the list of available languages LanguageFactory factory = LanguageFactory.newInstance(); Language[] available = factory.getAvailableLanguages(); // setup the list model with the available languages DefaultListModel languagesModel = new DefaultListModel(); for (Language language : available) { languagesModel.addElement(language); } //this.languagesList.setModel(languagesModel); // setup the list cell renderer for the languages //this.languagesList.setCellRenderer(new LanguagesListCellRender()); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Erzeugter Quelltext ">//GEN-BEGIN:initComponents private void initComponents() { javax.swing.JPanel bodyPanel; javax.swing.JPanel buttonsPanel; javax.swing.JButton cancelButton; javax.swing.JLabel descriptionLabel; javax.swing.JScrollPane descriptionScrollPane; java.awt.GridBagConstraints gridBagConstraints; javax.swing.JLabel headerImageLabel; javax.swing.JPanel headerPanel; javax.swing.JSeparator headerSeparator; javax.swing.JLabel headerSubTitleLabel; javax.swing.JLabel headerTitleLabel; javax.swing.JLabel languagesLabel; headerPanel = new javax.swing.JPanel(); headerTitleLabel = new javax.swing.JLabel(); headerSubTitleLabel = new javax.swing.JLabel(); headerSeparator = new javax.swing.JSeparator(); headerImageLabel = new javax.swing.JLabel(); bodyPanel = new javax.swing.JPanel(); descriptionScrollPane = new javax.swing.JScrollPane(); descriptionTextArea = new javax.swing.JTextArea(); descriptionLabel = new javax.swing.JLabel(); languagesLabel = new javax.swing.JLabel(); languagesScrollPane = new javax.swing.JScrollPane(); languagesTree = new javax.swing.JTree(); buttonsPanel = new javax.swing.JPanel(); cancelButton = new javax.swing.JButton(); okButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("New_File...")); setName("fileWizard"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); headerPanel.setLayout(new java.awt.GridBagLayout()); headerPanel.setBackground(javax.swing.UIManager.getDefaults().getColor("window")); headerTitleLabel.setFont(new java.awt.Font("Dialog", 1, 24)); headerTitleLabel.setText(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("New_File...")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); headerPanel.add(headerTitleLabel, gridBagConstraints); headerSubTitleLabel.setText(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("FileWizardSubtitle")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 5, 10); headerPanel.add(headerSubTitleLabel, gridBagConstraints); headerSeparator.setForeground(javax.swing.UIManager.getDefaults().getColor("windowBorder")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.ipadx = 400; gridBagConstraints.weightx = 1.0; headerPanel.add(headerSeparator, gridBagConstraints); headerImageLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/de/unisiegen/tpml/ui/icons/new24.png"))); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridheight = 2; gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10); headerPanel.add(headerImageLabel, gridBagConstraints); getContentPane().add(headerPanel, java.awt.BorderLayout.NORTH); bodyPanel.setLayout(new java.awt.GridBagLayout()); descriptionScrollPane.setPreferredSize(new java.awt.Dimension(400, 150)); descriptionTextArea.setColumns(20); descriptionTextArea.setLineWrap(true); descriptionTextArea.setRows(5); descriptionTextArea.setWrapStyleWord(true); descriptionScrollPane.setViewportView(descriptionTextArea); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 10, 10, 10); bodyPanel.add(descriptionScrollPane, gridBagConstraints); descriptionLabel.setText(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("Description")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 10); bodyPanel.add(descriptionLabel, gridBagConstraints); languagesLabel.setText(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("Available_Languages")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 10); bodyPanel.add(languagesLabel, gridBagConstraints); languagesScrollPane.setPreferredSize(new java.awt.Dimension(550, 200)); languagesTree.setMaximumSize(new java.awt.Dimension(53, 1000)); languagesScrollPane.setViewportView(languagesTree); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 10.0; gridBagConstraints.insets = new java.awt.Insets(5, 10, 0, 10); bodyPanel.add(languagesScrollPane, gridBagConstraints); getContentPane().add(bodyPanel, java.awt.BorderLayout.CENTER); buttonsPanel.setLayout(new java.awt.GridBagLayout()); cancelButton.setMnemonic(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("CancelMnemonic").charAt(0)); cancelButton.setText(java.util.ResourceBundle.getBundle("de/unisiegen/tpml/ui/ui").getString("Cancel")); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 10); buttonsPanel.add(cancelButton, gridBagConstraints); okButton.setMnemonic('O'); okButton.setText("Ok"); okButton.setEnabled(false); okButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okButtonActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10); buttonsPanel.add(okButton, gridBagConstraints); getContentPane().add(buttonsPanel, java.awt.BorderLayout.SOUTH); pack(); }// </editor-fold>//GEN-END:initComponents private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing this.language = null; }//GEN-LAST:event_formWindowClosing private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed // dispose(); }//GEN-LAST:event_okButtonActionPerformed private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed language = null; dispose(); }//GEN-LAST:event_cancelButtonActionPerformed // Variablendeklaration - nicht modifizieren//GEN-BEGIN:variables public javax.swing.JTextArea descriptionTextArea; public javax.swing.JScrollPane languagesScrollPane; public javax.swing.JTree languagesTree; public javax.swing.JButton okButton; // Ende der Variablendeklaration//GEN-END:variables public Language language; public Language getLanguage(){ return language; } }