Restored from previous forum. Originally posted by naw.
Hi, This is an update + repost of my PIE Browser. Fixed a couple of minor things. made the buttons less cryptic. Put in some nice & simple Window & Gadget Resizing stuff that IHi Naw, nice work.
This is so cool that it normally must be under Tips&Tricks instead of Beginners...
BTW your line:
WID=OpenWindow(1, 0, 0, GetSystemMetrics_(#SM_CXSCREEN), GetSystemMetrics_(#SM_CYSCREEN), #PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget, "pIE - Panelled Internet Explorer")
has a bad result, because the Window is BIGGER (X and Y) than my Desktop.
You probably overlooked that the SIZE in OpenWindow is the Client Area not the overall Window dimension.
Franco
think takes into account Franco's comments. Still using Mr Skunks INI stuff - 'cos Preferences Lib dont work the way I need them to / I'm too thick to understand how to use them properly

Cant think of anything else useful to do with this now - any ideas, anyone?
------
Code: Select all
Declare GoToUrl(pid)
Procedure Alert(text.s)
MessageRequester("Alert",text.s,0)
EndProcedure
PIE = 100
URL = 200
NAME = 300
GO = 400
BACK =500
FWD = 600
FAV = 700
STOP = 800
REF = 900
WID = 1000
Procedure BuildGui()
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF, WID
WID=OpenWindow(1, 0, 0, GetSystemMetrics_(#SM_CXSCREEN)/2, GetSystemMetrics_(#SM_CYSCREEN)/2, "pIE - Panelled Internet Explorer", #PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered)
goImageId=LoadImage(1,".\go.bmp")
backImageId=LoadImage(2,".\back.bmp")
fwdImageId=LoadImage(3,".\fwd.bmp")
TrackBarGadget(1,112,2,WindowWidth(1)-120,16,0,100,#PB_TrackBar_Ticks)
ButtonGadget(2,8,2,32,18,"Pref")
ButtonGadget(3,40,2,32,18,"Next")
ButtonGadget(4,78,2,32,18,"Help")
PanelGadget(0,0,24,WindowWidth(1)+2,WindowHeight(1)-20)
BtnX=360 : BtnW=32
;INIFilename(".\pie.ini")
For x = 1 To 10
defaultUrl$="javascript:document.write('-unused-'); document.close()"
defaultUrl$="about:blank"
;inisection$="Panel"+Str(x) : INISection(inisection$)
;If (ReadINIString("HOME","")="")
; WriteINIString("HOME",defaultUrl$)
; WriteINIString("NAME",inisection$)
; If (x=99) : Alert("Initial Startup - Created Blank "+INI$+"Config File"+Chr(13)+Chr(13)+"Please Restart") :
; If (URLDownloadToFile_(0,"http://w3.nottingham.uk.ibm.com/PIEreg/newuser.html","C:\pieReg.html",0,0))
; Alert("Registered!")
; Else : alert("Failed To register")
; EndIf
; EndIf
;Else
; homeUrl$=ReadINIString("HOME","")
; pieName$=ReadINIString("NAME","Panel"+Str(x))
;EndIf
AddGadgetItem(0,-1,pieName$)
TextGadget(98,BtnW*4+5,7,BtnW*2,18,"URL")
StringGadget(URL+x, BtnW*5, 5, 300, 18, homeUrl$)
defaultUrl$=GetGadgetText(URL+x)
WebGadget(PIE+x,2,30,WindowWidth(1),WindowHeight(1)-20,defaultUrl$)
; TrackBarGadget(300+x,360,5,400,20,0,100,PB_TrackBar_Ticks)
; ButtonImageGadget(500+x,800,5,20,18,goImageId) : ButtonImageGadget(500+x,822,5,20,18,backImageId) : ButtonImageGadget(500+x,844,5,20,18,fwdImageId)
ButtonGadget(GO+x,BtnX+(BtnW*3),5,30,18,"Save")
ButtonGadget(BACK+x,BtnX+(BtnW*5),5,BtnW,18,"Back")
ButtonGadget(FWD+x,BtnX+(BtnW*6),5,BtnW,18,"Next")
; ButtonGadget(FAV+x,BtnX+(BtnW*5),5,20,18,":-)")
ButtonGadget(STOP+x,BtnX+(BtnW*9),5,BtnW,18,"Stop")
ButtonGadget(REF+x,BtnX+(BtnW*7),5,BtnW+10,18,"Refresh")
StringGadget(NAME+x,30,5,BtnW*3+5,18,pieName$)
TextGadget(99,6,7,20,18,"Title")
; ButtonGadget(5,BtnW*14),5,20,18,"?")
Next
EndProcedure
Procedure ListFavourites(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
; SetGadgetText(URL+pid,"file://C:\Documents and Settings\gb071577\Favourites")
SetGadgetText(URL+pid,"file://C:")
GoToUrl(pid)
EndProcedure
;Procedure GoToNAME(pid)
;Shared PIE, URL, GO, BACK, FWD, FAV, STOP, REF, NAME
;Alert("NAMEor For"+Str(pid))
;EndProcedure
Procedure GoToUrl(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
SetGadgetText(PIE+pid,GetGadgetText(URL+pid))
inisection$="Panel"+Str(pid)
SetWindowText_(WID,"PIE: "+inisection$+" - "+GetGadgetText(URL+pid))
;INISection(inisection$)
;INIFilename(".\pie.ini")
;WriteINIString("HOME",GetGadgetText(URL+pid))
;WriteINIString("NAME",GetGadgetText(NAME+pid))
EndProcedure
Procedure BackHistory(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
SetGadgetState(PIE+pid,#PB_Web_Back)
EndProcedure
Procedure FwdHistory(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
SetGadgetState(PIE+pid,#PB_Web_Forward)
EndProcedure
Procedure StopUrl(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
SetGadgetState(PIE+pid,#PB_Web_Stop)
EndProcedure
Procedure RefUrl(pid)
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF
SetGadgetState(PIE+pid,#PB_Web_Refresh)
EndProcedure
Procedure HelpMsg()
Alert("PIE browser (Panelled Internet Explorer :wink: v1.01 June 12 2002 "+Chr(13)+Chr(13)+"Nigel Wale ([url]mailto:walen@hursley.ibm.com[/url]) - Use at your own risk!"+Chr(13)+Chr(13)+"creates a pie.ini file on startup that stores default HOME URL and TITLE for each Panel & updated each time you hit the 'GO' Button"+Chr(13)+Chr(13)+"Use the Slider & '' Buttons at the top to navigate quickly between Panels (99 max) which auto load on startup..."+Chr(13)+Chr(13)+" - have fun using it...")
EndProcedure
Procedure ResizeGadgets()
Shared PIE, URL, NAME, GO, BACK, FWD, FAV, STOP, REF, WINW, WINH
WINW=WindowWidth(1) : WINH=WindowHeight(1)
REPCTR=REPCTR+1
If (REPCTR <> WindowHeight(1) Or WINW <> WindowWidth(1)) : ResizeGadgets() : EndIf
EndProcedure
BuildGui()
Repeat
eventId=WaitWindowEvent()
Select eventId
; Case #PB_EventSizeWindow : Alert("Resizing")
; Case #PB_EventRepaint : If (WINH WindowHeight() Or WINW WindowWidth()) : ResizeGadgets() : EndIf
Case #PB_Event_CloseWindow : QUIT=MessageRequester("Confirm","Really, Really Quit",1)
Case #PB_Event_Menu
If MainDebug <> 0 : Alert("FYI: Menu Item "+Str(EventMenu())+" Not Implemented") : EndIf
Case #PB_Event_Gadget
; If (EventGadgetID()>NAME And EventGadgetID()GO And EventGadgetID()BACK And EventGadgetID()FWD And EventGadgetID()FAV And EventGadgetID()STOP And EventGadgetID()REF And EventGadgetID() RefUrl(EventGadgetID()-REF)
; EndIf
Select EventGadget()
Case 1 : SetGadgetState(0,(GetGadgetState(1)))
Case 2 : SetGadgetState(1,GetGadgetState(1)-1) : SetGadgetState(0,(GetGadgetState(1)))
Case 3 : SetGadgetState(1,GetGadgetState(1)+1) : SetGadgetState(0,(GetGadgetState(1)))
Case 4 : HelpMsg()
;Default : Alert("FYI: Gadget "+Str(EventGadgetID())+" Not Implemented")
EndSelect
EndSelect
Until QUIT=1