*** empty log message ***
[anjuta-git-plugin.git] / scintilla / ScintillaBase.h
blob6ea23ab5a3718bb1632182d5e0a4f96233c679f8
1 // Scintilla source code edit control
2 /** @file ScintillaBase.h
3 ** Defines an enhanced subclass of Editor with calltips, autocomplete and context menu.
4 **/
5 // Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #ifndef SCINTILLABASE_H
9 #define SCINTILLABASE_H
11 /**
13 class ScintillaBase : public Editor {
14 // Private so ScintillaBase objects can not be copied
15 ScintillaBase(const ScintillaBase &) : Editor() {}
16 ScintillaBase &operator=(const ScintillaBase &) { return *this; }
18 protected:
19 /** Enumeration of commands and child windows. */
20 enum {
21 idCallTip=1,
22 idAutoComplete=2,
24 idcmdUndo=10,
25 idcmdRedo=11,
26 idcmdCut=12,
27 idcmdCopy=13,
28 idcmdPaste=14,
29 idcmdDelete=15,
30 idcmdSelectAll=16
33 bool displayPopupMenu;
34 Menu popup;
35 AutoComplete ac;
37 CallTip ct;
39 int listType; ///< 0 is an autocomplete list
40 SString userListSelected; ///< Receives listbox selected string
42 #ifdef SCI_LEXER
43 int lexLanguage;
44 const LexerModule *lexCurrent;
45 PropSet props;
46 enum {numWordLists=KEYWORDSET_MAX+1};
47 WordList *keyWordLists[numWordLists+1];
48 void SetLexer(uptr_t wParam);
49 void SetLexerLanguage(const char *languageName);
50 void Colourise(int start, int end);
51 #endif
53 ScintillaBase();
54 virtual ~ScintillaBase();
55 virtual void Initialise() = 0;
56 virtual void Finalise() = 0;
58 virtual void RefreshColourPalette(Palette &pal, bool want);
60 virtual void AddCharUTF(char *s, unsigned int len, bool treatAsDBCS=false);
61 void Command(int cmdId);
62 virtual void CancelModes();
63 virtual int KeyCommand(unsigned int iMessage);
65 void AutoCompleteStart(int lenEntered, const char *list);
66 void AutoCompleteCancel();
67 void AutoCompleteMove(int delta);
68 int AutoCompleteGetCurrent();
69 void AutoCompleteCharacterAdded(char ch);
70 void AutoCompleteCharacterDeleted();
71 void AutoCompleteCompleted();
72 void AutoCompleteMoveToCurrentWord();
73 static void AutoCompleteDoubleClick(void* p);
75 void CallTipClick();
76 void CallTipShow(Point pt, const char *defn);
77 virtual void CreateCallTipWindow(PRectangle rc) = 0;
79 virtual void AddToPopUp(const char *label, int cmd=0, bool enabled=true) = 0;
80 void ContextMenu(Point pt);
82 virtual void ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
84 virtual void NotifyStyleToNeeded(int endStyleNeeded);
85 public:
86 // Public so scintilla_send_message can use it
87 virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
90 #endif