Example usage for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder

List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder.

Prototype

public DefaultFormBuilder(FormLayout layout) 

Source Link

Document

Constructs a DefaultFormBuilder for the given layout.

Usage

From source file:bzh.plealog.bioinfo.ui.filter.BFilterEditor.java

License:Open Source License

private void createGUI() {
    DefaultFormBuilder builder;/*from   ww  w  .j a  va  2s  . c o  m*/
    FormLayout layout;
    JScrollPane scroller;
    JPanel top, expr, exprMain, rulesContainer;

    layout = new FormLayout("right:max(50dlu;p), 4dlu, 150dlu", "");
    builder = new DefaultFormBuilder(layout);
    builder.setDefaultDialogBorder();
    if (!_showRulesOnly) {
        _filterName = createTextField();
        _filterDescription = createTextField();
        builder.appendSeparator(FilterMessages.getString("BFilterEditor.ui.lbl.1"));
        builder.append(new JLabel(FilterMessages.getString("BFilterEditor.ui.lbl.2") + ": "), _filterName);
        builder.nextLine();
        builder.append(new JLabel(FilterMessages.getString("BFilterEditor.ui.lbl.3") + ": "),
                _filterDescription);
        builder.nextLine();
    }

    _rulesPanel = new JPanel();

    _rulesPanel.setLayout(new BoxLayout(_rulesPanel, BoxLayout.Y_AXIS));

    expr = new JPanel();
    expr.add(new JLabel(FilterMessages.getString("BFilterEditor.ui.lbl.4")));
    _exprType = new JComboBox<ExpressionTypeItem>();
    _exprType.addItem(_exprItems[ANY_EXPR_ITEM]);//or
    _exprType.addItem(_exprItems[ALL_EXPR_ITEM]);//and
    _exprType.setSelectedIndex(ALL_EXPR_ITEM);
    expr.add(_exprType);
    expr.add(new JLabel(FilterMessages.getString("BFilterEditor.ui.lbl.5") + ":"));
    exprMain = new JPanel(new BorderLayout());
    exprMain.add(expr, BorderLayout.WEST);
    rulesContainer = new JPanel(new BorderLayout());
    rulesContainer.add(_rulesPanel, BorderLayout.NORTH);
    scroller = new JScrollPane(rulesContainer);
    this.setLayout(new BorderLayout());
    top = new JPanel(new BorderLayout());
    if (!_showRulesOnly) {
        top.add(builder.getContainer(), BorderLayout.CENTER);
    }
    top.add(exprMain, BorderLayout.SOUTH);
    this.add(top, BorderLayout.NORTH);
    this.add(scroller, BorderLayout.CENTER);
    this.add(createHelper(), BorderLayout.SOUTH);
}

From source file:bzh.plealog.bioinfo.ui.filter.BRuleEditor.java

License:Open Source License

/**
 * Creates the GUI./*from  w  w  w .jav  a  2 s .c  o m*/
 */
private void createGUI(JButton add, JButton remove) {
    DefaultFormBuilder builder;
    FormLayout layout;
    JPanel valPnl;

    //create GUI components
    _accessors = new JComboBox<BAccessorEntry>();
    _accessors.addPopupMenuListener(new ResizableComboboxPopupMenuListener());
    _operators = new JComboBox<String>();
    _accessors.addPopupMenuListener(new ResizableComboboxPopupMenuListener());
    _value = createTextField();
    valPnl = new JPanel(new BorderLayout());
    valPnl.add(_value, BorderLayout.CENTER);
    _caseBox = new JCheckBox(FilterMessages.getString("BRuleEditor.ui.cbox.1"));
    _caseBox.setFont(CBX_FNT);
    valPnl.add(_caseBox, BorderLayout.SOUTH);
    _caseBox.setSelected(true);
    _caseBox.setVisible(false);
    //install listeners
    _accessors.addActionListener(new AccComboSelectionActionListener(_operators));

    //layout the GUI
    layout = new FormLayout("95dlu, 1dlu, 110dlu, 1dlu, 80dlu, 1dlu, 30dlu, 1dlu, 30dlu", "top:pref");
    builder = new DefaultFormBuilder(layout);
    //builder.setDefaultDialogBorder();
    builder.append(_accessors);
    builder.append(_operators);
    builder.append(valPnl);
    if (add != null)
        builder.append(add);
    if (remove != null)
        builder.append(remove);

    //sets default values
    fillAccessorsCombo(_accessors);
    _accessors.setSelectedIndex(0);

    this.setLayout(new BorderLayout());
    this.add(builder.getContainer(), BorderLayout.CENTER);
}

