class PatternEditorWidget(QtWidgets.QWidget): def __init__(self, pattern, parent=None): super().__init__(parent, QtCore.Qt.Window) self.drawcontext = DrawContext() self.graph = GraphWidget(pattern, self.drawcontext) self.menu = MenuWidget() self._scroll_area = QtWidgets.QScrollArea() self._scroll_area.setWidget(self.graph) self._scroll_area.setWidgetResizable(True) # hack to deactivate scroll on wheelEvent self._scroll_area.wheelEvent = lambda x: None self.layout = QtWidgets.QVBoxLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) self.layout.addWidget(self.menu) self.layout.addWidget(self._scroll_area) def keyPressEvent(self, event): if event.key() == QtCore.Qt.Key_Control: self.graph.add_selection_context = True def keyReleaseEvent(self, event): if event.key() == QtCore.Qt.Key_Control: self.graph.add_selection_context = False def set_theme(self, theme): self.drawcontext.set_theme(theme) self.graph.repaint() self.menu.repaint()
def __init__(self, pattern, parent=None): super().__init__(parent, QtCore.Qt.Window) self.drawcontext = DrawContext() self.graph = GraphWidget(pattern, self.drawcontext) self.menu = MenuWidget() self._scroll_area = QtWidgets.QScrollArea() self._scroll_area.setWidget(self.graph) self._scroll_area.setWidgetResizable(True) # hack to deactivate scroll on wheelEvent self._scroll_area.wheelEvent = lambda x: None self.layout = QtWidgets.QVBoxLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) self.layout.addWidget(self.menu) self.layout.addWidget(self._scroll_area)
def __init__(self, pattern, in_index, out_index, drawcontext=None): self._drawcontext = drawcontext or DrawContext() self.pattern = pattern self.in_index = in_index self.out_index = out_index self.returner = in_index.index[0] < out_index.index[0] self.path = None self.handler_rect = None self.triangle_path = None self.update_geometries()
def __init__(self, pattern, drawcontext=None, parent=None): super().__init__(parent) self.setMouseTracking(True) self.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) self._drawcontext = drawcontext or DrawContext() self.pattern = IGPattern(pattern.copy(), drawcontext=self._drawcontext) self._row = None self.add_selection_context = False self.setMinimumSize(self.sizeHint())
def __init__(self, number, lenght, drawcontext=None): self._drawcontext = drawcontext or DrawContext() self.number = number self._lenght = lenght self._rect = None self._body_rect = None self._plus_rect = None self._body_path = None self.update_geometries()
def __init__(self, rect, drawcontext=None, value=5, maxvalue=10): self.rect = rect self._drawcontext = drawcontext or DrawContext() self.value = value self._segmented_line_path = \ get_slider_segmented_line_path( self._drawcontext, rect, maxvalue + 1) self._value_rects = [ get_slider_handler_rect(rect, v, maxvalue) for v in range(maxvalue + 1) ] self._value_path = get_slider_handler_path(self._value_rects[value])
def __init__(self, pattern, drawcontext=None): self._drawcontext = drawcontext or DrawContext() self._pattern = pattern self._igrows = [ IGRow(number, len(row), self._drawcontext) for number, row in enumerate(self.rows) ] self._igindexes = [ IGIndex(index, pattern, self._drawcontext) for index in get_existing_indexes(pattern) ] self._igconnections = [ IGConnection(self, self.igindex(in_index), out_index, self._drawcontext) for out_index in self._igindexes for in_index in get_out_connected_indexes(pattern, out_index.index) ]
def __init__(self, index, pattern, drawcontext=None): self._drawcontext = drawcontext or DrawContext() self.selected = False self.pattern = pattern self.index = index self._rect = None self.inplug_rect = None self.outplug_rect = None self.body_rect = None self.figure_rect = None self.behavior_rect = None self._mas_rects = None self._igfigure = IGFigure(self.figure) self._rects = [] self.update_geometries()
def __init__(self, size=None, drawcontext=DrawContext(), parent=None): super().__init__(parent, QtCore.Qt.FramelessWindowHint) self.setAttribute(QtCore.Qt.WA_TranslucentBackground) self.drawcontext = drawcontext self._rejecter_state = False self._approver_state = False if size: self.setFixedSize(size) self.drawable_rect = get_balloon_drawable_rect(self.drawcontext, self.rect()) self._rejecter_rect = get_balloon_validator_rect(self.drawcontext, self.rect(), index=0) self._rejecter_path = get_balloon_rejecter_path(self._rejecter_rect) self._approver_rect = get_balloon_validator_rect(self.drawcontext, self.rect(), index=1) self._approver_path = get_balloon_approver_path(self._approver_rect) self._background_path = get_balloon_background_path( self.drawcontext, self.rect()) self.setMouseTracking(True)
def __init__(self, rect, drawcontext=None): self._drawcontext = None or DrawContext() self.rect = rect self._noterects = extract_noterects(rect, number=8)
def __init__(self, figure, rect=None, drawcontext=None): self._drawcontext = drawcontext or DrawContext() self._figure = list(figure) self._rect = rect self._noterects = extract_noterects(rect) if rect else None self.selected = None