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

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

Introduction

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

Prototype

public JLabel append(String textWithMnemonic, Component component) 

Source Link

Document

Adds a text label and component to the panel.

Usage

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

License:Open Source License

private void createGUI() {
    DefaultFormBuilder builder;
    FormLayout layout;/*w ww.j  a v  a2 s  .  c  o  m*/
    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.blastviewer.msa.MSAPanel.java

License:Open Source License

/**
 * Creates the consensus panel.//from  ww w . j  a  v a2s. co 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:ca.sqlpower.architect.swingui.action.ExportHTMLPanel.java

License:Open Source License

public ExportHTMLPanel(ArchitectSwingSession architect) {

    session = architect;/*from  w  ww . ja  v a 2 s .  c om*/
    FormLayout layout = new FormLayout("10dlu, 3dlu, pref:grow, 3dlu, pref");
    DefaultFormBuilder builder;
    if (logger.isDebugEnabled()) {
        builder = new DefaultFormBuilder(layout, new FormDebugPanel());
    } else {
        builder = new DefaultFormBuilder(layout);
    }

    ButtonGroup group = new ButtonGroup();
    builtin = new JRadioButton(Messages.getString("XSLTSelectionPanel.labelBuiltIn"));
    external = new JRadioButton(Messages.getString("XSLTSelectionPanel.labelExternal"));
    group.add(builtin);
    group.add(external);

    // place Radio buttons
    builder.append(builtin, 5);
    builder.appendRelatedComponentsGapColumn();
    if (builtinOptions != null) {
        builtinOptionPanel = builtinOptions.createPanel(session);
        builder.append("");
        builder.append(builtinOptionPanel, 4);
    } else {
        builtinOptionPanel = null;
    }

    builder.appendUnrelatedComponentsGapRow();
    builder.nextLine();
    builder.nextLine();

    builder.append(external, 5);

    // Selection of XSLT file
    templateFile = new JComboBox();
    templateFile.setRenderer(new ComboTooltipRenderer());
    templateFile.setEditable(true);

    builder.append("");
    builder.append(templateFile);

    selectTemplate = new JButton("...");
    builder.append(selectTemplate);

    builder.appendUnrelatedComponentsGapRow();
    builder.nextLine();
    builder.nextLine();

    // Output selection
    builder.append(new JLabel(Messages.getString("XSLTSelectionPanel.labelOutput")), 5);
    builder.nextLine();

    outputFile = new JTextField(30);
    builder.append("", outputFile);

    selectOutput = new JButton("...");
    builder.append(selectOutput);

    builder.appendUnrelatedComponentsGapRow();
    builder.nextLine();
    builder.nextLine();

    // "Statusbar"
    statusBar = new JLabel(" ");
    builder.append(statusBar, 5);

    builder.appendUnrelatedComponentsGapRow();
    builder.nextLine();

    selectTemplate.addActionListener(componentStateHandler);
    selectOutput.addActionListener(componentStateHandler);
    builtin.addActionListener(componentStateHandler);
    external.addActionListener(componentStateHandler);
    builtin.setSelected(true);

    startButton = new JDefaultButton(Messages.getString("XSLTSelectionPanel.startOption"));
    startButton.addActionListener(componentStateHandler);

    closeButton = new JButton(Messages.getString("XSLTSelectionPanel.closeOption"));
    closeButton.addActionListener(componentStateHandler);

    builder.nextLine();
    JPanel bp = ButtonBarFactory.buildRightAlignedBar(startButton, closeButton);
    builder.append(bp, 5);

    builder.setDefaultDialogBorder();
    panel = builder.getPanel();

    restoreSettings();
}

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();
    }/*from  www .jav a 2  s  . 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();/*from w w  w .  jav a 2s  .  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   www.  j  av  a  2 s  .com*/
            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.CompareDMPanel.java

License:Open Source License

