Example usage for com.jgoodies.forms.layout CellConstraints xy

List of usage examples for com.jgoodies.forms.layout CellConstraints xy

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints xy.

Prototype

public CellConstraints xy(int col, int row) 

Source Link

Document

Sets column and row origins; sets width and height to 1; uses the default alignments.

Examples:

 cc.xy(1, 1); cc.xy(1, 3); 

Usage

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);/* w w  w. j  a  v a2  s .  com*/
    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.DataMoverPanel.java

License:Open Source License

public DataMoverPanel(ArchitectSwingSession session) throws SQLObjectException {
    this.session = session;

    setupDBTrees();//from  ww  w . jav  a 2  s.  c o  m

    okAction.setEnabled(false);

    sourceTree = new JTree();
    final DBTreeModel sourceTreeModel = new DBTreeModel(treeRoot, sourceTree);
    sourceTree.setModel(sourceTreeModel);
    sourceTree.setRootVisible(false);
    sourceTree.setShowsRootHandles(true);
    sourceTree.setCellRenderer(new DBTreeCellRenderer());
    sourceTree.addTreeSelectionListener(dbTreeListener);

    destTree = new JTree();
    final DBTreeModel destTreeModel = new DBTreeModel(treeRoot, sourceTree);
    destTree.setModel(destTreeModel);
    destTree.setRootVisible(false);
    destTree.setShowsRootHandles(true);
    destTree.setCellRenderer(new DBTreeCellRenderer());
    destTree.addTreeSelectionListener(dbTreeListener);

    PanelBuilder pb = new PanelBuilder(new FormLayout("pref:grow,8dlu,pref:grow", //$NON-NLS-1$
            "pref,4dlu,fill:pref:grow,4dlu,pref,4dlu,pref")); //$NON-NLS-1$
    pb.getLayout().addGroupedColumn(1);
    pb.getLayout().addGroupedColumn(3);
    CellConstraints cc = new CellConstraints();

    pb.addLabel(Messages.getString("DataMoverPanel.sourceLabel"), cc.xy(1, 1)); //$NON-NLS-1$
    pb.addLabel(Messages.getString("DataMoverPanel.destinationLabel"), cc.xy(3, 1)); //$NON-NLS-1$

    pb.add(new JScrollPane(sourceTree), cc.xy(1, 3));
    pb.add(new JScrollPane(destTree), cc.xy(3, 3));

    session.getDataSources().addDatabaseListChangeListener(new DatabaseListChangeListener() {
        public void databaseAdded(DatabaseListChangeEvent e) {
            try {
                setupDBTrees();
            } catch (SQLObjectException ex) {
                SPSUtils.showExceptionDialogNoReport(panel, Messages.getString("DataMoverPanel.couldNotFindDB"), //$NON-NLS-1$
                        ex);
            }
        }

        public void databaseRemoved(DatabaseListChangeEvent e) {
            try {
                setupDBTrees();
            } catch (SQLObjectException ex) {
                SPSUtils.showExceptionDialogNoReport(panel, Messages.getString("DataMoverPanel.couldNotFindDB"), //$NON-NLS-1$
                        ex);
            }
        }
    });

    pb.add(new JButton(new DatabaseConnectionManagerAction(session)), cc.xy(1, 5));
    pb.add(truncateDestinationTableBox = new JCheckBox(
            Messages.getString("DataMoverPanel.truncateDestinationTableOption")), cc.xy(3, 5)); //$NON-NLS-1$

    pb.add(ButtonBarFactory.buildOKCancelBar(new JButton(okAction), new JButton(cancelAction)),
            cc.xyw(1, 7, 3));

    pb.setDefaultDialogBorder();
    panel = pb.getPanel();
}

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

License:Open Source License