From source file:bzh.plealog.blastviewer.config.color.HitPolicyEditorBasePanel.java

License:Open Source License

/**
 * Create the UI./*from   ww w.  j ava 2s.co  m*/
 * 
 * @param nClasses nb of classes to use
 */
protected void buildGUI(int nClasses) {
    DefaultFormBuilder builder;
    FormLayout layout;
    JLabel emptyLbl;
    JPanel pnl, pnl2, pnl3, pnl4;
    int i;

    emptyLbl = new JLabel();
    _valuesFrom = new JTextField[nClasses];
    _valuesTo = new JTextField[nClasses];
    for (i = 0; i < nClasses; i++) {
        _valuesFrom[i] = createTextField(false);
        _valuesTo[i] = createTextField(true);
    }
    initSpecialComponents(nClasses);
    nClasses--;
    for (i = 0; i < nClasses; i++) {
        _valuesTo[i].getDocument().addDocumentListener(new EditListener(_valuesTo[i], _valuesFrom[i + 1]));
    }
    nClasses++;
    layout = new FormLayout("30dlu, 2dlu, 25dlu, 2dlu, 80dlu, 2dlu, 40dlu, 2dlu, 40dlu, 2dlu, 40dlu", "");
    builder = new DefaultFormBuilder(layout);
    builder.setDefaultDialogBorder();
    for (i = 0; i < nClasses; i++) {
        if (i == 0) {
            builder.append(createLabel(MSG_P1));
            builder.append(getSpecialComponent(i));
            builder.append(createLabel(MSG_P2));
            builder.append(_valuesTo[i]);
            builder.append(emptyLbl);
            builder.append(emptyLbl);
        } else if (i == nClasses - 1) {
            builder.append(createLabel(MSG_P1));
            builder.append(getSpecialComponent(i));
            builder.append(createLabel(MSG_P5));
            builder.append(emptyLbl);
            builder.append(emptyLbl);
            builder.append(emptyLbl);
        } else {
            builder.append(createLabel(MSG_P1));
            builder.append(getSpecialComponent(i));
            builder.append(createLabel(MSG_P3));
            builder.append(_valuesFrom[i]);
            builder.append(createLabel(MSG_P4));
            builder.append(_valuesTo[i]);
        }
        if ((i + 1) < nClasses)
            builder.nextLine();
    }
    pnl = new JPanel();
    _valueTypeChooser = new JComboBox<>();
    _valueTypeChooser.setFont(DEF_FNT);
    _valueTypeChooser.addActionListener(new ValueTypeSelector());
    for (i = 0; i < ColorPolicyConfigImplem.FIELDS.length; i++) {
        _valueTypeChooser.addItem(ColorPolicyConfigImplem.FIELDS[i]);
    }
    pnl.add(createLabel(getHeaderMsg()));
    pnl.add(_valueTypeChooser);
    pnl.add(createLabel("values"));
    pnl2 = new JPanel(new BorderLayout());
    pnl2.add(pnl, BorderLayout.WEST);
    pnl2.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
    pnl3 = new JPanel(new BorderLayout());
    pnl3.add(createHelper(5, getHelpMsg()), BorderLayout.CENTER);
    pnl4 = new JPanel(new BorderLayout());
    pnl4.add(pnl2, BorderLayout.NORTH);
    pnl4.add(builder.getContainer(), BorderLayout.CENTER);
    pnl4.add(pnl3, BorderLayout.SOUTH);
    this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
    this.add(pnl4);
}

