mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-29 10:30:20 +02:00
SynEdit/IDE: Added RTTI info for KeyStrokes.Command. Needed to save MouseAction
git-svn-id: trunk@20879 -
This commit is contained in:
parent
45c7e7690f
commit
8523cdef61
@ -354,6 +354,8 @@ procedure GetEditorCommandValues(Proc: TGetStrProc);
|
||||
function IdentToEditorCommand(const Ident: string; var Cmd: longint): boolean;
|
||||
function EditorCommandToIdent(Cmd: longint; var Ident: string): boolean;
|
||||
|
||||
procedure RegisterKeyCmdIdentProcs(IdentToIntFn: TIdentToInt; IntToIdentFn: TIntToIdent);
|
||||
|
||||
implementation
|
||||
|
||||
// FOR LAZARUS
|
||||
@ -592,6 +594,10 @@ const
|
||||
(Value: EcToggleMarkupWord; Name: 'EcToggleMarkupWord')
|
||||
);
|
||||
|
||||
var
|
||||
ExtraIdentToIntFn: Array of TIdentToInt = nil;
|
||||
ExtraIntToIdentFn: Array of TIntToIdent = nil;
|
||||
|
||||
procedure GetEditorCommandValues(Proc: TGetStrProc);
|
||||
var
|
||||
i: integer;
|
||||
@ -601,45 +607,43 @@ begin
|
||||
end;
|
||||
|
||||
function IdentToEditorCommand(const Ident: string; var Cmd: longint): boolean;
|
||||
{$IFDEF SYN_COMPILER_2}
|
||||
var
|
||||
I: Integer;
|
||||
{$ENDIF}
|
||||
i: Integer;
|
||||
begin
|
||||
{$IFDEF SYN_COMPILER_2}
|
||||
Result := FALSE;
|
||||
for I := Low(EditorCommandStrs) to High(EditorCommandStrs) do
|
||||
if CompareText(EditorCommandStrs[I].Name, Ident) = 0 then
|
||||
begin
|
||||
Result := TRUE;
|
||||
Cmd := EditorCommandStrs[I].Value;
|
||||
break;
|
||||
end;
|
||||
{$ELSE}
|
||||
Result := IdentToInt(Ident, Cmd, EditorCommandStrs);
|
||||
{$ENDIF}
|
||||
Result := IdentToInt(Ident, Cmd, EditorCommandStrs);
|
||||
i := 0;
|
||||
while (i < length(ExtraIdentToIntFn)) and (not Result) do begin
|
||||
Result := ExtraIdentToIntFn[i](Ident, Cmd);
|
||||
inc(i);
|
||||
end;
|
||||
end;
|
||||
|
||||
function EditorCommandToIdent(Cmd: longint; var Ident: string): boolean;
|
||||
{$IFDEF SYN_COMPILER_2}
|
||||
var
|
||||
I: Integer;
|
||||
{$ENDIF}
|
||||
i: Integer;
|
||||
begin
|
||||
{$IFDEF SYN_COMPILER_2}
|
||||
Result := FALSE;
|
||||
for I := Low(EditorCommandStrs) to High(EditorCommandStrs) do
|
||||
if EditorCommandStrs[I].Value = Cmd then
|
||||
begin
|
||||
Result := TRUE;
|
||||
Ident := EditorCommandStrs[I].Name;
|
||||
break;
|
||||
end;
|
||||
{$ELSE}
|
||||
Result := IntToIdent(Cmd, Ident, EditorCommandStrs);
|
||||
{$ENDIF}
|
||||
i := 0;
|
||||
while (i < length(ExtraIntToIdentFn)) and (not Result) do begin
|
||||
Result := ExtraIntToIdentFn[i](Cmd, Ident);
|
||||
inc(i);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure RegisterKeyCmdIdentProcs(IdentToIntFn: TIdentToInt;
|
||||
IntToIdentFn: TIntToIdent);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i := length(ExtraIdentToIntFn);
|
||||
SetLength(ExtraIdentToIntFn, i + 1);
|
||||
ExtraIdentToIntFn[i] := IdentToIntFn;
|
||||
i := length(ExtraIntToIdentFn);
|
||||
SetLength(ExtraIntToIdentFn, i + 1);
|
||||
ExtraIntToIdentFn[i] := IntToIdentFn;
|
||||
end;
|
||||
|
||||
|
||||
function AllocatePluginKeyRange(Count: Integer): integer;
|
||||
const
|
||||
CurOffset : integer = 0;
|
||||
@ -1129,10 +1133,13 @@ end;
|
||||
{end} //ac 2000-07-05
|
||||
|
||||
initialization
|
||||
{$IFNDEF FPC}
|
||||
// FOR LAZARUS ToDo
|
||||
RegisterIntegerConsts(TypeInfo(TSynEditorCommand), IdentToEditorCommand,
|
||||
EditorCommandToIdent);
|
||||
{$ENDIF}
|
||||
RegisterIntegerConsts(TypeInfo(TSynEditorCommand),
|
||||
{$IFDEF FPC}@{$ENDIF}IdentToEditorCommand,
|
||||
{$IFDEF FPC}@{$ENDIF}EditorCommandToIdent);
|
||||
|
||||
finalization
|
||||
ExtraIdentToIntFn := nil;
|
||||
ExtraIntToIdentFn := nil;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -331,7 +331,7 @@ begin
|
||||
FShift := TSynEditMouseAction(Source).Shift;
|
||||
FShiftMask := TSynEditMouseAction(Source).ShiftMask;
|
||||
FMoveCaret := TSynEditMouseAction(Source).MoveCaret;
|
||||
FOption := TSynEditMouseAction(Source).Option;
|
||||
FOption := TSynEditMouseAction(Source).FOption;
|
||||
FPriority := TSynEditMouseAction(Source).Priority;
|
||||
end else
|
||||
inherited Assign(Source);
|
||||
|
@ -926,6 +926,32 @@ const
|
||||
lshJScript
|
||||
);
|
||||
|
||||
type
|
||||
|
||||
{ TSynEditMouseActionKeyCmdHelper }
|
||||
|
||||
TSynEditMouseActionKeyCmdHelper = class(TSynEditMouseAction)
|
||||
private
|
||||
function GetOptionKeyCmd: TSynEditorCommand;
|
||||
procedure SetOptionKeyCmd(const AValue: TSynEditorCommand);
|
||||
published
|
||||
property Option: TSynEditorCommand read GetOptionKeyCmd write SetOptionKeyCmd;
|
||||
end;
|
||||
|
||||
{ TSynEditMouseActionKeyCmdHelper }
|
||||
|
||||
function TSynEditMouseActionKeyCmdHelper.GetOptionKeyCmd: TSynEditorCommand;
|
||||
begin
|
||||
Result := inherited Option;
|
||||
end;
|
||||
|
||||
procedure TSynEditMouseActionKeyCmdHelper.SetOptionKeyCmd(
|
||||
const AValue: TSynEditorCommand);
|
||||
begin
|
||||
inherited Option := AValue;
|
||||
end;
|
||||
|
||||
|
||||
procedure RepairEditorFontHeight(var FontHeight: integer);
|
||||
begin
|
||||
if ((FontHeight>=0) and (FontHeight<=5))
|
||||
@ -2011,14 +2037,14 @@ var
|
||||
Procedure LoadMouseAct(Path: String; MActions: TSynEditMouseActions);
|
||||
var
|
||||
c, i, j: Integer;
|
||||
MAct: TSynEditMouseAction;
|
||||
MAct: TSynEditMouseActionKeyCmdHelper;
|
||||
//ErrShown: Boolean;
|
||||
begin
|
||||
MActions.ResetDefaults;
|
||||
//ErrShown := False;
|
||||
|
||||
// Deleted Defaults
|
||||
MAct := TSynEditMouseAction.Create(nil);
|
||||
MAct := TSynEditMouseActionKeyCmdHelper.Create(nil);
|
||||
c := XMLConfig.GetValue(Path + 'CountDel', 0);
|
||||
for i := 0 to c - 1 do begin
|
||||
XMLConfig.ReadObject(Path + 'Del' + IntToStr(i) + '/', MAct);
|
||||
@ -2276,16 +2302,22 @@ var
|
||||
Procedure SaveMouseAct(Path: String; MActions: TSynEditMouseActions);
|
||||
var
|
||||
i, j, k, OldCnt: Integer;
|
||||
MAct: TSynEditMouseActionKeyCmdHelper;
|
||||
MADef: TSynEditMouseActions;
|
||||
begin
|
||||
MaDef := TSynEditMouseSelActionsClass(MActions.ClassType).Create(nil);
|
||||
MAct := TSynEditMouseActionKeyCmdHelper.Create(nil);
|
||||
MADef.ResetDefaults;
|
||||
OldCnt := XMLConfig.GetValue(Path + 'Count', 0);
|
||||
j := 0;
|
||||
for i := 0 to MActions.Count - 1 do begin
|
||||
k := MADef.IndexOf(MActions[i], True);
|
||||
if (k < 0) or not(MActions[i].Equals(MADef[k])) then begin
|
||||
XMLConfig.WriteObject(Path + 'M' + IntToStr(j) + '/', MActions[i]);
|
||||
if MActions[i].Command = emcSynEditCommand then begin
|
||||
MAct.Assign(MActions[i]);
|
||||
XMLConfig.WriteObject(Path + 'M' + IntToStr(j) + '/', MAct);
|
||||
end else
|
||||
XMLConfig.WriteObject(Path + 'M' + IntToStr(j) + '/', MActions[i]);
|
||||
Inc(j);
|
||||
end;
|
||||
if k >= 0 then
|
||||
@ -2297,12 +2329,18 @@ var
|
||||
|
||||
// Deleted Defaults
|
||||
OldCnt := XMLConfig.GetValue(Path + 'CountDel', 0);
|
||||
for i := 0 to MADef.Count - 1 do
|
||||
XMLConfig.WriteObject(Path + 'Del' + IntToStr(i) + '/', MADef[i]);
|
||||
for i := 0 to MADef.Count - 1 do begin
|
||||
if MADef[i].Command = emcSynEditCommand then begin
|
||||
MAct.Assign(MADef[i]);
|
||||
XMLConfig.WriteObject(Path + 'Del' + IntToStr(i) + '/', MAct);
|
||||
end else
|
||||
XMLConfig.WriteObject(Path + 'Del' + IntToStr(i) + '/', MADef[i]);
|
||||
end;
|
||||
XMLConfig.SetValue(Path + 'CountDel', MADef.Count);
|
||||
for i := MADef.Count to OldCnt do
|
||||
XMLConfig.DeletePath(Path + 'Del' + IntToStr(i));
|
||||
|
||||
MAct.Free;
|
||||
MADef.Free;
|
||||
end;
|
||||
|
||||
|
@ -3242,5 +3242,9 @@ begin
|
||||
FScope:=TheScope;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterKeyCmdIdentProcs({$IFDEF FPC}@{$ENDIF}IdentToIDECommand,
|
||||
{$IFDEF FPC}@{$ENDIF}IDECommandToIdent);
|
||||
|
||||
end.
|
||||
|
||||
|
@ -534,6 +534,8 @@ procedure CreateStandardIDECommandScopes;
|
||||
function CompareIDEShortCuts(Data1, Data2: Pointer): integer;
|
||||
function CompareIDEShortCutKey1s(Data1, Data2: Pointer): integer;
|
||||
|
||||
function IdentToIDECommand(const Ident: string; var Cmd: longint): boolean;
|
||||
function IDECommandToIdent(Cmd: longint; var Ident: string): boolean;
|
||||
|
||||
implementation
|
||||
|
||||
@ -1065,5 +1067,254 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
const
|
||||
IDECommandStrs: array[0..201] of TIdentMapEntry = (
|
||||
// search
|
||||
(Value: ecFind; Name: 'ecFind'),
|
||||
(Value: ecFindAgain; Name: 'ecFindAgain'),
|
||||
(Value: ecFindNext; Name: 'ecFindNext'),
|
||||
(Value: ecFindPrevious; Name: 'ecFindPrevious'),
|
||||
(Value: ecReplace; Name: 'ecReplace'),
|
||||
(Value: ecIncrementalFind; Name: 'ecIncrementalFind'),
|
||||
(Value: ecFindProcedureDefinition; Name: 'ecFindProcedureDefinition'),
|
||||
(Value: ecFindProcedureMethod; Name: 'ecFindProcedureMethod'),
|
||||
(Value: ecGotoLineNumber; Name: 'ecGotoLineNumber'),
|
||||
(Value: ecFindNextWordOccurrence; Name: 'ecFindNextWordOccurrence'),
|
||||
(Value: ecFindPrevWordOccurrence; Name: 'ecFindPrevWordOccurrence'),
|
||||
(Value: ecFindInFiles; Name: 'ecFindInFiles'),
|
||||
(Value: ecJumpBack; Name: 'ecJumpBack'),
|
||||
(Value: ecJumpForward; Name: 'ecJumpForward'),
|
||||
(Value: ecAddJumpPoint; Name: 'ecAddJumpPoint'),
|
||||
(Value: ecViewJumpHistory; Name: 'ecViewJumpHistory'),
|
||||
(Value: ecJumpToNextError; Name: 'ecJumpToNextError'),
|
||||
(Value: ecJumpToPrevError; Name: 'ecJumpToPrevError'),
|
||||
(Value: ecProcedureList; Name: 'ecProcedureList'),
|
||||
|
||||
// search code
|
||||
(Value: ecFindDeclaration; Name: 'ecFindDeclaration'),
|
||||
(Value: ecFindBlockOtherEnd; Name: 'ecFindBlockOtherEnd'),
|
||||
(Value: ecFindBlockStart; Name: 'ecFindBlockStart'),
|
||||
(Value: ecOpenFileAtCursor; Name: 'ecOpenFileAtCursor'),
|
||||
(Value: ecGotoIncludeDirective; Name: 'ecGotoIncludeDirective'),
|
||||
|
||||
// edit selection
|
||||
(Value: ecSelectionUpperCase; Name: 'ecSelectionUpperCase'),
|
||||
(Value: ecSelectionLowerCase; Name: 'ecSelectionLowerCase'),
|
||||
(Value: ecSelectionTabs2Spaces; Name: 'ecSelectionTabs2Spaces'),
|
||||
(Value: ecSelectionEnclose; Name: 'ecSelectionEnclose'),
|
||||
(Value: ecSelectionComment; Name: 'ecSelectionComment'),
|
||||
(Value: ecSelectionUncomment; Name: 'ecSelectionUncomment'),
|
||||
(Value: ecSelectionSort; Name: 'ecSelectionSort'),
|
||||
(Value: ecSelectionBreakLines; Name: 'ecSelectionBreakLines'),
|
||||
(Value: ecSelectToBrace; Name: 'ecSelectToBrace'),
|
||||
(Value: ecSelectCodeBlock; Name: 'ecSelectCodeBlock'),
|
||||
(Value: ecSelectWord; Name: 'ecSelectWord'),
|
||||
(Value: ecSelectLine; Name: 'ecSelectLine'),
|
||||
(Value: ecSelectParagraph; Name: 'ecSelectParagraph'),
|
||||
(Value: ecSelectionConditional; Name: 'ecSelectionConditional'),
|
||||
(Value: ecToggleComment; Name: 'ecToggleComment'),
|
||||
|
||||
// insert text
|
||||
(Value: ecInsertCharacter; Name: 'ecInsertCharacter'),
|
||||
(Value: ecInsertGPLNotice; Name: 'ecInsertGPLNotice'),
|
||||
(Value: ecInsertLGPLNotice; Name: 'ecInsertLGPLNotice'),
|
||||
(Value: ecInsertUserName; Name: 'ecInsertUserName'),
|
||||
(Value: ecInsertDateTime; Name: 'ecInsertDateTime'),
|
||||
(Value: ecInsertChangeLogEntry; Name: 'ecInsertChangeLogEntry'),
|
||||
(Value: ecInsertCVSAuthor; Name: 'ecInsertCVSAuthor'),
|
||||
(Value: ecInsertCVSDate; Name: 'ecInsertCVSDate'),
|
||||
(Value: ecInsertCVSHeader; Name: 'ecInsertCVSHeader'),
|
||||
(Value: ecInsertCVSID; Name: 'ecInsertCVSID'),
|
||||
(Value: ecInsertCVSLog; Name: 'ecInsertCVSLog'),
|
||||
(Value: ecInsertCVSName; Name: 'ecInsertCVSName'),
|
||||
(Value: ecInsertCVSRevision; Name: 'ecInsertCVSRevision'),
|
||||
(Value: ecInsertCVSSource; Name: 'ecInsertCVSSource'),
|
||||
(Value: ecInsertModifiedLGPLNotice; Name: 'ecInsertModifiedLGPLNotice'),
|
||||
(Value: ecInsertTodo; Name: 'ecInsertTodo'),
|
||||
(Value: ecInsertGUID; Name: 'ecInsertGUID'),
|
||||
|
||||
// source tools
|
||||
(Value: ecWordCompletion; Name: 'ecWordCompletion'),
|
||||
(Value: ecCompleteCode; Name: 'ecCompleteCode'),
|
||||
(Value: ecIdentCompletion; Name: 'ecIdentCompletion'),
|
||||
(Value: ecSyntaxCheck; Name: 'ecSyntaxCheck'),
|
||||
(Value: ecGuessUnclosedBlock; Name: 'ecGuessUnclosedBlock'),
|
||||
(Value: ecGuessMisplacedIFDEF; Name: 'ecGuessMisplacedIFDEF'),
|
||||
(Value: ecConvertDFM2LFM; Name: 'ecConvertDFM2LFM'),
|
||||
(Value: ecCheckLFM; Name: 'ecCheckLFM'),
|
||||
(Value: ecConvertDelphiUnit; Name: 'ecConvertDelphiUnit'),
|
||||
(Value: ecConvertDelphiProject; Name: 'ecConvertDelphiProject'),
|
||||
(Value: ecConvertDelphiPackage; Name: 'ecConvertDelphiPackage'),
|
||||
(Value: ecConvertEncoding; Name: 'ecConvertEncoding'),
|
||||
(Value: ecMakeResourceString; Name: 'ecMakeResourceString'),
|
||||
(Value: ecDiff; Name: 'ecDiff'),
|
||||
(Value: ecExtractProc; Name: 'ecExtractProc'),
|
||||
(Value: ecFindIdentifierRefs; Name: 'ecFindIdentifierRefs'),
|
||||
(Value: ecRenameIdentifier; Name: 'ecRenameIdentifier'),
|
||||
(Value: ecInvertAssignment; Name: 'ecInvertAssignment'),
|
||||
(Value: ecShowCodeContext; Name: 'ecShowCodeContext'),
|
||||
(Value: ecShowAbstractMethods; Name: 'ecShowAbstractMethods'),
|
||||
(Value: ecRemoveEmptyMethods; Name: 'ecRemoveEmptyMethods'),
|
||||
(Value: ecRemoveUnusedUnits; Name: 'ecRemoveUnusedUnits'),
|
||||
(Value: ecFindOverloads; Name: 'ecFindOverloads'),
|
||||
|
||||
// file menu
|
||||
(Value: ecNew; Name: 'ecNew'),
|
||||
(Value: ecNewUnit; Name: 'ecNewUnit'),
|
||||
(Value: ecNewForm; Name: 'ecNewForm'),
|
||||
(Value: ecOpen; Name: 'ecOpen'),
|
||||
(Value: ecRevert; Name: 'ecRevert'),
|
||||
(Value: ecSave; Name: 'ecSave'),
|
||||
(Value: ecSaveAs; Name: 'ecSaveAs'),
|
||||
(Value: ecSaveAll; Name: 'ecSaveAll'),
|
||||
(Value: ecClose; Name: 'ecClose'),
|
||||
(Value: ecCloseAll; Name: 'ecCloseAll'),
|
||||
(Value: ecCleanDirectory; Name: 'ecCleanDirectory'),
|
||||
(Value: ecRestart; Name: 'ecRestart'),
|
||||
(Value: ecQuit; Name: 'ecQuit'),
|
||||
|
||||
// IDE navigation
|
||||
(Value: ecToggleFormUnit; Name: 'ecToggleFormUnit'),
|
||||
(Value: ecToggleObjectInsp; Name: 'ecToggleObjectInsp'),
|
||||
(Value: ecToggleSourceEditor; Name: 'ecToggleSourceEditor'),
|
||||
(Value: ecToggleCodeExpl; Name: 'ecToggleCodeExpl'),
|
||||
(Value: ecToggleFPDocEditor; Name: 'ecToggleFPDocEditor'),
|
||||
(Value: ecToggleMessages; Name: 'ecToggleMessages'),
|
||||
(Value: ecToggleWatches; Name: 'ecToggleWatches'),
|
||||
(Value: ecToggleBreakPoints; Name: 'ecToggleBreakPoints'),
|
||||
(Value: ecToggleDebuggerOut; Name: 'ecToggleDebuggerOut'),
|
||||
(Value: ecViewUnits; Name: 'ecViewUnits'),
|
||||
(Value: ecViewForms; Name: 'ecViewForms'),
|
||||
(Value: ecViewUnitDependencies; Name: 'ecViewUnitDependencies'),
|
||||
(Value: ecViewUnitInfo; Name: 'ecViewUnitInfo'),
|
||||
(Value: ecToggleLocals; Name: 'ecToggleLocals'),
|
||||
(Value: ecToggleCallStack; Name: 'ecToggleCallStack'),
|
||||
(Value: ecToggleSearchResults; Name: 'ecToggleSearchResults'),
|
||||
(Value: ecViewAnchorEditor; Name: 'ecViewAnchorEditor'),
|
||||
(Value: ecToggleCodeBrowser; Name: 'ecToggleCodeBrowser'),
|
||||
(Value: ecToggleCompPalette; Name: 'ecToggleCompPalette'),
|
||||
(Value: ecToggleIDESpeedBtns; Name: 'ecToggleIDESpeedBtns'),
|
||||
(Value: ecViewComponents; Name: 'ecViewComponents'),
|
||||
(Value: ecToggleRestrictionBrowser; Name: 'ecToggleRestrictionBrowser'),
|
||||
(Value: ecViewTodoList; Name: 'ecViewTodoList'),
|
||||
(Value: ecToggleRegisters; Name: 'ecToggleRegisters'),
|
||||
(Value: ecToggleAssembler; Name: 'ecToggleAssembler'),
|
||||
|
||||
|
||||
// sourcenotebook commands
|
||||
(Value: ecNextEditor; Name: 'ecNextEditor'),
|
||||
(Value: ecPrevEditor; Name: 'ecPrevEditor'),
|
||||
(Value: ecMoveEditorLeft; Name: 'ecMoveEditorLeft'),
|
||||
(Value: ecMoveEditorRight; Name: 'ecMoveEditorRight'),
|
||||
(Value: ecToggleBreakPoint; Name: 'ecToggleBreakPoint'),
|
||||
(Value: ecRemoveBreakPoint; Name: 'ecRemoveBreakPoint'),
|
||||
(Value: ecMoveEditorLeftmost; Name: 'ecMoveEditorLeftmost'),
|
||||
(Value: ecMoveEditorRightmost; Name: 'ecMoveEditorRightmost'),
|
||||
|
||||
(Value: ecGotoEditor1; Name: 'ecGotoEditor1'),
|
||||
(Value: ecGotoEditor2; Name: 'ecGotoEditor2'),
|
||||
(Value: ecGotoEditor3; Name: 'ecGotoEditor3'),
|
||||
(Value: ecGotoEditor4; Name: 'ecGotoEditor4'),
|
||||
(Value: ecGotoEditor5; Name: 'ecGotoEditor5'),
|
||||
(Value: ecGotoEditor6; Name: 'ecGotoEditor6'),
|
||||
(Value: ecGotoEditor7; Name: 'ecGotoEditor7'),
|
||||
(Value: ecGotoEditor8; Name: 'ecGotoEditor8'),
|
||||
(Value: ecGotoEditor9; Name: 'ecGotoEditor9'),
|
||||
(Value: ecGotoEditor0; Name: 'ecGotoEditor0'),
|
||||
|
||||
// marker
|
||||
(Value: ecSetFreeBookmark; Name: 'ecSetFreeBookmark'),
|
||||
(Value: ecPrevBookmark; Name: 'ecPrevBookmark'),
|
||||
(Value: ecNextBookmark; Name: 'ecNextBookmark'),
|
||||
|
||||
// compile menu
|
||||
(Value: ecBuild; Name: 'ecBuild'),
|
||||
(Value: ecBuildAll; Name: 'ecBuildAll'),
|
||||
(Value: ecQuickCompile; Name: 'ecQuickCompile'),
|
||||
(Value: ecAbortBuild; Name: 'ecAbortBuild'),
|
||||
(Value: ecRun; Name: 'ecRun'),
|
||||
(Value: ecPause; Name: 'ecPause'),
|
||||
(Value: ecStepInto; Name: 'ecStepInto'),
|
||||
(Value: ecStepOver; Name: 'ecStepOver'),
|
||||
(Value: ecRunToCursor; Name: 'ecRunToCursor'),
|
||||
(Value: ecStopProgram; Name: 'ecStopProgram'),
|
||||
(Value: ecResetDebugger; Name: 'ecResetDebugger'),
|
||||
(Value: ecBuildLazarus; Name: 'ecBuildLazarus'),
|
||||
(Value: ecBuildFile; Name: 'ecBuildFile'),
|
||||
(Value: ecRunFile; Name: 'ecRunFile'),
|
||||
(Value: ecConfigBuildFile; Name: 'ecConfigBuildFile'),
|
||||
(Value: ecInspect; Name: 'ecInspect'),
|
||||
(Value: ecEvaluate; Name: 'ecEvaluate'),
|
||||
(Value: ecAddWatch; Name: 'ecAddWatch'),
|
||||
|
||||
// project menu
|
||||
(Value: ecNewProject; Name: 'ecNewProject'),
|
||||
(Value: ecNewProjectFromFile; Name: 'ecNewProjectFromFile'),
|
||||
(Value: ecOpenProject; Name: 'ecOpenProject'),
|
||||
(Value: ecCloseProject; Name: 'ecCloseProject'),
|
||||
(Value: ecSaveProject; Name: 'ecSaveProject'),
|
||||
(Value: ecSaveProjectAs; Name: 'ecSaveProjectAs'),
|
||||
(Value: ecPublishProject; Name: 'ecPublishProject'),
|
||||
(Value: ecProjectInspector; Name: 'ecProjectInspector'),
|
||||
(Value: ecAddCurUnitToProj; Name: 'ecAddCurUnitToProj'),
|
||||
(Value: ecRemoveFromProj; Name: 'ecRemoveFromProj'),
|
||||
(Value: ecViewProjectSource; Name: 'ecViewProjectSource'),
|
||||
(Value: ecProjectOptions; Name: 'ecProjectOptions'),
|
||||
|
||||
// components menu
|
||||
(Value: ecOpenPackage; Name: 'ecOpenPackage'),
|
||||
(Value: ecOpenPackageFile; Name: 'ecOpenPackageFile'),
|
||||
(Value: ecOpenPackageOfCurUnit; Name: 'ecOpenPackageOfCurUnit'),
|
||||
(Value: ecAddCurUnitToPkg; Name: 'ecAddCurUnitToPkg'),
|
||||
(Value: ecPackageGraph; Name: 'ecPackageGraph'),
|
||||
(Value: ecEditInstallPkgs; Name: 'ecEditInstallPkgs'),
|
||||
(Value: ecConfigCustomComps; Name: 'ecConfigCustomComps'),
|
||||
(Value: ecNewPackage; Name: 'ecNewPackage'),
|
||||
|
||||
// custom tools menu
|
||||
(Value: ecExtToolFirst; Name: 'ecExtToolFirst'),
|
||||
(Value: ecExtToolLast; Name: 'ecExtToolLast'),
|
||||
|
||||
// option commmands
|
||||
(Value: ecRunParameters; Name: 'ecRunParameters'),
|
||||
(Value: ecCompilerOptions; Name: 'ecCompilerOptions'),
|
||||
(Value: ecExtToolSettings; Name: 'ecExtToolSettings'),
|
||||
(Value: ecConfigBuildLazarus; Name: 'ecConfigBuildLazarus'),
|
||||
(Value: ecEnvironmentOptions; Name: 'ecEnvironmentOptions'),
|
||||
(Value: ecReserved1; Name: 'ecReserved1'), // reserved
|
||||
(Value: ecEditCodeTemplates; Name: 'ecEditCodeTemplates'),
|
||||
(Value: ecReserved2; Name: 'ecReserved2'), // reserved
|
||||
(Value: ecCodeToolsDefinesEd; Name: 'ecCodeToolsDefinesEd'),
|
||||
(Value: ecRescanFPCSrcDir; Name: 'ecRescanFPCSrcDir'),
|
||||
|
||||
// help menu
|
||||
(Value: ecAboutLazarus; Name: 'ecAboutLazarus'),
|
||||
(Value: ecOnlineHelp; Name: 'ecOnlineHelp'),
|
||||
(Value: ecReserved3; Name: 'ecReserved3'), // reserved
|
||||
(Value: ecContextHelp; Name: 'ecContextHelp'),
|
||||
(Value: ecEditContextHelp; Name: 'ecEditContextHelp'),
|
||||
(Value: ecReportingBug; Name: 'ecReportingBug'),
|
||||
|
||||
// designer
|
||||
(Value: ecDesignerCopy; Name: 'ecDesignerCopy'),
|
||||
(Value: ecDesignerCut; Name: 'ecDesignerCut'),
|
||||
(Value: ecDesignerPaste; Name: 'ecDesignerPaste'),
|
||||
(Value: ecDesignerSelectParent; Name: 'ecDesignerSelectParent'),
|
||||
(Value: ecDesignerMoveToFront; Name: 'ecDesignerMoveToFront'),
|
||||
(Value: ecDesignerMoveToBack; Name: 'ecDesignerMoveToBack'),
|
||||
(Value: ecDesignerForwardOne; Name: 'ecDesignerForwardOne'),
|
||||
(Value: ecDesignerBackOne; Name: 'ecDesignerBackOne')
|
||||
);
|
||||
|
||||
function IdentToIDECommand(const Ident: string; var Cmd: longint): boolean;
|
||||
begin
|
||||
Result := IdentToInt(Ident, Cmd, IDECommandStrs);
|
||||
end;
|
||||
|
||||
function IDECommandToIdent(Cmd: longint; var Ident: string): boolean;
|
||||
begin
|
||||
Result := IntToIdent(Cmd, Ident, IDECommandStrs);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user