/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package feuille.lib;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import feuille.drawing.preview.ImagePreview;
import feuille.filter.AnyFilter;
import feuille.filter.ExeJarFilter;
import feuille.filter.ImageFilter;
import feuille.filter.TTFFilter;
import feuille.karaoke.lib.FontWithCoef;
import feuille.theme.Theme;
import feuille.theme.ThemeCollection;
/**
*
* @author The Wingate 2940
*/
public class OptionsDialog2 extends javax.swing.JDialog {
private ButtonPressed bp = ButtonPressed.NONE;
private DefaultComboBoxModel dcbmTheme;
private java.awt.Frame frame;
private Language localeLanguage = feuille.MainFrame.getLanguage();
private DefaultTableModel dtmFonts;
private DefaultComboBoxModel dcbmFonts;
private DefaultTableModel dtmTranslate;
private Map<String,String> translateMap = new HashMap<>();
private DefaultComboBoxModel dcbmTranslate;
private DefaultComboBoxModel dcbmChooseForced;
private String force_ISO = "---";
private String optTitle4 = "Existing file";
private String optMessage6 = "Would you really overwrite the existing file ?";
private String optMessage7 = "The file has been created or updated.";
private ThemeCollection themecollection;
private DefaultComboBoxModel dcbmStartWith;
private String DOCSPATH = "";
public enum ButtonPressed{
NONE, OK_BUTTON, CANCEL_BUTTON;
}
public enum Column{
FONT(0), CORRECTION(1);
private int id;
Column(int id){
this.id = id;
}
public int getId(){
return id;
}
}
public enum ColumnTranslate{
KEY(0), VALUE(1);
private int id;
ColumnTranslate(int id){
this.id = id;
}
public int getId(){
return id;
}
}
public enum SWModule{
WELCOME("welc","Welcome"),
KARAOKE("kara","Karaoke"),
CODEEDITOR("code","Code editor"),
DRAWEDITOR("draw","Drawing editor"),
ANALYSIS("anal","Analysis");
private String code;
private String display;
SWModule(String code, String display){
this.code = code;
this.display = display;
}
public void setDisplay(String display){
this.display = display;
}
public String getDisplay(){
return display;
}
public String getCode(){
return code;
}
@Override
public String toString(){
return display;
}
}
/**
* Creates new form OptoionsDialog2
*/
public OptionsDialog2(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
frame = parent;
TableColumn column;
String[] fxHead;
javax.swing.border.TitledBorder tb;
dcbmTheme = new DefaultComboBoxModel();
cbTheme.setModel(dcbmTheme);
themecollection = new ThemeCollection();
themecollection.setup();
for(Theme th : themecollection.getSortedThemes()){
dcbmTheme.addElement(th);
}
fxHead = new String[]{"Key", "Value"};
dtmTranslate = new DefaultTableModel(null,fxHead){
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class};
boolean[] canEdit = new boolean [] {
false, true};
@Override
public Class getColumnClass(int columnIndex) {return types [columnIndex];}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit [columnIndex];}
};
tableTranslate.setModel(dtmTranslate);
for (int i = 0; i < 2; i++) {
column = tableTranslate.getColumnModel().getColumn(i);
switch(i){
case 0:
column.setPreferredWidth(100);
column.setIdentifier(ColumnTranslate.KEY.getId());
break; //Font
case 1:
column.setPreferredWidth(500);
column.setIdentifier(ColumnTranslate.VALUE.getId());
break; //Correction
}
}
dcbmTranslate = new DefaultComboBoxModel();
cbTranslate.setModel(dcbmTranslate);
dcbmChooseForced = new DefaultComboBoxModel();
cbChooseForced.setModel(dcbmChooseForced);
for(Language.ISO_3166 lg : Language.ISO_3166.values()){
dcbmTranslate.addElement(lg);
dcbmChooseForced.addElement(lg);
}
dcbmTranslate.setSelectedItem(Language.getDefaultISO_3166());
setTranslationTable();
dcbmStartWith = new DefaultComboBoxModel();
for(SWModule swm : SWModule.values()){
dcbmStartWith.addElement(swm);
}
cbStartWith.setModel(dcbmStartWith);
fxHead = new String[]{"Font", "Correction %"};
dtmFonts = new DefaultTableModel(null,fxHead){
Class[] types = new Class [] {
java.lang.String.class, java.lang.Integer.class};
boolean[] canEdit = new boolean [] {
false, false};
@Override
public Class getColumnClass(int columnIndex) {return types [columnIndex];}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit [columnIndex];}
};
tableFonts.setModel(dtmFonts);
for (int i = 0; i < 2; i++) {
column = tableFonts.getColumnModel().getColumn(i);
switch(i){
case 0:
column.setPreferredWidth(300);
column.setIdentifier(Column.FONT.getId());
break; //Font
case 1:
column.setPreferredWidth(60);
column.setIdentifier(Column.CORRECTION.getId());
break; //Correction
}
}
dcbmFonts = new DefaultComboBoxModel();
cbFonts.setModel(dcbmFonts);
GraphicsEnvironment geLocal = GraphicsEnvironment.getLocalGraphicsEnvironment();
final Font[] envFonts = geLocal.getAllFonts();
for(Font f : envFonts){
if(dcbmFonts.getIndexOf(f.getFamily())==-1){
dcbmFonts.addElement(f.getFamily());
}
}
if(localeLanguage.getValueOf("titleOPD")!=null){setTitle(localeLanguage.getValueOf("titleOPD"));}
if(localeLanguage.getValueOf("buttonOk")!=null){OK_Button.setText(localeLanguage.getValueOf("buttonOk"));}
if(localeLanguage.getValueOf("buttonCancel")!=null){Cancel_Button.setText(localeLanguage.getValueOf("buttonCancel"));}
if(localeLanguage.getValueOf("buttonChange")!=null){btnChangeFont.setText(localeLanguage.getValueOf("buttonChange"));}
if(localeLanguage.getValueOf("buttonChange")!=null){btnCodeEditor.setText(localeLanguage.getValueOf("buttonChange"));}
if(localeLanguage.getValueOf("buttonChange")!=null){btnChangeBGImage.setText(localeLanguage.getValueOf("buttonChange"));}
if(localeLanguage.getValueOf("buttonAppTheme")!=null){btnApplyTheme.setText(localeLanguage.getValueOf("buttonAppTheme"));}
if(localeLanguage.getValueOf("buttonAdd")!=null){btnAddFont.setText(localeLanguage.getValueOf("buttonAdd"));}
if(localeLanguage.getValueOf("buttonEdit")!=null){btnEditFont.setText(localeLanguage.getValueOf("buttonEdit"));}
if(localeLanguage.getValueOf("buttonRemove")!=null){btnRemFont.setText(localeLanguage.getValueOf("buttonRemove"));}
if(localeLanguage.getValueOf("labelUniFont")!=null){lblFont.setText(localeLanguage.getValueOf("labelUniFont"));}
if(localeLanguage.getValueOf("labelVideoSize")!=null){lblVideoSize.setText(localeLanguage.getValueOf("labelVideoSize"));}
if(localeLanguage.getValueOf("labelODTheme")!=null){lblTheme.setText(localeLanguage.getValueOf("labelODTheme"));}
if(localeLanguage.getValueOf("labelODBackImage")!=null){lblBackgroundImage.setText(localeLanguage.getValueOf("labelODBackImage"));}
if(localeLanguage.getValueOf("labelODActivate")!=null){lblActivation.setText(localeLanguage.getValueOf("labelODActivate"));}
if(localeLanguage.getValueOf("labelODLaunch")!=null){lblLaunch.setText(localeLanguage.getValueOf("labelODLaunch"));}
if(localeLanguage.getValueOf("labelODExternalEditor")!=null){lblExternalEditor.setText(localeLanguage.getValueOf("labelODExternalEditor"));}
if(localeLanguage.getValueOf("labelODInst1")!=null){lblInstruction1.setText(localeLanguage.getValueOf("labelODInst1"));}
if(localeLanguage.getValueOf("labelODInst2")!=null){lblInstruction2.setText(localeLanguage.getValueOf("labelODInst2"));}
if(localeLanguage.getValueOf("labelODInst3")!=null){lblInstruction3.setText(localeLanguage.getValueOf("labelODInst3"));}
if(localeLanguage.getValueOf("labelPBFont1")!=null){lblPBFont1.setText(localeLanguage.getValueOf("labelPBFont1"));}
if(localeLanguage.getValueOf("labelPBFont2")!=null){lblPBFont2.setText(localeLanguage.getValueOf("labelPBFont2"));}
if(localeLanguage.getValueOf("tabODMain")!=null){jTabbedPane1.setTitleAt(0,localeLanguage.getValueOf("tabODMain"));}
if(localeLanguage.getValueOf("tabODKaraoke")!=null){jTabbedPane1.setTitleAt(1,localeLanguage.getValueOf("tabODKaraoke"));}
if(localeLanguage.getValueOf("tabODCodeEditor")!=null){jTabbedPane1.setTitleAt(2,localeLanguage.getValueOf("tabODCodeEditor"));}
if(localeLanguage.getValueOf("tabODTranslation")!=null){jTabbedPane1.setTitleAt(3,localeLanguage.getValueOf("tabODTranslation"));}
tb = (javax.swing.border.TitledBorder)jPanel7.getBorder();
if(localeLanguage.getValueOf("tbdODFontsPB")!=null){tb.setTitle(localeLanguage.getValueOf("tbdODFontsPB"));}
if(localeLanguage.getValueOf("checkboxForceISO")!=null){cbForceLanguage.setText(localeLanguage.getValueOf("checkboxForceISO"));}
if(localeLanguage.getValueOf("buttonSave")!=null){btnTranslateSave.setText(localeLanguage.getValueOf("buttonSave"));}
if(localeLanguage.getValueOf("optpTitle4")!=null){optTitle4 = localeLanguage.getValueOf("optpTitle4");}
if(localeLanguage.getValueOf("optpMessage6")!=null){optMessage6 = localeLanguage.getValueOf("optpMessage6");}
if(localeLanguage.getValueOf("optpMessage7")!=null){optMessage7 = localeLanguage.getValueOf("optpMessage7");}
if(localeLanguage.getValueOf("checkboxODKaraModule")!=null){cbKaraModule.setText(localeLanguage.getValueOf("checkboxODKaraModule"));}
if(localeLanguage.getValueOf("checkboxODCodeModule")!=null){cbCodeModule.setText(localeLanguage.getValueOf("checkboxODCodeModule"));}
if(localeLanguage.getValueOf("checkboxODDrawModule")!=null){cbDrawModule.setText(localeLanguage.getValueOf("checkboxODDrawModule"));}
if(localeLanguage.getValueOf("checkboxODAnalModule")!=null){cbAnalModule.setText(localeLanguage.getValueOf("checkboxODAnalModule"));}
if(localeLanguage.getValueOf("enumODWelc")!=null){SWModule.WELCOME.setDisplay(localeLanguage.getValueOf("enumODWelc"));}
if(localeLanguage.getValueOf("enumODKara")!=null){SWModule.KARAOKE.setDisplay(localeLanguage.getValueOf("enumODKara"));}
if(localeLanguage.getValueOf("enumODCode")!=null){SWModule.CODEEDITOR.setDisplay(localeLanguage.getValueOf("enumODCode"));}
if(localeLanguage.getValueOf("enumODDraw")!=null){SWModule.DRAWEDITOR.setDisplay(localeLanguage.getValueOf("enumODDraw"));}
if(localeLanguage.getValueOf("enumODAnal")!=null){SWModule.ANALYSIS.setDisplay(localeLanguage.getValueOf("enumODAnal"));}
for (int i = 0; i < 2; i++) {
column = tableFonts.getColumnModel().getColumn(i);
switch(i){
case 0:
if(localeLanguage.getValueOf("tableFont")!=null){
column.setHeaderValue(localeLanguage.getValueOf("tableFont"));
}
break;
case 1:
if(localeLanguage.getValueOf("tableCorrection")!=null){
column.setHeaderValue(localeLanguage.getValueOf("tableCorrection"));
}
break;
}
}
for (int i = 0; i < 2; i++) {
column = tableTranslate.getColumnModel().getColumn(i);
switch(i){
case 0:
if(localeLanguage.getValueOf("tableTKey")!=null){
column.setHeaderValue(localeLanguage.getValueOf("tableTKey"));
}
break;
case 1:
if(localeLanguage.getValueOf("tableTValue")!=null){
column.setHeaderValue(localeLanguage.getValueOf("tableTValue"));
}
break;
}
}
}
/**
* 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() {
fcOptions = new javax.swing.JFileChooser();
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
cbForceLanguage = new javax.swing.JCheckBox();
cbChooseForced = new javax.swing.JComboBox();
lblTheme = new javax.swing.JLabel();
cbTheme = new javax.swing.JComboBox();
btnApplyTheme = new javax.swing.JButton();
lblBackgroundImage = new javax.swing.JLabel();
tfBGImage = new javax.swing.JTextField();
btnChangeBGImage = new javax.swing.JButton();
lblInstruction1 = new javax.swing.JLabel();
lblActivation = new javax.swing.JLabel();
cbKaraModule = new javax.swing.JCheckBox();
cbCodeModule = new javax.swing.JCheckBox();
cbDrawModule = new javax.swing.JCheckBox();
cbAnalModule = new javax.swing.JCheckBox();
lblInstruction2 = new javax.swing.JLabel();
lblLaunch = new javax.swing.JLabel();
cbStartWith = new javax.swing.JComboBox();
jPanel2 = new javax.swing.JPanel();
lblFont = new javax.swing.JLabel();
tfUnicodeFont = new javax.swing.JTextField();
btnChangeFont = new javax.swing.JButton();
lblVideoSize = new javax.swing.JLabel();
tfWidth = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
tfHeight = new javax.swing.JTextField();
jPanel7 = new javax.swing.JPanel();
lblPBFont1 = new javax.swing.JLabel();
lblPBFont2 = new javax.swing.JLabel();
lblPercent = new javax.swing.JLabel();
cbFonts = new javax.swing.JComboBox();
sldFontCorrection = new javax.swing.JSlider();
btnAddFont = new javax.swing.JButton();
btnEditFont = new javax.swing.JButton();
btnRemFont = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tableFonts = new javax.swing.JTable();
jPanel3 = new javax.swing.JPanel();
lblExternalEditor = new javax.swing.JLabel();
btnCodeEditor = new javax.swing.JButton();
tfCodeEditor = new javax.swing.JTextField();
lblInstruction3 = new javax.swing.JLabel();
jPanel6 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tableTranslate = new javax.swing.JTable();
cbTranslate = new javax.swing.JComboBox();
btnTranslateSave = new javax.swing.JButton();
OK_Button = new javax.swing.JButton();
Cancel_Button = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
cbForceLanguage.setText("Forcer le langage à :");
cbForceLanguage.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cbForceLanguageActionPerformed(evt);
}
});
cbChooseForced.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
lblTheme.setText("Theme :");
cbTheme.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
btnApplyTheme.setText("Appliquer");
btnApplyTheme.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnApplyThemeActionPerformed(evt);
}
});
lblBackgroundImage.setText("Image de fond :");
btnChangeBGImage.setText("Changer...");
btnChangeBGImage.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnChangeBGImageActionPerformed(evt);
}
});
lblInstruction1.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
lblInstruction1.setForeground(new java.awt.Color(255, 0, 51));
lblInstruction1.setText("Pour appliquer la traduction, relancez le logiciel.");
lblActivation.setText("Activation des modules :");
cbKaraModule.setSelected(true);
cbKaraModule.setText("Karaoké");
cbCodeModule.setSelected(true);
cbCodeModule.setText("Code");
cbDrawModule.setSelected(true);
cbDrawModule.setText("Dessin");
cbAnalModule.setSelected(true);
cbAnalModule.setText("Analyse");
lblInstruction2.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
lblInstruction2.setForeground(new java.awt.Color(255, 0, 0));
lblInstruction2.setText("Les modules sélectionnés seront disponible au lancement, relancez le logiciel.");
lblLaunch.setText("Au lancement, voir :");
cbStartWith.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblTheme, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblBackgroundImage, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(tfBGImage)
.addComponent(cbTheme, 0, 277, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnApplyTheme, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnChangeBGImage, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(cbForceLanguage, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(cbChooseForced, javax.swing.GroupLayout.PREFERRED_SIZE, 379, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lblActivation, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cbKaraModule, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(cbCodeModule, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(2, 2, 2)
.addComponent(cbDrawModule, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(cbAnalModule)))
.addGap(0, 2, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lblLaunch, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cbStartWith, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblInstruction2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblInstruction1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbForceLanguage)
.addComponent(cbChooseForced, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblInstruction1)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(15, 15, 15)
.addComponent(lblTheme))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbTheme, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnApplyTheme))))
.addGap(10, 10, 10)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(lblBackgroundImage))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnChangeBGImage)
.addComponent(tfBGImage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(lblActivation)
.addGap(11, 11, 11))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbKaraModule)
.addComponent(cbCodeModule)
.addComponent(cbDrawModule)
.addComponent(cbAnalModule))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
.addComponent(lblInstruction2)
.addGap(6, 6, 6)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblLaunch, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbStartWith, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(89, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Général", jPanel1);
lblFont.setText("Police Unicode :");
btnChangeFont.setText("Changer...");
btnChangeFont.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnChangeFontActionPerformed(evt);
}
});
lblVideoSize.setText("Taille de la vidéo :");
tfWidth.setHorizontalAlignment(javax.swing.JTextField.CENTER);
tfWidth.setText("1280");
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel3.setText("x");
tfHeight.setHorizontalAlignment(javax.swing.JTextField.CENTER);
tfHeight.setText("720");
jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Police à problèmes"));
lblPBFont1.setText("Police :");
lblPBFont2.setText("Correction :");
lblPercent.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lblPercent.setText("100 %");
cbFonts.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
sldFontCorrection.setValue(100);
sldFontCorrection.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
sldFontCorrectionStateChanged(evt);
}
});
btnAddFont.setText("Ajouter");
btnAddFont.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddFontActionPerformed(evt);
}
});
btnEditFont.setText("Editer");
btnEditFont.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditFontActionPerformed(evt);
}
});
btnRemFont.setText("Supprimer");
btnRemFont.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRemFontActionPerformed(evt);
}
});
jScrollPane2.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
tableFonts.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Police", "Correction"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.Integer.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane2.setViewportView(tableFonts);
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2)
.addGroup(jPanel7Layout.createSequentialGroup()
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(cbFonts, 0, 134, Short.MAX_VALUE)
.addComponent(lblPBFont1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(lblPBFont2, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblPercent, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(sldFontCorrection, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnAddFont, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnEditFont, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnRemFont)))
.addContainerGap())
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnRemFont, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnEditFont, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAddFont, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel7Layout.createSequentialGroup()
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblPBFont1)
.addComponent(lblPBFont2)
.addComponent(lblPercent))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(cbFonts, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(sldFontCorrection, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE)
.addContainerGap())
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(lblFont)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfUnicodeFont, javax.swing.GroupLayout.PREFERRED_SIZE, 395, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnChangeFont, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(lblVideoSize)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfHeight, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 2, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblFont)
.addComponent(tfUnicodeFont, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnChangeFont))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblVideoSize)
.addComponent(tfWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(tfHeight, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
jTabbedPane1.addTab("Karaoké", jPanel2);
lblExternalEditor.setText("Editeur externe :");
btnCodeEditor.setText("Changer...");
btnCodeEditor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCodeEditorActionPerformed(evt);
}
});
lblInstruction3.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
lblInstruction3.setForeground(new java.awt.Color(255, 51, 51));
lblInstruction3.setText("Pour pouvoir ouvrir un script dans un autre logiciel, rajoutez %FILE à votre ligne de commande.");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblInstruction3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(lblExternalEditor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfCodeEditor, javax.swing.GroupLayout.DEFAULT_SIZE, 390, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnCodeEditor, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblExternalEditor)
.addComponent(btnCodeEditor)
.addComponent(tfCodeEditor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblInstruction3)
.addContainerGap(224, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Editeur de code", jPanel3);
jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
tableTranslate.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Clé", "Valeur"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, true
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
tableTranslate.setRowHeight(32);
jScrollPane1.setViewportView(tableTranslate);
cbTranslate.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
btnTranslateSave.setText("Sauver");
btnTranslateSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTranslateSaveActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE)
.addGroup(jPanel6Layout.createSequentialGroup()
.addComponent(cbTranslate, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnTranslateSave, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 227, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbTranslate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTranslateSave))
.addContainerGap())
);
jTabbedPane1.addTab("Traduction", jPanel6);
OK_Button.setText("OK");
OK_Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
OK_ButtonActionPerformed(evt);
}
});
Cancel_Button.setText("Annuler");
Cancel_Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Cancel_ButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(OK_Button, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Cancel_Button, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 306, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(OK_Button)
.addComponent(Cancel_Button))
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void OK_ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OK_ButtonActionPerformed
// OK
bp = ButtonPressed.OK_BUTTON;
dispose();
}//GEN-LAST:event_OK_ButtonActionPerformed
private void Cancel_ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Cancel_ButtonActionPerformed
// Cancel
bp = ButtonPressed.CANCEL_BUTTON;
dispose();
}//GEN-LAST:event_Cancel_ButtonActionPerformed
private void cbForceLanguageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbForceLanguageActionPerformed
if(cbForceLanguage.isSelected()){
cbChooseForced.setEnabled(true);
}else{
cbChooseForced.setEnabled(false);
}
}//GEN-LAST:event_cbForceLanguageActionPerformed
private void btnApplyThemeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplyThemeActionPerformed
Theme th = (Theme)dcbmTheme.getSelectedItem();
feuille.MainFrame.changeTheme(th);
javax.swing.SwingUtilities.updateComponentTreeUI(frame);
javax.swing.SwingUtilities.updateComponentTreeUI(this);
try {//Force to redraw
javax.swing.UIManager.setLookAndFeel(new NimbusLookAndFeel());
javax.swing.SwingUtilities.updateComponentTreeUI(this);
} catch (Exception exc) {
System.out.println("Nimbus LookAndFeel not loaded : "+exc);
}
}//GEN-LAST:event_btnApplyThemeActionPerformed
private void btnChangeBGImageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChangeBGImageActionPerformed
for (FileFilter ff : fcOptions.getChoosableFileFilters()){
fcOptions.removeChoosableFileFilter(ff);
}
fcOptions.addChoosableFileFilter(new ImageFilter());
fcOptions.setAccessory(new ImagePreview(fcOptions));
int z = fcOptions.showOpenDialog(this);
if (z == javax.swing.JFileChooser.APPROVE_OPTION){
tfBGImage.setText(fcOptions.getSelectedFile().getPath());
}
}//GEN-LAST:event_btnChangeBGImageActionPerformed
private void btnChangeFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChangeFontActionPerformed
for (FileFilter ff : fcOptions.getChoosableFileFilters()){
fcOptions.removeChoosableFileFilter(ff);
}
fcOptions.addChoosableFileFilter(new TTFFilter());
fcOptions.setAccessory(null);
int z = fcOptions.showOpenDialog(this);
if (z == javax.swing.JFileChooser.APPROVE_OPTION){
tfUnicodeFont.setText(fcOptions.getSelectedFile().getPath());
}
}//GEN-LAST:event_btnChangeFontActionPerformed
private void btnAddFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddFontActionPerformed
String sfont = dcbmFonts.getSelectedItem().toString();
int percent = sldFontCorrection.getValue();
dtmFonts.addRow(new Object[]{sfont,percent});
}//GEN-LAST:event_btnAddFontActionPerformed
private void btnEditFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditFontActionPerformed
if(tableFonts.getSelectedRow()!=-1){
String sfont = dcbmFonts.getSelectedItem().toString();
int percent = sldFontCorrection.getValue();
tableFonts.setValueAt(sfont, tableFonts.getSelectedRow(), 0);
tableFonts.setValueAt(percent, tableFonts.getSelectedRow(), 1);
}
}//GEN-LAST:event_btnEditFontActionPerformed
private void btnRemFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRemFontActionPerformed
try{
int tabtemp[] = tableFonts.getSelectedRows();
for (int i=tabtemp.length-1;i>=0;i--){
dtmFonts.removeRow(tabtemp[i]);
}
}catch(Exception exc){}
}//GEN-LAST:event_btnRemFontActionPerformed
private void sldFontCorrectionStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_sldFontCorrectionStateChanged
lblPercent.setText(sldFontCorrection.getValue()+" %");
}//GEN-LAST:event_sldFontCorrectionStateChanged
private void btnCodeEditorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCodeEditorActionPerformed
for (FileFilter ff : fcOptions.getChoosableFileFilters()){
fcOptions.removeChoosableFileFilter(ff);
}
fcOptions.addChoosableFileFilter(new ExeJarFilter());
fcOptions.addChoosableFileFilter(new AnyFilter());
fcOptions.setAccessory(null);
int z = fcOptions.showOpenDialog(this);
if (z == javax.swing.JFileChooser.APPROVE_OPTION){
tfCodeEditor.setText(fcOptions.getSelectedFile().getPath());
}
}//GEN-LAST:event_btnCodeEditorActionPerformed
private void btnTranslateSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTranslateSaveActionPerformed
for(int i=0;i<tableTranslate.getRowCount();i++){
String key = tableTranslate.getValueAt(i, 0).toString();
String value = tableTranslate.getValueAt(i, 1).toString();
translateMap.put(key, value);
}
Language.ISO_3166 iso = (Language.ISO_3166)cbTranslate.getSelectedItem();
XmlLangWriter xlw = new XmlLangWriter();
xlw.setLangMap(translateMap);
File file = new File(DOCSPATH+iso.getAlpha3()+".lang");
boolean createFile = true;
if(file.exists()){
int a = JOptionPane.showConfirmDialog(this, optMessage6, optTitle4, JOptionPane.YES_NO_OPTION);
if(a==JOptionPane.NO_OPTION){
createFile = false;
}
}
if(createFile == true){
xlw.createLang(file.getAbsolutePath());
JOptionPane.showMessageDialog(this, optMessage7);
}
}//GEN-LAST:event_btnTranslateSaveActionPerformed
/** <p>Show the dialog.<br />
* Montre la dialogue.</p> */
public boolean showDialog(){
setVisible(true);
if(bp.equals(ButtonPressed.OK_BUTTON)){
return true;
}else{
return false;
}
}
/** <p>Set the selected theme.<br />
* Définit le thème sélectionné.</p> */
public void setSelectedTheme(Theme th){
dcbmTheme.setSelectedItem(th);
}
public Theme getSelectedTheme(){
return (Theme)dcbmTheme.getSelectedItem();
}
/** <p>Set the video width.<br />
* Définit la largeur de la vidéo.</p> */
public void setVideoWidth(int vw){
tfWidth.setText(vw+"");
}
/** <p>Get the video width.<br />
* Obtient la largeur de la vidéo.</p> */
public int getVideoWidth(){
return Integer.parseInt(tfWidth.getText());
}
/** <p>Set the video height.<br />
* Définit la hauteur de la vidéo.</p> */
public void setVideoHeight(int vh){
tfHeight.setText(vh+"");
}
/** <p>Get the video height.<br />
* Obtient la hauteur de la vidéo.</p> */
public int getVideoHeight(){
return Integer.parseInt(tfHeight.getText());
}
public void setForceLanguage(String language){
force_ISO = language;
if(force_ISO.equalsIgnoreCase("---")==false){
cbForceLanguage.setSelected(true);
cbChooseForced.setEnabled(true);
}else{
cbForceLanguage.setSelected(false);
cbChooseForced.setEnabled(false);
}
dcbmChooseForced.setSelectedItem(Language.getFromCode(force_ISO));
}
public String getForceLanguage(){
if(cbForceLanguage.isSelected()==true){
return ((Language.ISO_3166)cbChooseForced.getSelectedItem()).getAlpha3();
}else{
return "---";
}
}
public void setBGImage(String BGImage){
tfBGImage.setText(BGImage);
}
public String getBGImage(){
return tfBGImage.getText();
}
public void setKaraModule(boolean b){
cbKaraModule.setSelected(b);
}
public boolean getKaraModule(){
return cbKaraModule.isSelected();
}
public String getKaraModuleString(){
if(cbKaraModule.isSelected()==true){
return "yes";
}else{
return "no";
}
}
public void setCodeModule(boolean b){
cbCodeModule.setSelected(b);
}
public boolean getCodeModule(){
return cbCodeModule.isSelected();
}
public String getCodeModuleString(){
if(cbCodeModule.isSelected()==true){
return "yes";
}else{
return "no";
}
}
public void setDrawModule(boolean b){
cbDrawModule.setSelected(b);
}
public boolean getDrawModule(){
return cbDrawModule.isSelected();
}
public String getDrawModuleString(){
if(cbDrawModule.isSelected()==true){
return "yes";
}else{
return "no";
}
}
public void setAnalModule(boolean b){
cbAnalModule.setSelected(b);
}
public boolean getAnalModule(){
return cbAnalModule.isSelected();
}
public String getAnalModuleString(){
if(cbAnalModule.isSelected()==true){
return "yes";
}else{
return "no";
}
}
public void setStartWith(String code){
if(code.equalsIgnoreCase("kara")){
dcbmStartWith.setSelectedItem(SWModule.KARAOKE);
}else if(code.equalsIgnoreCase("code")){
dcbmStartWith.setSelectedItem(SWModule.CODEEDITOR);
}else if(code.equalsIgnoreCase("draw")){
dcbmStartWith.setSelectedItem(SWModule.DRAWEDITOR);
}else if(code.equalsIgnoreCase("anal")){
dcbmStartWith.setSelectedItem(SWModule.ANALYSIS);
}else{
dcbmStartWith.setSelectedItem(SWModule.WELCOME);
}
}
public String getStartWith(){
SWModule swm = (SWModule)dcbmStartWith.getSelectedItem();
return swm.getCode();
}
public void setUnicodeFont(String path){
tfUnicodeFont.setText(path);
}
public String getUnicodeFont(){
return tfUnicodeFont.getText();
}
public void setProblemFont(List<FontWithCoef> list){
for(FontWithCoef fwc : list){
int value = Integer.parseInt(fwc.getCoefInPercent().replace(".0", ""));
dtmFonts.addRow(new Object[]{fwc.getFontName(),value});
}
}
public List<FontWithCoef> getProblemFont(){
List<FontWithCoef> list = new ArrayList<>();
for(int i=0;i<dtmFonts.getRowCount();i++){
String sfont = dtmFonts.getValueAt(i, 0).toString();
int percent = (Integer)dtmFonts.getValueAt(i, 1);
FontWithCoef fwc = new FontWithCoef(new Font(sfont, Font.PLAIN, 12), percent);
list.add(fwc);
}
return list;
}
public void setCodeEditor(String path){
tfCodeEditor.setText(path);
}
public String getCodeEditor(){
return tfCodeEditor.getText();
}
public void setDocsPath(String path){
DOCSPATH = path;
}
private Map sortByComparator(Map map) {
List list = new LinkedList(map.entrySet());
//sort list based on comparator
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((Comparable) ((Map.Entry) (o1)).getKey())
.compareTo(((Map.Entry) (o2)).getKey());
}
});
//put sorted list into map again
Map sortedMap = new LinkedHashMap();
for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
public final void setTranslationTable(){
translateMap = localeLanguage.getLocaleMap();
translateMap = sortByComparator(translateMap);
tableTranslate.removeAll();
for (String s : translateMap.keySet()){
dtmTranslate.addRow(new Object[]{s,translateMap.get(s)});
}
}
public void setTranslationTable(Map<String, String> map){
map = sortByComparator(map);
tableTranslate.removeAll();
for (String s : map.keySet()){
dtmTranslate.addRow(new Object[]{s,map.get(s)});
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(OptionsDialog2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the dialog */
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
OptionsDialog2 dialog = new OptionsDialog2(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton Cancel_Button;
private javax.swing.JButton OK_Button;
private javax.swing.JButton btnAddFont;
private javax.swing.JButton btnApplyTheme;
private javax.swing.JButton btnChangeBGImage;
private javax.swing.JButton btnChangeFont;
private javax.swing.JButton btnCodeEditor;
private javax.swing.JButton btnEditFont;
private javax.swing.JButton btnRemFont;
private javax.swing.JButton btnTranslateSave;
private javax.swing.JCheckBox cbAnalModule;
private javax.swing.JComboBox cbChooseForced;
private javax.swing.JCheckBox cbCodeModule;
private javax.swing.JCheckBox cbDrawModule;
private javax.swing.JComboBox cbFonts;
private javax.swing.JCheckBox cbForceLanguage;
private javax.swing.JCheckBox cbKaraModule;
private javax.swing.JComboBox cbStartWith;
private javax.swing.JComboBox cbTheme;
private javax.swing.JComboBox cbTranslate;
private javax.swing.JFileChooser fcOptions;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JLabel lblActivation;
private javax.swing.JLabel lblBackgroundImage;
private javax.swing.JLabel lblExternalEditor;
private javax.swing.JLabel lblFont;
private javax.swing.JLabel lblInstruction1;
private javax.swing.JLabel lblInstruction2;
private javax.swing.JLabel lblInstruction3;
private javax.swing.JLabel lblLaunch;
private javax.swing.JLabel lblPBFont1;
private javax.swing.JLabel lblPBFont2;
private javax.swing.JLabel lblPercent;
private javax.swing.JLabel lblTheme;
private javax.swing.JLabel lblVideoSize;
private javax.swing.JSlider sldFontCorrection;
private javax.swing.JTable tableFonts;
private javax.swing.JTable tableTranslate;
private javax.swing.JTextField tfBGImage;
private javax.swing.JTextField tfCodeEditor;
private javax.swing.JTextField tfHeight;
private javax.swing.JTextField tfUnicodeFont;
private javax.swing.JTextField tfWidth;
// End of variables declaration//GEN-END:variables
}