public void setUp() {
    FormLayout layout = new FormLayout("30dlu, pref:grow, 20dlu, pref:grow, 30dlu", "");
    layout.setColumnGroups(new int[][] { { 2, 4 } });
    CellConstraints cc = new CellConstraints();

    this.setLayout(layout);

    int row = 1;//from w  w w . j a  va 2 s  .  co m

    layout.appendRow(RowSpec.decode("10dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(makeTitle(Messages.getString("DefaultColumnPanel.explaination")), cc.xyw(2, row++, 3)); //$NON-NLS-1$

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JLabel(Messages.getString("DefaultColumnPanel.name")), cc.xy(2, row));
    add(new JLabel(Messages.getString("DefaultColumnPanel.type")), cc.xy(4, row++)); //$NON-NLS-1$

    layout.appendRow(RowSpec.decode("5dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(colName = new JTextField(), cc.xy(2, row));
    colName.addComponentListener(new ComponentAdapter() {
        @Override
        public void componentShown(ComponentEvent e) {
            colName.requestFocusInWindow();
        }
    });
    colName.addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            if (logger.isDebugEnabled()) {
                logger.debug("focus Gained : " + e);
            }
            colName.selectAll();
        }
    });

    add(colType = new JComboBox(SQLType.getTypes()), cc.xy(4, row++));
    colType.setSelectedItem(null);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JLabel(Messages.getString("DefaultColumnPanel.precision")), cc.xy(2, row)); //$NON-NLS-1$
    add(new JLabel(Messages.getString("DefaultColumnPanel.scale")), cc.xy(4, row++)); //$NON-NLS-1$

    layout.appendRow(RowSpec.decode("5dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(colPrec = new JSpinner(new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1)), cc.xy(2, row));
    SPSUtils.makeJSpinnerSelectAllTextOnFocus(colPrec);

    add(colScale = new JSpinner(new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1)), cc.xy(4, row++));
    SPSUtils.makeJSpinnerSelectAllTextOnFocus(colScale);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(colInPK = new JCheckBox(Messages.getString("DefaultColumnPanel.inPrimaryKey")), cc.xyw(2, row++, 3)); //$NON-NLS-1$
    colInPK.addActionListener(this);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(colNullable = new JCheckBox(Messages.getString("DefaultColumnPanel.allowsNulls")), cc.xyw(2, row++, 3)); //$NON-NLS-1$
    colNullable.addActionListener(this);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(colAutoInc = new JCheckBox(Messages.getString("DefaultColumnPanel.autoIncrement")), //$NON-NLS-1$
            cc.xyw(2, row++, 3));
    colAutoInc.addActionListener(this);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JLabel(Messages.getString("DefaultColumnPanel.remarks")), cc.xyw(2, row++, 4)); //$NON-NLS-1$

    layout.appendRow(RowSpec.decode("5dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JScrollPane(colRemarks = new JTextArea()), cc.xyw(2, row++, 3, "fill, fill"));
    colRemarks.setRows(8);
    colRemarks.setLineWrap(true);
    colRemarks.setWrapStyleWord(true);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JLabel(Messages.getString("DefaultColumnPanel.default")), cc.xyw(2, row++, 4));

    layout.appendRow(RowSpec.decode("5dlu"));
    row++;

    layout.appendRow(RowSpec.decode("p"));
    add(new JScrollPane(colDefault = new JTextArea()), cc.xyw(2, row++, 3));
    colDefault.setLineWrap(false);

    layout.appendRow(RowSpec.decode("15dlu"));
    row++;

    //TODO only give focus to column name if it's enabled?
    colName.requestFocus();
    colName.selectAll();

}

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

License:Open Source License

public CompareRevisionsPanel(ArchitectClientSideSession session, Action closeAction, long fromRevision,
        long toRevision) {

    this.session = session;

    revisionsTableLeft = new RevisionsTable(this.session, fromRevision, toRevision);
    revisionsTableRight = new RevisionsTable(this.session, fromRevision, toRevision);

    final JCheckBox autoCompare = new JCheckBox("Auto-compare", true);

    final ListSelectionListener listSelectionListener = new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            refreshPanel();/*from   www. ja va  2s .c om*/
            if (autoCompare.isSelected() && revisionsTableLeft.getSelectedRow() > -1
                    && revisionsTableRight.getSelectedRow() > -1) {
                compareAction.actionPerformed(null);
            }
        }
    };

    autoCompare.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            listSelectionListener.valueChanged(null);
        }
    });
    revisionsTableLeft.getSelectionModel().addListSelectionListener(listSelectionListener);
    revisionsTableRight.getSelectionModel().addListSelectionListener(listSelectionListener);

    comparePane = new JTextPane();
    comparePane.setEditable(false);
    comparePane.setMargin(new Insets(6, 10, 4, 6));
    JScrollPane sp = new JScrollPane(comparePane);
    sp.setPreferredSize(revisionsTableLeft.getScrollPane().getPreferredSize());

    CellConstraints cc = new CellConstraints();

    DefaultFormBuilder revisionListsBuilder = new DefaultFormBuilder(
            new FormLayout("default:grow, 5dlu, default:grow", "pref, 2dlu, default:grow"));
    revisionListsBuilder.add(new JLabel("From revision..."), cc.xy(1, 1));
    revisionListsBuilder.add(new JLabel("To revision..."), cc.xy(3, 1));
    revisionListsBuilder.add(revisionsTableLeft.getScrollPane(), cc.xy(1, 3));
    revisionListsBuilder.add(revisionsTableRight.getScrollPane(), cc.xy(3, 3));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(compareAction));
    buttonBarBuilder.append(new JButton(closeAction));
    buttonBarBuilder.append(autoCompare);

    DefaultFormBuilder bottomBuilder = new DefaultFormBuilder(
            new FormLayout("default:grow, right:default", "default:grow"));
    bottomBuilder.add(sp, cc.xy(1, 1));
    bottomBuilder.add(buttonBarBuilder.getPanel(), cc.xy(2, 1));

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("default:grow", "default:grow, 5dlu, default:grow"));
    builder.add(revisionListsBuilder.getPanel(), cc.xy(1, 1));
    builder.add(bottomBuilder.getPanel(), cc.xy(1, 3));

    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
    panel.setPreferredSize(new Dimension(900, 650));
    refreshPanel();

}

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

