List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder
public DefaultFormBuilder(FormLayout layout)
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 w ww .j a v a 2s . com*/ 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.ja v a 2 s .co m 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 w w w . j ava 2s . 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 a va 2 s .co m*/ */ 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 www. ja v a 2 s. 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.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();/*w w w . j ava2 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.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 av a 2 s . c o m 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. java2 s . co 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 ww w. j a v a2 s .c o m 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.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. *//* w w w . ja va2 s .c o m*/ 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(); }