KUMOS/Client/Default Apps/WebBrowser.sbi
2026-05-02 15:49:06 +02:00

73 lines
2.0 KiB
Plaintext

DeclareModule WebBrowser
Declare Open()
EndDeclareModule
Module WebBrowser
EnableExplicit
#Toolbar_Height = 35
#Window_W = 800
#Window_H = 600
Global Window.i = 0
Global UrlBar.i
Global WebView.i
Declare Handler_Resize()
Declare Handler_Navigate()
Declare Handler_Close()
Procedure Open()
If IsWindow(Window)
SetActiveWindow(Window)
ProcedureReturn
EndIf
Window = OpenWindow(#PB_Any, 100, 60, #Window_W, #Window_H, "Web Browser",
#PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu)
UrlBar = StringGadget(#PB_Any, 4, 5, #Window_W - 8, #Toolbar_Height - 10, "https://lastlife.net")
WebView = WebGadget(#PB_Any, 0, #Toolbar_Height, #Window_W, #Window_H - #Toolbar_Height, "https://lastlife.net")
BindGadgetEvent(UrlBar, @Handler_Navigate())
BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window)
BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window)
Desktop::Register("Web Browser", Window, "🌐")
EndProcedure
Procedure Handler_Navigate()
; Protected URL.s = Trim(GetGadgetText(UrlBar))
; If URL = "" : ProcedureReturn : EndIf
; If Left(URL, 4) <> "http"
; URL = "https://" + URL
; SetGadgetText(UrlBar, URL)
; EndIf
; SetGadgetAttribute(WebView, #PB_Web_URL, URL)
EndProcedure
Procedure Handler_Resize()
Protected W.i = WindowWidth(Window)
Protected H.i = WindowHeight(Window)
ResizeGadget(UrlBar, 4, 5, W - 8, #Toolbar_Height - 10)
ResizeGadget(WebView, 0, #Toolbar_Height, W, H - #Toolbar_Height)
EndProcedure
Procedure Handler_Close()
UnbindGadgetEvent(UrlBar, @Handler_Navigate())
UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window)
UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window)
Desktop::Unregister(Window)
Window = 0
EndProcedure
EndModule
; IDE Options = SpiderBasic 3.10 (Windows - x86)
; CursorPosition = 29
; Folding = --
; iOSAppOrientation = 0
; AndroidAppCode = 0
; AndroidAppOrientation = 0
; EnableXP
; DPIAware
; CompileSourceDirectory