Exemple #1
0
 def handleNewComponent(self, widget):
     inWindow = isinstance(widget, JComponent) and widget.getTopLevelAncestor() is not None and \
                widget.getTopLevelAncestor() in self.uiMap.windows
     isWindow = isinstance(widget, (JFrame, JDialog))
     appEventButton = hasattr(widget, "getText") and unicode(widget.getText()).startswith("ApplicationEvent")
     popupMenu = isinstance(widget, JPopupMenu) and not util.belongsMenubar(widget.getInvoker())
     if self.uiMap and (self.isActive() or self.recorder.isActive()):
         if isWindow:
             self.uiMap.monitorAndStoreWindow(widget)
             self.setAppeared(widget)
         elif (popupMenu or inWindow or appEventButton) and widget not in self.appearedWidgets:
             self.logger.debug("New widget of type " + widget.__class__.__name__ + " appeared: monitoring")
             self.uiMap.monitor(storytext.guishared.WidgetAdapter.adapt(widget))
             self.setAppeared(widget)
         elif isinstance(widget, JPopupMenu):
             self.setAppeared(widget.getParent())
     if self.loggerActive and (isWindow or inWindow or popupMenu):
         self.describer.setWidgetShown(widget)
 def _generate(self, *args):
     path = util.getMenuPathString(self.widget)
     if util.belongsMenubar(self.widget):
         runKeyword("selectFromMenuAndWait", path)
     else:    
         self.selectFromPopupMenu()