0bc9b29fce7bc091d0f3696534776b640b340b34
1 package be
.nikiroo
.jvcard
.tui
.panes
;
5 import be
.nikiroo
.jvcard
.tui
.KeyAction
;
7 import com
.googlecode
.lanterna
.gui2
.Direction
;
8 import com
.googlecode
.lanterna
.gui2
.LinearLayout
;
9 import com
.googlecode
.lanterna
.gui2
.Panel
;
12 * This class represents the main content that you can see in this application
13 * (i.e., everything but the title and the actions keys is a {@link Panel}
14 * extended from this class).
19 abstract public class MainContent
extends Panel
{
21 public MainContent() {
25 public MainContent(Direction dir
) {
27 LinearLayout layout
= new LinearLayout(dir
);
29 setLayoutManager(layout
);
33 * The {@link KeyAction#Mode} that links to this {@link MainContent}.
35 * @return the linked mode
37 abstract public KeyAction
.Mode
getMode();
40 * The kind of data displayed by this {@link MainContent}.
42 * @return the kind of data displayed
44 abstract public KeyAction
.DataType
getDataType();
47 * Returns the list of actions and the keys that are bound to it.
49 * @return the list of actions
51 abstract public List
<KeyAction
> getKeyBindings();
54 * The title to display instead of the application name, or NULL for the
55 * default application name.
57 * @return the title or NULL
59 abstract public String
getTitle();
62 * Returns an error message ready to be displayed if we should ask something
63 * to the user before exiting.
65 * @return an error message or NULL
67 public String
getExitWarning() {
72 * Move the active cursor (not the text cursor, but the currently active
76 * the horizontal move (< 0 for left, > 0 for right)
78 * the vertical move (< 0 for up, > 0 for down)
80 * @return the error message to display if any
82 public String
move(int x
, int y
) {
87 * Return the number of items in this {@link MainContent}, or -1 if this
88 * {@link MainContent} is not countable.
90 * @return -1 or the number of present items
92 public int getCount() {