]>
Commit | Line | Data |
---|---|---|
9ce192d4 | 1 | // Scintilla source code edit control |
65ec6247 RD |
2 | /** @file AutoComplete.h |
3 | ** Defines the auto completion list box. | |
4 | **/ | |
5 | // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org> | |
9ce192d4 RD |
6 | // The License.txt file describes the conditions under which this software may be distributed. |
7 | ||
8 | #ifndef AUTOCOMPLETE_H | |
9 | #define AUTOCOMPLETE_H | |
10 | ||
65ec6247 RD |
11 | /** |
12 | */ | |
9ce192d4 RD |
13 | class AutoComplete { |
14 | bool active; | |
15 | char stopChars[256]; | |
d134f170 | 16 | char fillUpChars[256]; |
f6bcfd97 | 17 | char separator; |
65ec6247 | 18 | |
9ce192d4 | 19 | public: |
d134f170 RD |
20 | bool ignoreCase; |
21 | bool chooseSingle; | |
9ce192d4 RD |
22 | ListBox lb; |
23 | int posStart; | |
24 | int startLen; | |
65ec6247 | 25 | /// Should autocompletion be canceled if editor's currentPos <= startPos? |
d134f170 | 26 | bool cancelAtStartPos; |
65ec6247 RD |
27 | bool autoHide; |
28 | ||
9ce192d4 RD |
29 | AutoComplete(); |
30 | ~AutoComplete(); | |
31 | ||
65ec6247 | 32 | /// Is the auto completion list displayed? |
9ce192d4 | 33 | bool Active(); |
65ec6247 RD |
34 | |
35 | /// Display the auto completion list positioned to be near a character position | |
9ce192d4 | 36 | void Start(Window &parent, int ctrlID, int position, int startLen_); |
65ec6247 RD |
37 | |
38 | /// The stop chars are characters which, when typed, cause the auto completion list to disappear | |
9ce192d4 RD |
39 | void SetStopChars(const char *stopChars_); |
40 | bool IsStopChar(char ch); | |
65ec6247 RD |
41 | |
42 | /// The fillup chars are characters which, when typed, fill up the selected word | |
d134f170 RD |
43 | void SetFillUpChars(const char *fillUpChars_); |
44 | bool IsFillUpChar(char ch); | |
45 | ||
65ec6247 | 46 | /// The separator character is used when interpreting the list in SetList |
f6bcfd97 BP |
47 | void SetSeparator(char separator_); |
48 | char GetSeparator(); | |
65ec6247 RD |
49 | |
50 | /// The list string contains a sequence of words separated by the separator character | |
d134f170 | 51 | void SetList(const char *list); |
65ec6247 | 52 | |
9ce192d4 RD |
53 | void Show(); |
54 | void Cancel(); | |
65ec6247 RD |
55 | |
56 | /// Move the current list element by delta, scrolling appropriately | |
9ce192d4 | 57 | void Move(int delta); |
65ec6247 RD |
58 | |
59 | /// Select a list element that starts with word as the current element | |
9ce192d4 RD |
60 | void Select(const char *word); |
61 | }; | |
62 | ||
63 | #endif |