private void buildUI(SchemaPopulator targetSchemaPop, CatalogPopulator targetCatalogPop,
        SchemaPopulator sourceSchemaPop, CatalogPopulator sourceCatalogPop) {

    progressBar = new JProgressBar();
    progressBar.setIndeterminate(true);/*from www .j a  va  2  s  . c om*/
    progressBar.setVisible(false);

    sqlTypeDropdown = new JComboBox(DDLUtils.getDDLTypes(session.getDataSources()));
    sqlTypeDropdown.setRenderer(new DDLGeneratorListCellRenderer());
    sqlTypeDropdown.setName("sqlTypeDropDown"); //$NON-NLS-1$
    OutputChoiceListener listener = new OutputChoiceListener(sqlTypeDropdown);
    sqlTypeDropdown.setEnabled(false);
    sqlTypeDropdown.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            startCompareAction.setEnabled(isStartable());
        }
    });
    sqlButton = new JRadioButton();
    sqlButton.setName(OUTPUT_SQL);
    sqlButton.setActionCommand(OUTPUT_SQL);
    sqlButton.setSelected(false);
    sqlButton.addActionListener(listener);

    englishButton = new JRadioButton();
    englishButton.setName("englishButton"); //$NON-NLS-1$
    englishButton.setActionCommand(OUTPUT_ENGLISH);
    englishButton.setSelected(true);
    englishButton.addActionListener(listener);

    liquibaseButton = new JRadioButton();
    liquibaseButton.setName(OUTPUT_LIQUIBASE); //$NON-NLS-1$
    liquibaseButton.setActionCommand(OUTPUT_LIQUIBASE);
    liquibaseButton.setSelected(false);
    liquibaseButton.addActionListener(listener);

    showNoChanges = new JCheckBox();
    showNoChanges.setName("showNoChanges"); //$NON-NLS-1$

    includeIndexes = new JCheckBox(Messages.getString("CompareDMPanel.includeIndexes")); //$NON-NLS-1$
    includeIndexes.setName("includeIndexes"); //$NON-NLS-1$
    includeIndexes.setSelected(false);

    // Group the radio buttons.
    ButtonGroup outputGroup = new ButtonGroup();
    outputGroup.add(sqlButton);
    outputGroup.add(englishButton);
    outputGroup.add(liquibaseButton);

    startCompareAction = new StartCompareAction();
    startCompareAction.setEnabled(false);

    swapSourceTargetAction = new SwapSourceTargetAction();
    swapSourceTargetAction.setEnabled(true);

    buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));

    FormLayout formLayout = new FormLayout("20dlu, 2dlu, pref, 4dlu," + // 1-4 //$NON-NLS-1$
            "0:grow, 4dlu, 0:grow, 4dlu," + // 5-8 //$NON-NLS-1$
            "0:grow, 4dlu, pref", // 9-11 //$NON-NLS-1$
            ""); //$NON-NLS-1$
    formLayout.setColumnGroups(new int[][] { { 5, 7, 9, } });
    JPanel panel = logger.isDebugEnabled() ? new FormDebugPanel() : new JPanel();
    DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, panel);
    builder.setDefaultDialogBorder();

    CellConstraints cc = new CellConstraints();

    builder.append(statusComponent, 11);
    builder.nextLine();

    builder.appendSeparator(Messages.getString("CompareDMPanel.olderSeparator")); //$NON-NLS-1$
    builder.nextLine();
    builder.append(""); // takes up blank space //$NON-NLS-1$

    source.buildPartialUI(builder, true, sourceSchemaPop, sourceCatalogPop);

    builder.appendSeparator(Messages.getString("CompareDMPanel.newerSeparator")); //$NON-NLS-1$
    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    builder.append(""); //$NON-NLS-1$

    target.buildPartialUI(builder, false, targetSchemaPop, targetCatalogPop);

    ActionListener radioButtonActionEnabler = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            startCompareAction.setEnabled(isStartable());
        }
    };
    source.playPenRadio.addActionListener(radioButtonActionEnabler);
    source.physicalRadio.addActionListener(radioButtonActionEnabler);
    source.loadRadio.addActionListener(radioButtonActionEnabler);

    target.playPenRadio.addActionListener(radioButtonActionEnabler);
    target.physicalRadio.addActionListener(radioButtonActionEnabler);
    target.loadRadio.addActionListener(radioButtonActionEnabler);

    JLabel temp;

    builder.appendSeparator(Messages.getString("CompareDMPanel.outpurFormatSeparator")); //$NON-NLS-1$
    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    builder.nextColumn(2);
    builder.append(sqlButton);

    JPanel ddlTypePanel = new JPanel(new BorderLayout(3, 3));
    ddlTypePanel.add(temp = new JLabel(Messages.getString("CompareDMPanel.sqlFor")), BorderLayout.WEST); //$NON-NLS-1$
    associate(temp, sqlButton);
    ddlTypePanel.add(sqlTypeDropdown, BorderLayout.CENTER); // ddl generator
    // type list
    ddlTypePanel.add(temp = new JLabel(Messages.getString("CompareDMPanel.makeOlderLookLikeNewer")), //$NON-NLS-1$
            BorderLayout.EAST);
    associate(temp, sqlButton);
    builder.append(ddlTypePanel, 3);

    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    builder.nextColumn(2);
    builder.append(liquibaseButton);
    temp = builder.append(Messages.getString("CompareDMPanel.liqubaseScript")); //$NON-NLS-1$
    associate(temp, liquibaseButton);

    this.lbOptions = new LiquibaseOptionsPanel();

    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(1);
    builder.nextColumn(2);
    lbOptions.getPanel().setVisible(false);
    builder.append(lbOptions.getPanel(), 9);

    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    builder.nextColumn(2);
    builder.append(englishButton);
    temp = builder.append(Messages.getString("CompareDMPanel.englishDescriptions")); //$NON-NLS-1$
    associate(temp, englishButton);

    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    builder.nextColumn(2);
    builder.append(showNoChanges);
    temp = builder.append(Messages.getString("CompareDMPanel.suppressSimilarities")); //$NON-NLS-1$
    associate(temp, showNoChanges);
    builder.append(includeIndexes);
    builder.nextLine();

    builder.appendSeparator(Messages.getString("CompareDMPanel.status")); //$NON-NLS-1$
    builder.appendRow(builder.getLineGapSpec());
    builder.appendRow("pref"); //$NON-NLS-1$
    builder.nextLine(2);
    statusLabel = new JLabel(""); //$NON-NLS-1$
    builder.add(statusLabel, cc.xy(5, builder.getRow()));
    builder.add(progressBar, cc.xyw(7, builder.getRow(), 5));

    setLayout(new BorderLayout());
    add(builder.getPanel());
    setPreferredSize(new Dimension(800, 600));
    try {
        restoreSettingsFromProject();
    } catch (SQLObjectException e) {
        logger.warn("Failed to save user CompareDM preferences!", e); //$NON-NLS-1$
    }
}

