📄 toolsapi.pas
字号:
sEditor = 'editor';
// The following constants define the currently available form designers,
// CLX or VCL. Use dAny for a wizard that doesn't care under which designer
// it is invoked.
dVCL = 'dfm';
dCLX = 'xfm';
dAny = 'Any';
WizardEntryPoint = 'INITWIZARD0001';
isWizards = 'Wizards';
{ IDE's Toolbar names }
sCustomToolBar = 'CustomToolBar';
sStandardToolBar = 'StandardToolBar';
sDebugToolBar = 'DebugToolBar';
sViewToolBar = 'ViewToolBar';
sDesktopToolBar = 'DesktopToolBar';
sInternetToolBar = 'InternetToolBar';
sCORBAToolBar = 'CORBAToolBar';
{ Default IDE application/project types }
sApplication = 'Application';
sLibrary = 'Library';
sConsole = 'Console';
sPackage = 'Package';
{ Default IDE Module/Unit types }
sUnit = 'Unit'; // Raw no form designer unit/C++ module and skeleton code
sForm = 'Form'; // Unit/C++ module with a form designer
sText = 'Text'; // Raw single file module with no skeleton code
{ TMoveCursorMasks }
{ The move cursor mask can be built from one of the following
mmSkipWord - Skip to the next alphanumeric character
mmSkipNonWord - Skip to the next non-alphanumeric character
mmSkipWhite - Skip to the next whitespace character (space, tab, newline)
mmSkipNonWhite - Skip to the next non-whitespace character
mmSkipSpecial - Skip to the next non-alphanumeric and non-whitespace character
mmSkipNonSpecial - Skip to the next alphanumeric or whitespace character
The following can be combined with any of the above
mmSkipLeft - Move to the left or toward the beginning of the file
mmSkipRight - Move to the right or toward the end of the file
The following can be combined with any of the above
mmSkipStream - Ignore line ends when skipping. When used with
mmSkipWhite, and the cursor is at the beginning or end
of a line, the cursor will continue to move until it
reaches a non-white character, non-EOL character, BOF or
EOF }
mmSkipWord = $00;
mmSkipNonWord = $01;
mmSkipWhite = $02;
mmSkipNonWhite = $03;
mmSkipSpecial = $04;
mmSkipNonSpecial = $05;
mmSkipLeft = $00;
mmSkipRight = $10;
mmSkipStream = $20;
{ TCodeCompleteStyle }
{ The code completion syle can be built from one the following
csCodeList - Invoke the IDE's CodeInsight Code completion function
csParamList - Invoke the IDE's CodeInsight Code parameters function
One of the above can be combined with the following
csManual - This will cause the operation to be invoked immediately,
otherwise the IDE will use the delay timer set through the
Code Insight option before invoking the operation.
}
csCodelist = $01;
csParamList = $02;
csManual = $80;
{ TKeyBindingFlags }
{ When assign a keybinding you may pass a combination of the following flags.
NOTE: This *only* affects the terminal key (the last in a multi-key
sequence).
kfImplicitShift - if the keycode is alpha, assign both the upper and
lower case versions.
kfImplicitModifier - <Ctrl+k><Ctrl+b> = <Ctrl+K><b>
kfImplicitKeypad - When an assignment is made to a sequence with a
numeric keypad (Keypad) equivalent, such as PageUp,
a second assignment is implicitly made for the
equivalent
}
kfImplicitShift = $01;
kfImplicitModifier = $02;
kfImplicitKeypad = $04;
{ TRipFlags }
{ When calling RipText use these flags to control the most common character
sets to include is the text ripped from the editor.
rfBackward - Rip the text backward or toward the beginning of the file
rfInvertLegalChars - Include in ripped text characters that are *not* in the set
rfIncludeUpperAlphaChars - Automatically include all the upper case alpha characters
rfIncludeLowerAlphaChars - Automatically include all the lower case alpha characters
rfIncludeAlphaChars - Automatically include all the upper and lower case alpha characters
rfIncludeNumericChars - Automatically include all the numeric characters
rfIncludeSpecialChars - Automatically include all the special characters such as "()[]..."
}
rfBackward = $0100;
rfInvertLegalChars = $1000;
rfIncludeUpperAlphaChars = $0001;
rfIncludeLowerAlphaChars = $0002;
rfIncludeAlphaChars = $0003;
rfIncludeNumericChars = $0004;
rfIncludeSpecialChars = $0008;
{ Possible values for TOTAModuleType }
omtForm = 0;
omtDataModule = 1;
omtProjUnit = 2;
omtUnit = 3;
omtRc = 4;
omtAsm = 5;
omtDef = 6;
omtObj = 7;
omtRes = 8;
omtLib = 9;
omtTypeLib = 10;
omtPackageImport = 11;
omtFormResource = 12;
omtCustom = 13;
omtIDL = 14;
{ IOTAEditOptions now are associated with file types. See
IOTAEditorServices for more information }
const
cDefEdDefault = 'Borland.EditOptions.Default';
cDefEdPascal = 'Borland.EditOptions.Pascal';
cDefEdC = 'Borland.EditOptions.C';
cDefEdCSharp = 'Borland.EditOptions.C#';
cDefEdHTML = 'Borland.EditOptions.HTML';
cDefEdXML = 'Borland.EditOptions.XML';
cDefEdSQL = 'Borland.EditOptions.SQL';
cDefEdIDL = 'Borland.EditOptions.IDL';
type
{
cmOTAMake - Normal make
cmOTABuild - Builds all modules that have source.
cmOTACheck - Normal make without final link
cmOTAMakeUnit - Valid only on an IOTAModule and in C++Builder
}
TOTACompileMode = (cmOTAMake, cmOTABuild, cmOTACheck, cmOTAMakeUnit);
TOTAModuleType = type Integer;
TOTAHandle = Pointer;
TOTAToDoPriority = 0..5;
{ Editor position expressed as column/line after tabs are expanded to spaces
and include the "virtual" editor space (columns beyond the end of lines) }
TOTAEditPos = packed record
Col: SmallInt; { Col is one-based }
Line: Longint; { Line is one-based }
end;
{ Editor position expressed as character index/line before tabs are expanded
and does not include the indecies beyond the end of a line }
TOTACharPos = packed record
CharIndex: SmallInt; { CharIndex is zero-based }
Line: Longint; { Line is one-based }
end;
{ Available option name expressed as a name and a type }
TOTAOptionName = record
Name: string;
Kind: TTypeKind;
end;
{ Dynamic array of option names }
TOTAOptionNameArray = array of TOTAOptionName;
{$IFDEF MSWINDOWS}
TOTAThreadContext = Windows.TContext;
{$ENDIF}
{$IFDEF LINUX}
TFloatingSaveArea = record
ControlWord: DWORD;
StatusWord: DWORD;
TagWord: DWORD;
ErrorOffset: DWORD;
ErrorSelector: DWORD;
DataOffset: DWORD;
DataSelector: DWORD;
RegisterArea: array[0..79] of Byte;
Cr0NpxState: DWORD;
end;
TOTAThreadContext = record
ContextFlags: DWORD;
Dr0: DWORD;
Dr1: DWORD;
Dr2: DWORD;
Dr3: DWORD;
Dr6: DWORD;
Dr7: DWORD;
FloatSave: TFloatingSaveArea;
SegGs: DWORD;
SegFs: DWORD;
SegEs: DWORD;
SegDs: DWORD;
Edi: DWORD;
Esi: DWORD;
Ebx: DWORD;
Edx: DWORD;
Ecx: DWORD;
Eax: DWORD;
Ebp: DWORD;
Eip: DWORD;
SegCs: DWORD;
EFlags: DWORD;
Esp: DWORD;
SegSs: DWORD;
end;
{$ENDIF}
TOTAXMMReg = packed record
case Integer of
0: (ByteReg: packed array[0..15] of Byte);
1: (WordReg: packed array[0..7] of Word);
2: (LongReg: packed array[0..3] of LongWord);
3: (Int64Reg: packed array[0..1] of Int64);
// not yet: 4: (UInt64Reg: packed array[0..1] of UInt64);
5: (SingleReg: packed array[0..3] of Single);
6: (DoubleReg: packed array[0..1] of Double);
end;
TOTAXMMRegs = packed record
XMM0: TOTAXMMReg;
XMM1: TOTAXMMReg;
XMM2: TOTAXMMReg;
XMM3: TOTAXMMReg;
XMM4: TOTAXMMReg;
XMM5: TOTAXMMReg;
XMM6: TOTAXMMReg;
XMM7: TOTAXMMReg;
end;
IOTAProject = interface;
IOTAModule = interface;
IOTANotifier = interface;
IOTAEditView = interface;
IOTAEditBuffer = interface;
IOTAFormEditor = interface;
IOTAComponent = interface;
IBorlandIDEServices = interface;
IOTAEditOptions = interface;
IOTAEditorServices = interface;
IOTAKeyboardServices = interface;
IOTAKeyContext = interface;
IOTAEditBlock = interface;
{ TBindingType - Indicates to the IDE how to manage this keybinding interface
btComplete - This keybinding defines a complete keybinding for the editor.
It is mutually exclusive of *all* other btComplete bindings.
All pre-defined internal keymaps are btComplete.
btPartial - This binding only implements a partial binding. Many of
these may be registered and enabled as the user selects. The
order of registration is determined by the user through the
IDE in the Tools|Editor Options dialog, Key Mappings page.
}
TBindingType = (btComplete, btPartial);
{ TKeyBindingResult }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -