mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 14:39:27 +02:00
DocMgr: added default output name generation
git-svn-id: trunk@34761 -
This commit is contained in:
parent
911e1f4389
commit
9882727e66
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -3701,6 +3701,7 @@ examples/fontenum/mainunit.lrs svneol=native#text/pascal
|
|||||||
examples/fontenum/mainunit.pas svneol=native#text/pascal
|
examples/fontenum/mainunit.pas svneol=native#text/pascal
|
||||||
examples/fpdocmanager/FPDocManager.lpi svneol=native#text/plain
|
examples/fpdocmanager/FPDocManager.lpi svneol=native#text/plain
|
||||||
examples/fpdocmanager/FPDocManager.lpr svneol=native#text/plain
|
examples/fpdocmanager/FPDocManager.lpr svneol=native#text/plain
|
||||||
|
examples/fpdocmanager/FilenameExtension.patch svneol=native#text/pascal
|
||||||
examples/fpdocmanager/README.txt svneol=native#text/plain
|
examples/fpdocmanager/README.txt svneol=native#text/plain
|
||||||
examples/fpdocmanager/docs/fconfig.xml svneol=native#text/plain
|
examples/fpdocmanager/docs/fconfig.xml svneol=native#text/plain
|
||||||
examples/fpdocmanager/docs/flogview.xml svneol=native#text/plain
|
examples/fpdocmanager/docs/flogview.xml svneol=native#text/plain
|
||||||
|
173
examples/fpdocmanager/FilenameExtension.patch
Normal file
173
examples/fpdocmanager/FilenameExtension.patch
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
Index: dw_ipflin.pas
|
||||||
|
===================================================================
|
||||||
|
--- dw_ipflin.pas (revision 20081)
|
||||||
|
+++ dw_ipflin.pas (working copy)
|
||||||
|
@@ -89,7 +89,6 @@
|
||||||
|
procedure EndOverview; override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,Access,ADescr : String); override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,ADescr : String); override;
|
||||||
|
- class function FileNameExtension: string; override;
|
||||||
|
procedure DescrBeginURL(const AURL: DOMString); override;
|
||||||
|
procedure DescrEndURL; override;
|
||||||
|
// Description node conversion. Overrides for TFPDocWriter.
|
||||||
|
@@ -141,6 +140,7 @@
|
||||||
|
// TFPDocWriter class methods
|
||||||
|
public
|
||||||
|
constructor Create(APackage: TPasPackage; AEngine: TFPDocEngine); override;
|
||||||
|
+ class function FileNameExtension: string; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Index: dw_latex.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_latex.pp (revision 20081)
|
||||||
|
+++ dw_latex.pp (working copy)
|
||||||
|
@@ -79,7 +79,6 @@
|
||||||
|
procedure EndOverview; override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,Access,ADescr : String); override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,ADescr : String); override;
|
||||||
|
- Class Function FileNameExtension : String; override;
|
||||||
|
// Description node conversion
|
||||||
|
procedure DescrBeginBold; override;
|
||||||
|
procedure DescrEndBold; override;
|
||||||
|
@@ -131,6 +130,8 @@
|
||||||
|
// TFPDocWriter class methods
|
||||||
|
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
||||||
|
Property ImageDir : String Read FImageDir Write FImageDir;
|
||||||
|
+ public
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Index: dw_linrtf.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_linrtf.pp (revision 20081)
|
||||||
|
+++ dw_linrtf.pp (working copy)
|
||||||
|
@@ -114,7 +114,6 @@
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,Access,ADescr : String); override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,ADescr : String); override;
|
||||||
|
procedure EndOverview; override;
|
||||||
|
- Class Function FileNameExtension : String; override;
|
||||||
|
// Description node conversion
|
||||||
|
procedure DescrBeginBold; override;
|
||||||
|
procedure DescrEndBold; override;
|
||||||
|
@@ -162,6 +161,8 @@
|
||||||
|
procedure DescrEndTableCell; override;
|
||||||
|
// TFPDocWriter class methods
|
||||||
|
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
||||||
|
+ public
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Index: dw_lintmpl.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_lintmpl.pp (revision 20081)
|
||||||
|
+++ dw_lintmpl.pp (working copy)
|
||||||
|
@@ -91,7 +91,6 @@
|
||||||
|
procedure EndOverview; override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,Access,ADescr : String); override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,ADescr : String); override;
|
||||||
|
- Class Function FileNameExtension : String; override;
|
||||||
|
// Description node conversion. Overrides for TFPDocWriter.
|
||||||
|
procedure DescrBeginBold; override;
|
||||||
|
procedure DescrEndBold; override;
|
||||||
|
@@ -139,6 +138,8 @@
|
||||||
|
procedure DescrEndTableCell; override;
|
||||||
|
// TFPDocWriter class methods
|
||||||
|
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
||||||
|
+ public
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
Class procedure Usage(List: TStrings); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Index: dw_man.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_man.pp (revision 20081)
|
||||||
|
+++ dw_man.pp (working copy)
|
||||||
|
@@ -97,7 +97,6 @@
|
||||||
|
procedure WriteCommentLine;
|
||||||
|
procedure WriteComment(Comment : String);
|
||||||
|
Procedure WriteExampleFile(FN : String); virtual;
|
||||||
|
- Class Function FileNameExtension : String;virtual;
|
||||||
|
procedure WriteExample(ADocNode: TDocNode);
|
||||||
|
procedure WriteSeeAlso(ADocNode: TDocNode; Comma : Boolean);
|
||||||
|
Public
|
||||||
|
@@ -178,6 +177,7 @@
|
||||||
|
procedure DescrBeginTableCell; override;
|
||||||
|
procedure DescrEndTableCell; override;
|
||||||
|
Function InterPretOption(Const Cmd,Arg : String) : boolean; override;
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
Class procedure Usage(List: TStrings); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Index: dw_template.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_template.pp (revision 20081)
|
||||||
|
+++ dw_template.pp (working copy)
|
||||||
|
@@ -161,7 +161,7 @@
|
||||||
|
// Provide feedback about usage of this backend.
|
||||||
|
Class procedure Usage(List: TStrings); override;
|
||||||
|
// For info only. See linear writer for an example.
|
||||||
|
- Class Function FileNameExtension : String;virtual;
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
Index: dw_txt.pp
|
||||||
|
===================================================================
|
||||||
|
--- dw_txt.pp (revision 20081)
|
||||||
|
+++ dw_txt.pp (working copy)
|
||||||
|
@@ -82,7 +82,6 @@
|
||||||
|
procedure EndOverview; override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,Access,ADescr : String); override;
|
||||||
|
procedure WriteOverviewMember(const ALabel,AName,ADescr : String); override;
|
||||||
|
- Class Function FileNameExtension : String; override;
|
||||||
|
// Description node conversion
|
||||||
|
procedure DescrBeginBold; override;
|
||||||
|
procedure DescrEndBold; override;
|
||||||
|
@@ -130,6 +129,7 @@
|
||||||
|
procedure DescrEndTableCell; override;
|
||||||
|
Public
|
||||||
|
Constructor Create(APackage: TPasPackage; AEngine: TFPDocEngine); override;
|
||||||
|
+ Class Function FileNameExtension : String; override;
|
||||||
|
Class Procedure Usage(List : TStrings) ; override;
|
||||||
|
Function InterpretOption(Const Cmd,Arg : String) : Boolean; override;
|
||||||
|
end;
|
||||||
|
Index: dwlinear.pp
|
||||||
|
===================================================================
|
||||||
|
--- dwlinear.pp (revision 20081)
|
||||||
|
+++ dwlinear.pp (working copy)
|
||||||
|
@@ -85,7 +85,6 @@
|
||||||
|
procedure StartUnitOverview(AModuleName,AModuleLabel : String);virtual; Abstract;
|
||||||
|
procedure WriteUnitEntry(UnitRef : TPasType);virtual; Abstract;
|
||||||
|
procedure EndUnitOverview; virtual; Abstract;
|
||||||
|
- Class Function FileNameExtension : String;virtual; Abstract;
|
||||||
|
Property LastURL : DomString Read FLastURL Write FLastURL;
|
||||||
|
Public
|
||||||
|
Constructor Create(APackage: TPasPackage; AEngine: TFPDocEngine); override;
|
||||||
|
Index: dwriter.pp
|
||||||
|
===================================================================
|
||||||
|
--- dwriter.pp (revision 20081)
|
||||||
|
+++ dwriter.pp (working copy)
|
||||||
|
@@ -160,6 +160,7 @@
|
||||||
|
Property ImageExtension : String Read FImgExt Write FImgExt;
|
||||||
|
// Should return True if option was succesfully interpreted.
|
||||||
|
Function InterpretOption(Const Cmd,Arg : String) : Boolean; Virtual;
|
||||||
|
+ Class Function FileNameExtension : String; virtual;
|
||||||
|
Class Procedure Usage(List : TStrings); virtual;
|
||||||
|
procedure WriteDoc; virtual; Abstract;
|
||||||
|
Function WriteDescr(Element: TPasElement) : TDocNode;
|
||||||
|
@@ -350,6 +351,12 @@
|
||||||
|
Result:=False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
+class function TFPDocWriter.FileNameExtension: String;
|
||||||
|
+begin
|
||||||
|
+//Override in linear writers with the expected extension.
|
||||||
|
+ Result := ''; //Output must not contain an extension.
|
||||||
|
+end;
|
||||||
|
+
|
||||||
|
Class procedure TFPDocWriter.Usage(List: TStrings);
|
||||||
|
begin
|
||||||
|
// Do nothing.
|
@ -14,6 +14,11 @@ Organization
|
|||||||
A dedicated directory contains all package specifications and documentation.
|
A dedicated directory contains all package specifications and documentation.
|
||||||
INI files are created for the manager itself and every package.
|
INI files are created for the manager itself and every package.
|
||||||
|
|
||||||
|
Release notes 1.1
|
||||||
|
-----------------
|
||||||
|
An optional patch has been added for the FPDoc engines, see fMain $DEFINE FileExt.
|
||||||
|
Please apply it to $FPC/utils/fpdoc/.
|
||||||
|
|
||||||
Release notes 1.0
|
Release notes 1.0
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
object Main: TMain
|
object Main: TMain
|
||||||
Left = 335
|
Left = 335
|
||||||
Height = 423
|
Height = 462
|
||||||
Top = 146
|
Top = 146
|
||||||
Width = 569
|
Width = 569
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Caption = 'Main'
|
Caption = 'Main'
|
||||||
ClientHeight = 403
|
ClientHeight = 442
|
||||||
ClientWidth = 569
|
ClientWidth = 569
|
||||||
Menu = MainMenu1
|
Menu = MainMenu1
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
@ -13,7 +13,7 @@ object Main: TMain
|
|||||||
LCLVersion = '0.9.31'
|
LCLVersion = '0.9.31'
|
||||||
object lbPackages: TComboBox
|
object lbPackages: TComboBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 403
|
Height = 442
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 94
|
Width = 94
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
@ -24,7 +24,7 @@ object Main: TMain
|
|||||||
end
|
end
|
||||||
object Units: TPageControl
|
object Units: TPageControl
|
||||||
Left = 94
|
Left = 94
|
||||||
Height = 403
|
Height = 442
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 475
|
Width = 475
|
||||||
ActivePage = ViewUnits
|
ActivePage = ViewUnits
|
||||||
@ -33,11 +33,11 @@ object Main: TMain
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object ViewUnits: TTabSheet
|
object ViewUnits: TTabSheet
|
||||||
Caption = 'Units'
|
Caption = 'Units'
|
||||||
ClientHeight = 375
|
ClientHeight = 414
|
||||||
ClientWidth = 467
|
ClientWidth = 467
|
||||||
object lbUnits: TListBox
|
object lbUnits: TListBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 375
|
Height = 414
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 100
|
Width = 100
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
@ -47,12 +47,12 @@ object Main: TMain
|
|||||||
end
|
end
|
||||||
object GroupBox1: TGroupBox
|
object GroupBox1: TGroupBox
|
||||||
Left = 100
|
Left = 100
|
||||||
Height = 375
|
Height = 414
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 367
|
Width = 367
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Caption = 'Actions'
|
Caption = 'Actions'
|
||||||
ClientHeight = 357
|
ClientHeight = 396
|
||||||
ClientWidth = 363
|
ClientWidth = 363
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object swAll: TRadioButton
|
object swAll: TRadioButton
|
||||||
@ -172,20 +172,20 @@ object Main: TMain
|
|||||||
end
|
end
|
||||||
object ViewFinal: TTabSheet
|
object ViewFinal: TTabSheet
|
||||||
Caption = 'Document'
|
Caption = 'Document'
|
||||||
ClientHeight = 375
|
ClientHeight = 414
|
||||||
ClientWidth = 467
|
ClientWidth = 467
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 74
|
Top = 40
|
||||||
Width = 39
|
Width = 39
|
||||||
Caption = 'Format'
|
Caption = 'Format'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object cbFormat: TComboBox
|
object cbFormat: TComboBox
|
||||||
Left = 70
|
Left = 71
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 72
|
Top = 40
|
||||||
Width = 375
|
Width = 375
|
||||||
ItemHeight = 15
|
ItemHeight = 15
|
||||||
OnSelect = cbFormatSelect
|
OnSelect = cbFormatSelect
|
||||||
@ -196,7 +196,7 @@ object Main: TMain
|
|||||||
object swDocOpts: TCheckGroup
|
object swDocOpts: TCheckGroup
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 136
|
Height = 136
|
||||||
Top = 106
|
Top = 144
|
||||||
Width = 220
|
Width = 220
|
||||||
AutoFill = True
|
AutoFill = True
|
||||||
Caption = 'Options'
|
Caption = 'Options'
|
||||||
@ -225,7 +225,7 @@ object Main: TMain
|
|||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 250
|
Top = 288
|
||||||
Width = 50
|
Width = 50
|
||||||
Caption = 'OSTarget'
|
Caption = 'OSTarget'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -233,7 +233,7 @@ object Main: TMain
|
|||||||
object Label3: TLabel
|
object Label3: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 278
|
Top = 316
|
||||||
Width = 58
|
Width = 58
|
||||||
Caption = 'CPUTarget'
|
Caption = 'CPUTarget'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -241,7 +241,7 @@ object Main: TMain
|
|||||||
object Label4: TLabel
|
object Label4: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 307
|
Top = 345
|
||||||
Width = 53
|
Width = 53
|
||||||
Caption = 'Language'
|
Caption = 'Language'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -249,7 +249,7 @@ object Main: TMain
|
|||||||
object Label5: TLabel
|
object Label5: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 346
|
Top = 384
|
||||||
Width = 34
|
Width = 34
|
||||||
Caption = 'MoDir'
|
Caption = 'MoDir'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -257,7 +257,7 @@ object Main: TMain
|
|||||||
object Label6: TLabel
|
object Label6: TLabel
|
||||||
Left = 246
|
Left = 246
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 106
|
Top = 144
|
||||||
Width = 91
|
Width = 91
|
||||||
Caption = 'Backend Options'
|
Caption = 'Backend Options'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -275,7 +275,7 @@ object Main: TMain
|
|||||||
object edOS: TEdit
|
object edOS: TEdit
|
||||||
Left = 82
|
Left = 82
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 250
|
Top = 288
|
||||||
Width = 148
|
Width = 148
|
||||||
OnExit = edOSExit
|
OnExit = edOSExit
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
@ -283,7 +283,7 @@ object Main: TMain
|
|||||||
object edCPU: TEdit
|
object edCPU: TEdit
|
||||||
Left = 82
|
Left = 82
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 278
|
Top = 316
|
||||||
Width = 148
|
Width = 148
|
||||||
OnExit = edOSExit
|
OnExit = edOSExit
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@ -291,7 +291,7 @@ object Main: TMain
|
|||||||
object edLang: TEdit
|
object edLang: TEdit
|
||||||
Left = 82
|
Left = 82
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 307
|
Top = 345
|
||||||
Width = 148
|
Width = 148
|
||||||
OnExit = edOSExit
|
OnExit = edOSExit
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
@ -299,7 +299,7 @@ object Main: TMain
|
|||||||
object edMoDir: TEdit
|
object edMoDir: TEdit
|
||||||
Left = 82
|
Left = 82
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 339
|
Top = 377
|
||||||
Width = 364
|
Width = 364
|
||||||
OnExit = edOSExit
|
OnExit = edOSExit
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
@ -330,32 +330,49 @@ object Main: TMain
|
|||||||
OnClick = buNewProfileClick
|
OnClick = buNewProfileClick
|
||||||
TabOrder = 8
|
TabOrder = 8
|
||||||
end
|
end
|
||||||
object Label8: TLabel
|
|
||||||
Left = 10
|
|
||||||
Height = 16
|
|
||||||
Top = 40
|
|
||||||
Width = 39
|
|
||||||
Caption = 'Output'
|
|
||||||
ParentColor = False
|
|
||||||
end
|
|
||||||
object edOutput: TEdit
|
object edOutput: TEdit
|
||||||
Left = 66
|
Left = 93
|
||||||
Height = 23
|
Height = 23
|
||||||
Top = 40
|
Top = 72
|
||||||
Width = 376
|
Width = 353
|
||||||
TabOrder = 9
|
TabOrder = 9
|
||||||
end
|
end
|
||||||
object edBackend: TMemo
|
object edBackend: TMemo
|
||||||
Left = 246
|
Left = 246
|
||||||
Height = 200
|
Height = 200
|
||||||
Hint = 'Enter command=value pairs'
|
Hint = 'Enter command=value pairs'
|
||||||
Top = 128
|
Top = 166
|
||||||
Width = 200
|
Width = 200
|
||||||
OnExit = lbBackendExit
|
OnExit = lbBackendExit
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
end
|
end
|
||||||
|
object edDefOut: TEdit
|
||||||
|
Left = 93
|
||||||
|
Height = 23
|
||||||
|
Top = 100
|
||||||
|
Width = 354
|
||||||
|
TabOrder = 11
|
||||||
|
end
|
||||||
|
object swOutput: TRadioButton
|
||||||
|
Left = 14
|
||||||
|
Height = 19
|
||||||
|
Top = 72
|
||||||
|
Width = 58
|
||||||
|
Caption = 'Output'
|
||||||
|
TabOrder = 13
|
||||||
|
end
|
||||||
|
object swDefOut: TRadioButton
|
||||||
|
Left = 14
|
||||||
|
Height = 19
|
||||||
|
Top = 100
|
||||||
|
Width = 58
|
||||||
|
Caption = 'Default'
|
||||||
|
Checked = True
|
||||||
|
TabOrder = 12
|
||||||
|
TabStop = True
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object ViewXML: TTabSheet
|
object ViewXML: TTabSheet
|
||||||
Caption = 'Project'
|
Caption = 'Project'
|
||||||
|
@ -6,6 +6,8 @@ unit fMain;
|
|||||||
Create documentation (final, test)
|
Create documentation (final, test)
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
{.$DEFINE FileExt} //using class function FilenameExtension?
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
@ -32,14 +34,16 @@ type
|
|||||||
edCPU: TEdit;
|
edCPU: TEdit;
|
||||||
edLang: TEdit;
|
edLang: TEdit;
|
||||||
edMoDir: TEdit;
|
edMoDir: TEdit;
|
||||||
|
edDefOut: TEdit;
|
||||||
Label2: TLabel;
|
Label2: TLabel;
|
||||||
Label3: TLabel;
|
Label3: TLabel;
|
||||||
Label4: TLabel;
|
Label4: TLabel;
|
||||||
Label5: TLabel;
|
Label5: TLabel;
|
||||||
Label6: TLabel;
|
Label6: TLabel;
|
||||||
Label7: TLabel;
|
Label7: TLabel;
|
||||||
Label8: TLabel;
|
|
||||||
edBackend: TMemo;
|
edBackend: TMemo;
|
||||||
|
swOutput: TRadioButton;
|
||||||
|
swDefOut: TRadioButton;
|
||||||
swDocOpts: TCheckGroup;
|
swDocOpts: TCheckGroup;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
swSortNodes: TCheckBox;
|
swSortNodes: TCheckBox;
|
||||||
@ -104,8 +108,9 @@ type
|
|||||||
procedure SaveOptions;
|
procedure SaveOptions;
|
||||||
procedure GetOptions;
|
procedure GetOptions;
|
||||||
procedure GetEngines;
|
procedure GetEngines;
|
||||||
procedure GetProfile(const AName: string);
|
procedure GetProfile;
|
||||||
procedure SelectFormat(AFmt: string);
|
procedure SelectFormat(AFmt: string);
|
||||||
|
procedure FormatSelected;
|
||||||
public
|
public
|
||||||
CurPkg: TDocPackage;
|
CurPkg: TDocPackage;
|
||||||
CurUnit: string;
|
CurUnit: string;
|
||||||
@ -119,9 +124,12 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
fConfig, fLogView, fUpdateView,
|
fConfig, fLogView, fUpdateView,
|
||||||
|
{$IFDEF FileExt}
|
||||||
|
dwlinear,
|
||||||
|
{$ELSE}
|
||||||
|
//fix how?
|
||||||
|
{$ENDIF}
|
||||||
dWriter;
|
dWriter;
|
||||||
//dw_HTML, //more writers?
|
|
||||||
//uLpk;
|
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
@ -332,13 +340,13 @@ begin
|
|||||||
cbProfile.Items.CommaText := Manager.Profiles;
|
cbProfile.Items.CommaText := Manager.Profiles;
|
||||||
cbProfile.Caption := Profile;
|
cbProfile.Caption := Profile;
|
||||||
end;
|
end;
|
||||||
GetProfile(Profile);
|
GetProfile;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMain.GetProfile(const AName: string);
|
procedure TMain.GetProfile;
|
||||||
begin
|
begin
|
||||||
//if Profile = AName then exit; //nothing changed?
|
//if Profile = AName then exit; //nothing changed?
|
||||||
Manager.Profile := AName;
|
//Manager.Profile := AName;
|
||||||
//cbFormat.Caption := Manager.Options.Backend; //select from CB?
|
//cbFormat.Caption := Manager.Options.Backend; //select from CB?
|
||||||
SelectFormat(Manager.Options.Backend);
|
SelectFormat(Manager.Options.Backend);
|
||||||
swDocOpts.Checked[0] := Manager.Options.StopOnParseError;
|
swDocOpts.Checked[0] := Manager.Options.StopOnParseError;
|
||||||
@ -356,16 +364,6 @@ begin
|
|||||||
Manager.Options.BackendToPairs(edBackend.Lines);
|
Manager.Options.BackendToPairs(edBackend.Lines);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMain.SelectFormat(AFmt: string);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
|
||||||
i := cbFormat.Items.IndexOfName(AFmt);
|
|
||||||
if i < 0 then
|
|
||||||
i := cbFormat.Items.Count - 1;
|
|
||||||
cbFormat.ItemIndex := i;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMain.edLogChange(Sender: TObject);
|
procedure TMain.edLogChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
LogName:=edLog.Text;
|
LogName:=edLog.Text;
|
||||||
@ -393,7 +391,43 @@ end;
|
|||||||
procedure TMain.cbFormatSelect(Sender: TObject);
|
procedure TMain.cbFormatSelect(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SaveOptions;
|
SaveOptions;
|
||||||
//edOutput.Text := ???;
|
FormatSelected;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMain.SelectFormat(AFmt: string);
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
i := cbFormat.Items.IndexOfName(AFmt);
|
||||||
|
if i < 0 then
|
||||||
|
i := cbFormat.Items.Count - 1;
|
||||||
|
cbFormat.ItemIndex := i;
|
||||||
|
FormatSelected;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMain.FormatSelected;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
s: string;
|
||||||
|
wc: TFPDocWriterClass;
|
||||||
|
begin
|
||||||
|
edDefOut.Text := '';
|
||||||
|
if not assigned(Manager.Package) then
|
||||||
|
exit; //cannot create package name
|
||||||
|
i := cbFormat.ItemIndex;
|
||||||
|
if i < 0 then
|
||||||
|
exit; //no format selected???
|
||||||
|
s := cbFormat.Items.Names[i];
|
||||||
|
wc := GetWriterClass(s);
|
||||||
|
if not assigned(wc) then exit; //should never happen
|
||||||
|
s := Manager.RootDir + Manager.Package.Name;
|
||||||
|
{$IFDEF FileExt}
|
||||||
|
if wc.InheritsFrom(TLinearWriter) then begin
|
||||||
|
s := s + wc.FileNameExtension;
|
||||||
|
end;
|
||||||
|
{$ELSE}
|
||||||
|
{$ENDIF}
|
||||||
|
edDefOut.Text := s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMain.GetEngines;
|
procedure TMain.GetEngines;
|
||||||
@ -402,6 +436,7 @@ begin
|
|||||||
dWriter.EnumWriters(cbFormat.Items);
|
dWriter.EnumWriters(cbFormat.Items);
|
||||||
cbProfile.Items.CommaText := Manager.Profiles;
|
cbProfile.Items.CommaText := Manager.Profiles;
|
||||||
cbProfile.Caption := Manager.Profile; //select???
|
cbProfile.Caption := Manager.Profile; //select???
|
||||||
|
cbProfileSelect(cbProfile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMain.ProjectsChanged(Sender: TObject);
|
procedure TMain.ProjectsChanged(Sender: TObject);
|
||||||
@ -443,6 +478,7 @@ begin
|
|||||||
pkg := lbPackages.Items.Objects[i] as TDocPackage;
|
pkg := lbPackages.Items.Objects[i] as TDocPackage;
|
||||||
if pkg = nil then
|
if pkg = nil then
|
||||||
exit; //not really created?
|
exit; //not really created?
|
||||||
|
Manager.Package := pkg;
|
||||||
fn := pkg.ProjectFile; //initialized where?
|
fn := pkg.ProjectFile; //initialized where?
|
||||||
if fn <> '' then begin
|
if fn <> '' then begin
|
||||||
if FileExists(fn) then
|
if FileExists(fn) then
|
||||||
@ -535,7 +571,8 @@ end;
|
|||||||
procedure TMain.cbProfileSelect(Sender: TObject);
|
procedure TMain.cbProfileSelect(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Profile:=cbProfile.Caption;
|
Profile:=cbProfile.Caption;
|
||||||
GetProfile(Profile);
|
Manager.Profile := Profile;
|
||||||
|
GetProfile;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMain.buRefreshClick(Sender: TObject);
|
procedure TMain.buRefreshClick(Sender: TObject);
|
||||||
@ -564,7 +601,10 @@ end;
|
|||||||
|
|
||||||
procedure TMain.buMakeDocClick(Sender: TObject);
|
procedure TMain.buMakeDocClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Manager.MakeDoc(Manager.Package, '');
|
if swDefOut.Checked then
|
||||||
|
Manager.MakeDoc(Manager.Package, '', edDefOut.Text)
|
||||||
|
else
|
||||||
|
Manager.MakeDoc(Manager.Package, '', edOutput.Text);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -17,6 +17,28 @@ This version is decoupled from the fpdoc classes, introduces the classes
|
|||||||
TFPDocHelper for fpdoc projects
|
TFPDocHelper for fpdoc projects
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
(* Currently registered writers:
|
||||||
|
TFPDocWriter in 'dwriter.pp'
|
||||||
|
template: TTemplateWriter(TFPDocWriter) in 'dw_tmpl.pp'
|
||||||
|
man: TMANWriter(TFPDocWriter) in 'dw_man.pp' --> <pkg>.man /unit.
|
||||||
|
dxml: TDXMLWriter(TFPDocWriter) in 'dw_dxml.pp'
|
||||||
|
xml: TXMLWriter(TFPDocWriter) in 'dw_xml.pp'
|
||||||
|
html: THTMLWriter(TFPDocWriter) in 'dw_html.pp'
|
||||||
|
htm: THTMWriter(THTMLWriter)
|
||||||
|
chm: TCHMHTMLWriter(THTMLWriter)
|
||||||
|
TLinearWriter in 'dwlinear.pp'
|
||||||
|
template: TTemplateWriter(TLinearWriter) in 'dw_lintmpl.pp'
|
||||||
|
ipf: TIPFNewWriter(TLinearWriter) in 'dw_ipflin.pas'
|
||||||
|
latex: TLaTeXWriter(TLinearWriter) in 'dw_latex.pp'
|
||||||
|
rtf: TRTFWriter(TLinearWriter) in 'dw_linrtf.pp'
|
||||||
|
txt: TTXTWriter(TLinearWriter) in 'dw_txt.pp'
|
||||||
|
|
||||||
|
TLinearWriter based writers create an single output file for a package:
|
||||||
|
<path>/pkg .<ext>
|
||||||
|
TFPDocWriter based writers create an file for every module:
|
||||||
|
<path>/pkg /unit.<ext>
|
||||||
|
|
||||||
|
*)
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
@ -160,7 +182,7 @@ type
|
|||||||
procedure ImportProject(APkg: TFPDocPackage; const AFile: string);
|
procedure ImportProject(APkg: TFPDocPackage; const AFile: string);
|
||||||
function ImportCmd(const AFile: string): boolean;
|
function ImportCmd(const AFile: string): boolean;
|
||||||
//actions
|
//actions
|
||||||
function MakeDoc(APkg: TDocPackage; AUnit: string): boolean;
|
function MakeDoc(APkg: TDocPackage; const AUnit, AOutput: string): boolean;
|
||||||
function TestRun(APkg: TDocPackage; AUnit: string): boolean;
|
function TestRun(APkg: TDocPackage; AUnit: string): boolean;
|
||||||
function Update(APkg: TDocPackage; const AUnit: string): boolean;
|
function Update(APkg: TDocPackage; const AUnit: string): boolean;
|
||||||
public //published?
|
public //published?
|
||||||
@ -923,14 +945,16 @@ begin
|
|||||||
Changed;
|
Changed;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFPDocManager.MakeDoc(APkg: TDocPackage; AUnit: string): boolean;
|
function TFPDocManager.MakeDoc(APkg: TDocPackage; const AUnit, AOutput: string): boolean;
|
||||||
begin
|
begin
|
||||||
Result := assigned(APkg) and BeginTest(APkg.ProjectFile);
|
Result := assigned(APkg)
|
||||||
|
and BeginTest(APkg.ProjectFile)
|
||||||
|
and APkg.CreateProject(Helper, ''); //only configure, don't create file
|
||||||
if not Result then
|
if not Result then
|
||||||
exit;
|
exit;
|
||||||
try
|
try
|
||||||
//output specification depends on the choosen format!
|
//output specification depends on the choosen format!
|
||||||
Helper.ParseFPDocOption('--output="' + RootDir + APkg.Name + '"');
|
Helper.ParseFPDocOption('--output=' + AOutput);
|
||||||
//Result :=
|
//Result :=
|
||||||
Helper.CreateUnitDocumentation(AUnit, False);
|
Helper.CreateUnitDocumentation(AUnit, False);
|
||||||
finally
|
finally
|
||||||
@ -950,7 +974,10 @@ end;
|
|||||||
|
|
||||||
function TFPDocManager.Update(APkg: TDocPackage; const AUnit: string): boolean;
|
function TFPDocManager.Update(APkg: TDocPackage; const AUnit: string): boolean;
|
||||||
begin
|
begin
|
||||||
BeginTest(APkg.ProjectFile);
|
Result := assigned(APkg)
|
||||||
|
and BeginTest(APkg.ProjectFile);
|
||||||
|
if not Result then
|
||||||
|
exit;
|
||||||
try
|
try
|
||||||
Result := APkg.CreateProject(Helper, ''); //only configure, don't create file
|
Result := APkg.CreateProject(Helper, ''); //only configure, don't create file
|
||||||
if not Result then
|
if not Result then
|
||||||
|
Loading…
Reference in New Issue
Block a user