/** * Sets the font level. * * @param level the desired font level */ protected void setFontLevel(int level) { FontSizer.setFonts(this, level); // set cell height of collectionList Font font = collectionList.getFont(); font = FontSizer.getResizedFont(font, level); int space = 8 + level; collectionList.setFixedCellHeight(font.getSize() + space); resizeLabels(); }
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); } }
/** * 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 refreshSearchTab() { // refresh list of cached search targets searchBox.removeAll(); checkboxes.clear(); ArrayList<JLabel> labels = new ArrayList<JLabel>(); for (LibraryResource next : browser.getSearchCacheTargets()) { String path = next.collectionPath; if (path == null) continue; String name = next.toString(); JLabel label = new JLabel(name); label.setToolTipText(path); labels.add(label); SearchCheckBox checkbox = new SearchCheckBox(path); checkboxes.add(checkbox); JButton button = new DeleteButton(path); Box bar = Box.createHorizontalBox(); bar.add(label); bar.add(checkbox); bar.add(button); bar.add(Box.createHorizontalGlue()); searchBox.add(bar); FontSizer.setFonts(searchBox, FontSizer.getLevel()); } if (labels.isEmpty()) return; // 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); } }
/** * Constructor for a frame * * @param browser a LibraryBrowser * @param frame the frame */ protected LibraryManager(LibraryBrowser browser, JFrame frame) { super(frame, true); this.browser = browser; library = browser.library; setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); createGUI(); Dimension dim = new Dimension(defaultSize); double factor = 1 + FontSizer.getLevel() * 0.25; dim.width = (int) (dim.width * factor); dim.height = (int) (dim.height * factor); setSize(dim); }
@Override protected Widget createMainWidget() { context_ = new FindResultContext(); FindOutputResources resources = GWT.create(FindOutputResources.class); resources.styles().ensureInjected(); table_ = new FastSelectTable<FindResult, CodeNavigationTarget, Object>( new FindOutputCodec(resources), resources.styles().selectedRow(), true, false); FontSizer.applyNormalFontSize(table_); table_.addStyleName(resources.styles().findOutput()); table_.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { if (event.getNativeButton() != NativeEvent.BUTTON_LEFT) return; if (dblClick_.checkForDoubleClick(event.getNativeEvent())) fireSelectionCommitted(); } private final DoubleClickState dblClick_ = new DoubleClickState(); }); table_.addKeyDownHandler( new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) fireSelectionCommitted(); event.stopPropagation(); event.preventDefault(); } }); scrollPanel_ = new ScrollPanel(table_); scrollPanel_.setSize("100%", "100%"); return scrollPanel_; }