List of usage examples for com.jgoodies.forms.layout CellConstraints CellConstraints
public CellConstraints()
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;/*from ww w .j a v a2s . 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:ca.sqlpower.swingui.db.DataSourceTypeEditorPanel.java
License:Open Source License
private void buildPanel() { connectionStringTemplate.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { updateTemplate();// w ww . j a va 2s . c om } public void insertUpdate(DocumentEvent e) { updateTemplate(); } public void removeUpdate(DocumentEvent e) { updateTemplate(); } /** * Updates the template if dsType is not currently null. */ private void updateTemplate() { if (dsType != null) { dsType.setJdbcUrl(connectionStringTemplate.getText()); template.setTemplate(dsType); } } }); tabbedPane = new JTabbedPane(); PanelBuilder pb = new PanelBuilder(new FormLayout("4dlu,pref,4dlu,pref:grow,4dlu", //$NON-NLS-1$ "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu, pref:grow, 4dlu")); //$NON-NLS-1$ CellConstraints cc = new CellConstraints(); CellConstraints cl = new CellConstraints(); int row = 2; pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.nameLabel"), cl.xy(2, row), name, cc.xy(4, row)); //$NON-NLS-1$ row += 2; pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.driverClassLabel"), cl.xy(2, row), driverClass, //$NON-NLS-1$ cc.xy(4, row)); row += 2; pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.connectionStringTemplateLabel"), cl.xy(2, row), //$NON-NLS-1$ connectionStringTemplate, cc.xy(4, row)); row += 2; connectionStringTemplate.setToolTipText(Messages.getString("DataSourceTypeEditorPanel.templateToolTip")); //$NON-NLS-1$ pb.addTitle(Messages.getString("DataSourceTypeEditorPanel.optionsEditorPreview"), cl.xyw(2, row, 3)); //$NON-NLS-1$ row += 2; pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.sampleOptions"), cl.xy(2, row), //$NON-NLS-1$ template.getPanel(), cc.xy(4, row)); row += 2; pb.add(jdbcPanel, cc.xyw(2, row, 3)); tabbedPane.addTab(Messages.getString("DataSourceTypeEditorPanel.generalTab"), pb.getPanel()); //$NON-NLS-1$ panel = new JPanel(new BorderLayout()); panel.add(tabbedPane, BorderLayout.CENTER); ButtonBarBuilder copyBar = new ButtonBarBuilder(); copyBar.addGlue(); copyBar.addGridded(copyPropertiesButton); panel.add(copyBar.getPanel(), BorderLayout.SOUTH); }
From source file:ca.sqlpower.swingui.enterprise.client.ServerProjectsManagerPanel.java
License:Open Source License
/** * This constructor creates a dialog for modifying and loading a project * from a single server designated by the given serverInfo parameter. * //from ww w .ja v a 2 s .c o m * @param serverInfo * Projects will be retrieved from this server based on the * information and displayed. The dialog will allow editing the * security as well as creating and deleting projects on this * server. * @param dialogOwner * The dialog to parent new dialogs to. * @param upf * A user prompter factory for displaying error and warning * messages to users. * @param closeAction * An action that will close the dialog or frame that this dialog * is contained in. * @param defaultFileDirectory * A default file directory to start looking for files in if the * user wants to upload a project. If null this will default to * the user's home directory. * @param cookieStore * A cookie store for HTTP requests. Used by the * {@link ClientSideSessionUtils}. */ public ServerProjectsManagerPanel(SPServerInfo serverInfo, Component dialogOwner, UserPrompterFactory upf, Action closeAction, File defaultFileDirectory, CookieStore cookieStore) { this.serverInfo = serverInfo; this.dialogOwner = dialogOwner; this.upf = upf; this.closeAction = closeAction; this.defaultFileDirectory = defaultFileDirectory; this.cookieStore = cookieStore; cookieStore.clear(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref")); servers = null; projects = new JList(new DefaultListModel()); projects.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { refreshPanel(); if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) { getOpenAction().actionPerformed(null); } } }); JScrollPane projectsPane = new JScrollPane(projects); projectsPane.setPreferredSize(new Dimension(250, 300)); 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(openButton); 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.swingui.enterprise.client.ServerProjectsManagerPanel.java
License:Open Source License
/** * Creates a dialog that lets the user choose a server connection and then a * project./*from w ww . j a v a2s . c o m*/ * * @param serverManager * This object contains all of the server information objects * known and the servers based on their information will be * displayed in a list so a user can navigate to different * projects in different servers. * @param dialogOwner * The dialog to parent new dialogs to. * @param upf * A user prompter factory for displaying error and warning * messages to users. * @param closeAction * An action that will close the dialog or frame that this dialog * is contained in. * @param defaultFileDirectory * A default file directory to start looking for files in if the * user wants to upload a project. If null this will default to * the user's home directory. * @param cookieStore * A cookie store for HTTP requests. Used by the * {@link ClientSideSessionUtils}. */ public ServerProjectsManagerPanel(SPServerInfoManager serverManager, Component dialogOwner, UserPrompterFactory upf, Action closeAction, File defaultFileDirectory, CookieStore cookieStore) { this.dialogOwner = dialogOwner; this.upf = upf; this.closeAction = closeAction; this.defaultFileDirectory = defaultFileDirectory; this.cookieStore = cookieStore; cookieStore.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 public void mouseReleased(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { refreshInfoList(); } } }); DefaultListModel serversModel = (DefaultListModel) servers.getModel(); serversModel.removeAllElements(); if (serverManager.getServers(false).size() > 0) { for (SPServerInfo serverInfo : serverManager.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)) { getOpenAction().actionPerformed(null); } } }); JScrollPane projectsPane = new JScrollPane(projects); projectsPane.setPreferredSize(new Dimension(250, 300)); JScrollPane serverPane = new JScrollPane(servers); serverPane.setPreferredSize(new Dimension(250, 300)); 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(openButton); 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.swingui.enterprise.client.SPServerInfoManagerPanel.java
License:Open Source License
/** * Creates a panel that displays the currently configured server * connections. New connections can be added from this panel and existing * connections can be modified or removed. * // w w w . j ava 2s.co m * @param manager * An {@link SPServerInfoManager} instance that contains server connection information. * @param dialogOwner * A component that will be used as the dialog owner for other * panels. * @param closeAction * An action that will properly close the object displaying the * panel. * @param boxLabel * Label of the server information box * @param addOrEditDialogLable * Label of the Add/Edit panel */ public SPServerInfoManagerPanel(SPServerInfoManager manager, Component dialogOwner, Action closeAction, String boxLabel, String addOrEditDialogLable) { this.manager = manager; this.dialogOwner = dialogOwner; this.boxLable = boxLabel; this.addOrEditDialogLabel = addOrEditDialogLable; DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref")); serverInfos = new JList(new DefaultListModel()); serverInfos.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e) && connectButton.getAction() != null) { connectButton.getAction().actionPerformed(null); } } }); JScrollPane scrollPane = new JScrollPane(serverInfos); scrollPane.setPreferredSize(new Dimension(400, 300)); this.connectButton = new JButton(); // Build the GUI refreshInfoList(); CellConstraints cc = new CellConstraints(); builder.add(new JLabel(boxLable), cc.xyw(1, 1, 3)); builder.nextLine(); builder.add(scrollPane, cc.xywh(1, 2, 1, 2)); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(new JButton(addAction)); buttonBarBuilder.append(new JButton(editAction)); buttonBarBuilder.append(new JButton(removeAction)); buttonBarBuilder.append(connectButton); buttonBarBuilder.append(new JButton(closeAction)); builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); }
From source file:ca.sqlpower.swingui.FontSelector.java
License:Open Source License
public FontSelector(Font font, String[] fontList, SPFontLoader fontLoader) { this.fontLoader = fontLoader; if (font == null) { if (fontList == null || fontList.length == 0) { throw new IllegalArgumentException("The fontList parameter requires at least one valid font."); }/* w ww .ja v a2 s . com*/ font = Font.decode(fontList[0]); if (font == null) { throw new IllegalArgumentException("The fontList[0] element cannot be loaded."); } } logger.debug("Creating new font selector with given font: " + font); this.originalFont = font; SelectionHandler selectionHandler = new SelectionHandler(); fontNameList = new JList(fontList); fontNameList.addListSelectionListener(selectionHandler); fontSizeSpinner = new JSpinner(new SpinnerNumberModel(font.getSize(), 1, 200, 1)); fontSizeSpinner.addChangeListener(selectionHandler); fontSizeList = new JList(FONT_SIZES); fontSizeList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (fontSizeList.getSelectedValue() != null) { fontSizeSpinner.setValue((Integer) fontSizeList.getSelectedValue()); } } }); styleChoice = new JList(FontStyle.values()); styleChoice.setSelectedValue(FontStyle.forCode(font.getStyle()), true); styleChoice.addListSelectionListener(selectionHandler); FormLayout layout = new FormLayout("pref:grow, 4dlu, pref, 4dlu, pref", "pref, 4dlu, pref, 4dlu, fill:pref:grow"); layout.setHonorsVisibility(true); DefaultFormBuilder builder = new DefaultFormBuilder(layout); CellConstraints cc = new CellConstraints(); builder.add(new JScrollPane(fontNameList), cc.xywh(1, 1, 1, 3)); builder.add(fontSizeSpinner, cc.xywh(3, 1, 1, 1)); builder.add(new JScrollPane(fontSizeList), cc.xywh(3, 3, 1, 1)); builder.add(new JScrollPane(styleChoice), cc.xywh(5, 1, 1, 3)); previewArea.setBackground(Color.WHITE); previewArea.setPreferredSize(new Dimension(300, 100)); builder.add(previewArea, cc.xywh(1, 5, 5, 1)); // Set defaults after creating layout so the "scroll to visible" works fontSizeList.setSelectedValue(Integer.valueOf(font.getSize()), true); fontNameList.setSelectedValue(font.getFamily(), true); logger.debug( "Set family list to \"" + font.getFamily() + "\" and size to " + Integer.valueOf(font.getSize())); panel = builder.getPanel(); previewFont(); // ensure view is up to date! }
From source file:ca.sqlpower.wabit.swingui.enterprise.ServerInfoManager.java
License:Open Source License
/** * Creates a panel that displays the currently configured server * connections. New connections can be added from this panel and existing * connections can be modified or removed. * // ww w . j a v a 2 s . c o m * @param m_context * A Wabit context that contains server connection information. * @param m_dialogOwner * A component that will be used as the dialog owner for other * panels. * @param closeAction * An action that will properly close the object displaying the * panel. */ public ServerInfoManager(WabitSessionContext m_context, Component m_dialogOwner, final Runnable closeAction) { this.context = m_context; this.dialogOwner = m_dialogOwner; DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref")); serverInfos = new JList(new DefaultListModel()); serverInfos.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) { editSelectedServer(); } } }); JScrollPane scrollPane = new JScrollPane(serverInfos); scrollPane.setPreferredSize(new Dimension(400, 300)); this.connectButton = new JButton("Connect"); this.connectButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { SPServerInfo selectedItem = (SPServerInfo) serverInfos.getSelectedValue(); Window dialogParent; if (dialogOwner instanceof Window) { dialogParent = (Window) dialogOwner; } else { dialogParent = SwingUtilities.getWindowAncestor(dialogOwner); } if (selectedItem != null) { LogInToServerAction action = new LogInToServerAction(dialogParent, selectedItem, context); action.actionPerformed(e); } } }); // Build the GUI refreshInfoList(); CellConstraints cc = new CellConstraints(); builder.add(new JLabel("Available Server Connections:"), cc.xyw(1, 1, 3)); builder.nextLine(); builder.add(scrollPane, cc.xywh(1, 2, 1, 2)); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(new JButton(addAction)); buttonBarBuilder.append(new JButton(editAction)); buttonBarBuilder.append(new JButton(removeAction)); buttonBarBuilder.append(connectButton); buttonBarBuilder.append(new JButton(new AbstractAction("Close") { public void actionPerformed(ActionEvent arg0) { closeAction.run(); } })); builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); }
From source file:ca.sqlpower.wabit.swingui.olap.Olap4jTableHeaderComponent.java
License:Open Source License
public Olap4jTableHeaderComponent(CellSet cellSet) { CellSetAxis rowAxis = cellSet.getAxes().get(1); int positionCount = rowAxis.getPositionCount(); CellSetAxisMetaData axisMetaData = rowAxis.getAxisMetaData(); List<HierarchyLabelGrid> labelGrids = new ArrayList<HierarchyLabelGrid>( axisMetaData.getHierarchies().size()); for (int i = 0; i < axisMetaData.getHierarchies().size(); i++) { labelGrids.add(new HierarchyLabelGrid(i, positionCount)); }/*from w w w. j av a 2 s . c o m*/ for (Position p : rowAxis.getPositions()) { List<Member> members = p.getMembers(); int memberOrdinal = 0; for (Member member : members) { HierarchyLabelGrid lg = labelGrids.get(memberOrdinal); Member ancestor = member; do { lg.addLabelAtPosition(p.getOrdinal(), ancestor.getName()); ancestor = ancestor.getParentMember(); } while (ancestor != null); lg.finalizePosition(p.getOrdinal()); memberOrdinal++; } } int columns = 0; for (HierarchyLabelGrid lg : labelGrids) { columns += lg.getWidth(); } setLayout(new GridLayout(positionCount, columns)); CellConstraints cc = new CellConstraints(); String previousValue[] = new String[columns]; for (int position = 0; position < positionCount; position++) { int column = 0; for (HierarchyLabelGrid lg : labelGrids) { for (String positionText : lg.getLabelsForPosition(position)) { String labelText = null; if (!SQLPowerUtils.areEqual(positionText, previousValue[column])) { labelText = positionText; } JLabel label = new JLabel(labelText); label.setBackground(ColourScheme.HEADER_COLOURS[lg.getOrdinal()]); label.setOpaque(true); add(label, cc.xy(column + 1, position + 1)); previousValue[column] = positionText; column++; } } } }
From source file:calendarexportplugin.CalendarSettingsTab.java
License:Open Source License
public JPanel createSettingsPanel() { final EnhancedPanelBuilder pb = new EnhancedPanelBuilder( FormFactory.RELATED_GAP_COLSPEC.encode() + "," + FormFactory.PREF_COLSPEC.encode() + "," + FormFactory.RELATED_GAP_COLSPEC.encode() + ",default:grow," + FormFactory.RELATED_GAP_COLSPEC.encode() + "," + FormFactory.PREF_COLSPEC.encode()); CellConstraints cc = new CellConstraints(); mCategorie = new JTextField(mSettings.getCategory()); String[] reservedValues = { mLocalizer.msg("Busy", "Busy"), mLocalizer.msg("Free", "Free") }; mShowTime = new JComboBox(reservedValues); if (mSettings.isShowBusy()) { mShowTime.setSelectedIndex(0);//from w w w . j a va 2s. co m } else if (mSettings.isShowFree()) { mShowTime.setSelectedIndex(1); } String[] classificationValues = { mLocalizer.msg("Public", "Public"), mLocalizer.msg("Private", "Private"), mLocalizer.msg("Confidential", "Confidential") }; mClassification = new JComboBox(classificationValues); if (mSettings.isClassificationPublic()) { mClassification.setSelectedIndex(0); } else if (mSettings.isClassificationPrivate()) { mClassification.setSelectedIndex(1); } else if (mSettings.isClassificationConfidential()) { mClassification.setSelectedIndex(2); } mNulltime = new JCheckBox(mLocalizer.msg("nullTime", "Set length to 0 Minutes")); if (mSettings.getNullTime()) { mNulltime.setSelected(true); } pb.addRow(); pb.addLabel(mLocalizer.msg("Categorie", "Categorie") + ':', cc.xy(2, pb.getRow())); pb.add(mCategorie, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3)); pb.addRow(); pb.addLabel(mLocalizer.msg("ShowTime", "Show Time as") + ':', cc.xy(2, pb.getRow())); pb.add(mShowTime, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3)); pb.addRow(); pb.addLabel(mLocalizer.msg("Classification", "Classification") + ':', cc.xy(2, pb.getRow())); pb.add(mClassification, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3)); mUseAlarm = new JCheckBox(mLocalizer.msg("reminder", "Use reminder")); pb.addRow(); pb.add(mUseAlarm, cc.xy(2, pb.getRow())); SpinnerModel model = new SpinnerNumberModel(0, 0, 1440, 1); mAlarmMinutes = new JSpinner(model); JPanel panel = new JPanel(new BorderLayout()); panel.add(mAlarmMinutes, BorderLayout.WEST); final JLabel label = new JLabel(mLocalizer.msg("minutesBefore", "Minutes before start.")); label.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); panel.add(label, BorderLayout.CENTER); mUseAlarm.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { mAlarmMinutes.setEnabled(mUseAlarm.isSelected()); label.setEnabled(mUseAlarm.isSelected()); } }); if (mSettings.getUseAlarm()) { mUseAlarm.setSelected(true); } try { mAlarmMinutes.setValue(mSettings.getAlarmMinutes()); } catch (Exception e) { // empty } mAlarmMinutes.setEnabled(mUseAlarm.isSelected()); label.setEnabled(mUseAlarm.isSelected()); pb.add(panel, cc.xyw(4, pb.getRow(), 2)); pb.addRow(); pb.add(mNulltime, cc.xyw(2, pb.getRow(), 4)); mMarkItems = new JCheckBox(mLocalizer.msg("markItems", "Mark items when exported")); if (mSettings.getMarkItems()) { mMarkItems.setSelected(true); } pb.addRow(); pb.add(mMarkItems, cc.xyw(2, pb.getRow(), 4)); pb.addParagraph(mLocalizer.msg("interface", "Interface")); mExporterList = new SelectableItemList(mPlugin.getExporterFactory().getActiveExporters(), mPlugin.getExporterFactory().getAllExporters()); pb.addRow("120"); pb.add(mExporterList, cc.xyw(2, pb.getRow(), 3)); final JButton settings = new JButton(Localizer.getLocalization(Localizer.I18N_SETTINGS)); settings.setEnabled(false); mExporterList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { Object[] ob = mExporterList.getListSelection(); if ((ob.length == 1) && (((ExporterIf) ob[0]).hasSettingsDialog())) { settings.setEnabled(true); } else { settings.setEnabled(false); } } }); settings.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Object[] ob = mExporterList.getListSelection(); if (ob.length == 1) { ((ExporterIf) ob[0]).showSettingsDialog(mSettings); } } }); pb.add(settings, cc.xy(6, pb.getRow(), CellConstraints.RIGHT, CellConstraints.TOP)); pb.addParagraph(mLocalizer.msg("formattings", "Formattings")); JButton extended = new JButton(mLocalizer.msg("formattings", "Formattings")); extended.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { showExtendedDialog(pb.getPanel()); } }); pb.addRow(); pb.add(extended, cc.xy(2, pb.getRow())); return pb.getPanel(); }
From source file:calendarexportplugin.exporter.AppleSettingsDialog.java
License:Open Source License
private void createGui(final CalendarExportSettings settings) { setTitle(mLocalizer.msg("title", "iCal Calendar Settings")); UiUtilities.registerForClosing(this); JPanel content = (JPanel) getContentPane(); content.setBorder(Borders.DLU4_BORDER); CellConstraints cc = new CellConstraints(); content.setLayout(new FormLayout("5dlu, 15dlu, fill:pref:grow, 3dlu, 100dlu", "pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, fill:3dlu:grow ,pref, 3dlu,pref")); content.add(new JLabel(mLocalizer.msg("select", "Select Calendar")), cc.xyw(2, 3, 2)); mCalendarChooser = new JTextField(); content.add(mCalendarChooser, cc.xy(5, 3)); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addGlue();/*w ww. j a v a 2 s.c o m*/ mOkButton = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); mOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { okPressed(settings); } }); getRootPane().setDefaultButton(mOkButton); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { close(); } }); builder.addButton(new JButton[] { mOkButton, cancel }); content.add(builder.getPanel(), cc.xyw(1, 19, 5)); loadValues(settings); setSize(Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(100, this)); }