mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-02 20:51:11 +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
|
||||
Width = 181
|
||||
Caption = 'CompatibleParamsCheckBox'
|
||||
OnChange = CompatibleParamsCheckBoxChange
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
@ -98,6 +99,7 @@ object CodyFindOverloadsWindow: TCodyFindOverloadsWindow
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Right = 6
|
||||
ItemHeight = 0
|
||||
OnChange = RelationComboBoxChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 1
|
||||
end
|
||||
@ -110,6 +112,7 @@ object CodyFindOverloadsWindow: TCodyFindOverloadsWindow
|
||||
Top = 53
|
||||
Width = 152
|
||||
Caption = 'HideAbstractCheckBox'
|
||||
OnChange = HideAbstractCheckBoxChange
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 2
|
||||
|
||||
@ -69,12 +69,14 @@ type
|
||||
Compatibility: TTypeCompatibility;
|
||||
Distance: integer;
|
||||
ShortestPathNode: TCFONode;
|
||||
// for ctnClass
|
||||
TheClassName: string;
|
||||
end;
|
||||
|
||||
TCFOEdgeType = (
|
||||
cfoetReachable, // FromNode (proc) is reachable by ToNode(program)
|
||||
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)
|
||||
@ -94,6 +96,13 @@ type
|
||||
Compatibility: TTypeCompatibility;
|
||||
end;
|
||||
|
||||
TCFOFilterRelation = (
|
||||
cfofrAny, // no filtering
|
||||
cfofrOnlyNonMethods,
|
||||
cfofrOnlyMethods,
|
||||
cfofrOnlyDescendantsOf
|
||||
);
|
||||
|
||||
type
|
||||
TCFOFlag = (
|
||||
cfofParsing,
|
||||
@ -116,12 +125,15 @@ type
|
||||
ResultsGroupBox: TGroupBox;
|
||||
ResultsStringGrid: TStringGrid;
|
||||
Timer1: TTimer;
|
||||
procedure CompatibleParamsCheckBoxChange(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure HideAbstractCheckBoxChange(Sender: TObject);
|
||||
procedure JumpToButtonClick(Sender: TObject);
|
||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||
procedure RefreshButtonClick(Sender: TObject);
|
||||
procedure RelationComboBoxChange(Sender: TObject);
|
||||
procedure ResultsStringGridColRowExchanged(Sender: TObject;
|
||||
IsColumn: Boolean; sIndex, tIndex: Integer);
|
||||
procedure ResultsStringGridCompareCells(Sender: TObject; ACol, ARow, BCol,
|
||||
@ -129,6 +141,9 @@ type
|
||||
procedure ResultsStringGridDblClick(Sender: TObject);
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
private
|
||||
FFilterAncestor: string;
|
||||
FFilterRelation: TCFOFilterRelation;
|
||||
FHideAbstractMethods: Boolean;
|
||||
FIdleConnected: boolean;
|
||||
FFlags: TCFOFlags;
|
||||
FProcList: TObjectList;
|
||||
@ -138,6 +153,7 @@ type
|
||||
FUsesGraph: TUsesGraph;
|
||||
function GetProcCount: integer;
|
||||
function GetProcs(Index: integer): TCFOProc;
|
||||
procedure ReadRelationComboBox;
|
||||
procedure SetIdleConnected(AValue: boolean);
|
||||
procedure CreateUsesGraph(out TheUsesGraph: TUsesGraph);
|
||||
procedure StartParsing;
|
||||
@ -145,8 +161,9 @@ type
|
||||
procedure AddStartAndTargetUnits;
|
||||
procedure GatherProcsOfAllUnits;
|
||||
procedure GatherProcsOfUnit(NodeGraph: TCodeGraph; ProgNode: TCodeTreeNode;
|
||||
CurUnit: TCFOUnit; ExcludeAbstractProcs: boolean;
|
||||
var TargetGraphNode: TCFONode);
|
||||
CurUnit: TCFOUnit; var TargetGraphNode: TCFONode);
|
||||
function IsClassNodeDescendantOf(NodeGraph: TCodeGraph;
|
||||
GraphClassNode: TCFONode; Ancestor: string): boolean;
|
||||
procedure CalcDistances(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
||||
procedure CreateProcList(NodeGraph: TCodeGraph; TargetGraphNode: TCFONode);
|
||||
procedure FillGrid;
|
||||
@ -154,6 +171,7 @@ type
|
||||
function GetDefaultCaption: string;
|
||||
procedure FillFilterControls(ProcTool: TFindDeclarationTool;
|
||||
ProcNode: TCodeTreeNode);
|
||||
procedure FilterChanged;
|
||||
protected
|
||||
procedure UpdateShowing; override;
|
||||
public
|
||||
@ -166,6 +184,9 @@ type
|
||||
property TargetName: string read FTargetName;
|
||||
property TargetPath: string read FTargetPath;
|
||||
property UsesGraph: TUsesGraph read FUsesGraph;
|
||||
property FilterRelation: TCFOFilterRelation read FFilterRelation;
|
||||
property FilterAncestor: string read FFilterAncestor;
|
||||
property HideAbstractMethods: Boolean read FHideAbstractMethods;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -213,6 +234,7 @@ end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.FormCreate(Sender: TObject);
|
||||
begin
|
||||
AbortParsing;
|
||||
FProcList:=TObjectList.Create(true);
|
||||
|
||||
Caption:=GetDefaultCaption;
|
||||
@ -232,6 +254,12 @@ begin
|
||||
FreeAndNil(FProcList);
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.HideAbstractCheckBoxChange(Sender: TObject);
|
||||
begin
|
||||
fHideAbstractMethods:=HideAbstractCheckBox.Checked;
|
||||
FilterChanged;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
@ -239,6 +267,12 @@ begin
|
||||
FreeUsesGraph;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.CompatibleParamsCheckBoxChange(
|
||||
Sender: TObject);
|
||||
begin
|
||||
FilterChanged;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.JumpToButtonClick(Sender: TObject);
|
||||
begin
|
||||
JumpToIdentifier;
|
||||
@ -266,6 +300,12 @@ begin
|
||||
Init;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.RelationComboBoxChange(Sender: TObject);
|
||||
begin
|
||||
ReadRelationComboBox;
|
||||
FilterChanged;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.ResultsStringGridColRowExchanged(
|
||||
Sender: TObject; IsColumn: Boolean; sIndex, tIndex: Integer);
|
||||
begin
|
||||
@ -332,6 +372,23 @@ begin
|
||||
Result:=TCFOProc(FProcList[Index]);
|
||||
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
|
||||
);
|
||||
begin
|
||||
@ -366,7 +423,9 @@ begin
|
||||
FFlags:=[];
|
||||
IdleConnected:=false;
|
||||
ProgressBar1.Visible:=false;
|
||||
RefreshButton.Enabled:=true;
|
||||
if not (csDestroying in ComponentState) then
|
||||
RefreshButton.Enabled:=true;
|
||||
FreeUsesGraph;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.AddStartAndTargetUnits;
|
||||
@ -386,7 +445,6 @@ var
|
||||
CurUnit: TCFOUnit;
|
||||
NodeGraph: TCodeGraph;
|
||||
ProgNode: TCodeTreeNode;
|
||||
ExcludeAbstractProcs: Boolean;
|
||||
TargetGraphNode: TCFONode;
|
||||
begin
|
||||
Exclude(FFlags,cfofGatherProcs);
|
||||
@ -400,7 +458,10 @@ begin
|
||||
exit;
|
||||
debugln(['TCodyFindOverloadsWindow.GatherProcsOfAllUnits START']);
|
||||
|
||||
ExcludeAbstractProcs:=HideAbstractCheckBox.Checked;
|
||||
// get filter
|
||||
FHideAbstractMethods:=HideAbstractCheckBox.Checked;
|
||||
ReadRelationComboBox;
|
||||
|
||||
ProgNode:=TCodeTreeNode.Create;
|
||||
NodeGraph:=TCodeGraph.Create(TCFONode,TCFOEdge);
|
||||
try
|
||||
@ -410,8 +471,7 @@ begin
|
||||
FileNode:=FUsesGraph.FilesTree.FindLowest;
|
||||
while FileNode<>nil do begin
|
||||
CurUnit:=TCFOUnit(FileNode.Data);
|
||||
GatherProcsOfUnit(NodeGraph,ProgNode,CurUnit,ExcludeAbstractProcs,
|
||||
TargetGraphNode);
|
||||
GatherProcsOfUnit(NodeGraph,ProgNode,CurUnit,TargetGraphNode);
|
||||
FileNode:=FUsesGraph.FilesTree.FindSuccessor(FileNode);
|
||||
end;
|
||||
|
||||
@ -431,8 +491,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||
ProgNode: TCodeTreeNode; CurUnit: TCFOUnit; ExcludeAbstractProcs: boolean;
|
||||
var TargetGraphNode: TCFONode);
|
||||
ProgNode: TCodeTreeNode; CurUnit: TCFOUnit; var TargetGraphNode: TCFONode);
|
||||
|
||||
procedure AddAncestors(Tool: TFindDeclarationTool; ClassNode: TCodeTreeNode); forward;
|
||||
|
||||
@ -447,6 +506,7 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||
//debugln(['AddClassNode ',Tool.ExtractClassName(ClassNode,false)]);
|
||||
Result:=TCFONode(NodeGraph.AddGraphNode(ClassNode));
|
||||
Result.Tool:=Tool;
|
||||
Result.TheClassName:=Tool.ExtractClassName(ClassNode,false);
|
||||
// create edge "reachable", so that all nodes are reachable
|
||||
Edge:=TCFOEdge(NodeGraph.AddEdge(ClassNode,ProgNode));
|
||||
Edge.Typ:=cfoetReachable;
|
||||
@ -485,7 +545,7 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||
TargetCleanPos: integer);
|
||||
var
|
||||
CurProcName: String;
|
||||
GraphProcNode: TCFONode;
|
||||
GraphProcNode, GraphClassNode: TCFONode;
|
||||
ClassNode: TCodeTreeNode;
|
||||
Edge: TCFOEdge;
|
||||
Compatibility: TTypeCompatibility;
|
||||
@ -504,10 +564,17 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||
ClassNode:=ClassNode.Parent;
|
||||
end;
|
||||
if ClassNode<>nil then begin
|
||||
if ExcludeAbstractProcs then begin
|
||||
// a method
|
||||
if HideAbstractMethods then begin
|
||||
if ClassNode.Desc in AllClassInterfaces then exit;
|
||||
if Tool.ProcNodeHasSpecifier(ProcNode,psABSTRACT) then exit;
|
||||
end;
|
||||
if FilterRelation=cfofrOnlyNonMethods then
|
||||
exit;
|
||||
end else begin
|
||||
// a non method
|
||||
if FilterRelation in [cfofrOnlyMethods,cfofrOnlyDescendantsOf] then
|
||||
exit;
|
||||
end;
|
||||
|
||||
Compatibility:=tcExact;
|
||||
@ -532,7 +599,13 @@ procedure TCodyFindOverloadsWindow.GatherProcsOfUnit(NodeGraph: TCodeGraph;
|
||||
// add edges
|
||||
if ClassNode<>nil then begin
|
||||
// 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"
|
||||
Edge:=TCFOEdge(NodeGraph.AddEdge(ProcNode,ClassNode));
|
||||
Edge.Typ:=cfoetMethodOf;
|
||||
@ -566,6 +639,26 @@ begin
|
||||
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;
|
||||
TargetGraphNode: TCFONode);
|
||||
var
|
||||
@ -615,7 +708,7 @@ var
|
||||
AVLNode: TAVLTreeNode;
|
||||
GraphNode: TCFONode;
|
||||
begin
|
||||
debugln(['TCodyFindOverloadsWindow.CalcDistances ']);
|
||||
//debugln(['TCodyFindOverloadsWindow.CalcDistances ']);
|
||||
|
||||
Unvisited:=TAVLTree.Create(@CompareCFONodeByDistance);
|
||||
try
|
||||
@ -733,7 +826,7 @@ end;
|
||||
|
||||
function TCodyFindOverloadsWindow.GetDefaultCaption: string;
|
||||
begin
|
||||
Result:='Cody - Find Overloads';
|
||||
Result:=crsCodyFindOverloads;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.FillFilterControls(
|
||||
@ -762,28 +855,37 @@ begin
|
||||
if ListOfPFindContext<>nil then begin
|
||||
for i:=0 to ListOfPFindContext.Count-1 do begin
|
||||
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 else begin
|
||||
sl.Add('Only descendants of '+ProcTool.ExtractClassName(ClassNode,false));
|
||||
sl.Add(Format(crsOnlyDescendantsOf, [ProcTool.ExtractClassName(
|
||||
ClassNode, false)]));
|
||||
end;
|
||||
finally
|
||||
FreeListOfPFindContext(ListOfPFindContext);
|
||||
end;
|
||||
sl.Add('Only methods');
|
||||
sl.Add(crsOnlyMethods);
|
||||
end else begin
|
||||
// procedure, non method
|
||||
sl.Add('Only non methods');
|
||||
sl.Add(crsOnlyNonMethods);
|
||||
end;
|
||||
sl.Add('Any');
|
||||
sl.Add(crsAny);
|
||||
RelationComboBox.Items:=sl;
|
||||
if sl.IndexOf(RelationComboBox.Text)<0 then
|
||||
RelationComboBox.Text:='Any';
|
||||
RelationComboBox.Text:=crsAny;
|
||||
finally
|
||||
sl.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.FilterChanged;
|
||||
begin
|
||||
if csDestroying in ComponentState then exit;
|
||||
AbortParsing;
|
||||
StartParsing;
|
||||
end;
|
||||
|
||||
procedure TCodyFindOverloadsWindow.UpdateShowing;
|
||||
begin
|
||||
inherited UpdateShowing;
|
||||
@ -871,9 +973,10 @@ var
|
||||
TargetTool: TFindDeclarationTool;
|
||||
begin
|
||||
Result:=false;
|
||||
Caption:=GetDefaultCaption;
|
||||
|
||||
AbortParsing;
|
||||
if csDestroying in ComponentState then exit;
|
||||
|
||||
Caption:=GetDefaultCaption;
|
||||
ResultsStringGrid.Visible:=false;
|
||||
JumpToButton.Enabled:=false;
|
||||
FTargetName:='';
|
||||
|
||||
@ -266,6 +266,11 @@ resourcestring
|
||||
crsExactly = 'exactly';
|
||||
crsCompatible = 'compatible';
|
||||
crsIncompatible = 'incompatible';
|
||||
crsCodyFindOverloads = 'Cody - Find Overloads';
|
||||
crsOnlyMethods = 'Only methods';
|
||||
crsOnlyDescendantsOf = 'Only descendants of %s';
|
||||
crsOnlyNonMethods = 'Only non methods';
|
||||
crsAny = 'Any';
|
||||
crsFilter2 = 'Filter';
|
||||
crsJumpTo2 = 'Jump to';
|
||||
|
||||
|
||||
@ -120,6 +120,8 @@ function ParseUnit(out Tool: TCodeTool; out CleanPos: integer;
|
||||
TilCursor: boolean = false): TCUParseError;
|
||||
procedure OpenCodyHelp(Path: string);
|
||||
|
||||
function GetPatternValue1(const Pattern, PlaceHolder, Src: string; out Value1: string): boolean;
|
||||
|
||||
implementation
|
||||
|
||||
procedure ExplodeAWithBlockCmd(Sender: TObject);
|
||||
@ -384,6 +386,35 @@ begin
|
||||
OpenURL(BasePath+Path);
|
||||
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 }
|
||||
|
||||
procedure TCodyClipboardSrcData.SetSourcePos(const SrcPos: TCodeXYPosition);
|
||||
|
||||
@ -43,6 +43,10 @@ msgstr "Bereits definiert bei %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... und %s weitere Bezeichner"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
@ -175,6 +179,10 @@ msgstr ""
|
||||
msgid "Code Node Information"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr "Bezeichnerwörterbuch"
|
||||
@ -494,6 +502,18 @@ msgstr "Keine Unit ausgewählt"
|
||||
msgid "On clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlydescendantsof
|
||||
msgid "Only descendants of %s"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlymethods
|
||||
msgid "Only methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlynonmethods
|
||||
msgid "Only non methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsoptions
|
||||
msgid "Options"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@ -44,6 +44,10 @@ msgstr "Déjà défini à %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... et %s identificateurs"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
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"
|
||||
msgstr "Information de nœud de code"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr "Dictionnaire des identificateurs"
|
||||
@ -495,6 +503,18 @@ msgstr "Aucune unité sélectionnée"
|
||||
msgid "On clipboard"
|
||||
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
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
@ -44,6 +44,10 @@ msgstr "Már definiálva van itt: %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... és további %s azonosító"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
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"
|
||||
msgstr "Kód-csomópont információ"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr "Azonosítók szótára"
|
||||
@ -495,6 +503,18 @@ msgstr "Nincs unit kiválasztva"
|
||||
msgid "On clipboard"
|
||||
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
|
||||
msgid "Options"
|
||||
msgstr "Beállítások"
|
||||
|
||||
@ -45,6 +45,10 @@ msgstr "Già definito in %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... e altri %s identificatori"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
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"
|
||||
msgstr "Informazioni sul nodo di codice"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr "Dizionario Identificatori"
|
||||
@ -496,6 +504,18 @@ msgstr "Nessuna unit selezionata"
|
||||
msgid "On clipboard"
|
||||
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
|
||||
msgid "Options"
|
||||
msgstr "Opzioni"
|
||||
|
||||
@ -44,6 +44,10 @@ msgstr "Jau įgyvendinta ties %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "… dar liko identifikatorių: %s"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
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"
|
||||
msgstr "Informacija apie kodo mazgą"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr "Identifikatorių žodynas"
|
||||
@ -495,6 +503,18 @@ msgstr "Nėra pažymėtų modulių"
|
||||
msgid "On clipboard"
|
||||
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
|
||||
msgid "Options"
|
||||
msgstr "Parinktys"
|
||||
|
||||
@ -34,6 +34,10 @@ msgstr ""
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
@ -166,6 +170,10 @@ msgstr ""
|
||||
msgid "Code Node Information"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr ""
|
||||
@ -485,6 +493,18 @@ msgstr ""
|
||||
msgid "On clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlydescendantsof
|
||||
msgid "Only descendants of %s"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlymethods
|
||||
msgid "Only methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlynonmethods
|
||||
msgid "Only non methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsoptions
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
@ -46,6 +46,10 @@ msgstr "Já definido em %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... e mais %s identificadores"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
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"
|
||||
msgstr "Informação Nó de Código"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
#| msgid "Cody Identifier Dictionary"
|
||||
msgid "Identifier Dictionary"
|
||||
@ -503,6 +511,18 @@ msgstr "Nenhuma unidade selecionada"
|
||||
msgid "On clipboard"
|
||||
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
|
||||
msgid "Options"
|
||||
msgstr "Opções"
|
||||
|
||||
@ -45,6 +45,10 @@ msgstr "Уже объявлена (%s)"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr "... дополнительно идентификаторов: %s"
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
msgstr "Окно для среды Lazarus. Может быть пристыковано подобно обозревателю кода или редактору FPDoc. Помимо окна, будет создан пункт в меню Вид с комбинацией клавиш."
|
||||
@ -177,6 +181,10 @@ msgstr "Буферы кода"
|
||||
msgid "Code Node Information"
|
||||
msgstr "Сведения об элементе кода"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
#| msgid "Cody Identifier Dictionary"
|
||||
msgid "Identifier Dictionary"
|
||||
@ -503,6 +511,18 @@ msgstr "Модуль не выбран"
|
||||
msgid "On clipboard"
|
||||
msgstr "В буфере обмена"
|
||||
|
||||
#: codystrconsts.crsonlydescendantsof
|
||||
msgid "Only descendants of %s"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlymethods
|
||||
msgid "Only methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlynonmethods
|
||||
msgid "Only non methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsoptions
|
||||
msgid "Options"
|
||||
msgstr "Параметры"
|
||||
|
||||
@ -46,6 +46,10 @@ msgstr "Вже визначений в %s"
|
||||
msgid "... and %s more identifiers"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsany
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
@ -178,6 +182,10 @@ msgstr ""
|
||||
msgid "Code Node Information"
|
||||
msgstr "Інформація про Вузол Коду"
|
||||
|
||||
#: codystrconsts.crscodyfindoverloads
|
||||
msgid "Cody - Find Overloads"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crscodyidentifierdictionary
|
||||
msgid "Identifier Dictionary"
|
||||
msgstr ""
|
||||
@ -505,6 +513,18 @@ msgstr "Модуль не вибраний"
|
||||
msgid "On clipboard"
|
||||
msgstr "На буфер обміну"
|
||||
|
||||
#: codystrconsts.crsonlydescendantsof
|
||||
msgid "Only descendants of %s"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlymethods
|
||||
msgid "Only methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsonlynonmethods
|
||||
msgid "Only non methods"
|
||||
msgstr ""
|
||||
|
||||
#: codystrconsts.crsoptions
|
||||
msgid "Options"
|
||||
msgstr "Параметри"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user