Changeset 732

Show
Ignore:
Timestamp:
07/21/08 15:46:09 (4 months ago)
Author:
sylvain
Message:

Extended support for PubSub? messages so that they automatically update the Item model

Files:

Legend:

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

    r731 r732  
    110110        QtCore.QObject.connect(self.connection.qobj.pubsubnode, QtCore.SIGNAL("retrievedItems(PyQt_PyObject)"), 
    111111                               self.retrievedItems) 
     112        QtCore.QObject.connect(self.connection.qobj.pubsubnode, QtCore.SIGNAL("receivedPubSubMessage(PyQt_PyObject)"), 
     113                               self.displayPubSubItems) 
    112114 
    113115    def setSubscriptionsModel(self, subscriptions): 
     
    135137        self.nodesUi.setModel(model) 
    136138        self.nodesUi.setNode(items.node_name) 
     139 
     140    def displayPubSubItems(self, message): 
     141        model = self.nodesUi.model() 
     142        if model: 
     143            for item in message.items: 
     144                model.setNodeItem(item) 
    137145 
    138146    def messageReceived(self, message): 
  • oss/jlib/jlib/core/pubsub.py

    r731 r732  
    225225        else: 
    226226            item = jlibSubscriptionItem(subscription) 
    227          
    228         rootItem.appendRow(item) 
     227            rootItem.appendRow(item) 
     228         
    229229        item.setData(QtCore.QVariant(QtCore.QString(node)), 
    230230                     QtCore.Qt.DisplayRole) 
     
    276276        else: 
    277277            item = jlibSubscriptionItem(feature) 
    278          
    279         rootItem.appendRow(item) 
     278            rootItem.appendRow(item) 
     279 
    280280        item.setData(QtCore.QVariant(QtCore.QString(var)), 
    281281                     QtCore.Qt.DisplayRole) 
     
    329329        else: 
    330330            item = jlibAffiliationItem(affiliation) 
    331          
    332         rootItem.appendRow(item) 
     331            rootItem.appendRow(item) 
     332 
    333333        self.setData(self.index(item.row(), 0), QtCore.QVariant(QtCore.QString(node)), 
    334334                    QtCore.Qt.DisplayRole) 
     
    562562                 
    563563            if self.dataReady("message.received"): 
    564                 msg = self.recv("message.received") 
     564                message = self.recv("message.received") 
    565565                self.qobj.emit(QtCore.SIGNAL("receivedPubSubMessage(PyQt_PyObject)"), message)  
    566566                 
     
    613613        else: 
    614614            item = jlibNodeItem(node_item) 
    615          
    616         rootItem.appendRow(item) 
     615            rootItem.appendRow(item) 
     616 
    617617        self.setData(self.index(item.row(), 0), QtCore.QVariant(QtCore.QString(item_id)), 
    618618                    QtCore.Qt.DisplayRole) 
  • oss/jlib/jlib/gui/pubsub/node.py

    r731 r732  
    2929    def setModel(self, model): 
    3030        self.nodes.setModel(model) 
     31 
     32    def model(self): 
     33        return self.nodes.model() 
    3134 
    3235    def handleError(self, node):