private JButton createButton(String imagePath, String description) { final JButton button = WidgetFactory.createImageButton(imageManager.getImageIcon(imagePath)); final DCPopupBubble popupBubble = new DCPopupBubble(_glassPane, description, 0, 0, imagePath); popupBubble.attachTo(button); return button; }
@Override protected JComponent getDialogContent() { CloseableTabbedPane tabbedPane = new CloseableTabbedPane(true); tabbedPane.addTab( "About DataCleaner", imageManager.getImageIcon("images/window/app-icon.png", IconUtils.ICON_SIZE_LARGE), getAboutPanel(), "About DataCleaner"); tabbedPane.setUnclosableTab(0); tabbedPane.addTab( "Licensing", imageManager.getImageIcon("images/menu/license.png"), getLicensingPanel(), "Licensing"); tabbedPane.setUnclosableTab(1); tabbedPane.setPreferredSize(new Dimension(getDialogWidth(), 500)); return tabbedPane; }
private void updateComponents() { _listPanel.removeAll(); final String[] names = _catalog.getStringPatternNames(); Arrays.sort(names); final Icon icon = imageManager.getImageIcon("images/model/stringpattern.png"); for (final String name : names) { final StringPattern stringPattern = _catalog.getStringPattern(name); final DCLabel stringPatternLabel = DCLabel.dark( "<html><b>" + name + "</b><br/>" + getDescription(stringPattern) + "</html>"); stringPatternLabel.setIcon(icon); stringPatternLabel.setMaximumWidth(ReferenceDataDialog.REFERENCE_DATA_ITEM_MAX_WIDTH); final JButton editButton = WidgetFactory.createSmallButton("images/actions/edit.png"); editButton.setToolTipText("Edit string pattern"); if (stringPattern instanceof RegexStringPattern) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { RegexStringPatternDialog dialog = new RegexStringPatternDialog( (RegexStringPattern) stringPattern, _catalog, _windowContext); dialog.setVisible(true); } }); } else if (stringPattern instanceof SimpleStringPattern) { editButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { SimpleStringPatternDialog dialog = new SimpleStringPatternDialog( (SimpleStringPattern) stringPattern, _catalog, _windowContext); dialog.setVisible(true); } }); } else { editButton.setEnabled(false); } final JButton removeButton = WidgetFactory.createSmallButton(IconUtils.ACTION_REMOVE); removeButton.setToolTipText("Remove string pattern"); removeButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int result = JOptionPane.showConfirmDialog( StringPatternListPanel.this, "Are you sure you wish to remove the string pattern '" + name + "'?", "Confirm remove", JOptionPane.YES_NO_OPTION); if (result == JOptionPane.YES_OPTION) { _catalog.removeStringPattern(stringPattern); } } }); if (!_catalog.isStringPatternMutable(name)) { editButton.setEnabled(false); removeButton.setEnabled(false); } final DCPanel stringPatternPanel = new DCPanel(); stringPatternPanel.setBorder(WidgetUtils.BORDER_LIST_ITEM); WidgetUtils.addToGridBag(stringPatternLabel, stringPatternPanel, 0, 0, 1.0, 0.0); WidgetUtils.addToGridBag(editButton, stringPatternPanel, 1, 0, GridBagConstraints.EAST); WidgetUtils.addToGridBag(removeButton, stringPatternPanel, 2, 0, GridBagConstraints.EAST); _listPanel.add(stringPatternPanel); } if (names.length == 0) { _listPanel.add(DCLabel.dark("(none)")); } updateUI(); }
private JComponent getAboutPanel() { final DCLabel headerLabel = DCLabel.dark("DataCleaner " + Version.getEdition() + " " + Version.getVersion()); headerLabel.setFont(WidgetUtils.FONT_HEADER1); final ImageManager imageManager = ImageManager.get(); final JButton datacleanerButton = new JButton(imageManager.getImageIcon("images/links/datacleaner.png")); datacleanerButton.addActionListener(new OpenBrowserAction("http://datacleaner.org")); datacleanerButton.setToolTipText("Visit the DataCleaner website"); datacleanerButton.setBorder(null); final JButton bloggerButton = new JButton(imageManager.getImageIcon("images/links/blogger.png")); bloggerButton.addActionListener(new OpenBrowserAction("http://kasper.eobjects.org")); bloggerButton.setToolTipText("Follow along at our blog"); bloggerButton.setBorder(null); final JButton linkedInButton = new JButton(imageManager.getImageIcon("images/links/linkedin.png")); linkedInButton.addActionListener( new OpenBrowserAction("http://www.linkedin.com/groups?gid=3352784")); linkedInButton.setToolTipText("Join the DataCleaner LinkedIn group"); linkedInButton.setBorder(null); final DCPanel buttonPanel = new DCPanel(); buttonPanel.setLayout(new HorizontalLayout()); buttonPanel.add(datacleanerButton); buttonPanel.add(Box.createHorizontalStrut(10)); buttonPanel.add(bloggerButton); buttonPanel.add(Box.createHorizontalStrut(10)); buttonPanel.add(linkedInButton); final HumanInferenceToolbarButton humanInferenceButton = new HumanInferenceToolbarButton( imageManager.getImageIcon("images/powered-by-human-inference-bright.png")); final DCPanel contentPanel = new DCPanel(); contentPanel.setLayout(new VerticalLayout()); contentPanel.add(headerLabel); contentPanel.add( DCLabel.dark( "Copyright (C) " + Calendar.getInstance().get(Calendar.YEAR) + " Human Inference")); contentPanel.add(Box.createVerticalStrut(20)); contentPanel.add(DCPanel.around(humanInferenceButton)); if (Version.isCommunityEdition()) { contentPanel.add(Box.createVerticalStrut(20)); contentPanel.add(DCLabel.dark("Licensed under the LGPL license")); contentPanel.add(DCLabel.dark("(see Licensing tab).")); } else { final String licenseKey = Version.getLicenseKey(); contentPanel.add(Box.createVerticalStrut(20)); contentPanel.add(DCLabel.dark("License key: " + licenseKey)); } contentPanel.add(Box.createVerticalStrut(30)); contentPanel.add(DCLabel.dark("Java runtime information:")); contentPanel.add(DCLabel.dark(" " + System.getProperty("java.vm.name"))); contentPanel.add(DCLabel.dark(" by " + System.getProperty("java.vm.vendor"))); contentPanel.add(DCLabel.dark(" version " + System.getProperty("java.runtime.version"))); contentPanel.add(Box.createVerticalStrut(30)); contentPanel.add(buttonPanel); final DCPanel mainPanel = new DCPanel( imageManager.getImage("images/window/app-icon-hires.png"), 97, 10, WidgetUtils.BG_COLOR_BRIGHT, WidgetUtils.BG_COLOR_BRIGHTEST); mainPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); mainPanel.setLayout(new VerticalLayout()); mainPanel.add(contentPanel); return mainPanel; }