Adds support for the user adding new tabs by itself (requires Lazarus rev 33539+)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2136 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
5195e212a1
commit
c38546ca77
@ -3,7 +3,7 @@ object formBrowser: TformBrowser
|
|||||||
Height = 439
|
Height = 439
|
||||||
Top = 186
|
Top = 186
|
||||||
Width = 621
|
Width = 621
|
||||||
ClientHeight = 439
|
ClientHeight = 412
|
||||||
ClientWidth = 621
|
ClientWidth = 621
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@ -18,7 +18,7 @@ object formBrowser: TformBrowser
|
|||||||
object panelBottom: TPanel
|
object panelBottom: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 18
|
Height = 18
|
||||||
Top = 421
|
Top = 394
|
||||||
Width = 621
|
Width = 621
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
@ -39,7 +39,7 @@ object formBrowser: TformBrowser
|
|||||||
Left = 319
|
Left = 319
|
||||||
Height = 16
|
Height = 16
|
||||||
Top = 3
|
Top = 3
|
||||||
Width = 22
|
Width = 21
|
||||||
Caption = 'Idle'
|
Caption = 'Idle'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
LazarusResources.Add('TformBrowser','FORMDATA',[
|
LazarusResources.Add('TformBrowser','FORMDATA',[
|
||||||
'TPF0'#12'TformBrowser'#11'formBrowser'#4'Left'#3'G'#1#6'Height'#3#183#1#3'To'
|
'TPF0'#12'TformBrowser'#11'formBrowser'#4'Left'#3'G'#1#6'Height'#3#183#1#3'To'
|
||||||
+'p'#3#186#0#5'Width'#3'm'#2#12'ClientHeight'#3#183#1#11'ClientWidth'#3'm'#2#5
|
+'p'#3#186#0#5'Width'#3'm'#2#12'ClientHeight'#3#156#1#11'ClientWidth'#3'm'#2#5
|
||||||
+'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'#11'panelBottom'#4'Le'
|
+'poScreenCenter'#10'LCLVersion'#6#6'0.9.31'#0#6'TPanel'#11'panelBottom'#4'Le'
|
||||||
+'ft'#2#0#6'Height'#2#18#3'Top'#3#165#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom'
|
+'ft'#2#0#6'Height'#2#18#3'Top'#3#138#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom'
|
||||||
+#9'Alignment'#7#13'taLeftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOute'
|
+#9'Alignment'#7#13'taLeftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOute'
|
||||||
+'r'#7#6'bvNone'#12'ClientHeight'#2#18#11'ClientWidth'#3'm'#2#8'TabOrder'#2#0
|
+'r'#7#6'bvNone'#12'ClientHeight'#2#18#11'ClientWidth'#3'm'#2#8'TabOrder'#2#0
|
||||||
+#0#12'TProgressBar'#11'ProgressBar'#4'Left'#3#214#1#6'Height'#2#16#3'Top'#2#1
|
+#0#12'TProgressBar'#11'ProgressBar'#4'Left'#3#214#1#6'Height'#2#16#3'Top'#2#1
|
||||||
+#5'Width'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#0#0#6'TLabel'#13'lab'
|
+#5'Width'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#0#0#6'TLabel'#13'lab'
|
||||||
+'elProgress'#4'Left'#3'?'#1#6'Height'#2#16#3'Top'#2#3#5'Width'#2#22#7'Captio'
|
+'elProgress'#4'Left'#3'?'#1#6'Height'#2#16#3'Top'#2#3#5'Width'#2#21#7'Captio'
|
||||||
+'n'#6#4'Idle'#11'ParentColor'#8#0#0#0#11'TOpenDialog'#10'OpenDialog'#10'Defa'
|
+'n'#6#4'Idle'#11'ParentColor'#8#0#0#0#11'TOpenDialog'#10'OpenDialog'#10'Defa'
|
||||||
+'ultExt'#6#4'.htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7'Opt'
|
+'ultExt'#6#4'.htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7'Opt'
|
||||||
+'ions'#11#14'ofHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4'lef'
|
+'ions'#11#14'ofHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4'lef'
|
||||||
|
@ -126,10 +126,12 @@ type
|
|||||||
CurrentTab: Integer;
|
CurrentTab: Integer;
|
||||||
procedure LoadURL(AURL: string);
|
procedure LoadURL(AURL: string);
|
||||||
procedure AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
procedure AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
||||||
|
procedure AddBrowserControlsToTab(ATabSheet: TCDTabSheet);
|
||||||
procedure AddMemoTab(AText: TStringList; ACaption: string; AGoToTab: Boolean);
|
procedure AddMemoTab(AText: TStringList; ACaption: string; AGoToTab: Boolean);
|
||||||
procedure AddURLToHistory(AURL: string);
|
procedure AddURLToHistory(AURL: string);
|
||||||
procedure HandlePageLoaderProgress(APercent: Integer);
|
procedure HandlePageLoaderProgress(APercent: Integer);
|
||||||
procedure HandlePageLoaderTerminated(Sender: TObject);
|
procedure HandlePageLoaderTerminated(Sender: TObject);
|
||||||
|
procedure HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -147,7 +149,8 @@ begin
|
|||||||
pageBrowser.Align := alClient;
|
pageBrowser.Align := alClient;
|
||||||
pageBrowser.DrawStyle := dsKDE;
|
pageBrowser.DrawStyle := dsKDE;
|
||||||
pageBrowser.Options := [nboShowCloseButtons, nboHidePageListPopup,
|
pageBrowser.Options := [nboShowCloseButtons, nboHidePageListPopup,
|
||||||
nboKeyboardTabSwitch];
|
nboKeyboardTabSwitch, nboShowAddTabButton];
|
||||||
|
pageBrowser.OnUserAddedPage := HandleUserAddedPage;
|
||||||
|
|
||||||
InitializeForm();
|
InitializeForm();
|
||||||
end;
|
end;
|
||||||
@ -776,18 +779,30 @@ end;
|
|||||||
|
|
||||||
procedure TformBrowser.AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
procedure TformBrowser.AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
||||||
var
|
var
|
||||||
lViewer: TBrowserViewer;
|
|
||||||
lTabSheet: TCDTabSheet;
|
lTabSheet: TCDTabSheet;
|
||||||
lTopPanel: TPanel;
|
|
||||||
lbuttonReload, lbuttonBack, lbuttonForward: TBitBtn;
|
|
||||||
leditURL: TEdit;
|
|
||||||
begin
|
begin
|
||||||
lTabSheet := pageBrowser.AddPage(''); // This call requires Lazarus 0.9.31+
|
lTabSheet := pageBrowser.AddPage(''); // This call requires Lazarus 0.9.31+
|
||||||
lTabSheet.Caption := 'WebPage';
|
lTabSheet.Caption := 'WebPage';
|
||||||
|
|
||||||
|
AddBrowserControlsToTab(lTabSheet);
|
||||||
|
|
||||||
|
if AGoToTab then
|
||||||
|
begin
|
||||||
|
CurrentTab := GetBrowerViewerCount() - 1;
|
||||||
|
SetCurrentBrowserViewer(CurrentTab);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TformBrowser.AddBrowserControlsToTab(ATabSheet: TCDTabSheet);
|
||||||
|
var
|
||||||
|
lViewer: TBrowserViewer;
|
||||||
|
lTopPanel: TPanel;
|
||||||
|
lbuttonReload, lbuttonBack, lbuttonForward: TBitBtn;
|
||||||
|
leditURL: TEdit;
|
||||||
|
begin
|
||||||
// Add the top panel of the tab with buttons and the edit box
|
// Add the top panel of the tab with buttons and the edit box
|
||||||
lTopPanel := TPanel.Create(lTabSheet);
|
lTopPanel := TPanel.Create(ATabSheet);
|
||||||
lTopPanel.Parent := lTabSheet;
|
lTopPanel.Parent := ATabSheet;
|
||||||
lTopPanel.Align := alTop;
|
lTopPanel.Align := alTop;
|
||||||
lTopPanel.Height := 33;
|
lTopPanel.Height := 33;
|
||||||
|
|
||||||
@ -828,13 +843,7 @@ begin
|
|||||||
|
|
||||||
// Add the HTML Viewer
|
// Add the HTML Viewer
|
||||||
lViewer := AddBrowserViewer();
|
lViewer := AddBrowserViewer();
|
||||||
lViewer.CreateViewer(lTabSheet, Self);
|
lViewer.CreateViewer(ATabSheet, Self);
|
||||||
|
|
||||||
if AGoToTab then
|
|
||||||
begin
|
|
||||||
CurrentTab := GetBrowerViewerCount() - 1;
|
|
||||||
SetCurrentBrowserViewer(CurrentTab);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TformBrowser.AddMemoTab(AText: TStringList; ACaption: string;
|
procedure TformBrowser.AddMemoTab(AText: TStringList; ACaption: string;
|
||||||
@ -886,6 +895,11 @@ begin
|
|||||||
AddURLToHistory(MyPageLoader.LastPageURL);}
|
AddURLToHistory(MyPageLoader.LastPageURL);}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TformBrowser.HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet);
|
||||||
|
begin
|
||||||
|
AddBrowserControlsToTab(APage);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TformBrowser.Timer1Timer(Sender: TObject);
|
procedure TformBrowser.Timer1Timer(Sender: TObject);
|
||||||
const
|
const
|
||||||
StartCount = 2; {timer counts before hint window opens}
|
StartCount = 2; {timer counts before hint window opens}
|
||||||
|
@ -195,7 +195,7 @@ begin
|
|||||||
ViewerName := 'Turbo Power iPro HTML viewer written in Pascal';
|
ViewerName := 'Turbo Power iPro HTML viewer written in Pascal';
|
||||||
|
|
||||||
DataProvider1:=TMyIpHtmlDataProvider.Create(AOwner);
|
DataProvider1:=TMyIpHtmlDataProvider.Create(AOwner);
|
||||||
DataProvider1.Name:='DataProvider1';
|
//DataProvider1.Name:='DataProvider1';
|
||||||
DataProvider1.OnCanHandle:=DataProvider1CanHandle;
|
DataProvider1.OnCanHandle:=DataProvider1CanHandle;
|
||||||
DataProvider1.OnGetHtml:=DataProvider1GetHtml;
|
DataProvider1.OnGetHtml:=DataProvider1GetHtml;
|
||||||
DataProvider1.OnGetImage:=DataProvider1GetImage;
|
DataProvider1.OnGetImage:=DataProvider1GetImage;
|
||||||
@ -204,7 +204,7 @@ begin
|
|||||||
DataProvider1.OnReportReference:=DataProvider1ReportReference;
|
DataProvider1.OnReportReference:=DataProvider1ReportReference;
|
||||||
|
|
||||||
IpHtmlPanel1:=TIpHtmlPanel.Create(AOwner);
|
IpHtmlPanel1:=TIpHtmlPanel.Create(AOwner);
|
||||||
IpHtmlPanel1.Name:='IpHtmlPanel1';
|
//IpHtmlPanel1.Name:='IpHtmlPanel1';
|
||||||
IpHtmlPanel1.Parent:=AParent;
|
IpHtmlPanel1.Parent:=AParent;
|
||||||
IpHtmlPanel1.Align:=alClient;
|
IpHtmlPanel1.Align:=alClient;
|
||||||
IpHtmlPanel1.DefaultFontSize:=10;
|
IpHtmlPanel1.DefaultFontSize:=10;
|
||||||
|
Loading…
Reference in New Issue
Block a user