mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-16 18:10:39 +02:00
IDE: fpdoc link editor: other packages
git-svn-id: trunk@21056 -
This commit is contained in:
parent
6556dda2b3
commit
ca8e1d861d
@ -76,6 +76,7 @@ object FPDocLinkEditorDlg: TFPDocLinkEditorDlg
|
||||
BorderSpacing.Around = 6
|
||||
OnChange = LinkEditChange
|
||||
OnKeyDown = LinkEditKeyDown
|
||||
OnUTF8KeyPress = LinkEditUTF8KeyPress
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
|
@ -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
|
||||
]);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user