Browse Source

* Fixed image support

git-svn-id: trunk@11160 -
michael 17 years ago
parent
commit
c9eba19930
4 changed files with 55 additions and 11 deletions
  1. 2 1
      utils/fpdoc/dglobals.pp
  2. 17 6
      utils/fpdoc/dw_html.pp
  3. 28 0
      utils/fpdoc/dw_latex.pp
  4. 8 4
      utils/fpdoc/dwriter.pp

+ 2 - 1
utils/fpdoc/dglobals.pp

@@ -106,7 +106,8 @@ resourcestring
   SHTMLUsageCharset = 'Set the HTML character set';
   SHTMLUsageCharset = 'Set the HTML character set';
   SHTMLHtmlSearch = 'Add search page with given name to the menu bar';
   SHTMLHtmlSearch = 'Add search page with given name to the menu bar';
   SHTMLIndexColcount = 'Use N columns in the identifier index pages';
   SHTMLIndexColcount = 'Use N columns in the identifier index pages';
-  
+  SHTMLImageUrl = 'Prefix image URLs with url';
+    
   // CHM usage
   // CHM usage
   SCHMUsageTOC     = 'Use [File] as the table of contents. Usually a .hhc file.';
   SCHMUsageTOC     = 'Use [File] as the table of contents. Usually a .hhc file.';
   SCHMUsageIndex   = 'Use [File] as the index. Usually a .hhk file.';
   SCHMUsageIndex   = 'Use [File] as the index. Usually a .hhk file.';

+ 17 - 6
utils/fpdoc/dw_html.pp

@@ -142,7 +142,7 @@ type
     procedure DescrEndItalic; override;
     procedure DescrEndItalic; override;
     procedure DescrBeginEmph; override;
     procedure DescrBeginEmph; override;
     procedure DescrEndEmph; override;
     procedure DescrEndEmph; override;
-    procedure DescrWriteImageEl(const AFileName, ACaption : DOMString); override;
+    procedure DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString); override;
     procedure DescrWriteFileEl(const AText: DOMString); override;
     procedure DescrWriteFileEl(const AText: DOMString); override;
     procedure DescrWriteKeywordEl(const AText: DOMString); override;
     procedure DescrWriteKeywordEl(const AText: DOMString); override;
     procedure DescrWriteVarEl(const AText: DOMString); override;
     procedure DescrWriteVarEl(const AText: DOMString); override;
@@ -962,10 +962,10 @@ begin
   PopOutputNode;
   PopOutputNode;
 end;
 end;
 
 
-procedure THTMLWriter.DescrWriteImageEl(const AFileName, ACaption : DOMString);
+procedure THTMLWriter.DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString);
 
 
 Var
 Var
-  Pel,Cel : TDOMNode;
+  Pel,Cel,Lel : TDOMNode;
   El :TDomElement;
   El :TDomElement;
   D : String;
   D : String;
   L : Integer;
   L : Integer;
@@ -978,7 +978,10 @@ begin
     begin
     begin
     Cel:=CreateTable(CurOutputNode);
     Cel:=CreateTable(CurOutputNode);
     Pel:=CreateTD(CreateTR(Cel));
     Pel:=CreateTD(CreateTR(Cel));
-    AppendText(CreateTD(CreateTR(Cel)),ACaption);
+    Cel:=CreateTD(CreateTR(Cel));
+    If (ALinkName<>'') then
+      Cel:=CreateAnchor(Cel,ALinkName);
+    AppendText(Cel,ACaption);
     end;
     end;
   // Determine URL for image.  
   // Determine URL for image.  
   D:=BaseImageURL;
   D:=BaseImageURL;
@@ -2279,7 +2282,8 @@ Var
   I : Integer;
   I : Integer;
   M : TPasModule;
   M : TPasModule;
   E : TPasElement;
   E : TPasElement;
-      
+  S : String;    
+  
 begin
 begin
   L:=TStringList.Create;
   L:=TStringList.Create;
   try
   try
@@ -2291,7 +2295,10 @@ begin
       AddModuleIdentifiers(M,L);
       AddModuleIdentifiers(M,L);
       end;
       end;
     AppendMenuBar(IndexSubIndex);
     AppendMenuBar(IndexSubIndex);
-    AppendTitle(Format(SDocPackageIndex, [Copy(Package.Name, 2, 256)]));
+    S:=Package.Name;
+    If Length(S)>0 then
+      Delete(S,1,1);
+    AppendTitle(Format(SDocPackageIndex, [S]));
     CreateIndexPage(L);
     CreateIndexPage(L);
   Finally
   Finally
     L.Free;
     L.Free;
@@ -3250,6 +3257,8 @@ begin
     CharSet := Arg
     CharSet := Arg
   else if Cmd = '--index-colcount' then
   else if Cmd = '--index-colcount' then
     IndexColCount := StrToIntDef(Arg,IndexColCount)
     IndexColCount := StrToIntDef(Arg,IndexColCount)
+  else if Cmd = '--image-url' then
+    FBaseImageURL  := Arg
   else if Cmd = '--footer-date' then
   else if Cmd = '--footer-date' then
     begin
     begin
     FIDF:=True;
     FIDF:=True;
@@ -3277,6 +3286,8 @@ begin
   List.Add(SHTMLHtmlSearch);
   List.Add(SHTMLHtmlSearch);
   List.Add('--index-colcount=N');
   List.Add('--index-colcount=N');
   List.Add(SHTMLIndexColcount);
   List.Add(SHTMLIndexColcount);
