fpbrowser: Adds link click support

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1926 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2011-09-08 14:41:21 +00:00
parent b1df51512d
commit 42a5671a81
3 changed files with 108 additions and 108 deletions

View File

@ -15,7 +15,7 @@ object formBrowser: TformBrowser
OnShow = FormShow OnShow = FormShow
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.31' LCLVersion = '0.9.31'
object Panel1: TPanel object panelBottom: TPanel
Left = 0 Left = 0
Height = 18 Height = 18
Top = 394 Top = 394
@ -37,7 +37,7 @@ object formBrowser: TformBrowser
Visible = False Visible = False
end end
end end
object Panel2: TPanel object panelTop: TPanel
Left = 0 Left = 0
Height = 33 Height = 33
Top = 0 Top = 0
@ -102,7 +102,7 @@ object formBrowser: TformBrowser
Caption = 'Browser' Caption = 'Browser'
ClientHeight = 359 ClientHeight = 359
ClientWidth = 619 ClientWidth = 619
object Panel3: TPanel object panelBrowser: TPanel
Left = 0 Left = 0
Height = 359 Height = 359
Top = 0 Top = 0
@ -110,7 +110,7 @@ object formBrowser: TformBrowser
Align = alClient Align = alClient
BevelInner = bvLowered BevelInner = bvLowered
BevelOuter = bvNone BevelOuter = bvNone
Caption = 'Panel3' Caption = 'panelBrowser'
TabOrder = 0 TabOrder = 0
end end
end end
@ -120,9 +120,9 @@ object formBrowser: TformBrowser
ClientWidth = 619 ClientWidth = 619
object memoDebug: TMemo object memoDebug: TMemo
Left = 0 Left = 0
Height = 360 Height = 359
Top = 0 Top = 0
Width = 613 Width = 619
Align = alClient Align = alClient
Lines.Strings = ( Lines.Strings = (
'memoDebug' 'memoDebug'
@ -136,9 +136,9 @@ object formBrowser: TformBrowser
ClientWidth = 619 ClientWidth = 619
object memoSource: TMemo object memoSource: TMemo
Left = 0 Left = 0
Height = 360 Height = 359
Top = 0 Top = 0
Width = 613 Width = 619
Align = alClient Align = alClient
Lines.Strings = ( Lines.Strings = (
'memoSource' 'memoSource'

View File

@ -6,75 +6,75 @@ LazarusResources.Add('TformBrowser','FORMDATA',[
+'Color'#7#9'clBtnFace'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2 +'Color'#7#9'clBtnFace'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2
+#243#9'Font.Name'#6#5'Arial'#4'Menu'#7#8'MainMenu'#8'OnCreate'#7#10'FormCrea' +#243#9'Font.Name'#6#5'Arial'#4'Menu'#7#8'MainMenu'#8'OnCreate'#7#10'FormCrea'
+'te'#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormShow'#8'Position'#7#14 +'te'#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormShow'#8'Position'#7#14
+'poScreenCenter'#10'LCLVersion'#6#6'0.9.31'#0#6'TPanel'#6'Panel1'#4'Left'#2#0 +'poScreenCenter'#10'LCLVersion'#6#6'0.9.31'#0#6'TPanel'#11'panelBottom'#4'Le'
+#6'Height'#2#18#3'Top'#3#138#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom'#9'Alig' +'ft'#2#0#6'Height'#2#18#3'Top'#3#138#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom'
+'nment'#7#13'taLeftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#6 +#9'Alignment'#7#13'taLeftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOute'
+'bvNone'#12'ClientHeight'#2#18#11'ClientWidth'#3'm'#2#8'TabOrder'#2#0#0#12'T' +'r'#7#6'bvNone'#12'ClientHeight'#2#18#11'ClientWidth'#3'm'#2#8'TabOrder'#2#0
+'ProgressBar'#11'ProgressBar'#4'Left'#3#214#1#6'Height'#2#16#3'Top'#2#1#5'Wi' +#0#12'TProgressBar'#11'ProgressBar'#4'Left'#3#214#1#6'Height'#2#16#3'Top'#2#1
+'dth'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#7'Visible'#8#0#0#0#6'TPa' +#5'Width'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#7'Visible'#8#0#0#0#6
+'nel'#6'Panel2'#4'Left'#2#0#6'Height'#2'!'#3'Top'#2#0#5'Width'#3'm'#2#5'Alig' +'TPanel'#8'panelTop'#4'Left'#2#0#6'Height'#2'!'#3'Top'#2#0#5'Width'#3'm'#2#5
+'n'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'!'#11'ClientWid' +'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'!'#11'Clien'
+'th'#3'm'#2#8'TabOrder'#2#1#0#5'TEdit'#7'editURL'#4'Left'#3#190#0#6'Height'#2 +'tWidth'#3'm'#2#8'TabOrder'#2#1#0#5'TEdit'#7'editURL'#4'Left'#3#190#0#6'Heig'
+#24#3'Top'#2#4#5'Width'#3'Q'#1#8'AutoSize'#8#9'OnKeyDown'#7#14'editURLKeyDow' +'ht'#2#24#3'Top'#2#4#5'Width'#3'Q'#1#8'AutoSize'#8#9'OnKeyDown'#7#14'editURL'
+'n'#7'TabStop'#8#8'TabOrder'#2#3#0#0#7'TButton'#12'ReloadButton'#4'Left'#2#10 +'KeyDown'#7'TabStop'#8#8'TabOrder'#2#3#0#0#7'TButton'#12'ReloadButton'#4'Lef'
+#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#7'&Reload'#7'Enabled'#8 +'t'#2#10#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#7'&Reload'#7'E'
+#7'OnClick'#7#17'ReloadButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#10'BackBu' +'nabled'#8#7'OnClick'#7#17'ReloadButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'
+'tton'#4'Left'#2'E'#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#5'&' +#10'BackButton'#4'Left'#2'E'#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Capti'
+'Back'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8'TabOrder'#2#1#0#0#7'TBut' +'on'#6#5'&Back'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8'TabOrder'#2#1#0
+'ton'#9'FwdButton'#4'Left'#3#128#0#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7 +#0#7'TButton'#9'FwdButton'#4'Left'#3#128#0#6'Height'#2#24#3'Top'#2#4#5'Width'
+'Caption'#6#8'&Forward'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8'TabOrde' +#2';'#7'Caption'#6#8'&Forward'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8
+'r'#2#2#0#0#0#12'TPageControl'#11'pageBrowser'#4'Left'#2#0#6'Height'#3'i'#1#3 +'TabOrder'#2#2#0#0#0#12'TPageControl'#11'pageBrowser'#4'Left'#2#0#6'Height'#3
+'Top'#2'!'#5'Width'#3'm'#2#10'ActivePage'#7#10'tabBrowser'#5'Align'#7#8'alCl' +'i'#1#3'Top'#2'!'#5'Width'#3'm'#2#10'ActivePage'#7#10'tabBrowser'#5'Align'#7
+'ient'#8'ShowTabs'#8#8'TabIndex'#2#0#8'TabOrder'#2#2#0#9'TTabSheet'#10'tabBr' +#8'alClient'#8'ShowTabs'#8#8'TabIndex'#2#0#8'TabOrder'#2#2#0#9'TTabSheet'#10
+'owser'#7'Caption'#6#7'Browser'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3'k' +'tabBrowser'#7'Caption'#6#7'Browser'#12'ClientHeight'#3'g'#1#11'ClientWidth'
+#2#0#6'TPanel'#6'Panel3'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0#5'Width'#3 +#3'k'#2#0#6'TPanel'#12'panelBrowser'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0
+'k'#2#5'Align'#7#8'alClient'#10'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#6 +#5'Width'#3'k'#2#5'Align'#7#8'alClient'#10'BevelInner'#7#9'bvLowered'#10'Bev'
+'bvNone'#7'Caption'#6#6'Panel3'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#8'tabDebu' +'elOuter'#7#6'bvNone'#7'Caption'#6#12'panelBrowser'#8'TabOrder'#2#0#0#0#0#9
+'g'#7'Caption'#6#5'Debug'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3'k'#2#0#5 +'TTabSheet'#8'tabDebug'#7'Caption'#6#5'Debug'#12'ClientHeight'#3'g'#1#11'Cli'
+'TMemo'#9'memoDebug'#4'Left'#2#0#6'Height'#3'h'#1#3'Top'#2#0#5'Width'#3'e'#2 +'entWidth'#3'k'#2#0#5'TMemo'#9'memoDebug'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'
+#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#9'memoDebug'#0#8'TabOrder'#2#0 +#2#0#5'Width'#3'k'#2#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#9'memoDebu'
+#0#0#0#9'TTabSheet'#9'tabSource'#7'Caption'#6#9'tabSource'#12'ClientHeight'#3 +'g'#0#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#9'tabSource'#7'Caption'#6#9'tabSour'
+'g'#1#11'ClientWidth'#3'k'#2#0#5'TMemo'#10'memoSource'#4'Left'#2#0#6'Height' +'ce'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3'k'#2#0#5'TMemo'#10'memoSource'
+#3'h'#1#3'Top'#2#0#5'Width'#3'e'#2#5'Align'#7#8'alClient'#13'Lines.Strings'#1 +#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0#5'Width'#3'k'#2#5'Align'#7#8'alClie'
+#6#10'memoSource'#0#8'TabOrder'#2#0#0#0#0#0#11'TOpenDialog'#10'OpenDialog'#10 +'nt'#13'Lines.Strings'#1#6#10'memoSource'#0#8'TabOrder'#2#0#0#0#0#0#11'TOpen'
+'DefaultExt'#6#4'.htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7 +'Dialog'#10'OpenDialog'#10'DefaultExt'#6#4'.htm'#6'Filter'#6'%html files|*.h'
+'Options'#11#14'ofHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4 +'tm;*.html|all files|*.*'#7'Options'#11#14'ofHideReadOnly'#15'ofPathMustExis'
+'left'#3'I'#1#3'top'#2#2#0#0#9'TMainMenu'#8'MainMenu'#4'left'#3'#'#1#3'top'#2 +'t'#15'ofFileMustExist'#0#4'left'#3'I'#1#3'top'#2#2#0#0#9'TMainMenu'#8'MainM'
+#4#0#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'#0#9'TMenuItem'#4'Open'#7'Ca' +'enu'#4'left'#3'#'#1#3'top'#2#4#0#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'
+'ption'#6#5'&Open'#8'ShortCut'#2'r'#7'OnClick'#7#13'OpenFileClick'#0#0#9'TMe' +#0#9'TMenuItem'#4'Open'#7'Caption'#6#5'&Open'#8'ShortCut'#2'r'#7'OnClick'#7
+'nuItem'#12'OpenTextFile'#7'Caption'#6#15'Open &Text File'#7'OnClick'#7#17'O' +#13'OpenFileClick'#0#0#9'TMenuItem'#12'OpenTextFile'#7'Caption'#6#15'Open &T'
+'penTextFileClick'#0#0#9'TMenuItem'#13'OpenImageFile'#7'Caption'#6#16'Open &' +'ext File'#7'OnClick'#7#17'OpenTextFileClick'#0#0#9'TMenuItem'#13'OpenImageF'
+'Image File'#7'OnClick'#7#18'OpenImageFileClick'#0#0#9'TMenuItem'#13'Printer' +'ile'#7'Caption'#6#16'Open &Image File'#7'OnClick'#7#18'OpenImageFileClick'#0
+'Setup1'#7'Caption'#6#16'Printer Setup...'#7'OnClick'#7#18'PrinterSetup1Clic' +#0#9'TMenuItem'#13'PrinterSetup1'#7'Caption'#6#16'Printer Setup...'#7'OnClic'
+'k'#0#0#9'TMenuItem'#12'Printpreview'#7'Caption'#6#14'Print pre&view'#7'Enab' +'k'#7#18'PrinterSetup1Click'#0#0#9'TMenuItem'#12'Printpreview'#7'Caption'#6
+'led'#8#7'OnClick'#7#17'PrintpreviewClick'#0#0#9'TMenuItem'#6'Print1'#7'Capt' +#14'Print pre&view'#7'Enabled'#8#7'OnClick'#7#17'PrintpreviewClick'#0#0#9'TM'
+'ion'#6#9'&Print...'#7'Enabled'#8#7'OnClick'#7#11'Print1Click'#0#0#9'TMenuIt' +'enuItem'#6'Print1'#7'Caption'#6#9'&Print...'#7'Enabled'#8#7'OnClick'#7#11'P'
+'em'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#5'Exit1'#7'Caption'#6#5'E&xit' +'rint1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#5'Exi'
+#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TMenuItem'#5'Edit2'#7'Caption'#6#5'&Edi' +'t1'#7'Caption'#6#5'E&xit'#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TMenuItem'#5
+'t'#7'OnClick'#7#10'Edit2Click'#0#9'TMenuItem'#5'Find1'#7'Caption'#6#5'&Find' +'Edit2'#7'Caption'#6#5'&Edit'#7'OnClick'#7#10'Edit2Click'#0#9'TMenuItem'#5'F'
+#7'Enabled'#8#7'OnClick'#7#10'Find1Click'#0#0#9'TMenuItem'#8'CopyItem'#7'Cap' +'ind1'#7'Caption'#6#5'&Find'#7'Enabled'#8#7'OnClick'#7#10'Find1Click'#0#0#9
+'tion'#6#5'&Copy'#8'ShortCut'#3'C@'#7'OnClick'#7#13'CopyItemClick'#0#0#9'TMe' +'TMenuItem'#8'CopyItem'#7'Caption'#6#5'&Copy'#8'ShortCut'#3'C@'#7'OnClick'#7
+'nuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'SelectAllItem'#7'Captio' +#13'CopyItemClick'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+'n'#6#11'Select &All'#7'Enabled'#8#7'OnClick'#7#18'SelectAllItemClick'#0#0#0 +#13'SelectAllItem'#7'Caption'#6#11'Select &All'#7'Enabled'#8#7'OnClick'#7#18
+#9'TMenuItem'#8'options1'#7'Caption'#6#6'&Tools'#0#9'TMenuItem'#10'ShowImage' +'SelectAllItemClick'#0#0#0#9'TMenuItem'#8'options1'#7'Caption'#6#6'&Tools'#0
+'s'#7'Caption'#6#12'&Show images'#7'OnClick'#7#15'ShowImagesClick'#0#0#9'TMe' +#9'TMenuItem'#10'ShowImages'#7'Caption'#6#12'&Show images'#7'OnClick'#7#15'S'
+'nuItem'#5'Fonts'#7'Caption'#6#23'Default &Font/Colors...'#7'OnClick'#7#15'F' +'howImagesClick'#0#0#9'TMenuItem'#5'Fonts'#7'Caption'#6#23'Default &Font/Col'
+'ontColorsClick'#0#0#9'TMenuItem'#13'menuViewDebug'#7'Caption'#6#26'View Sou' +'ors...'#7'OnClick'#7#15'FontColorsClick'#0#0#9'TMenuItem'#13'menuViewDebug'
+'rce and Debug info'#7'OnClick'#7#18'menuViewDebugClick'#0#0#0#9'TMenuItem' +#7'Caption'#6#26'View Source and Debug info'#7'OnClick'#7#18'menuViewDebugCl'
+#15'HistoryMenuItem'#7'Caption'#6#8'&History'#7'Visible'#8#0#0#9'TMenuItem'#6 +'ick'#0#0#0#9'TMenuItem'#15'HistoryMenuItem'#7'Caption'#6#8'&History'#7'Visi'
+'About1'#7'Caption'#6#6'&About'#7'OnClick'#7#11'About1Click'#0#0#0#12'TPrint' +'ble'#8#0#0#9'TMenuItem'#6'About1'#7'Caption'#6#6'&About'#7'OnClick'#7#11'Ab'
+'Dialog'#11'PrintDialog'#8'FromPage'#2#1#7'MinPage'#2#1#7'MaxPage'#3#15''''#7 +'out1Click'#0#0#0#12'TPrintDialog'#11'PrintDialog'#8'FromPage'#2#1#7'MinPage'
+'Options'#11#10'poPageNums'#0#6'ToPage'#2#1#4'left'#3'j'#1#3'top'#2#1#0#0#11 +#2#1#7'MaxPage'#3#15''''#7'Options'#11#10'poPageNums'#0#6'ToPage'#2#1#4'left'
,'TFindDialog'#10'FindDialog'#7'Options'#11#6'frDown'#15'frHideWholeWord'#18 ,#3'j'#1#3'top'#2#1#0#0#11'TFindDialog'#10'FindDialog'#7'Options'#11#6'frDown'
+'frDisableWholeWord'#0#6'OnFind'#7#14'FindDialogFind'#4'left'#3#248#0#3'top' +#15'frHideWholeWord'#18'frDisableWholeWord'#0#6'OnFind'#7#14'FindDialogFind'
+#2#4#0#0#10'TPopupMenu'#9'PopupMenu'#4'left'#3#144#1#3'top'#2#1#0#9'TMenuIte' +#4'left'#3#248#0#3'top'#2#4#0#0#10'TPopupMenu'#9'PopupMenu'#4'left'#3#144#1#3
+'m'#9'Viewimage'#7'Caption'#6#11'&View image'#7'OnClick'#7#14'ViewimageClick' +'top'#2#1#0#9'TMenuItem'#9'Viewimage'#7'Caption'#6#11'&View image'#7'OnClick'
+#0#0#9'TMenuItem'#20'CopyImageToClipboard'#7'Caption'#6#24'&Copy image to cl' +#7#14'ViewimageClick'#0#0#9'TMenuItem'#20'CopyImageToClipboard'#7'Caption'#6
+'ipboard'#7'OnClick'#7#25'CopyImageToClipboardClick'#0#0#9'TMenuItem'#2'N3'#7 +#24'&Copy image to clipboard'#7'OnClick'#7#25'CopyImageToClipboardClick'#0#0
+'Caption'#6#1'-'#0#0#9'TMenuItem'#15'OpenInNewWindow'#7'Caption'#6#19'&Open ' +#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#15'OpenInNewWindow'#7
+'in new window'#7'OnClick'#7#20'OpenInNewWindowClick'#0#0#0#6'TTimer'#9'Meta' +'Caption'#6#19'&Open in new window'#7'OnClick'#7#20'OpenInNewWindowClick'#0#0
+'Timer'#7'Enabled'#8#7'OnTimer'#7#14'MetaTimerTimer'#4'left'#3#242#0#3'top'#2 +#0#6'TTimer'#9'MetaTimer'#7'Enabled'#8#7'OnTimer'#7#14'MetaTimerTimer'#4'lef'
+'K'#0#0#6'TTimer'#6'Timer1'#8'Interval'#3#200#0#7'OnTimer'#7#11'Timer1Timer' +'t'#3#242#0#3'top'#2'K'#0#0#6'TTimer'#6'Timer1'#8'Interval'#3#200#0#7'OnTime'
+#4'left'#3'#'#1#3'top'#2'G'#0#0#19'TPrinterSetupDialog'#18'PrinterSetupDialo' +'r'#7#11'Timer1Timer'#4'left'#3'#'#1#3'top'#2'G'#0#0#19'TPrinterSetupDialog'
+'g'#4'left'#3#192#1#0#0#0 +#18'PrinterSetupDialog'#4'left'#3#192#1#0#0#0
]); ]);

View File

@ -44,12 +44,12 @@ type
OpenDialog: TOpenDialog; OpenDialog: TOpenDialog;
MainMenu: TMainMenu; MainMenu: TMainMenu;
pageBrowser: TPageControl; pageBrowser: TPageControl;
Panel1: TPanel; panelBottom: TPanel;
Panel2: TPanel; panelTop: TPanel;
File1: TMenuItem; File1: TMenuItem;
Open: TMenuItem; Open: TMenuItem;
options1: TMenuItem; options1: TMenuItem;
Panel3: TPanel; panelBrowser: TPanel;
ShowImages: TMenuItem; ShowImages: TMenuItem;
Fonts: TMenuItem; Fonts: TMenuItem;
editURL: TEdit; editURL: TEdit;
@ -198,7 +198,7 @@ var
ms: TMemoryStream; ms: TMemoryStream;
begin begin
Result:=nil; Result:=nil;
//debugln(['TMyIpHtmlDataProvider.DoGetStream ',URL]); WriteLn('TMyIpHtmlDataProvider.DoGetStream '+URL);
if URL='fpdoc.css' then begin if URL='fpdoc.css' then begin
//debugln(['TMyIpHtmlDataProvider.DoGetStream ',FileExists(URL)]); //debugln(['TMyIpHtmlDataProvider.DoGetStream ',FileExists(URL)]);
@ -216,23 +216,26 @@ end;
function TformBrowser.DataProvider1CanHandle(Sender: TObject; const URL: string function TformBrowser.DataProvider1CanHandle(Sender: TObject; const URL: string
): Boolean; ): Boolean;
begin begin
//debugln(['TForm1.DataProvider1CanHandle ',URL]); WriteLn('TForm1.DataProvider1CanHandle ',URL);
Result:=false; Result:=True;
end; end;
procedure TformBrowser.DataProvider1CheckURL(Sender: TObject; const URL: string; procedure TformBrowser.DataProvider1CheckURL(Sender: TObject; const URL: string;
var Available: Boolean; var ContentType: string); var Available: Boolean; var ContentType: string);
begin begin
//debugln(['TForm1.DataProvider1CheckURL ',URL]); WriteLn('TForm1.DataProvider1CheckURL ',URL);
Available:=false; Available:=True;
ContentType:=''; ContentType:='text/html';
end; end;
procedure TformBrowser.DataProvider1GetHtml(Sender: TObject; const URL: string; procedure TformBrowser.DataProvider1GetHtml(Sender: TObject; const URL: string;
const PostData: TIpFormDataEntity; var Stream: TStream); const PostData: TIpFormDataEntity; var Stream: TStream);
var
lStream: TMemoryStream;
begin begin
//debugln(['TForm1.DataProvider1GetHtml ',URL]); WriteLn('TForm1.DataProvider1GetHtml ',URL);
Stream:=nil; MyPageLoader.LoadBinaryResource(URL, lStream);
Stream := lStream;
end; end;
procedure TformBrowser.DataProvider1GetImage(Sender: TIpHtmlNode; const URL: string; procedure TformBrowser.DataProvider1GetImage(Sender: TIpHtmlNode; const URL: string;
@ -280,23 +283,20 @@ begin
{$ifdef FPBROWSER_TURBOPOWERIPRO} {$ifdef FPBROWSER_TURBOPOWERIPRO}
DataProvider1:=TMyIpHtmlDataProvider.Create(Self); DataProvider1:=TMyIpHtmlDataProvider.Create(Self);
with DataProvider1 do begin DataProvider1.Name:='DataProvider1';
Name:='DataProvider1'; DataProvider1.OnCanHandle:=DataProvider1CanHandle;
OnCanHandle:=DataProvider1CanHandle; DataProvider1.OnGetHtml:=DataProvider1GetHtml;
OnGetHtml:=DataProvider1GetHtml; DataProvider1.OnGetImage:=DataProvider1GetImage;
OnGetImage:=DataProvider1GetImage; DataProvider1.OnLeave:=DataProvider1Leave;
OnLeave:=DataProvider1Leave; DataProvider1.OnCheckURL:=DataProvider1CheckURL;
OnCheckURL:=DataProvider1CheckURL; DataProvider1.OnReportReference:=DataProvider1ReportReference;
OnReportReference:=DataProvider1ReportReference;
end;
IpHtmlPanel1:=TIpHtmlPanel.Create(Self); IpHtmlPanel1:=TIpHtmlPanel.Create(Self);
with IpHtmlPanel1 do begin IpHtmlPanel1.Name:='IpHtmlPanel1';
Name:='IpHtmlPanel1'; IpHtmlPanel1.Parent:=panelBrowser;
Parent:=Self; IpHtmlPanel1.Align:=alClient;
Align:=alClient; IpHtmlPanel1.DefaultFontSize:=10;
DefaultFontSize:=10; IpHtmlPanel1.DataProvider:=DataProvider1;
DataProvider:=DataProvider1;
end;
{$endif} {$endif}
{$ifdef FPBROWSER_THTMLCOMP} {$ifdef FPBROWSER_THTMLCOMP}
@ -338,7 +338,7 @@ begin
Viewer.OnMetaRefresh := MetaRefreshEvent; Viewer.OnMetaRefresh := MetaRefreshEvent;
Viewer.OnObjectClick := ObjectClick; Viewer.OnObjectClick := ObjectClick;
Viewer.OnRightClick := RightClick; Viewer.OnRightClick := RightClick;
Viewer.Parent := Panel3; Viewer.Parent := panelBrowser;
ShowImages.Checked := Viewer.ViewImages; ShowImages.Checked := Viewer.ViewImages;
Viewer.HistoryMaxCount := MaxHistories; {defines size of history list} Viewer.HistoryMaxCount := MaxHistories; {defines size of history list}
@ -443,7 +443,7 @@ begin
Caption := Caption+'URL: '+URL+' '; Caption := Caption+'URL: '+URL+' ';
if Viewer.TitleAttr <> '' then if Viewer.TitleAttr <> '' then
Caption := Caption+'Title: '+Viewer.TitleAttr; Caption := Caption+'Title: '+Viewer.TitleAttr;
Panel1.Caption := Caption; panelBottom.Caption := Caption;
end; end;
{This routine handles what happens when a hot spot is clicked. The assumption {This routine handles what happens when a hot spot is clicked. The assumption