⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wxscintilla.h

📁 非常好用的可移植的多平台C/C++源代码编辑器
💻 H
📖 第 1 页 / 共 5 页
字号:
////////////////////////////////////////////////////////////////////////////
// Name:        wxscintilla.h
// Purpose:     A wxWidgets implementation of Scintilla.  This class is the
//              one meant to be used directly by wx applications.  It does not
//              derive directly from the Scintilla classes, and in fact there
//              is no mention of Scintilla classes at all in this header.
//              This class delegates all method calls and events to the
//              Scintilla objects and so forth.  This allows the use of
//              Scintilla without polluting the namespace with all the
//              classes and itentifiers from Scintilla.
//
// Author:      Robin Dunn
//
// Created:     13-Jan-2000
// RCS-ID:      $Id: wxscintilla.h,v 1.2 2005/08/26 11:15:32 mandrav Exp $
// Copyright:   (c) 2004 wxCode
// Licence:     wxWindows
/////////////////////////////////////////////////////////////////////////////

#ifndef __WXSCINTILLA_H__
#define __WXSCINTILLA_H__

#define wxSCINTILLA_VERSION _T("1.64.0")

#include <wx/wx.h>
#include <wx/dnd.h>


#ifdef WXMAKINGDLL_SCI
    #define WXDLLIMPEXP_SCI WXEXPORT
#elif defined(WXUSINGDLL)
    #define WXDLLIMPEXP_SCI WXIMPORT
#else // not making nor using DLL
    #define WXDLLIMPEXP_SCI
#endif


// SWIG can't handle "#if" type of conditionals, only "#ifdef"
#ifdef SWIG
#define SCI_USE_DND 1
#else
#if wxUSE_DRAG_AND_DROP
#define SCI_USE_DND 1
#endif
#endif

//----------------------------------------------------------------------

// Should a wxPopupWindow be used for the call tips and autocomplete windows?
#ifndef wxSCI_USE_POPUP
#define wxSCI_USE_POPUP 1
#endif

//----------------------------------------------------------------------
// BEGIN generated section.  The following code is automatically generated
//       by gen_iface.py.  Do not edit this file.  Edit wxscintilla.h.in instead
//       and regenerate

#define wxSCI_INVALID_POSITION -1

// Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
// as many EM_ messages can be used although that use is deprecated.
#define wxSCI_START 2000
#define wxSCI_OPTIONAL_START 3000
#define wxSCI_LEXER_START 4000
#define wxSCI_WS_INVISIBLE 0
#define wxSCI_WS_VISIBLEALWAYS 1
#define wxSCI_WS_VISIBLEAFTERINDENT 2
#define wxSCI_EOL_CRLF 0
#define wxSCI_EOL_CR 1
#define wxSCI_EOL_LF 2

// The SC_CP_UTF8 value can be used to enter Unicode mode.
// This is the same value as CP_UTF8 in Windows
#define wxSCI_CP_UTF8 65001

// The SC_CP_DBCS value can be used to indicate a DBCS mode for GTK+.
#define wxSCI_CP_DBCS 1

#define wxSCI_MARKER_MAX 31
#define wxSCI_MARK_CIRCLE 0
#define wxSCI_MARK_ROUNDRECT 1
#define wxSCI_MARK_ARROW 2
#define wxSCI_MARK_SMALLRECT 3
#define wxSCI_MARK_SHORTARROW 4
#define wxSCI_MARK_EMPTY 5
#define wxSCI_MARK_ARROWDOWN 6
#define wxSCI_MARK_MINUS 7
#define wxSCI_MARK_PLUS 8

