IDE: fpdoc link editor: other packages

git-svn-id: trunk@21056 -
This commit is contained in:
mattias 2009-08-01 12:15:01 +00:00
parent 6556dda2b3
commit ca8e1d861d
3 changed files with 42 additions and 21 deletions

View File

@ -76,6 +76,7 @@ object FPDocLinkEditorDlg: TFPDocLinkEditorDlg
BorderSpacing.Around = 6
OnChange = LinkEditChange
OnKeyDown = LinkEditKeyDown
OnUTF8KeyPress = LinkEditUTF8KeyPress
ParentShowHint = False
ShowHint = True
TabOrder = 1

View File

@ -27,11 +27,12 @@ LazarusResources.Add('TFPDocLinkEditorDlg','FORMDATA',[
+'om'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asr'
+'Bottom'#4'Left'#2#6#6'Height'#2#27#3'Top'#2']'#5'Width'#3#140#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8'OnChange'
+#7#14'LinkEditChange'#9'OnKeyDown'#7#15'LinkEditKeyDown'#14'ParentShowHint'#8
+#8'ShowHint'#9#8'TabOrder'#2#1#4'Text'#6#8'LinkEdit'#0#0#5'TEdit'#9'TitleEdi'
+'t'#21'AnchorSideTop.Control'#7#10'TitleLabel'#18'AnchorSideTop.Side'#7#9'as'
+'rBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#27#3'Top'#2#30#5'Width'#3#140#1#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderSp'
+'acing.Right'#2#6#8'TabOrder'#2#2#4'Text'#6#9'TitleEdit'#0#0#0
+#7#14'LinkEditChange'#9'OnKeyDown'#7#15'LinkEditKeyDown'#14'OnUTF8KeyPress'#7
+#20'LinkEditUTF8KeyPress'#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#1
+#4'Text'#6#8'LinkEdit'#0#0#5'TEdit'#9'TitleEdit'#21'AnchorSideTop.Control'#7
+#10'TitleLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Con'
+'trol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#27#3'Top'#2#30#5'Width'#3#140#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak'
+'Right'#0#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2
+#2#4'Text'#6#9'TitleEdit'#0#0#0
]);

View File

@ -69,8 +69,7 @@ type
destructor Destroy; override;
procedure Clear;
procedure AddPackage(Pkg: TLazPackage);
procedure AddProjectFile(AFile: TLazProjectFile);
procedure AddPackageFile(AFile: TPkgFile);
procedure Add(Identifier, Description: string);
procedure AddIdentifier(Identifier: string);
procedure Draw(Canvas: TCanvas; Width, Height: integer);
property Count: integer read GetCount;
@ -101,6 +100,7 @@ type
procedure LinkEditChange(Sender: TObject);
procedure LinkEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
);
procedure LinkEditUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
private
FStartFPDocFile: TLazFPDocFile;
fItems: TFPDocLinkCompletionList;
@ -223,8 +223,10 @@ begin
CompletionBox.Invalidate;
end;
VK_RETURN:
if (FItems.Selected>=0) and (FItems.Selected<fItems.Count) then
if (FItems.Selected>=0) and (FItems.Selected<fItems.Count) then begin
Link:=FItems.Items[fItems.Selected].Text;
LinkEdit.SelStart:=length(LinkEdit.Text);
end;
else
Handled:=false;
end;
@ -232,6 +234,18 @@ begin
end;
end;
procedure TFPDocLinkEditorDlg.LinkEditUTF8KeyPress(Sender: TObject;
var UTF8Key: TUTF8Char);
begin
if UTF8Key='.' then begin
if (FItems.Selected>=0) and (FItems.Selected<fItems.Count) then begin
Link:=FItems.Items[fItems.Selected].Text+'.';
LinkEdit.SelStart:=length(LinkEdit.Text);
end;
UTF8Key:='';
end;
end;
procedure TFPDocLinkEditorDlg.SetSourceFilename(const AValue: string);
var
Owners: TFPList;
@ -323,6 +337,7 @@ var
i: Integer;
Filename: String;
ProjFile: TLazProjectFile;
Identifier: String;
begin
for i:=0 to AProject.FileCount-1 do begin
ProjFile:=AProject.Files[i];
@ -331,7 +346,12 @@ begin
if FilenameIsPascalUnit(Filename) then begin
Filename:=ExtractFileNameOnly(Filename);
if (CompareFilenames(Prefix,copy(Filename,1,length(Prefix)))=0) then
fItems.AddProjectFile(ProjFile);
begin
Identifier:=ExtractFileNameOnly(ProjFile.Filename);
if AProject<>StartModuleOwner then
Identifier:='#'+ExtractFileNameOnly(AProject.ProjectInfoFile)+'.'+Identifier;
fItems.Add(Identifier,'project unit');
end;
end;
end;
end;
@ -343,6 +363,7 @@ var
i: Integer;
PkgFile: TPkgFile;
Filename: String;
Identifier: String;
begin
for i:=0 to APackage.FileCount-1 do begin
PkgFile:=APackage.Files[i];
@ -351,7 +372,12 @@ begin
if FilenameIsPascalUnit(Filename) then begin
Filename:=ExtractFileNameOnly(Filename);
if (CompareFilenames(Prefix,copy(Filename,1,length(Prefix)))=0) then
fItems.AddPackageFile(PkgFile);
begin
Identifier:=ExtractFileNameOnly(Filename);
if APackage<>StartModuleOwner then
Identifier:='#'+APackage.Name+'.'+Identifier;
fItems.Add(Identifier,'package unit');
end;
end;
end;
end;
@ -540,16 +566,9 @@ begin
FItems.Add(TFPDocLinkCompletionItem.Create('#'+Pkg.Name,'package '+Pkg.IDAsString));
end;
procedure TFPDocLinkCompletionList.AddProjectFile(AFile: TLazProjectFile);
procedure TFPDocLinkCompletionList.Add(Identifier, Description: string);
begin
FItems.Add(TFPDocLinkCompletionItem.Create(
ExtractFileNameOnly(AFile.Filename),'project unit'));
end;
procedure TFPDocLinkCompletionList.AddPackageFile(AFile: TPkgFile);
begin
FItems.Add(TFPDocLinkCompletionItem.Create(
ExtractFileNameOnly(AFile.Filename),'package unit'));
FItems.Add(TFPDocLinkCompletionItem.Create(Identifier,Description));
end;
procedure TFPDocLinkCompletionList.AddIdentifier(Identifier: string);