List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append
public JLabel append(String textWithMnemonic)
From source file:ca.sqlpower.architect.swingui.enterprise.ServerProjectsManagerPanel.java
License:Open Source License
public ServerProjectsManagerPanel(ArchitectSwingSession session, ArchitectSessionContext context, Component dialogOwner, Action closeAction) { this.session = session; this.dialogOwner = dialogOwner; this.context = context; this.closeAction = closeAction; ArchitectClientSideSession.getCookieStore().clear(); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref:grow, 5dlu, pref:grow, 5dlu, pref", "pref, pref, pref")); servers = new JList(new DefaultListModel()); servers.addMouseListener(new MouseAdapter() { @Override/*from w w w . j av a 2 s. co m*/ public void mouseReleased(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { refreshInfoList(); } } }); DefaultListModel serversModel = (DefaultListModel) servers.getModel(); serversModel.removeAllElements(); if (context.getServerManager().getServers(false).size() > 0) { for (SPServerInfo serverInfo : context.getServerManager().getServers(false)) { serversModel.addElement(serverInfo); } } else { serversModel.addElement("No Servers"); servers.setEnabled(false); } projects = new JList(new DefaultListModel()); projects.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { refreshPanel(); if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) { openAction.actionPerformed(null); } } }); JScrollPane projectsPane = new JScrollPane(projects); projectsPane.setPreferredSize(new Dimension(250, 300)); JScrollPane serverPane = new JScrollPane(servers); serverPane.setPreferredSize(new Dimension(250, 300)); JButton securityButton = new JButton(openSecurityManagerPanelAction); refreshInfoList(); CellConstraints cc = new CellConstraints(); builder.add(new JLabel("Servers:"), cc.xyw(1, 1, 2)); builder.add(new JLabel("Projects:"), cc.xyw(3, 1, 2)); builder.nextLine(); builder.add(serverPane, cc.xywh(1, 2, 1, 2)); builder.add(projectsPane, cc.xywh(3, 2, 1, 2)); DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref")); buttonBarBuilder.append(new JButton(refreshAction)); buttonBarBuilder.append(securityButton); buttonBarBuilder.append(new JButton(newAction)); buttonBarBuilder.append(new JButton(openAction)); buttonBarBuilder.append(new JButton(uploadAction)); buttonBarBuilder.append(new JButton(deleteAction)); buttonBarBuilder.append(new JButton(closeAction)); builder.add(buttonBarBuilder.getPanel(), cc.xy(5, 2)); builder.setDefaultDialogBorder(); panel = builder.getPanel(); }
From source file:ca.sqlpower.architect.swingui.KettleJobPanel.java
License:Open Source License
/** * Sets the {@link #panel} to be a new panel that can be used by the user to define * Kettle job properties.//w w w. j av a2s. c om */ private void buildUI() { KettleJob settings = session.getKettleJob(); panel.setLayout(new FormLayout()); panel.setPreferredSize(new Dimension(450, 300)); nameField = new JTextField(settings.getJobName()); databaseComboBox = new JComboBox(); ASUtils.setupTargetDBComboBox(session, databaseComboBox); newDatabaseButton = new JButton(); newDatabaseButton.setText(Messages.getString("KettleJobPanel.propertiesButton")); //$NON-NLS-1$ newDatabaseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Window parentWindow = SPSUtils.getWindowInHierarchy(panel); ASUtils.showTargetDbcsDialog(parentWindow, session, databaseComboBox); } }); schemaName = new JTextField(settings.getSchemaName()); saveFileRadioButton = new JRadioButton(Messages.getString("KettleJobPanel.saveJobToFileOption"), //$NON-NLS-1$ settings.isSavingToFile()); filePath = new JTextField(settings.getFilePath()); filePath.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { copyFilePath(); } public void insertUpdate(DocumentEvent e) { copyFilePath(); } public void removeUpdate(DocumentEvent e) { copyFilePath(); } private void copyFilePath() { File file = new File(filePath.getText()); if (file != null) { File parentFile = file.getParentFile(); transformationPath.setText(" " //$NON-NLS-1$ + ((parentFile == null || parentFile.getPath() == null) ? "" : parentFile.getPath())); //$NON-NLS-1$ } } }); browseFilePath = new JButton(); browseFilePath.setText(Messages.getString("KettleJobPanel.browseButton")); //$NON-NLS-1$ browseFilePath.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(session.getProjectLoader().getFile()); chooser.addChoosableFileFilter(SPSUtils.XML_FILE_FILTER); int response = chooser.showSaveDialog(panel); if (response != JFileChooser.APPROVE_OPTION) { return; } else { File file = chooser.getSelectedFile(); File parentFile = file.getParentFile(); filePath.setText(file.getPath()); if (parentFile != null) { transformationPath.setText(" " + parentFile.getPath()); //$NON-NLS-1$ } } } }); File parentFile = new File(settings.getFilePath()).getParentFile(); if (settings == null || parentFile == null || parentFile.getPath() == null) { transformationPath = new JLabel(""); //$NON-NLS-1$ } else { transformationPath = new JLabel(" " + parentFile.getPath()); //$NON-NLS-1$ } saveReposRadioButton = new JRadioButton(Messages.getString("KettleJobPanel.saveJobToRepositoryOption"), //$NON-NLS-1$ !settings.isSavingToFile()); Object[] connectionArray = session.getContext().getConnections().toArray(); reposDB = new JComboBox(connectionArray); if (connectionArray.length > 0) { reposDB.setSelectedIndex(0); } reposPropertiesButton = new JButton(); reposPropertiesButton.setText(Messages.getString("KettleJobPanel.propertiesButton")); //$NON-NLS-1$ reposPropertiesButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Window parentWindow = SPSUtils.getWindowInHierarchy(panel); ASUtils.showDbcsDialog(parentWindow, (JDBCDataSource) reposDB.getSelectedItem(), null); } }); ButtonGroup saveByButtonGroup = new ButtonGroup(); saveByButtonGroup.add(saveFileRadioButton); saveByButtonGroup.add(saveReposRadioButton); defaultJoinType = new JComboBox(); for (int joinType = 0; joinType < MergeJoinMeta.join_types.length; joinType++) { defaultJoinType.addItem(MergeJoinMeta.join_types[joinType]); } defaultJoinType.setSelectedIndex(settings.getKettleJoinType()); FormLayout formLayout = new FormLayout("10dlu, 2dlu, pref, 4dlu," + //1-4 //$NON-NLS-1$ "0:grow, 4dlu, pref", //5-7 //$NON-NLS-1$ ""); //$NON-NLS-1$ DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, panel); builder.nextColumn(2); builder.append(Messages.getString("KettleJobPanel.jobNameLabel")); //$NON-NLS-1$ builder.append(nameField, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(Messages.getString("KettleJobPanel.targetDatabaseLabel")); //$NON-NLS-1$ builder.append(databaseComboBox); builder.append(newDatabaseButton); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(Messages.getString("KettleJobPanel.schemaNameLabel")); //$NON-NLS-1$ builder.append(schemaName, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(Messages.getString("KettleJobPanel.defaultJoinTypeLabel")); //$NON-NLS-1$ builder.append(defaultJoinType); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(saveFileRadioButton, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(Messages.getString("KettleJobPanel.pathLabel")); //$NON-NLS-1$ builder.append(filePath); builder.append(browseFilePath); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(""); //$NON-NLS-1$ JLabel transPathLabel = new JLabel(Messages.getString("KettleJobPanel.transfomationsPathLabel")); //$NON-NLS-1$ builder.append(transPathLabel, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(""); //$NON-NLS-1$ builder.append(transformationPath, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(saveReposRadioButton, 3); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(Messages.getString("KettleJobPanel.repositoryLabel")); //$NON-NLS-1$ builder.append(reposDB); builder.append(reposPropertiesButton); builder.nextLine(); builder.append(""); //$NON-NLS-1$ //TODO use CompareDM to check if the target database and the playpen are the same JLabel check = new JLabel(Messages.getString("KettleJobPanel.checkTargetSameAsPlaypenWarning")); //$NON-NLS-1$ builder.append(check, 5); }
From source file:ca.sqlpower.architect.swingui.olap.JoinEntryPanel.java
License:Open Source License
private void buildUI() { DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("fill:max(500dlu;pref):grow", "pref, fill:max(300dlu;pref):grow"), panel); JToolBar toolbar = new JToolBar(); toolbar.add(pen.getDeleteButton());// w w w . j ava 2 s .c o m toolbar.add(pen.getCreateJoinButton()); toolbar.addSeparator(); toolbar.add(pen.getZoomSliderContainer()); builder.append(toolbar); builder.nextLine(); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); splitPane.add(pen.getScrollPane(), JSplitPane.LEFT); SQLObjectRoot root = new SQLObjectRoot(); TreeModel treeModel; DBTree tree; try { root.addChild(db); tree = new DBTree(session); treeModel = new DBTreeModel(root, tree); } catch (SQLObjectException e) { throw new RuntimeException(e); } tree.setModel(treeModel); tree.setPopupMenuEnabled(false); JPanel treePanel = new JPanel(new BorderLayout()); treePanel.add(new JLabel(db.getName()), BorderLayout.NORTH); treePanel.add(new JScrollPane(tree)); splitPane.add(treePanel, JSplitPane.RIGHT); splitPane.setResizeWeight(0.95); builder.append(splitPane); }
From source file:ca.sqlpower.architect.swingui.olap.ViewEntryPanel.java
License:Open Source License
public ViewEntryPanel(ArchitectSwingSession session, SQLDatabase db, CubeEditPanel cubeEditPanel) { this.cubeEditPanel = cubeEditPanel; DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("pref, 5dlu:grow, pref, 3dlu, pref", "pref, fill:pref:grow")); queryComponents = new SQLQueryUIComponents(session, session.getDataSources(), session, builder.getPanel()); queryComponents.getRowLimitSpinner().setValue(Integer.valueOf(1000)); queryComponents.getDatabaseComboBox().setSelectedItem(db.getDataSource()); JToolBar toolbar = new JToolBar(); toolbar.add(queryComponents.getPrevQueryButton()); toolbar.add(queryComponents.getNextQueryButton()); toolbar.addSeparator();/* ww w.j a v a 2 s .c om*/ toolbar.add(queryComponents.getExecuteButton()); toolbar.add(queryComponents.getStopButton()); toolbar.add(queryComponents.getClearButton()); toolbar.addSeparator(); toolbar.add(queryComponents.getUndoButton()); toolbar.add(queryComponents.getRedoButton()); toolbar.addSeparator(); toolbar.add(new JLabel(db.getName())); builder.append(toolbar); builder.append("Row Limit", queryComponents.getRowLimitSpinner()); builder.nextLine(); queryArea = queryComponents.getQueryArea(); builder.append(new JScrollPane(queryArea), 5); queryArea.setText(cubeEditPanel.getSelectText()); JSplitPane rightSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); rightSplitPane.setTopComponent(builder.getPanel()); rightSplitPane.setBottomComponent(queryComponents.getResultTabPane()); rightSplitPane .setPreferredSize(new Dimension((int) Math.max(400, rightSplitPane.getPreferredSize().getWidth()), (int) Math.max(500, rightSplitPane.getPreferredSize().getHeight()))); rightSplitPane.setResizeWeight(0.5); SQLObjectRoot root = new SQLObjectRoot(); TreeModel treeModel; DBTree tree; try { root.addChild(db); tree = new DBTree(session); treeModel = new DBTreeModel(root, tree); } catch (SQLObjectException e) { throw new RuntimeException(e); } tree.setModel(treeModel); tree.setPopupMenuEnabled(false); splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); splitPane.setLeftComponent(tree); splitPane.setRightComponent(rightSplitPane); splitPane.setResizeWeight(0.2); }
From source file:ca.sqlpower.architect.swingui.UserRepositoryDirectoryChooser.java
License:Open Source License
/** * This method allows the selection of the directory. Null is returned if the user cancelled. *//*w ww .j a v a 2 s . co m*/ public RepositoryDirectory selectDirectory(Repository repo) { final JDialog chooserDialog = new JDialog(parent); chooserDialog.setTitle(Messages.getString("UserRepositoryDirectoryChooser.selectRepositoryDialogTitle")); //$NON-NLS-1$ FormLayout layout = new FormLayout("10dlu, 2dlu, fill:pref:grow, 12dlu", "pref, fill:pref:grow, pref"); //$NON-NLS-1$ //$NON-NLS-2$ DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.nextColumn(2); builder.append(Messages.getString("UserRepositoryDirectoryChooser.chooseDirectory")); //$NON-NLS-1$ builder.nextLine(); DefaultMutableTreeNode root = populateTree(repo.getDirectoryTree()); final JTree tree = new JTree(root); builder.append(""); //$NON-NLS-1$ JScrollPane scrollPane = new JScrollPane(tree); scrollPane.setPreferredSize(new Dimension(200, 350)); builder.append(scrollPane); ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); JButton okButton = new JButton(Messages.getString("UserRepositoryDirectoryChooser.okOption")); //$NON-NLS-1$ okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (tree.getSelectionPath() == null) { return; } directory = (RepositoryDirectory) ((DefaultMutableTreeNode) tree.getSelectionPath() .getLastPathComponent()).getUserObject(); chooserDialog.dispose(); } }); buttonBar.addGridded(okButton); buttonBar.addRelatedGap(); JButton cancelButton = new JButton(Messages.getString("UserRepositoryDirectoryChooser.cancelOption")); //$NON-NLS-1$ cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { directory = null; chooserDialog.dispose(); } }); buttonBar.addGridded(cancelButton); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.add(buttonBar.getPanel()); chooserDialog.add(builder.getPanel()); chooserDialog.setModal(true); Runnable promptUser = new Runnable() { public void run() { chooserDialog.pack(); chooserDialog.setLocationRelativeTo(parent); chooserDialog.setVisible(true); } }; if (SwingUtilities.isEventDispatchThread()) { promptUser.run(); } else { try { SwingUtilities.invokeAndWait(promptUser); } catch (InterruptedException e) { ASUtils.showExceptionDialogNoReport(parent, "While queing the dialog's pack, setVisible and setLocation, we were interrupted", e); //$NON-NLS-1$ } catch (InvocationTargetException e) { ASUtils.showExceptionDialogNoReport(parent, "While queing the dialog's pack, setVisible and setLocation, an InvocationTargetException was thrown", //$NON-NLS-1$ e); } } return directory; }
From source file:ca.sqlpower.matchmaker.swingui.data.CommonWordsFinderPanel.java
License:Open Source License
public CommonWordsFinderPanel(final MatchMakerSwingSession session, SPDataSource defaultConnection) { this.session = session; DataSourceCollection dataSources = session.getContext().getPlDotIni(); final JComboBox connectionChooser = new JComboBox(new ConnectionComboBoxModel(dataSources)); connectionChooser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { JDBCDataSource ds = (JDBCDataSource) connectionChooser.getSelectedItem(); // Gets the session's shared SQLDatabase for this data source SQLDatabase db = session.getDatabase(ds); // XXX don't know if this is going to reparent the shared database in a bad way! SQLObjectRoot root = new SQLObjectRoot(); root.addChild(db);/*from w w w.ja v a2 s. c o m*/ DBTreeModel model = new DBTreeModel(root); columnPicker.setModel(model); } catch (SQLObjectException ex) { throw new RuntimeException(ex); } } }); columnPicker = new JTree(); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref:grow")); builder.append("Choose a column to analyze for frequently-occurring words:"); builder.append(connectionChooser); builder.append(new JScrollPane(columnPicker)); JDefaultButton okButton = new JDefaultButton("Start"); JButton cancelButton = new JButton("Cancel"); builder.append(ButtonBarFactory.buildOKCancelBar(okButton, cancelButton)); panel = builder.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.engine.AddressValidationSettingsPanel.java
License:Open Source License
private void buildUI() { FormLayout validationSettingsLayout = new FormLayout("pref"); DefaultFormBuilder dfb = new DefaultFormBuilder(validationSettingsLayout); dfb.append("Address Filter Setting"); dfb.nextLine();/* ww w . j a va 2 s . c o m*/ valid = new JCheckBox("Include all valid addresses"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_ONLY || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_INVALID) { valid.setSelected(true); } dfb.append(valid); dfb.nextLine(); differentFormat = new JCheckBox("Include all valid addresses with different formatting"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.DIFFERENT_FORMAT_ONLY) { differentFormat.setSelected(true); } dfb.append(differentFormat); dfb.nextLine(); invalid = new JCheckBox("Include all invalid addresses"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_INVALID || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_ONLY) { invalid.setSelected(true); } dfb.append(invalid); dfb.nextLine(); dfb.appendUnrelatedComponentsGapRow(); dfb.nextLine(); dfb.append("Auto-correction Setting"); ButtonGroup autoValidateButtonGroup = new ButtonGroup(); dfb.nextLine(); avcNothingRB = new JRadioButton(AutoValidateSetting.NOTHING.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.NOTHING) { avcNothingRB.setSelected(true); } dfb.append(avcNothingRB); autoValidateButtonGroup.add(avcNothingRB); dfb.nextLine(); avcSerpCorrectableRB = new JRadioButton(AutoValidateSetting.SERP_CORRECTABLE.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.SERP_CORRECTABLE) { avcSerpCorrectableRB.setSelected(true); } dfb.append(avcSerpCorrectableRB); autoValidateButtonGroup.add(avcSerpCorrectableRB); dfb.nextLine(); avcEverythingWithOneSuggestionRB = new JRadioButton( AutoValidateSetting.EVERYTHING_WITH_ONE_SUGGESTION.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.EVERYTHING_WITH_ONE_SUGGESTION) { avcEverythingWithOneSuggestionRB.setSelected(true); } dfb.append(avcEverythingWithOneSuggestionRB); autoValidateButtonGroup.add(avcEverythingWithOneSuggestionRB); dfb.nextLine(); avcEverythingWithSuggestionRB = new JRadioButton( AutoValidateSetting.EVERYTHING_WITH_SUGGESTION.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.EVERYTHING_WITH_SUGGESTION) { avcEverythingWithSuggestionRB.setSelected(true); } dfb.append(avcEverythingWithSuggestionRB); autoValidateButtonGroup.add(avcEverythingWithSuggestionRB); panel = dfb.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.munge.AbstractMungeComponent.java
License:Open Source License
/** * Creates a AbstractMungeComponent for the given step that will be in the munge pen. * Sets the background and border colours to given colours. * /*ww w.j ava2 s .c om*/ * @param step The step connected to the UI * @param border The colour for the border around the rectangle * @param bg The background colour to the rectangle */ public AbstractMungeComponent(MungeStep step, FormValidationHandler handler, MatchMakerSession s) { if (step == null) throw new NullPointerException("Null step"); try { step.refresh(logger); } catch (Exception e1) { throw new RuntimeException("Failed to refresh step " + step.getName(), e1); } this.session = (MatchMakerSwingSession) s; this.handler = handler; this.step = step; setVisible(true); setBackground(normalBackground); autoScrollTimer = new Timer(AUTO_SCROLL_TIME, new AbstractAction() { public void actionPerformed(ActionEvent e) { logger.debug("TIMER GO!!!"); getPen().autoscroll(autoScrollPoint, AbstractMungeComponent.this); } }); autoScrollTimer.stop(); autoScrollTimer.setRepeats(true); dropNibIndex = -1; ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); toolTipManager.setInitialDelay(0); bustGhost(); mungeComKeyListener = new MungeComponentKeyListener(); addKeyListener(mungeComKeyListener); step.addSPListener(new StepEventHandler()); setName(step.getName()); resizeBorders(); setOpaque(false); setFocusable(true); Dimension ps = getPreferredSize(); setBounds(0, 0, ps.width, ps.height); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref", "pref, pref, fill:pref, pref"), this); setBackground(Color.GREEN); inputNames = new JPanel(); inputNames.setOpaque(false); inputNames.setLayout(new FlowLayout()); inputLabels = new CoolJLabel[step.getMSOInputs().size()]; for (int x = 0; x < inputLabels.length; x++) { InputDescriptor id = step.getInputDescriptor(x); inputLabels[x] = new CoolJLabel(id.getName(), id.getType()); inputLabels[x].collapse(); inputNames.add(inputLabels[x]); inputLabels[x].setOpaque(false); } setInputShowNames(false); builder.append(inputNames); builder.nextLine(); if (isExpanded() && inputNames.isVisible()) { inputNames.setVisible(true); } else { inputNames.setVisible(false); } revalidate(); outputNames = new JPanel(); outputNames.setOpaque(false); outputNames.setLayout(new FlowLayout()); outputLabels = new CoolJLabel[step.getChildren(MungeStepOutput.class).size()]; for (int x = 0; x < outputLabels.length; x++) { MungeStepOutput out = step.getChildren(MungeStepOutput.class).get(x); outputLabels[x] = new CoolJLabel(out.getName(), out.getType()); outputLabels[x].collapse(); outputNames.add(outputLabels[x]); outputLabels[x].setOpaque(false); } setOutputShowNames(false); JPanel tmp = new JPanel(new FlowLayout()); tmp.setBackground(Color.BLUE); tmp.add(new JLabel(step.getName())); hideShow = new JButton(new HideShowAction()); hideShow.setIcon(EXPOSE_OFF); setupOpaqueComponents(); content = buildUI(); //returning null will prevent the +/- button form showing up if (content != null) { deOpaquify(content); JToolBar tb = new JToolBar(); hideShow.setBorder(null); hideShow.addMouseListener(new MouseAdapter() { public void mouseEntered(MouseEvent e) { hideShow.setIcon(EXPOSE_ON); hideShow.setBorder(null); } public void mouseExited(MouseEvent e) { hideShow.setIcon(EXPOSE_OFF); hideShow.setBorder(null); } }); tb.setBorder(null); tb.add(hideShow); tb.setFloatable(false); tmp.add(tb); } builder.append(tmp); builder.nextLine(); if (content != null) { builder.append(content); } builder.nextLine(); builder.append(outputNames); addMouseListener(new MungeComponentMouseListener()); addMouseMotionListener(new MungeComponentMouseMoveListener()); addComponentListener(new ComponentListener() { public void componentHidden(ComponentEvent e) { } public void componentMoved(ComponentEvent e) { getParent().repaint(); } public void componentResized(ComponentEvent e) { getParent().repaint(); } public void componentShown(ComponentEvent e) { } }); addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { //if it is being deleted if (getParent() != null) { getParent().repaint(); MatchMakerTreeModel treeModel = (MatchMakerTreeModel) session.getTree().getModel(); TreePath menuPath = treeModel.getPathForNode(getStep()); session.getTree().setSelectionPath(menuPath); } } public void focusLost(FocusEvent e) { if (getParent() != null) { getParent().repaint(); } if (autoScrollTimer.isRunning()) { autoScrollTimer.stop(); } } }); setOpaque(false); tmp.setOpaque(false); // Note, this does not take care of the content panel; only the basic // stuff added here in the constructor (most importantly, the +/- button) deOpaquify(this); deOpaquify(inputNames); setDefaults(); }
From source file:ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { if (addressDataRequired != null) { addressDataRequired.removeMouseListener(HyperlinkTextSelectedListener); }//from w w w .jav a 2 s . c om if (HyperlinkTextSelectedListener == null) { HyperlinkTextSelectedListener = new MouseAdapter() { public void mouseEntered(MouseEvent e) { setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } public void mousePressed(MouseEvent e) { try { BrowserUtil.launch(addressDataURL); } catch (IOException e1) { SPSUtils.showExceptionDialogNoReport(AddressCorrectionMungeComponent.this, "Invalid URL", e1); } } public void mouseExited(MouseEvent e) { setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } }; } DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("center:pref:grow", "fill:pref, pref")); addressDataURL = "http://www.sqlpower.ca/page/dqguru_address_data"; addressDataRequired = new JLabel( "<html> <p align =\"center\">You cannot continue without having a valid address database to compare against!<br> Please set the path to your address database in the User Preferences... <br> To purchase one, click on the following link:<br> <a href=\"" + addressDataURL + "\">http://www.sqlpower.ca/page/dqguru_address_data</a><html>"); addressDataRequired.addMouseListener(HyperlinkTextSelectedListener); builder.add(addressDataRequired); builder.nextLine(); addressDataRequired.setVisible(false); if (!((AddressCorrectionMungeStep) getStep()).doesDatabaseExist()) { addressDataRequired.setVisible(true); } showAllButton = new JButton(new HideShowAllLabelsAction("Show All", true, true, true)); hideAllButton = new JButton(new HideShowAllLabelsAction("Hide All", true, true, false)); JPanel content = new JPanel(new FlowLayout()); content.add(showAllButton); content.add(hideAllButton); builder.append(content); setOutputShowNames(true); setInputShowNames(true); return builder.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.munge.GoogleAddressLookupMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { GoogleAddressLookup temp = (GoogleAddressLookup) getStep(); url = new JTextField(temp.getGoogleGeocoderURL()); url.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(DocumentEvent e) { doStuff();/*from w ww . j a v a 2s. co m*/ } public void removeUpdate(DocumentEvent e) { doStuff(); } public void changedUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { GoogleAddressLookup step = (GoogleAddressLookup) getStep(); step.setGoogleGeocoderURL(url.getText()); } }); key = new JTextField(temp.getGoogleMapsApiKey()); key.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(DocumentEvent e) { doStuff(); } public void removeUpdate(DocumentEvent e) { doStuff(); } public void changedUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { GoogleAddressLookup step = (GoogleAddressLookup) getStep(); step.setGoogleMapsApiKey(key.getText()); } }); rateLimit = new JSpinner(new SpinnerNumberModel(0.0, 0.0, 10.0, 0.1)); rateLimit.setValue(temp.getRateLimit()); JPanel mainContent = new JPanel(); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("fill:pref:grow", "fill:pref, pref"), mainContent); FormLayout layout = new FormLayout("4dlu,pref,4dlu,fill:pref:grow,4dlu", // columns "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu"); // rows CellConstraints cc = new CellConstraints(); JPanel content = new JPanel(layout); content.add(new JLabel("URL:"), cc.xy(2, 2)); content.add(url, cc.xy(4, 2)); content.add(new JLabel("Google Maps API Key:"), cc.xy(2, 4)); content.add(key, cc.xy(4, 4)); content.add(new JLabel("Rate Limit (s):"), cc.xy(2, 6)); content.add(rateLimit, cc.xy(4, 6)); JPanel subPanel = new JPanel(new FlowLayout()); showAllButton = new JButton(new HideShowAllLabelsAction("Show All", false, true, true)); hideAllButton = new JButton(new HideShowAllLabelsAction("Hide All", false, true, false)); subPanel.add(showAllButton); subPanel.add(hideAllButton); builder.append(content); builder.nextLine(); builder.append(subPanel); return mainContent; }