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
|
||||
Top = 186
|
||||
Width = 621
|
||||
ClientHeight = 439
|
||||
ClientHeight = 412
|
||||
ClientWidth = 621
|
||||
Color = clBtnFace
|
||||
Font.Color = clWindowText
|
||||
@ -18,7 +18,7 @@ object formBrowser: TformBrowser
|
||||
object panelBottom: TPanel
|
||||
Left = 0
|
||||
Height = 18
|
||||
Top = 421
|
||||
Top = 394
|
||||
Width = 621
|
||||
Align = alBottom
|
||||
Alignment = taLeftJustify
|
||||
@ -39,7 +39,7 @@ object formBrowser: TformBrowser
|
||||
Left = 319
|
||||
Height = 16
|
||||
Top = 3
|
||||
Width = 22
|
||||
Width = 21
|
||||
Caption = 'Idle'
|
||||
ParentColor = False
|
||||
end
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
LazarusResources.Add('TformBrowser','FORMDATA',[
|
||||
'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
|
||||
+#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
|
||||
+'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'
|
||||
+'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
|
||||
+#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'
|
||||
+'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'
|
||||
|
@ -126,10 +126,12 @@ type
|
||||
CurrentTab: Integer;
|
||||
procedure LoadURL(AURL: string);
|
||||
procedure AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
||||
procedure AddBrowserControlsToTab(ATabSheet: TCDTabSheet);
|
||||
procedure AddMemoTab(AText: TStringList; ACaption: string; AGoToTab: Boolean);
|
||||
procedure AddURLToHistory(AURL: string);
|
||||
procedure HandlePageLoaderProgress(APercent: Integer);
|
||||
procedure HandlePageLoaderTerminated(Sender: TObject);
|
||||
procedure HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet);
|
||||
end;
|
||||
|
||||
var
|
||||
@ -147,7 +149,8 @@ begin
|
||||
pageBrowser.Align := alClient;
|
||||
pageBrowser.DrawStyle := dsKDE;
|
||||
pageBrowser.Options := [nboShowCloseButtons, nboHidePageListPopup,
|
||||
nboKeyboardTabSwitch];
|
||||
nboKeyboardTabSwitch, nboShowAddTabButton];
|
||||
pageBrowser.OnUserAddedPage := HandleUserAddedPage;
|
||||
|
||||
InitializeForm();
|
||||
end;
|
||||
@ -776,18 +779,30 @@ end;
|
||||
|
||||
procedure TformBrowser.AddBrowserTab(AURL: string; AGoToTab: Boolean);
|
||||
var
|
||||
lViewer: TBrowserViewer;
|
||||
lTabSheet: TCDTabSheet;
|
||||
lTopPanel: TPanel;
|
||||
lbuttonReload, lbuttonBack, lbuttonForward: TBitBtn;
|
||||
leditURL: TEdit;
|
||||
begin
|
||||
lTabSheet := pageBrowser.AddPage(''); // This call requires Lazarus 0.9.31+
|
||||
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
|
||||
lTopPanel := TPanel.Create(lTabSheet);
|
||||
lTopPanel.Parent := lTabSheet;
|
||||
lTopPanel := TPanel.Create(ATabSheet);
|
||||
lTopPanel.Parent := ATabSheet;
|
||||
lTopPanel.Align := alTop;
|
||||
lTopPanel.Height := 33;
|
||||
|
||||
@ -828,13 +843,7 @@ begin
|
||||
|
||||
// Add the HTML Viewer
|
||||
lViewer := AddBrowserViewer();
|
||||
lViewer.CreateViewer(lTabSheet, Self);
|
||||
|
||||
if AGoToTab then
|
||||
begin
|
||||
CurrentTab := GetBrowerViewerCount() - 1;
|
||||
SetCurrentBrowserViewer(CurrentTab);
|
||||
end;
|
||||
lViewer.CreateViewer(ATabSheet, Self);
|
||||
end;
|
||||
|
||||
procedure TformBrowser.AddMemoTab(AText: TStringList; ACaption: string;
|
||||
@ -886,6 +895,11 @@ begin
|
||||
AddURLToHistory(MyPageLoader.LastPageURL);}
|
||||
end;
|
||||
|
||||
procedure TformBrowser.HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet);
|
||||
begin
|
||||
AddBrowserControlsToTab(APage);
|
||||
end;
|
||||
|
||||
procedure TformBrowser.Timer1Timer(Sender: TObject);
|
||||
const
|
||||
StartCount = 2; {timer counts before hint window opens}
|
||||
|
@ -195,7 +195,7 @@ begin
|
||||
ViewerName := 'Turbo Power iPro HTML viewer written in Pascal';
|
||||
|
||||
DataProvider1:=TMyIpHtmlDataProvider.Create(AOwner);
|
||||
DataProvider1.Name:='DataProvider1';
|
||||
//DataProvider1.Name:='DataProvider1';
|
||||
DataProvider1.OnCanHandle:=DataProvider1CanHandle;
|
||||
DataProvider1.OnGetHtml:=DataProvider1GetHtml;
|
||||
DataProvider1.OnGetImage:=DataProvider1GetImage;
|
||||
@ -204,7 +204,7 @@ begin
|
||||
DataProvider1.OnReportReference:=DataProvider1ReportReference;
|
||||
|
||||
IpHtmlPanel1:=TIpHtmlPanel.Create(AOwner);
|
||||
IpHtmlPanel1.Name:='IpHtmlPanel1';
|
||||
//IpHtmlPanel1.Name:='IpHtmlPanel1';
|
||||
IpHtmlPanel1.Parent:=AParent;
|
||||
IpHtmlPanel1.Align:=alClient;
|
||||
IpHtmlPanel1.DefaultFontSize:=10;
|
||||
|
Loading…
Reference in New Issue
Block a user