/** * Constructs a RemoveButton. * * @param host */ public ClearHostButton(File host) { hostCacheDir = host; setText(ToolsRes.getString("LibraryManager.Button.Clear")); // $NON-NLS-1$ setToolTipText(ToolsRes.getString("LibraryManager.Button.Clear.Tooltip")); // $NON-NLS-1$ setOpaque(false); setBorder(listButtonBorder); setBorderPainted(false); setContentAreaFilled(false); addMouseListener( new MouseAdapter() { public void mouseEntered(MouseEvent e) { setBorderPainted(true); setContentAreaFilled(true); } public void mouseExited(MouseEvent e) { setBorderPainted(false); setContentAreaFilled(false); } }); addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { ResourceLoader.clearOSPCacheHost(hostCacheDir); refreshCacheTab(); tabbedPane.repaint(); } }); }
/** * Constructs a DeleteButton. * * @param path */ public DeleteButton(String path) { urlPath = path; setText(ToolsRes.getString("LibraryManager.Button.Delete")); // $NON-NLS-1$ setToolTipText(ToolsRes.getString("LibraryManager.Button.Delete.Tooltip")); // $NON-NLS-1$ setOpaque(false); setBorder(listButtonBorder); setBorderPainted(false); setContentAreaFilled(false); addMouseListener( new MouseAdapter() { public void mouseEntered(MouseEvent e) { setBorderPainted(true); setContentAreaFilled(true); } public void mouseExited(MouseEvent e) { setBorderPainted(false); setContentAreaFilled(false); } }); addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { File file = ResourceLoader.getSearchCacheFile(urlPath); file.delete(); refreshSearchTab(); } }); }
/** * Constructs a RemoveButton. * * @param path */ public SearchCheckBox(String path) { urlPath = path; setText(ToolsRes.getString("LibraryManager.Checkbox.Search")); // $NON-NLS-1$ setFont(sharedFont); setSelected(!library.noSearchSet.contains(path)); setOpaque(false); int space = 20 + FontSizer.getLevel() * 5; setBorder(BorderFactory.createEmptyBorder(0, 0, 0, space)); }
protected void refreshCacheTab() { // refresh list of cache hosts cacheBox.removeAll(); ArrayList<JLabel> labels = new ArrayList<JLabel>(); File cache = ResourceLoader.getOSPCache(); File[] hosts = cache == null ? new File[0] : cache.listFiles(ResourceLoader.OSP_CACHE_FILTER); clearCacheButton.setEnabled(hosts.length > 0); if (hosts.length == 0) { JLabel label = new JLabel(ToolsRes.getString("LibraryManager.Cache.IsEmpty")); // $NON-NLS-1$ label.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); Box box = Box.createHorizontalBox(); box.add(label); box.add(Box.createHorizontalGlue()); cacheBox.add(box); return; } for (File hostFile : hosts) { // eliminate the "osp-" that starts all cache host filenames String hostText = hostFile.getName().substring(4).replace('_', '.'); long bytes = getFileSize(hostFile); long size = bytes / (1024 * 1024); if (bytes > 0) { if (size > 0) hostText += " (" + size + " MB)"; // $NON-NLS-1$ //$NON-NLS-2$ else hostText += " (" + bytes / 1024 + " kB)"; // $NON-NLS-1$ //$NON-NLS-2$ } JLabel label = new JLabel(hostText); label.setToolTipText(hostFile.getAbsolutePath()); labels.add(label); ClearHostButton button = new ClearHostButton(hostFile); Box bar = Box.createHorizontalBox(); bar.add(label); bar.add(button); bar.add(Box.createHorizontalGlue()); cacheBox.add(bar); FontSizer.setFonts(cacheBox, FontSizer.getLevel()); } // set label sizes FontRenderContext frc = new FontRenderContext(null, false, false); Font font = labels.get(0).getFont(); int w = 0; for (JLabel next : labels) { Rectangle2D rect = font.getStringBounds(next.getText(), frc); w = Math.max(w, (int) rect.getWidth()); } Dimension labelSize = new Dimension(w + 48, 20); for (JLabel next : labels) { next.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); next.setPreferredSize(labelSize); } }
/** Refresh the GUI. */ public void refreshGUI() { for (int i = 0; i < statsData.length; i++) { String label = ToolsRes.getString("Table.Entry.Count"); // $NON-NLS-1$ switch (i) { case 0: label = ToolsRes.getString("Table.Entry.Max"); break; //$NON-NLS-1$ case 1: label = ToolsRes.getString("Table.Entry.Min"); break; //$NON-NLS-1$ case 2: label = ToolsRes.getString("Table.Entry.Mean"); break; //$NON-NLS-1$ case 3: label = ToolsRes.getString("Table.Entry.StandardDev"); break; //$NON-NLS-1$ case 4: label = ToolsRes.getString("Table.Entry.StandardError"); // $NON-NLS-1$ } statsData[i][0] = label; } tableChanged(null); refreshTable(); }
/** Initializes the table. */ protected void init() { dataTable .getColumnModel() .addColumnModelListener( new TableColumnModelListener() { public void columnAdded(TableColumnModelEvent e) { /** empty block */ } public void columnRemoved(TableColumnModelEvent e) { /** empty block */ } public void columnSelectionChanged(ListSelectionEvent e) { /** empty block */ } public void columnMarginChanged(ChangeEvent e) { refreshTable(); } public void columnMoved(TableColumnModelEvent e) { refreshTable(); } }); // assemble statistics data array Dataset workingData = dataTable.getWorkingData(); double[] xstats = getStatistics(workingData.getXPoints()); double[] ystats = getStatistics(workingData.getValidYPoints()); if (statsData == null) { statsData = new Object[xstats.length][0]; } for (int i = 0; i < xstats.length; i++) { String label = ToolsRes.getString("Table.Entry.Count"); // $NON-NLS-1$ if (i == 5) { statsData[i] = new Object[] {label, new Integer((int) xstats[i]), new Integer((int) ystats[i])}; } else { switch (i) { case 0: label = ToolsRes.getString("Table.Entry.Max"); break; //$NON-NLS-1$ case 1: label = ToolsRes.getString("Table.Entry.Min"); break; //$NON-NLS-1$ case 2: label = ToolsRes.getString("Table.Entry.Mean"); break; //$NON-NLS-1$ case 3: label = ToolsRes.getString("Table.Entry.StandardDev"); break; //$NON-NLS-1$ case 4: label = ToolsRes.getString("Table.Entry.StandardError"); // $NON-NLS-1$ } statsData[i] = new Object[] {label, new Double(xstats[i]), new Double(ystats[i])}; } } // set and configure table model and header setModel(tableModel); setGridColor(Color.blue); setEnabled(false); setTableHeader(null); // no table header labelRenderer = new LabelRenderer(); setAutoResizeMode(JTable.AUTO_RESIZE_OFF); setDefaultRenderer(Double.class, new ScientificRenderer(3)); ListSelectionModel selectionModel = dataTable.getSelectionModel(); selectionModel.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { Dataset workingData = dataTable.getWorkingData(); double[] xstats = getStatistics(workingData.getXPoints()); double[] ystats = getStatistics(workingData.getValidYPoints()); int i = 0; for (; i < xstats.length - 1; i++) { statsData[i][1] = new Double(xstats[i]); statsData[i][2] = new Double(ystats[i]); } statsData[i][1] = new Integer((int) xstats[i]); statsData[i][2] = new Integer((int) ystats[i]); refreshTable(); } }); refreshCellWidths(); }
/** Refreshes the GUI including locale-based resource strings. */ protected void refreshGUI() { setTitle(ToolsRes.getString("LibraryManager.Title")); // $NON-NLS-1$ okButton.setText(ToolsRes.getString("Tool.Button.Close")); // $NON-NLS-1$ addButton.setText(ToolsRes.getString("LibraryManager.Button.Add")); // $NON-NLS-1$ removeButton.setText(ToolsRes.getString("LibraryManager.Button.Remove")); // $NON-NLS-1$ moveUpButton.setText(ToolsRes.getString("LibraryTreePanel.Button.Up")); // $NON-NLS-1$ moveDownButton.setText(ToolsRes.getString("LibraryTreePanel.Button.Down")); // $NON-NLS-1$ allButton.setText(ToolsRes.getString("LibraryManager.Button.All")); // $NON-NLS-1$ noneButton.setText(ToolsRes.getString("LibraryManager.Button.None")); // $NON-NLS-1$ clearCacheButton.setText(ToolsRes.getString("LibraryManager.Button.ClearCache")); // $NON-NLS-1$ setCacheButton.setText(ToolsRes.getString("LibraryManager.Button.SetCache")); // $NON-NLS-1$ addButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.Add.Tooltip")); // $NON-NLS-1$ removeButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.Remove.Tooltip")); // $NON-NLS-1$ moveUpButton.setToolTipText( ToolsRes.getString("LibraryTreePanel.Button.Up.Tooltip")); // $NON-NLS-1$ moveDownButton.setToolTipText( ToolsRes.getString("LibraryTreePanel.Button.Down.Tooltip")); // $NON-NLS-1$ allButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.All.Tooltip")); // $NON-NLS-1$ noneButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.None.Tooltip")); // $NON-NLS-1$ clearCacheButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.ClearCache.Tooltip")); // $NON-NLS-1$ setCacheButton.setToolTipText( ToolsRes.getString("LibraryManager.Button.SetCache.Tooltip")); // $NON-NLS-1$ nameLabel.setText( ToolsRes.getString("LibraryManager.Label.Name") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ pathLabel.setText( ToolsRes.getString("LibraryManager.Label.Path") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ collectionsTitleBorder.setTitle( ToolsRes.getString("LibraryManager.Title.MenuItems") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ importsTitleBorder.setTitle( ToolsRes.getString("LibraryManager.Title.Import") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ searchTitleBorder.setTitle( ToolsRes.getString("LibraryManager.Title.Search") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ cacheTitleBorder.setTitle( ToolsRes.getString("LibraryManager.Title.Cache") + ":"); // $NON-NLS-1$ //$NON-NLS-2$ int k = tabbedPane.indexOfComponent(collectionsPanel); if (k > -1) { tabbedPane.setTitleAt(k, ToolsRes.getString("LibraryManager.Tab.MyLibrary")); // $NON-NLS-1$ tabbedPane.setToolTipTextAt( k, ToolsRes.getString("LibraryManager.Tab.MyLibrary.Tooltip")); // $NON-NLS-1$ } k = tabbedPane.indexOfComponent(importsPanel); if (k > -1) { tabbedPane.setTitleAt(k, ToolsRes.getString("LibraryManager.Tab.Import")); // $NON-NLS-1$ tabbedPane.setToolTipTextAt( k, ToolsRes.getString("LibraryManager.Tab.Import.Tooltip")); // $NON-NLS-1$ } k = tabbedPane.indexOfComponent(searchPanel); if (k > -1) { tabbedPane.setTitleAt(k, ToolsRes.getString("LibraryManager.Tab.Search")); // $NON-NLS-1$ tabbedPane.setToolTipTextAt( k, ToolsRes.getString("LibraryManager.Tab.Search.Tooltip")); // $NON-NLS-1$ } k = tabbedPane.indexOfComponent(cachePanel); if (k > -1) { tabbedPane.setTitleAt(k, ToolsRes.getString("LibraryManager.Tab.Cache")); // $NON-NLS-1$ tabbedPane.setToolTipTextAt( k, ToolsRes.getString("LibraryManager.Tab.Cache.Tooltip")); // $NON-NLS-1$ } resizeLabels(); pathField.setForeground(LibraryTreePanel.defaultForeground); if (tabbedPane.getSelectedComponent() == collectionsPanel) { nameField.setEditable(true); int i = collectionList.getSelectedIndex(); moveDownButton.setEnabled(i < library.pathList.size() - 1); moveUpButton.setEnabled(i > 0); if (i > -1 && library.pathList.size() > i) { removeButton.setEnabled(true); String path = library.pathList.get(i); pathField.setText(path); pathField.setCaretPosition(0); String name = library.pathToNameMap.get(path); nameField.setText(name); boolean unavailable = path.startsWith("http:") && !LibraryBrowser.webConnected; // $NON-NLS-1$ Resource res = unavailable ? null : ResourceLoader.getResourceZipURLsOK(path); if (res == null) { pathField.setForeground(LibraryTreePanel.darkRed); } } else { removeButton.setEnabled(false); nameField.setEditable(false); nameField.setText(null); nameField.setBackground(Color.white); pathField.setText(null); pathField.setBackground(Color.white); } } else if (tabbedPane.getSelectedComponent() == importsPanel) { nameField.setEditable(false); int i = guestList.getSelectedIndex(); moveDownButton.setEnabled(i < library.importedPathList.size() - 1); moveUpButton.setEnabled(i > 0); if (i > -1 && library.importedPathList.size() > i) { removeButton.setEnabled(true); String path = library.importedPathList.get(i); pathField.setText(path); pathField.setCaretPosition(0); String name = library.importedPathToLibraryMap.get(path).getName(); nameField.setText(name); boolean unavailable = path.startsWith("http:") && !LibraryBrowser.webConnected; // $NON-NLS-1$ Resource res = unavailable ? null : ResourceLoader.getResourceZipURLsOK(path); if (res == null) { pathField.setForeground(LibraryTreePanel.darkRed); } } else { removeButton.setEnabled(false); nameField.setText(null); nameField.setBackground(Color.white); pathField.setText(null); pathField.setBackground(Color.white); } } nameField.setBackground(Color.white); pathField.setBackground(Color.white); }
/** * Gets a label for the FunctionTool spinner. * * @return a label string */ public String getLabel() { return ToolsRes.getString("DataFunctionPanel.SpinnerLabel"); // $NON-NLS-1$ }