def update_connect_to_list(self, infer_name): self.connect_from_listmodel.clear() self.connect_to_listmodel.clear() for node in self.dotgraph.get_node_list(): pipeline_item = QStandardItem() pipeline_item.setText(node.get_name()) pipeline_item.setCheckable(True) pipeline_item.setCheckState(False) if node.get_name() == infer_name.encode('utf-8'): continue if node.get('nodetype') == 'input': self.connect_from_listmodel.appendRow(pipeline_item) # self.connect_from_listview.addItem(node.get_name()) elif node.get('nodetype') == 'output': self.connect_to_listmodel.appendRow(pipeline_item) # self.connect_to_listview.addItem(node.get_name()) elif node.get('nodetype') == 'infer': if infer_name in self.get_infer_desc(infer_name)['connect_from']: self.connect_from_listmodel.appendRow(pipeline_item) elif infer_name in self.get_infer_desc(infer_name)['connect_to']: self.connect_to_listmodel.appendRow(pipeline_item) self.connect_from_listview.setModel(self.connect_from_listmodel) self.connect_to_listview.setModel(self.connect_to_listmodel)
def _get_result_cb(self, status, res): rospy.loginfo("got result!") self._blocks_model.setRowCount(0) self._blocks_model.setRowCount(len(res.blocks)) for (i, block) in zip(range(len(res.blocks)), res.blocks): # Store in dict self.blocks[block.name] = block cb = QStandardItem(True) cb.setCheckable(True) cb.setCheckState(Qt.Checked if block.state.value == conman_msgs. msg.TaskState.RUNNING else Qt.Unchecked) cb.setTextAlignment(Qt.AlignHCenter) cb.setTristate(True) action = QStandardItem(True) action.setText("") state = QStandardItem(True) state.setText(state_map[block.state.value]) name = QStandardItem(True) name.setText(str(block.name)) self._blocks_model.setItem(i, 0, cb) self._blocks_model.setItem(i, 1, action) self._blocks_model.setItem(i, 2, state) self._blocks_model.setItem(i, 3, name) for (i, group) in zip(range(len(res.groups)), res.groups): self.groups[group.name] = group cb = QStandardItem(True) cb.setCheckable(True) cb.setCheckState(Qt.Checked) cb.setTextAlignment(Qt.AlignHCenter) cb.setEnabled(False) name = QStandardItem(True) name.setText(str(group.name)) self._groups_model.setItem(i, 0, cb) self._groups_model.setItem(i, 3, name) self._update_groups() self._update_blocks() self._widget.blocks_table.resizeColumnsToContents() self._widget.blocks_table.horizontalHeader().setStretchLastSection( True) self._widget.groups_table.resizeColumnsToContents() self._widget.groups_table.horizontalHeader().setStretchLastSection( True)
def _get_result_cb(self, status, res): rospy.loginfo("got result!") self._blocks_model.setRowCount(0) self._blocks_model.setRowCount(len(res.blocks)) for (i,block) in zip(range(len(res.blocks)),res.blocks): # Store in dict self.blocks[block.name] = block cb = QStandardItem(True) cb.setCheckable(True) cb.setCheckState(Qt.Checked if block.state.value == conman_msgs.msg.TaskState.RUNNING else Qt.Unchecked) cb.setTextAlignment(Qt.AlignHCenter) cb.setTristate(True) action = QStandardItem(True) action.setText("") state = QStandardItem(True) state.setText(state_map[block.state.value]) name = QStandardItem(True) name.setText(str(block.name)) self._blocks_model.setItem(i,0,cb) self._blocks_model.setItem(i,1,action) self._blocks_model.setItem(i,2,state) self._blocks_model.setItem(i,3,name) for (i,group) in zip(range(len(res.groups)),res.groups): self.groups[group.name] = group cb = QStandardItem(True) cb.setCheckable(True) cb.setCheckState(Qt.Checked) cb.setTextAlignment(Qt.AlignHCenter) cb.setEnabled(False) name = QStandardItem(True) name.setText(str(group.name)) self._groups_model.setItem(i,0,cb) self._groups_model.setItem(i,3,name) self._update_groups() self._update_blocks() self._widget.blocks_table.resizeColumnsToContents() self._widget.blocks_table.horizontalHeader().setStretchLastSection(True) self._widget.groups_table.resizeColumnsToContents() self._widget.groups_table.horizontalHeader().setStretchLastSection(True)
def update_connect_to_list(self, output_name): self.connect_from_listmodel.clear() for node in self.dotgraph.get_node_list(): if node.get('nodetype') == 'input': pass elif node.get('nodetype') == 'output': pass elif node.get('nodetype') == 'infer': if output_name in self.get_infer_desc( node.get_name())['connect_to']: pipeline_item = QStandardItem() pipeline_item.setText(node.get_name()) pipeline_item.setCheckable(True) pipeline_item.setCheckState(False) self.connect_from_listmodel.appendRow(pipeline_item) self.connect_from_listview.setModel(self.connect_from_listmodel)