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

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

Introduction

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

Prototype

public CellConstraints() 

Source Link

Document

Constructs a default instance of CellConstraints .

Usage

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

License:Open Source License

/**
 * Creates a new {@link PrivilegesEditorPanel}.
 * /*from  w  ww.java  2  s .  c o  m*/
 * @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.//from   w w  w  .j av  a  2s .  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) {/*from w  w w. j  av a 2s  .  c  o 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;/*from  w  ww. j  av  a  2  s .com*/

    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  w  ww .  j  a va  2 s .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();
}

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

License:Open Source License

public UserEditorPanel(User baseUser, String username, Action closeAction, final ArchitectSession session) {
    this.user = baseUser;
    this.session = session;
    this.securityWorkspace = (ArchitectSwingProject) user.getParent();
    this.username = username;
    this.closeAction = closeAction;

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

    usernameLabel = new JLabel("User Name");
    usernameField = new JTextField();
    usernameField.setText(user.getUsername());
    usernameField.getDocument().addDocumentListener(textFieldListener);

    fullnameLabel = new JLabel("Full Name");
    fullnameField = new JTextField();
    fullnameField.setText(user.getFullName());
    fullnameField.getDocument().addDocumentListener(textFieldListener);

    emailLabel = new JLabel("Email");
    emailField = new JTextField();
    emailField.setText(user.getEmail());
    emailField.getDocument().addDocumentListener(textFieldListener);

    ListCellRenderer groupListCellRenderer = new DefaultListCellRenderer() {
        @Override/*from  w  w  w  .j  ava 2 s . c om*/
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {
            super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
            setIcon(GROUP_ICON);
            return this;
        }
    };

    availableGroupsLabel = new JLabel("Available Groups");
    availableGroupsList = new JList(new DefaultListModel());
    availableGroupsList.setCellRenderer(groupListCellRenderer);
    availableGroupsScrollPane = new JScrollPane(availableGroupsList);
    availableGroupsScrollPane.setPreferredSize(prefScrollPaneDimension);

    currentGroupsLabel = new JLabel("Current Groups");
    currentGroupsList = new JList(new DefaultListModel());
    currentGroupsList.setCellRenderer(groupListCellRenderer);
    currentGroupsScrollPane = new JScrollPane(currentGroupsList);
    currentGroupsScrollPane.setPreferredSize(prefScrollPaneDimension);

    Grant globalGrant = null;
    for (Grant grant : user.getChildren(Grant.class)) {
        if (grant.isSystemLevel() && grant.getType().equals(ArchitectSwingProject.class.getName())) {
            if (globalGrant != null) {
                throw new IllegalStateException("Multiple grants for Architect Project found");
            }

            globalGrant = grant;
        }
    }

    if (globalGrant != null) {
        privilegesEditorPanel = new PrivilegesEditorPanel(globalGrant, user, null,
                ArchitectSwingProject.class.getName(), username, securityWorkspace);
    } else {
        privilegesEditorPanel = new PrivilegesEditorPanel(null, user, 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, pref, pref, pref, pref, 5dlu"));
    upperPanelBuilder.add(usernameLabel, cc.xy(1, 1));
    upperPanelBuilder.add(usernameField, cc.xyw(3, 1, 1));
    upperPanelBuilder.add(fullnameLabel, cc.xy(1, 3));
    upperPanelBuilder.add(fullnameField, cc.xyw(3, 3, 1));
    upperPanelBuilder.add(emailLabel, cc.xy(1, 4));
    upperPanelBuilder.add(emailField, cc.xy(3, 4));

    passwordButton = new JButton(changePasswordAction);

    ButtonBarBuilder2 passwordBuilder = ButtonBarBuilder2.createLeftToRightBuilder();
    passwordBuilder.addGlue();
    passwordBuilder.addButton(passwordButton);

    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(availableGroupsLabel, cc.xy(1, 1));
    centrePanelBuilder.add(currentGroupsLabel, cc.xy(5, 1));
    centrePanelBuilder.add(availableGroupsScrollPane, cc.xy(1, 2));
    centrePanelBuilder.add(buttonPanelBuilder.getPanel(), cc.xy(3, 2));
    centrePanelBuilder.add(currentGroupsScrollPane, cc.xy(5, 2));

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

    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, 6));
    builder.setDefaultDialogBorder();

    panel = builder.getPanel();

    fillGroupLists();
    disableIfNecessary();
}

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

License:Open Source License