License:Open Source License

public GroupEditorPanel(Group baseGroup, String username, Action closeAction) {
    this.group = baseGroup;
    this.securityWorkspace = (ArchitectSwingProject) group.getParent();
    this.username = username;
    this.closeAction = closeAction;

    final Dimension prefScrollPaneDimension = new Dimension(250, 300);

    nameLabel = new JLabel("Group Name");

    nameTextField = new JTextField(25);
    nameTextField.setText(group.getName());
    nameTextField.getDocument().addDocumentListener(textFieldListener);

    ListCellRenderer userListCellRenderer = new DefaultListCellRenderer() {
        @Override/*from   w w  w  . j  a  va 2 s.com*/
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {
            super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
            setIcon(USER_ICON);
            return this;
        }
    };

    availableUsersLabel = new JLabel("Available Users");
    availableUsersList = new JList(new DefaultListModel());
    availableUsersList.setCellRenderer(userListCellRenderer);
    availableUsersScrollPane = new JScrollPane(availableUsersList);
    availableUsersScrollPane.setPreferredSize(prefScrollPaneDimension);

    currentUsersLabel = new JLabel("Current Users");
    currentUsersList = new JList(new DefaultListModel());
    currentUsersList.setCellRenderer(userListCellRenderer);

    currentUsersScrollPane = new JScrollPane(currentUsersList);
    currentUsersScrollPane.setPreferredSize(prefScrollPaneDimension);

    Grant globalGrant = null;
    for (Grant grant : baseGroup.getChildren(Grant.class)) {
        if (grant.isSystemLevel() && grant.getType() != null
                && grant.getType().equals(ArchitectSwingProject.class.getName())) {
            if (globalGrant != null) {
                throw new IllegalStateException(
                        "Multiple grants for system level workspace under the same group found.");
            }

            globalGrant = grant;
        }
    }

    if (globalGrant != null) {
        privilegesEditorPanel = new PrivilegesEditorPanel(globalGrant, baseGroup, null,
                ArchitectSwingProject.class.getName(), username, securityWorkspace);
    } else {
        privilegesEditorPanel = new PrivilegesEditorPanel(null, baseGroup, null,
                ArchitectSwingProject.class.getName(), username, securityWorkspace);
    }

    JButton addButton = new JButton(addAction);
    addButton.setIcon(RIGHT_ARROW);
    JButton removeButton = new JButton(removeAction);
    removeButton.setIcon(LEFT_ARROW);

    CellConstraints cc = new CellConstraints();
    DefaultFormBuilder upperPanelBuilder = new DefaultFormBuilder(
            new FormLayout("pref, 5dlu, pref:grow", "pref, 5dlu"));
    upperPanelBuilder.add(nameLabel, cc.xy(1, 1));
    upperPanelBuilder.add(nameTextField, cc.xyw(3, 1, 1));

    DefaultFormBuilder buttonPanelBuilder = new DefaultFormBuilder(
            new FormLayout("pref", "pref:grow, pref, 5dlu, pref, pref:grow"));
    buttonPanelBuilder.add(addButton, cc.xy(1, 2));
    buttonPanelBuilder.add(removeButton, cc.xy(1, 5));

    DefaultFormBuilder centrePanelBuilder = new DefaultFormBuilder(
            new FormLayout("pref, 5dlu, pref, 5dlu, pref", "pref, pref:grow"));
    centrePanelBuilder.add(availableUsersLabel, cc.xy(1, 1));
    centrePanelBuilder.add(currentUsersLabel, cc.xy(5, 1));
    centrePanelBuilder.add(availableUsersScrollPane, cc.xy(1, 2));
    centrePanelBuilder.add(buttonPanelBuilder.getPanel(), cc.xy(3, 2));
    centrePanelBuilder.add(currentUsersScrollPane, cc.xy(5, 2));

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow", "pref, 3dlu, pref:grow, 5dlu, pref"));
    builder.add(upperPanelBuilder.getPanel(), cc.xy(1, 1));
    builder.add(centrePanelBuilder.getPanel(), cc.xy(1, 3));

    DefaultFormBuilder bottomBuilder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref:grow", "pref, 3dlu, pref"));
    bottomBuilder.add(new JLabel("System Privileges"), cc.xy(1, 1));
    bottomBuilder.add(privilegesEditorPanel.getPanel(), cc.xy(1, 3));

    ButtonBarBuilder2 bbb = ButtonBarBuilder2.createLeftToRightBuilder();
    bbb.addGlue();
    bbb.addButton(new JButton(okAction));
    bbb.addRelatedGap();
    bbb.addButton(new JButton(cancelAction));

    bottomBuilder.add(bbb.getPanel(), cc.xy(3, 3));
    builder.add(bottomBuilder.getPanel(), cc.xy(1, 5));
    builder.setDefaultDialogBorder();

    panel = builder.getPanel();

    fillUserLists();
    disableIfNecessary();
}

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