From source file:bzh.plealog.blastviewer.msa.MSAPanel.java

License:Open Source License

/**
 * Creates the consensus panel./*from w w  w. ja  va  2  s.  c  o  m*/
 */
private Component createConsensusPanel() {
    DefaultFormBuilder builder;
    FormLayout layout;

    layout = new FormLayout("right:max(20dlu;p), 2dlu, 100dlu, 10dlu, " + "right:max(20dlu;p), 2dlu, 110dlu",
            "");
    builder = new DefaultFormBuilder(layout);
    builder.setDefaultDialogBorder();
    builder.append(new JLabel(BVMessages.getString("PscmMsaViewer.lbl.cons")), _consensusSlider);
    builder.append(new JLabel(BVMessages.getString("PscmMsaViewer.lbl.pos")), _positionner);
    return builder.getContainer();
}

From source file:bzh.plealog.blastviewer.phylo.PhyloPanel.java

License:Open Source License

protected Component createTreeLayoutPanel() {
    DefaultFormBuilder builder;//from  w ww  .  j  a  v  a 2  s.c  o  m
    FormLayout layout;
    OptionMenuButton btn;

    _circLayoutBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.layout.circ"));
    _circLayoutBox.setSelected(_treeLayoutType == TreeLayoutType.CIRCULAR);
    _circLayoutBox.addActionListener(new CircLayoutAction());

    _dendLayoutBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.layout.dend"));
    _dendLayoutBox.setSelected(_treeLayoutType == TreeLayoutType.DENDOGRAM);
    _dendLayoutBox.addActionListener(new DendLayoutAction());

    _expandLeavesBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt1.lbl"));
    _expandLeavesBox.setSelected(_expandLeaves);
    _expandLeavesBox.addActionListener(new ExpandLeavesAction());

    _showValuesBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt2.lbl"));
    _showValuesBox.setSelected(_showValues);
    _showValuesBox.addActionListener(new ShowValuesAction());

    _antiAliasBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt3.lbl"));
    _antiAliasBox.setSelected(_antiAlias);
    _antiAliasBox.addActionListener(new AntiAliasAction());

    _txtAntiAliasBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt4.lbl"));
    _txtAntiAliasBox.setSelected(_txtAntiAlias);
    _txtAntiAliasBox.addActionListener(new TxtAntiAliasAction());

    _clipLabelBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt5.lbl"));
    _clipLabelBox.setSelected(_clipLabel);
    _clipLabelBox.addActionListener(new ClipLabelAction());

    _dynFntResizeBox = createChkBoxMnu(BVMessages.getString("PhyloPanel.opt6.lbl"));
    _dynFntResizeBox.setSelected(_dynFntResize);
    _dynFntResizeBox.addActionListener(new DynFntResizeAction());

    btn = new OptionMenuButton(BVMessages.getString("PhyloPanel.options.lbl"));
    btn.setPopup(getOptionPopupMenu());

    _searcher = new SearchField();
    _searcher.setHelperText(BVMessages.getString("PhyloPanel.search.lbl"));
    _searcher.setFont(_fnt);
    _searcher.setToolTipText(BVMessages.getString("PhyloPanel.search.toolTip"));
    _searcher.addPropertyChangeListener(SearchField.PROPERTY_TEXT, new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            String l = evt.getNewValue().toString();
            if (l.equals(_lastSearch) || l.matches("\\s+")) {
            } else {
                setSelectedNodes(search(l));
            }
        }
    });
    layout = new FormLayout("50dlu, 10dlu, 100dlu", // , 10dlu,
            // right:max(20dlu;p), 2dlu,
            // 60dlu",
            "");
    builder = new DefaultFormBuilder(layout);
    builder.setDefaultDialogBorder();
    builder.append(btn);
    builder.append(_searcher);
    return builder.getContainer();
}

From source file:ca.sqlpower.architect.swingui.action.KettleJobAction.java

License:Open Source License