private void createGUI(SQLIndex index, SQLTable parent, ArchitectSwingSession session)
        throws SQLObjectException {
    this.parent = parent;
    PanelBuilder pb = new PanelBuilder((FormLayout) panel.getLayout(), panel);
    CellConstraints cc = new CellConstraints();
    pb.add(new JLabel(Messages.getString("IndexEditPanel.indexName")), cc.xy(1, 1)); //$NON-NLS-1$
    pb.add(name = new JTextField("", 30), cc.xyw(3, 1, 4)); //$NON-NLS-1$
    unique = new JCheckBox(Messages.getString("IndexEditPanel.uniqueIndex")); //$NON-NLS-1$
    pb.add(unique, cc.xy(3, 3));//from  w  w  w. j  a  v a 2  s  .  c  o  m
    primaryKey = new JCheckBox(Messages.getString("IndexEditPanel.primaryKeyIndex")); //$NON-NLS-1$
    pb.add(primaryKey, cc.xy(3, 5));
    clustered = new JCheckBox(Messages.getString("IndexEditPanel.clusteredIndex")); //$NON-NLS-1$
    clustered.setSelected(index.isClustered());
    pb.add(clustered, cc.xy(3, 7));
    pb.add(new JLabel(Messages.getString("IndexEditPanel.indexType")), cc.xy(1, 9)); //$NON-NLS-1$

    indexType = new JComboBox();
    //add the platform default type
    indexType.addItem(DEFAULT_INDEX_TYPE);
    for (String type : getIndexTypes()) {
        indexType.addItem(type);
    }
    pb.add(indexType, cc.xyw(3, 9, 4));

    editIndex(index);
    columnsTable = new IndexColumnTable(parent, indexCopy, index);

    pb.add(new JScrollPane(columnsTable.getTable()), cc.xyw(1, 13, 6));

    // we want the buttons at their natural sizes, and the buttonbarbuilder wasn't doing that
    JPanel upDownPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    upDownPanel.add(new JButton(new AbstractAction(null, SPSUtils.createIcon("chevrons_up1", null)) { //$NON-NLS-1$

        public void actionPerformed(ActionEvent e) {
            columnsTable.moveRow(true);
        }

    }));
    upDownPanel.add(new JButton(new AbstractAction(null, SPSUtils.createIcon("chevrons_down1", null)) { //$NON-NLS-1$
        public void actionPerformed(ActionEvent e) {
            columnsTable.moveRow(false);
        }
    }));

    pb.add(upDownPanel, cc.xyw(1, 15, 6));
    loadIndexIntoPanel();
}

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

License:Open Source License

public KettleDataSourceTypeOptionPanel() {
    PanelBuilder pb = new PanelBuilder(new FormLayout("4dlu,pref,4dlu,pref:grow,4dlu",
            "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu"));

    CellConstraints cc = new CellConstraints();
    CellConstraints cl = new CellConstraints();
    int row = 2;/*from  w  w  w  . ja va 2s. c  o m*/
    pb.addLabel("Kettle Connection Type", cl.xy(2, row), kettleConnectionType, cc.xy(4, row));
    List<String> dbConnectionNames = KettleUtils.retrieveKettleConnectionTypes();
    for (String dbConnectionName : dbConnectionNames) {
        kettleConnectionType.addItem(dbConnectionName);
    }
    kettleConnectionType.setSelectedIndex(-1);

    panel = pb.getPanel();
}

From source file:ca.sqlpower.architect.swingui.olap.OLAPSchemaManager.java

License:Open Source License

private JPanel createPanel() {
    FormLayout layout = new FormLayout("6dlu, fill:min(160dlu;default):grow, 6dlu, pref, 6dlu", // columns //$NON-NLS-1$
            " 6dlu,10dlu,6dlu,fill:min(180dlu;default):grow,10dlu"); // rows //$NON-NLS-1$

    layout.setColumnGroups(new int[][] { { 1, 3, 5 } });
    CellConstraints cc = new CellConstraints();

    PanelBuilder pb;//from w w w.j ava 2 s . co m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);
    pb = new PanelBuilder(layout, p);
    pb.setDefaultDialogBorder();

    pb.add(new JLabel("Available OLAP Schemas"), cc.xy(2, 2)); //$NON-NLS-1$

    TableModel tm = new SchemaTableModel(session.getOLAPRootObject());
    osessionTable = new JTable(tm);
    osessionTable.setTableHeader(null);
    osessionTable.setShowGrid(false);
    osessionTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    osessionTable.addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent evt) {
            boolean enableActions = getSelectedOSession() != null;
            removeOLAPSchemaAction.setEnabled(enableActions);
            editOLAPSchemaAction.setEnabled(enableActions);
            exportSchemaAction.setEnabled(enableActions);

            if (evt.getClickCount() == 2) {
                editOLAPSchemaAction.actionPerformed(null);
            }
        }
    });

    JScrollPane sp = new JScrollPane(osessionTable);

    pb.add(sp, cc.xy(2, 4));

    ButtonStackBuilder bsb = new ButtonStackBuilder();

    JButton newOLAPSchemaButton = new JButton(new OLAPEditAction(session, null));
    newOLAPSchemaButton.setText("New...");
    bsb.addGridded(newOLAPSchemaButton);
    bsb.addRelatedGap();

    JButton importOLAPSchemaButton = new JButton(new ImportSchemaAction(session));
    importOLAPSchemaButton.setText("Import...");
    bsb.addGridded(importOLAPSchemaButton);
    bsb.addGridded(new JButton(exportSchemaAction));
    bsb.addRelatedGap();

    bsb.addGridded(new JButton(editOLAPSchemaAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(removeOLAPSchemaAction));

    removeOLAPSchemaAction.setEnabled(false);
    editOLAPSchemaAction.setEnabled(false);
    exportSchemaAction.setEnabled(false);

    bsb.addUnrelatedGap();
    bsb.addGridded(new JButton(closeAction));

    pb.add(bsb.getPanel(), cc.xy(4, 4));
    return pb.getPanel();

}

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

