Exemple #1
0
 def runTestThread(self):
     util.runOnEventDispatchThread(self.waitForApplicationToAppear)
     if self.isActive():
         self.describeAndRun(self.describe)
     else: # pragma: no cover - replayer disabled, cannot create automated tests
         while self.frameShowing():
             time.sleep(0.1)
 def describeAndRun(self):
     while True:
         util.runOnEventDispatchThread(self.describer.describeUpdates)
         if self.delay:
             time.sleep(self.delay)
         if not self.runNextCommand():
             break
 def _generate(self, *args):
     #runKeyword("closeWindow", self.widget.getTitle()) doesn't work for confirm dialogs after closing
     #the application.
     System.setProperty("abbot.robot.mode", "awt")
     robot = Robot()
     robot.setEventMode(Robot.EM_AWT)
     util.runOnEventDispatchThread(robot.close, self.widget.widget)
     robot.waitForIdle()
 def connectRecord(self, method):               
     class EventListener(AWTEventListener):
         def eventDispatched(listenerSelf, event):
             catchAll(self.handleEvent, event, method)
 
     eventListener = EventListener()
     eventMask = AWTEvent.WINDOW_EVENT_MASK
     util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().addAWTEventListener, eventListener, eventMask)
 def startListening(self):        
     class PhysicalEventListener(AWTEventListener):
         def eventDispatched(listenerSelf, event):
             catchAll(self.handleEvent, event)
     
     self.eventListener = PhysicalEventListener()
     eventMask = AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK
     util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().addAWTEventListener, self.eventListener, eventMask)
    def connectRecord(self, method):
        class TextDocumentListener(swing.event.DocumentListener):
            def insertUpdate(lself, event):
                catchAll(method, event, self)
                
            changedUpdate = insertUpdate
            removeUpdate = insertUpdate

        util.runOnEventDispatchThread(self.widget.getDocument().addDocumentListener, TextDocumentListener())
 def editTextComponent(self, newValue, row, column):
     self.widget.runKeyword("typeIntoTableCell", row, column, newValue)
     # The above will press the Enter key and never release it, see
     # http://code.google.com/p/robotframework-swinglibrary/issues/detail?id=197
     # We work around this by releasing it ourselves...
     releaseEvent = KeyEvent(self.widget.widget,
                             KeyEvent.KEY_RELEASED, System.currentTimeMillis(),
                             0, KeyEvent.VK_ENTER)
     util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent, releaseEvent)
 def connectRecord(self, method):
     class WindowCloseListener(WindowAdapter):
         def windowClosing(listenerSelf, event):
             method(event, self)
         
         def windowClosed(listenerSelf, event):
             Filter.stopListening()
                     
     util.runOnEventDispatchThread(self.widget.widget.addWindowListener, WindowCloseListener())
 def connectRecord(self, method):
     class ClickListener(MouseAdapter):
         def mousePressed(listenerSelf, event):
             listenerSelf.pressedEvent = event
         
         def mouseReleased(listenerSelf, event):
             method(listenerSelf.pressedEvent, self)
           
     util.runOnEventDispatchThread(self.widget.widget.addMouseListener, ClickListener())
 def connectRecord(self, method):
     class ClickListener(MouseAdapter):
         def mousePressed(listenerSelf, event):
             if not isinstance(event.getSource(), swing.JMenu):
                 listenerSelf.pressedEvent = event
                 
         def mouseReleased(listenerSelf, event):
             if not isinstance(event.getSource(), swing.JMenu):
                 method(listenerSelf.pressedEvent, self)
                 
     util.runOnEventDispatchThread(self.widget.widget.addMouseListener, ClickListener())      
 def connectRecord(self, method):               
     if isinstance(self.widget.widget, swing.JComponent) and self.widget.getComponentPopupMenu():
         class EventListener(AWTEventListener):
             def eventDispatched(listenerSelf, event):
                 catchAll(self.handleEvent, event, method)
 
         eventListener = EventListener()
         eventMask = AWTEvent.MOUSE_EVENT_MASK
         util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().addAWTEventListener, eventListener, eventMask)
     else:
         SignalEvent.connectRecord(self, method)
