def __init__(self, parent=None): super().__init__(parent) self.corpus = None self.initial_ngram_range = None # initial range of input corpus — used for inplace self.preprocessor = preprocess.Preprocessor() # -- INFO -- info_box = gui.widgetBox(self.controlArea, 'Info') info_box.setFixedWidth(self.control_area_width) self.controlArea.layout().addStretch() self.info_label = gui.label(info_box, self, '') self.update_info() # -- PIPELINE -- frame = QFrame() frame.setContentsMargins(0, 0, 0, 0) frame.setFrameStyle(QFrame.Box) frame.setStyleSheet('.QFrame { border: 1px solid #B3B3B3; }') frame_layout = QVBoxLayout() frame_layout.setContentsMargins(0, 0, 0, 0) frame_layout.setSpacing(0) frame.setLayout(frame_layout) self.stages = [] for stage in self.preprocessors: widget = stage(self) self.stages.append(widget) setattr(self, stage.attribute, widget) frame_layout.addWidget(widget) widget.change_signal.connect(self.settings_invalidated) frame_layout.addStretch() self.scroll = QScrollArea() self.scroll.setWidget(frame) self.scroll.setWidgetResizable(True) self.scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) self.scroll.resize(frame_layout.sizeHint()) self.scroll.setMinimumHeight(500) self.set_minimal_width() self.mainArea.layout().sizeHint() self.mainArea.layout().addWidget(self.scroll) # Buttons area self.report_button.setFixedWidth(self.control_area_width) commit_button = gui.auto_commit(self.buttonsArea, self, 'autocommit', 'Commit', box=False) commit_button.setFixedWidth(self.control_area_width) self.buttonsArea.layout().addWidget(commit_button)
def __init__(self, parent=None): super().__init__(parent) self.corpus = None self.initial_ngram_range = None # initial range of input corpus — used for inplace self.preprocessor = preprocess.Preprocessor() # -- INFO -- info_box = gui.widgetBox(self.controlArea, 'Info') info_box.setFixedWidth(self.control_area_width) self.controlArea.layout().addStretch() self.info_label = gui.label(info_box, self, '') self.update_info() # -- PIPELINE -- frame = QFrame() frame.setContentsMargins(0, 0, 0, 0) frame.setFrameStyle(QFrame.Box) frame.setStyleSheet('.QFrame { border: 1px solid #B3B3B3; }') frame_layout = QVBoxLayout() frame_layout.setContentsMargins(0, 0, 0, 0) frame_layout.setSpacing(0) frame.setLayout(frame_layout) self.stages = [] for stage in self.preprocessors: widget = stage(self) self.stages.append(widget) setattr(self, stage.attribute, widget) frame_layout.addWidget(widget) widget.change_signal.connect(self.settings_invalidated) frame_layout.addStretch() self.scroll = QScrollArea() self.scroll.setWidget(frame) self.scroll.setWidgetResizable(True) self.scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) self.scroll.resize(frame_layout.sizeHint()) self.scroll.setMinimumHeight(500) self.set_minimal_width() self.mainArea.layout().addWidget(self.scroll) # Buttons area self.report_button.setFixedWidth(self.control_area_width) commit_button = gui.auto_commit(self.buttonsArea, self, 'autocommit', 'Commit', box=False) commit_button.setFixedWidth(self.control_area_width - 5) self.buttonsArea.layout().addWidget(commit_button)
class ColorButton(QWidget): def __init__(self, master=None, parent=None, label=None, color=None): QWidget.__init__(self, master) self.parent = parent self.master = master if self.parent and self.parent.layout() is not None: self.parent.layout().addWidget(self) self.setLayout(QHBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.icon = QFrame(self) self.icon.setFixedSize(ColorButtonSize, ColorButtonSize) self.icon.setAutoFillBackground(1) self.icon.setFrameStyle(QFrame.StyledPanel + QFrame.Sunken) self.layout().addWidget(self.icon) if label != None: self.label = gui.widgetLabel(self, label) self.layout().addWidget(self.label) if color != None: self.setColor(color) def setColor(self, color): self.color = color palette = QPalette() palette.setBrush(QPalette.Background, color) self.icon.setPalette(palette) def getColor(self): return self.color def mousePressEvent(self, ev): color = QColorDialog.getColor(self.color) if color.isValid(): self.setColor(color) if self.master and hasattr(self.master, "colorSchemaChange"): self.master.colorSchemaChange()
class ColorButton(QWidget): def __init__(self, master=None, parent=None, label=None, color=None): QWidget.__init__(self, master) self.parent = parent self.master = master if self.parent and self.parent.layout() is not None: self.parent.layout().addWidget(self) self.setLayout(QHBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.icon = QFrame(self) self.icon.setFixedSize(ColorButtonSize, ColorButtonSize) self.icon.setAutoFillBackground(1) self.icon.setFrameStyle(QFrame.StyledPanel + QFrame.Sunken) self.layout().addWidget(self.icon) if label != None: self.label = gui.widgetLabel(self, label) self.layout().addWidget(self.label) if color != None: self.setColor(color) def setColor(self, color): self.color = color palette = QPalette() palette.setBrush(QPalette.Background, color) self.icon.setPalette(palette) def getColor(self): return self.color def mousePressEvent(self, ev): color = QColorDialog.getColor(self.color) if color.isValid(): self.setColor(color) if self.master and hasattr(self.master, "colorSchemaChange"): self.master.colorSchemaChange()