public void actionPerformed(ActionEvent arg0) {
    logger.debug("Starting to create a Kettle job."); //$NON-NLS-1$

    JDialog d;/*ww w.j  a  v  a 2  s  . c  o  m*/
    final JPanel cp = new JPanel(new BorderLayout(12, 12));
    cp.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
    final KettleJobPanel kettleETLPanel = new KettleJobPanel(getSession());

    Callable<Boolean> okCall, cancelCall;
    okCall = new Callable<Boolean>() {

        public Boolean call() {
            if (!kettleETLPanel.applyChanges()) {
                return Boolean.FALSE;
            }
            KettleRepositoryDirectoryChooser chooser = new UserRepositoryDirectoryChooser(frame);
            final KettleJob kettleJob = getSession().getKettleJob();
            kettleJob.setRepositoryDirectoryChooser(chooser);

            final JDialog createKettleJobMonitor = new JDialog(frame);
            createKettleJobMonitor.setTitle(Messages.getString("KettleJobAction.progressDialogTitle")); //$NON-NLS-1$
            FormLayout layout = new FormLayout("pref", ""); //$NON-NLS-1$ //$NON-NLS-2$
            DefaultFormBuilder builder = new DefaultFormBuilder(layout);
            builder.setDefaultDialogBorder();
            builder.append(Messages.getString("KettleJobAction.progressDialogTitle")); //$NON-NLS-1$
            builder.nextLine();
            JProgressBar progressBar = new JProgressBar();
            builder.append(progressBar);
            builder.nextLine();
            JButton cancel = new JButton(Messages.getString("KettleJobAction.cancelOption")); //$NON-NLS-1$
            cancel.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    kettleJob.setCancelled(true);
                }
            });
            builder.append(cancel);
            createKettleJobMonitor.add(builder.getPanel());

            SPSwingWorker compareWorker = new SPSwingWorker(getSession()) {

                @Override
                public void doStuff() throws Exception {
                    createKettleJobMonitor.pack();
                    createKettleJobMonitor.setLocationRelativeTo(frame);
                    createKettleJobMonitor.setVisible(true);
                    List<SQLTable> tableList = getSession().getPlayPen().getTables();
                    kettleJob.doExport(tableList, getSession().getTargetDatabase());
                }

                @Override
                public void cleanup() throws Exception {
                    createKettleJobMonitor.dispose();
                    if (getDoStuffException() != null) {
                        Throwable ex = getDoStuffException();
                        if (ex instanceof SQLObjectException) {
                            ASUtils.showExceptionDialog(getSession(),
                                    Messages.getString("KettleJobAction.errorReadingTables"), ex); //$NON-NLS-1$
                        } else if (ex instanceof RuntimeException || ex instanceof IOException
                                || ex instanceof SQLException) {
                            StringBuffer buffer = new StringBuffer();
                            buffer.append(Messages.getString("KettleJobAction.runtimeError")).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
                            for (String task : kettleJob.getTasksToDo()) {
                                buffer.append(task).append("\n"); //$NON-NLS-1$
                            }
                            ASUtils.showExceptionDialog(getSession(), buffer.toString(), ex);
                        } else if (ex instanceof KettleException) {
                            ASUtils.showExceptionDialog(getSession(),
                                    Messages.getString("KettleJobAction.kettleExceptionDuringExport") + //$NON-NLS-1$
                            "\n" + ex.getMessage().trim(), ex); //$NON-NLS-1$
                        } else {
                            ASUtils.showExceptionDialog(getSession(),
                                    Messages.getString("KettleJobAction.unexpectedExceptionDuringExport"), ex); //$NON-NLS-1$
                        }
                        return;
                    }
                    final JDialog toDoListDialog = new JDialog(frame);
                    toDoListDialog.setTitle(Messages.getString("KettleJobAction.kettleTasksDialogTitle")); //$NON-NLS-1$
                    FormLayout layout = new FormLayout("10dlu, 2dlu, fill:pref:grow, 12dlu", //$NON-NLS-1$
                            "pref, fill:pref:grow, pref"); //$NON-NLS-1$
                    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
                    builder.setDefaultDialogBorder();
                    ButtonBarBuilder buttonBarBuilder = new ButtonBarBuilder();
                    JTextArea toDoList = new JTextArea(10, 60);
                    toDoList.setEditable(false);
                    List<String> tasksToDo = kettleJob.getTasksToDo();
                    for (String task : tasksToDo) {
                        toDoList.append(task + "\n"); //$NON-NLS-1$
                    }
                    JButton close = new JButton(Messages.getString("KettleJobAction.closeOption")); //$NON-NLS-1$
                    close.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
                            toDoListDialog.dispose();
                        }
                    });
                    builder.nextColumn(2);
                    builder.append(Messages.getString("KettleJobAction.kettleTasksInstructions")); //$NON-NLS-1$
                    builder.nextLine();
                    builder.append(""); //$NON-NLS-1$
                    builder.append(new JScrollPane(toDoList));
                    builder.nextLine();
                    builder.append(""); //$NON-NLS-1$
                    buttonBarBuilder.addGlue();
                    buttonBarBuilder.addGridded(close);
                    buttonBarBuilder.addGlue();
                    builder.append(buttonBarBuilder.getPanel());
                    toDoListDialog.add(builder.getPanel());
                    toDoListDialog.pack();
                    toDoListDialog.setLocationRelativeTo(frame);
                    toDoListDialog.setVisible(true);
                }
            };

            new Thread(compareWorker).start();
            ProgressWatcher.watchProgress(progressBar, kettleJob);
            return Boolean.TRUE;
        }
    };

    cancelCall = new Callable<Boolean>() {
        public Boolean call() {
            return Boolean.TRUE;
        }
    };

    d = DataEntryPanelBuilder.createDataEntryPanelDialog(kettleETLPanel, getSession().getArchitectFrame(),
            Messages.getString("KettleJobAction.dialogTitle"), Messages.getString("KettleJobAction.okOption"), //$NON-NLS-1$ //$NON-NLS-2$
            okCall, cancelCall);
    d.pack();
    d.setLocationRelativeTo(getSession().getArchitectFrame());
    d.setVisible(true);
}

