/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package widoco.gui; import java.awt.Dimension; import java.awt.Toolkit; import java.util.Iterator; import widoco.Configuration; /** * * @author dgarijo */ public class SelectLanguage extends javax.swing.JFrame { private final Configuration c; private final GuiStep2 g; private final String previousLang;//an auxiliar param to knw if the text field is being edited /** * Creates new form SelectLanguage * @param g * @param c */ public SelectLanguage(GuiStep2 g, Configuration c) { initComponents(); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // Determine the new location of the window int w = this.getSize().width; int h = this.getSize().height; int x = (dim.width-w)/2; int y = (dim.height-h)/2; // Move the window this.setLocation(x, y); this.g = g; this.c = c; Iterator<String> itLanguages = c.getLanguagesToGenerateDoc().iterator(); String lang = ""; while(itLanguages.hasNext()){ String nextL = itLanguages.next(); if (nextL.contains("en")){ en.setSelected(true); } else if(nextL.contains("es")){ es.setSelected(true); } else if(nextL.contains("pt")){ pt.setSelected(true); }else{ otherText.setText(nextL); lang = nextL; } } this.previousLang = lang; //load the languages here } /** * 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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); doneButton = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); otherText = new javax.swing.JTextField(); en = new javax.swing.JRadioButton(); es = new javax.swing.JRadioButton(); it = new javax.swing.JRadioButton(); fr = new javax.swing.JRadioButton(); pt = new javax.swing.JRadioButton(); de = new javax.swing.JRadioButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Languages..."); setAlwaysOnTop(true); jLabel1.setText("Select languages from the following list:"); doneButton.setText("Done"); doneButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { doneButtonActionPerformed(evt); } }); jLabel2.setText("Other (will select labels in that lang):"); en.setText("en (default)"); es.setText("es"); it.setText("it (coming soon)"); it.setEnabled(false); fr.setText("fr (coming soon)"); fr.setEnabled(false); pt.setText("pt"); de.setText("de (coming soon)"); de.setEnabled(false); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(doneButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(otherText) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pt) .addComponent(fr) .addComponent(es) .addComponent(en) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(de) .addComponent(it)) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(en) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(es) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(pt) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(fr) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(it) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(de) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(otherText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(doneButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// </editor-fold>//GEN-END:initComponents private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed //set the languages if(en.isSelected()){ this.c.addLanguageToGenerate("en"); }else{ this.c.removeLanguageToGenerate("en"); } if(es.isSelected()){ this.c.addLanguageToGenerate("es"); }else{ this.c.removeLanguageToGenerate("es"); } if(pt.isSelected()){ this.c.addLanguageToGenerate("pt"); }else{ this.c.removeLanguageToGenerate("pt"); } String otherL = otherText.getText(); if(!"".equals(otherL)){ this.c.addLanguageToGenerate(otherL); }else{//empty text if(!"".equals(previousLang)){ c.removeLanguageToGenerate(previousLang); } } if(c.getLanguagesToGenerateDoc().isEmpty()){ c.addLanguageToGenerate("en"); } g.refreshLanguages(); this.dispose(); }//GEN-LAST:event_doneButtonActionPerformed /** * @param args the command line arguments */ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JRadioButton de; private javax.swing.JButton doneButton; private javax.swing.JRadioButton en; private javax.swing.JRadioButton es; private javax.swing.JRadioButton fr; private javax.swing.JRadioButton it; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JTextField otherText; private javax.swing.JRadioButton pt; // End of variables declaration//GEN-END:variables }