License:Open Source License

/**
 * Creates a new {@link PrivilegesEditorPanel}.
 * //from ww  w. j  a v  a 2 s  .c om
 * @param baseGrant
 *            The {@link Grant} object which the privileges panel should
 *            start off with.
 * @param baseGroupOrUser
 *            The {@link Group} or {@link User} object that the
 *            {@link Grant} applies to.
 * @param subject
 *            The UUID of the object we want to grant access to. This can be
 *            null if {@link #type} is specified.
 * @param type
 *            The fully qualified name of the class of object we want to
 *            grant access to.
 * @param username
 *            The username of the person accessing this panel. Certain
 *            functionality of the panel is disabled depending on what
 *            privileges this user has.
 * @param securityWorkspace
 *            The {@link ArchitectSwingProject} that represents the security
 *            workspace.
 */
public PrivilegesEditorPanel(Grant baseGrant, SPObject baseGroupOrUser, String subject, String type,
        String username, ArchitectSwingProject securityWorkspace) {
    this.securityWorkspace = securityWorkspace;
    this.grant = baseGrant;
    this.groupOrUser = baseGroupOrUser;
    this.subject = subject;
    this.type = type;
    this.username = username;

    createPrivilege.setText("Create");
    modifyPrivilege.setText("Modify");
    deletePrivilege.setText("Delete");
    viewPrivilege.setText("View");
    grantPrivilege.setText("Grant");

    if (grant != null) {
        if (grant.isCreatePrivilege()) {
            createPrivilege.setSelected(true);
        }

        if (grant.isModifyPrivilege()) {
            modifyPrivilege.setSelected(true);
        }

        if (grant.isExecutePrivilege()) {
            viewPrivilege.setSelected(true);
        }

        if (grant.isDeletePrivilege()) {
            deletePrivilege.setSelected(true);
        }

        if (grant.isGrantPrivilege()) {
            grantPrivilege.setSelected(true);
        }
    }

    CellConstraints cc = new CellConstraints();
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref, 5dlu, pref, 5dlu, pref,", "pref:grow, 3dlu, pref:grow"));
    builder.add(viewPrivilege, cc.xy(1, 1));
    builder.add(createPrivilege, cc.xy(3, 1));
    builder.add(modifyPrivilege, cc.xy(5, 1));
    builder.add(deletePrivilege, cc.xy(1, 3));
    builder.add(grantPrivilege, cc.xy(3, 3));

    panel = builder.getPanel();

    disableIfNecessary();
}

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

License:Open Source License

/**
 * This rebuilds the panel based on the {@link #userModel} and {@link #groupModel}.
 * To do this it also removes all of the panels from the main {@link #panel} and
 * adds new ones to it./* w  ww  .  j  ava2  s . c om*/
 */
