Example #1
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.model = ProcCodeTreeModel()

        self.tree_view = QtGui.QTreeView(self)
        self.tree_view.setIndentation(15)  #reduce default of 20
        self.tree_view.setModel(self.model)

        find_icon = QtGui.QIcon(':icons/search.png')

        self.search_line_edit = QtGui.QLineEdit()
        self.search_but = QtGui.QPushButton(find_icon,"")
        self.search_but.setMaximumWidth(40)

        search_frame = QtGui.QFrame()
        layout = QtGui.QHBoxLayout(search_frame)
        layout.setMargin(0)
        layout.setSpacing(0)
        layout.addWidget(self.search_line_edit)
        layout.addWidget(self.search_but)

        layout = QtGui.QVBoxLayout(self)
        layout.setMargin(3)
        layout.addWidget(self.tree_view)
        layout.addWidget(search_frame)

        self.tree_view.doubleClicked.connect(self.item_double_clicked)
        self.search_line_edit.returnPressed.connect(self.search_but.click)
        self.search_but.clicked.connect(self.search_items)
Example #2
0
class ProcCodeWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.model = ProcCodeTreeModel()

        self.tree_view = QtGui.QTreeView(self)
        self.tree_view.setIndentation(15)  #reduce default of 20
        self.tree_view.setModel(self.model)

        find_icon = QtGui.QIcon(':icons/search.png')

        self.search_line_edit = QtGui.QLineEdit()
        self.search_but = QtGui.QPushButton(find_icon,"")
        self.search_but.setMaximumWidth(40)

        search_frame = QtGui.QFrame()
        layout = QtGui.QHBoxLayout(search_frame)
        layout.setMargin(0)
        layout.setSpacing(0)
        layout.addWidget(self.search_line_edit)
        layout.addWidget(self.search_but)

        layout = QtGui.QVBoxLayout(self)
        layout.setMargin(3)
        layout.addWidget(self.tree_view)
        layout.addWidget(search_frame)

        self.tree_view.doubleClicked.connect(self.item_double_clicked)
        self.search_line_edit.returnPressed.connect(self.search_but.click)
        self.search_but.clicked.connect(self.search_items)

    def sizeHint(self):
        return QtCore.QSize(120, 300)

    def item_double_clicked(self, index):
        item = self.model.data(index, QtCore.Qt.UserRole)
        if item:
            self.parent().emit(QtCore.SIGNAL("Code Selected"), item)

    def search_items(self):
        search_field = self.search_line_edit.text()
        result, index = self.model.find_description(search_field)
        if result:
            self.tree_view.setCurrentIndex(index)
        else:
            QtGui.QMessageBox.information(self, _("results"),
                "'%s' %s"% (search_field, _("not found")))