Exemple #12
0
    def listenForComponents(self):
        class NewComponentListener(AWTEventListener):
            def eventDispatched(listenerSelf, event):#@NoSelf
                # Primarily to make coverage work, it doesn't get enabled in threads made by Java
                if hasattr(threading, "_trace_hook") and threading._trace_hook:
                    sys.settrace(threading._trace_hook)
    
                if event.getID() == ComponentEvent.COMPONENT_SHOWN:
                    storytext.guishared.catchAll(self.handleNewComponent, event.getSource())
                elif event.getID() == ContainerEvent.COMPONENT_ADDED:
                    storytext.guishared.catchAll(self.handleNewComponent, event.getChild())

        eventMask = AWTEvent.COMPONENT_EVENT_MASK | AWTEvent.CONTAINER_EVENT_MASK
        util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().addAWTEventListener, NewComponentListener(), eventMask)
 def startListening(self):
     eventMask = AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK | AWTEvent.WINDOW_EVENT_MASK | AWTEvent.COMPONENT_EVENT_MASK
     # Should be commented out if we need to listen to these events:
     #| AWTEvent.WINDOW_EVENT_MASK | AWTEvent.COMPONENT_EVENT_MASK | AWTEvent.ACTION_EVENT_MASK
     #| AWTEvent.ITEM_EVENT_MASK | AWTEvent.INPUT_METHOD_EVENT_MASk
     
     class AllEventListener(AWTEventListener):
         def eventDispatched(listenerSelf, event):
             # Primarily to make coverage work, it doesn't get enabled in threads made by Java
             if hasattr(threading, "_trace_hook") and threading._trace_hook:
                 sys.settrace(threading._trace_hook)
             self.handleEvent(event)
     
     self.eventListener = AllEventListener()
     util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().addAWTEventListener, self.eventListener, eventMask)
    def connectRecord(self, method):
        class ItemSelectListener(ItemListener):
            def itemStateChanged(listenerSelf, event):
                catchAll(self.tryRecordSelection, event, method)
        
        class TextDocumentListener(swing.event.DocumentListener):
            def insertUpdate(lself, event):
                catchAll(method, None, event, self)
                
            changedUpdate = insertUpdate
            removeUpdate = insertUpdate

        if self.widget.isEditable():
            util.runOnEventDispatchThread(self.widget.getEditor().getEditorComponent().getDocument().addDocumentListener, TextDocumentListener())        
                    
        util.runOnEventDispatchThread(self.widget.widget.addItemListener, ItemSelectListener())
 def observeUpdates(self):
     class TableListener(swing.event.TableModelListener):
         def tableChanged(listenerSelf, event):
             catchAll(self.updateTableInfo)
             
     util.runOnEventDispatchThread(self.table.getModel().addTableModelListener, TableListener())
 def connectRecord(self, method):
     class TableListener(swing.event.TableModelListener):
         def tableChanged(listenerSelf, event):
             catchAll(self.tryRecordUpdate, event, method)
                 
     util.runOnEventDispatchThread(self.widget.widget.getModel().addTableModelListener, TableListener())
Exemple #17
0
 def describe(self):
     util.runOnEventDispatchThread(self.describer.describeWithUpdates)
 def _generate(self, argumentString):
     util.runOnEventDispatchThread(self._generateSwingLib, argumentString)
    def connectRecord(self, method):
        class RecordListener(ActionListener):
            def actionPerformed(lself, event):
                catchAll(method, event, self)

        util.runOnEventDispatchThread(self.widget.widget.addActionListener, RecordListener())
    def connectRecord(self, method):
        class RecordListener(swing.event.ChangeListener):
            def stateChanged(lself, e):
                catchAll(method, e, self)

        util.runOnEventDispatchThread(self.widget.addChangeListener, RecordListener())
Exemple #21
0
    def connectRecord(self, method):
        class RecordListener(ActionListener):
            def actionPerformed(lself, event):  # @NoSelf
                storytext.guishared.catchAll(self.tryApplicationEvent, event, method)

        util.runOnEventDispatchThread(self.widget.widget.addActionListener, RecordListener())
Exemple #22
0
    def connectRecord(self, method):
        class RecordListener(ChangeListener):
            def stateChanged(lself, e):  # @NoSelf
                storytext.guishared.catchAll(method, e, self)

        util.runOnEventDispatchThread(self.widget.addChangeListener, RecordListener())
Exemple #23
0
    def connectRecord(self, method):
        class ActivateEventListener(ActionListener):
            def actionPerformed(lself, event):  # @NoSelf
                storytext.guishared.catchAll(method, event, self)

        util.runOnEventDispatchThread(self.widget.widget.addActionListener, ActivateEventListener())
Exemple #24
0
    def observeUpdates(self):
        class TableListener(TableModelListener):
            def tableChanged(listenerSelf, event):  # @NoSelf
                storytext.guishared.catchAll(self.updateTableInfo)

        util.runOnEventDispatchThread(self.widget.getModel().addTableModelListener, TableListener())
Exemple #25
0
    def connectRecord(self, method):
        class TableListener(TableModelListener):
            def tableChanged(listenerSelf, event):  # @NoSelf
                storytext.guishared.catchAll(self.tryRecordUpdate, event, method)

        util.runOnEventDispatchThread(self.widget.widget.getModel().addTableModelListener, TableListener())
 def stopListening(cls):
     util.runOnEventDispatchThread(Toolkit.getDefaultToolkit().removeAWTEventListener, cls.eventListener)
    def connectRecord(self, method):
        class ClickListener(MouseAdapter):
            def mousePressed(listenerSelf, event):
                catchAll(method, event, self)

        util.runOnEventDispatchThread(self.getRecordWidget().addMouseListener, ClickListener())