List of usage examples for com.jgoodies.forms.layout FormLayout setColumnGroups
public void setColumnGroups(int[][] groupOfIndices)
From source file:brainflow.app.presentation.ColorGradientEditor.java
private void initLayout() { JPanel mainPanel = new JPanel(); FormLayout layout = new FormLayout("l:p:g, 12dlu, l:p, 3dlu, p:g"); DefaultFormBuilder builder = new DefaultFormBuilder(layout, mainPanel); layout.setColumnGroups(new int[][] { { 2, 4 } }); builder.setLineGapSize(Sizes.dluX(8)); builder.appendSeparator("Preview"); colorBar = colorMap.createColorBar(); colorBar.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); builder.append(colorBar, 5);/*from w ww .j av a2s. com*/ builder.appendSeparator("Colors"); builder.nextLine(); builder.setDefaultDialogBorder(); builder.append(oneColorButton); builder.append("Color 1:", colorComboOne); builder.nextLine(); builder.append(twoColorButton); builder.append("Color 2: ", colorComboTwo); setLayout(new BorderLayout()); add(builder.getPanel(), BorderLayout.CENTER); }
From source file:ca.sqlpower.architect.swingui.ColumnEditPanel.java
License:Open Source License
public ColumnEditPanel(Collection<SQLColumn> cols, final ArchitectSwingSession session) throws SQLObjectException { logger.debug("ColumnEditPanel called"); //$NON-NLS-1$ if (session == null) { throw new NullPointerException("Null session is not allowed"); //$NON-NLS-1$ }/*from w w w. j a v a 2 s . c om*/ this.session = session; if (cols == null || cols.isEmpty()) { throw new NullPointerException("Null or empty collection of columns is not allowed"); //$NON-NLS-1$ } columns = new ArrayList<SQLColumn>(cols); // if (columns.get(0).getParent() != null) { // columns.get(0).getParent().getPrimaryKeyIndex().addSPListener(this); // for (SQLColumn col : columns) { // col.addSPListener(this); // } // } FormLayout layout = new FormLayout("pref, pref, pref:grow, 4dlu, pref, pref:grow", ""); layout.setColumnGroups(new int[][] { { 3, 6 } }); panel = new JPanel(layout); CellConstraints cc = new CellConstraints(); JCheckBox cb; int row = 1; int width = 5; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.source")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } colSourceTree = new JTree(); DBTreeModel sourceTreeModel = new DBTreeModel(session.getRootObject(), colSourceTree, false, true, false, false, false) { @Override public Object getChild(Object parent, int index) { if (parent == sourceNotSpecifiedTreeNode) { return null; } else if (parent == getRoot()) { if (index == 0) { return sourceNotSpecifiedTreeNode; } else { return super.getChild(parent, index - 1); } } else { return super.getChild(parent, index); } } @Override public int getChildCount(Object parent) { if (parent == sourceNotSpecifiedTreeNode) { return 0; } else if (parent == getRoot()) { return super.getChildCount(parent) + 1; } else { return super.getChildCount(parent); } } @Override public int getIndexOfChild(Object parent, Object child) { if (parent == sourceNotSpecifiedTreeNode) { return -1; } else if (child == sourceNotSpecifiedTreeNode) { return 0; } else if (parent == getRoot()) { int index = super.getIndexOfChild(parent, child); if (index != -1) { return index + 1; } else { return -1; } } else { return super.getIndexOfChild(parent, child); } } @Override public boolean isLeaf(Object parent) { if (parent == sourceNotSpecifiedTreeNode) { return true; } else { return super.isLeaf(parent); } } }; colSourceTree.setModel(sourceTreeModel); colSourceTree.setRootVisible(false); colSourceTree.setShowsRootHandles(true); colSourceTree.setCellRenderer(new DBTreeCellRenderer() { @Override 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); if (!sel && value == sourceNotSpecifiedTreeNode) { setForeground(getTextNonSelectionColor()); } return this; } }); colSourceTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); colSourceButton = new JButton(); colSourceButton.setAction(new PopupJTreeAction(panel, colSourceTree, colSourceButton, SQLColumn.class)); panel.add(colSourceButton, cc.xyw(2, row++, 2)); componentEnabledMap.put(colSourceTree, cb); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.logicalName")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } panel.add(colLogicalName = new JTextField(), cc.xyw(2, row++, width)); componentEnabledMap.put(colLogicalName, cb); colLogicalName.getDocument().addDocumentListener(new DocumentCheckboxEnabler(cb)); colLogicalName.addComponentListener(new ComponentAdapter() { @Override public void componentShown(ComponentEvent e) { colLogicalName.requestFocusInWindow(); } }); colLogicalName.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { if (logger.isDebugEnabled()) { logger.debug("focus Gained : " + e); } colLogicalName.selectAll(); } }); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.physicalName")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } panel.add(colPhysicalName = new JTextField(), cc.xyw(2, row++, width)); componentEnabledMap.put(colPhysicalName, cb); colPhysicalName.getDocument().addDocumentListener(new DocumentCheckboxEnabler(cb)); colPhysicalName.addComponentListener(new ComponentAdapter() { @Override public void componentShown(ComponentEvent e) { colPhysicalName.requestFocusInWindow(); } }); colPhysicalName.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { if (logger.isDebugEnabled()) { logger.debug("focus Gained : " + e); } colPhysicalName.selectAll(); } }); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } panel.add(colInPK = new JCheckBox(Messages.getString("ColumnEditPanel.inPrimaryKey")), //$NON-NLS-1$ cc.xyw(2, row++, width)); componentEnabledMap.put(colInPK, cb); colInPK.addActionListener(this); colInPK.addActionListener(checkboxEnabler); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.type")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } typeChooserButton = new JButton(Messages.getString("ColumnEditPanel.chooseType")); if (session.isEnterpriseSession()) { colType = new JTree(new SQLTypeTreeModel(session.getEnterpriseSession())); } else { colType = new JTree(new SQLTypeTreeModel(session)); } colType.setCellRenderer(new SQLTypeTreeCellRenderer()); for (int i = 0; i < colType.getRowCount(); i++) { colType.expandRow(i); } colType.setRootVisible(true); colType.setShowsRootHandles(true); colType.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); typeChooserButton .setAction(new PopupJTreeAction(panel, colType, typeChooserButton, UserDefinedSQLType.class)); componentEnabledMap.put(colType, cb); panel.add(typeChooserButton, cc.xyw(2, row++, 2)); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.precision")), cc.xy(3, row)); //$NON-NLS-1$ panel.add(makeTitle(Messages.getString("ColumnEditPanel.scale")), cc.xy(6, row++)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); panel.add(colPrec = createPrecisionEditor(), cc.xy(3, row)); colPrec.addChangeListener(checkboxEnabler); SPSUtils.makeJSpinnerSelectAllTextOnFocus(colPrec); colPrecCB = new JCheckBox(); panel.add(colPrecCB, cc.xy(2, row)); typeOverrideMap.put(colPrec, colPrecCB); colPrecCB.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (colPrecCB.isSelected()) { colPrec.setEnabled(true); } else { colPrec.setEnabled(false); if (colType.getLastSelectedPathComponent() instanceof UserDefinedSQLType) { colPrec.setValue(((UserDefinedSQLType) colType.getLastSelectedPathComponent()) .getPrecision(SQLTypePhysicalPropertiesProvider.GENERIC_PLATFORM)); } } } }); colPrec.setEnabled(false); colScaleCB = new JCheckBox(); panel.add(colScaleCB, cc.xy(5, row)); panel.add(colScale = createScaleEditor(), cc.xy(6, row++)); typeOverrideMap.put(colScale, colScaleCB); colScale.addChangeListener(checkboxEnabler); SPSUtils.makeJSpinnerSelectAllTextOnFocus(colScale); colScaleCB.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (colScaleCB.isSelected()) { colScale.setEnabled(true); } else { colScale.setEnabled(false); if (colType.getLastSelectedPathComponent() instanceof UserDefinedSQLType) { colScale.setValue(((UserDefinedSQLType) colType.getLastSelectedPathComponent()) .getScale(SQLTypePhysicalPropertiesProvider.GENERIC_PLATFORM)); } } } }); colScale.setEnabled(false); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.allowsNulls")), cc.xyw(3, row++, width - 1)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); final JCheckBox colNullCB = new JCheckBox(); panel.add(colNullCB, cc.xy(2, row)); panel.add(colNullable = new JComboBox(YesNoEnum.values()), cc.xy(3, row++)); //$NON-NLS-1$ typeOverrideMap.put(colNullable, colNullCB); colNullable.addActionListener(this); colNullable.addActionListener(checkboxEnabler); colNullCB.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (colNullCB.isSelected()) { colNullable.setEnabled(true); } else { colNullable.setEnabled(false); if (colType.getLastSelectedPathComponent() instanceof UserDefinedSQLType) { colNullable.setSelectedItem( YesNoEnum.valueOf(((UserDefinedSQLType) colType.getLastSelectedPathComponent()) .getNullability() == DatabaseMetaData.columnNullable)); } } updateComponents(); } }); colNullable.setEnabled(false); layout.appendRow(RowSpec.decode("3dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.autoIncrement")), cc.xyw(3, row++, width - 1)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); final JCheckBox colAutoIncCB = new JCheckBox(); panel.add(colAutoIncCB, cc.xy(2, row)); panel.add(colAutoInc = new JComboBox(YesNoEnum.values()), cc.xy(3, row++)); //$NON-NLS-1$ typeOverrideMap.put(colAutoInc, colAutoIncCB); colAutoInc.addActionListener(this); colAutoInc.addActionListener(checkboxEnabler); colAutoIncCB.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (colAutoIncCB.isSelected()) { colAutoInc.setEnabled(true); } else { colAutoInc.setEnabled(false); if (colType.getLastSelectedPathComponent() instanceof UserDefinedSQLType) { colAutoInc.setSelectedItem(YesNoEnum.valueOf( ((UserDefinedSQLType) colType.getLastSelectedPathComponent()).getAutoIncrement())); } } } }); colAutoInc.setEnabled(false); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.defaultValue")), cc.xyw(3, row++, width - 1)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); final JCheckBox colDefaultCB = new JCheckBox(); panel.add(colDefaultCB, cc.xy(2, row)); panel.add(colDefaultValue = new JTextField(), cc.xyw(3, row++, width - 1)); colDefaultValue.setEnabled(false); typeOverrideMap.put(colDefaultValue, colDefaultCB); colDefaultValue.addActionListener(this); colDefaultCB.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (colDefaultCB.isSelected()) { colDefaultValue.setEnabled(true); } else { colDefaultValue.setEnabled(false); if (colType.getLastSelectedPathComponent() instanceof UserDefinedSQLType) { colDefaultValue.setText(((UserDefinedSQLType) colType.getLastSelectedPathComponent()) .getDefaultValue(SQLTypePhysicalPropertiesProvider.GENERIC_PLATFORM)); } } updateComponents(); } }); layout.appendRow(RowSpec.decode("6dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.sequenceName")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("p")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row)); } panel.add(colAutoIncSequenceName = new JTextField(), cc.xyw(2, row++, width)); componentEnabledMap.put(colAutoIncSequenceName, cb); colAutoIncSequenceName.getDocument().addDocumentListener(new DocumentCheckboxEnabler(cb)); DocumentListener listener = new DocumentListener() { public void changedUpdate(DocumentEvent e) { syncSequenceName(); } public void insertUpdate(DocumentEvent e) { syncSequenceName(); } public void removeUpdate(DocumentEvent e) { syncSequenceName(); } }; // Listener to update the sequence name when the column name changes colPhysicalName.getDocument().addDocumentListener(listener); colLogicalName.getDocument().addDocumentListener(listener); // Listener to rediscover the sequence naming convention, and reset the // sequence name to its original (according to the column's own sequence // name) naming convention when the user clears the sequence name field colAutoIncSequenceName.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { if (columns.size() == 1 && colAutoIncSequenceName.getText().trim().equals("")) { //$NON-NLS-1$ // Changing sequence name doesn't make sense in multi-edit // because sequence names have to be unique SQLColumn column = columns.iterator().next(); if (column.getPhysicalName() != null && !column.getPhysicalName().trim().equals("")) { discoverSequenceNamePattern(column.getPhysicalName()); } else { discoverSequenceNamePattern(column.getName()); } syncSequenceName(); } else { if (colPhysicalName.getText() != null && !colPhysicalName.getText().trim().equals("")) { discoverSequenceNamePattern(colPhysicalName.getText()); } else { discoverSequenceNamePattern(colLogicalName.getText()); } } } }); layout.appendRow(RowSpec.decode("5dlu")); row++; layout.appendRow(RowSpec.decode("p")); panel.add(makeTitle(Messages.getString("ColumnEditPanel.remarks")), cc.xyw(2, row++, width)); //$NON-NLS-1$ layout.appendRow(RowSpec.decode("pref:grow")); cb = new JCheckBox(); if (cols.size() > 1) { panel.add(cb, cc.xy(1, row, "center, top")); } panel.add(new JScrollPane(colRemarks = new JTextArea()), cc.xyw(2, row++, width, "fill, fill")); componentEnabledMap.put(colRemarks, cb); colRemarks.getDocument().addDocumentListener(new DocumentCheckboxEnabler(cb)); colRemarks.setRows(5); colRemarks.setLineWrap(true); colRemarks.setWrapStyleWord(true); // start with all components enabled; if there are multiple columns // to edit, these checkboxes will be turned off selectively for the // mismatching values for (JCheckBox checkbox : componentEnabledMap.values()) { checkbox.setSelected(true); } //The type covers multiple fields and needs a different check to see if //it should start enabled. All type info must match across the objects //for the checkbox to start selected if (cols.size() > 1) { Iterator<SQLColumn> colIterator = cols.iterator(); SQLColumn firstCol = colIterator.next(); while (colIterator.hasNext()) { SQLColumn nextCol = colIterator.next(); if (!firstCol.getTypeName().equals(nextCol.getTypeName()) || firstCol.getPrecision() != nextCol.getPrecision() || firstCol.getScale() != nextCol.getScale() || firstCol.getNullable() != nextCol.getNullable() || firstCol.isAutoIncrement() != nextCol.isAutoIncrement() || !firstCol.getDefaultValue().equals(nextCol.getDefaultValue())) { componentEnabledMap.get(colType).setSelected(false); break; } } } for (SQLColumn col : cols) { logger.debug("Updating component state for column " + col); updateComponents(col); } // TODO only give focus to column name if it's enabled? colPhysicalName.requestFocus(); colPhysicalName.selectAll(); SQLPowerUtils.listenToHierarchy(session.getRootObject(), obsolesenceListener); SQLPowerUtils.listenToHierarchy(session.getRootObject(), this); panel.addAncestorListener(cleanupListener); colSourceTree.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { TreePath path = e.getNewLeadSelectionPath(); if (path != null) { Object selection = path.getLastPathComponent(); if (selection instanceof SQLColumn) { SQLColumn sourceColumn = (SQLColumn) selection; colSourceButton.setText( DDLUtils.toQualifiedName(sourceColumn.getParent()) + "." + sourceColumn.getName()); } else { colSourceButton.setText(Messages.getString("ColumnEditPanel.noneSpecified")); } } else { colSourceButton.setText(Messages.getString("ColumnEditPanel.noneSpecified")); } } }); colType.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { TreePath path = e.getNewLeadSelectionPath(); if (path != null) { Object selection = path.getLastPathComponent(); if (selection instanceof UserDefinedSQLType) { typeChooserButton.setText(((UserDefinedSQLType) selection).getName()); updateSQLTypeComponents((UserDefinedSQLType) selection, false); } else { typeChooserButton.setText(Messages.getString("ColumnEditPanel.chooseType")); } } else { typeChooserButton.setText(Messages.getString("ColumnEditPanel.chooseType")); } } }); }
From source file:ca.sqlpower.architect.swingui.CompareDMFrame.java
License:Open Source License
public JComponent mainFrame() { FormLayout layout = new FormLayout( "4dlu,fill:min(150dlu;default):grow, 6dlu, fill:min(150dlu;default):grow, 4dlu", // columns //$NON-NLS-1$ " min(300dlu;default), 6dlu, min(300dlu;default), 6dlu, min(300dlu;default), 3dlu, fill:min(300dlu;default):grow, 3dlu, 20dlu,6dlu,20dlu"); // rows //$NON-NLS-1$ CellConstraints cc = new CellConstraints(); JLabel titleLabel = new JLabel(title); Font oldFont = titleLabel.getFont(); Font titleFont = new Font(oldFont.getName(), oldFont.getStyle(), oldFont.getSize() * 2); titleLabel.setFont(titleFont);//from ww w . j av a 2s.c om JLabel subTitleLabel = new JLabel(whatTheHeckIsGoingOn); leftOutputArea = new JTextPane(); leftOutputArea.setMargin(new Insets(6, 10, 4, 6)); leftOutputArea.setDocument(sourceOutputText); leftOutputArea.setEditable(false); JPanel comparePanel = new JPanel(new GridLayout(1, 2)); JScrollPane sp = new JScrollPane(comparePanel); int lineHeight = 16; try { FontMetrics fm = leftOutputArea.getFontMetrics(leftOutputArea.getFont()); lineHeight = fm.getHeight() + 2; } catch (Exception e) { lineHeight = 16; } // If the increments are not set, klicking on the up or down arrow of the scrollbar // will scroll the display by one pixel, which is definitely not what the user wants // by setting unitIncrement to the font's height the display will scroll by approx. one line sp.getVerticalScrollBar().setUnitIncrement(lineHeight); // Clicking in the "empty" area of the scrollbar will scroll by 10 lines sp.getVerticalScrollBar().setBlockIncrement(lineHeight * 10); comparePanel.add(leftOutputArea); Action sourceCopy = new sourceCopyAction(sourceOutputText); Action sourceSave = new AbstractAction() { public void actionPerformed(ActionEvent e) { SPSUtils.saveDocument(CompareDMFrame.this, sourceOutputText, (FileExtensionFilter) SPSUtils.TEXT_FILE_FILTER); } }; CloseAction close = new CloseAction(); close.setDialog(this); SPSUtils.makeJDialogCancellable(this, close); ButtonBarBuilder sourcebbBuilder = new ButtonBarBuilder(); JButton copySource = new JButton(sourceCopy); copySource.setText(Messages.getString("CompareDMFrame.copy")); //$NON-NLS-1$ sourcebbBuilder.addGridded(copySource); sourcebbBuilder.addRelatedGap(); sourcebbBuilder.addGlue(); JButton sourceSaveButton = new JButton(sourceSave); sourceSaveButton.setText(Messages.getString("CompareDMFrame.save")); //$NON-NLS-1$ sourcebbBuilder.addGridded(sourceSaveButton); sourcebbBuilder.addRelatedGap(); sourcebbBuilder.addGlue(); ButtonBarBuilder closeBar = new ButtonBarBuilder(); JButton closeButton = new JButton(close); closeButton.setText(Messages.getString("CompareDMFrame.close")); //$NON-NLS-1$ closeBar.addGridded(closeButton); PanelBuilder pb; layout.setColumnGroups(new int[][] { { 2, 4 } }); JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout); pb = new PanelBuilder(layout, p); pb.setDefaultDialogBorder(); rightOutputArea = new JTextPane(); rightOutputArea.setMargin(new Insets(6, 10, 4, 6)); rightOutputArea.setDocument(targetOutputText); rightOutputArea.setEditable(false); comparePanel.add(rightOutputArea); Action targetCopy = new targetCopyAction(targetOutputText); //Sets the target Buttons ButtonBarBuilder targetbbBuilder = new ButtonBarBuilder(); JButton copyTarget = new JButton(targetCopy); copyTarget.setText(Messages.getString("CompareDMFrame.copy")); //$NON-NLS-1$ targetbbBuilder.addGridded(copyTarget); targetbbBuilder.addRelatedGap(); targetbbBuilder.addGlue(); Action targetSaveAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { SPSUtils.saveDocument(CompareDMFrame.this, targetOutputText, (FileExtensionFilter) SPSUtils.TEXT_FILE_FILTER); } }; JButton targetSave = new JButton(targetSaveAction); targetSave.setText(Messages.getString("CompareDMFrame.save")); //$NON-NLS-1$ targetbbBuilder.addGridded(targetSave); targetbbBuilder.addRelatedGap(); targetbbBuilder.addGlue(); getRootPane().setDefaultButton(targetSave); pb.add(titleLabel, cc.xyw(2, 1, 3, "c,c")); //$NON-NLS-1$ pb.add(subTitleLabel, cc.xyw(2, 3, 3, "c,c")); //$NON-NLS-1$ pb.add(new JLabel(Messages.getString("CompareDMFrame.older")), cc.xy(2, 5)); //$NON-NLS-1$ pb.add(new JLabel(Messages.getString("CompareDMFrame.newer")), cc.xy(4, 5)); //$NON-NLS-1$ pb.add(sp, cc.xyw(2, 7, 3)); pb.add(sourcebbBuilder.getPanel(), cc.xy(2, 9, "l,c")); //$NON-NLS-1$ pb.add(targetbbBuilder.getPanel(), cc.xy(4, 9, "r,c")); //$NON-NLS-1$ pb.add(closeBar.getPanel(), cc.xy(4, 11, "r,c")); //$NON-NLS-1$ return pb.getPanel(); }
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 w ww . j a va 2 s . co m 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.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;/* w ww .j a v a 2 s. c o 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.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;// ww w . ja va 2s. 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.RelationshipEditPanel.java
License:Open Source License
public RelationshipEditPanel(Relationship r) { relationshipLine = r;//from www .ja va 2 s. c o m this.color = relationshipLine.getForegroundColor(); FormLayout layout = new FormLayout("pref, 4dlu, pref:grow, 4dlu, pref, 4dlu, pref:grow, 4dlu, pref"); //$NON-NLS-1$ layout.setColumnGroups(new int[][] { { 3, 7 } }); DefaultFormBuilder fb = new DefaultFormBuilder(layout, logger.isDebugEnabled() ? new FormDebugPanel() : new JPanel()); fb.append(Messages.getString("RelationshipEditPanel.name"), relationshipName = new JTextField(), 7); //$NON-NLS-1$ fb.nextLine(); fb.append(Messages.getString("RelationshipEditPanel.lineColour"), //$NON-NLS-1$ relationLineColor = new JComboBox(Relationship.SUGGESTED_COLOURS)); ColorCellRenderer renderer = new ColorCellRenderer(40, 20); relationLineColor.setRenderer(renderer); if (!containsColor(Relationship.SUGGESTED_COLOURS, color)) { relationLineColor.addItem(color); relationLineColor.setSelectedItem(color); } fb.append(new JButton(customColour)); fb.nextLine(); fb.append(Messages.getString("RelationshipEditPanel.pkLabel"), pkLabelTextField = new JTextField()); fb.append(Messages.getString("RelationshipEditPanel.fkLabel"), fkLabelTextField = new JTextField()); JButton swapButton = new JButton(swapLabelText); swapButton.setIcon( SPSUtils.createIcon("arrow_refresh", "Swap Labels", ArchitectSwingSessionContext.ICON_SIZE)); swapButton.setToolTipText("Swap Label Texts"); fb.append(swapButton); fb.nextLine(); identifyingGroup = new ButtonGroup(); fb.append(Messages.getString("RelationshipEditPanel.type"), //$NON-NLS-1$ identifyingButton = new JRadioButton(Messages.getString("RelationshipEditPanel.identifying")), 7); //$NON-NLS-1$ identifyingGroup.add(identifyingButton); fb.append("", //$NON-NLS-1$ nonIdentifyingButton = new JRadioButton(Messages.getString("RelationshipEditPanel.nonIdentifying")), //$NON-NLS-1$ 7); identifyingGroup.add(nonIdentifyingButton); fb.nextLine(); fb.appendUnrelatedComponentsGapRow(); pkTypeGroup = new ButtonGroup(); fkTypeGroup = new ButtonGroup(); fb.nextLine(); fb.append(Messages.getString("RelationshipEditPanel.cardinality"), //$NON-NLS-1$ pkTableName = new JLabel("PK Table: Unknown")); //$NON-NLS-1$ fb.append("", fkTableName = new JLabel("FK Table: Unknown")); //$NON-NLS-1$ //$NON-NLS-2$ fb.nextLine(); fb.append("", pkTypeZeroToMany = new JRadioButton(Messages.getString("RelationshipEditPanel.zeroOrMore"))); //$NON-NLS-1$ //$NON-NLS-2$ pkTypeGroup.add(pkTypeZeroToMany); fb.append("", fkTypeZeroToMany = new JRadioButton(Messages.getString("RelationshipEditPanel.zeroOrMore"))); //$NON-NLS-1$ //$NON-NLS-2$ fkTypeGroup.add(fkTypeZeroToMany); fb.nextLine(); fb.append("", pkTypeOneToMany = new JRadioButton(Messages.getString("RelationshipEditPanel.oneOrMore"))); //$NON-NLS-1$ //$NON-NLS-2$ pkTypeGroup.add(pkTypeOneToMany); fb.append("", fkTypeOneToMany = new JRadioButton(Messages.getString("RelationshipEditPanel.oneOrMore"))); //$NON-NLS-1$ //$NON-NLS-2$ fkTypeGroup.add(fkTypeOneToMany); fb.nextLine(); fb.append("", pkTypeZeroOne = new JRadioButton(Messages.getString("RelationshipEditPanel.zeroOrOne"))); //$NON-NLS-1$ //$NON-NLS-2$ pkTypeGroup.add(pkTypeZeroOne); fb.append("", fkTypeZeroOne = new JRadioButton(Messages.getString("RelationshipEditPanel.zeroOrOne"))); //$NON-NLS-1$ //$NON-NLS-2$ fkTypeGroup.add(fkTypeZeroOne); fb.nextLine(); fb.append("", pkTypeOne = new JRadioButton(Messages.getString("RelationshipEditPanel.exactlyOne"))); //$NON-NLS-1$ //$NON-NLS-2$ pkTypeGroup.add(pkTypeOne); fb.nextLine(); fb.appendUnrelatedComponentsGapRow(); fb.nextLine(); deferrabilityGroup = new ButtonGroup(); fb.append(Messages.getString("RelationshipEditPanel.deferrability"), //$NON-NLS-1$ notDeferrable = new JRadioButton(Messages.getString("RelationshipEditPanel.notDeferrable")), 7); //$NON-NLS-1$ deferrabilityGroup.add(notDeferrable); fb.append("", //$NON-NLS-1$ initiallyDeferred = new JRadioButton(Messages.getString("RelationshipEditPanel.initiallyDeferred")), //$NON-NLS-1$ 7); deferrabilityGroup.add(initiallyDeferred); fb.append("", initiallyImmediate = new JRadioButton( //$NON-NLS-1$ Messages.getString("RelationshipEditPanel.initiallyImmediate")), 7); //$NON-NLS-1$ deferrabilityGroup.add(initiallyImmediate); fb.nextLine(); fb.appendUnrelatedComponentsGapRow(); updateRuleGroup = new ButtonGroup(); deleteRuleGroup = new ButtonGroup(); fb.nextLine(); fb.append(Messages.getString("RelationshipEditPanel.updateRule"), //$NON-NLS-1$ updateCascade = new JRadioButton(Messages.getString("RelationshipEditPanel.cascade"))); //$NON-NLS-1$ updateRuleGroup.add(updateCascade); fb.append(Messages.getString("RelationshipEditPanel.deleteRule"), //$NON-NLS-1$ deleteCascade = new JRadioButton(Messages.getString("RelationshipEditPanel.cascade"))); //$NON-NLS-1$ deleteRuleGroup.add(deleteCascade); fb.nextLine(); fb.append("", updateRestrict = new JRadioButton(Messages.getString("RelationshipEditPanel.restrict"))); //$NON-NLS-1$ //$NON-NLS-2$ updateRuleGroup.add(updateRestrict); fb.append("", deleteRestrict = new JRadioButton(Messages.getString("RelationshipEditPanel.restrict"))); //$NON-NLS-1$ //$NON-NLS-2$ deleteRuleGroup.add(deleteRestrict); fb.nextLine(); fb.append("", updateNoAction = new JRadioButton(Messages.getString("RelationshipEditPanel.noAction"))); //$NON-NLS-1$ //$NON-NLS-2$ updateRuleGroup.add(updateNoAction); fb.append("", deleteNoAction = new JRadioButton(Messages.getString("RelationshipEditPanel.noAction"))); //$NON-NLS-1$ //$NON-NLS-2$ deleteRuleGroup.add(deleteNoAction); fb.nextLine(); fb.append("", updateSetNull = new JRadioButton(Messages.getString("RelationshipEditPanel.setNull"))); //$NON-NLS-1$ //$NON-NLS-2$ updateRuleGroup.add(updateSetNull); fb.append("", deleteSetNull = new JRadioButton(Messages.getString("RelationshipEditPanel.setNull"))); //$NON-NLS-1$ //$NON-NLS-2$ deleteRuleGroup.add(deleteSetNull); fb.nextLine(); fb.append("", updateSetDefault = new JRadioButton(Messages.getString("RelationshipEditPanel.setDefault"))); //$NON-NLS-1$ //$NON-NLS-2$ updateRuleGroup.add(updateSetDefault); fb.append("", deleteSetDefault = new JRadioButton(Messages.getString("RelationshipEditPanel.setDefault"))); //$NON-NLS-1$ //$NON-NLS-2$ deleteRuleGroup.add(deleteSetDefault); fb.nextLine(); setRelationship(r.getModel()); //TODO Doesn't work! relationshipName.selectAll(); fb.setDefaultDialogBorder(); panel = fb.getPanel(); }
From source file:ca.sqlpower.swingui.db.DatabaseConnectionManager.java
License:Open Source License
private JPanel createPanel(List<Action> additionalActions, List<JComponent> additionalComponents, boolean showCloseButton, String message) { 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;/*w w w .j av a 2 s. c o m*/ JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout); pb = new PanelBuilder(layout, p); pb.setDefaultDialogBorder(); pb.add(new JLabel(message), cc.xyw(2, 2, 3)); //$NON-NLS-1$ TableModel tm = new ConnectionTableModel(dsCollection); dsTable = new EditableJTable(tm); dsTable.setTableHeader(null); dsTable.setShowGrid(false); dsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); dsTable.addMouseListener(new DSTableMouseListener()); dsTable.setDefaultRenderer(SPDataSource.class, new ConnectionTableCellRenderer()); JScrollPane sp = new JScrollPane(dsTable); sp.getViewport().setBackground(dsTable.getBackground()); pb.add(sp, cc.xy(2, 4)); ButtonStackBuilder bsb = new ButtonStackBuilder(); JButton newButton = new JButton(); AbstractAction newDatabaseConnectionAction = new NewConnectionAction( Messages.getString("DatabaseConnectionManager.newDbConnectionActionName"), newButton); //$NON-NLS-1$ newButton.setAction(newDatabaseConnectionAction); bsb.addGridded(newButton); bsb.addRelatedGap(); bsb.addGridded(new JButton(editDatabaseConnectionAction)); bsb.addRelatedGap(); bsb.addGridded(new JButton(removeDatabaseConnectionAction)); removeDatabaseConnectionAction.setEnabled(false); editDatabaseConnectionAction.setEnabled(false); bsb.addUnrelatedGap(); JButton jdbcDriversButton = new JButton(jdbcDriversAction); bsb.addGridded(jdbcDriversButton); for (Action a : additionalActions) { bsb.addUnrelatedGap(); JButton b = new JButton(a); Object disableValue = a.getValue(DISABLE_IF_NO_CONNECTION_SELECTED); if (disableValue instanceof Boolean && disableValue.equals(Boolean.TRUE)) { b.setEnabled(false); } Object heightValue = a.getValue(ADDITIONAL_BUTTON_HEIGHT); if (heightValue instanceof Integer) { b.setPreferredSize(new Dimension((int) b.getPreferredSize().getWidth(), (Integer) heightValue)); } Object verticalTextPos = a.getValue(VERTICAL_TEXT_POSITION); if (verticalTextPos instanceof Integer) { Integer verticalTextInt = (Integer) verticalTextPos; if (verticalTextInt == SwingConstants.TOP || verticalTextInt == SwingConstants.BOTTOM || verticalTextInt == SwingConstants.CENTER) { b.setVerticalTextPosition(verticalTextInt); } } Object horizontalTextPos = a.getValue(HORIZONTAL_TEXT_POSITION); if (horizontalTextPos instanceof Integer) { Integer horizontalTextInt = (Integer) horizontalTextPos; if (horizontalTextInt == SwingConstants.LEFT || horizontalTextInt == SwingConstants.RIGHT || horizontalTextInt == SwingConstants.CENTER || horizontalTextInt == SwingConstants.LEADING || horizontalTextInt == SwingConstants.TRAILING) { b.setHorizontalTextPosition(horizontalTextInt); } } additionalActionButtons.add(b); bsb.addFixed(b); } for (JComponent comp : additionalComponents) { bsb.addUnrelatedGap(); bsb.addFixed(comp); } if (showCloseButton) { bsb.addUnrelatedGap(); bsb.addGridded(new JButton(closeAction)); } pb.add(bsb.getPanel(), cc.xy(4, 4)); return pb.getPanel(); }
From source file:calendarexportplugin.ExtendedDialog.java
License:Open Source License
/** * Create the GUI// ww w. ja v a2 s. c om */ private void createGui() { try { CellConstraints cc = new CellConstraints(); PanelBuilder pb = new PanelBuilder( new FormLayout("5dlu,default:grow,5dlu", "pref,5dlu,fill:default:grow,5dlu,pref"), (JPanel) this.getContentPane()); pb.setDefaultDialogBorder(); mConfigPanel = new PluginProgramConfigurationPanel( CalendarExportPlugin.getInstance().getSelectedPluginProgramFormattings(), CalendarExportPlugin.getInstance().getAvailableLocalPluginProgramFormatings(), CalendarExportPlugin.getDefaultFormatting(), true, false); pb.addSeparator(mLocalizer.msg("title", "Formatings selection"), cc.xyw(1, 1, 3)); pb.add(mConfigPanel, cc.xy(2, 3)); FormLayout layout = new FormLayout("0dlu:grow,pref,5dlu,pref", "pref"); layout.setColumnGroups(new int[][] { { 2, 4 } }); JPanel buttonPanel = new JPanel(layout); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { okPressed(); } }); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cancelPressed(); } }); buttonPanel.add(ok, cc.xy(2, 1)); buttonPanel.add(cancel, cc.xy(4, 1)); pb.add(buttonPanel, cc.xy(2, 5)); getRootPane().setDefaultButton(ok); setSize(550, 400); } catch (Exception e) { e.printStackTrace(); } }
From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java
License:Open Source License
private void buildPanel() { initComponents();//from w ww . ja v a2 s .c om final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow", "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow"); layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } }); layout.setRowGroups(new int[][] { { 3, 5, 7, 9 } }); final PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); final CellConstraints cc = new CellConstraints(); builder.addSeparator("General", cc.xyw(1, 1, 3)); builder.addLabel("Name", cc.xy(1, 3)); builder.add(nameTextField, cc.xy(3, 3)); builder.addLabel("Description", cc.xy(1, 5)); builder.add(descTextField, cc.xy(3, 5)); builder.addLabel("Type", cc.xy(1, 7)); builder.add(locomotiveTypeComboBox, cc.xy(3, 7)); builder.addLabel("Image", cc.xy(1, 9)); builder.add(chooseImageButton, cc.xy(3, 9)); builder.add(imageLabel, cc.xyw(1, 11, 3)); builder.addSeparator("Interface", cc.xyw(5, 1, 3)); builder.addLabel("Bus", cc.xy(5, 3)); builder.add(busSpinner, cc.xy(7, 3)); builder.addLabel("Address 1", cc.xy(5, 5)); builder.add(address1Spinner, cc.xy(7, 5)); builder.addLabel("Address 2", cc.xy(5, 7)); builder.add(address2Spinner, cc.xy(7, 7)); builder.add(functionsTable, cc.xywh(5, 9, 3, 3)); builder.add(errorPanel, cc.xyw(1, 13, 3)); builder.add(buildButtonBar(), cc.xyw(5, 13, 3)); // add(builder.getPanel()); setLayout(new MigLayout()); add(new JLabel("Name")); add(nameTextField, "w 300!"); add(new JLabel("Bus"), "gap unrelated"); add(busSpinner, "w 150!, wrap"); add(new JLabel("Description")); add(descTextField, "w 300!"); add(new JLabel("Address 1"), "gap unrelated"); add(address1Spinner, "w 150!, wrap"); add(new JLabel("Type")); add(locomotiveTypeComboBox, "w 150!"); add(new JLabel("Address 2"), "gap unrelated"); add(address2Spinner, "w 150!, wrap"); add(new JLabel("Image")); add(chooseImageButton, "w 150!"); add(new JLabel("Functions"), "gap unrelated"); add(new JScrollPane(functionsTable), "h 200!, w 300!, span 1 2, wrap"); add(imageLabel, "align center, span 2, wrap"); add(buildButtonBar(), "span 4, align right"); }