+  List.Add('--image-url=url');
+  List.Add(SHTMLImageUrl);
 end;
 end;
 
 
 // private methods
 // private methods

+ 28 - 0
utils/fpdoc/dw_latex.pp

@@ -38,6 +38,7 @@ Type
   TLaTeXWriter = class(TLinearWriter)
   TLaTeXWriter = class(TLinearWriter)
   protected
   protected
     FLink: String;
     FLink: String;
+    FImageDir: String;
     FTableCount : Integer;
     FTableCount : Integer;
     FInVerbatim : Boolean;
     FInVerbatim : Boolean;
     Inlist,
     Inlist,
@@ -85,6 +86,7 @@ Type
     procedure DescrEndItalic; override;
     procedure DescrEndItalic; override;
     procedure DescrBeginEmph; override;
     procedure DescrBeginEmph; override;
     procedure DescrEndEmph; override;
     procedure DescrEndEmph; override;
+    procedure DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString); override;
     procedure DescrWriteFileEl(const AText: DOMString); override;
     procedure DescrWriteFileEl(const AText: DOMString); override;
     procedure DescrWriteKeywordEl(const AText: DOMString); override;
     procedure DescrWriteKeywordEl(const AText: DOMString); override;
     procedure DescrWriteVarEl(const AText: DOMString); override;
     procedure DescrWriteVarEl(const AText: DOMString); override;
@@ -125,6 +127,7 @@ Type
     procedure DescrEndTableCell; override;
     procedure DescrEndTableCell; override;
     // TFPDocWriter class methods
     // TFPDocWriter class methods
     Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
     Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
+    Property ImageDir : String Read FImageDir Write FImageDir;
   end;
   end;
 
 
 
 
@@ -215,6 +218,29 @@ begin
   Write('}');
   Write('}');
 end;
 end;
 
 
+procedure TLaTeXWriter.DescrWriteImageEl(const AFileName, ACaption, ALinkName : DOMString); 
+
+Var
+  FN : String;
+  L : Integer;
+  
+begin
+  Writeln('\begin{figure}[ht]%');
+  Writeln('\begin{center}');
+  If (ACaption<>ACaption) then
+    Writeln(Format('\caption{%s}',[EscapeText(ACaption)]));
+  If (ALinkName<>'') then
+    WriteLabel('fig:'+ALinkName);
+  FN:=ImageDir;
+  L:=Length(FN);
+  If (L>0) and (FN[l]<>'/')  then
+    FN:=FN+'/';
+  FN:=FN+AFileName;
+  Writeln('\epsfig{file='+FN+'}');
+  Writeln('\end{center}');
+  Writeln('\end{figure}');
+end;
+
 procedure TLaTeXWriter.DescrWriteFileEl(const AText: DOMString);
 procedure TLaTeXWriter.DescrWriteFileEl(const AText: DOMString);
 begin
 begin
   Write('\file{');
   Write('\file{');
@@ -675,6 +701,8 @@ begin
     LatexHighLight:=True
     LatexHighLight:=True
   else if Cmd = '--latex-extension' then
   else if Cmd = '--latex-extension' then
      TexExtension:=Arg
      TexExtension:=Arg
+  else if Cmd = '--image-dir' then
+     ImageDir:=Arg
   else
   else
     Result:=False;
     Result:=False;
 end;
 end;

+ 8 - 4
utils/fpdoc/dwriter.pp

@@ -105,7 +105,7 @@ type
     procedure DescrEndItalic; virtual; abstract;
     procedure DescrEndItalic; virtual; abstract;
     procedure DescrBeginEmph; virtual; abstract;
     procedure DescrBeginEmph; virtual; abstract;
     procedure DescrEndEmph; virtual; abstract;
     procedure DescrEndEmph; virtual; abstract;
-    procedure DescrWriteImageEl(const AFileName, ACaption : DOMString); virtual; abstract;
+    procedure DescrWriteImageEl(const AFileName, ACaption,ALinkName : DOMString); virtual; abstract;
     procedure DescrWriteFileEl(const AText: DOMString); virtual; abstract;
     procedure DescrWriteFileEl(const AText: DOMString); virtual; abstract;
     procedure DescrWriteKeywordEl(const AText: DOMString); virtual; abstract;
     procedure DescrWriteKeywordEl(const AText: DOMString); virtual; abstract;
     procedure DescrWriteVarEl(const AText: DOMString); virtual; abstract;
     procedure DescrWriteVarEl(const AText: DOMString); virtual; abstract;
@@ -977,7 +977,10 @@ begin
     Result := True;
     Result := True;
   end else if Node.NodeName = 'img' then
   end else if Node.NodeName = 'img' then
   begin
   begin
+    begin
     ConvertImage(Node as TDomElement);
     ConvertImage(Node as TDomElement);
+    Result:=True;
+    end;
   end else  
   end else  
     Result := False;
     Result := False;
 end;
 end;
@@ -985,13 +988,14 @@ end;
 Procedure TFPDocWriter.ConvertImage(El : TDomElement);
 Procedure TFPDocWriter.ConvertImage(El : TDomElement);
 
 
 Var
 Var
-  FN,Cap : DOMString;
+  FN,Cap,LinkName : DOMString;
 
 
 begin
 begin
   FN:=El['file'];
   FN:=El['file'];
   Cap:=El['caption'];
   Cap:=El['caption'];
-  ChangeFileExt(FN,ImageExtension);
-  DescrWriteImageEl(FN,Cap);
+  LinkName:=El['name'];
+  FN:=ChangeFileExt(FN,ImageExtension);
+  DescrWriteImageEl(FN,Cap,LinkName);
 end;
 end;