Esempio n. 1
0
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()
Esempio n. 2
0
    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)
Esempio n. 3
0
 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()
Esempio n. 4
0
 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())
Esempio n. 5
0
    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()
Esempio n. 6
0
 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])
Esempio n. 7
0
 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)
     ]
Esempio n. 8
0
    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()
Esempio n. 9
0
    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)
Esempio n. 10
0
 def __init__(self, rect, drawcontext=None):
     self._drawcontext = None or DrawContext()
     self.rect = rect
     self._noterects = extract_noterects(rect, number=8)
Esempio n. 11
0
 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