Changeset 720

Show
Ignore:
Timestamp:
07/18/08 10:31:32 (4 months ago)
Author:
sylvain
Message:

Added subscribe GUI support

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • oss/jlib/examples/basic/client.py

    r719 r720  
    109109        model = jlibAffiliationDiscoveryModel(parent=self.connection.qobj.discovery) 
    110110        model.setAffiliations(affiliations) 
     111        self.affsUi.setPubSub(self.connection.qobj.pubsubnode) 
    111112        self.affsUi.setModel(model) 
    112113 
  • oss/jlib/jlib/core/pubsub.py

    r719 r720  
    218218        rootItem = self.invisibleRootItem() 
    219219 
     220        node = subscription.node 
    220221        index = self.getSubscriptionIndex(subscription) 
    221222        if index.isValid(): 
    222             item = self.items[str(item.node)
     223            item = self.items[node
    223224        else: 
    224225            item = jlibSubscriptionItem(subscription) 
    225226         
    226227        rootItem.appendRow(item) 
    227         item.setData(QtCore.QVariant(QtCore.QString(str(item.node))), 
     228        item.setData(QtCore.QVariant(QtCore.QString(node)), 
    228229                     QtCore.Qt.DisplayRole) 
    229230 
    230         self.items[str(item.node)] = item 
     231        self.items[node] = item 
    231232 
    232233        return item 
  • oss/jlib/jlib/gui/pubsub/affiliation.py

    r719 r720  
    1414        Ui_jlibPubSubAffiliation.setupUi(self, parent) 
    1515        self.affiliations.verticalHeader().hide() 
     16        self.affiliations.contextMenuEvent = self.contextMenuEvent 
    1617 
    1718    def setModel(self, model): 
    1819        self.affiliations.setModel(model) 
     20 
     21    def setPubSub(self, pubsub): 
     22        self.pubsub = pubsub 
     23 
     24    def subscribeNode(self): 
     25        model = self.affiliations.model() 
     26        affiliation = model.getAffiliationItem(self.affiliations.currentIndex()).affiliation 
     27        self.pubsub.emit(QtCore.SIGNAL("subscribeNode(PyQt_PyObject)"), affiliation.node) 
     28     
     29    def contextMenuEvent(self, event): 
     30        menu = QtGui.QMenu(self.parent()) 
     31 
     32        actionSubscribeNode = QtGui.QAction(QtCore.QString("Subscribe to node"), self.parent()) 
     33        QtCore.QObject.connect(actionSubscribeNode, QtCore.SIGNAL("triggered()"), self.subscribeNode) 
     34        menu.addAction(actionSubscribeNode) 
     35 
     36        menu.exec_(event.globalPos())