License:Open Source License

public ProfileGraphPanel(ProfilePanel panel, int rowCount) {
    this.profilePanel = panel;
    this.rowCount = rowCount;

    FormLayout displayLayout = new FormLayout("4dlu, default, 4dlu, 100dlu, 4dlu, fill:default:grow, 4dlu", // columns
            "4dlu, default, 6dlu"); // rows
    CellConstraints cc = new CellConstraints();

    validResultsPanel = ProfileGraphPanel.logger.isDebugEnabled() ? new FormDebugPanel(displayLayout)
            : new JPanel(displayLayout);
    validResultsPanel.setBorder(BorderFactory.createEtchedBorder());

    Font bodyFont = validResultsPanel.getFont();
    Font titleFont = bodyFont.deriveFont(Font.BOLD, bodyFont.getSize() * 1.25F);

    title = new JLabel("Column Name");
    title.setFont(titleFont);/*w  w  w. ja  v  a  2 s.c om*/

    PanelBuilder pb = new PanelBuilder(displayLayout, validResultsPanel);
    pb.add(title, cc.xyw(2, 2, 5));

    int row = 4;
    rowCountDisplay = makeInfoRow(pb, "RowCount", row);
    row += 2;
    nullableLabel = makeInfoRow(pb, "Nullable", row);
    row += 2;
    nullCountLabel = makeInfoRow(pb, "Null Count", row);
    row += 2;
    nullPercentLabel = makeInfoRow(pb, "% Null Records", row);
    row += 2;
    minLengthLabel = makeInfoRow(pb, "Minimum Length", row);
    row += 2;
    maxLengthLabel = makeInfoRow(pb, "Maximum Length", row);
    row += 2;
    uniqueCountLabel = makeInfoRow(pb, "Unique Values", row);
    row += 2;
    uniquePercentLabel = makeInfoRow(pb, "% Unique", row);
    row += 2;
    minValue = makeInfoRow(pb, "Minimum Value", row);
    row += 2;
    maxValue = makeInfoRow(pb, "Maximum Value", row);
    row += 2;
    avgValue = makeInfoRow(pb, "Average Value", row);
    row += 2;

    freqValueTable = new FreqValueTable(null);
    freqValueSp = new JScrollPane(freqValueTable);

    pb.appendRow("fill:10dlu:grow");
    pb.appendRow("fill:default:grow");
    pb.add(freqValueSp, cc.xyw(2, row + 1, 3));

    // Now add something to represent the chart
    JFreeChart createPieChart = ChartFactory.createPieChart("", new DefaultPieDataset(new DefaultKeyedValues()),
            false, false, false);
    chartPanel = new ChartPanel(createPieChart);
    chartPanel.setPreferredSize(new Dimension(300, 300));

    if (panel.getProfileManager().getWorkspaceContainer() instanceof ArchitectSession
            && ((ArchitectSession) panel.getProfileManager().getWorkspaceContainer()).isEnterpriseSession()) {
        pb.add(new JLabel("Column Profile Notes"), cc.xy(6, 2));
        notesField = new JTextArea();
        notesField.setLineWrap(true);
        notesField.setWrapStyleWord(true);
        JScrollPane notesScroll = new JScrollPane(notesField);
        notesScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        notesScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        pb.add(notesScroll, cc.xywh(6, 4, 1, row - 4));

        pb.appendRow("fill:4dlu:grow");
        pb.appendRow("4dlu");

        pb.add(chartPanel, cc.xy(6, row + 1));
    } else {
        pb.appendRow("fill:4dlu:grow");
        pb.appendRow("4dlu");
        pb.add(chartPanel, cc.xywh(6, 4, 1, row - 2));
    }

    invalidResultsPanel = new JPanel(new BorderLayout());
    invalidResultsLabel = new JLabel("No error message yet");
    invalidResultsPanel.add(invalidResultsLabel);

    displayArea = new JPanel(new GridLayout(1, 1));
    displayArea.setPreferredSize(validResultsPanel.getPreferredSize());
}