From source file:ca.sqlpower.architect.swingui.enterprise.RevisionListPanel.java

License:Open Source License

public RevisionListPanel(ArchitectSwingSession swingSession, ArchitectFrame architectFrame,
        Action closeAction) {/*w  w w . j  a  va  2  s  .co  m*/

    this.dialogOwner = architectFrame;
    this.swingSession = swingSession;
    this.session = swingSession.getEnterpriseSession();

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("default:grow, 5dlu, pref", "pref, 2dlu, default:grow"));

    int currentRevision = session.getUpdater().getRevision();
    long from = currentRevision - DEFAULT_REVISION_RANGE;
    if (from <= 0)
        from = 1;
    fromVersion = new JLongField(from);
    toVersion = new JLongField(currentRevision);

    revisionsTable = new RevisionsTable(this.session, from, currentRevision);
    revisionsTable.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            refreshPanel();
        }
    });

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Revisions:"), cc.xy(1, 1));
    builder.add(revisionsTable.getScrollPane(), cc.xy(1, 3));

    DefaultFormBuilder textFieldBuilder = new DefaultFormBuilder(new FormLayout("pref, pref"));
    textFieldBuilder.append(new JLabel("from version "), fromVersion.getField());
    textFieldBuilder.append(new JLabel("to version "), toVersion.getField());

    DefaultFormBuilder filterBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    filterBuilder.append(new JLabel("Display revisions "));
    filterBuilder.append(textFieldBuilder.getPanel());

    autoRefreshBox = new JCheckBox("Auto-refresh", false);
    autoRefresh = new Runnable() {
        public void run() {
            while (autoRefreshBox.isSelected()) {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        refreshAction.actionPerformed(null);
                    }
                });
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    autoRefreshBox.setSelected(false);
                }
            }
        }
    };
    autoRefreshBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            if (autoRefreshBox.isSelected()) {
                new Thread(autoRefresh).start();
            }
        }
    });
    autoRefreshBox.setSelected(true);

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(filterBuilder.getPanel());
    buttonBarBuilder.append(new JLabel("\n"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(new JButton(revertAction));
    buttonBarBuilder.append(new JButton(openAction));
    buttonBarBuilder.append(new JButton(compareAction));
    buttonBarBuilder.append(new JButton(closeAction));
    buttonBarBuilder.append(autoRefreshBox);

    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 3));
    builder.setDefaultDialogBorder();

    panel = builder.getPanel();
    panel.setPreferredSize(new Dimension(700, 500));

    refreshPanel();

}

