def onElementContextmenu(self, sender,event): x = DOM.eventGetClientX(event) - DOM.getAbsoluteLeft(self.canvas.getElement()) y = DOM.eventGetClientY(event) - DOM.getAbsoluteTop(self.canvas.getElement()) s = self.desc[self.elements.index(sender)] self.set_status('Contextmenue on Element '+s+' at '+str(x)+', '+str(y)) DOM.eventCancelBubble(event,True) DOM.eventPreventDefault(event)
def onDrop(self, event): dt = event.dataTransfer types = getTypes(event) self.addMessage("drop types received: " + ", ".join(types)) parent = self.getParent() parent.clearContent() self.addMessage('dt: ' + str(dt)) types.sort() for ctype in types: data = dt.getData(ctype) if ctype == 'Files': file_names = [] files = dt.files # files is a FileList # http://help.dottoro.com/ljuelxgf.php for idx in range(files.length): item = files.item(idx) try: name = item.name except: name = item.fileName file_names.append(name) data = '<br>'.join(file_names) parent.addContent(ctype, data) DOM.eventPreventDefault(event) # cancel bubble so first file is not opened in browser. DOM.eventCancelBubble(event, True)
def action(self,element,event): x = DOM.eventGetClientX(event) - self.ox y = DOM.eventGetClientY(event) - self.oy DOM.eventCancelBubble(event,True) DOM.eventPreventDefault(event) #alert('clic %s %s'%(x,y)) self._action(x,y)
def onBrowserEvent(self, event): # farm out the event to convenience handlers. # detect existence by checking for the listener lists of each # type of handler. there's probably a better way to do this... if hasattr(self, "_clickListeners"): ClickHandler.onBrowserEvent(self, event) if hasattr(self, "_keyboardListeners"): KeyboardHandler.onBrowserEvent(self, event) if hasattr(self, "_mouseListeners"): MouseHandler.onBrowserEvent(self, event) if hasattr(self, "_mouseWheelListeners"): MouseWheelHandler.onBrowserEvent(self, event) if hasattr(self, "_focusListeners"): FocusHandler.onBrowserEvent(self, event) if hasattr(self, "_dragListeners"): DragHandler.onBrowserEvent(self, event) if hasattr(self, "_dropListeners"): DropHandler.onBrowserEvent(self, event) if self.contextMenu is None: return True type = DOM.eventGetType(event) if type == "contextmenu": DOM.eventCancelBubble(event, True) DOM.eventPreventDefault(event) self.contextMenu.onContextMenu(self) return False return True
def onBrowserEvent(self, event): # farm out the event to convenience handlers. # detect existence by checking for the listener lists of each # type of handler. there's probably a better way to do this... if hasattr(self, "_clickListeners"): ClickHandler.onBrowserEvent(self, event) if hasattr(self, "_keyboardListeners"): KeyboardHandler.onBrowserEvent(self, event) if hasattr(self, "_mouseListeners"): MouseHandler.onBrowserEvent(self, event) if hasattr(self, "_mouseWheelListeners"): MouseWheelHandler.onBrowserEvent(self, event) if hasattr(self, "_focusListeners"): FocusHandler.onBrowserEvent(self, event) if hasattr(self, "_dragListeners"): DragHandler.onBrowserEvent(self, event) if hasattr(self, "_changeListeners"): ChangeHandler.onBrowserEvent(self, event) if hasattr(self, "_inputListeners"): InputHandler.onBrowserEvent(self, event) if hasattr(self, "_dropListeners"): DropHandler.onBrowserEvent(self, event) if self.contextMenu is None: return True type = DOM.eventGetType(event) if type == "contextmenu": DOM.eventCancelBubble(event, True) DOM.eventPreventDefault(event) self.contextMenu.onContextMenu(self) return False return True
def _stopDragging(self): if self._drag_start is not None: # we are no longer dragging self._drag_start = None # deactivate the transparent overlay GlassWidget.hide() # don't let a mouse-up become a click event DOM.eventCancelBubble(DOM.eventGetCurrentEvent(), True)
def onElementDblClick(self, sender, event): x = DOM.eventGetClientX(event) - DOM.getAbsoluteLeft( self.canvas.getElement()) y = DOM.eventGetClientY(event) - DOM.getAbsoluteTop( self.canvas.getElement()) s = self.desc[self.elements.index(sender)] self.set_status('Doubleclick on Element ' + s + ' at ' + str(x) + ', ' + str(y)) DOM.eventCancelBubble(event, True)
def onElementContextmenu(self, sender, event): x = DOM.eventGetClientX(event) - DOM.getAbsoluteLeft( self.canvas.getElement()) y = DOM.eventGetClientY(event) - DOM.getAbsoluteTop( self.canvas.getElement()) s = self.desc[self.elements.index(sender)] self.set_status('Contextmenue on Element ' + s + ' at ' + str(x) + ', ' + str(y)) DOM.eventCancelBubble(event, True) DOM.eventPreventDefault(event)
def onEventPreview(self, event): type = DOM.eventGetType(event) if type == "click": target = DOM.eventGetTarget(event) parentMenuElement = self.item.getElement() if DOM.isOrHasChild(parentMenuElement, target): if self.item.findItem(target): self.hide() DOM.eventCancelBubble(event, True) DOM.eventStopPropagation(event) return True return PopupPanel.onEventPreview(self, event)
def onElementDblClick(self,sender,event): x = DOM.eventGetClientX(event) - DOM.getAbsoluteLeft(self.canvas.getElement()) y = DOM.eventGetClientY(event) - DOM.getAbsoluteTop(self.canvas.getElement()) s = self.desc[self.elements.index(sender)] self.set_status('Doubleclick on Element '+s+' at '+str(x)+', '+str(y)) DOM.eventCancelBubble(event,True)
def onElementMousemove(self, sender, event): x = DOM.eventGetClientX(event) - DOM.getAbsoluteLeft(self.canvas.getElement()) y = DOM.eventGetClientY(event) - DOM.getAbsoluteTop(self.canvas.getElement()) s = self.desc[self.elements.index(sender)] self.set_status("Mousemove on Element " + s + " at " + str(x) + ", " + str(y)) DOM.eventCancelBubble(event, True)
def onKeyUp(self, sender, keycode, modifiers): evt = DOM.eventGetCurrentEvent() DOM.eventCancelBubble(evt, True) DOM.eventPreventDefault(evt)