Go to the documentation of this file.00001 '''
00002 Anoria (c) Gsk 2010
00003 '''
00004
00005
00006 import BigWorld
00007 import GUI
00008
00009 import AnGUI
00010 import FX
00011
00012
00013
00014
00015 class Button(AnGUI.Base):
00016 ''' Basic clickable button, no fancies (radio-button behaviour etc) '''
00017
00018 factoryString = "AnGUI.Button"
00019 fadeTime = 0.125
00020
00021 def __init__(self, component):
00022 AnGUI.Base.__init__(self, component)
00023 component.script = self
00024 self.component.crossFocus = True
00025 self.canActivate = True
00026
00027 self.fx = { "onMouseClick" : FX.fxFader(component, self.fadeTime),
00028 "onMouseEnter" : FX.fxInverter(component),
00029 "onMouseLeave" : FX.fxInverter(component) }
00030
00031 def setFx(self, name, fx):
00032 self.fx[name]=fx
00033
00034 def handleMouseClickEvent(self, comp):
00035 return AnGUI.Base.handleMouseClickEvent(self, comp)
00036
00037 def handleMouseEnterEvent(self, comp):
00038
00039 return AnGUI.Base.handleMouseEnterEvent(self, comp)
00040
00041 def handleMouseLeaveEvent(self, comp):
00042
00043 return AnGUI.Base.handleMouseLeaveEvent(self, comp)
00044
00045 @staticmethod
00046 def create(texture, text=None, font=None):
00047 c = GUI.Window(texture)
00048 c.focus = True
00049 c.materialFX = "BLEND"
00050 c.widthMode = 'PIXEL'
00051 c.heightMode = 'PIXEL'
00052 c.horizontalPositionMode = 'PIXEL'
00053 c.verticalPositionMode = 'PIXEL'
00054 c.horizontalAnchor = 'LEFT'
00055 c.verticalAnchor = 'TOP'
00056 c.position = (0,0,1)
00057
00058 if text != None:
00059 t = GUI.Text(text)
00060 c.addChild(t, text)
00061 if font != None:
00062 t.font=font
00063 else:
00064 t.font="default_small.font"
00065
00066 b = Button(c)
00067 return b.component