; ; ------------------------------------------------------------ ; ; 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 MiniBrowser v1.0", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget) CreateStatusBar(0, WindowID(0)) AddStatusBarField(#PB_Ignore) StatusBarText(0, 0, "Welcome to the world's smallest Browser ! :)", 0) ButtonGadget(1, 0, 3, 50, 25, "Back") ButtonGadget(2, 50, 3, 50, 25, "Next") ButtonGadget(3, 100, 3, 50, 25, "Stop") StringGadget(4, 155, 5, 0, 20, "http://www.purebasic.com") ButtonGadget(5, 0, 3, 25, 25, "Go") FrameGadget(6, 0, 30, 0, 2, "", 2) ; Nice little separator If WebGadget(10, 0, 31, 0, 0, "http://www.purebasic.com") = 0 CompilerIf #PB_Compiler_OS <> #PB_OS_Windows ; Linux and OX uses Webkit MessageRequester("Error", "Webkit library not found", 0) CompilerEndIf End ; Quit EndIf AddKeyboardShortcut(0, #PB_Shortcut_Return, 0) ; Use bindevent() to have a realtime window resize ; BindEvent(#PB_Event_SizeWindow, @ResizeWebWindow()) ResizeWebWindow() ; Adjust the gadget to the current window size 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 ; We only have one shortcut SetGadgetText(10, GetGadgetText(4)) EndSelect Until Event = #PB_Event_CloseWindow EndIf