;
; ------------------------------------------------------------
;
; PureBasic - MiniBrowser
;
; (c) Fantaisie Software
;
; ------------------------------------------------------------
;
Procedure ResizeWebWindow()
ResizeGadget(10, #PB_Ignore, #PB_Ignore, WindowWidth(0), WindowHeight(0)-52)
ResizeGadget(4, #PB_Ignore, #PB_Ignore, WindowWidth(0)-185, #PB_Ignore)
ResizeGadget(5, WindowWidth(0)-25, #PB_Ignore, #PB_Ignore, #PB_Ignore)
ResizeGadget(6, #PB_Ignore, #PB_Ignore, WindowWidth(0), #PB_Ignore)
EndProcedure
If OpenWindow(0, 100, 200, 500, 300, "PureBasic МиниБраузер v1.0", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
CreateStatusBar(0, WindowID(0))
AddStatusBarField(#PB_Ignore)
StatusBarText(0, 0, "Добро пожаловать в самый маленький в мире браузер! :)", 0)
ButtonGadget(1, 0, 3, 55, 25, "Назад")
ButtonGadget(2, 50, 3, 55, 25, "Вперёд")
ButtonGadget(3, 100, 3, 50, 25, "Стоп")
StringGadget(4, 155, 5, 0, 20, "http://www.purebasic.com")
ButtonGadget(5, 0, 3, 20, 25, ">")
FrameGadget(6, 0, 30, 0, 2, "", 2) ; Хороший маленький сепаратор
If WebGadget(10, 0, 31, 0, 0, "http://www.purebasic.com") = 0
CompilerIf #PB_Compiler_OS <> #PB_OS_Windows
; Linux и OX использует Webkit
MessageRequester("Ошибка", "Webkit библиотека не найдена", 0)
CompilerEndIf
End ; Выход
EndIf
AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
; Используем bindevent() для изменения размера окна в реальном времени
;
BindEvent(#PB_Event_SizeWindow, @ResizeWebWindow())
ResizeWebWindow() ; Настройка Гаджета на текущий размер окна
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
SetGadgetState(10, #PB_Web_Back)
Case 2
SetGadgetState(10, #PB_Web_Forward)
Case 3
SetGadgetState(10, #PB_Web_Stop)
Case 5
SetGadgetText(10, GetGadgetText(4))
EndSelect
Case #PB_Event_Menu ; У нас есть только один ярлык
SetGadgetText(10, GetGadgetText(4))
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf