mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2026-09-01 00:04:42 +03:00
first commit
Version 3.x.x
This commit is contained in:
+101
@@ -0,0 +1,101 @@
|
||||
// Scintilla source code edit control
|
||||
/** @file ScintillaBase.h
|
||||
** Defines an enhanced subclass of Editor with calltips, autocomplete and context menu.
|
||||
**/
|
||||
// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>
|
||||
// The License.txt file describes the conditions under which this software may be distributed.
|
||||
|
||||
#ifndef SCINTILLABASE_H
|
||||
#define SCINTILLABASE_H
|
||||
|
||||
#ifdef SCI_NAMESPACE
|
||||
namespace Scintilla {
|
||||
#endif
|
||||
|
||||
#ifdef SCI_LEXER
|
||||
class LexState;
|
||||
#endif
|
||||
|
||||
/**
|
||||
*/
|
||||
class ScintillaBase : public Editor {
|
||||
// Private so ScintillaBase objects can not be copied
|
||||
ScintillaBase(const ScintillaBase &);
|
||||
ScintillaBase &operator=(const ScintillaBase &);
|
||||
|
||||
protected:
|
||||
/** Enumeration of commands and child windows. */
|
||||
enum {
|
||||
idCallTip=1,
|
||||
idAutoComplete=2,
|
||||
|
||||
idcmdUndo=10,
|
||||
idcmdRedo=11,
|
||||
idcmdCut=12,
|
||||
idcmdCopy=13,
|
||||
idcmdPaste=14,
|
||||
idcmdDelete=15,
|
||||
idcmdSelectAll=16
|
||||
};
|
||||
|
||||
bool displayPopupMenu;
|
||||
Menu popup;
|
||||
AutoComplete ac;
|
||||
|
||||
CallTip ct;
|
||||
|
||||
int listType; ///< 0 is an autocomplete list
|
||||
int maxListWidth; /// Maximum width of list, in average character widths
|
||||
|
||||
#ifdef SCI_LEXER
|
||||
LexState *DocumentLexState();
|
||||
void SetLexer(uptr_t wParam);
|
||||
void SetLexerLanguage(const char *languageName);
|
||||
void Colourise(int start, int end);
|
||||
#endif
|
||||
|
||||
ScintillaBase();
|
||||
virtual ~ScintillaBase();
|
||||
virtual void Initialise() = 0;
|
||||
virtual void Finalise();
|
||||
|
||||
virtual void AddCharUTF(char *s, unsigned int len, bool treatAsDBCS=false);
|
||||
void Command(int cmdId);
|
||||
virtual void CancelModes();
|
||||
virtual int KeyCommand(unsigned int iMessage);
|
||||
|
||||
void AutoCompleteInsert(Position startPos, int removeLen, const char *text, int textLen);
|
||||
void AutoCompleteStart(int lenEntered, const char *list);
|
||||
void AutoCompleteCancel();
|
||||
void AutoCompleteMove(int delta);
|
||||
int AutoCompleteGetCurrent() const;
|
||||
int AutoCompleteGetCurrentText(char *buffer) const;
|
||||
void AutoCompleteCharacterAdded(char ch);
|
||||
void AutoCompleteCharacterDeleted();
|
||||
void AutoCompleteCompleted();
|
||||
void AutoCompleteMoveToCurrentWord();
|
||||
static void AutoCompleteDoubleClick(void *p);
|
||||
|
||||
void CallTipClick();
|
||||
void CallTipShow(Point pt, const char *defn);
|
||||
virtual void CreateCallTipWindow(PRectangle rc) = 0;
|
||||
|
||||
virtual void AddToPopUp(const char *label, int cmd=0, bool enabled=true) = 0;
|
||||
void ContextMenu(Point pt);
|
||||
|
||||
virtual void ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);
|
||||
virtual void ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
|
||||
|
||||
void NotifyStyleToNeeded(int endStyleNeeded);
|
||||
void NotifyLexerChanged(Document *doc, void *userData);
|
||||
|
||||
public:
|
||||
// Public so scintilla_send_message can use it
|
||||
virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
|
||||
};
|
||||
|
||||
#ifdef SCI_NAMESPACE
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user