SynEdit (Syncro): Allow navigating only first occurrences of each word. Issue #0021563

git-svn-id: trunk@37266 -
This commit is contained in:
martin 2012-05-13 14:13:26 +00:00
parent bb32bf4cdb
commit 91ec03f100
7 changed files with 189 additions and 72 deletions

View File

@ -287,8 +287,12 @@ const
ecSynPSyncroEdCellEnd = ecPluginFirst + 6;
ecSynPSyncroEdCellSelect = ecPluginFirst + 7;
ecSynPSyncroEdEscape = ecPluginFirst + 8;
ecSynPSyncroEdNextFirstCell = ecPluginFirst + 9;
ecSynPSyncroEdNextFirstCellSel = ecPluginFirst + 10;
ecSynPSyncroEdPrevFirstCell = ecPluginFirst + 11;
ecSynPSyncroEdPrevFirstCellSel = ecPluginFirst + 12;
ecSynPSyncroEdCount = 9;
ecSynPSyncroEdCount = 13;
implementation
@ -1023,6 +1027,7 @@ var
Line: String;
x2, g: Integer;
entry: PSynPluginSyncroEditWordsHashEntry;
f: Boolean;
begin
if FCallQueued then begin
FEditModeQueued := True;
@ -1064,16 +1069,19 @@ begin
x2 := WordBreaker.NextWordEnd(Line, Pos.x, True);
if (Pos.y < EndPos.y) or (x2 <= EndPos.x) then begin
entry := FWordIndex.GetWordP(@Line[Pos.x], x2-Pos.x);
f := False;
if (entry <> nil) and (entry^.Count > 1) then begin;
if (entry^.GrpId = 0) and (g <= MAX_SYNC_ED_WORDS) then begin
entry^.GrpId := g;
inc(g);
f := True;
end;
if (entry^.GrpId > 0) then
with Cells.AddNew do begin
LogStart := Pos;
LogEnd := Point(x2, Pos.y);
Group := entry^.GrpId;
FirstInGroup := f;
end;
end;
@ -1393,6 +1401,10 @@ begin
ecSynPSyncroEdNextCellSel: NextCell(True, True);
ecSynPSyncroEdPrevCell: PreviousCell(False, True);
ecSynPSyncroEdPrevCellSel: PreviousCell(True, True);
ecSynPSyncroEdNextFirstCell: NextCell(False, True, True);
ecSynPSyncroEdNextFirstCellSel: NextCell(True, True, True);
ecSynPSyncroEdPrevFirstCell: PreviousCell(False, True, True);
ecSynPSyncroEdPrevFirstCellSel: PreviousCell(True, True, True);
ecSynPSyncroEdCellHome: CellCaretHome;
ecSynPSyncroEdCellEnd: CellCaretEnd;
ecSynPSyncroEdCellSelect: SelectCurrentCell;
@ -1542,16 +1554,20 @@ begin
end;
const
EditorSyncroCommandStrs: array[0..8] of TIdentMapEntry = (
(Value: ecSynPSyncroEdStart; Name: 'ecSynPSyncroEdStart'),
(Value: ecSynPSyncroEdNextCell; Name: 'ecSynPSyncroEdNextCell'),
(Value: ecSynPSyncroEdNextCellSel; Name: 'ecSynPSyncroEdNextCellSel'),
(Value: ecSynPSyncroEdPrevCell; Name: 'ecSynPSyncroEdPrevCell'),
(Value: ecSynPSyncroEdPrevCellSel; Name: 'ecSynPSyncroEdPrevCellSel'),
(Value: ecSynPSyncroEdCellHome; Name: 'ecSynPSyncroEdCellHome'),
(Value: ecSynPSyncroEdCellEnd; Name: 'ecSynPSyncroEdCellEnd'),
(Value: ecSynPSyncroEdCellSelect; Name: 'ecSynPSyncroEdCellSelect'),
(Value: ecSynPSyncroEdEscape; Name: 'ecSynPSyncroEdEscape')
EditorSyncroCommandStrs: array[0..12] of TIdentMapEntry = (
(Value: ecSynPSyncroEdStart; Name: 'ecSynPSyncroEdStart'),
(Value: ecSynPSyncroEdNextCell; Name: 'ecSynPSyncroEdNextCell'),
(Value: ecSynPSyncroEdNextCellSel; Name: 'ecSynPSyncroEdNextCellSel'),
(Value: ecSynPSyncroEdPrevCell; Name: 'ecSynPSyncroEdPrevCell'),
(Value: ecSynPSyncroEdPrevCellSel; Name: 'ecSynPSyncroEdPrevCellSel'),
(Value: ecSynPSyncroEdCellHome; Name: 'ecSynPSyncroEdCellHome'),
(Value: ecSynPSyncroEdCellEnd; Name: 'ecSynPSyncroEdCellEnd'),
(Value: ecSynPSyncroEdCellSelect; Name: 'ecSynPSyncroEdCellSelect'),
(Value: ecSynPSyncroEdEscape; Name: 'ecSynPSyncroEdEscape'),
(Value: ecSynPSyncroEdNextFirstCell; Name: 'ecSynPSyncroEdNextFirstCell'),
(Value: ecSynPSyncroEdNextFirstCellSel; Name: 'ecSynPSyncroEdNextFirstCellSel'),
(Value: ecSynPSyncroEdPrevFirstCell; Name: 'ecSynPSyncroEdPrevFirstCell'),
(Value: ecSynPSyncroEdPrevFirstCellSel; Name: 'ecSynPSyncroEdPrevFirstCellSel')
);
function IdentToSyncroCommand(const Ident: string; var Cmd: longint): boolean;

View File

@ -36,14 +36,17 @@ type
TSynPluginSyncronizedEditCell = class
private
FFirstInGroup: Boolean;
FLogStart, FLogEnd: TPoint;
FGroup: Integer;
public
constructor Create;
procedure Assign(Src: TSynPluginSyncronizedEditCell); reintroduce;
property LogStart: TPoint read FLogStart write FLogStart;
property LogEnd: TPoint read FLogEnd write FLogEnd;
property Group: Integer read FGroup write FGroup;
property FirstInGroup: Boolean read FFirstInGroup write FFirstInGroup;
end;
TSynPluginSyncronizedEditCellChangedEvent = procedure(aIndex: Integer;
@ -265,8 +268,8 @@ type
property LastCell: Integer read FLastCell;
protected
procedure SelectCurrentCell(Reverse: Boolean = False);
procedure PreviousCell(SetSelect: Boolean = True; SkipSameIndex: Boolean = False);
procedure NextCell(SetSelect: Boolean = True; SkipSameIndex: Boolean = False);
procedure PreviousCell(SetSelect: Boolean = True; SkipSameIndex: Boolean = False; FirstsOnly: Boolean = False);
procedure NextCell(SetSelect: Boolean = True; SkipSameIndex: Boolean = False; FirstsOnly: Boolean = False);
procedure CellCaretHome;
procedure CellCaretEnd;
public
@ -1136,12 +1139,18 @@ end;
{ TSynPluginSyncronizedEditCell }
constructor TSynPluginSyncronizedEditCell.Create;
begin
FFirstInGroup := False;
end;
procedure TSynPluginSyncronizedEditCell.Assign(Src: TSynPluginSyncronizedEditCell);
begin
if Src = nil then exit;
FLogStart := Src.FLogStart;
FLogEnd := Src.FLogEnd;
FGroup := Src.FGroup;
FFirstInGroup := Src.FFirstInGroup;
end;
{ TSynPluginCustomSyncroEdit }
@ -1301,7 +1310,8 @@ begin
end;
end;
procedure TSynPluginCustomSyncroEdit.PreviousCell(SetSelect: Boolean; SkipSameIndex: Boolean = False);
procedure TSynPluginCustomSyncroEdit.PreviousCell(SetSelect: Boolean; SkipSameIndex: Boolean;
FirstsOnly: Boolean);
var
i, j, x: Integer;
Pos: TPoint;
@ -1326,8 +1336,10 @@ begin
if i < 0 then
i := Cells.Count - 1;
until (j > Cells.Count) or
((Cells[i].Group >= 0) and
((not SkipSameIndex) or (Cells[i].Group <> x)) );
( (Cells[i].Group >= 0) and
((not SkipSameIndex) or (Cells[i].Group <> x)) and
((not FirstsOnly) or (Cells[i].FirstInGroup))
);
CurrentCell := i;
if CurrentCell < 0 then
@ -1339,7 +1351,8 @@ begin
Editor.BlockBegin := Cells[CurrentCell].LogEnd;
end;
procedure TSynPluginCustomSyncroEdit.NextCell(SetSelect: Boolean; SkipSameIndex: Boolean = False);
procedure TSynPluginCustomSyncroEdit.NextCell(SetSelect: Boolean; SkipSameIndex: Boolean;
FirstsOnly: Boolean);
var
Pos: TPoint;
i, j, x: Integer;
@ -1365,8 +1378,10 @@ begin
if i >= Cells.Count then
i := 0
until (j > Cells.Count) or
((Cells[i].Group >= 0) and
((not SkipSameIndex) or (Cells[i].Group <> x)) );
( (Cells[i].Group >= 0) and
((not SkipSameIndex) or (Cells[i].Group <> x)) and
((not FirstsOnly) or (Cells[i].FirstInGroup))
);
CurrentCell := i;
if CurrentCell < 0 then
exit;

View File

@ -66,7 +66,7 @@ type
var Handled: boolean; var Command: TSynEditorCommand;
var AChar: TUTF8Char; Data: pointer; HandlerData: pointer);
procedure NextCellOrFinal(SetSelect: Boolean = True);
procedure NextCellOrFinal(SetSelect: Boolean = True; FirstsOnly: Boolean = False);
procedure SetFinalCaret;
public
constructor Create(AOwner: TComponent); override;
@ -97,8 +97,14 @@ const
ecSynPTmplEdCellSelect = ecPluginFirst + 8;
ecSynPTmplEdFinish = ecPluginFirst + 9;
ecSynPTmplEdEscape = ecPluginFirst + 10;
ecSynPTmplEdNextFirstCell = ecPluginFirst + 11;
ecSynPTmplEdNextFirstCellSel = ecPluginFirst + 12;
ecSynPTmplEdNextFirstCellRotate = ecPluginFirst + 13;
ecSynPTmplEdNextFirstCellSelRotate = ecPluginFirst + 14;
ecSynPTmplEdPrevFirstCell = ecPluginFirst + 15;
ecSynPTmplEdPrevFirstCellSel = ecPluginFirst + 16;
ecSynPTmplEdCount = 10;
ecSynPTmplEdCount = 17;
implementation
@ -222,6 +228,12 @@ begin
ecSynPTmplEdNextCellSelRotate: NextCell(True);
ecSynPTmplEdPrevCell: PreviousCell(False);
ecSynPTmplEdPrevCellSel: PreviousCell(True);
ecSynPTmplEdNextFirstCell: NextCellOrFinal(False, True);
ecSynPTmplEdNextFirstCellSel: NextCellOrFinal(True, True);
ecSynPTmplEdNextFirstCellRotate: NextCell(False, False, True);
ecSynPTmplEdNextFirstCellSelRotate: NextCell(True, False, True);
ecSynPTmplEdPrevFirstCell: PreviousCell(False, False, True);
ecSynPTmplEdPrevFirstCellSel: PreviousCell(True, False, True);
ecSynPTmplEdCellHome: CellCaretHome;
ecSynPTmplEdCellEnd: CellCaretEnd;
ecSynPTmplEdCellSelect: SelectCurrentCell;
@ -236,7 +248,7 @@ begin
end;
end;
procedure TSynPluginTemplateEdit.NextCellOrFinal(SetSelect: Boolean);
procedure TSynPluginTemplateEdit.NextCellOrFinal(SetSelect: Boolean; FirstsOnly: Boolean);
var
Pos: TPoint;
i: Integer;
@ -257,7 +269,8 @@ begin
SetFinalCaret;
exit;
end;
until (Cells[i].Group >= 0);
until (Cells[i].Group >= 0) and
((not FirstsOnly) or (Cells[i].FirstInGroup));
CurrentCell := i;
if CurrentCell < 0 then
exit;
@ -332,6 +345,7 @@ begin
LogStart := CellStart;
LogEnd := Point(k +XOffs, CellStart.y);
Group := grp;
FirstInGroup := True;
end;
inc(grp);
CellStart.x := -1;

View File

@ -693,8 +693,10 @@ begin
with TLazSynPluginSyncronizedEditCell(p.EditCellList.AddNew) do begin
LogStart := Point(p.DestPosX, p.DestPosY);
LogEnd := Point(p.DestPosX + length(Value), p.DestPosY);
if g < 0 then
Group := p.EditCellList.Count
if g < 0 then begin
Group := p.EditCellList.Count;
FirstInGroup := True;
end
else
Group := g;
CellValue := Value;

View File

@ -646,47 +646,67 @@ begin
ecSynMacroPlay : Result:= srkmecSynMacroPlay;
// Edit template
ecIdePTmplEdNextCell: Result := srkmecSynPTmplEdNextCell;
ecIdePTmplEdNextCellSel: Result := srkmecSynPTmplEdNextCellSel;
ecIdePTmplEdNextCellRotate: Result := srkmecSynPTmplEdNextCellRotate;
ecIdePTmplEdNextCellSelRotate: Result := srkmecSynPTmplEdNextCellSelRotate;
ecIdePTmplEdPrevCell: Result := srkmecSynPTmplEdPrevCell;
ecIdePTmplEdPrevCellSel: Result := srkmecSynPTmplEdPrevCellSel;
ecIdePTmplEdCellHome: Result := srkmecSynPTmplEdCellHome;
ecIdePTmplEdCellEnd: Result := srkmecSynPTmplEdCellEnd;
ecIdePTmplEdCellSelect: Result := srkmecSynPTmplEdCellSelect;
ecIdePTmplEdFinish: Result := srkmecSynPTmplEdFinish;
ecIdePTmplEdEscape: Result := srkmecSynPTmplEdEscape;
ecIdePTmplEdNextCell: Result := srkmecSynPTmplEdNextCell;
ecIdePTmplEdNextCellSel: Result := srkmecSynPTmplEdNextCellSel;
ecIdePTmplEdNextCellRotate: Result := srkmecSynPTmplEdNextCellRotate;
ecIdePTmplEdNextCellSelRotate: Result := srkmecSynPTmplEdNextCellSelRotate;
ecIdePTmplEdPrevCell: Result := srkmecSynPTmplEdPrevCell;
ecIdePTmplEdPrevCellSel: Result := srkmecSynPTmplEdPrevCellSel;
ecIdePTmplEdNextFirstCell: Result := srkmecSynPTmplEdNextFirstCell;
ecIdePTmplEdNextFirstCellSel: Result := srkmecSynPTmplEdNextFirstCellSel;
ecIdePTmplEdNextFirstCellRotate: Result := srkmecSynPTmplEdNextFirstCellRotate;
ecIdePTmplEdNextFirstCellSelRotate: Result := srkmecSynPTmplEdNextFirstCellSelRotate;
ecIdePTmplEdPrevFirstCell: Result := srkmecSynPTmplEdPrevFirstCell;
ecIdePTmplEdPrevFirstCellSel: Result := srkmecSynPTmplEdPrevFirstCellSel;
ecIdePTmplEdCellHome: Result := srkmecSynPTmplEdCellHome;
ecIdePTmplEdCellEnd: Result := srkmecSynPTmplEdCellEnd;
ecIdePTmplEdCellSelect: Result := srkmecSynPTmplEdCellSelect;
ecIdePTmplEdFinish: Result := srkmecSynPTmplEdFinish;
ecIdePTmplEdEscape: Result := srkmecSynPTmplEdEscape;
// Edit template
ecIdePTmplEdOutNextCell: Result := srkmecSynPTmplEdNextCell;
ecIdePTmplEdOutNextCellSel: Result := srkmecSynPTmplEdNextCellSel;
ecIdePTmplEdOutNextCellRotate: Result := srkmecSynPTmplEdNextCellRotate;
ecIdePTmplEdOutNextCellSelRotate: Result := srkmecSynPTmplEdNextCellSelRotate;
ecIdePTmplEdOutPrevCell: Result := srkmecSynPTmplEdPrevCell;
ecIdePTmplEdOutPrevCellSel: Result := srkmecSynPTmplEdPrevCellSel;
ecIdePTmplEdOutCellHome: Result := srkmecSynPTmplEdCellHome;
ecIdePTmplEdOutCellEnd: Result := srkmecSynPTmplEdCellEnd;
ecIdePTmplEdOutCellSelect: Result := srkmecSynPTmplEdCellSelect;
ecIdePTmplEdOutFinish: Result := srkmecSynPTmplEdFinish;
ecIdePTmplEdOutEscape: Result := srkmecSynPTmplEdEscape;
ecIdePTmplEdOutNextCell: Result := srkmecSynPTmplEdNextCell;
ecIdePTmplEdOutNextCellSel: Result := srkmecSynPTmplEdNextCellSel;
ecIdePTmplEdOutNextCellRotate: Result := srkmecSynPTmplEdNextCellRotate;
ecIdePTmplEdOutNextCellSelRotate: Result := srkmecSynPTmplEdNextCellSelRotate;
ecIdePTmplEdOutPrevCell: Result := srkmecSynPTmplEdPrevCell;
ecIdePTmplEdOutPrevCellSel: Result := srkmecSynPTmplEdPrevCellSel;
ecIdePTmplEdOutNextFirstCell: Result := srkmecSynPTmplEdNextFirstCell;
ecIdePTmplEdOutNextFirstCellSel: Result := srkmecSynPTmplEdNextFirstCellSel;
ecIdePTmplEdOutNextFirstCellRotate: Result := srkmecSynPTmplEdNextFirstCellRotate;
ecIdePTmplEdOutNextFirstCellSelRotate: Result := srkmecSynPTmplEdNextFirstCellSelRotate;
ecIdePTmplEdOutPrevFirstCell: Result := srkmecSynPTmplEdPrevFirstCell;
ecIdePTmplEdOutPrevFirstCellSel: Result := srkmecSynPTmplEdPrevFirstCellSel;
ecIdePTmplEdOutCellHome: Result := srkmecSynPTmplEdCellHome;
ecIdePTmplEdOutCellEnd: Result := srkmecSynPTmplEdCellEnd;
ecIdePTmplEdOutCellSelect: Result := srkmecSynPTmplEdCellSelect;
ecIdePTmplEdOutFinish: Result := srkmecSynPTmplEdFinish;
ecIdePTmplEdOutEscape: Result := srkmecSynPTmplEdEscape;
// SyncroEdit
ecIdePSyncroEdNextCell: Result := srkmecSynPSyncroEdNextCell;
ecIdePSyncroEdNextCellSel: Result := srkmecSynPSyncroEdNextCellSel;
ecIdePSyncroEdPrevCell: Result := srkmecSynPSyncroEdPrevCell;
ecIdePSyncroEdPrevCellSel: Result := srkmecSynPSyncroEdPrevCellSel;
ecIdePSyncroEdCellHome: Result := srkmecSynPSyncroEdCellHome;
ecIdePSyncroEdCellEnd: Result := srkmecSynPSyncroEdCellEnd;
ecIdePSyncroEdCellSelect: Result := srkmecSynPSyncroEdCellSelect;
ecIdePSyncroEdEscape: Result := srkmecSynPSyncroEdEscape;
ecIdePSyncroEdNextCell: Result := srkmecSynPSyncroEdNextCell;
ecIdePSyncroEdNextCellSel: Result := srkmecSynPSyncroEdNextCellSel;
ecIdePSyncroEdPrevCell: Result := srkmecSynPSyncroEdPrevCell;
ecIdePSyncroEdPrevCellSel: Result := srkmecSynPSyncroEdPrevCellSel;
ecIdePSyncroEdNextFirstCell: Result := srkmecSynPSyncroEdNextFirstCell;
ecIdePSyncroEdNextFirstCellSel: Result := srkmecSynPSyncroEdNextFirstCellSel;
ecIdePSyncroEdPrevFirstCell: Result := srkmecSynPSyncroEdPrevFirstCell;
ecIdePSyncroEdPrevFirstCellSel: Result := srkmecSynPSyncroEdPrevFirstCellSel;
ecIdePSyncroEdCellHome: Result := srkmecSynPSyncroEdCellHome;
ecIdePSyncroEdCellEnd: Result := srkmecSynPSyncroEdCellEnd;
ecIdePSyncroEdCellSelect: Result := srkmecSynPSyncroEdCellSelect;
ecIdePSyncroEdEscape: Result := srkmecSynPSyncroEdEscape;
// SyncroEdit
ecIdePSyncroEdOutNextCell: Result := srkmecSynPSyncroEdNextCell;
ecIdePSyncroEdOutNextCellSel: Result := srkmecSynPSyncroEdNextCellSel;
ecIdePSyncroEdOutPrevCell: Result := srkmecSynPSyncroEdPrevCell;
ecIdePSyncroEdOutPrevCellSel: Result := srkmecSynPSyncroEdPrevCellSel;
ecIdePSyncroEdOutCellHome: Result := srkmecSynPSyncroEdCellHome;
ecIdePSyncroEdOutCellEnd: Result := srkmecSynPSyncroEdCellEnd;
ecIdePSyncroEdOutCellSelect: Result := srkmecSynPSyncroEdCellSelect;
ecIdePSyncroEdOutEscape: Result := srkmecSynPSyncroEdEscape;
ecIdePSyncroEdOutNextCell: Result := srkmecSynPSyncroEdNextCell;
ecIdePSyncroEdOutNextCellSel: Result := srkmecSynPSyncroEdNextCellSel;
ecIdePSyncroEdOutPrevCell: Result := srkmecSynPSyncroEdPrevCell;
ecIdePSyncroEdOutPrevCellSel: Result := srkmecSynPSyncroEdPrevCellSel;
ecIdePSyncroEdOutNextFirstCell: Result := srkmecSynPSyncroEdNextFirstCell;
ecIdePSyncroEdOutNextFirstCellSel: Result := srkmecSynPSyncroEdNextFirstCellSel;
ecIdePSyncroEdOutPrevFirstCell: Result := srkmecSynPSyncroEdPrevFirstCell;
ecIdePSyncroEdOutPrevFirstCellSel: Result := srkmecSynPSyncroEdPrevFirstCellSel;
ecIdePSyncroEdOutCellHome: Result := srkmecSynPSyncroEdCellHome;
ecIdePSyncroEdOutCellEnd: Result := srkmecSynPSyncroEdCellEnd;
ecIdePSyncroEdOutCellSelect: Result := srkmecSynPSyncroEdCellSelect;
ecIdePSyncroEdOutEscape: Result := srkmecSynPSyncroEdEscape;
// SyncroEdit, during selection
ecIdePSyncroEdSelStart: Result := srkmecSynPSyncroEdStart;
@ -2645,6 +2665,12 @@ begin
AddDefault(C, 'Edit Template Next Cell (rotate / all selected)', srkmecSynPTmplEdNextCellSelRotate, ecIdePTmplEdNextCellSelRotate);
AddDefault(C, 'Edit Template Previous Cell', srkmecSynPTmplEdPrevCell, ecIdePTmplEdPrevCell);
AddDefault(C, 'Edit Template Previous Cell (all selected)', srkmecSynPTmplEdPrevCellSel, ecIdePTmplEdPrevCellSel);
AddDefault(C, 'Edit Template Next First Cell', srkmecSynPTmplEdNextFirstCell, ecIdePTmplEdNextFirstCell);
AddDefault(C, 'Edit Template Next First Cell (all selected)', srkmecSynPTmplEdNextFirstCellSel, ecIdePTmplEdNextFirstCellSel);
AddDefault(C, 'Edit Template Next First Cell (rotate)', srkmecSynPTmplEdNextFirstCellRotate, ecIdePTmplEdNextFirstCellRotate);
AddDefault(C, 'Edit Template Next First Cell (rotate / all selected)', srkmecSynPTmplEdNextFirstCellSelRotate, ecIdePTmplEdNextFirstCellSelRotate);
AddDefault(C, 'Edit Template Previous First Cell', srkmecSynPTmplEdPrevFirstCell, ecIdePTmplEdPrevFirstCell);
AddDefault(C, 'Edit Template Previous First Cell (all selected)', srkmecSynPTmplEdPrevFirstCellSel, ecIdePTmplEdPrevFirstCellSel);
AddDefault(C, 'Edit Template Goto first pos in cell', srkmecSynPTmplEdCellHome, ecIdePTmplEdCellHome);
AddDefault(C, 'Edit Template Goto last pos in cell', srkmecSynPTmplEdCellEnd, ecIdePTmplEdCellEnd);
AddDefault(C, 'Edit Template Select cell', srkmecSynPTmplEdCellSelect, ecIdePTmplEdCellSelect);
@ -2659,6 +2685,12 @@ begin
AddDefault(C, 'Edit Template (off) Next Cell (rotate / all selected)', srkmecSynPTmplEdNextCellSelRotate, ecIdePTmplEdOutNextCellSelRotate);
AddDefault(C, 'Edit Template (off) Previous Cell', srkmecSynPTmplEdPrevCell, ecIdePTmplEdOutPrevCell);
AddDefault(C, 'Edit Template (off) Previous Cell (all selected)', srkmecSynPTmplEdPrevCellSel, ecIdePTmplEdOutPrevCellSel);
AddDefault(C, 'Edit Template (off) Next First Cell', srkmecSynPTmplEdNextFirstCell, ecIdePTmplEdOutNextFirstCell);
AddDefault(C, 'Edit Template (off) Next First Cell (all selected)', srkmecSynPTmplEdNextFirstCellSel, ecIdePTmplEdOutNextFirstCellSel);
AddDefault(C, 'Edit Template (off) Next First Cell (rotate)', srkmecSynPTmplEdNextFirstCellRotate, ecIdePTmplEdOutNextFirstCellRotate);
AddDefault(C, 'Edit Template (off) Next First Cell (rotate / all selected)', srkmecSynPTmplEdNextFirstCellSelRotate, ecIdePTmplEdOutNextFirstCellSelRotate);
AddDefault(C, 'Edit Template (off) Previous First Cell', srkmecSynPTmplEdPrevFirstCell, ecIdePTmplEdOutPrevFirstCell);
AddDefault(C, 'Edit Template (off) Previous First Cell (all selected)', srkmecSynPTmplEdPrevFirstCellSel, ecIdePTmplEdOutPrevFirstCellSel);
AddDefault(C, 'Edit Template (off) Goto first pos in cell', srkmecSynPTmplEdCellHome, ecIdePTmplEdOutCellHome);
AddDefault(C, 'Edit Template (off) Goto last pos in cell', srkmecSynPTmplEdCellEnd, ecIdePTmplEdOutCellEnd);
AddDefault(C, 'Edit Template (off) Select cell', srkmecSynPTmplEdCellSelect, ecIdePTmplEdOutCellSelect);
@ -2671,6 +2703,10 @@ begin
AddDefault(C, 'Edit Syncro Next Cell (all selected)', srkmecSynPSyncroEdNextCellSel, ecIdePSyncroEdNextCellSel);
AddDefault(C, 'Edit Syncro Previous Cell', srkmecSynPSyncroEdPrevCell, ecIdePSyncroEdPrevCell);
AddDefault(C, 'Edit Syncro Previous Cell (all selected)', srkmecSynPSyncroEdPrevCellSel, ecIdePSyncroEdPrevCellSel);
AddDefault(C, 'Edit Syncro Next First Cell', srkmecSynPSyncroEdNextFirstCell, ecIdePSyncroEdNextFirstCell);
AddDefault(C, 'Edit Syncro Next First Cell (all selected)', srkmecSynPSyncroEdNextFirstCellSel, ecIdePSyncroEdNextFirstCellSel);
AddDefault(C, 'Edit Syncro First Previous Cell', srkmecSynPSyncroEdPrevFirstCell, ecIdePSyncroEdPrevFirstCell);
AddDefault(C, 'Edit Syncro First Previous Cell (all selected)', srkmecSynPSyncroEdPrevFirstCellSel, ecIdePSyncroEdPrevFirstCellSel);
AddDefault(C, 'Edit Syncro Goto first pos in cell', srkmecSynPSyncroEdCellHome, ecIdePSyncroEdCellHome);
AddDefault(C, 'Edit Syncro Goto last pos in cell', srkmecSynPSyncroEdCellEnd, ecIdePSyncroEdCellEnd);
AddDefault(C, 'Edit Syncro Select cell', srkmecSynPSyncroEdCellSelect, ecIdePSyncroEdCellSelect);
@ -2682,6 +2718,10 @@ begin
AddDefault(C, 'Edit Syncro (off) Next Cell (all selected)', srkmecSynPSyncroEdNextCellSel, ecIdePSyncroEdOutNextCellSel);
AddDefault(C, 'Edit Syncro (off) Previous Cell', srkmecSynPSyncroEdPrevCell, ecIdePSyncroEdOutPrevCell);
AddDefault(C, 'Edit Syncro (off) Previous Cell (all selected)', srkmecSynPSyncroEdPrevCellSel, ecIdePSyncroEdOutPrevCellSel);
AddDefault(C, 'Edit Syncro (off) Next First Cell', srkmecSynPSyncroEdNextFirstCell, ecIdePSyncroEdOutNextFirstCell);
AddDefault(C, 'Edit Syncro (off) Next First Cell (all selected)', srkmecSynPSyncroEdNextFirstCellSel, ecIdePSyncroEdOutNextFirstCellSel);
AddDefault(C, 'Edit Syncro (off) Previous First Cell', srkmecSynPSyncroEdPrevFirstCell, ecIdePSyncroEdOutPrevFirstCell);
AddDefault(C, 'Edit Syncro (off) Previous First Cell (all selected)', srkmecSynPSyncroEdPrevFirstCellSel, ecIdePSyncroEdOutPrevFirstCellSel);
AddDefault(C, 'Edit Syncro (off) Goto first pos in cell', srkmecSynPSyncroEdCellHome, ecIdePSyncroEdOutCellHome);
AddDefault(C, 'Edit Syncro (off) Goto last pos in cell', srkmecSynPSyncroEdCellEnd, ecIdePSyncroEdOutCellEnd);
AddDefault(C, 'Edit Syncro (off) Select cell', srkmecSynPSyncroEdCellSelect, ecIdePSyncroEdOutCellSelect);

View File

@ -2769,6 +2769,12 @@ resourcestring
srkmecSynPTmplEdNextCellSelRotate = 'Next Cell (rotate / all selected)';
srkmecSynPTmplEdPrevCell = 'Previous Cell';
srkmecSynPTmplEdPrevCellSel = 'Previous Cell (all selected)';
srkmecSynPTmplEdNextFirstCell = 'Next Cell (firsts only)';
srkmecSynPTmplEdNextFirstCellSel = 'Next Cell (all selected / firsts only)';
srkmecSynPTmplEdNextFirstCellRotate = 'Next Cell (rotate / firsts only)';
srkmecSynPTmplEdNextFirstCellSelRotate = 'Next Cell (rotate / all selected / firsts only)';
srkmecSynPTmplEdPrevFirstCell = 'Previous Cell (firsts only)';
srkmecSynPTmplEdPrevFirstCellSel = 'Previous Cell (all selected / firsts only)';
srkmecSynPTmplEdCellHome = 'Goto first pos in cell';
srkmecSynPTmplEdCellEnd = 'Goto last pos in cell';
srkmecSynPTmplEdCellSelect = 'Select cell';
@ -2776,15 +2782,19 @@ resourcestring
srkmecSynPTmplEdEscape = 'Escape';
// Plugin Syncro Edit
srkmecSynPSyncroEdNextCell = 'Next Cell';
srkmecSynPSyncroEdNextCellSel = 'Next Cell (all selected)';
srkmecSynPSyncroEdPrevCell = 'Previous Cell';
srkmecSynPSyncroEdPrevCellSel = 'Previous Cell (all selected)';
srkmecSynPSyncroEdCellHome = 'Goto first pos in cell';
srkmecSynPSyncroEdCellEnd = 'Goto last pos in cell';
srkmecSynPSyncroEdCellSelect = 'Select Cell';
srkmecSynPSyncroEdEscape = 'Escape';
srkmecSynPSyncroEdStart = 'Start Syncro edit';
srkmecSynPSyncroEdNextCell = 'Next Cell';
srkmecSynPSyncroEdNextCellSel = 'Next Cell (all selected)';
srkmecSynPSyncroEdPrevCell = 'Previous Cell';
srkmecSynPSyncroEdPrevCellSel = 'Previous Cell (all selected)';
srkmecSynPSyncroEdNextFirstCell = 'Next Cell (firsts only)';
srkmecSynPSyncroEdNextFirstCellSel = 'Next Cell (all selected / firsts only)';
srkmecSynPSyncroEdPrevFirstCell = 'Previous Cell (firsts only)';
srkmecSynPSyncroEdPrevFirstCellSel = 'Previous Cell (all selected / firsts only)';
srkmecSynPSyncroEdCellHome = 'Goto first pos in cell';
srkmecSynPSyncroEdCellEnd = 'Goto last pos in cell';
srkmecSynPSyncroEdCellSelect = 'Select Cell';
srkmecSynPSyncroEdEscape = 'Escape';
srkmecSynPSyncroEdStart = 'Start Syncro edit';
// run menu
srkmecCompile = 'compile program/project';

View File

@ -354,6 +354,12 @@ const
ecIdePTmplEdCellSelect = ecFirstPlugin + 8;
ecIdePTmplEdFinish = ecFirstPlugin + 9;
ecIdePTmplEdEscape = ecFirstPlugin + 10;
ecIdePTmplEdNextFirstCell = ecFirstPlugin + 11;
ecIdePTmplEdNextFirstCellSel = ecFirstPlugin + 12;
ecIdePTmplEdNextFirstCellRotate = ecFirstPlugin + 13;
ecIdePTmplEdNextFirstCellSelRotate = ecFirstPlugin + 14;
ecIdePTmplEdPrevFirstCell = ecFirstPlugin + 15;
ecIdePTmplEdPrevFirstCellSel = ecFirstPlugin + 16;
// TSynPluginTemplateEdit - Out off Cell
ecIdePTmplEdOutNextCell = ecFirstPlugin + 20;
@ -367,6 +373,12 @@ const
ecIdePTmplEdOutCellSelect = ecFirstPlugin + 28;
ecIdePTmplEdOutFinish = ecFirstPlugin + 29;
ecIdePTmplEdOutEscape = ecFirstPlugin + 30;
ecIdePTmplEdOutNextFirstCell = ecFirstPlugin + 31;
ecIdePTmplEdOutNextFirstCellSel = ecFirstPlugin + 32;
ecIdePTmplEdOutNextFirstCellRotate = ecFirstPlugin + 33;
ecIdePTmplEdOutNextFirstCellSelRotate = ecFirstPlugin + 34;
ecIdePTmplEdOutPrevFirstCell = ecFirstPlugin + 35;
ecIdePTmplEdOutPrevFirstCellSel = ecFirstPlugin + 36;
// TSynPluginSyncroEdit - in celll
ecIdePSyncroEdNextCell = ecFirstPlugin + 50;
@ -377,6 +389,10 @@ const
ecIdePSyncroEdCellEnd = ecFirstPlugin + 55;
ecIdePSyncroEdCellSelect = ecFirstPlugin + 56;
ecIdePSyncroEdEscape = ecFirstPlugin + 57;
ecIdePSyncroEdNextFirstCell = ecFirstPlugin + 58;
ecIdePSyncroEdNextFirstCellSel = ecFirstPlugin + 59;
ecIdePSyncroEdPrevFirstCell = ecFirstPlugin + 60;
ecIdePSyncroEdPrevFirstCellSel = ecFirstPlugin + 61;
// TSynPluginSyncroEdit - Out off cell
ecIdePSyncroEdOutNextCell = ecFirstPlugin + 70;
@ -387,6 +403,10 @@ const
ecIdePSyncroEdOutCellEnd = ecFirstPlugin + 75;
ecIdePSyncroEdOutCellSelect = ecFirstPlugin + 76;
ecIdePSyncroEdOutEscape = ecFirstPlugin + 77;
ecIdePSyncroEdOutNextFirstCell = ecFirstPlugin + 78;
ecIdePSyncroEdOutNextFirstCellSel = ecFirstPlugin + 79;
ecIdePSyncroEdOutPrevFirstCell = ecFirstPlugin + 80;
ecIdePSyncroEdOutPrevFirstCellSel = ecFirstPlugin + 81;
// TSynPluginSyncroEdit - selecting
ecIdePSyncroEdSelStart = ecFirstPlugin + 90;