1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.xnap.gui.component;
20
21 import javax.swing.text.JTextComponent;
22
23 /***
24 * Classes implementing this interface can be adorned with a {@link
25 * CompletionModeMenu} or a {@link TextFieldMenu} which has a
26 * CompletionModeMenu as a submenu.
27 */
28 public interface Completable
29 {
30 /***
31 * Sets the completion mode to one of the modes provided by the {@link
32 * CompletionModeFactory}.
33 *
34 * @param mode the unique id of the completion mode
35 */
36 void setCompletionMode(String mode);
37 /***
38 * Returns the currently set completion mode.
39 */
40 CompletionMode getCompletionMode();
41 /***
42 * Sets the completion model.
43 */
44 void setCompletionModel(CompletionModel model);
45 /***
46 * Returns the currently used completion model.
47 */
48 CompletionModel getCompletionModel();
49 /***
50 * Returns the text component the completion mode should operate on.
51 */
52 JTextComponent getTextComponent();
53 }