| DocumentView.java |
1 /*
2 * Copyright (c) 1998-2004, The University of Sheffield.
3 *
4 * This file is part of GATE (see http://gate.ac.uk/), and is free
5 * software, licenced under the GNU Library General Public License,
6 * Version 2, June 1991 (in the distribution as file licence.html,
7 * and also available at http://gate.ac.uk/gate/licence.html).
8 *
9 * Valentin Tablan, 22 March 2004
10 *
11 * $Id: DocumentView.java,v 1.6 2004/07/21 17:10:07 akshay Exp $
12 */
13
14 package gate.gui.docview;
15
16 import java.awt.Component;
17
18 import gate.VisualResource;
19 import gate.gui.ActionsPublisher;
20
21 /**
22 * A document viewer is composed out of several views (like the one showing the
23 * text, the one showing the annotation sets, the on showing the annotations
24 * table, etc.). This is the base interface for all the document views.
25 * All document views are panes inside a {@link gate.gui.docview.DocumentEditor}
26 * object.
27 */
28
29 public interface DocumentView extends ActionsPublisher, VisualResource{
30
31 /**
32 * Returns the actual UI component this view represents.
33 * @return a {@link Component} value.
34 */
35 public Component getGUI();
36
37 /**
38 * Returns the type of this view.
39 * @return an int value
40 * @see #CENTRAL
41 * @see #HORIZONTAL
42 * @see #VERTICAL
43 */
44 public int getType();
45
46 /**
47 * Notifies this view that it has become active or inactive.
48 * Implementers are encouraged to lazily populate the UI elements, that is
49 * to use as little CPU time as possible before the view becomes active.
50 * @param active a boolean value.
51 */
52 public void setActive(boolean active);
53
54 /**
55 * Returns the active state of this view.
56 * @return a boolean value
57 */
58 public boolean isActive();
59
60 /**
61 * Notifies this view of its owner.
62 * @param editor the {@link DocumentEditor} that contains this view.
63 */
64 public void setOwner(DocumentEditor editor);
65
66 /**
67 * Constant for the CENTRAL type of the view inside the document editor. Views
68 * of this type are placed in the center of the document editor.
69 */
70 public static final int CENTRAL = 0;
71
72 /**
73 * Constant for the VERTICAL type of the view inside the document editor.
74 * Views of this type are placed as a vertical band on the right side of the
75 * document editor.
76 */
77 public static final int VERTICAL = 1;
78
79 /**
80 * Constant for the HORIZONTAL type of the view inside the document editor.
81 * Views of this type are placed as a horizontal band on the lower side of the
82 * document editor.
83 */
84 public static final int HORIZONTAL = 2;
85
86
87 }