mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 09:59:23 +02:00
IDE+codetools: identifier completion: Options to disable sorting for history and scope
git-svn-id: trunk@46599 -
This commit is contained in:
parent
7a2d59468f
commit
43847bb0b3
@ -50,7 +50,7 @@ uses
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Classes, SysUtils, typinfo, FileProcs, CodeTree, CodeAtom, CodeCache,
|
Classes, SysUtils, typinfo, FileProcs, CodeTree, CodeAtom, CodeCache,
|
||||||
CustomCodeTool, CodeToolsStrConsts, KeywordFuncLists, BasicCodeTools,
|
CustomCodeTool, CodeToolsStrConsts, KeywordFuncLists, BasicCodeTools,
|
||||||
LinkScanner, AVL_Tree, CodeToolMemManager, DefineTemplates, SourceChanger,
|
LinkScanner, AvgLvlTree, AVL_Tree, CodeToolMemManager, DefineTemplates, SourceChanger,
|
||||||
FindDeclarationTool, PascalReaderTool, PascalParserTool, CodeToolsStructs,
|
FindDeclarationTool, PascalReaderTool, PascalParserTool, CodeToolsStructs,
|
||||||
ExprEval;
|
ExprEval;
|
||||||
|
|
||||||
@ -202,6 +202,8 @@ type
|
|||||||
FContext: TFindContext;
|
FContext: TFindContext;
|
||||||
FNewMemberVisibility: TCodeTreeNodeDesc;
|
FNewMemberVisibility: TCodeTreeNodeDesc;
|
||||||
FContextFlags: TIdentifierListContextFlags;
|
FContextFlags: TIdentifierListContextFlags;
|
||||||
|
FSortForHistory: boolean;
|
||||||
|
FSortForScope: boolean;
|
||||||
FStartAtom: TAtomPosition;
|
FStartAtom: TAtomPosition;
|
||||||
FStartAtomBehind: TAtomPosition;
|
FStartAtomBehind: TAtomPosition;
|
||||||
FStartAtomInFront: TAtomPosition;
|
FStartAtomInFront: TAtomPosition;
|
||||||
@ -211,13 +213,16 @@ type
|
|||||||
FFilteredList: TFPList; // list of TIdentifierListItem
|
FFilteredList: TFPList; // list of TIdentifierListItem
|
||||||
FFlags: TIdentifierListFlags;
|
FFlags: TIdentifierListFlags;
|
||||||
FHistory: TIdentifierHistoryList;
|
FHistory: TIdentifierHistoryList;
|
||||||
FItems: TAVLTree; // tree of TIdentifierListItem (completely sorted)
|
FItems: TAvgLvlTree; // tree of TIdentifierListItem (completely sorted)
|
||||||
FIdentView: TAVLTree; // tree of TIdentifierListItem sorted for identifiers
|
FIdentView: TAVLTree; // tree of TIdentifierListItem sorted for identifiers
|
||||||
FUsedTools: TAVLTree; // tree of TFindDeclarationTool
|
FUsedTools: TAVLTree; // tree of TFindDeclarationTool
|
||||||
FIdentSearchItem: TIdentifierListSearchItem;
|
FIdentSearchItem: TIdentifierListSearchItem;
|
||||||
FPrefix: string;
|
FPrefix: string;
|
||||||
FStartContext: TFindContext;
|
FStartContext: TFindContext;
|
||||||
|
function CompareIdentListItems(Tree: TAvgLvlTree; Data1, Data2: Pointer): integer;
|
||||||
procedure SetHistory(const AValue: TIdentifierHistoryList);
|
procedure SetHistory(const AValue: TIdentifierHistoryList);
|
||||||
|
procedure SetSortForHistory(AValue: boolean);
|
||||||
|
procedure SetSortForScope(AValue: boolean);
|
||||||
procedure UpdateFilteredList;
|
procedure UpdateFilteredList;
|
||||||
function GetFilteredItems(Index: integer): TIdentifierListItem;
|
function GetFilteredItems(Index: integer): TIdentifierListItem;
|
||||||
procedure SetPrefix(const AValue: string);
|
procedure SetPrefix(const AValue: string);
|
||||||
@ -247,6 +252,8 @@ type
|
|||||||
read GetFilteredItems;
|
read GetFilteredItems;
|
||||||
property History: TIdentifierHistoryList read FHistory write SetHistory;
|
property History: TIdentifierHistoryList read FHistory write SetHistory;
|
||||||
property Prefix: string read FPrefix write SetPrefix;
|
property Prefix: string read FPrefix write SetPrefix;
|
||||||
|
property SortForHistory: boolean read FSortForHistory write SetSortForHistory;
|
||||||
|
property SortForScope: boolean read FSortForScope write SetSortForScope;
|
||||||
property StartAtom: TAtomPosition read FStartAtom write FStartAtom;
|
property StartAtom: TAtomPosition read FStartAtom write FStartAtom;
|
||||||
property StartAtomInFront: TAtomPosition
|
property StartAtomInFront: TAtomPosition
|
||||||
read FStartAtomInFront write FStartAtomInFront; // in front of variable, not only of identifier
|
read FStartAtomInFront write FStartAtomInFront; // in front of variable, not only of identifier
|
||||||
@ -414,46 +421,6 @@ const
|
|||||||
CompilerFuncHistoryIndex = 10;
|
CompilerFuncHistoryIndex = 10;
|
||||||
CompilerFuncLevel = 10;
|
CompilerFuncLevel = 10;
|
||||||
|
|
||||||
function CompareIdentListItems(Data1, Data2: Pointer): integer;
|
|
||||||
var
|
|
||||||
Item1: TIdentifierListItem absolute Data1;
|
|
||||||
Item2: TIdentifierListItem absolute Data2;
|
|
||||||
begin
|
|
||||||
// first sort for Compatibility (lower is better)
|
|
||||||
if ord(Item1.Compatibility)<ord(Item2.Compatibility) then begin
|
|
||||||
Result:=-1;
|
|
||||||
exit;
|
|
||||||
end else if ord(Item1.Compatibility)>ord(Item2.Compatibility) then begin
|
|
||||||
Result:=1;
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// then sort for History (lower is better)
|
|
||||||
if Item1.HistoryIndex<Item2.HistoryIndex then begin
|
|
||||||
Result:=-1;
|
|
||||||
exit;
|
|
||||||
end else if Item1.HistoryIndex>Item2.HistoryIndex then begin
|
|
||||||
Result:=1;
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// then sort for Level (i.e. scope, lower is better)
|
|
||||||
if Item1.Level<Item2.Level then begin
|
|
||||||
Result:=-1;
|
|
||||||
exit;
|
|
||||||
end else if Item1.Level>Item2.Level then begin
|
|
||||||
Result:=1;
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// then sort alpabetically (lower is better)
|
|
||||||
Result:=CompareIdentifierPtrs(Pointer(Item2.Identifier),Pointer(Item1.Identifier));
|
|
||||||
if Result<>0 then exit;
|
|
||||||
|
|
||||||
// then sort for ParamList (lower is better)
|
|
||||||
Result:=Item2.CompareParamList(Item1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function CompareIdentListItemsForIdents(Data1, Data2: Pointer): integer;
|
function CompareIdentListItemsForIdents(Data1, Data2: Pointer): integer;
|
||||||
var
|
var
|
||||||
Item1: TIdentifierListItem absolute Data1;
|
Item1: TIdentifierListItem absolute Data1;
|
||||||
@ -536,6 +503,53 @@ end;
|
|||||||
|
|
||||||
{ TIdentifierList }
|
{ TIdentifierList }
|
||||||
|
|
||||||
|
function TIdentifierList.CompareIdentListItems(Tree: TAvgLvlTree; Data1,
|
||||||
|
Data2: Pointer): integer;
|
||||||
|
var
|
||||||
|
Item1: TIdentifierListItem absolute Data1;
|
||||||
|
Item2: TIdentifierListItem absolute Data2;
|
||||||
|
begin
|
||||||
|
if SortForScope then begin
|
||||||
|
// first sort for Compatibility (lower is better)
|
||||||
|
if ord(Item1.Compatibility)<ord(Item2.Compatibility) then begin
|
||||||
|
Result:=-1;
|
||||||
|
exit;
|
||||||
|
end else if ord(Item1.Compatibility)>ord(Item2.Compatibility) then begin
|
||||||
|
Result:=1;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if SortForHistory then begin
|
||||||
|
// then sort for History (lower is better)
|
||||||
|
if Item1.HistoryIndex<Item2.HistoryIndex then begin
|
||||||
|
Result:=-1;
|
||||||
|
exit;
|
||||||
|
end else if Item1.HistoryIndex>Item2.HistoryIndex then begin
|
||||||
|
Result:=1;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if SortForScope then begin
|
||||||
|
// then sort for Level (i.e. scope, lower is better)
|
||||||
|
if Item1.Level<Item2.Level then begin
|
||||||
|
Result:=-1;
|
||||||
|
exit;
|
||||||
|
end else if Item1.Level>Item2.Level then begin
|
||||||
|
Result:=1;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// then sort alpabetically (lower is better)
|
||||||
|
Result:=CompareIdentifierPtrs(Pointer(Item2.Identifier),Pointer(Item1.Identifier));
|
||||||
|
if Result<>0 then exit;
|
||||||
|
|
||||||
|
// then sort for ParamList (lower is better)
|
||||||
|
Result:=Item2.CompareParamList(Item1);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TIdentifierList.SetPrefix(const AValue: string);
|
procedure TIdentifierList.SetPrefix(const AValue: string);
|
||||||
begin
|
begin
|
||||||
if FPrefix=AValue then exit;
|
if FPrefix=AValue then exit;
|
||||||
@ -545,7 +559,7 @@ end;
|
|||||||
|
|
||||||
procedure TIdentifierList.UpdateFilteredList;
|
procedure TIdentifierList.UpdateFilteredList;
|
||||||
var
|
var
|
||||||
AnAVLNode: TAVLTreeNode;
|
AnAVLNode: TAvgLvlTreeNode;
|
||||||
CurItem: TIdentifierListItem;
|
CurItem: TIdentifierListItem;
|
||||||
begin
|
begin
|
||||||
if not (ilfFilteredListNeedsUpdate in FFlags) then exit;
|
if not (ilfFilteredListNeedsUpdate in FFlags) then exit;
|
||||||
@ -585,6 +599,20 @@ begin
|
|||||||
FHistory:=AValue;
|
FHistory:=AValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TIdentifierList.SetSortForHistory(AValue: boolean);
|
||||||
|
begin
|
||||||
|
if FSortForHistory=AValue then Exit;
|
||||||
|
FSortForHistory:=AValue;
|
||||||
|
Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIdentifierList.SetSortForScope(AValue: boolean);
|
||||||
|
begin
|
||||||
|
if FSortForScope=AValue then Exit;
|
||||||
|
FSortForScope:=AValue;
|
||||||
|
Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
function TIdentifierList.GetFilteredItems(Index: integer): TIdentifierListItem;
|
function TIdentifierList.GetFilteredItems(Index: integer): TIdentifierListItem;
|
||||||
begin
|
begin
|
||||||
UpdateFilteredList;
|
UpdateFilteredList;
|
||||||
@ -597,10 +625,12 @@ end;
|
|||||||
constructor TIdentifierList.Create;
|
constructor TIdentifierList.Create;
|
||||||
begin
|
begin
|
||||||
FFlags:=[ilfFilteredListNeedsUpdate];
|
FFlags:=[ilfFilteredListNeedsUpdate];
|
||||||
FItems:=TAVLTree.Create(@CompareIdentListItems);
|
FItems:=TAvgLvlTree.CreateObjectCompare(@CompareIdentListItems);
|
||||||
FIdentView:=TAVLTree.Create(@CompareIdentListItemsForIdents);
|
FIdentView:=TAVLTree.Create(@CompareIdentListItemsForIdents);
|
||||||
FIdentSearchItem:=TIdentifierListSearchItem.Create;
|
FIdentSearchItem:=TIdentifierListSearchItem.Create;
|
||||||
FCreatedIdentifiers:=TFPList.Create;
|
FCreatedIdentifiers:=TFPList.Create;
|
||||||
|
FSortForHistory:=true;
|
||||||
|
FSortForScope:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TIdentifierList.Destroy;
|
destructor TIdentifierList.Destroy;
|
||||||
@ -779,7 +809,7 @@ function TIdentifierList.CompletePrefix(const OldPrefix: string): string;
|
|||||||
// search all identifiers beginning with Prefix
|
// search all identifiers beginning with Prefix
|
||||||
// and return the biggest shared prefix of all of them
|
// and return the biggest shared prefix of all of them
|
||||||
var
|
var
|
||||||
AnAVLNode: TAVLTreeNode;
|
AnAVLNode: TAvgLvlTreeNode;
|
||||||
CurItem: TIdentifierListItem;
|
CurItem: TIdentifierListItem;
|
||||||
FoundFirst: Boolean;
|
FoundFirst: Boolean;
|
||||||
SamePos: Integer;
|
SamePos: Integer;
|
||||||
@ -820,6 +850,7 @@ function TIdentifierList.CalcMemSize: PtrUInt;
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
Node: TAVLTreeNode;
|
Node: TAVLTreeNode;
|
||||||
|
AvgNode: TAvgLvlTreeNode;
|
||||||
li: TIdentifierListItem;
|
li: TIdentifierListItem;
|
||||||
hli: TIdentHistListItem;
|
hli: TIdentHistListItem;
|
||||||
begin
|
begin
|
||||||
@ -839,12 +870,12 @@ begin
|
|||||||
inc(Result,FHistory.CalcMemSize);
|
inc(Result,FHistory.CalcMemSize);
|
||||||
end;
|
end;
|
||||||
if FItems<>nil then begin
|
if FItems<>nil then begin
|
||||||
inc(Result,FItems.Count*SizeOf(TAVLTreeNode));
|
inc(Result,FItems.Count*SizeOf(TAvgLvlTreeNode));
|
||||||
Node:=FItems.FindLowest;
|
AvgNode:=FItems.FindLowest;
|
||||||
while Node<>nil do begin
|
while AvgNode<>nil do begin
|
||||||
li:=TIdentifierListItem(Node.Data);
|
li:=TIdentifierListItem(AvgNode.Data);
|
||||||
inc(Result,li.CalcMemSize);
|
inc(Result,li.CalcMemSize);
|
||||||
Node:=FItems.FindSuccessor(Node);
|
AvgNode:=AvgNode.Successor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if FIdentView<>nil then begin
|
if FIdentView<>nil then begin
|
||||||
|
@ -61,6 +61,8 @@ type
|
|||||||
|
|
||||||
// General
|
// General
|
||||||
FAdjustTopLineDueToComment: boolean;
|
FAdjustTopLineDueToComment: boolean;
|
||||||
|
FIdentComplSortForHistory: boolean;
|
||||||
|
FIdentComplSortForScope: boolean;
|
||||||
FJumpCentered: boolean;
|
FJumpCentered: boolean;
|
||||||
FCursorBeyondEOL: boolean;
|
FCursorBeyondEOL: boolean;
|
||||||
FSkipForwardDeclarations: boolean;
|
FSkipForwardDeclarations: boolean;
|
||||||
@ -219,6 +221,10 @@ type
|
|||||||
read FIdentComplReplaceIdentifier write FIdentComplReplaceIdentifier;
|
read FIdentComplReplaceIdentifier write FIdentComplReplaceIdentifier;
|
||||||
property IdentComplShowHelp: boolean read FIdentComplShowHelp
|
property IdentComplShowHelp: boolean read FIdentComplShowHelp
|
||||||
write FIdentComplShowHelp;
|
write FIdentComplShowHelp;
|
||||||
|
property IdentComplSortForHistory: boolean read FIdentComplSortForHistory
|
||||||
|
write FIdentComplSortForHistory;
|
||||||
|
property IdentComplSortForScope: boolean read FIdentComplSortForScope
|
||||||
|
write FIdentComplSortForScope;
|
||||||
|
|
||||||
// indentation
|
// indentation
|
||||||
property IndentOnLineBreak: boolean read FIndentOnLineBreak
|
property IndentOnLineBreak: boolean read FIndentOnLineBreak
|
||||||
@ -482,6 +488,10 @@ begin
|
|||||||
'CodeToolsOptions/IdentifierCompletion/ReplaceIdentifier',true);
|
'CodeToolsOptions/IdentifierCompletion/ReplaceIdentifier',true);
|
||||||
FIdentComplShowHelp:=XMLConfig.GetValue(
|
FIdentComplShowHelp:=XMLConfig.GetValue(
|
||||||
'CodeToolsOptions/IdentifierCompletion/ShowHelp',false);
|
'CodeToolsOptions/IdentifierCompletion/ShowHelp',false);
|
||||||
|
FIdentComplSortForHistory:=XMLConfig.GetValue(
|
||||||
|
'CodeToolsOptions/IdentifierCompletion/SortForHistory',true);
|
||||||
|
FIdentComplSortForScope:=XMLConfig.GetValue(
|
||||||
|
'CodeToolsOptions/IdentifierCompletion/SortForScope',true);
|
||||||
|
|
||||||
// indentation
|
// indentation
|
||||||
FIndentOnLineBreak :=
|
FIndentOnLineBreak :=
|
||||||
@ -624,6 +634,10 @@ begin
|
|||||||
FIdentComplReplaceIdentifier,true);
|
FIdentComplReplaceIdentifier,true);
|
||||||
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/ShowHelp',
|
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/ShowHelp',
|
||||||
FIdentComplShowHelp,false);
|
FIdentComplShowHelp,false);
|
||||||
|
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/SortForHistory',
|
||||||
|
FIdentComplSortForHistory,true);
|
||||||
|
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/SortForScope',
|
||||||
|
FIdentComplSortForScope,true);
|
||||||
|
|
||||||
// indentation
|
// indentation
|
||||||
XMLConfig.SetDeleteValue('CodeToolsOptions/Indentation/OnLineBreak/Enabled'
|
XMLConfig.SetDeleteValue('CodeToolsOptions/Indentation/OnLineBreak/Enabled'
|
||||||
@ -743,6 +757,8 @@ begin
|
|||||||
FIdentComplAddParameterBrackets:=CodeToolsOpts.FIdentComplAddParameterBrackets;
|
FIdentComplAddParameterBrackets:=CodeToolsOpts.FIdentComplAddParameterBrackets;
|
||||||
FIdentComplReplaceIdentifier:=CodeToolsOpts.FIdentComplReplaceIdentifier;
|
FIdentComplReplaceIdentifier:=CodeToolsOpts.FIdentComplReplaceIdentifier;
|
||||||
FIdentComplShowHelp:=CodeToolsOpts.FIdentComplShowHelp;
|
FIdentComplShowHelp:=CodeToolsOpts.FIdentComplShowHelp;
|
||||||
|
FIdentComplSortForHistory:=CodeToolsOpts.FIdentComplSortForHistory;
|
||||||
|
FIdentComplSortForScope:=CodeToolsOpts.FIdentComplSortForScope;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Clear;
|
Clear;
|
||||||
@ -797,6 +813,8 @@ begin
|
|||||||
FIdentComplAddParameterBrackets:=true;
|
FIdentComplAddParameterBrackets:=true;
|
||||||
FIdentComplReplaceIdentifier:=true;
|
FIdentComplReplaceIdentifier:=true;
|
||||||
FIdentComplShowHelp:=false;
|
FIdentComplShowHelp:=false;
|
||||||
|
FIdentComplSortForHistory:=true;
|
||||||
|
FIdentComplSortForScope:=true;
|
||||||
|
|
||||||
// indentation
|
// indentation
|
||||||
FIndentOnLineBreak:=true;
|
FIndentOnLineBreak:=true;
|
||||||
@ -869,6 +887,8 @@ begin
|
|||||||
and (FIdentComplAddParameterBrackets=CodeToolsOpts.FIdentComplAddParameterBrackets)
|
and (FIdentComplAddParameterBrackets=CodeToolsOpts.FIdentComplAddParameterBrackets)
|
||||||
and (FIdentComplReplaceIdentifier=CodeToolsOpts.FIdentComplReplaceIdentifier)
|
and (FIdentComplReplaceIdentifier=CodeToolsOpts.FIdentComplReplaceIdentifier)
|
||||||
and (FIdentComplShowHelp=CodeToolsOpts.FIdentComplShowHelp)
|
and (FIdentComplShowHelp=CodeToolsOpts.FIdentComplShowHelp)
|
||||||
|
and (FIdentComplSortForHistory=CodeToolsOpts.FIdentComplSortForHistory)
|
||||||
|
and (FIdentComplSortForScope=CodeToolsOpts.FIdentComplSortForScope)
|
||||||
;
|
;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -933,7 +953,12 @@ begin
|
|||||||
// CreateCode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// CreateCode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
AssignTo(Boss.SourceChangeCache.BeautifyCodeOptions);
|
AssignTo(Boss.SourceChangeCache.BeautifyCodeOptions);
|
||||||
Boss.SetPropertyVariablename:=SetPropertyVariablename;
|
Boss.SetPropertyVariablename:=SetPropertyVariablename;
|
||||||
//
|
|
||||||
|
// Identifier Completion - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
Boss.IdentifierList.SortForHistory:=IdentComplSortForHistory;
|
||||||
|
Boss.IdentifierList.SortForScope:=IdentComplSortForScope;
|
||||||
|
|
||||||
|
// Code Templates- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
aFilename:=CodeCompletionTemplateFileName;
|
aFilename:=CodeCompletionTemplateFileName;
|
||||||
IDEMacros.SubstituteMacros(aFilename);
|
IDEMacros.SubstituteMacros(aFilename);
|
||||||
aFilename:=TrimFilename(aFilename);
|
aFilename:=TrimFilename(aFilename);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompletionOptionsFrame
|
object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompletionOptionsFrame
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 300
|
Height = 415
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 400
|
Width = 537
|
||||||
ClientHeight = 300
|
ClientHeight = 415
|
||||||
ClientWidth = 400
|
ClientWidth = 537
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
Visible = False
|
Visible = False
|
||||||
DesignLeft = 514
|
DesignLeft = 514
|
||||||
@ -15,9 +15,9 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
Caption = 'ICAddSemicolonCheckBox'
|
Caption = 'ICAddSemicolonCheckBox'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -29,9 +29,9 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 25
|
Top = 30
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 6
|
||||||
Caption = 'ICAddAssignOperatorCheckBox'
|
Caption = 'ICAddAssignOperatorCheckBox'
|
||||||
@ -44,9 +44,9 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 75
|
Top = 90
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 6
|
||||||
Caption = 'ICAutoStartAfterPointCheckBox'
|
Caption = 'ICAutoStartAfterPointCheckBox'
|
||||||
@ -59,9 +59,9 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 100
|
Top = 120
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 6
|
||||||
Caption = 'ICAutoAddParameterBracketsCheckBox'
|
Caption = 'ICAutoAddParameterBracketsCheckBox'
|
||||||
@ -74,11 +74,11 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 150
|
Top = 188
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 10
|
||||||
Caption = 'ICShowHelpCheckBox'
|
Caption = 'ICShowHelpCheckBox'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@ -91,11 +91,11 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 125
|
Top = 154
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 10
|
||||||
Caption = 'ICReplaceCheckBox'
|
Caption = 'ICReplaceCheckBox'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@ -108,12 +108,35 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
|
|||||||
AnchorSideRight.Control = Owner
|
AnchorSideRight.Control = Owner
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 24
|
||||||
Top = 50
|
Top = 60
|
||||||
Width = 400
|
Width = 537
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Top = 6
|
BorderSpacing.Top = 6
|
||||||
Caption = 'ICAddDoCheckBox'
|
Caption = 'ICAddDoCheckBox'
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
end
|
end
|
||||||
|
object ICSortForHistoryCheckBox: TCheckBox
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Control = ICShowHelpCheckBox
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 24
|
||||||
|
Top = 222
|
||||||
|
Width = 170
|
||||||
|
BorderSpacing.Top = 10
|
||||||
|
Caption = 'ICSortForHistoryCheckBox'
|
||||||
|
TabOrder = 7
|
||||||
|
end
|
||||||
|
object ICSortForScopeCheckBox: TCheckBox
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Control = ICSortForHistoryCheckBox
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 24
|
||||||
|
Top = 246
|
||||||
|
Width = 164
|
||||||
|
Caption = 'ICSortForScopeCheckBox'
|
||||||
|
TabOrder = 8
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -40,6 +40,8 @@ type
|
|||||||
ICAddSemicolonCheckBox: TCheckBox;
|
ICAddSemicolonCheckBox: TCheckBox;
|
||||||
ICReplaceCheckBox: TCheckBox;
|
ICReplaceCheckBox: TCheckBox;
|
||||||
ICShowHelpCheckBox: TCheckBox;
|
ICShowHelpCheckBox: TCheckBox;
|
||||||
|
ICSortForHistoryCheckBox: TCheckBox;
|
||||||
|
ICSortForScopeCheckBox: TCheckBox;
|
||||||
private
|
private
|
||||||
public
|
public
|
||||||
function GetTitle: String; override;
|
function GetTitle: String; override;
|
||||||
@ -68,10 +70,16 @@ begin
|
|||||||
ICAddDoCheckBox.Caption:=lisAddKeywordDo;
|
ICAddDoCheckBox.Caption:=lisAddKeywordDo;
|
||||||
ICAutoStartAfterPointCheckBox.Caption:=lisAutomaticallyInvokeAfterPoint;
|
ICAutoStartAfterPointCheckBox.Caption:=lisAutomaticallyInvokeAfterPoint;
|
||||||
ICAutoAddParameterBracketsCheckBox.Caption:=lisAddParameterBrackets;
|
ICAutoAddParameterBracketsCheckBox.Caption:=lisAddParameterBrackets;
|
||||||
|
|
||||||
ICReplaceCheckBox.Caption:=lisReplaceWholeIdentifier;
|
ICReplaceCheckBox.Caption:=lisReplaceWholeIdentifier;
|
||||||
ICReplaceCheckBox.Hint:=lisEnableReplaceWholeIdentifierDisableReplacePrefix;
|
ICReplaceCheckBox.Hint:=lisEnableReplaceWholeIdentifierDisableReplacePrefix;
|
||||||
|
|
||||||
ICShowHelpCheckBox.Caption:=lisShowHelp;
|
ICShowHelpCheckBox.Caption:=lisShowHelp;
|
||||||
ICShowHelpCheckBox.Hint:=lisBestViewedByInstallingAHTMLControlLikeTurbopowerip;
|
ICShowHelpCheckBox.Hint:=lisBestViewedByInstallingAHTMLControlLikeTurbopowerip;
|
||||||
|
|
||||||
|
ICSortForHistoryCheckBox.Caption:=lisShowRecentlyUsedIdentifiersAtTop;
|
||||||
|
ICSortForScopeCheckBox.Caption:=lisSortForScope;
|
||||||
|
ICSortForScopeCheckBox.Hint:=lisForExampleShowAtTopTheLocalVariablesThenTheMembers;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodetoolsIndentifierCompletionOptionsFrame.ReadSettings(
|
procedure TCodetoolsIndentifierCompletionOptionsFrame.ReadSettings(
|
||||||
@ -86,6 +94,8 @@ begin
|
|||||||
ICAutoAddParameterBracketsCheckBox.Checked:=IdentComplAddParameterBrackets;
|
ICAutoAddParameterBracketsCheckBox.Checked:=IdentComplAddParameterBrackets;
|
||||||
ICReplaceCheckBox.Checked:=IdentComplReplaceIdentifier;
|
ICReplaceCheckBox.Checked:=IdentComplReplaceIdentifier;
|
||||||
ICShowHelpCheckBox.Checked:=IdentComplShowHelp;
|
ICShowHelpCheckBox.Checked:=IdentComplShowHelp;
|
||||||
|
ICSortForHistoryCheckBox.Checked:=IdentComplSortForHistory;
|
||||||
|
ICSortForScopeCheckBox.Checked:=IdentComplSortForScope;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -101,6 +111,8 @@ begin
|
|||||||
IdentComplAddParameterBrackets:=ICAutoAddParameterBracketsCheckBox.Checked;
|
IdentComplAddParameterBrackets:=ICAutoAddParameterBracketsCheckBox.Checked;
|
||||||
IdentComplReplaceIdentifier:=ICReplaceCheckBox.Checked;
|
IdentComplReplaceIdentifier:=ICReplaceCheckBox.Checked;
|
||||||
IdentComplShowHelp:=ICShowHelpCheckBox.Checked;
|
IdentComplShowHelp:=ICShowHelpCheckBox.Checked;
|
||||||
|
IdentComplSortForHistory:=ICSortForHistoryCheckBox.Checked;
|
||||||
|
IdentComplSortForScope:=ICSortForScopeCheckBox.Checked;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -5213,6 +5213,11 @@ resourcestring
|
|||||||
lisShowHelp = 'Show help';
|
lisShowHelp = 'Show help';
|
||||||
lisBestViewedByInstallingAHTMLControlLikeTurbopowerip = 'Best viewed by '
|
lisBestViewedByInstallingAHTMLControlLikeTurbopowerip = 'Best viewed by '
|
||||||
+'installing a HTML control like turbopoweriprodsgn';
|
+'installing a HTML control like turbopoweriprodsgn';
|
||||||
|
lisShowRecentlyUsedIdentifiersAtTop = 'Show recently used identifiers at top';
|
||||||
|
lisSortForScope = 'Sort for scope';
|
||||||
|
lisForExampleShowAtTopTheLocalVariablesThenTheMembers = 'For example show at'
|
||||||
|
+' top the local variables, then the members of current class, then of the'
|
||||||
|
+' ancestors, then the current unit, then of used units';
|
||||||
lisShowEmptyUnitsPackages = 'Show empty units/packages';
|
lisShowEmptyUnitsPackages = 'Show empty units/packages';
|
||||||
lisUsePackageInProject = 'Use package %s in project';
|
lisUsePackageInProject = 'Use package %s in project';
|
||||||
lisUsePackageInProject2 = 'Use package in project';
|
lisUsePackageInProject2 = 'Use package in project';
|
||||||
|
Loading…
Reference in New Issue
Block a user