diff -r 3edd2f19bce2 -r e0424e96e3fd py_ext/modules/svgui/svguilib.py --- a/py_ext/modules/svgui/svguilib.py Wed May 09 00:39:54 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ - -class button: - - def __init__(self, parent, id, args): - self.parent = parent - self.id = id - self.back_elt = getSVGElementById(args.back_id) - self.sele_elt = getSVGElementById(args.sele_id) - self.toggle = args.toggle - self.active = args.active - if args.state != undefined: - self.state = args.state - else: - self.state = False - self.dragging = False - if self.toggle: - self.up = not self.state - else: - self.up = True - - # Add event on each element of the button - if self.active: - self.back_elt.addEventListener("mouseup", self, False) - self.back_elt.addEventListener("mousedown", self, False) - self.back_elt.addEventListener("mouseover", self, False) - self.back_elt.addEventListener("mouseout", self, False) - - self.sele_elt.addEventListener("mouseup", self, False) - self.sele_elt.addEventListener("mousedown", self, False) - self.sele_elt.addEventListener("mouseover", self, False) - self.sele_elt.addEventListener("mouseout", self, False) - - blockSVGElementDrag(self.back_elt) - blockSVGElementDrag(self.sele_elt) - - self.updateElements() - - # method to display the current state of interface - def updateElements(self): - if self.up: - self.sele_elt.setAttribute("display", "none") - self.back_elt.removeAttribute("display") - else: - self.sele_elt.removeAttribute("display") - self.back_elt.setAttribute("display", "none") - - def updateValues(self, values): - if values.state != self.state: - self.state = values.state - self.up = not self.state - updateAttr(self.id, 'state', self.state) - self.updateElements() - - def handleEvent(self, evt): - # Quand le bouton de la souris est presse - if evt.type == "mousedown": - evt.stopPropagation() - setCurrentObject(self) - - self.dragging = True - - if self.toggle: - self.up = self.state - else: - self.up = False - self.state = True - updateAttr(self.id, 'state', self.state) - self.updateElements() - - if isCurrentObject(self) and self.dragging: - # Quand le bouton est survole - if evt.type == "mouseover" and self.toggle: - self.up = self.state - self.updateElements() - - # Quand le curseur quitte la zone du bouton - elif evt.type == "mouseout" and self.toggle: - self.up = not self.state - self.updateElements() - - # Quand le bouton de la souris est relache - elif evt.type == "mouseup": - evt.stopPropagation() - if self.toggle and self.up == self.state: - self.state = not self.state - updateAttr(self.id, 'state', self.state) - elif not self.toggle: - self.up = True - self.state = False - updateAttr(self.id, 'state', self.state) - self.updateElements() - self.dragging = False - -class textControl: - - def __init__(self, parent, id, args): - self.parent = parent - self.id = id - self.back_elt = getSVGElementById(args.back_id) - if args.text != undefined: - self.text = args.text - else: - self.text = "" - self.updateElements() - - def updateValues(self, values): - if values.text != self.value: - self.text = values.text - updateAttr(self.id, 'text', self.text) - self.updateElements() - - def updateElements(self): - self.back_elt.firstChild.firstChild.textContent = self.text - - def handleEvent(self, evt): - pass - \ No newline at end of file