#region ================== Copyright (c) 2007 Pascal vd Heiden /* * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com * This program is released under GNU General Public License * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #endregion #region ================== Namespaces using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Win32; using System.Diagnostics; using CodeImp.DoomBuilder.Data; using CodeImp.DoomBuilder.Map; #endregion namespace CodeImp.DoomBuilder.Controls { internal struct NotifyHeader { // hwndFrom is really an environment specifc window handle or pointer // but most clients of Scintilla.h do not have this type visible. //WindowID hwndFrom; public IntPtr hwndFrom; public uint idFrom; public uint code; }; internal struct SCNotification { public NotifyHeader nmhdr; public int position; // SCN_STYLENEEDED, SCN_MODIFIED, SCN_DWELLSTART, SCN_DWELLEND public int ch; // SCN_CHARADDED, SCN_KEY public int modifiers; // SCN_KEY public int modificationType; // SCN_MODIFIED public IntPtr text; // SCN_MODIFIED public int length; // SCN_MODIFIED public int linesAdded; // SCN_MODIFIED public int message; // SCN_MACRORECORD public IntPtr wParam; // SCN_MACRORECORD public IntPtr lParam; // SCN_MACRORECORD public int line; // SCN_MODIFIED public int foldLevelNow; // SCN_MODIFIED public int foldLevelPrev; // SCN_MODIFIED public int margin; // SCN_MARGINCLICK public int listType; // SCN_USERLISTSELECTION public int x; // SCN_DWELLSTART, SCN_DWELLEND public int y; // SCN_DWELLSTART, SCN_DWELLEND }; internal enum ScriptWhiteSpace { Invisible = 0, VisibleAlways = 1, VisibleAfterIndent = 2 } internal enum ScriptEndOfLine { CRLF = 0, CR = 1, LF = 2 } internal enum ScriptMarkerSymbol { Circle = 0, Roundrect = 1, Arrow = 2, SmallRect = 3, ShortArrow = 4, Empty = 5, ArrowDown = 6, Minus = 7, Plus = 8, VLine = 9, LCorner = 10, TCorner = 11, BoxPlus = 12, BoxPlusConnected = 13, BoxMinus = 14, BoxMinusConnected = 15, LCornerCurve = 16, TCornerCurve = 17, CirclePlus = 18, CirclePlusConnected = 19, CircleMinus = 20, CircleMinusConnected = 21, Background = 22, DotDotDot = 23, Arrows = 24, Pixmap = 25, Character = 10000 } internal enum ScriptMarkerOutline { FolderEnd = 25, FolderOpenMid = 26, FolderMidTail = 27, FolderTail = 28, FolderSub = 29, Folder = 30, FolderOpen = 31 } internal enum ScriptMarginType { Symbol = 0, Number = 1 } internal enum ScriptStylesCommon { Default = 32, LineNumber = 33, BraceLight = 34, BraceBad = 35, ControlChar = 36, IndentGuide = 37, LastPredefined = 39, Max = 127 } internal enum ScriptCharacterSet { Ansi = 0, Default = 1, Baltic = 186, ChineseBig5 = 136, EastEurope = 238, GB2312 = 134, Greek = 161, Hangul = 129, Mac = 77, Oem = 255, Russian = 204, Shiftjis = 128, Symbol = 2, Turkish = 162, Johab = 130, Hebrew = 177, Arabic = 178, Vietnamese = 163, Thai = 222 } internal enum ScriptCaseVisible { Mixed = 0, Upper = 1, Lower = 2 } internal enum ScriptIndicatorStyle { Max = 7, Plain = 0, Squiggle = 1, TT = 2, Diagonal = 3, Strike = 4, Hidden = 5, Box = 6 } internal enum ScriptPrintOption { Normal = 0, InvertLight = 1, BlackOnWhite = 2, ColourOnWhite = 3, ColourOnWhiteDefaultBG = 4 } internal enum ScriptFindOption { WholeWord = 2, MatchCase = 4, WordStart = 0x00100000, RegExp = 0x00200000, Posix = 0x00400000 } internal enum ScriptFoldLevel { Base = 0x400, WhiteFlag = 0x1000, HeaderFlag = 0x2000, BoxHeaderFlag = 0x4000, BoxFooterFlag = 0x8000, Contracted = 0x10000, Unindent = 0x20000, NumberMask = 0x0FFF } internal enum ScriptFoldFlag { LineBefore_Expanded = 0x0002, LineBefore_Contracted = 0x0004, LineAfter_Expanded = 0x0008, LineAfter_Contracted = 0x0010, LevelNumbers = 0x0040, Box = 0x0001 } internal enum ScriptWrap { None = 0, Word = 1 } internal enum ScriptWrapVisualFlag { None = 0x0000, End = 0x0001, Start = 0x0002 } internal enum ScriptWrapVisualLocation { Default = 0x0000, EndByText = 0x0001, StartByText = 0x0002 } internal enum ScriptLineCache { None = 0, Caret = 1, Page = 2, Document = 3 } internal enum ScriptEdgeVisualStyle { None = 0, Line = 1, Background = 2 } internal enum ScriptCursorShape { Normal = -1, Wait = 4 } internal enum ScriptCaretPolicy { Slop = 0x01, Strict = 0x04, Jumps = 0x10, Even = 0x08 } internal enum ScriptSelectionMode { Stream = 0, Rectangle = 1, Lines = 2 } internal enum ScriptModificationFlags { InsertText = 0x1, DeleteText = 0x2, ChangeStyle = 0x4, ChangeFold = 0x8, User = 0x10, Undo = 0x20, Redo = 0x40, StepInUndoRedo = 0x100, ChangeMarker = 0x200, BeforeInsert = 0x400, BeforeDelete = 0x800 } internal enum ScriptKeys { Down = 300, Up = 301, Left = 302, Right = 303, Home = 304, End = 305, Prior = 306, Next = 307, Delete = 308, Insert = 309, Escape = 7, Back = 8, Tab = 9, Return = 13, Add = 310, Subtract = 311, Divide = 312 } internal enum ScriptKeyMod { Shift = 1, Ctrl = 2, Alt = 4 } internal enum ScriptLexer { Container = 0, Null = 1, Python = 2, Cpp = 3, Html = 4, Xml = 5, Perl = 6, Sql = 7, Vb = 8, Properties = 9, Errorlist = 10, Makefile = 11, Batch = 12, Xcode = 13, Latex = 14, Lua = 15, Diff = 16, Conf = 17, Pascal = 18, Ave = 19, Ada = 20, Lisp = 21, Ruby = 22, Eiffel = 23, Eiffelkw = 24, Tcl = 25, NncronTab = 26, Bullant = 27, VBScript = 28, Asp = 29, Php = 30, Baan = 31, Matlab = 32, Scriptol = 33, Asm = 34, CppNoCase = 35, Fortran = 36, F77 = 37, Css = 38, Pov = 39, Lout = 40, Escript = 41, Ps = 42, Nsis = 43, Mmixal = 44, Clw = 45, Clwnocase = 46, Lot = 47, Yaml = 48, Tex = 49, Metapost = 50, Powerbasic = 51, Forth = 52, Erlang = 53, Octave = 54, Mssql = 55, Verilog = 56, Kix = 57, Gui4cli = 58, Specman = 59, Au3 = 60, Apdl = 61, Bash = 62, Automatic = 1000 } internal enum ScintillaEvents { StyleNeeded = 2000, CharAdded = 2001, SavePointReached = 2002, SavePointLeft = 2003, ModifyAttemptRO = 2004, Key = 2005, DoubleClick = 2006, UpdateUI = 2007, Modified = 2008, MacroRecord = 2009, MarginClick = 2010, NeedShown = 2011, Painted = 2013, UserlistSelection = 2014, UriDropped = 2015, DwellStart = 2016, DwellEnd = 2017, Zoom = 2018, HotspotClick = 2019, HotspotDoubleClick = 2020, CallTipClick = 2021 } internal enum ScriptStyleType { PlainText = 0, Keyword = 1, Constant = 2, Comment = 3, Literal = 4, LineNumber = 5 } }