// Shapes used for outlining column.
#define wxSCI_MARK_VLINE 9
#define wxSCI_MARK_LCORNER 10
#define wxSCI_MARK_TCORNER 11
#define wxSCI_MARK_BOXPLUS 12
#define wxSCI_MARK_BOXPLUSCONNECTED 13
#define wxSCI_MARK_BOXMINUS 14
#define wxSCI_MARK_BOXMINUSCONNECTED 15
#define wxSCI_MARK_LCORNERCURVE 16
#define wxSCI_MARK_TCORNERCURVE 17
#define wxSCI_MARK_CIRCLEPLUS 18
#define wxSCI_MARK_CIRCLEPLUSCONNECTED 19
#define wxSCI_MARK_CIRCLEMINUS 20
#define wxSCI_MARK_CIRCLEMINUSCONNECTED 21

// Invisible mark that only sets the line background color.
#define wxSCI_MARK_BACKGROUND 22
#define wxSCI_MARK_DOTDOTDOT 23
#define wxSCI_MARK_ARROWS 24
#define wxSCI_MARK_PIXMAP 25
#define wxSCI_MARK_FULLRECT 26
#define wxSCI_MARK_CHARACTER 10000

// Markers used for outlining column.
#define wxSCI_MARKNUM_FOLDEREND 25
#define wxSCI_MARKNUM_FOLDEROPENMID 26
#define wxSCI_MARKNUM_FOLDERMIDTAIL 27
#define wxSCI_MARKNUM_FOLDERTAIL 28
#define wxSCI_MARKNUM_FOLDERSUB 29
#define wxSCI_MARKNUM_FOLDER 30
#define wxSCI_MARKNUM_FOLDEROPEN 31
#define wxSCI_MASK_FOLDERS 0xFE000000
#define wxSCI_MARGIN_SYMBOL 0
#define wxSCI_MARGIN_NUMBER 1

// Styles in range 32..37 are predefined for parts of the UI and are not used as normal styles.
// Styles 38 and 39 are for future use.
#define wxSCI_STYLE_DEFAULT 32
#define wxSCI_STYLE_LINENUMBER 33
#define wxSCI_STYLE_BRACELIGHT 34
#define wxSCI_STYLE_BRACEBAD 35
#define wxSCI_STYLE_CONTROLCHAR 36
#define wxSCI_STYLE_INDENTGUIDE 37
#define wxSCI_STYLE_LASTPREDEFINED 39
#define wxSCI_STYLE_MAX 127

// Character set identifiers are used in StyleSetCharacterSet.
// The values are the same as the Windows *_CHARSET values.
#define wxSCI_CHARSET_ANSI 0
#define wxSCI_CHARSET_DEFAULT 1
#define wxSCI_CHARSET_BALTIC 186
#define wxSCI_CHARSET_CHINESEBIG5 136
#define wxSCI_CHARSET_EASTEUROPE 238
#define wxSCI_CHARSET_GB2312 134
#define wxSCI_CHARSET_GREEK 161
#define wxSCI_CHARSET_HANGUL 129
#define wxSCI_CHARSET_MAC 77
#define wxSCI_CHARSET_OEM 255
#define wxSCI_CHARSET_RUSSIAN 204
#define wxSCI_CHARSET_SHIFTJIS 128
#define wxSCI_CHARSET_SYMBOL 2
#define wxSCI_CHARSET_TURKISH 162
#define wxSCI_CHARSET_JOHAB 130
#define wxSCI_CHARSET_HEBREW 177
#define wxSCI_CHARSET_ARABIC 178
#define wxSCI_CHARSET_VIETNAMESE 163
#define wxSCI_CHARSET_THAI 222
#define wxSCI_CHARSET_8859_15 1000
#define wxSCI_CASE_MIXED 0
#define wxSCI_CASE_UPPER 1
#define wxSCI_CASE_LOWER 2
#define wxSCI_INDIC_MAX 7
#define wxSCI_INDIC_PLAIN 0
#define wxSCI_INDIC_SQUIGGLE 1
#define wxSCI_INDIC_TT 2
#define wxSCI_INDIC_DIAGONAL 3
#define wxSCI_INDIC_STRIKE 4
#define wxSCI_INDIC_HIDDEN 5
#define wxSCI_INDIC_BOX 6
#define wxSCI_INDIC0_MASK 0x20
#define wxSCI_INDIC1_MASK 0x40
#define wxSCI_INDIC2_MASK 0x80
#define wxSCI_INDICS_MASK 0xE0