From source file:ca.sqlpower.architect.swingui.action.RefreshAction.java

License:Open Source License

public void actionPerformed(ActionEvent e) {
    if (dbTree == null) {
        dbTree = getSession().getDBTree();
    }/* w  w w.j  a  v a  2s . co  m*/

    Set<SQLDatabase> databasesToRefresh = new HashSet<SQLDatabase>();
    for (TreePath tp : dbTree.getSelectionPaths()) {
        SQLObject so = (SQLObject) tp.getLastPathComponent();
        SQLDatabase db = SQLPowerUtils.getAncestor(so, SQLDatabase.class);
        if (db != null && !db.isPlayPenDatabase()) {
            databasesToRefresh.add(db);
        }
    }

    if (databasesToRefresh.isEmpty()) {
        JOptionPane.showMessageDialog(dbTree, "Please select a source database to refresh");
        return;
    }

    final SPSwingWorker worker = new RefreshMonitorableWorker(getSession(),
            (Window) SwingUtilities.getRoot(dbTree), databasesToRefresh);
    final Thread thread = new Thread(worker, "Refresh database worker");
    JProgressBar progressBar = new JProgressBar();
    progressBar.setIndeterminate(true);
    JLabel messageLabel = new JLabel("Refreshing selected databases.");
    ProgressWatcher.watchProgress(progressBar, worker, messageLabel);

    final JDialog dialog = new JDialog((Window) SwingUtilities.getRoot(dbTree), "Refresh");
    DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref:grow, 5dlu, pref"));
    builder.setDefaultDialogBorder();
    builder.append(messageLabel, 3);
    builder.nextLine();
    builder.append(progressBar, 3);
    builder.nextLine();
    builder.append(new JLabel(""), new JButton(new AbstractAction("Cancel") {
        public void actionPerformed(ActionEvent e) {
            worker.kill();
        }
    }));
    dialog.add(builder.getPanel());

    worker.addTaskTerminationListener(new TaskTerminationListener() {
        public void taskFinished(TaskTerminationEvent e) {
            dialog.dispose();
        }
    });

    dialog.pack();
    dialog.setModal(true);
    dialog.setLocationRelativeTo(getSession().getArchitectFrame());
    thread.start();
    dialog.setVisible(true);

}

