From 6d5b74070b81f3475cd7f0cc4d12fc3f1b2d27ed Mon Sep 17 00:00:00 2001 From: Salvador Diaz Fau Date: Fri, 5 Feb 2021 17:35:53 +0100 Subject: [PATCH] Added tab navigation controls to the FMXTabbedOSRBrowser demo --- .../FMXTabbedOSRBrowser/uMainForm.fmx | 48 +++++++++++++++++++ .../FMXTabbedOSRBrowser/uMainForm.pas | 29 +++++++++++ update_CEF4Delphi.json | 2 +- 3 files changed, 78 insertions(+), 1 deletion(-) diff --git a/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.fmx b/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.fmx index 1dc5b092..88e2d578 100644 --- a/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.fmx +++ b/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.fmx @@ -48,6 +48,42 @@ object MainForm: TMainForm Size.PlatformDefault = False StyleLookup = 'deleteitembutton' end + object PrevTabBtn: TSpeedButton + Action = PrevTabAction + Align = Top + Enabled = True + ImageIndex = -1 + Position.X = 5.000000000000000000 + Position.Y = 54.000000000000000000 + Size.Width = 22.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + StyleLookup = 'arrowlefttoolbutton' + end + object NextTabBtn: TSpeedButton + Action = NextTabAction + Align = Top + Enabled = True + ImageIndex = -1 + Position.X = 5.000000000000000000 + Position.Y = 76.000000000000000000 + Size.Width = 22.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + StyleLookup = 'arrowrighttoolbutton' + end + object ShowTabsBtn: TSpeedButton + Action = ShowTabsAction + Align = Top + Enabled = True + ImageIndex = -1 + Position.X = 5.000000000000000000 + Position.Y = 98.000000000000000000 + Size.Width = 22.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + StyleLookup = 'passwordeditbutton' + end end object BrowserTabCtrl: TTabControl Align = Client @@ -69,5 +105,17 @@ object MainForm: TMainForm Text = 'RemoveTabAction' OnExecute = RemoveTabActionExecute end + object PrevTabAction: TAction + Text = 'PrevTabAction' + OnExecute = PrevTabActionExecute + end + object NextTabAction: TAction + Text = 'NextTabAction' + OnExecute = NextTabActionExecute + end + object ShowTabsAction: TAction + Text = 'ShowTabsAction' + OnExecute = ShowTabsActionExecute + end end end diff --git a/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.pas b/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.pas index fdc0448e..1fdc7a9e 100644 --- a/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.pas +++ b/demos/Delphi_FMX_Windows/FMXTabbedOSRBrowser/uMainForm.pas @@ -66,6 +66,12 @@ type ActionList1: TActionList; AddTabAction: TAction; RemoveTabAction: TAction; + PrevTabBtn: TSpeedButton; + NextTabBtn: TSpeedButton; + ShowTabsBtn: TSpeedButton; + PrevTabAction: TAction; + NextTabAction: TAction; + ShowTabsAction: TAction; procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); @@ -75,6 +81,9 @@ type procedure AddTabActionExecute(Sender: TObject); procedure RemoveTabActionExecute(Sender: TObject); procedure BrowserTabCtrlChange(Sender: TObject); + procedure PrevTabActionExecute(Sender: TObject); + procedure NextTabActionExecute(Sender: TObject); + procedure ShowTabsActionExecute(Sender: TObject); protected // Variables to control when can we destroy the form safely @@ -405,6 +414,26 @@ begin TBrowserTab(BrowserTabCtrl.ActiveTab).SendCaptureLostEvent; end; +procedure TMainForm.NextTabActionExecute(Sender: TObject); +begin + if (BrowserTabCtrl.TabIndex < pred(BrowserTabCtrl.TabCount)) then + BrowserTabCtrl.TabIndex := BrowserTabCtrl.TabIndex + 1; +end; + +procedure TMainForm.PrevTabActionExecute(Sender: TObject); +begin + if (BrowserTabCtrl.TabIndex > 0) then + BrowserTabCtrl.TabIndex := BrowserTabCtrl.TabIndex - 1; +end; + +procedure TMainForm.ShowTabsActionExecute(Sender: TObject); +begin + if (BrowserTabCtrl.TabPosition = TTabPosition.PlatformDefault) then + BrowserTabCtrl.TabPosition := TTabPosition.None + else + BrowserTabCtrl.TabPosition := TTabPosition.PlatformDefault; +end; + {$IFDEF MSWINDOWS} procedure TMainForm.HandleSYSCHAR(const aMessage : TMsg); begin diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index d0b06e9f..739c4e49 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,7 +2,7 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 249, + "InternalVersion" : 250, "Name" : "cef4delphi_lazarus.lpk", "Version" : "88.2.1.0" }