// PrintColourMode - use same colours as screen.
#define wxSCI_PRINT_NORMAL 0

// PrintColourMode - invert the light value of each style for printing.
#define wxSCI_PRINT_INVERTLIGHT 1

// PrintColourMode - force black text on white background for printing.
#define wxSCI_PRINT_BLACKONWHITE 2

// PrintColourMode - text stays coloured, but all background is forced to be white for printing.
#define wxSCI_PRINT_COLOURONWHITE 3

// PrintColourMode - only the default-background is forced to be white for printing.
#define wxSCI_PRINT_COLOURONWHITEDEFAULTBG 4
#define wxSCI_FIND_WHOLEWORD 2
#define wxSCI_FIND_MATCHCASE 4
#define wxSCI_FIND_WORDSTART 0x00100000
#define wxSCI_FIND_REGEXP 0x00200000
#define wxSCI_FIND_POSIX 0x00400000
#define wxSCI_FOLDLEVELBASE 0x400
#define wxSCI_FOLDLEVELWHITEFLAG 0x1000
#define wxSCI_FOLDLEVELHEADERFLAG 0x2000
#define wxSCI_FOLDLEVELBOXHEADERFLAG 0x4000
#define wxSCI_FOLDLEVELBOXFOOTERFLAG 0x8000
#define wxSCI_FOLDLEVELCONTRACTED 0x10000
#define wxSCI_FOLDLEVELUNINDENT 0x20000
#define wxSCI_FOLDLEVELNUMBERMASK 0x0FFF
#define wxSCI_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002
#define wxSCI_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004
#define wxSCI_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
#define wxSCI_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
#define wxSCI_FOLDFLAG_LEVELNUMBERS 0x0040
#define wxSCI_FOLDFLAG_BOX 0x0001
#define wxSCI_TIME_FOREVER 10000000
#define wxSCI_WRAP_NONE 0
#define wxSCI_WRAP_WORD 1
#define wxSCI_WRAP_CHAR 2
#define wxSCI_WRAPVISUALFLAG_NONE 0x0000
#define wxSCI_WRAPVISUALFLAG_END 0x0001
#define wxSCI_WRAPVISUALFLAG_START 0x0002
#define wxSCI_WRAPVISUALFLAGLOC_DEFAULT 0x0000
#define wxSCI_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001
#define wxSCI_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002
#define wxSCI_CACHE_NONE 0
#define wxSCI_CACHE_CARET 1
#define wxSCI_CACHE_PAGE 2
#define wxSCI_CACHE_DOCUMENT 3
#define wxSCI_EDGE_NONE 0
#define wxSCI_EDGE_LINE 1
#define wxSCI_EDGE_BACKGROUND 2
#define wxSCI_CURSORNORMAL -1
#define wxSCI_CURSORWAIT 4

// Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.
#define wxSCI_VISIBLE_SLOP 0x01
#define wxSCI_VISIBLE_STRICT 0x04

// Caret policy, used by SetXCaretPolicy and SetYCaretPolicy.
// If CARET_SLOP is set, we can define a slop value: caretSlop.
// This value defines an unwanted zone (UZ) where the caret is... unwanted.
// This zone is defined as a number of pixels near the vertical margins,
// and as a number of lines near the horizontal margins.
// By keeping the caret away from the edges, it is seen within its context,
// so it is likely that the identifier that the caret is on can be completely seen,
// and that the current line is seen with some of the lines following it which are
// often dependent on that line.
#define wxSCI_CARET_SLOP 0x01

// If CARET_STRICT is set, the policy is enforced... strictly.
// The caret is centred on the display if slop is not set,
// and cannot go in the UZ if slop is set.
#define wxSCI_CARET_STRICT 0x04

