/* * HJB4U is toolchain for creating a HyperJAXB front end for database users. * Copyright (C) 2010 NigelB * * 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 2 * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package hjb4u.gui; import hjb4u.SettingsStore; import hjb4u.config.hjb4u.DBConf; import hjb4u.config.hjb4u.ELogLevel; import hjb4u.config.hjb4u.HJB4UConfiguration; import hjb4u.config.hjb4u.NameSpaceMapping; import org.apache.log4j.Logger; import javax.swing.*; import javax.swing.border.LineBorder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.xml.bind.JAXBException; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.FileNotFoundException; import java.net.URI; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.UUID; /** * <code>Settings</code> * Date: Jun 2, 2009 * Time: 8:45:30 AM * * @author Nigel B */ public class Settings { private JPanel panel1; private JButton cancelButton; private JButton applyButton; private JButton OKButton; private JTabbedPane tabbedPane1; private JList nameSpaces; private JTextField nameSpace; private JTextField prefix; private JButton nsSaveAddButton; private JButton nsDeleteButton; private JTextField dbNewName; private JTextField dbNewDriver; private JTextField dbNewDialect; private JButton nsClearButton; private JComboBox dbTemplates; private JTextField dbNewUsername; private JTextField dbNewPassword; private JTextField dbNewURL; private JButton dbClearButton; private JButton dbSaveAddButton; private JButton dbDeleteButton; private JComboBox selectedDatabase; private JCheckBox validate; private JPanel generalSettingsPanel; private JPanel dbPanel; private JPanel dbButPan; private JPanel nsInputPanel; private JPanel nsWrappedPanel; private JPanel nsTabPanel; private JPanel dbInputWrapperPanel; private JPanel dbInputPanel; private JPanel buttonPanel; private JList databases; private JProgressBar nsSpacer; private JProgressBar dbSpacer; private JComboBox rootElement; private JTextArea rootID; private JCheckBox lgEnableLF5; private JCheckBox lgEnablePane; private JTextField lgLF5Size; private JComboBox lgLF5Level; private JTextField lgPaneSize; private JComboBox lgPaneLevel; private JButton showLoggingPanelButton; private JTextField lgPanelPattern; private JProgressBar lgSpacer; private JPanel logging; private JPanel lgSettings; private JLabel lgPatternLink; private JCheckBox defaultNS; private HJB4UConfiguration settings = SettingsStore.getInstance().getSettings(); private Logger logger = Logger.getLogger(Settings.class); private JDialog parent; public Settings(JDialog parent) { this(); this.parent = parent; } public Settings() { $$$setupUI$$$(); lgPatternLink.setText("<html><a href=\"http://www.jcu.edu.au\"><font color=\"blue\">Logging Panel Log Pattern:</font></a></html>"); OKButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fromGUI(); try { SettingsStore.getInstance().save(); } catch (JAXBException e1) { logger.error("Could Not Save: " + e1, e1); } catch (FileNotFoundException e1) { logger.error("Could Not Save: " + e1, e1); } parent.setVisible(false); } }); applyButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fromGUI(); try { SettingsStore.getInstance().save(); } catch (JAXBException e1) { logger.error("Could Not Save: " + e1, e1); } catch (FileNotFoundException e1) { logger.error("Could Not Save: " + e1, e1); } } }); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { parent.setVisible(false); } }); nameSpaces.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { NameSpaceMapping nm = (NameSpaceMapping) nameSpaces.getSelectedValue(); ListModel m = nameSpaces.getModel(); defaultNS.setEnabled(!NameSpaceMapping.defaultExists()); if (nm != null) { defaultNS.getModel().setSelected(!nm.isDefault()); if (!nm.isDefault()) { prefix.setEnabled(true); nameSpace.setText(nm.getNamespace()); prefix.setText(nm.getPrefix()); } else { nameSpace.setText(nm.getNamespace()); prefix.setText(null); prefix.setEnabled(false); defaultNS.setEnabled(true); } } } }); nsClearButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { nameSpace.setText(""); prefix.setText(""); } }); nsSaveAddButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { HashListModel model = (HashListModel) nameSpaces.getModel(); NameSpaceMapping nm = (NameSpaceMapping) model.getModel().get(nameSpace.getText()); if (nm != null && nm.isDefault()) { nm.setDefault(false); } if (prefix.isEnabled()) { nm = new NameSpaceMapping(nameSpace.getText(), prefix.getText()); } else { nm = new NameSpaceMapping(nameSpace.getText()); } model.insert(nm.getNamespace(), nm); nameSpaces.repaint(); } }); nsDeleteButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Object[] sel = nameSpaces.getSelectedValues(); nameSpaces.setSelectedIndices(new int[]{}); HashListModel model = (HashListModel) nameSpaces.getModel(); NameSpaceMapping nm; for (Object o : sel) { nm = (NameSpaceMapping) o; nm.setDefault(false); model.remove(nm.getNamespace()); } nameSpaces.repaint(); } }); dbClearButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dbNewName.setText(""); dbNewDialect.setText(""); dbNewDriver.setText(""); dbNewUsername.setText(""); dbNewPassword.setText(""); dbNewURL.setText(""); } }); dbSaveAddButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { DBConf newDB = new DBConf(); newDB.setName(reduce(dbNewName.getText())); newDB.setDialect(reduce(dbNewDialect.getText())); newDB.setDriver(reduce(dbNewDriver.getText())); newDB.setUsername(reduce(dbNewUsername.getText())); newDB.setPassword(reduce(dbNewPassword.getText())); newDB.setUrl(reduce(dbNewURL.getText())); newDB.setUuid(UUID.randomUUID().toString()); if (newDB.getDialect() != null && newDB.getName() != null && newDB.getDriver() != null) { ((HashListModel) databases.getModel()).insert(newDB.getUuid(), newDB); } } }); dbDeleteButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Object[] selected = databases.getSelectedValues(); for (Object o : selected) { ((HashListModel) databases.getModel()).remove(((DBConf) o).getUuid()); } } }); dbTemplates.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { DBConf templ = (DBConf) dbTemplates.getSelectedItem(); dbNewName.setText(templ.getName()); dbNewDialect.setText(templ.getDialect()); dbNewDriver.setText(templ.getDriver()); dbNewUsername.setText(templ.getUsername()); dbNewPassword.setText(templ.getPassword()); dbNewURL.setText(templ.getUrl()); } }); databases.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { DBConf templ = (DBConf) databases.getSelectedValue(); dbNewName.setText(templ.getName()); dbNewDialect.setText(templ.getDialect()); dbNewDriver.setText(templ.getDriver()); dbNewUsername.setText(templ.getUsername()); dbNewPassword.setText(templ.getPassword()); dbNewURL.setText(templ.getUrl()); } }); showLoggingPanelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JDialog errorPane = new JDialog(parent, "Error Pane"); LogWindow lw = new LogWindow(errorPane); lw.update(); errorPane.setContentPane(lw.$$$getRootComponent$$$()); errorPane.setModal(true); errorPane.setSize(600, 400); errorPane.setLocationRelativeTo(null); errorPane.setVisible(true); errorPane.dispose(); } }); lgLF5Size.setInputVerifier(new InputVerifier() { @Override public boolean verify(JComponent input) { try { Integer.parseInt(lgLF5Size.getText()); } catch (NumberFormatException ne) { JOptionPane.showMessageDialog(lgLF5Size, "Must be a valid Integer", "Size not formatted correctly.", JOptionPane.ERROR_MESSAGE); return false; } return true; } }); lgPaneSize.setInputVerifier(new InputVerifier() { @Override public boolean verify(JComponent input) { try { Integer.parseInt(lgPaneSize.getText()); } catch (NumberFormatException ne) { JOptionPane.showMessageDialog(lgPaneSize, "Must be a valid Integer", "Size not formatted correctly.", JOptionPane.ERROR_MESSAGE); return false; } return true; } }); lgEnableLF5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateLF5State(); } }); lgEnablePane.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updatePaneState(); } }); lgPatternLink.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { lgPatternLink.setText("<html><a href=\"#\"><font color=\"red\">Logging Panel Log Pattern:</font></a></html>"); } @Override public void mouseReleased(MouseEvent e) { lgPatternLink.setText("<html><a href=\"#\"><font color=\"blue\">Logging Panel Log Pattern:</font></a></html>"); } @Override public void mouseClicked(MouseEvent e) { try { Desktop.getDesktop().browse(new URI(settings.getPatternURL())); } catch (Exception ex) { logger.error("Could not open URL: " + settings.getPatternURL(), ex); } } }); lgPatternLink.setCursor(new Cursor(Cursor.HAND_CURSOR)); defaultNS.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { prefix.setEnabled(defaultNS.getModel().isSelected()); } }); toGUI(); } private void updateLF5State() { boolean state = lgEnableLF5.isSelected(); lgLF5Level.setEnabled(state); lgLF5Size.setEnabled(state); } private void updatePaneState() { boolean state = lgEnablePane.isSelected(); lgPaneSize.setEnabled(state); lgPaneLevel.setEnabled(state); lgPanelPattern.setEnabled(state); } private void toGUI() { validate.getModel().setPressed(settings.isValidate()); //Populate NameSpaces/ List<NameSpaceMapping> nslist = settings.getNamespaces(); HashListModel<NameSpaceMapping> nsModel = new HashListModel<NameSpaceMapping>(); for (NameSpaceMapping aNslist : nslist) { nsModel.insert(aNslist.getNamespace(), aNslist); } nameSpaces.setModel(nsModel); if (NameSpaceMapping.defaultExists()) { defaultNS.getModel().setSelected(true); defaultNS.setEnabled(false); prefix.setEnabled(true); } //Populate Databases. List<DBConf> dbs = settings.getDbs(); final HashListModel<DBConf> dbModel = new HashListModel<DBConf>(); for (DBConf db : dbs) { dbModel.insert(db.getUuid(), db); } dbModel.setCmp(new Comparator<String>() { public int compare(String o1, String o2) { return dbModel.getModel().get(o1).getName() .compareTo(dbModel.getModel().get(o2).getName()); } }); databases.setModel(dbModel); selectedDatabase.setModel(new ComboListModelLW(dbModel)); if (settings.getDatabase() != null && dbModel.getModel().get(settings.getDatabase()) != null) { selectedDatabase.setSelectedItem(dbModel.getModel().get(settings.getDatabase())); } //Populate Dataase Templates. DefaultComboBoxModel templatesModel = new DefaultComboBoxModel(); templatesModel.addElement(new DBConf()); for (DBConf dbList : SettingsStore.getInstance().getTemplates().getDbs()) { templatesModel.addElement(dbList); } dbTemplates.setModel(templatesModel); //Populate Root ID rootID.setText(Long.toString(settings.getRootID())); //Populate XMLElelemnts HashListModel<ListClass> rootModel = new HashListModel<ListClass>(); for (ListClass aClass : SettingsStore.getInstance().makeRootElementList()) { rootModel.insert(aClass.getMyclass().getName(), aClass); } rootElement.setModel(new ComboListModelLW(rootModel)); if (settings.getRootElementType() != null) { rootElement.setSelectedItem(rootModel.getModel().get(settings.getRootElementType())); } lgEnableLF5.setSelected(settings.isEnableLF5()); lgEnablePane.setSelected(settings.isEnableLoggingPane()); lgLF5Level.setModel(new DefaultComboBoxModel(ELogLevel.values())); lgLF5Level.getModel().setSelectedItem(settings.getLf5LogLevel()); lgPaneLevel.setModel(new DefaultComboBoxModel(ELogLevel.values())); lgPaneLevel.getModel().setSelectedItem(settings.getPaneLogLevel()); lgPaneSize.setText("" + settings.getPaneSize()); lgLF5Size.setText("" + settings.getLf5Size()); lgPanelPattern.setText(settings.getPanePattern()); updateLF5State(); updatePaneState(); } private void fromGUI() { settings.setValidate(validate.getModel().isPressed()); if (selectedDatabase.getSelectedItem() != null) { settings.setDatabase(((DBConf) selectedDatabase.getSelectedItem()).getUuid()); } if (rootElement.getSelectedItem() != null) { settings.setRootElementType(((ListClass) rootElement.getSelectedItem()).getMyclass().getName()); } try { settings.setRootID(Long.parseLong(rootID.getText())); } catch (NumberFormatException ne) { JOptionPane.showMessageDialog($$$getRootComponent$$$(), "The root ID you entered is invalid. It needs to be a valid Integer.", "Invalid ID.", JOptionPane.ERROR_MESSAGE); throw ne; } HashListModel<NameSpaceMapping> model = (HashListModel<NameSpaceMapping>) nameSpaces.getModel(); settings.setNamespaces(new ArrayList<NameSpaceMapping>(model.getModel().values())); HashListModel<DBConf> dbmodel = (HashListModel<DBConf>) databases.getModel(); settings.setDbs(new ArrayList<DBConf>(dbmodel.getModel().values())); settings.setEnableLF5(lgEnableLF5.isSelected()); settings.setLf5LogLevel((ELogLevel) lgLF5Level.getSelectedItem()); settings.setLf5Size(Integer.parseInt(lgLF5Size.getText())); settings.setEnableLoggingPane(lgEnablePane.isSelected()); settings.setPaneLogLevel((ELogLevel) lgPaneLevel.getSelectedItem()); settings.setPaneSize(Integer.parseInt(lgPaneSize.getText())); settings.setPanePattern(lgPanelPattern.getText()); } private String reduce(String toR) { if (toR.length() == 0) { return null; } return toR; } private void createUIComponents() { nsSpacer = new JProgressBar() { @Override public void paint(Graphics g) { } }; dbSpacer = new JProgressBar() { @Override public void paint(Graphics g) { } }; lgSpacer = new JProgressBar() { @Override public void paint(Graphics g) { } }; rootID = new JTextArea(); rootID.setBorder(new LineBorder(new Color(0, 0, 0), 1)); } public static void display(JFrame parent, String Title) { JDialog sets = new JDialog(parent, SettingsStore.getInstance().getSettings().getSchema() + ": Settings."); sets.setContentPane(new Settings(sets).$$$getRootComponent$$$()); sets.setModal(true); sets.setSize(800, 400); sets.setLocationRelativeTo(null); sets.setVisible(true); sets.dispose(); } /** * Method generated by IntelliJ IDEA GUI Designer * >>> IMPORTANT!! <<< * DO NOT edit this method OR call it in your code! * * @noinspection ALL */ private void $$$setupUI$$$() { createUIComponents(); panel1 = new JPanel(); panel1.setLayout(new BorderLayout(0, 0)); buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5)); panel1.add(buttonPanel, BorderLayout.SOUTH); OKButton = new JButton(); OKButton.setText("OK"); buttonPanel.add(OKButton); applyButton = new JButton(); applyButton.setText("Apply"); buttonPanel.add(applyButton); cancelButton = new JButton(); cancelButton.setText("Cancel"); buttonPanel.add(cancelButton); tabbedPane1 = new JTabbedPane(); panel1.add(tabbedPane1, BorderLayout.CENTER); generalSettingsPanel = new JPanel(); generalSettingsPanel.setLayout(new GridBagLayout()); tabbedPane1.addTab("General", generalSettingsPanel); selectedDatabase = new JComboBox(); final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel(); selectedDatabase.setModel(defaultComboBoxModel1); GridBagConstraints gbc; gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; generalSettingsPanel.add(selectedDatabase, gbc); final JLabel label1 = new JLabel(); label1.setText("Database"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; generalSettingsPanel.add(label1, gbc); rootElement = new JComboBox(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; generalSettingsPanel.add(rootElement, gbc); final JLabel label2 = new JLabel(); label2.setText("Root XML Element "); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; generalSettingsPanel.add(label2, gbc); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 2; gbc.fill = GridBagConstraints.BOTH; gbc.ipadx = 1; gbc.ipady = 1; gbc.insets = new Insets(2, 2, 2, 2); generalSettingsPanel.add(rootID, gbc); final JLabel label3 = new JLabel(); label3.setText("Item ID to look up"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; generalSettingsPanel.add(label3, gbc); validate = new JCheckBox(); validate.setText(""); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; generalSettingsPanel.add(validate, gbc); final JLabel label4 = new JLabel(); label4.setText("Validate"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; generalSettingsPanel.add(label4, gbc); dbPanel = new JPanel(); dbPanel.setLayout(new BorderLayout(0, 0)); tabbedPane1.addTab("Databases", dbPanel); dbInputWrapperPanel = new JPanel(); dbInputWrapperPanel.setLayout(new BorderLayout(0, 0)); dbPanel.add(dbInputWrapperPanel, BorderLayout.EAST); dbInputPanel = new JPanel(); dbInputPanel.setLayout(new GridBagLayout()); dbInputWrapperPanel.add(dbInputPanel, BorderLayout.CENTER); final JLabel label5 = new JLabel(); label5.setText("Driver"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label5, gbc); final JLabel label6 = new JLabel(); label6.setText("Dialect"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label6, gbc); final JLabel label7 = new JLabel(); label7.setText("Name"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label7, gbc); final JLabel label8 = new JLabel(); label8.setText("Templates"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.ipadx = 5; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label8, gbc); dbTemplates = new JComboBox(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbTemplates, gbc); dbNewName = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewName, gbc); dbNewDriver = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewDriver, gbc); dbNewDialect = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewDialect, gbc); final JLabel label9 = new JLabel(); label9.setText("Username"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 4; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label9, gbc); final JLabel label10 = new JLabel(); label10.setText("Password"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 5; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label10, gbc); final JLabel label11 = new JLabel(); label11.setText("URL"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 6; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); dbInputPanel.add(label11, gbc); dbNewUsername = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 4; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewUsername, gbc); dbNewPassword = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 5; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewPassword, gbc); dbNewURL = new JTextField(); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 6; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; dbInputPanel.add(dbNewURL, gbc); dbButPan = new JPanel(); dbButPan.setLayout(new GridBagLayout()); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 7; dbInputPanel.add(dbButPan, gbc); dbDeleteButton = new JButton(); dbDeleteButton.setText("Delete ->"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; dbButPan.add(dbDeleteButton, gbc); dbClearButton = new JButton(); dbClearButton.setText("^Clear^"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; dbButPan.add(dbClearButton, gbc); dbSaveAddButton = new JButton(); dbSaveAddButton.setText("<- Save/Add"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; dbButPan.add(dbSaveAddButton, gbc); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 8; gbc.weightx = 1.0; gbc.fill = GridBagConstraints.BOTH; gbc.ipadx = 180; dbInputPanel.add(dbSpacer, gbc); final JPanel panel2 = new JPanel(); panel2.setLayout(new BorderLayout(0, 0)); dbPanel.add(panel2, BorderLayout.CENTER); final JScrollPane scrollPane1 = new JScrollPane(); panel2.add(scrollPane1, BorderLayout.CENTER); scrollPane1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(-16777216)), null)); databases = new JList(); scrollPane1.setViewportView(databases); nsTabPanel = new JPanel(); nsTabPanel.setLayout(new BorderLayout(0, 0)); tabbedPane1.addTab("Namespaces", nsTabPanel); nsWrappedPanel = new JPanel(); nsWrappedPanel.setLayout(new GridBagLayout()); nsTabPanel.add(nsWrappedPanel, BorderLayout.EAST); nsInputPanel = new JPanel(); nsInputPanel.setLayout(new GridBagLayout()); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.ipadx = 3; nsWrappedPanel.add(nsInputPanel, gbc); final JLabel label12 = new JLabel(); label12.setText("Name Space"); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); nsInputPanel.add(label12, gbc); nameSpace = new JTextField(); nameSpace.setText(""); gbc = new GridBagConstraints(); gbc.gridx = 2; gbc.gridy = 0; gbc.weightx = 1.0; gbc.weighty = 1.0; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; nsInputPanel.add(nameSpace, gbc); final JLabel label13 = new JLabel(); label13.setText("Prefix"); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 1; gbc.weighty = 1.0; gbc.anchor = GridBagConstraints.WEST; gbc.insets = new Insets(0, 5, 0, 0); nsInputPanel.add(label13, gbc); prefix = new JTextField(); prefix.setEnabled(false); gbc = new GridBagConstraints(); gbc.gridx = 2; gbc.gridy = 1; gbc.weightx = 1.0; gbc.weighty = 1.0; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; nsInputPanel.add(prefix, gbc); final JPanel panel3 = new JPanel(); panel3.setLayout(new GridBagLayout()); gbc = new GridBagConstraints(); gbc.gridx = 2; gbc.gridy = 2; gbc.gridheight = 3; gbc.fill = GridBagConstraints.BOTH; nsInputPanel.add(panel3, gbc); nsDeleteButton = new JButton(); nsDeleteButton.setText("Delete ->"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; panel3.add(nsDeleteButton, gbc); nsClearButton = new JButton(); nsClearButton.setText("^Clear^"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; panel3.add(nsClearButton, gbc); nsSaveAddButton = new JButton(); nsSaveAddButton.setText("<- Save/Add"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; panel3.add(nsSaveAddButton, gbc); defaultNS = new JCheckBox(); defaultNS.setText(""); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; nsInputPanel.add(defaultNS, gbc); nsSpacer.setEnabled(true); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.ipadx = 180; nsWrappedPanel.add(nsSpacer, gbc); final JScrollPane scrollPane2 = new JScrollPane(); nsTabPanel.add(scrollPane2, BorderLayout.CENTER); scrollPane2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(-16777216)), null)); nameSpaces = new JList(); final DefaultListModel defaultListModel1 = new DefaultListModel(); nameSpaces.setModel(defaultListModel1); scrollPane2.setViewportView(nameSpaces); logging = new JPanel(); logging.setLayout(new BorderLayout(0, 0)); tabbedPane1.addTab("Logging", logging); lgSettings = new JPanel(); lgSettings.setLayout(new GridBagLayout()); logging.add(lgSettings, BorderLayout.CENTER); lgEnableLF5 = new JCheckBox(); lgEnableLF5.setText("Enable LF5 Logger Pane"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(lgEnableLF5, gbc); lgEnablePane = new JCheckBox(); lgEnablePane.setText("Enable Logging Panel"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(lgEnablePane, gbc); lgLF5Size = new JTextField(); lgLF5Size.setColumns(10); lgLF5Size.setEditable(true); lgLF5Size.setEnabled(true); lgLF5Size.setToolTipText("The number of log entries to keep in memory."); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(lgLF5Size, gbc); lgLF5Level = new JComboBox(); lgLF5Level.setEnabled(true); gbc = new GridBagConstraints(); gbc.gridx = 3; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(lgLF5Level, gbc); final JLabel label14 = new JLabel(); label14.setText("Size"); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(label14, gbc); lgPaneSize = new JTextField(); lgPaneSize.setEnabled(true); lgPaneSize.setToolTipText("The number of log entries to keep in memory."); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(lgPaneSize, gbc); lgPaneLevel = new JComboBox(); lgPaneLevel.setEnabled(true); gbc = new GridBagConstraints(); gbc.gridx = 3; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(lgPaneLevel, gbc); final JLabel label15 = new JLabel(); label15.setText("Log Level"); gbc = new GridBagConstraints(); gbc.gridx = 3; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(label15, gbc); showLoggingPanelButton = new JButton(); showLoggingPanelButton.setEnabled(true); showLoggingPanelButton.setText("Show Logging Panel"); gbc = new GridBagConstraints(); gbc.gridx = 5; gbc.gridy = 2; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(showLoggingPanelButton, gbc); final JLabel label16 = new JLabel(); label16.setEnabled(true); label16.setText(" "); gbc = new GridBagConstraints(); gbc.gridx = 2; gbc.gridy = 1; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(label16, gbc); final JLabel label17 = new JLabel(); label17.setEnabled(true); label17.setText(" "); gbc = new GridBagConstraints(); gbc.gridx = 4; gbc.gridy = 2; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(label17, gbc); lgPanelPattern = new JTextField(); lgPanelPattern.setEnabled(true); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; lgSettings.add(lgPanelPattern, gbc); lgPatternLink = new JLabel(); lgPatternLink.setText(" Jimmy"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 3; gbc.anchor = GridBagConstraints.WEST; lgSettings.add(lgPatternLink, gbc); lgSpacer.setMaximum(100); gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 4; gbc.weightx = 1.0; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.ipadx = 130; lgSettings.add(lgSpacer, gbc); final JPanel panel4 = new JPanel(); panel4.setLayout(new GridBagLayout()); logging.add(panel4, BorderLayout.NORTH); final JLabel label18 = new JLabel(); label18.setText("The application has to be restarted before changes to these settings will take place."); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; panel4.add(label18, gbc); } /** * @noinspection ALL */ public JComponent $$$getRootComponent$$$() { return panel1; } }