From source file:ca.sqlpower.architect.swingui.ArchitectPropertiesDataSourceTypeOptionPanel.java

License:Open Source License

public void editDsType(JDBCDataSourceType dsType) {
    if (dsType == null) {
        panel.removeAll();//  www  .j a  va2 s . c  o  m
        return;
    }

    averageSQLFunctionField.setText("");
    stringLengthSQLFuncField.setText("");
    caseWhenNullSQLFuncField.setText("");
    updatableRSField.setSelected(false);
    quotesNameCheckBox.setVisible(false);
    ddlGeneratorCombo.setSelectedItem(KnownDDLGenerators.GENERIC);
    ddlGeneratorClass = dsType.getDDLGeneratorClass();
    ddlGeneratorCombo.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            if (ddlGeneratorClass != null && ddlGeneratorClass.equals(PostgresDDLGenerator.class.getName())) {
                quotesNameCheckBox.setVisible(true);
            } else {
                quotesNameCheckBox.setVisible(false);
                quotesNameCheckBox.setSelected(false);
            }
        }

    });

    currentDSType = dsType;
    profileFunctionTableModel = new ProfileFunctionTableModel();
    final JTable profileFunctionTable = new JTable(profileFunctionTableModel);
    TableUtils.fitColumnWidths(profileFunctionTable, 0);
    profileFunctionTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    profileFunctionTable.getColumnModel().getColumn(2)
            .setCellEditor(new DefaultCellEditor(new JComboBox(SQLType.getTypes())));

    indexTableModel = new DefaultTableModel();
    indexTableModel.addColumn("Index Type");
    final JTable indexTypeJTable = new JTable(indexTableModel);
    indexTypeJTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    for (String property : dsType.getPropertyNames()) {
        if (property.contains("architect")) {
            if (property.contains("ca.sqlpower.architect.etl.kettle")) {
                //Kettle has it's own tab so we will let those properties be defined there.
            } else if (property.contains(ProfileFunctionDescriptor.class.getName())) {
                String descriptorString = dsType.getProperty(property);
                final ProfileFunctionDescriptor pfd = ProfileFunctionDescriptor
                        .parseDescriptorString(descriptorString);
                profileFunctionTableModel.addProfileFunctionDescriptor(pfd);
            } else if (property.contains(ColumnProfileResult.class.getName())) {
                if (property.equals(RemoteDatabaseProfileCreator.propName(AverageSQLFunction.class))) {
                    averageSQLFunctionField.setText(dsType.getProperty(property));
                } else if (property
                        .equals(RemoteDatabaseProfileCreator.propName(StringLengthSQLFunction.class))) {
                    stringLengthSQLFuncField.setText(dsType.getProperty(property));
                } else if (property
                        .equals(RemoteDatabaseProfileCreator.propName(CaseWhenNullSQLFunction.class))) {
                    caseWhenNullSQLFuncField.setText(dsType.getProperty(property));
                } else {
                    throw new IllegalStateException(
                            "No editor defined for the data source type property " + property);
                }
            } else if (property.contains(SQLIndex.INDEX_TYPE_DESCRIPTOR)) {
                indexTableModel.addRow(new String[] { dsType.getProperty(property) });
            } else {
                throw new IllegalStateException(
                        "No editor defined for the data source type property " + property);
            }
        } else if (property.equals(JDBCDataSourceType.SUPPORTS_UPDATEABLE_RESULT_SETS)) {
            updatableRSField.setSelected(Boolean.parseBoolean(dsType.getProperty(property)));
        } else if (property.equals(JDBCDataSourceType.SUPPORTS_QUOTING_NAME)) {
            quotesNameCheckBox.setSelected(Boolean.parseBoolean(dsType.getProperty(property)));
        } else if (property.equals(JDBCDataSourceType.DDL_GENERATOR)) {
            ddlGeneratorCombo.setSelectedItem(KnownDDLGenerators.GENERIC);
            for (KnownDDLGenerators ddlg : KnownDDLGenerators.values()) {
                if (dsType.getProperty(property).equals(ddlg.getDDLClassName())) {
                    ddlGeneratorCombo.setSelectedItem(ddlg);
                    break;
                }
            }
        }
    }

    JComponent addRemoveProfileFunctionBar = new JPanel(new FlowLayout(FlowLayout.LEFT));
    addRemoveProfileFunctionBar
            .add(new JButton(new AbstractAction("", new AddRemoveIcon(AddRemoveIcon.Type.ADD)) {
                public void actionPerformed(ActionEvent e) {
                    ProfileFunctionDescriptor pfd = new ProfileFunctionDescriptor("",
                            SQLType.getTypes()[0].getType(), false, false, false, false, false, false, false,
                            false);
                    pfd.setArchitectSpecificName("");
                    profileFunctionTableModel.addProfileFunctionDescriptor(pfd);
                }
            }));
    addRemoveProfileFunctionBar
            .add(new JButton(new AbstractAction("", new AddRemoveIcon(AddRemoveIcon.Type.REMOVE)) {
                public void actionPerformed(ActionEvent e) {
                    int[] selectedRows = profileFunctionTable.getSelectedRows();
                    for (int i = selectedRows.length - 1; i >= 0; i--) {
                        profileFunctionTableModel.removeProfileFunctionDescriptor(selectedRows[i]);
                    }
                }
            }));

    JComponent addRemoveIndexBar = new JPanel(new FlowLayout(FlowLayout.LEFT));
    addRemoveIndexBar.add(new JButton(new AbstractAction("", new AddRemoveIcon(AddRemoveIcon.Type.ADD)) {
        public void actionPerformed(ActionEvent e) {
            indexTableModel.addRow(new String[] { "" });
        }
    }));
    addRemoveIndexBar.add(new JButton(new AbstractAction("", new AddRemoveIcon(AddRemoveIcon.Type.REMOVE)) {
        public void actionPerformed(ActionEvent e) {
            int[] selectedRows = indexTypeJTable.getSelectedRows();
            for (int i = selectedRows.length - 1; i >= 0; i--) {
                indexTableModel.removeRow(selectedRows[i]);
            }
        }
    }));

    panel.removeAll();
    DefaultFormBuilder fb = new DefaultFormBuilder(new FormLayout("4dlu, pref, 4dlu, pref:grow, 4dlu",
            "pref, 4dlu, pref, 4dlu, pref, 2dlu, pref, 2dlu, pref, 4dlu, fill:min:grow, 2dlu, pref, 4dlu, pref, 2dlu, pref,2dlu, pref"));
    fb.nextColumn();
    fb.append(updatableRSField, quotesNameCheckBox);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append("DDL Generator", ddlGeneratorCombo);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append("Average SQL Function", averageSQLFunctionField);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append("String Length SQL Function", stringLengthSQLFuncField);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append("Case When Null SQL Function", caseWhenNullSQLFuncField);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append(new JScrollPane(profileFunctionTable), 3);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append(addRemoveProfileFunctionBar, 3);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    JScrollPane indexScrollPane = new JScrollPane(indexTypeJTable);
    indexScrollPane.setPreferredSize(new Dimension((int) indexScrollPane.getPreferredSize().getWidth(),
            indexTypeJTable.getRowHeight() * 5));
    fb.append(indexScrollPane, 3);
    fb.nextLine();
    fb.nextLine();
    fb.nextColumn();
    fb.append(addRemoveIndexBar, 3);
    panel.add(fb.getPanel(), BorderLayout.CENTER);
}