// If CARET_JUMPS is set, the display is moved more energetically
// so the caret can move in the same direction longer before the policy is applied again.
#define wxSCI_CARET_JUMPS 0x10

// If CARET_EVEN is not set, instead of having symmetrical UZs,
// the left and bottom UZs are extended up to right and top UZs respectively.
// This way, we favour the displaying of useful information: the begining of lines,
// where most code reside, and the lines after the caret, eg. the body of a function.
#define wxSCI_CARET_EVEN 0x08

// Selection modes
#define wxSCI_SEL_STREAM 0
#define wxSCI_SEL_RECTANGLE 1
#define wxSCI_SEL_LINES 2

// Maximum value of keywordSet parameter of SetKeyWords.
#define wxSCI_KEYWORDSET_MAX 8

// Notifications
// Type of modification and the action which caused the modification.
// These are defined as a bit mask to make it easy to specify which notifications are wanted.
// One bit is set from each of SC_MOD_* and SC_PERFORMED_*.
#define wxSCI_MOD_INSERTTEXT 0x1
#define wxSCI_MOD_DELETETEXT 0x2
#define wxSCI_MOD_CHANGESTYLE 0x4
#define wxSCI_MOD_CHANGEFOLD 0x8
#define wxSCI_PERFORMED_USER 0x10
#define wxSCI_PERFORMED_UNDO 0x20
#define wxSCI_PERFORMED_REDO 0x40
#define wxSCI_MULTISTEPUNDOREDO 0x80
#define wxSCI_LASTSTEPINUNDOREDO 0x100
#define wxSCI_MOD_CHANGEMARKER 0x200
#define wxSCI_MOD_BEFOREINSERT 0x400
#define wxSCI_MOD_BEFOREDELETE 0x800
#define wxSCI_MULTILINEUNDOREDO 0x1000
#define wxSCI_MODEVENTMASKALL 0x1FFF

// Symbolic key codes and modifier flags.
// ASCII and other printable characters below 256.
// Extended keys above 300.
#define wxSCI_KEY_DOWN 300
#define wxSCI_KEY_UP 301
#define wxSCI_KEY_LEFT 302
#define wxSCI_KEY_RIGHT 303
#define wxSCI_KEY_HOME 304
#define wxSCI_KEY_END 305
#define wxSCI_KEY_PRIOR 306
#define wxSCI_KEY_NEXT 307
#define wxSCI_KEY_DELETE 308
#define wxSCI_KEY_INSERT 309
#define wxSCI_KEY_ESCAPE 7
#define wxSCI_KEY_BACK 8
#define wxSCI_KEY_TAB 9
#define wxSCI_KEY_RETURN 13
#define wxSCI_KEY_ADD 310
#define wxSCI_KEY_SUBTRACT 311
#define wxSCI_KEY_DIVIDE 312
#define wxSCI_SCMOD_NULL 0
#define wxSCI_SCMOD_SHIFT 1
#define wxSCI_SCMOD_CTRL 2
#define wxSCI_SCMOD_ALT 4

