/** * Clears the data to save. * * @see AnnotationUI#clearData() */ protected void clearData() { if (!init) { buildGUI(); init = true; } tagNames.clear(); existingTags.clear(); selectedValue = 0; if (!model.isMultiSelection()) selectedValue = model.getUserRating(); initialValue = 0; otherRating.setText(""); rating.removePropertyChangeListener(RatingComponent.RATE_PROPERTY, this); rating.setValue(selectedValue); rating.addPropertyChangeListener(RatingComponent.RATE_PROPERTY, this); publishedBox.setSelected(false); tagsPane.removeAll(); tagsDocList.clear(); DocComponent doc = new DocComponent(null, model); tagsDocList.add(doc); tagsPane.add(doc); docPane.removeAll(); filesDocList.clear(); doc = new DocComponent(null, model); filesDocList.add(doc); docPane.add(doc); tagFlag = false; docFlag = false; // double h = TableLayout.PREFERRED; // TableLayout layout = (TableLayout) content.getLayout(); // layout.setRow(tagRow, h); content.revalidate(); content.repaint(); revalidate(); repaint(); }
/** * Overridden to lay out the rating. * * @see AnnotationUI#buildUI() */ protected void buildUI() { selectedValue = 0; String text = ""; if (!model.isMultiSelection()) { selectedValue = model.getUserRating(); int n = model.getRatingCount(); if (n > 0) { text += "(avg:" + model.getRatingAverage() + " | " + n + " vote"; if (n > 1) text += "s"; text += ")"; } } otherRating.setText(text); initialValue = selectedValue; rating.setValue(selectedValue); publishedBox.setSelected(model.hasBeenPublished()); // Add attachments Collection l = model.getAttachments(); int count = 0; /* List v = null; if (l != null) { v = new ArrayList(); Iterator k = l.iterator(); FileAnnotationData data; boolean b = false; while (k.hasNext()) { data = (FileAnnotationData) k.next(); b = isEditorFile(data.getFileName()); if (!b) b = isEditorFile(data.getNameSpace()); if (!b) v.add(data); } count += v.size(); } */ // Viewed by if (!model.isMultiSelection()) { l = model.getTags(); if (l != null) count += l.size(); layoutTags(l); l = model.getAttachments(); if (l != null) count += l.size(); layoutAttachments(l); } else { layoutTags(null); layoutAttachments(null); } filterButton.setEnabled(count > 0); // Allow to handle annotation. boolean enabled = model.canAnnotate(); if (enabled && model.isMultiSelection()) { enabled = !model.isAcrossGroups(); } rating.setEnabled(enabled); addTagsButton.setEnabled(enabled); addDocsButton.setEnabled(enabled); enabled = model.canDeleteAnnotationLink(); removeTagsButton.setEnabled(enabled); removeDocsButton.setEnabled(enabled); enabled = model.canDelete(); // to be reviewed unrateButton.setEnabled(enabled); buildGUI(); }
/** Initializes the components composing the display. */ private void initComponents() { toReplace = new ArrayList<FileAnnotationData>(); IconManager icons = IconManager.getInstance(); filter = SHOW_ALL; filterButton = new JButton(NAMES[SHOW_ALL]); filterButton.setToolTipText("Filter tags and attachments."); UIUtilities.unifiedButtonLookAndFeel(filterButton); Font font = filterButton.getFont(); filterButton.setFont(font.deriveFont(font.getStyle(), font.getSize() - 2)); filterButton.setIcon(icons.getIcon(IconManager.UP_DOWN_9_12)); filterButton.setBackground(UIUtilities.BACKGROUND_COLOR); filterButton.addMouseListener( new MouseAdapter() { /** * Brings up the menu. * * @see MouseListener#mouseReleased(MouseEvent) */ public void mouseReleased(MouseEvent me) { Object source = me.getSource(); if (source instanceof Component) displayMenu((Component) source, me.getPoint()); } }); otherRating = new JLabel(); otherRating.setBackground(UIUtilities.BACKGROUND_COLOR); font = otherRating.getFont(); otherRating.setFont(font.deriveFont(Font.ITALIC, font.getSize() - 2)); content = new JPanel(); content.setBackground(UIUtilities.BACKGROUND_COLOR); content.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); tagFlag = false; docFlag = false; tagNames = new ArrayList<String>(); tagsDocList = new ArrayList<DocComponent>(); filesDocList = new ArrayList<DocComponent>(); existingTags = new HashMap<String, TagAnnotationData>(); addTagsButton = new JButton(icons.getIcon(IconManager.PLUS_12)); UIUtilities.unifiedButtonLookAndFeel(addTagsButton); addTagsButton.setBackground(UIUtilities.BACKGROUND_COLOR); addTagsButton.setToolTipText("Add Tags."); addTagsButton.addActionListener(controller); addTagsButton.setActionCommand("" + EditorControl.ADD_TAGS); addDocsButton = new JButton(icons.getIcon(IconManager.PLUS_12)); addDocsButton.setBackground(UIUtilities.BACKGROUND_COLOR); addDocsButton.setToolTipText("Attach a document."); addDocsButton.addMouseListener( new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (addDocsButton.isEnabled()) { Point p = e.getPoint(); createDocSelectionMenu().show(addDocsButton, p.x, p.y); } } }); UIUtilities.unifiedButtonLookAndFeel(addDocsButton); removeTagsButton = new JButton(icons.getIcon(IconManager.MINUS_12)); UIUtilities.unifiedButtonLookAndFeel(removeTagsButton); removeTagsButton.setBackground(UIUtilities.BACKGROUND_COLOR); removeTagsButton.setToolTipText("Unlink Tags."); removeTagsButton.addMouseListener(controller); removeTagsButton.setActionCommand("" + EditorControl.REMOVE_TAGS); removeDocsButton = new JButton(icons.getIcon(IconManager.MINUS_12)); UIUtilities.unifiedButtonLookAndFeel(removeDocsButton); removeDocsButton.setBackground(UIUtilities.BACKGROUND_COLOR); removeDocsButton.setToolTipText("Unlink Attachments."); removeDocsButton.addMouseListener(controller); removeDocsButton.setActionCommand("" + EditorControl.REMOVE_DOCS); selectedValue = 0; initialValue = selectedValue; rating = new RatingComponent(selectedValue, RatingComponent.MEDIUM_SIZE); rating.setOpaque(false); rating.setBackground(UIUtilities.BACKGROUND_COLOR); rating.addPropertyChangeListener(this); unrateButton = new JButton(icons.getIcon(IconManager.MINUS_12)); UIUtilities.unifiedButtonLookAndFeel(unrateButton); unrateButton.setBackground(UIUtilities.BACKGROUND_COLOR); unrateButton.setToolTipText("Unrate."); unrateButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { rating.setValue(0); view.saveData(true); } }); tagsPane = new JPanel(); tagsPane.setLayout(new BoxLayout(tagsPane, BoxLayout.Y_AXIS)); tagsPane.setBackground(UIUtilities.BACKGROUND_COLOR); DocComponent doc = new DocComponent(null, model); tagsDocList.add(doc); tagsPane.add(doc); docPane = new JPanel(); docPane.setLayout(new BoxLayout(docPane, BoxLayout.Y_AXIS)); docPane.setBackground(UIUtilities.BACKGROUND_COLOR); docRef = docPane; doc = new DocComponent(null, model); filesDocList.add(doc); docPane.add(doc); publishedBox = new JCheckBox(); publishedBox.setBackground(UIUtilities.BACKGROUND_COLOR); publishedBox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { firePropertyChange(EditorControl.SAVE_PROPERTY, Boolean.FALSE, Boolean.TRUE); } }); }