From source file:ca.sqlpower.architect.swingui.ArchitectSwingSessionImpl.java

License:Open Source License

public void refresh() {
    if (isEnterpriseSession()) {
        try {/*from  w  ww .  ja v a2 s.c  om*/
            ArchitectSwingSession newSession = ((ArchitectSwingSessionContextImpl) getContext())
                    .createServerSession(((ArchitectClientSideSession) delegateSession).getProjectLocation(),
                            false);

            frame.addSession(newSession);

            JLabel messageLabel = new JLabel("Refreshing");
            JProgressBar progressBar = new JProgressBar();
            progressBar.setIndeterminate(true);

            final JDialog dialog = new JDialog(frame, "Refreshing");
            DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref:grow, 5dlu, pref"));
            builder.setDefaultDialogBorder();
            builder.append(messageLabel, 3);
            builder.nextLine();
            builder.append(progressBar, 3);
            dialog.add(builder.getPanel());

            dialog.pack();
            dialog.setLocation(frame.getX() + (frame.getWidth() - dialog.getWidth()) / 2,
                    frame.getY() + (frame.getHeight() - dialog.getHeight()) / 2);
            dialog.setAlwaysOnTop(true);
            dialog.setVisible(true);

            close();

            ((ArchitectClientSideSession) ((ArchitectSwingSessionImpl) newSession).getDelegateSession())
                    .getUpdater().addListener(new AbstractNetworkConflictResolver.UpdateListener() {
                        public boolean updatePerformed(AbstractNetworkConflictResolver updater) {
                            dialog.dispose();
                            return true; // true indicates that the listener should be removed
                        }

                        public boolean updateException(AbstractNetworkConflictResolver resolver, Throwable t) {
                            return false;
                        }

                        public void preUpdatePerformed(AbstractNetworkConflictResolver resolver) {
                            //do nothing
                        }

                        public void workspaceDeleted() {
                            // do nothing
                        }
                    });

            ((ArchitectClientSideSession) ((ArchitectSwingSessionImpl) newSession).getDelegateSession())
                    .startUpdaterThread();

        } catch (Exception e) {
            throw new RuntimeException("Failed to refresh", e);
        }
    }
}