// For SciLexer.h
#define wxSCI_LEX_CONTAINER 0
#define wxSCI_LEX_NULL 1
#define wxSCI_LEX_PYTHON 2
#define wxSCI_LEX_CPP 3
#define wxSCI_LEX_HTML 4
#define wxSCI_LEX_XML 5
#define wxSCI_LEX_PERL 6
#define wxSCI_LEX_SQL 7
#define wxSCI_LEX_VB 8
#define wxSCI_LEX_PROPERTIES 9
#define wxSCI_LEX_ERRORLIST 10
#define wxSCI_LEX_MAKEFILE 11
#define wxSCI_LEX_BATCH 12
#define wxSCI_LEX_XCODE 13
#define wxSCI_LEX_LATEX 14
#define wxSCI_LEX_LUA 15
#define wxSCI_LEX_DIFF 16
#define wxSCI_LEX_CONF 17
#define wxSCI_LEX_PASCAL 18
#define wxSCI_LEX_AVE 19
#define wxSCI_LEX_ADA 20
#define wxSCI_LEX_LISP 21
#define wxSCI_LEX_RUBY 22
#define wxSCI_LEX_EIFFEL 23
#define wxSCI_LEX_EIFFELKW 24
#define wxSCI_LEX_TCL 25
#define wxSCI_LEX_NNCRONTAB 26
#define wxSCI_LEX_BULLANT 27
#define wxSCI_LEX_VBSCRIPT 28
#define wxSCI_LEX_BAAN 31
#define wxSCI_LEX_MATLAB 32
#define wxSCI_LEX_SCRIPTOL 33
#define wxSCI_LEX_ASM 34
#define wxSCI_LEX_CPPNOCASE 35
#define wxSCI_LEX_FORTRAN 36
#define wxSCI_LEX_F77 37
#define wxSCI_LEX_CSS 38
#define wxSCI_LEX_POV 39
#define wxSCI_LEX_LOUT 40
#define wxSCI_LEX_ESCRIPT 41
#define wxSCI_LEX_PS 42
#define wxSCI_LEX_NSIS 43
#define wxSCI_LEX_MMIXAL 44
#define wxSCI_LEX_CLW 45
#define wxSCI_LEX_CLWNOCASE 46
#define wxSCI_LEX_LOT 47
#define wxSCI_LEX_YAML 48
#define wxSCI_LEX_TEX 49
#define wxSCI_LEX_METAPOST 50
#define wxSCI_LEX_POWERBASIC 51
#define wxSCI_LEX_FORTH 52
#define wxSCI_LEX_ERLANG 53
#define wxSCI_LEX_OCTAVE 54
#define wxSCI_LEX_MSSQL 55
#define wxSCI_LEX_VERILOG 56
#define wxSCI_LEX_KIX 57
#define wxSCI_LEX_GUI4CLI 58
#define wxSCI_LEX_SPECMAN 59
#define wxSCI_LEX_AU3 60
#define wxSCI_LEX_APDL 61
#define wxSCI_LEX_BASH 62
#define wxSCI_LEX_ASN1 63
#define wxSCI_LEX_VHDL 64
#define wxSCI_LEX_CAML 65
#define wxSCI_LEX_BLITZBASIC 66
#define wxSCI_LEX_PUREBASIC 67
#define wxSCI_LEX_HASKELL 68
#define wxSCI_LEX_PHPSCRIPT 69
#define wxSCI_LEX_TADS3 70
#define wxSCI_LEX_REBOL 71
#define wxSCI_LEX_SMALLTALK 72
#define wxSCI_LEX_FLAGSHIP 73
#define wxSCI_LEX_CSOUND 74

// When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
// value assigned in sequence from SCLEX_AUTOMATIC+1.
#define wxSCI_LEX_AUTOMATIC 1000

// Lexical states for SCLEX_PYTHON
#define wxSCI_P_DEFAULT 0
#define wxSCI_P_COMMENTLINE 1
#define wxSCI_P_NUMBER 2
#define wxSCI_P_STRING 3
#define wxSCI_P_CHARACTER 4
#define wxSCI_P_WORD 5
#define wxSCI_P_TRIPLE 6
#define wxSCI_P_TRIPLEDOUBLE 7
#define wxSCI_P_CLASSNAME 8
#define wxSCI_P_DEFNAME 9
#define wxSCI_P_OPERATOR 10
#define wxSCI_P_IDENTIFIER 11
#define wxSCI_P_COMMENTBLOCK 12
#define wxSCI_P_STRINGEOL 13

// Lexical states for SCLEX_CPP
#define wxSCI_C_DEFAULT 0
#define wxSCI_C_COMMENT 1
#define wxSCI_C_COMMENTLINE 2
#define wxSCI_C_COMMENTDOC 3
#define wxSCI_C_NUMBER 4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -