def __init__(self, *args, **kwargs): super(ChooseTypeDepPage, self).__init__(*args, **kwargs) self.setTitle("Choose the type of dependency") layout = QtGui.QVBoxLayout(self) self.__title = QtGui.QLabel("", self) layout.addWidget(self.__title) self.__radioGroup = QtGui.QButtonGroup(self) self.__radioGroup.setExclusive(True) for val, meta in sorted(DEPEND_TYPES.items()): btn = QtGui.QRadioButton(meta['label'], self) self.__radioGroup.addButton(btn, val) label = QtGui.QLabel( "<font color='#c3c3c3'>%s</font>" % meta['descript'], self) label.setIndent(30) font = btn.font() font.setPointSize(font.pointSize() - 1) label.setFont(font) layout.addWidget(btn) layout.addWidget(label) self.registerField("dependType*", self, "dependType") self.__radioGroup.buttonClicked[int].connect(self.completeChanged)
def __init__(self, parent=None, project=None, **kwargs): super(ChooseTargetsPage, self).__init__(parent) self.__project = project self.setTitle("Apply the dependency") layout = QtGui.QVBoxLayout(self) layout.setContentsMargins(2, 0, 2, 0) self.__errText = QtGui.QLabel("", self) self.group1 = group1 = QtGui.QGroupBox("Dependant Item", self) groupLayout1 = QtGui.QVBoxLayout(group1) groupLayout1.setContentsMargins(0, 0, 0, 0) self.__sourceSelector = src = common.job.JobColumnWidget( project=project, parent=self) # src.setSingleSelections(True) groupLayout1.addWidget(src) self.group2 = group2 = QtGui.QGroupBox("Item Depends On", self) groupLayout2 = QtGui.QVBoxLayout(group2) groupLayout2.setContentsMargins(0, 0, 0, 0) self.__destSelector = dst = common.job.JobColumnWidget(project=project, parent=self) groupLayout2.addWidget(self.__destSelector) layout.addWidget(self.__errText) layout.addWidget(group1) layout.addWidget(group2) self.registerField("sourceSelection*", self, "sourceSelection") self.registerField("destSelection*", self, "destSelection")
def __init__(self, value, parent): FormWidget.__init__(self, parent) data, color = value self.label = QtGui.QLabel(data, self) self.label.setStyleSheet( "border: 1px solid #222222; background-color: %s; border-radius: 6px;" % color) self.label.setMinimumWidth(100) self.setWidget(self.label)
def setHeaderLabels(self, labels): layout = self._headerLayer while layout.count(): item = layout.takeAt(0) widget = item.widget() if widget: widget.deleteLater() for i, name in enumerate(labels): label = QtGui.QLabel(name, self) try: label.setFixedWidth(self.COLUMN_WIDTHS[i]) except: pass layout.addWidget(label)
def __init__(self, value, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QGridLayout(self) layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) self._widget = None self.__status = QtGui.QLabel(self) self.__status.setContentsMargins(5, 0, 0, 0) layout.addWidget(self.__status, 0, 2) if not FormWidget.__LOCKED_PIX: FormWidget.__LOCKED_PIX = QtGui.QPixmap(":/images/locked.png") FormWidget.__LOCKED_PIX = FormWidget.__LOCKED_PIX.scaled( QtCore.QSize(12, 12), QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
def __init__(self, name, ptype, parent=None): QtGui.QDockWidget.__init__(self, parent) # Add the standard dock action buttons in. # TODO: hook up signals self.__label = QtGui.QLabel(self) self.__label.setIndent(10) self.__name = None self.__ptype = ptype self.setName(name) self.attrs = {} self.__refreshTimer = None # Note: the widet in the panel adds more buttons # to this toolbar. titleBar = QtGui.QWidget(self) barLayout = QtGui.QHBoxLayout(titleBar) barLayout.setSpacing(0) barLayout.setContentsMargins(0, 0, 0, 0) self.__toolbar = toolbar = QtGui.QToolBar(self) toolbar.setIconSize(QtCore.QSize(18, 18)) toolbar.addAction(QtGui.QIcon(":/images/close.png"), "Close", self.__close) float_action = QtGui.QAction(QtGui.QIcon(":/images/float.png"), "Float", self) float_action.toggled.connect(self.__floatingChanged) float_action.setCheckable(True) toolbar.addAction(float_action) config_action = QtGui.QAction(QtGui.QIcon(":/images/config.png"), "Configure Panel", self) config_action.triggered.connect(self._openPanelSettingsDialog) toolbar.addAction(config_action) toolbar.addSeparator() barLayout.addWidget(toolbar) barLayout.addStretch() barLayout.addWidget(self.__label) barLayout.addSpacing(4) self.setTitleBarWidget(titleBar) self.init()
def __init__(self, filt=None, items=None, data=None, parent=None): QtGui.QWidget.__init__(self, parent) self.__data = {} self.__txt_label = QtGui.QLabel(self) self.__txt_filter = QtGui.QLineEdit(self) self.__txt_filter.textChanged.connect(self.__filterChanged) self.__model = QtGui.QStringListModel(self) self.__proxyModel = proxy = QtGui.QSortFilterProxyModel(self) proxy.setSourceModel(self.__model) self.__list = view = QtGui.QListView(self) view.setSelectionMode(self.__list.ExtendedSelection) view.setModel(proxy) proxy.sort(0) proxy.setDynamicSortFilter(True) layout = QtGui.QVBoxLayout(self) layout.setSpacing(4) layout.setContentsMargins(0, 0, 0, 0) hlayout = QtGui.QHBoxLayout() hlayout.setContentsMargins(0, 0, 0, 0) hlayout.addWidget(self.__txt_label) hlayout.addWidget(self.__txt_filter) layout.addLayout(hlayout) layout.addWidget(self.__list) # connections self.__list.doubleClicked.connect(self._itemDoubleClicked) self.__list.clicked.connect(self._itemClicked) self.__list.selectionModel().selectionChanged.connect( self._selectionChanged) if items: self.setStringList(items) if filt: self.setFilter(filt)
def __init__(self, text, help, parent=None): QtGui.QWidget.__init__(self, parent) QtGui.QHBoxLayout(self) self.__help = help self.__btn = QtGui.QToolButton(self) self.__btn.setIcon(QtGui.QIcon(":/images/help.png")) self.__btn.setFocusPolicy(QtCore.Qt.NoFocus) self.__btn.clicked.connect(self.__show_popup) self.__btn.setStyleSheet("QToolButton { border: 0px }") self.__label = QtGui.QLabel(text, self) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(0) self.layout().addWidget(self.__btn) self.layout().addSpacing(5) self.layout().addWidget(self.__label) self.layout().addStretch()
def __init__(self, job=None, task=None, attrs=None, parent=None): QtGui.QWidget.__init__(self, parent) self.__task = None self.__log_file = QtCore.QFile() self.__log_stream = QtCore.QTextStream() openAction = QtGui.QAction("Open Log File", self) openAction.setShortcut(QtGui.QKeySequence.Open) self.addAction(openAction) self.__searchLine = QtGui.QLineEdit(self) self.__chk_tail = QtGui.QAction("Tail log", self) self.__chk_tail.setCheckable(True) self.__findPrevBtn = prev = QtGui.QAction(self) prev.setToolTip("Find Previous Match") prev.setIcon(QtGui.QIcon(":/images/left_arrow.png")) self.__findNextBtn = nxt = QtGui.QAction(self) nxt.setToolTip("Find Next Match") nxt.setIcon(QtGui.QIcon(":/images/right_arrow.png")) self.__jobNameLabel = label = QtGui.QLabel(self) label.setIndent(10) # label.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse) label.hide() self.__jobNameSpacer = QtGui.QWidget(self) self.__jobNameSpacer.setFixedHeight(6) self.__jobNameSpacer.hide() def spacer(width): w = QtGui.QWidget() w.setFixedWidth(width) return w stretch = QtGui.QWidget() stretch.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) self.__toolbar = tb = QtGui.QToolBar(self) tb.addWidget(spacer(4)) tb.addWidget(QtGui.QLabel("Find: ", self)) tb.addWidget(self.__searchLine) tb.addAction(self.__findPrevBtn) tb.addAction(self.__findNextBtn) tb.addWidget(stretch) tb.addAction(self.__chk_tail) tb.addWidget(spacer(4)) self.__view = view = QtGui.QPlainTextEdit(self) font = view.font() font.setPixelSize(DEFAULT_FONT_SIZE) view.setFont(font) view.setLineWrapMode(view.WidgetWidth) view.setReadOnly(True) view.setMaximumBlockCount(1000000) # self.__view.setFocusPolicy(QtCore.Qt.NoFocus) layout = QtGui.QVBoxLayout(self) layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self.__toolbar) layout.addWidget(self.__jobNameLabel) layout.addWidget(self.__jobNameSpacer) layout.addWidget(self.__view) self.__highlighter = TextHighlighter(view.document()) self.__logWatcher = FileWatcher(self) # Connections self.__logWatcher.fileChanged.connect(self.__logUpdated) self.__chk_tail.toggled.connect(self.__logTailToggled) self.__searchLine.textChanged.connect(self.findText) self.__searchLine.returnPressed.connect(self.findNext) self.__findPrevBtn.triggered.connect(self.findPrev) self.__findNextBtn.triggered.connect(self.findNext) openAction.triggered.connect(self.openLogFile) # Optional args if job: self.setJobName(job.name) if task: self.setCurrentTask(task)
def __init__(self, project, *args, **kwargs): super(FilterManager, self).__init__(*args, **kwargs) self._projectLabel = QtGui.QLabel(self) self._filtersList = filt = FiltersList(parent=self) self._matchersList = match = MatchersList(parent=self) self._actionsList = act = ActionsList(parent=self) self._toolbar = tb = QtGui.QToolBar(self) tb.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) tb.setMaximumHeight(32) tb.addAction(QtGui.QIcon(":/images/refresh.png"), "Refresh", self.refresh) self._status = QtGui.QStatusBar(self) h_splitter = QtGui.QSplitter(QtCore.Qt.Horizontal, self) h_splitter.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) v_splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self) v_splitter.addWidget(self._matchersList) v_splitter.addWidget(self._actionsList) h_splitter.addWidget(self._filtersList) h_splitter.addWidget(v_splitter) tbLayout = QtGui.QHBoxLayout() tbLayout.setContentsMargins(0, 0, 4, 0) tbLayout.addWidget(self._toolbar) tbLayout.addWidget(self._projectLabel) layout = QtGui.QVBoxLayout(self) layout.setContentsMargins(6, 0, 6, 4) layout.setSpacing(2) layout.addLayout(tbLayout) layout.addWidget(h_splitter) layout.addWidget(self._status) v_splitter.setSizes([100,100]) h_splitter.setSizes([100,100]) self.setStyleSheet(""" DragDropItem { border: 1px solid black; border-radius: 4px; background-color: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 rgb(40, 40, 40), stop: 1 rgb(27, 28, 30) ); } DragDropItem:checked { border: 1px solid rgb(100,100,100); background-color: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 1 rgb(40, 40, 40), stop: 0 rgb(27, 28, 30) ); } """) self.setProject(project) # Connnections filt.filterSelected.connect(match.setFilterObject) filt.filterSelected.connect(act.setFilterObject)
def __init__(self, value, parent=None): FormWidget.__init__(self, parent) self.setWidget(QtGui.QLabel(formatDateTime(value), self))
def _setSuffix(self, value): self.layout().addWidget(QtGui.QLabel(value), 0, 1)
def __init__(self, times, parent=None): FormWidget.__init__(self, parent) self.setWidget(QtGui.QLabel(formatDuration(times[0], times[1]), self))
def __init__(self, filt=None, items=None, data=None, parent=None): super(FilterableListBox, self).__init__(parent) self.__data = {} height = 20 self.__txt_label = QtGui.QLabel(self) self.__txt_filter = QtGui.QLineEdit(self) self.__txt_filter.setFixedHeight(height) self.__txt_filter.textChanged.connect(self.__filterChanged) self.__txt_clear = btn = QtGui.QPushButton(self) btn.setIcon(QtGui.QIcon(":/images/delete.png")) btn.setFlat(True) btn.setFixedSize(height, height) btn.setIconSize(QtCore.QSize(14, 14)) btn.setVisible(False) self.__model = QtGui.QStringListModel(self) self.__proxyModel = proxy = QtGui.QSortFilterProxyModel(self) proxy.setSourceModel(self.__model) self.__list = view = QtGui.QListView(self) view.setSelectionMode(self.__list.ExtendedSelection) view.setModel(proxy) proxy.sort(0) proxy.setDynamicSortFilter(True) layout = QtGui.QVBoxLayout(self) layout.setSpacing(4) layout.setContentsMargins(0, 0, 0, 0) hlayout = QtGui.QHBoxLayout() hlayout.setSpacing(0) hlayout.setContentsMargins(0, 0, 0, 0) hlayout.addWidget(self.__txt_label) hlayout.addSpacing(2) hlayout.addWidget(self.__txt_filter) hlayout.addWidget(self.__txt_clear) layout.addLayout(hlayout) layout.addWidget(self.__list) # connections self.__list.doubleClicked.connect(self._itemDoubleClicked) self.__list.clicked.connect(self._itemClicked) self.__selModel = self.__list.selectionModel() self.__selModel.selectionChanged.connect(self._selectionChanged) self.__txt_filter.textChanged.connect( lambda v: self.__txt_clear.setVisible(bool(v))) self.__txt_clear.clicked.connect(lambda: self.setFilter('')) if items: self.setStringList(items) if filt: self.setFilter(filt)