From source file:ca.sqlpower.architect.swingui.critic.CriticManagerPanel.java

License:Open Source License

public CriticManagerPanel(ArchitectSwingSession session, CriticSettingsPanelFactory settingsPanelFactory) {

    this.settingsPanelFactory = settingsPanelFactory;
    mainPanel = new JPanel();
    DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref"));

    criticManager = session.getWorkspace().getCriticManager();
    for (CriticGrouping grouping : criticManager.getCriticGroupings()) {
        CriticGroupingPanel criticGroupingPanel = new CriticGroupingPanel(grouping, this);
        builder.append(criticGroupingPanel.getPanel());
        builder.nextLine();//from   w  w  w  . jav  a2 s .co  m
        groupingPanels.add(criticGroupingPanel);
    }
    DefaultFormBuilder outerBuilder = new DefaultFormBuilder(
            new FormLayout("pref:grow", "min(pref;400dlu):grow"), mainPanel);
    JScrollPane criticsPane = new JScrollPane(builder.getPanel());
    criticsPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    outerBuilder.append(criticsPane);
    outerBuilder.nextLine();
    ButtonBarBuilder2 buttonBar = new ButtonBarBuilder2();
    buttonBar.addButton(new AbstractAction("Restore Defaults") {
        public void actionPerformed(ActionEvent e) {
            if (doApplyChanges()) {
                criticManager.loadDefaults();
            }
        }
    });
    buttonBar.addButton(new AbstractAction("Set As Defaults") {
        public void actionPerformed(ActionEvent e) {
            try {
                if (doApplyChanges()) {
                    criticManager.saveAsDefaults();
                }
            } catch (BackingStoreException ex) {
                throw new RuntimeException(ex);
            }
        }
    });
    buttonBar.addGlue();
    outerBuilder.append(buttonBar.getPanel());
}