KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > subversion > ui > blame > AnnotationBarManager


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.subversion.ui.blame;
21
22 import org.netbeans.editor.SideBarFactory;
23
24 import javax.swing.*;
25 import javax.swing.text.JTextComponent JavaDoc;
26
27 /**
28  * @author Maros Sandor
29  */

30 public class AnnotationBarManager implements SideBarFactory {
31
32     private static final Object JavaDoc BAR_KEY = new Object JavaDoc();
33
34     /**
35      * Creates initially hidden annotations sidebar.
36      * It's called once by target lifetime.
37      */

38     public JComponent createSideBar(JTextComponent JavaDoc target) {
39         final AnnotationBar ab = new AnnotationBar(target);
40         target.putClientProperty(BAR_KEY, ab);
41         return ab;
42     }
43
44     /**
45      * Shows annotations sidebar.
46      */

47     public static AnnotationBar showAnnotationBar(JTextComponent JavaDoc target) {
48         AnnotationBar ab = (AnnotationBar) target.getClientProperty(BAR_KEY);
49         assert ab != null: "#58828 reappeared!"; // NOI18N
50
ab.annotate();
51         return ab;
52     }
53
54     /**
55      * Shows annotations sidebar.
56      */

57     public static void hideAnnotationBar(JTextComponent JavaDoc target) {
58         if (target == null) return;
59         AnnotationBar ab = (AnnotationBar) target.getClientProperty(BAR_KEY);
60         assert ab != null: "#58828 reappeared!"; // NOI18N
61
ab.hideBar();
62     }
63
64     /**
65      * Tests wheteher given editor shows annotations.
66      */

67     public static boolean annotationBarVisible(JTextComponent JavaDoc target) {
68         if (target == null) return false;
69         AnnotationBar ab = (AnnotationBar) target.getClientProperty(BAR_KEY);
70         if (ab == null) {
71             return false;
72         }
73         return ab.getPreferredSize().width > 0;
74     }
75 }
76
77
Popular Tags