From source file:ca.sqlpower.architect.swingui.enterprise.SecurityPanel.java

License:Open Source License

public SecurityPanel(SPServerInfo serverInfo, Action closeAction, Dialog d, ArchitectSession session) {
    this.closeAction = closeAction;

    splitpane = new JSplitPane();
    panel = new JPanel();

    ArchitectClientSideSession clientSideSession = ArchitectClientSideSession.getSecuritySessions()
            .get(serverInfo.getServerAddress());

    //Displaying an indeterminate progress bar in place of the split pane
    //until the security session has loaded fully.
    if (clientSideSession.getUpdater().getRevision() <= 0) {
        JLabel messageLabel = new JLabel("Opening");
        JProgressBar progressBar = new JProgressBar();
        progressBar.setIndeterminate(true);

        DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref:grow, 5dlu, pref"));
        builder.setDefaultDialogBorder();
        builder.append(messageLabel, 3);
        builder.nextLine();//  www . jav  a2 s  .co  m
        builder.append(progressBar, 3);

        UpdateListener l = new UpdateListener() {

            @Override
            public void workspaceDeleted() {
                //do nothing
            }

            @Override
            public boolean updatePerformed(AbstractNetworkConflictResolver resolver) {
                panel.removeAll();
                panel.add(splitpane);
                dialog.pack();
                refreshTree();
                return true;
            }

            @Override
            public boolean updateException(AbstractNetworkConflictResolver resolver, Throwable t) {
                //do nothing, the error will be handled elsewhere
                return true;
            }

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

        clientSideSession.getUpdater().addListener(l);
        panel.add(builder.getPanel());
    }
    this.securityWorkspace = clientSideSession.getWorkspace();
    this.username = serverInfo.getUsername();
    this.dialog = d;
    this.session = session;

    try {
        digester = MessageDigest.getInstance("SHA-256");
    } catch (NoSuchAlgorithmException e) {
        throw new RuntimeException(e);
    }

    rootNode.add(usersNode);
    rootNode.add(groupsNode);

    rightSidePanel = new JPanel();

    tree = new JTree(rootNode);
    tree.addTreeSelectionListener(treeListener);
    tree.setRootVisible(false);
    tree.setShowsRootHandles(true);
    tree.setCellRenderer(new DefaultTreeCellRenderer() {
        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded,
                boolean leaf, int row, boolean hasFocus) {
            super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
            Object userObject = ((DefaultMutableTreeNode) value).getUserObject();
            if (userObject instanceof User) {
                setIcon(USER_ICON);
            } else if (userObject instanceof Group) {
                setIcon(GROUP_ICON);
            }
            return this;
        }
    });

    treePane = new JScrollPane(tree);
    treePane.setPreferredSize(new Dimension(200, treePane.getPreferredSize().height));

    tree.addMouseListener(popupListener);

    splitpane.setRightComponent(rightSidePanel);
    splitpane.setLeftComponent(treePane);

    if (clientSideSession.getUpdater().getRevision() > 0) {
        panel.removeAll();
        panel.add(splitpane);
    }

    refreshTree();

    try {
        tree.setSelectionPath(new TreePath(usersNode.getFirstChild()));
    } catch (NoSuchElementException e) {
    } // This just means that the node has no children, so we cannot expand the path.
}

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

License:Open Source License

/**
 * Creates a GUI panel for options which are required for interacting
 * with Kettle, and are not already covered on the general pref panel.
 *///ww  w .jav a  2  s. c om
private JPanel buildKettleOptionsPanel() {
    DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref, 4dlu, pref:grow")); //$NON-NLS-1$
    builder.append(Messages.getString("KettleDataSourceOptionsPanel.hostname"), //$NON-NLS-1$
            kettleHostName = new JTextField());
    builder.append(Messages.getString("KettleDataSourceOptionsPanel.port"), kettlePort = new JTextField()); //$NON-NLS-1$
    builder.append(Messages.getString("KettleDataSourceOptionsPanel.database"), //$NON-NLS-1$
            kettleDatabase = new JTextField());
    builder.append(Messages.getString("KettleDataSourceOptionsPanel.repositoryLoginName"), //$NON-NLS-1$
            kettleLogin = new JTextField());
    builder.append(Messages.getString("KettleDataSourceOptionsPanel.repositoryPassword"), //$NON-NLS-1$
            kettlePassword = new JPasswordField());
    return builder.getPanel();
}