/* * Copyright 2007 - 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sf.jailer.ui; import java.awt.Font; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.Insets; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; /** * Parameter editor. * * @author Ralf Wisser */ public class ParameterEditor extends javax.swing.JDialog { private Font font = new JLabel("normal").getFont(); /** * Non-bold font. */ private Font nonBoldFont = new Font(font.getName(), font.getStyle() & ~Font.BOLD, font.getSize()); /** * Non-bold font + italic. */ private Font nonBoldItalicFont = new Font(font.getName(), font.getStyle() & ~Font.BOLD | Font.ITALIC, font.getSize()); /** * Maps parameters to the text-field. */ public Map<String, JTextField> textfieldsPerParameter = new HashMap<String, JTextField>(); /** Creates new form */ public ParameterEditor(Frame parent) { super(parent, true); initComponents(); } /** * Creates the editor pane. */ public JComponent createPane(Set<String> parameters) { filterPane.removeAll(); int y = 0; java.awt.GridBagConstraints gridBagConstraints; for (Iterator<String> i = parameters.iterator(); i.hasNext(); ) { String parameter = i.next(); javax.swing.JLabel label; label = new javax.swing.JLabel(); label.setText(parameter); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = y; gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 0.0; // gridBagConstraints.weighty = i.hasNext()? 0.0 : 1.0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; filterPane.add(label, gridBagConstraints); label = new javax.swing.JLabel(); label.setText(" = "); label.setFont(nonBoldFont); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = y; gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 0.0; // gridBagConstraints.weighty = i.hasNext()? 0.0 : 1.0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; filterPane.add(label, gridBagConstraints); javax.swing.JTextField textField = new javax.swing.JTextField(); textfieldsPerParameter.put(parameter, textField); if (firstTextField == null) { firstTextField = textField; } gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = y; gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; // gridBagConstraints.weighty = i.hasNext()? 0.0 : 1.0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new Insets(1, 0, 0, 0); filterPane.add(textField, gridBagConstraints); ++y; } if (y == 0) { javax.swing.JLabel label = new javax.swing.JLabel(); label.setText("no parameters"); label.setFont(nonBoldItalicFont); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = y++; gridBagConstraints.weightx = 1.0; gridBagConstraints.fill = GridBagConstraints.NONE; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; filterPane.add(label, gridBagConstraints); } gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = y++; gridBagConstraints.weightx = 0.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.fill = GridBagConstraints.NONE; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; filterPane.add(new JPanel(), gridBagConstraints); return filterScrollPane; } /** 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="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; jPanel1 = new javax.swing.JPanel(); filterScrollPane = new javax.swing.JScrollPane(); filterPane = new javax.swing.JPanel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Filter Editor"); getContentPane().setLayout(new java.awt.GridBagLayout()); jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS)); filterScrollPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); filterPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); filterPane.setLayout(new java.awt.GridBagLayout()); filterScrollPane.setViewportView(filterPane); jPanel1.add(filterScrollPane); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.gridwidth = 12; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; getContentPane().add(jPanel1, gridBagConstraints); pack(); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel filterPane; private javax.swing.JScrollPane filterScrollPane; private javax.swing.JPanel jPanel1; // End of variables declaration//GEN-END:variables public JTextField firstTextField = null; private static final long serialVersionUID = 8104407954983199282L; }