Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Author: l0nger
- Name: Browser
- ]]
- local cFunc={}
- local cSetting={}
- Browser={}
- Browser.__index=Browser
- function Browser:new(...)
- local obj=setmetatable({}, {__index=self})
- if obj.constructor then
- obj:constructor(...)
- end
- return obj
- end
- function Browser:addBrowser(name, url, x, y, width, height, isLocal, isTransparent, enabled, focus, relative, fnDocumentReady)
- if not name then return end
- self.browsers[name]={}
- self.browsers[name].url=url
- self.browsers[name].x=x
- self.browsers[name].y=y
- self.browsers[name].width=width
- self.browsers[name].height=height
- self.browsers[name].isLocal=(isLocal or true)
- self.browsers[name].isTransparent=(isTransparent or false)
- self.browsers[name].relative=(relative or false)
- self.browsers[name].enabled=(enabled or false)
- self.browsers[name].focused=(focus or false)
- self.browsers[name].onDocumentReady=(fnDocumentReady or nil)
- self.browsers[name].guiBrowser=guiCreateBrowser(x, y, width, height, self.browsers[name].isLocal, self.browsers[name].isTransparent, self.browsers[name].relative)
- if not self.browsers[name].guiBrowser then
- outputDebugString('[CBrowser] addBrowser - error creating the browser: ' ..name)
- self.browsers[name]=nil
- return
- end
- if not self.browsers[name].enabled or self.browsers[name].enabled==false then
- guiSetVisible(self.browsers[name].guiBrowser, false)--self.browsers[name].hBrowser, false)
- end
- self.browsers[name].hBrowser=guiGetBrowser(self.browsers[name].guiBrowser)
- addEventHandler('onClientBrowserCreated', self.browsers[name].hBrowser, function()
- loadBrowserURL(self.browsers[name].hBrowser, tostring(self.browsers[name].url))
- if self.browsers[name].focused then
- focusBrowser(self.browsers[name].hBrowser)
- end
- end)
- addEventHandler('onClientBrowserDocumentReady', self.browsers[name].hBrowser, function(...)
- if self.browsers[name].onDocumentReady then
- self.browsers[name]:onDocumentReady(...)
- end
- end)
- return
- end
- function Browser:removeBrowser(name)
- if self.browsers[name] then
- if isElement(self.browsers[name].hBrowser) then
- destroyElement(self.browsers[name].hBrowser)
- end
- self.browsers[name]=nil
- end
- end
- function Browser:setBrowserFocus(name, focus)
- if self.browsers[name] then
- if focus==nil then return end
- if focus==true then
- focusBrowser(self.browsers[name].hBrowser)
- guiSetInputEnabled(true)
- elseif focus==false then
- -- disable input mode
- guiSetInputEnabled(false)
- end
- self.browsers[name].focused=focus
- end
- end
- function Browser:setURLBrowser(name, url, focused)
- if self.browsers[name] then
- if not url then return end
- self.browsers[name].url=tostring(url)
- loadBrowserURL(self.browsers[name].hBrowser, self.browsers[name].url)
- if focused then
- self.browsers[name].focused=true
- focusBrowser(self.browsers[name].hBrowser)
- end
- end
- end
- function Browser:toggleBrowser(name, toggle)
- if self.browsers[name] then
- if toggle==nil then
- self.browsers[name].enabled=not self.browsers[name].enabled
- guiSetVisible(self.browsers[name].guiBrowser, self.browsers[name].enabled)
- else
- self.browsers[name].enabled=toggle
- guiSetVisible(self.browsers[name].guiBrowser, toggle)
- end
- end
- end
- function Browser:constructor(...)
- self.browsers={}
- logger:outputInfo('[calling] Browser: constructor')
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement