From 3ce75c355805ad6987fd0d4abdd9667ae1312326 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 24 May 2011 21:42:15 +0000 Subject: [PATCH] codetools: AddLocalVariable: insert in front of MaxPos git-svn-id: trunk@30892 - --- components/codetools/codecompletiontool.pas | 70 +++++++++++++++---- components/codetools/codetoolmanager.pas | 16 +++-- components/codetools/ide/codystrconsts.pas | 13 ++++ components/codetools/ide/declarevardlg.pas | 43 ++++++------ .../ide/languages/codystrconsts.it.po | 52 ++++++++++++++ .../codetools/ide/languages/codystrconsts.po | 52 ++++++++++++++ .../ide/languages/codystrconsts.pt_BR.po | 52 ++++++++++++++ .../ide/languages/codystrconsts.ru.po | 52 ++++++++++++++ 8 files changed, 309 insertions(+), 41 deletions(-) diff --git a/components/codetools/codecompletiontool.pas b/components/codetools/codecompletiontool.pas index af778cfe6a..705bfb1afe 100644 --- a/components/codetools/codecompletiontool.pas +++ b/components/codetools/codecompletiontool.pas @@ -177,7 +177,8 @@ type function AddLocalVariable(CleanCursorPos: integer; OldTopLine: integer; VariableName, VariableType, VariableTypeUnitName: string; out NewPos: TCodeXYPosition; out NewTopLine: integer; - SourceChangeCache: TSourceChangeCache): boolean; + SourceChangeCache: TSourceChangeCache; + MaxCleanPos: integer = 0): boolean; procedure AdjustCursor(OldCodePos: TCodePosition; OldTopLine: integer; out NewPos: TCodeXYPosition; out NewTopLine: integer); function AddVariable(CursorNode: TCodeTreeNode; @@ -326,7 +327,7 @@ type out NewExprType: TExpressionType; out NewType: string): boolean; // false = not at an identifier function DeclareVariable(InsertPos: TCodeXYPosition; const VariableName, NewType, NewUnitName: string; - Visibility: TCodeTreeNodeDesc; + Visibility: TCodeTreeNodeDesc; MaxPos: TCodeXYPosition; SourceChangeCache: TSourceChangeCache): boolean; // custom class completion @@ -969,11 +970,11 @@ begin Result:=TermAtom.EndPos>TermAtom.StartPos; end; -function TCodeCompletionCodeTool.AddLocalVariable( - CleanCursorPos: integer; OldTopLine: integer; - VariableName, VariableType, VariableTypeUnitName: string; - out NewPos: TCodeXYPosition; - out NewTopLine: integer; SourceChangeCache: TSourceChangeCache): boolean; +function TCodeCompletionCodeTool.AddLocalVariable(CleanCursorPos: integer; + OldTopLine: integer; VariableName, VariableType, + VariableTypeUnitName: string; out NewPos: TCodeXYPosition; + out NewTopLine: integer; SourceChangeCache: TSourceChangeCache; + MaxCleanPos: integer): boolean; var CursorNode, BeginNode, VarSectionNode, VarNode: TCodeTreeNode; Indent, InsertPos: integer; @@ -1001,11 +1002,16 @@ begin DebugLn('TCodeCompletionCodeTool.AddLocalVariable - Not in Begin Block'); exit; end; + if MaxCleanPos<1 then MaxCleanPos:=SrcLen+1; - // find last 'var' section node + // find last 'var' section node in front of MaxCleanPos VarSectionNode:=BeginNode; - while (VarSectionNode<>nil) and (VarSectionNode.Desc<>ctnVarSection) do + while (VarSectionNode<>nil) do begin + if (VarSectionNode.Desc=ctnVarSection) + and (VarSectionNode.EndPos<=MaxCleanPos) then + break; VarSectionNode:=VarSectionNode.PriorBrother; + end; InsertTxt:=VariableName+':'+VariableType+';'; //DebugLn('TCodeCompletionCodeTool.AddLocalVariable C ',InsertTxt,' '); @@ -1013,6 +1019,7 @@ begin if (VarSectionNode<>nil) and (VarSectionNode.FirstChild<>nil) then begin // there is already a var section // -> append variable + //debugln(['TCodeCompletionCodeTool.AddLocalVariable insert into existing var section']); VarNode:=VarSectionNode.FirstChild; // search last variable in var section while (VarNode.NextBrother<>nil) do @@ -1024,11 +1031,40 @@ begin end else begin // there is no var section yet // -> create a new var section and append variable - Indent:=GetLineIndent(Src,BeginNode.StartPos); + if BeginNode.StartPos>MaxCleanPos then begin + Node:=BeginNode; + while (Node<>nil) and (not (Node.Desc in AllDefinitionSections)) do + Node:=Node.PriorBrother; + if Node<>nil then begin + // there is a type/const section in front + // => put the var section below + //debugln(['TCodeCompletionCodeTool.AddLocalVariable start a new var section below '+Node.DescAsString]); + InsertPos:=Node.EndPos; + Indent:=GetLineIndent(Src,Node.StartPos); + end else begin + // there is no var/type/const section in front + // => insert at first possible position + Node:=BeginNode.Parent.FirstChild; + if Node.Desc in [ctnProcedureHead,ctnUsesSection] then begin + // insert behind uses section / procedure header + //debugln(['TCodeCompletionCodeTool.AddLocalVariable start a new var section below '+Node.DescAsString]); + InsertPos:=Node.EndPos; + end else begin + // insert behind section keyword + //debugln(['TCodeCompletionCodeTool.AddLocalVariable start a new var section at start of '+BeginNode.Parent.DescAsString]); + InsertPos:=Node.StartPos; + end; + Indent:=GetLineIndent(Src,InsertPos); + end; + end else begin + // default: add the var section directly in front of the begin + //debugln(['TCodeCompletionCodeTool.AddLocalVariable start a new var section in front of begin block']); + InsertPos:=BeginNode.StartPos; + Indent:=GetLineIndent(Src,InsertPos); + end; InsertTxt:='var'+SourceChangeCache.BeautifyCodeOptions.LineEnd +GetIndentStr(Indent+SourceChangeCache.BeautifyCodeOptions.Indent) +InsertTxt; - InsertPos:=BeginNode.StartPos; end; // insert new code @@ -5426,8 +5462,8 @@ end; function TCodeCompletionCodeTool.DeclareVariable(InsertPos: TCodeXYPosition; const VariableName, NewType, NewUnitName: string; - Visibility: TCodeTreeNodeDesc; SourceChangeCache: TSourceChangeCache - ): boolean; + Visibility: TCodeTreeNodeDesc; MaxPos: TCodeXYPosition; + SourceChangeCache: TSourceChangeCache): boolean; var CleanCursorPos: integer; CursorNode: TCodeTreeNode; @@ -5435,24 +5471,28 @@ var NewTopLine: integer; Node: TCodeTreeNode; ClassPart: TNewClassPart; + MaxCleanPos: integer; begin Result:=false; debugln(['TCodeCompletionCodeTool.DeclareVariable InsertPos=',dbgs(InsertPos),' Name="',VariableName,'" Type="',NewType,'" Unit=',NewUnitName]); BuildTreeAndGetCleanPos(InsertPos,CleanCursorPos); CursorNode:=FindDeepestNodeAtPos(CleanCursorPos,true); + CaretToCleanPos(MaxPos,MaxCleanPos); SourceChangeCache.MainScanner:=Scanner; Node:=CursorNode; while Node<>nil do begin if Node.Desc=ctnBeginBlock then begin // local variable Result:=AddLocalVariable(Node.StartPos, 1, - VariableName,NewType,NewUnitName,NewPos,NewTopLine,SourceChangeCache); + VariableName,NewType,NewUnitName,NewPos,NewTopLine,SourceChangeCache, + MaxCleanPos); exit; end else if Node.Desc=ctnProcedure then begin // local variable if (Node.LastChild<>nil) and (Node.LastChild.Desc=ctnBeginBlock) then begin Result:=AddLocalVariable(Node.LastChild.StartPos, 1, - VariableName,NewType,NewUnitName,NewPos,NewTopLine,SourceChangeCache); + VariableName,NewType,NewUnitName,NewPos,NewTopLine,SourceChangeCache, + MaxCleanPos); exit; end else exit; diff --git a/components/codetools/codetoolmanager.pas b/components/codetools/codetoolmanager.pas index 07d5686257..61b89b391e 100644 --- a/components/codetools/codetoolmanager.pas +++ b/components/codetools/codetoolmanager.pas @@ -517,7 +517,9 @@ type out NewExprType: TExpressionType; out NewType: string): boolean; // false = not at an identifier or syntax error function DeclareVariable(Code: TCodeBuffer; X,Y: integer; const VariableName, NewType, NewUnitName: string; - Visibility: TCodeTreeNodeDesc): boolean; + Visibility: TCodeTreeNodeDesc; + MaxPosCode: TCodeBuffer = nil; MaxPosX: integer = 0; MaxPosY: integer = 0 + ): boolean; function FindRedefinitions(Code: TCodeBuffer; out TreeOfCodeTreeNodeExt: TAVLTree; WithEnums: boolean): boolean; function RemoveRedefinitions(Code: TCodeBuffer; @@ -3656,21 +3658,25 @@ end; function TCodeToolManager.DeclareVariable(Code: TCodeBuffer; X, Y: integer; const VariableName, NewType, NewUnitName: string; - Visibility: TCodeTreeNodeDesc): boolean; + Visibility: TCodeTreeNodeDesc; MaxPosCode: TCodeBuffer; MaxPosX: integer; + MaxPosY: integer): boolean; var - CursorPos: TCodeXYPosition; + CursorPos, MaxPos: TCodeXYPosition; begin {$IFDEF CTDEBUG} DebugLn(['TCodeToolManager.DeclareVariable A ',Code.Filename,' X=',X,' Y=',Y]); {$ENDIF} Result:=false; if not InitCurCodeTool(Code) then exit; + CursorPos.Code:=Code; CursorPos.X:=X; CursorPos.Y:=Y; - CursorPos.Code:=Code; + MaxPos.Code:=MaxPosCode; + MaxPos.X:=MaxPosX; + MaxPos.Y:=MaxPosY; try Result:=FCurCodeTool.DeclareVariable(CursorPos,VariableName, - NewType,NewUnitName,Visibility,SourceChangeCache); + NewType,NewUnitName,Visibility,MaxPos,SourceChangeCache); except on e: Exception do Result:=HandleException(e); end; diff --git a/components/codetools/ide/codystrconsts.pas b/components/codetools/ide/codystrconsts.pas index 0903ea0209..28312f2bbf 100644 --- a/components/codetools/ide/codystrconsts.pas +++ b/components/codetools/ide/codystrconsts.pas @@ -48,6 +48,7 @@ resourcestring crsUnits = 'Units'; crsLinkedFiles = 'Linked files'; crsType = 'Type'; + crsWhere = 'Where'; crsFile = 'File'; crsFlags = 'Flags'; crsPackage = 'Package'; @@ -78,9 +79,21 @@ resourcestring crsRemoveWithBlock = 'Remove With block'; crsCWError = 'Error'; + crsPleaseSpecifyAType = 'Please specify a type'; + crsPleaseSpecifyALocation = 'Please specify a location'; crsPleasePlaceTheCursorOfTheSourceEditorAtAnIdentifie = 'Please place the ' +'cursor of the source editor at an identifier in a statement.%sFor ' +'example:%sMyVar:=3;'; + crsDeclareVariable3 = 'Declare variable "%s"'; + crsAlreadyDefined = 'Already defined'; + crsLocalVariableOf = 'Local variable of %s'; + crsAlreadyDefinedAt = 'Already defined at %s'; + crsPrivate = 'Private'; + crsProtected = 'Protected'; + crsPublic = 'Public'; + crsPublished = 'Published'; + crsMemberOf = '%s member of %s %s'; + crsTheIdentifierIsAlreadyDefined = 'The identifier "%s" is already defined.'; crsCWPleasePlaceTheCursorOfTheSourceEditorOnAWithVariab = 'Please place the ' +'cursor of the source editor on a With variable.'; diff --git a/components/codetools/ide/declarevardlg.pas b/components/codetools/ide/declarevardlg.pas index 4f43ef018a..0b755d5f97 100644 --- a/components/codetools/ide/declarevardlg.pas +++ b/components/codetools/ide/declarevardlg.pas @@ -30,8 +30,6 @@ - guess parameter - guess j:= - Extend uses section when adding to a class - - Fix bug: adding types with comments - - Fix bug: insert at beginning of proc, if identifier is in sub proc - Target implementation - Target interface - Target program @@ -206,9 +204,6 @@ end; procedure TCodyDeclareVarDialog.FormCreate(Sender: TObject); begin Targets:=TObjectList.create(true); - Caption:='Declare a new variable'; - WhereRadioGroup.Caption:='Where'; - TypeEdit.Caption:='Type'; ButtonPanel1.OKButton.OnClick:=@OKButtonClick; ButtonPanel1.HelpButton.OnClick:=@HelpButtonClick; end; @@ -219,7 +214,7 @@ var begin NewType:=Trim(TypeEdit.Text); if NewType='' then begin - IDEMessageDialog('Error','Please specify a type',mtError,[mbCancel]); + IDEMessageDialog(crsCWError, crsPleaseSpecifyAType, mtError, [mbCancel]); exit; end; if CompareTextIgnoringSpace(NewType,RecommendedType,false)<>0 then begin @@ -227,7 +222,8 @@ begin UnitOfType:=''; end; if WhereRadioGroup.ItemIndex<0 then begin - IDEMessageDialog('Error','Please specify a location',mtError,[mbCancel]); + IDEMessageDialog(crsCWError, crsPleaseSpecifyALocation, mtError, [mbCancel + ]); exit; end; ModalResult:=mrOk; @@ -251,16 +247,16 @@ function TCodyDeclareVarDialog.Run: boolean; s: String; begin case Visibility of - ctnClassPrivate: s:='Private'; - ctnClassProtected: s:='Protected'; - ctnClassPublic: s:='Public'; - ctnClassPublished: s:='Published'; + ctnClassPrivate: s:=crsPrivate; + ctnClassProtected: s:=crsProtected; + ctnClassPublic: s:=crsPublic; + ctnClassPublished: s:=crsPublished; else exit; end; Target:=TCodyDeclareVarTarget.Create(Context); Target.Visibility:=Visibility; - s:=s+' member of '+Context.Node.DescAsString+' '+ - Context.Tool.ExtractClassName(Context.Node,false,true); + s:=Format(crsMemberOf, [s, Context.Node.DescAsString, Context.Tool. + ExtractClassName(Context.Node, false, true)]); Target.Caption:=s; Targets.Add(Target); end; @@ -285,8 +281,9 @@ begin if ExistingDefinition.Node<>nil then begin RedefineLabel.Visible:=true; - RedefineLabel.Caption:='Already defined at '+ExistingDefinition.Tool.CleanPosToRelativeStr( - ExistingDefinition.Node.StartPos,CodePos.Code.Filename); + RedefineLabel.Caption:=Format(crsAlreadyDefinedAt, [ExistingDefinition. + Tool.CleanPosToRelativeStr( + ExistingDefinition.Node.StartPos, CodePos.Code.Filename)]); end else begin RedefineLabel.Visible:=false; end; @@ -296,7 +293,8 @@ begin Context:=PFindContext(PossibleContexts[i])^; if Context.Node.Desc=ctnProcedure then begin Target:=TCodyDeclareVarTarget.Create(Context); - Target.Caption:='Local variable of '+Context.Tool.ExtractProcName(Context.Node,[]); + Target.Caption:=Format(crsLocalVariableOf, [Context.Tool. + ExtractProcName(Context.Node, [])]); Targets.Add(Target); end else if Context.Node.Desc in AllClassObjects then begin AddClassTarget(Context,ctnClassPrivate); @@ -311,15 +309,17 @@ begin end; if Targets.Count=0 then begin - IDEMessageDialog('Already defined', - 'The identifier "'+Identifier+'" is already defined.',mtError,[mbCancel]); + IDEMessageDialog(crsAlreadyDefined, + Format(crsTheIdentifierIsAlreadyDefined, [Identifier]), mtError, [mbCancel + ]); exit; end; - Caption:='Declare variable "'+Identifier+'"'; - TypeLabel.Caption:='Type'; + Caption:=Format(crsDeclareVariable3, [Identifier]); + TypeLabel.Caption:=crsType; TypeEdit.Text:=RecommendedType; + WhereRadioGroup.Caption:=crsWhere; for i:=0 to Targets.Count-1 do begin Target:=TCodyDeclareVarTarget(Targets[i]); WhereRadioGroup.Items.Add(Target.Caption); @@ -339,7 +339,8 @@ begin LazarusIDE.OpenEditorsOnCodeToolChange:=true; if not CodeToolBoss.DeclareVariable(Target.NodeStartPos.Code, Target.NodeStartPos.X,Target.NodeStartPos.Y, - Identifier,NewType,UnitOfType,Target.Visibility) + Identifier,NewType,UnitOfType,Target.Visibility, + CodePos.Code,CodePos.X,CodePos.Y) then begin debugln(['TCodyDeclareVarDialog.Run Error']); LazarusIDE.DoJumpToCodeToolBossError; diff --git a/components/codetools/ide/languages/codystrconsts.it.po b/components/codetools/ide/languages/codystrconsts.it.po index 268b72bb04..4685e7258c 100644 --- a/components/codetools/ide/languages/codystrconsts.it.po +++ b/components/codetools/ide/languages/codystrconsts.it.po @@ -22,6 +22,14 @@ msgstr "" msgid "Add call inherited" msgstr "" +#: codystrconsts.crsalreadydefined +msgid "Already defined" +msgstr "" + +#: codystrconsts.crsalreadydefinedat +msgid "Already defined at %s" +msgstr "" + #: codystrconsts.crsbtncancel msgid "Cancel" msgstr "" @@ -182,6 +190,10 @@ msgstr "" msgid "Declare Variable ..." msgstr "" +#: codystrconsts.crsdeclarevariable3 +msgid "Declare variable \"%s\"" +msgstr "" + #: codystrconsts.crsfile msgid "File" msgstr "" @@ -214,6 +226,10 @@ msgstr "Kbyte" msgid "Linked files" msgstr "" +#: codystrconsts.crslocalvariableof +msgid "Local variable of %s" +msgstr "" + #: codystrconsts.crsmainsourcefile msgid "Main source file: %s" msgstr "File sorgente principale: %s" @@ -222,6 +238,10 @@ msgstr "File sorgente principale: %s" msgid "Mbytes" msgstr "Mbyte" +#: codystrconsts.crsmemberof +msgid "%s member of %s %s" +msgstr "" + #: codystrconsts.crsmissing msgid "missing ..." msgstr "mancante..." @@ -262,6 +282,14 @@ msgstr "Aprire un progetto prima." msgid "Please place the cursor of the source editor at an identifier in a statement.%sFor example:%sMyVar:=3;" msgstr "" +#: codystrconsts.crspleasespecifyalocation +msgid "Please specify a location" +msgstr "" + +#: codystrconsts.crspleasespecifyatype +msgid "Please specify a type" +msgstr "" + #: codystrconsts.crsppu msgid "PPU: %s" msgstr "" @@ -270,6 +298,10 @@ msgstr "" msgid "PPU files of project \"%s\"" msgstr "File PPU del progetto \"%s\"" +#: codystrconsts.crsprivate +msgid "Private" +msgstr "" + #: codystrconsts.crsprojecthasnomainsourcefile msgid "Project has no main source file." msgstr "Il progetto non ha un sorgente principale." @@ -278,6 +310,18 @@ msgstr "Il progetto non ha un sorgente principale." msgid "Project output" msgstr "Output del progetto" +#: codystrconsts.crsprotected +msgid "Protected" +msgstr "" + +#: codystrconsts.crspublic +msgid "Public" +msgstr "" + +#: codystrconsts.crspublished +msgid "Published" +msgstr "" + #: codystrconsts.crsrefresh msgid "Refresh" msgstr "" @@ -316,6 +360,10 @@ msgstr "Dimensione del file .ppu" msgid "Source: %s" msgstr "Sorgente: %s" +#: codystrconsts.crstheidentifierisalreadydefined +msgid "The identifier \"%s\" is already defined." +msgstr "" + #: codystrconsts.crstotal msgid "Total" msgstr "Totale" @@ -360,6 +408,10 @@ msgstr "" msgid "Virtual unit" msgstr "Unit virtuale" +#: codystrconsts.crswhere +msgid "Where" +msgstr "" + #: codystrconsts.liscogeneral msgid "General" msgstr "Generale" diff --git a/components/codetools/ide/languages/codystrconsts.po b/components/codetools/ide/languages/codystrconsts.po index 14a4564453..c024bc1947 100644 --- a/components/codetools/ide/languages/codystrconsts.po +++ b/components/codetools/ide/languages/codystrconsts.po @@ -13,6 +13,14 @@ msgstr "" msgid "Add call inherited" msgstr "" +#: codystrconsts.crsalreadydefined +msgid "Already defined" +msgstr "" + +#: codystrconsts.crsalreadydefinedat +msgid "Already defined at %s" +msgstr "" + #: codystrconsts.crsbtncancel msgid "Cancel" msgstr "" @@ -173,6 +181,10 @@ msgstr "" msgid "Declare Variable ..." msgstr "" +#: codystrconsts.crsdeclarevariable3 +msgid "Declare variable \"%s\"" +msgstr "" + #: codystrconsts.crsfile msgid "File" msgstr "" @@ -205,6 +217,10 @@ msgstr "" msgid "Linked files" msgstr "" +#: codystrconsts.crslocalvariableof +msgid "Local variable of %s" +msgstr "" + #: codystrconsts.crsmainsourcefile msgid "Main source file: %s" msgstr "" @@ -213,6 +229,10 @@ msgstr "" msgid "Mbytes" msgstr "" +#: codystrconsts.crsmemberof +msgid "%s member of %s %s" +msgstr "" + #: codystrconsts.crsmissing msgid "missing ..." msgstr "" @@ -253,6 +273,14 @@ msgstr "" msgid "Please place the cursor of the source editor at an identifier in a statement.%sFor example:%sMyVar:=3;" msgstr "" +#: codystrconsts.crspleasespecifyalocation +msgid "Please specify a location" +msgstr "" + +#: codystrconsts.crspleasespecifyatype +msgid "Please specify a type" +msgstr "" + #: codystrconsts.crsppu msgid "PPU: %s" msgstr "" @@ -261,6 +289,10 @@ msgstr "" msgid "PPU files of project \"%s\"" msgstr "" +#: codystrconsts.crsprivate +msgid "Private" +msgstr "" + #: codystrconsts.crsprojecthasnomainsourcefile msgid "Project has no main source file." msgstr "" @@ -269,6 +301,18 @@ msgstr "" msgid "Project output" msgstr "" +#: codystrconsts.crsprotected +msgid "Protected" +msgstr "" + +#: codystrconsts.crspublic +msgid "Public" +msgstr "" + +#: codystrconsts.crspublished +msgid "Published" +msgstr "" + #: codystrconsts.crsrefresh msgid "Refresh" msgstr "" @@ -305,6 +349,10 @@ msgstr "" msgid "Source: %s" msgstr "" +#: codystrconsts.crstheidentifierisalreadydefined +msgid "The identifier \"%s\" is already defined." +msgstr "" + #: codystrconsts.crstotal msgid "Total" msgstr "" @@ -349,6 +397,10 @@ msgstr "" msgid "Virtual unit" msgstr "" +#: codystrconsts.crswhere +msgid "Where" +msgstr "" + #: codystrconsts.liscogeneral msgid "General" msgstr "" diff --git a/components/codetools/ide/languages/codystrconsts.pt_BR.po b/components/codetools/ide/languages/codystrconsts.pt_BR.po index c46a54852b..4d490a6706 100644 --- a/components/codetools/ide/languages/codystrconsts.pt_BR.po +++ b/components/codetools/ide/languages/codystrconsts.pt_BR.po @@ -21,6 +21,14 @@ msgstr "Adicionar método \"Assign\" ..." msgid "Add call inherited" msgstr "Adicionar chamada \"inherited\"" +#: codystrconsts.crsalreadydefined +msgid "Already defined" +msgstr "" + +#: codystrconsts.crsalreadydefinedat +msgid "Already defined at %s" +msgstr "" + #: codystrconsts.crsbtncancel msgid "Cancel" msgstr "Cancelar" @@ -181,6 +189,10 @@ msgstr "Declarar Variável" msgid "Declare Variable ..." msgstr "Declarar Variável ..." +#: codystrconsts.crsdeclarevariable3 +msgid "Declare variable \"%s\"" +msgstr "" + #: codystrconsts.crsfile msgid "File" msgstr "" @@ -213,6 +225,10 @@ msgstr "kbytes" msgid "Linked files" msgstr "" +#: codystrconsts.crslocalvariableof +msgid "Local variable of %s" +msgstr "" + #: codystrconsts.crsmainsourcefile msgid "Main source file: %s" msgstr "Arquivo fonte principal: %s" @@ -221,6 +237,10 @@ msgstr "Arquivo fonte principal: %s" msgid "Mbytes" msgstr "Mbytes" +#: codystrconsts.crsmemberof +msgid "%s member of %s %s" +msgstr "" + #: codystrconsts.crsmissing msgid "missing ..." msgstr "faltando ..." @@ -261,6 +281,14 @@ msgstr "Favor abrir um projeto primeiro." msgid "Please place the cursor of the source editor at an identifier in a statement.%sFor example:%sMyVar:=3;" msgstr "" +#: codystrconsts.crspleasespecifyalocation +msgid "Please specify a location" +msgstr "" + +#: codystrconsts.crspleasespecifyatype +msgid "Please specify a type" +msgstr "" + #: codystrconsts.crsppu msgid "PPU: %s" msgstr "PPU: %s" @@ -269,6 +297,10 @@ msgstr "PPU: %s" msgid "PPU files of project \"%s\"" msgstr "Arquivos PPU do projeto \"%s\"" +#: codystrconsts.crsprivate +msgid "Private" +msgstr "" + #: codystrconsts.crsprojecthasnomainsourcefile msgid "Project has no main source file." msgstr "Projeto não tem arquivo fonte principal." @@ -277,6 +309,18 @@ msgstr "Projeto não tem arquivo fonte principal." msgid "Project output" msgstr "Saída do Projeto" +#: codystrconsts.crsprotected +msgid "Protected" +msgstr "" + +#: codystrconsts.crspublic +msgid "Public" +msgstr "" + +#: codystrconsts.crspublished +msgid "Published" +msgstr "" + #: codystrconsts.crsrefresh msgid "Refresh" msgstr "" @@ -314,6 +358,10 @@ msgstr "Tamanho do arquivo .ppu" msgid "Source: %s" msgstr "Fonte: %s" +#: codystrconsts.crstheidentifierisalreadydefined +msgid "The identifier \"%s\" is already defined." +msgstr "" + #: codystrconsts.crstotal msgid "Total" msgstr "Total" @@ -358,6 +406,10 @@ msgstr "\"Uses\"" msgid "Virtual unit" msgstr "Unidade Virtual" +#: codystrconsts.crswhere +msgid "Where" +msgstr "" + #: codystrconsts.liscogeneral msgid "General" msgstr "Geral" diff --git a/components/codetools/ide/languages/codystrconsts.ru.po b/components/codetools/ide/languages/codystrconsts.ru.po index 873a408cb1..d6c54d50d5 100644 --- a/components/codetools/ide/languages/codystrconsts.ru.po +++ b/components/codetools/ide/languages/codystrconsts.ru.po @@ -21,6 +21,14 @@ msgstr "Добавить метод Assign ..." msgid "Add call inherited" msgstr "Добавить вызов унаследованного метода" +#: codystrconsts.crsalreadydefined +msgid "Already defined" +msgstr "" + +#: codystrconsts.crsalreadydefinedat +msgid "Already defined at %s" +msgstr "" + #: codystrconsts.crsbtncancel msgid "Cancel" msgstr "Отмена" @@ -181,6 +189,10 @@ msgstr "Объявить переменную" msgid "Declare Variable ..." msgstr "Объявить переменную ..." +#: codystrconsts.crsdeclarevariable3 +msgid "Declare variable \"%s\"" +msgstr "" + #: codystrconsts.crsfile msgid "File" msgstr "Файл" @@ -213,6 +225,10 @@ msgstr "кБ" msgid "Linked files" msgstr "Скомпонованные файлы" +#: codystrconsts.crslocalvariableof +msgid "Local variable of %s" +msgstr "" + #: codystrconsts.crsmainsourcefile msgid "Main source file: %s" msgstr "Главный файл исходного кода: %s" @@ -221,6 +237,10 @@ msgstr "Главный файл исходного кода: %s" msgid "Mbytes" msgstr "МБ" +#: codystrconsts.crsmemberof +msgid "%s member of %s %s" +msgstr "" + #: codystrconsts.crsmissing msgid "missing ..." msgstr "отсутствует ..." @@ -262,6 +282,14 @@ msgstr "Сначала необходимо открыть проект." msgid "Please place the cursor of the source editor at an identifier in a statement.%sFor example:%sMyVar:=3;" msgstr "Расположите курсор редактора исходного кода на идентификаторе в операторе.%sНапример:%sMyVar:=3;" +#: codystrconsts.crspleasespecifyalocation +msgid "Please specify a location" +msgstr "" + +#: codystrconsts.crspleasespecifyatype +msgid "Please specify a type" +msgstr "" + #: codystrconsts.crsppu msgid "PPU: %s" msgstr "PPU: %s" @@ -270,6 +298,10 @@ msgstr "PPU: %s" msgid "PPU files of project \"%s\"" msgstr "Файлы PPU проекта \"%s\"" +#: codystrconsts.crsprivate +msgid "Private" +msgstr "" + #: codystrconsts.crsprojecthasnomainsourcefile msgid "Project has no main source file." msgstr "В проекте отсутствует главный файл исходного кода." @@ -278,6 +310,18 @@ msgstr "В проекте отсутствует главный файл исх msgid "Project output" msgstr "Вывод проекта" +#: codystrconsts.crsprotected +msgid "Protected" +msgstr "" + +#: codystrconsts.crspublic +msgid "Public" +msgstr "" + +#: codystrconsts.crspublished +msgid "Published" +msgstr "" + #: codystrconsts.crsrefresh msgid "Refresh" msgstr "Обновить" @@ -315,6 +359,10 @@ msgstr "Размер файла .ppu" msgid "Source: %s" msgstr "Файл исходного кода: %s" +#: codystrconsts.crstheidentifierisalreadydefined +msgid "The identifier \"%s\" is already defined." +msgstr "" + #: codystrconsts.crstotal msgid "Total" msgstr "Всего" @@ -359,6 +407,10 @@ msgstr "Использует" msgid "Virtual unit" msgstr "Виртуальный модуль" +#: codystrconsts.crswhere +msgid "Where" +msgstr "" + #: codystrconsts.liscogeneral msgid "General" msgstr "Общие"