wiki test: load other pages

git-svn-id: trunk@35751 -
This commit is contained in:
mattias 2012-03-05 20:32:23 +00:00
parent e9baf5359a
commit abe3e7cd8b
4 changed files with 42 additions and 39 deletions

View File

@ -77,8 +77,8 @@ type
function GetRelativeCSSFilename: string; virtual;
property CSSFilename: string read FCSSFilename write SetCSSFilename;
property MaxH: integer read FMaxH write SetMaxH;
function PageToFilename(Page: string; IsInternalLink, Full: boolean): string;
function PageToFilename(Page: TW2XHTMLPage; Full: boolean): string;
function PageToFilename(Page: string; IsInternalLink, Full: boolean): string; virtual;
function PageToFilename(Page: TW2XHTMLPage; Full: boolean): string; virtual;
property PageFileExt: string read FPageFileExt write SetPageFileExt;
end;

View File

@ -153,6 +153,9 @@ type
procedure Search(Query: TWikiHelpQuery; Scoring: TWHScoring;
var FoundPages: TFPList);
procedure SavePageAsHTMLToStream(Page: TW2HelpPage; aStream: TStream);
function PageToFilename(Page: string; IsInternalLink, {%H-}Full: boolean
): string; override;
function PageToFilename(Page: TW2XHTMLPage; {%H-}Full: boolean): string; override;
property Help: TWikiHelp read FHelp;
end;
@ -1106,6 +1109,18 @@ begin
Page.ClearConversion;
end;
function TWiki2HelpConverter.PageToFilename(Page: string; IsInternalLink,
Full: boolean): string;
begin
Result:=WikiPageToFilename(Page,IsInternalLink,false);
end;
function TWiki2HelpConverter.PageToFilename(Page: TW2XHTMLPage; Full: boolean
): string;
begin
Result:=Page.WikiDocumentName;
end;
procedure TWiki2HelpConverter.LoadPages;
begin
Help.EnterCritSect;

View File

@ -69,8 +69,7 @@ object WikiSearchDemoForm: TWikiSearchDemoForm
PrintSettings.MarginBottom = 0.5
TabOrder = 0
WantTabs = False
OnDocumentOpen = ResultsIpHtmlPanelDocumentOpen
OnHotClick = ResultsIpHtmlPanelHotClick
OnHotClick = IpHtmlPanelHotClick
end
object Splitter1: TSplitter
Left = 337
@ -94,6 +93,7 @@ object WikiSearchDemoForm: TWikiSearchDemoForm
PrintSettings.MarginBottom = 0.5
TabOrder = 2
WantTabs = False
OnHotClick = IpHtmlPanelHotClick
end
end
object LanguagesLabel: TLabel

View File

@ -36,18 +36,13 @@ type
function DataProviderCanHandle(Sender: TObject; const URL: string): Boolean;
procedure DataProviderCheckURL(Sender: TObject; const URL: string;
var Available: Boolean; var ContentType: string);
procedure DataProviderGetHtml(Sender: TObject; const URL: string;
const PostData: TIpFormDataEntity; var Stream: TStream);
procedure DataProviderGetImage(Sender: TIpHtmlNode; const URL: string;
var Picture: TPicture);
procedure DataProviderLeave(Sender: TIpHtml);
procedure DataProviderReportReference(Sender: TObject; const URL: string);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure LanguagesEditChange(Sender: TObject);
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
procedure ResultsIpHtmlPanelDocumentOpen(Sender: TObject);
procedure ResultsIpHtmlPanelHotClick(Sender: TObject);
procedure IpHtmlPanelHotClick(Sender: TObject);
procedure SearchEditChange(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure WikiHelpScanned(Sender: TObject);
@ -109,11 +104,8 @@ begin
ResultsIpHtmlPanel.DataProvider:=FURLDataProvider;
PageIpHtmlPanel.DataProvider:=FURLDataProvider;
FURLDataProvider.OnCanHandle:=@DataProviderCanHandle;
FURLDataProvider.OnGetHtml:=@DataProviderGetHtml;
FURLDataProvider.OnGetImage:=@DataProviderGetImage;
FURLDataProvider.OnLeave:=@DataProviderLeave;
FURLDataProvider.OnCheckURL:=@DataProviderCheckURL;
FURLDataProvider.OnReportReference:=@DataProviderReportReference;
WikiHelp:=TWikiHelp.Create(nil);
WikiHelp.XMLDirectory:=SetDirSeparators('../wikixml');
@ -150,29 +142,30 @@ begin
ContentType:='';
end;
procedure TWikiSearchDemoForm.DataProviderGetHtml(Sender: TObject;
const URL: string; const PostData: TIpFormDataEntity; var Stream: TStream);
begin
debugln(['TWikiSearchDemoForm.DataProviderGetHtml URL=',URL]);
Stream:=nil;
end;
procedure TWikiSearchDemoForm.DataProviderGetImage(Sender: TIpHtmlNode;
const URL: string; var Picture: TPicture);
var
Filename: String;
PicCreated: Boolean;
begin
debugln(['TWikiSearchDemoForm.DataProviderGetImage URL=',URL]);
end;
procedure TWikiSearchDemoForm.DataProviderLeave(Sender: TIpHtml);
begin
//debugln(['TWikiSearchDemoForm.DataProviderLeave ']);
end;
procedure TWikiSearchDemoForm.DataProviderReportReference(Sender: TObject;
const URL: string);
begin
if URL='' then exit;
//debugln(['TWikiSearchDemoForm.DataProviderReportReference ',URL]);
//debugln(['TWikiSearchDemoForm.DataProviderGetImage URL=',URL]);
Filename:=WikiHelp.ImagesDirectory+URL;
if not FileExistsUTF8(Filename) then begin
debugln(['TWikiSearchDemoForm.DataProviderGetImage image not found "',Filename,'"']);
exit;
end;
PicCreated := False;
try
if Picture=nil then begin
Picture:=TPicture.Create;
PicCreated := True;
end;
Picture.LoadFromFile(Filename);
except
if PicCreated then
Picture.Free;
Picture := nil;
end;
end;
procedure TWikiSearchDemoForm.FormDestroy(Sender: TObject);
@ -195,12 +188,7 @@ begin
IdleConnected:=false;
end;
procedure TWikiSearchDemoForm.ResultsIpHtmlPanelDocumentOpen(Sender: TObject);
begin
end;
procedure TWikiSearchDemoForm.ResultsIpHtmlPanelHotClick(Sender: TObject);
procedure TWikiSearchDemoForm.IpHtmlPanelHotClick(Sender: TObject);
var
HotNode: TIpHtmlNode;
HRef: String;