def __init__(self, callback, parent=None): """ Creates a FindWidget. 'callback' should be function of signature: (string text, bool forward, bool match_case). """ QtGui.QWidget.__init__(self, parent) self._callback = callback layout = QtGui.QHBoxLayout(self) layout.setSpacing(5) layout.setMargin(0) self.close_button = QtGui.QToolButton(self) self.close_button.setAutoRaise(True) self.close_button.setIcon(QtGui.QIcon(pixmap_cache('closetab.png'))) QtCore.QObject.connect(self.close_button, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('hide()')) layout.addWidget(self.close_button) self.find_edit = QtGui.QLineEdit(self) self.find_edit.setMinimumSize(QtCore.QSize(100, 0)) signal = QtCore.SIGNAL('textChanged(QString)') QtCore.QObject.connect(self.find_edit, signal, self.update_buttons) signal = QtCore.SIGNAL('returnPressed()') QtCore.QObject.connect(self.find_edit, signal, self._next_clicked) layout.addWidget(self.find_edit) self.previous_button = QtGui.QToolButton(self) self.previous_button.setAutoRaise(True) self.previous_button.setIcon(QtGui.QIcon(pixmap_cache('previous.png'))) self.previous_button.setText('Previous') self.previous_button.setToolButtonStyle( QtCore.Qt.ToolButtonTextBesideIcon) signal = QtCore.SIGNAL('clicked()') QtCore.QObject.connect(self.previous_button, signal, self._previous_clicked) layout.addWidget(self.previous_button) self.next_button = QtGui.QToolButton(self) self.next_button.setAutoRaise(True) self.next_button.setIcon(QtGui.QIcon(pixmap_cache('next.png'))) self.next_button.setText('Next') self.next_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) signal = QtCore.SIGNAL('clicked()') QtCore.QObject.connect(self.next_button, signal, self._next_clicked) layout.addWidget(self.next_button) self.case_box = QtGui.QCheckBox('Match case', self) layout.addWidget(self.case_box) # Align items to left and prevent text field from growing too large layout.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)) self.update_buttons()
def __init__(self, callback, parent=None): """ Creates a FindWidget. 'callback' should be function of signature: (string text, bool forward, bool match_case). """ QtGui.QWidget.__init__(self, parent) self._callback = callback layout = QtGui.QHBoxLayout(self) layout.setSpacing(5) layout.setMargin(0) self.close_button = QtGui.QToolButton(self) self.close_button.setAutoRaise(True) self.close_button.setIcon(QtGui.QIcon(pixmap_cache('closetab.png'))) QtCore.QObject.connect(self.close_button, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('hide()')) layout.addWidget(self.close_button) self.find_edit = QtGui.QLineEdit(self) self.find_edit.setMinimumSize(QtCore.QSize(100, 0)) signal = QtCore.SIGNAL('textChanged(QString)') QtCore.QObject.connect(self.find_edit, signal, self.update_buttons) signal = QtCore.SIGNAL('returnPressed()') QtCore.QObject.connect(self.find_edit, signal, self._next_clicked) layout.addWidget(self.find_edit) self.previous_button = QtGui.QToolButton(self) self.previous_button.setAutoRaise(True) self.previous_button.setIcon(QtGui.QIcon(pixmap_cache('previous.png'))) self.previous_button.setText('Previous') self.previous_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) signal = QtCore.SIGNAL('clicked()') QtCore.QObject.connect(self.previous_button, signal, self._previous_clicked) layout.addWidget(self.previous_button) self.next_button = QtGui.QToolButton(self) self.next_button.setAutoRaise(True) self.next_button.setIcon(QtGui.QIcon(pixmap_cache('next.png'))) self.next_button.setText('Next') self.next_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) signal = QtCore.SIGNAL('clicked()') QtCore.QObject.connect(self.next_button, signal, self._next_clicked) layout.addWidget(self.next_button) self.case_box = QtGui.QCheckBox('Match case', self) layout.addWidget(self.case_box) # Align items to left and prevent text field from growing too large layout.addItem(QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)) self.update_buttons()
def get_pixmap(self, name): """ Get a pixmap representing a possible object traits value. """ if name is None: return None factory = self.factory name = ''.join((factory.prefix, name, factory.suffix)) return pixmap_cache(name, factory._image_path)