mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-03 21:07:35 +01:00
cody: find overloads: filter for ancestor
git-svn-id: trunk@50001 -
This commit is contained in:
parent
df3a859c32
commit
72ea4f33b2
@ -68,6 +68,7 @@ object CodyFindOverloadsWindow: TCodyFindOverloadsWindow
|
|||||||
Top = 0
|
Top = 0
|
||||||
Width = 181
|
Width = 181
|
||||||
Caption = 'CompatibleParamsCheckBox'
|
Caption = 'CompatibleParamsCheckBox'
|
||||||
|
OnChange = CompatibleParamsCheckBoxChange
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -98,6 +99,7 @@ object CodyFindOverloadsWindow: TCodyFindOverloadsWindow
|
|||||||
BorderSpacing.Left = 6
|
BorderSpacing.Left = 6
|
||||||
BorderSpacing.Right = 6
|
BorderSpacing.Right = 6
|
||||||
ItemHeight = 0
|
ItemHeight = 0
|
||||||
|
OnChange = RelationComboBoxChange
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
@ -110,6 +112,7 @@ object CodyFindOverloadsWindow: TCodyFindOverloadsWindow
|
|||||||
Top = 53
|
Top = 53
|
||||||
Width = 152
|
Width = 152
|
||||||
Caption = 'HideAbstractCheckBox'
|
Caption = 'HideAbstractCheckBox'
|
||||||
|
OnChange = HideAbstractCheckBoxChange
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
|||||||
@ -69,12 +69,14 @@ type
|
|||||||
Compatibility: TTypeCompatibility;
|
Compatibility: TTypeCompatibility;
|
||||||
Distance: integer;
|
Distance: integer;
|
||||||
ShortestPathNode: TCFONode;
|
ShortestPathNode: TCFONode;
|
||||||
|
// for ctnClass
|
||||||
|
TheClassName: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TCFOEdgeType = (
|
TCFOEdgeType = (
|
||||||
cfoetReachable, // FromNode (proc) is reachable by ToNode(program)
|
cfoetReachable, // FromNode (proc) is reachable by ToNode(program)
|
||||||
cfoetMethodOf, // FromNode (proc) is method of ToNode (class)
|
cfoetMethodOf, // FromNode (proc) is method of ToNode (class)
|
||||||
cfoetDescendantOf // FromNode (class) is descendant of ToNode (class)
|
cfoetDescendantOf // FromNode (descendant class) is descendant of ToNode (ancestor class)
|
||||||
);
|
);
|
||||||
|
|
||||||
TCFOEdge = class(TCodeGraphEdge)
|
TCFOEdge = class(TCodeGraphEdge)
|
||||||
@ -94,6 +96,13 @@ type
|
|||||||
Compatibility: TTypeCompatibility;
|
Compatibility: TTypeCompatibility;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TCFOFilterRelation = (
|
||||||
|
cfofrAny, // no filtering
|
||||||
|
cfofrOnlyNonMethods,
|
||||||
|
cfofrOnlyMethods,
|
||||||
|
cfofrOnlyDescendantsOf
|
||||||
|
);
|
||||||
|
|
||||||
type
|
type
|
||||||
TCFOFlag = (
|
TCFOFlag = (
|
||||||
cfofParsing,
|
cfofParsing,
|
||||||
@ -116,12 +125,15 @@ type
|
|||||||
ResultsGroupBox: TGroupBox;
|
ResultsGroupBox: TGroupBox;
|
||||||
ResultsStringGrid: TStringGrid;
|
ResultsStringGrid: TStringGrid;
|
||||||
Timer1: TTimer;
|
Timer1: TTimer;
|
||||||
|
procedure CompatibleParamsCheckBoxChange(Sender: TObject);
|
||||||
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure HideAbstractCheckBoxChange(Sender: TObject);
|
||||||
procedure JumpToButtonClick(Sender: TObject);
|
procedure JumpToButtonClick(Sender: TObject);
|
||||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||||
procedure RefreshButtonClick(Sender: TObject);
|
procedure RefreshButtonClick(Sender: TObject);
|
||||||
|
procedure RelationComboBoxChange(Sender: TObject);
|
||||||
procedure ResultsStringGridColRowExchanged(Sender: TObject;
|
procedure ResultsStringGridColRowExchanged(Sender: TObject;
|
||||||
IsColumn: Boolean; sIndex, tIndex: Integer);
|
IsColumn: Boolean; sIndex, tIndex: Integer);
|
||||||
procedure ResultsStringGridCompareCells(Sender: TObject; ACol, ARow, BCol,
|
procedure ResultsStringGridCompareCells(Sender: TObject; ACol, ARow, BCol,
|
||||||
@ -129,6 +141,9 @@ type
|
|||||||
procedure ResultsStringGridDblClick(Sender: TObject);
|
procedure ResultsStringGridDblClick(Sender: TObject);
|
||||||
procedure Timer1Timer(Sender: TObject);
|
procedure Timer1Timer(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
FFilterAncestor: string;
|
||||||
|
FFilterRelation: TCFOFilterRelation;
|
||||||
|
FHideAbstractMethods: Boolean;
|
||||||
FIdleConnected: boolean;
|
FIdleConnected: boolean;
|
||||||
FFlags: TCFOFlags;
|
FFlags: TCFOFlags;
|
||||||
FProcList: TObjectList;
|
FProcList: TObjectList;
|
||||||
@ -138,6 +153,7 @@ type
|
|||||||
FUsesGraph: TUsesGraph;
|
FUsesGraph: TUsesGraph;
|
||||||
function GetProcCount: integer;
|
function GetProcCount: integer;
|
||||||
function GetProcs(Index: integer): TCFOProc;
|
function GetProcs(Index: integer): TCFOProc;
|
||||||
|
procedure ReadRelationComboBox;
|
||||||
procedure SetIdleConnected(AValue: boolean);
|
procedure SetIdleConnected(AValue: boolean);
|
||||||
procedure CreateUsesGraph(out TheUsesGraph: TUsesGraph);
|
procedure CreateUsesGraph(out TheUsesGraph: TUsesGraph);
|
||||||
procedure StartParsing;
|
procedure StartParsing;
|
||||||
@ -145,8 +161,9 @@ type
|
|||||||
procedure AddStartAndTargetUnits;
|
procedure AddStartAndTargetUnits;
|
||||||
procedure GatherProcsOfAllUnits;
|
procedure GatherProcsOfAllUnits;
|
||||||
procedure GatherProcsOfUnit(NodeGraph: TCodeGraph; ProgNode: TCodeTreeNode;
|
procedure GatherProcsOfUnit(NodeGraph: TCodeGraph; ProgNode: TCodeTreeNode;
|
||||||
CurUnit: TCFOUnit; ExcludeAbstractProcs: boolean;
|
CurUnit: TCFOUnit; var TargetGraphNode: TCFONode);
|
||||||
var TargetGraphNode: TCFONode);
|
function IsClassNodeDescendantOf(NodeGraph: TCodeGraph;
|
||||||
|
GraphClassNode: TCFONode; Ancestor: string): boolean;
|
||||||
procedure CalcDistances(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
procedure CalcDistances(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
||||||
procedure CreateProcList(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
procedure CreateProcList(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
||||||
procedure FillGrid;
|
procedure FillGrid;
|
||||||
@ -154,6 +171,7 @@ type
|
|||||||
function GetDefaultCaption: string;
|
function GetDefaultCaption: string;
|
||||||
procedure FillFilterControls(ProcTool: TFindDeclarationTool;
|
procedure FillFilterControls(ProcTool: TFindDeclarationTool;
|
||||||
ProcNode: TCodeTreeNode);
|
ProcNode: TCodeTreeNode);
|
||||||
|
procedure FilterChanged;
|
||||||
protected
|
protected
|
||||||
procedure UpdateShowing; override;
|
procedure UpdateShowing; override;
|
||||||
public
|
public
|
||||||
@ -166,6 +184,9 @@ type
|
|||||||
property TargetName: string read FTargetName;
|
property TargetName: string read FTargetName;
|
||||||
property TargetPath: string read FTargetPath;
|
property TargetPath: string read FTargetPath;
|
||||||
property UsesGraph: TUsesGraph read FUsesGraph;
|
property UsesGraph: TUsesGraph read FUsesGraph;
|
||||||
|
property FilterRelation: TCFOFilterRelation read FFilterRelation;
|
||||||
|
property FilterAncestor: string read FFilterAncestor;
|
||||||
|
property HideAbstractMethods: Boolean read FHideAbstractMethods;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -213,6 +234,7 @@ end;
|
|||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.FormCreate(Sender: TObject);
|
procedure TCodyFindOverloadsWindow.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
AbortParsing;
|
||||||
FProcList:=TObjectList.Create(true);
|
FProcList:=TObjectList.Create(true);
|
||||||
|
|
||||||
Caption:=GetDefaultCaption;
|
Caption:=GetDefaultCaption;
|
||||||
@ -232,6 +254,12 @@ begin
|
|||||||
FreeAndNil(FProcList);
|
FreeAndNil(FProcList);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodyFindOverloadsWindow.HideAbstractCheckBoxChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
fHideAbstractMethods:=HideAbstractCheckBox.Checked;
|
||||||
|
FilterChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.FormClose(Sender: TObject;
|
procedure TCodyFindOverloadsWindow.FormClose(Sender: TObject;
|
||||||
var CloseAction: TCloseAction);
|
var CloseAction: TCloseAction);
|
||||||
begin
|
begin
|
||||||
@ -239,6 +267,12 @@ begin
|
|||||||
FreeUsesGraph;
|
FreeUsesGraph;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodyFindOverloadsWindow.CompatibleParamsCheckBoxChange(
|
||||||
|
Sender: TObject);
|
||||||
|
begin
|
||||||
|
FilterChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.JumpToButtonClick(Sender: TObject);
|
procedure TCodyFindOverloadsWindow.JumpToButtonClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
JumpToIdentifier;
|
JumpToIdentifier;
|
||||||
@ -266,6 +300,12 @@ begin
|
|||||||
Init;
|
Init;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodyFindOverloadsWindow.RelationComboBoxChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ReadRelationComboBox;
|
||||||
|
FilterChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.ResultsStringGridColRowExchanged(
|
procedure TCodyFindOverloadsWindow.ResultsStringGridColRowExchanged(
|
||||||
Sender: TObject; IsColumn: Boolean; sIndex, tIndex: Integer);
|
Sender: TObject; IsColumn: Boolean; sIndex, tIndex: Integer);
|
||||||
begin
|
begin
|
||||||
@ -332,6 +372,23 @@ begin
|
|||||||
Result:=TCFOProc(FProcList[Index]);
|
Result:=TCFOProc(FProcList[Index]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodyFindOverloadsWindow.ReadRelationComboBox;
|
||||||
|
var
|
||||||
|
RelationText: TCaption;
|
||||||
|
begin
|
||||||
|
RelationText:=RelationComboBox.Text;
|
||||||
|
if RelationText=crsOnlyMethods then
|
||||||
|
FFilterRelation:=cfofrOnlyMethods
|
||||||
|
else if RelationText=crsOnlyNonMethods then
|
||||||
|
FFilterRelation:=cfofrOnlyNonMethods
|
||||||
|
else if GetPatternValue1(crsOnlyDescendantsOf, '%s', RelationText,
|
||||||
|
FFilterAncestor)
|
||||||
|
then begin
|
||||||
|
FFilterRelation:=cfofrOnlyDescendantsOf;
|
||||||
|
end else
|
||||||
|
FFilterRelation:=cfofrAny;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.CreateUsesGraph(out TheUsesGraph: TUsesGraph
|
procedure TCodyFindOverloadsWindow.CreateUsesGraph(out TheUsesGraph: TUsesGraph
|
||||||
);
|
);
|
||||||
begin
|
begin
|
||||||
@ -366,7 +423,9 @@ begin
|
|||||||
FFlags:=[];
|
FFlags:=[];
|
||||||
IdleConnected:=false;
|
IdleConnected:=false;
|
||||||
ProgressBar1.Visible:=false;
|
ProgressBar1.Visible:=false;
|
||||||
|
if not (csDestroying in ComponentState) then
|
||||||
RefreshButton.Enabled:=true;
|
RefreshButton.Enabled:=true;
|
||||||
|
FreeUsesGraph;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.AddStartAndTargetUnits;
|
procedure TCodyFindOverloadsWindow.AddStartAndTargetUnits;
|
||||||
@ -386,7 +445,6 @@ var
|
|||||||
CurUnit: TCFOUnit;
|
CurUnit: TCFOUnit;
|
||||||
NodeGraph: TCodeGraph;
|
NodeGraph: TCodeGraph;
|
||||||
ProgNode: TCodeTreeNode;
|
ProgNode: TCodeTreeNode;
|
||||||
ExcludeAbstractProcs: Boolean;
|
|
||||||
TargetGraphNode: TCFONode;
|
TargetGraphNode: TCFONode;
|
||||||
begin
|
begin
|
||||||
Exclude(FFlags,cfofGatherProcs);
|
Exclude(FFlags,cfofGatherProcs);
|
||||||
@ -400,7 +458,10 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
debugln(['TCodyFindOverloadsWindow.GatherProcsOfAllUnits START']);
|
debugln(['TCodyFindOverloadsWindow.GatherProcsOfAllUnits START']);
|
||||||
|
|
||||||
ExcludeAbstractProcs:=HideAbstractCheckBox.Checked;
|
// get filter
|
||||||
|
FHideAbstractMethods:=HideAbstractCheckBox.Checked;
|
||||||
|
ReadRelationComboBox;
|
||||||
|
|
||||||
ProgNode:=TCodeTreeNode.Create;
|
ProgNode:=TCodeTreeNode.Create;
|
||||||
NodeGraph:=TCodeGraph.Create(TCFONode,TCFOEdge);
|
NodeGraph:=TCodeGraph.Create(TCFONode,TCFOEdge);
|
||||||
try
|
try
|
||||||
@ -410,8 +471,7 @@ begin
|
|||||||
FileNode:=FUsesGraph.FilesTree.FindLowest;
|
FileNode:=FUsesGraph.FilesTree.FindLowest;
|
||||||
while FileNode<>nil do begin
|
while FileNode<>nil do begin
|
||||||
CurUnit:=TCFOUnit(FileNode.Data);
|
CurUnit:=TCFOUnit(FileNode.Data);
|
||||||
GatherProcsOfUnit(NodeGraph,ProgNode,CurUnit,ExcludeAbstractProcs,
|
GatherProcsOfUnit(NodeGraph,ProgNode,CurUnit,TargetGraphNode);
|
||||||
TargetGraphNode);
|
|
||||||
FileNode:=FUsesGraph.FilesTree.FindSuccessor(FileNode);
|
FileNode:=FUsesGraph.FilesTree.FindSuccessor(FileNode);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -431,8 +491,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||||
ProgNode: TCodeTreeNode; CurUnit: TCFOUnit; ExcludeAbstractProcs: boolean;
|
ProgNode: TCodeTreeNode; CurUnit: TCFOUnit; var TargetGraphNode: TCFONode);
|
||||||
var TargetGraphNode: TCFONode);
|
|
||||||
|
|
||||||
procedure AddAncestors(Tool: TFindDeclarationTool; ClassNode: TCodeTreeNode); forward;
|
procedure AddAncestors(Tool: TFindDeclarationTool; ClassNode: TCodeTreeNode); forward;
|
||||||
|
|
||||||
@ -447,6 +506,7 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
|||||||
//debugln(['AddClassNode ',Tool.ExtractClassName(ClassNode,false)]);
|
//debugln(['AddClassNode ',Tool.ExtractClassName(ClassNode,false)]);
|
||||||
Result:=TCFONode(NodeGraph.AddGraphNode(ClassNode));
|
Result:=TCFONode(NodeGraph.AddGraphNode(ClassNode));
|
||||||
Result.Tool:=Tool;
|
Result.Tool:=Tool;
|
||||||
|
Result.TheClassName:=Tool.ExtractClassName(ClassNode,false);
|
||||||
// create edge "reachable", so that all nodes are reachable
|
// create edge "reachable", so that all nodes are reachable
|
||||||
Edge:=TCFOEdge(NodeGraph.AddEdge(ClassNode,ProgNode));
|
Edge:=TCFOEdge(NodeGraph.AddEdge(ClassNode,ProgNode));
|
||||||
Edge.Typ:=cfoetReachable;
|
Edge.Typ:=cfoetReachable;
|
||||||
@ -485,7 +545,7 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
|||||||
TargetCleanPos: integer);
|
TargetCleanPos: integer);
|
||||||
var
|
var
|
||||||
CurProcName: String;
|
CurProcName: String;
|
||||||
GraphProcNode: TCFONode;
|
GraphProcNode, GraphClassNode: TCFONode;
|
||||||
ClassNode: TCodeTreeNode;
|
ClassNode: TCodeTreeNode;
|
||||||
Edge: TCFOEdge;
|
Edge: TCFOEdge;
|
||||||
Compatibility: TTypeCompatibility;
|
Compatibility: TTypeCompatibility;
|
||||||
@ -504,10 +564,17 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
|||||||
ClassNode:=ClassNode.Parent;
|
ClassNode:=ClassNode.Parent;
|
||||||
end;
|
end;
|
||||||
if ClassNode<>nil then begin
|
if ClassNode<>nil then begin
|
||||||
if ExcludeAbstractProcs then begin
|
// a method
|
||||||
|
if HideAbstractMethods then begin
|
||||||
if ClassNode.Desc in AllClassInterfaces then exit;
|
if ClassNode.Desc in AllClassInterfaces then exit;
|
||||||
if Tool.ProcNodeHasSpecifier(ProcNode,psABSTRACT) then exit;
|
if Tool.ProcNodeHasSpecifier(ProcNode,psABSTRACT) then exit;
|
||||||
end;
|
end;
|
||||||
|
if FilterRelation=cfofrOnlyNonMethods then
|
||||||
|
exit;
|
||||||
|
end else begin
|
||||||
|
// a non method
|
||||||
|
if FilterRelation in [cfofrOnlyMethods,cfofrOnlyDescendantsOf] then
|
||||||
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Compatibility:=tcExact;
|
Compatibility:=tcExact;
|
||||||
@ -532,7 +599,13 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
|||||||
// add edges
|
// add edges
|
||||||
if ClassNode<>nil then begin
|
if ClassNode<>nil then begin
|
||||||
// create nodes for class and ancestors
|
// create nodes for class and ancestors
|
||||||
AddClassNode(Tool,ClassNode);
|
GraphClassNode:=AddClassNode(Tool,ClassNode);
|
||||||
|
if (FilterRelation=cfofrOnlyDescendantsOf)
|
||||||
|
and (not IsClassNodeDescendantOf(NodeGraph,GraphClassNode,FilterAncestor)) then begin
|
||||||
|
NodeGraph.DeleteGraphNode(ProcNode);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
// create edge "is method of"
|
// create edge "is method of"
|
||||||
Edge:=TCFOEdge(NodeGraph.AddEdge(ProcNode,ClassNode));
|
Edge:=TCFOEdge(NodeGraph.AddEdge(ProcNode,ClassNode));
|
||||||
Edge.Typ:=cfoetMethodOf;
|
Edge.Typ:=cfoetMethodOf;
|
||||||
@ -566,6 +639,26 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCodyFindOverloadsWindow.IsClassNodeDescendantOf(
|
||||||
|
NodeGraph: TCodeGraph; GraphClassNode: TCFONode; Ancestor: string): boolean;
|
||||||
|
var
|
||||||
|
AVLNode: TAVLTreeNode;
|
||||||
|
Edge: TCFOEdge;
|
||||||
|
begin
|
||||||
|
if CompareText(Ancestor,GraphClassNode.TheClassName)=0 then exit(true);
|
||||||
|
if GraphClassNode.OutTree=nil then exit(false);
|
||||||
|
AVLNode:=GraphClassNode.OutTree.FindLowest;
|
||||||
|
while AVLNode<>nil do begin
|
||||||
|
Edge:=TCFOEdge(AVLNode.Data);
|
||||||
|
if Edge.Typ=cfoetDescendantOf then begin
|
||||||
|
if IsClassNodeDescendantOf(NodeGraph,TCFONode(Edge.ToNode),Ancestor) then
|
||||||
|
exit(true);
|
||||||
|
end;
|
||||||
|
AVLNode:=GraphClassNode.OutTree.FindSuccessor(AVLNode);
|
||||||
|
end;
|
||||||
|
Result:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.CalcDistances(NodeGraph: TCodeGraph;
|
procedure TCodyFindOverloadsWindow.CalcDistances(NodeGraph: TCodeGraph;
|
||||||
TargetGraphNode: TCFONode);
|
TargetGraphNode: TCFONode);
|
||||||
var
|
var
|
||||||
@ -615,7 +708,7 @@ var
|
|||||||
AVLNode: TAVLTreeNode;
|
AVLNode: TAVLTreeNode;
|
||||||
GraphNode: TCFONode;
|
GraphNode: TCFONode;
|
||||||
begin
|
begin
|
||||||
debugln(['TCodyFindOverloadsWindow.CalcDistances ']);
|
//debugln(['TCodyFindOverloadsWindow.CalcDistances ']);
|
||||||
|
|
||||||
Unvisited:=TAVLTree.Create(@CompareCFONodeByDistance);
|
Unvisited:=TAVLTree.Create(@CompareCFONodeByDistance);
|
||||||
try
|
try
|
||||||
@ -733,7 +826,7 @@ end;
|
|||||||
|
|
||||||
function TCodyFindOverloadsWindow.GetDefaultCaption: string;
|
function TCodyFindOverloadsWindow.GetDefaultCaption: string;
|
||||||
begin
|
begin
|
||||||
Result:='Cody - Find Overloads';
|
Result:=crsCodyFindOverloads;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.FillFilterControls(
|
procedure TCodyFindOverloadsWindow.FillFilterControls(
|
||||||
@ -762,28 +855,37 @@ begin
|
|||||||
if ListOfPFindContext<>nil then begin
|
if ListOfPFindContext<>nil then begin
|
||||||
for i:=0 to ListOfPFindContext.Count-1 do begin
|
for i:=0 to ListOfPFindContext.Count-1 do begin
|
||||||
aContext:=PFindContext(ListOfPFindContext[i]);
|
aContext:=PFindContext(ListOfPFindContext[i]);
|
||||||
sl.Add('Only descendants of '+aContext^.Tool.ExtractClassName(aContext^.Node,false));
|
sl.Add(Format(crsOnlyDescendantsOf, [aContext^.Tool.ExtractClassName
|
||||||
|
(aContext^.Node, false)]));
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
sl.Add('Only descendants of '+ProcTool.ExtractClassName(ClassNode,false));
|
sl.Add(Format(crsOnlyDescendantsOf, [ProcTool.ExtractClassName(
|
||||||
|
ClassNode, false)]));
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
FreeListOfPFindContext(ListOfPFindContext);
|
FreeListOfPFindContext(ListOfPFindContext);
|
||||||
end;
|
end;
|
||||||
sl.Add('Only methods');
|
sl.Add(crsOnlyMethods);
|
||||||
end else begin
|
end else begin
|
||||||
// procedure, non method
|
// procedure, non method
|
||||||
sl.Add('Only non methods');
|
sl.Add(crsOnlyNonMethods);
|
||||||
end;
|
end;
|
||||||
sl.Add('Any');
|
sl.Add(crsAny);
|
||||||
RelationComboBox.Items:=sl;
|
RelationComboBox.Items:=sl;
|
||||||
if sl.IndexOf(RelationComboBox.Text)<0 then
|
if sl.IndexOf(RelationComboBox.Text)<0 then
|
||||||
RelationComboBox.Text:='Any';
|
RelationComboBox.Text:=crsAny;
|
||||||
finally
|
finally
|
||||||
sl.Free;
|
sl.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodyFindOverloadsWindow.FilterChanged;
|
||||||
|
begin
|
||||||
|
if csDestroying in ComponentState then exit;
|
||||||
|
AbortParsing;
|
||||||
|
StartParsing;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodyFindOverloadsWindow.UpdateShowing;
|
procedure TCodyFindOverloadsWindow.UpdateShowing;
|
||||||
begin
|
begin
|
||||||
inherited UpdateShowing;
|
inherited UpdateShowing;
|
||||||
@ -871,9 +973,10 @@ var
|
|||||||
TargetTool: TFindDeclarationTool;
|
TargetTool: TFindDeclarationTool;
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
Caption:=GetDefaultCaption;
|
|
||||||
|
|
||||||
AbortParsing;
|
AbortParsing;
|
||||||
|
if csDestroying in ComponentState then exit;
|
||||||
|
|
||||||
|
Caption:=GetDefaultCaption;
|
||||||
ResultsStringGrid.Visible:=false;
|
ResultsStringGrid.Visible:=false;
|
||||||
JumpToButton.Enabled:=false;
|
JumpToButton.Enabled:=false;
|
||||||
FTargetName:='';
|
FTargetName:='';
|
||||||
|
|||||||
@ -266,6 +266,11 @@ resourcestring
|
|||||||
crsExactly = 'exactly';
|
crsExactly = 'exactly';
|
||||||
crsCompatible = 'compatible';
|
crsCompatible = 'compatible';
|
||||||
crsIncompatible = 'incompatible';
|
crsIncompatible = 'incompatible';
|
||||||
|
crsCodyFindOverloads = 'Cody - Find Overloads';
|
||||||
|
crsOnlyMethods = 'Only methods';
|
||||||
|
crsOnlyDescendantsOf = 'Only descendants of %s';
|
||||||
|
crsOnlyNonMethods = 'Only non methods';
|
||||||
|
crsAny = 'Any';
|
||||||
crsFilter2 = 'Filter';
|
crsFilter2 = 'Filter';
|
||||||
crsJumpTo2 = 'Jump to';
|
crsJumpTo2 = 'Jump to';
|
||||||
|
|
||||||
|
|||||||
@ -120,6 +120,8 @@ function ParseUnit(out Tool: TCodeTool; out CleanPos: integer;
|
|||||||
TilCursor: boolean = false): TCUParseError;
|
TilCursor: boolean = false): TCUParseError;
|
||||||
procedure OpenCodyHelp(Path: string);
|
procedure OpenCodyHelp(Path: string);
|
||||||
|
|
||||||
|
function GetPatternValue1(const Pattern, PlaceHolder, Src: string; out Value1: string): boolean;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
procedure ExplodeAWithBlockCmd(Sender: TObject);
|
procedure ExplodeAWithBlockCmd(Sender: TObject);
|
||||||
@ -384,6 +386,35 @@ begin
|
|||||||
OpenURL(BasePath+Path);
|
OpenURL(BasePath+Path);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function GetPatternValue1(const Pattern, PlaceHolder, Src: string; out
|
||||||
|
Value1: string): boolean;
|
||||||
|
{ Pattern: 'Descendant of %1'
|
||||||
|
PlaceHolder: '%1'
|
||||||
|
Src: 'Descendant of TWinControl'
|
||||||
|
Value1: 'TWinControl'
|
||||||
|
}
|
||||||
|
var
|
||||||
|
PatLen, SrcLen, PHLen, l: Integer;
|
||||||
|
p: SizeInt;
|
||||||
|
begin
|
||||||
|
Value1:='';
|
||||||
|
Result:=false;
|
||||||
|
PatLen:=length(Pattern);
|
||||||
|
PHLen:=length(PlaceHolder);
|
||||||
|
SrcLen:=length(Src);
|
||||||
|
if SrcLen<PatLen-PHLen then exit;
|
||||||
|
p:=Pos(PlaceHolder,Pattern);
|
||||||
|
if p<1 then exit;
|
||||||
|
// check start pattern
|
||||||
|
if (p>1) and (not CompareMem(Pointer(Src),Pointer(Pattern),p-1)) then exit;
|
||||||
|
// check end pattern
|
||||||
|
l:=PatLen-p-PHLen;
|
||||||
|
if (l>0)
|
||||||
|
and (not CompareMem(Pointer(Src)+SrcLen-l,Pointer(Pattern)+p+PHLen,l)) then exit;
|
||||||
|
Value1:=copy(Src,p,SrcLen-PatLen+PHLen);
|
||||||
|
Result:=true;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TCodyClipboardSrcData }
|
{ TCodyClipboardSrcData }
|
||||||
|
|
||||||
procedure TCodyClipboardSrcData.SetSourcePos(const SrcPos: TCodeXYPosition);
|
procedure TCodyClipboardSrcData.SetSourcePos(const SrcPos: TCodeXYPosition);
|
||||||
|
|||||||
@ -43,6 +43,10 @@ msgstr "Bereits definiert bei %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... und %s weitere Bezeichner"
|
msgstr "... und %s weitere Bezeichner"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -175,6 +179,10 @@ msgstr ""
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr "Bezeichnerwörterbuch"
|
msgstr "Bezeichnerwörterbuch"
|
||||||
@ -494,6 +502,18 @@ msgstr "Keine Unit ausgewählt"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Einstellungen"
|
msgstr "Einstellungen"
|
||||||
|
|||||||
@ -44,6 +44,10 @@ msgstr "Déjà défini à %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... et %s identificateurs"
|
msgstr "... et %s identificateurs"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Une fenêtre pour l'EDI Lazarus. Elle peut être amarrée comme l'explorateur de code ou l'éditeur \"FPDoc\". Elle crée aussi un élément dans le menu \"Voir\" et un raccourci."
|
msgstr "Une fenêtre pour l'EDI Lazarus. Elle peut être amarrée comme l'explorateur de code ou l'éditeur \"FPDoc\". Elle crée aussi un élément dans le menu \"Voir\" et un raccourci."
|
||||||
@ -176,6 +180,10 @@ msgstr "Buffers de code"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Information de nœud de code"
|
msgstr "Information de nœud de code"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr "Dictionnaire des identificateurs"
|
msgstr "Dictionnaire des identificateurs"
|
||||||
@ -495,6 +503,18 @@ msgstr "Aucune unité sélectionnée"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "Dans le presse-papier"
|
msgstr "Dans le presse-papier"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Options"
|
msgstr "Options"
|
||||||
|
|||||||
@ -44,6 +44,10 @@ msgstr "Már definiálva van itt: %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... és további %s azonosító"
|
msgstr "... és további %s azonosító"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Egy ablak a Lazarus IDE számára. Dokkolható mint a Kódböngésző vagy az FPDoc Szerkesztő. Létrehoz egy menüelemet a Nézet menüben és egy gyorsbillentyűt is."
|
msgstr "Egy ablak a Lazarus IDE számára. Dokkolható mint a Kódböngésző vagy az FPDoc Szerkesztő. Létrehoz egy menüelemet a Nézet menüben és egy gyorsbillentyűt is."
|
||||||
@ -176,6 +180,10 @@ msgstr "Kódpufferek"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Kód-csomópont információ"
|
msgstr "Kód-csomópont információ"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr "Azonosítók szótára"
|
msgstr "Azonosítók szótára"
|
||||||
@ -495,6 +503,18 @@ msgstr "Nincs unit kiválasztva"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "A vágólapon"
|
msgstr "A vágólapon"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Beállítások"
|
msgstr "Beállítások"
|
||||||
|
|||||||
@ -45,6 +45,10 @@ msgstr "Già definito in %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... e altri %s identificatori"
|
msgstr "... e altri %s identificatori"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Una finestra per l' IDE di Lazarus. Può essere \"docked\"come il Code Explorer o l'editor di FPDoc. Crea anche una voce nel menu \"Visualizza\" e una scorciatoia da tastiera."
|
msgstr "Una finestra per l' IDE di Lazarus. Può essere \"docked\"come il Code Explorer o l'editor di FPDoc. Crea anche una voce nel menu \"Visualizza\" e una scorciatoia da tastiera."
|
||||||
@ -177,6 +181,10 @@ msgstr "CodeBuffers"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Informazioni sul nodo di codice"
|
msgstr "Informazioni sul nodo di codice"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr "Dizionario Identificatori"
|
msgstr "Dizionario Identificatori"
|
||||||
@ -496,6 +504,18 @@ msgstr "Nessuna unit selezionata"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "Negli appunti"
|
msgstr "Negli appunti"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Opzioni"
|
msgstr "Opzioni"
|
||||||
|
|||||||
@ -44,6 +44,10 @@ msgstr "Jau įgyvendinta ties %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "… dar liko identifikatorių: %s"
|
msgstr "… dar liko identifikatorių: %s"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Langas, skirta Lazarus IKA. Jis gali būti pritvirtintas kaip ir „Kodo tyrinėtojas“ arba „FPDoc rengyklė“. Šiam langui bus sukurtas menių „Rodymas“ papunktis ir sparčiųjų klavišų derinys."
|
msgstr "Langas, skirta Lazarus IKA. Jis gali būti pritvirtintas kaip ir „Kodo tyrinėtojas“ arba „FPDoc rengyklė“. Šiam langui bus sukurtas menių „Rodymas“ papunktis ir sparčiųjų klavišų derinys."
|
||||||
@ -176,6 +180,10 @@ msgstr "CodeBuffers"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Informacija apie kodo mazgą"
|
msgstr "Informacija apie kodo mazgą"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr "Identifikatorių žodynas"
|
msgstr "Identifikatorių žodynas"
|
||||||
@ -495,6 +503,18 @@ msgstr "Nėra pažymėtų modulių"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "Iškarpinėje"
|
msgstr "Iškarpinėje"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Parinktys"
|
msgstr "Parinktys"
|
||||||
|
|||||||
@ -34,6 +34,10 @@ msgstr ""
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -166,6 +170,10 @@ msgstr ""
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -485,6 +493,18 @@ msgstr ""
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@ -46,6 +46,10 @@ msgstr "Já definido em %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... e mais %s identificadores"
|
msgstr "... e mais %s identificadores"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Uma janela para a IDE Lazarus. Ela pode ser ancorada como o Explorador de Código ou o Editor FPDoc. Isto também cria um item de menu no menu Exibir e um atalho."
|
msgstr "Uma janela para a IDE Lazarus. Ela pode ser ancorada como o Explorador de Código ou o Editor FPDoc. Isto também cria um item de menu no menu Exibir e um atalho."
|
||||||
@ -178,6 +182,10 @@ msgstr "CodeBuffers"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Informação Nó de Código"
|
msgstr "Informação Nó de Código"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
#| msgid "Cody Identifier Dictionary"
|
#| msgid "Cody Identifier Dictionary"
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
@ -503,6 +511,18 @@ msgstr "Nenhuma unidade selecionada"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "Na área de transferência"
|
msgstr "Na área de transferência"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Opções"
|
msgstr "Opções"
|
||||||
|
|||||||
@ -45,6 +45,10 @@ msgstr "Уже объявлена (%s)"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr "... дополнительно идентификаторов: %s"
|
msgstr "... дополнительно идентификаторов: %s"
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr "Окно для среды Lazarus. Может быть пристыковано подобно обозревателю кода или редактору FPDoc. Помимо окна, будет создан пункт в меню Вид с комбинацией клавиш."
|
msgstr "Окно для среды Lazarus. Может быть пристыковано подобно обозревателю кода или редактору FPDoc. Помимо окна, будет создан пункт в меню Вид с комбинацией клавиш."
|
||||||
@ -177,6 +181,10 @@ msgstr "Буферы кода"
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Сведения об элементе кода"
|
msgstr "Сведения об элементе кода"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
#| msgid "Cody Identifier Dictionary"
|
#| msgid "Cody Identifier Dictionary"
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
@ -503,6 +511,18 @@ msgstr "Модуль не выбран"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "В буфере обмена"
|
msgstr "В буфере обмена"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Параметры"
|
msgstr "Параметры"
|
||||||
|
|||||||
@ -46,6 +46,10 @@ msgstr "Вже визначений в %s"
|
|||||||
msgid "... and %s more identifiers"
|
msgid "... and %s more identifiers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsany
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
#: codystrconsts.crsawindowforthelazarusideitcanbedockedlikethecodeexp
|
||||||
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
msgid "A window for the Lazarus IDE. It can be docked like the Code Explorer or the FPDoc Editor. This also creates a menu item in the View menu and a short cut."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -178,6 +182,10 @@ msgstr ""
|
|||||||
msgid "Code Node Information"
|
msgid "Code Node Information"
|
||||||
msgstr "Інформація про Вузол Коду"
|
msgstr "Інформація про Вузол Коду"
|
||||||
|
|
||||||
|
#: codystrconsts.crscodyfindoverloads
|
||||||
|
msgid "Cody - Find Overloads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crscodyidentifierdictionary
|
#: codystrconsts.crscodyidentifierdictionary
|
||||||
msgid "Identifier Dictionary"
|
msgid "Identifier Dictionary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -505,6 +513,18 @@ msgstr "Модуль не вибраний"
|
|||||||
msgid "On clipboard"
|
msgid "On clipboard"
|
||||||
msgstr "На буфер обміну"
|
msgstr "На буфер обміну"
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlydescendantsof
|
||||||
|
msgid "Only descendants of %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlymethods
|
||||||
|
msgid "Only methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: codystrconsts.crsonlynonmethods
|
||||||
|
msgid "Only non methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: codystrconsts.crsoptions
|
#: codystrconsts.crsoptions
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Параметри"
|
msgstr "Параметри"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user