private void refreshPanel() {

    userModel = new GroupOrUserTableModel(User.class);
    groupModel = new GroupOrUserTableModel(Group.class);

    CellConstraints cc = new CellConstraints();
    DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref",
            "pref:grow, 5dlu, pref:grow, pref:grow, 5dlu, pref:grow, pref:grow, 5dlu, pref:grow"));
    builder.add(panelLabel, cc.xy(1, 1));

    // User list and headers
    JLabel userPermissions = new JLabel("User Permissions");
    userPermissions.setFont(
            new Font(userPermissions.getFont().getFontName(), Font.BOLD, userPermissions.getFont().getSize()));
    builder.add(userPermissions, cc.xy(1, 3));
    builder.add(userModel.getPanel(), cc.xy(1, 4));

    // Group list and headers
    JLabel groupPermissions = new JLabel("Group Permissions");
    groupPermissions.setFont(userPermissions.getFont());
    builder.add(groupPermissions, cc.xy(1, 6));
    builder.add(groupModel.getPanel(), cc.xy(1, 7));

    JButton okButton = new JButton(new AbstractAction("OK") {
        public void actionPerformed(ActionEvent e) {
            userModel.applyChanges();
            groupModel.applyChanges();
            closeAction.actionPerformed(e);
        }
    });

    JButton cancelButton = new JButton(new AbstractAction("Cancel") {
        public void actionPerformed(ActionEvent e) {
            userModel.discardChanges();
            groupModel.discardChanges();
            closeAction.actionPerformed(e);
        }
    });

    ButtonBarBuilder buttonBuilder = ButtonBarBuilder.createLeftToRightBuilder();
    buttonBuilder.addGlue();
    buttonBuilder.addGridded(okButton);
    buttonBuilder.addRelatedGap();
    buttonBuilder.addGridded(cancelButton);
    buttonBuilder.setDefaultButtonBarGapBorder();

    builder.add(buttonBuilder.getPanel(), cc.xy(1, 9));
    builder.setDefaultDialogBorder();

    panel.removeAll();
    panel.add(builder.getPanel());
    panel.revalidate();
    disableIfNecessary();
}

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

License:Open Source License

public RevisionListPanel(ArchitectSwingSession swingSession, ArchitectFrame architectFrame,
        Action closeAction) {/*  ww w. j  a  v  a  2s  . 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.ServerProjectsManagerPanel.java

License:Open Source License

public ServerProjectsManagerPanel(SPServerInfo serverInfo, ArchitectSwingSession session,
        ArchitectSessionContext context, Component dialogOwner, Action closeAction) {
    this.serverInfo = serverInfo;
    this.dialogOwner = dialogOwner;
    this.session = session;
    this.context = context;
    this.closeAction = closeAction;

    ArchitectClientSideSession.getCookieStore().clear();

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

    servers = null;//  w w  w  . j  a  v  a2s . c  om

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                openAction.actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    JButton securityButton = new JButton(openSecurityManagerPanelAction);

    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(serverInfo.getName() + "'s projects:"), cc.xyw(1, 1, 2));
    builder.nextLine();
    builder.add(projectsPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(new JButton(openAction));
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

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

License:Open Source License

public ServerProjectsManagerPanel(ArchitectSwingSession session, ArchitectSessionContext context,
        Component dialogOwner, Action closeAction) {
    this.session = session;
    this.dialogOwner = dialogOwner;
    this.context = context;
    this.closeAction = closeAction;

    ArchitectClientSideSession.getCookieStore().clear();

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

    servers = new JList(new DefaultListModel());
    servers.addMouseListener(new MouseAdapter() {
        @Override//from  ww  w .j a  v  a2s . c  o  m
        public void mouseReleased(MouseEvent e) {
            if (SwingUtilities.isLeftMouseButton(e)) {
                refreshInfoList();
            }
        }
    });

    DefaultListModel serversModel = (DefaultListModel) servers.getModel();
    serversModel.removeAllElements();
    if (context.getServerManager().getServers(false).size() > 0) {
        for (SPServerInfo serverInfo : context.getServerManager().getServers(false)) {
            serversModel.addElement(serverInfo);
        }
    } else {
        serversModel.addElement("No Servers");
        servers.setEnabled(false);
    }

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                openAction.actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    JScrollPane serverPane = new JScrollPane(servers);
    serverPane.setPreferredSize(new Dimension(250, 300));

    JButton securityButton = new JButton(openSecurityManagerPanelAction);

    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Servers:"), cc.xyw(1, 1, 2));
    builder.add(new JLabel("Projects:"), cc.xyw(3, 1, 2));
    builder.nextLine();
    builder.add(serverPane, cc.xywh(1, 2, 1, 2));
    builder.add(projectsPane, cc.xywh(3, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(new JButton(openAction));
    buttonBarBuilder.append(new JButton(uploadAction));
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(5, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}