List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append
public JLabel append(String textWithMnemonic, Component component)
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(); }