1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.commons.gui.completion;
21
22 /***
23 * Classes implementing this interface handle the way completion is
24 * actually done.
25 *
26 * They decide when and how to offer completion to the user. Completion may be
27 * triggered using a special key, it may be visible all the time, it may use a
28 * {@link org.xnap.commons.gui.completion.CompletionPopup} to present all
29 * possibilities or may insert the text directly.
30 *
31 * @author Felix Berger
32 * TODO symmetrical interface + IllegalStateException
33 */
34 public interface CompletionMode
35 {
36 /***
37 * Enables the completion mode letting it add its listeners to the text
38 * component.
39 *
40 * @param completion provides all components and information the completion
41 * mode must know about
42 */
43 void enable(Completion completion);
44 /***
45 * Disables the completion mode letting it remove its listeners from the
46 * text component.
47 */
48 void disable();
49 }