require "ISUI/ISPanel" require "ISUI/ISButton" require "ISUI/ISInventoryPane" require "ISUI/ISResizeWidget" require "ISUI/ISMouseDrag" require "defines" ModMoreInfo = ISPanel:derive("ModMoreInfo"); function ModMoreInfo:initialise() ISPanel.initialise(self); end --************************************************************************-- --** ISPanel:instantiate --** --************************************************************************-- function ModMoreInfo:instantiate() --self:initialise(); self.javaObject = UIElement.new(self); self.javaObject:setX(self.x); self.javaObject:setY(self.y); self.javaObject:setHeight(self.height); self.javaObject:setWidth(self.width); self.javaObject:setAnchorLeft(self.anchorLeft); self.javaObject:setAnchorRight(self.anchorRight); self.javaObject:setAnchorTop(self.anchorTop); self.javaObject:setAnchorBottom(self.anchorBottom); end function ModMoreInfo:create(desc) local w = self.width * 0.4; local tw = self.width; self.mainPanel = ISPanel:new((tw-w)/2, 48, w, self.height-64-64); self.mainPanel:initialise(); self.mainPanel:setAnchorRight(true); self.mainPanel:setAnchorLeft(true); self.mainPanel:setAnchorBottom(true); self.mainPanel:setAnchorTop(true); self:addChild(self.mainPanel); self.mainPanel.backgroundColor = {r=0, g=0, b=0, a=0.8}; self.mainPanel.borderColor = {r=1, g=1, b=1, a=0.2}; self.moreInfo = ISRichTextPanel:new(16, 16, self.mainPanel.width - 32, self.mainPanel.height - 64); self.moreInfo:initialise(); self.moreInfo.autosetheight = false; self.moreInfo:setAnchorRight(true); self.moreInfo:setAnchorLeft(true); self.moreInfo:setAnchorBottom(true); self.moreInfo:setAnchorTop(true); self.mainPanel:addChild(self.moreInfo); self.moreInfo.text = desc; self.moreInfo:paginate(); self.moreInfo:addScrollBars(); end function ModMoreInfo.onOptionMouseDown(button, x, y) if button.internal == "BACK" then MainScreen.instance.charCreationProfession:setVisible(false); MainScreen.instance.worldScreen:setVisible(true); end end function ModMoreInfo:prerender() ISPanel.prerender(self); end function ModMoreInfo:new (x, y, width, height) -- using a virtual 100 height res for doing the UI, so it resizes properly on different rez's. local o = {} --o.data = {} o = ISPanel:new(x, y, width, height); setmetatable(o, self) self.__index = self o.x = 0; o.y = 0; o.backgroundColor = {r=0, g=0, b=0, a=0.0}; o.borderColor = {r=1, g=1, b=1, a=0.0}; o.anchorLeft = true; o.anchorRight = false; o.anchorTop = true; o.anchorBottom = false; return o end