Exemplo n.º 1
0
 def setBoundings(self, **kwargs):
     logger.info('%s := %s', self.__class__.__qualname__, fmt(kwargs))
     if 'r' in kwargs:
         self._r = kwargs.get('r')
     if 'R' in kwargs:
         self._R = kwargs.get('R')
     if self._engine:
         self._engine.update(**kwargs)
Exemplo n.º 2
0
 def __init__(self, cfg, r, dr, spacing=0, margin=0, parent=None):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__(parent)
     self.cfg = cfg
     if parent is not None:
         self.setMargin(margin)
     self.r = r
     self.dr = dr
     self.setSpacing(spacing)
     self.sectors = []
Exemplo n.º 3
0
 def __init__(self, slicee, r=None, R=None, gs=None, parent=None):
     logger.info('%s init', self.__class__.__qualname__)
     self._engine = SliceLayoutEngine(r=r, R=R, spacing=4)
     super().__init__(parent)
     self.sty = gs.sty['Bud']
     self.cfg = gs.cfg
     self.text = gs.bud['slices'][0].get('name')
     self._text_rf = QRect(0, 0, 16, 16)
     self.font = QFont(str(self.sty['Text']['font']), self._text_rf.height())
     self.build(slicee)
Exemplo n.º 4
0
    def keyPressEvent(self, e, gs=None):
        # Tab, Space -- out of questions as used by Qt (and me in future)
        #   to choose/press UI elements
        if e.key() in [Qt.Key_Escape, Qt.Key_Return]:
            qApp.quit()
        if e.modifiers() == Qt.ShiftModifier and e.key() == Qt.Key_K:
            print("K")
            e.accept()
        logger.info("{:x} + {:x}".format(int(e.modifiers()), int(e.key())))

        a = actions.get(gs.kmp.get( (int(e.modifiers()), int( e.key() )) ))
        if hasattr(a, '__call__'): a()
Exemplo n.º 5
0
 def __init__(self, sgm, **kwargs):
     logger.info('%s init: %s', self.__class__.__qualname__, str(sgm))
     super().__init__(**kwargs)
     self.sty = self.gs.sty['Segment']
     self.sgm = sgm
     self._text_rf = QRect(0, 0, 16, 16)
     self.font = QFont(str(self.sty['Text']['font']), self._text_rf.height())
     self._regime = 'normal'
     self._path = None
     # self.setMouseTracking(True)
     # self.setFlags(QGraphicsItem.ItemIsSelectable |
     #               QGraphicsItem.ItemIsMovable)
     # self.setAcceptDrops(True)
     self.setAcceptHoverEvents(True)
Exemplo n.º 6
0
    def __init__(self, name="", act=None, parent=None):
        logger.info('%s init: %s', self.__class__.__qualname__, name)
        super().__init__(parent)
        self.sty = self.gs.sty['Segment']

        self.setText(name)
        self.doAction = act
        self.regime = 'normal'

        self.gPath = None
        self.gText = QRect(0, 0, 20, 20)

        self.setFont(QtGui.QFont('Ubuntu', 16))
        self.setMouseTracking(True)
        self.resize(self.sizeHint())
Exemplo n.º 7
0
    def __init__(self, name="", act=None, parent=None):
        logger.info('%s init: %s', self.__class__.__qualname__, name)
        super().__init__(parent)
        self.sty = self.gs.sty['Segment']

        self.setText(name)
        self.doAction = act
        self.regime = 'normal'

        self.gPath = None
        self.gText = QRect(0, 0, 20, 20)

        self.setFont(QtGui.QFont('Ubuntu', 16))
        self.setMouseTracking(True)
        self.resize(self.sizeHint())
Exemplo n.º 8
0
    def resizeEvent(self, e):
        sz = e.size()
        logger.info('%s: resize %s, %s', self.__class__.__qualname__,
                    fmt(sz), fmt(self.scene().sceneRect()))
        # CHG: fast (no bud recreation) but blur fonts after scaling
        # THINK: may it be useful for wide scene?
        # TODO: remove it when port all to QGraphics..
        # self.fitInView(self.scene().sceneRect(), Qt.KeepAspectRatio)

        # NOTE: eliminates possibility for scrollbars and shrinking
        # NOTE: for asymetric scene anyway will grow similarly in all
        # directions
        self.scene().setSceneRect(-sz.width()/2, -sz.height()/2, sz.width(), sz.height())

        # self._wdg.setGeometry(0, 0, sz.width(), sz.height())
        # rrf = QRectF(80, 80, sz.width(), sz.height())
        # self._wdg.geometryChanged.emit()
        # self._wdg.setGeometry(rrf)
        # self._wdg.geometryChanged.emit()
        # self._wdg.setGeometry(QRectF(0, 0, sz.width(), sz.height()))
        # self.centerOn(0, 0)
        # self._wdg.layout().updateGeometry()
        super().resizeEvent(e)
Exemplo n.º 9
0
    def __init__(self, gs=None, parent=None):
        logger.info('%s init', self.__class__.__qualname__)
        super().__init__(parent)
        self.sty = gs.sty['Bud']
        self.cfg = gs.cfg
        self.setStyleSheet("background:transparent")

        self.name = gs.bud['slices'][0].get('name', "slice")  # None
        ring = gs.bud['slices'][0]['rings'][0]

        a = int(self.cfg['Window']['size'])
        self.r = (0.3 * a) // 2
        self.dr = (0.7 * a) // 2

        pie = PieLayout(self.cfg, self.r, self.dr, 0)
        for segment in ring['segments']:
            btn = SegmentWidget(segment.name,
                                lambda a=segment.action: sendKey(a))
            if not bool(self.cfg['Window']['no_tooltip']):
                btn.setToolTip(segment.tooltip)
            pie.addWidget(btn)
        self.setLayout(pie)

        self.setFont(QtGui.QFont('Ubuntu', 16))
Exemplo n.º 10
0
    def __init__(self, gs=None, parent=None):
        logger.info('%s init', self.__class__.__qualname__)
        super().__init__(parent)
        self.sty = gs.sty['Bud']
        self.cfg = gs.cfg
        self.setStyleSheet("background:transparent")

        self.name = gs.bud['slices'][0].get('name', "slice")  # None
        ring = gs.bud['slices'][0]['rings'][0]

        a = int(self.cfg['Window']['size'])
        self.r = (0.3 * a) // 2
        self.dr = (0.7 * a) // 2

        pie = PieLayout(self.cfg, self.r, self.dr, 0)
        for segment in ring['segments']:
            btn = SegmentWidget(segment.name,
                                lambda a=segment.action: sendKey(a))
            if not bool(self.cfg['Window']['no_tooltip']):
                btn.setToolTip(segment.tooltip)
            pie.addWidget(btn)
        self.setLayout(pie)

        self.setFont(QtGui.QFont('Ubuntu', 16))
Exemplo n.º 11
0
 def __init__(self, wdg, parent=None):
     logger.info('%s: init', self.__class__.__qualname__)
     super().__init__(parent)
     self._setup()
     self._compose(wdg)
     self.setMouseTracking(True)
Exemplo n.º 12
0
 def __init__(self):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__()
     self._setupWindow()
     self._attachElements()
     self._setupContextMenu()
Exemplo n.º 13
0
 def __init__(self, scene, parent=None):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__(parent)
     self._setup()
     self.setScene(scene)
     self.resize(scene.width(), scene.height())
Exemplo n.º 14
0
 def update(self, **kw):
     logger.info('%s update %s', self.__class__.__qualname__, fmt(kw))
     if not self.setup(kw) or not self.items:
         return
     self.applyToItems()
Exemplo n.º 15
0
 def __init__(self, parent=None):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__(parent)
     self.wdg = None
     self.setLayout(QtWidgets.QStackedLayout())
     self.setStyleSheet("background:transparent")
Exemplo n.º 16
0
 def __init__(self):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__()
     self._setupWindow()
     self._compose()
     self._setupContextMenu()
Exemplo n.º 17
0
 def __init__(self, parent=None):
     logger.info('%s init', self.__class__.__qualname__)
     super().__init__(parent)
     self.wdg = None
     self.setLayout(QtWidgets.QStackedLayout())
     self.setStyleSheet("background:transparent")
Exemplo n.º 18
0
Arquivo: bud.py Projeto: amerlyq/piony
    def __init__(self, gs, parent=None):
        super().__init__(parent)  # NEED: QStackedLayout
        logger.info('%s init', self.__class__.__qualname__)

        slices = gs.bud['slices'][0]
        self._slice = SliceWidget(slices, r=50, R=200, parent=self)
Exemplo n.º 19
0
Arquivo: bud.py Projeto: amerlyq/piony
 def refreshBuds(self):
     logger.info('%s: buds', self.__class__.__qualname__)
Exemplo n.º 20
0
 def boundings(self):
     logger.info('%s <R,A> %f', self.__class__.__qualname__, self._A)
     r, R = super().boundings()
     return (r, R, self._a, self._A)
Exemplo n.º 21
0
 def __init__(self, ring, **kw):
     engine = RingLayoutEngine(r=kw.get('r'), R=kw.get('R'))
     super().__init__(engine=engine, **kw)
     logger.info('%s init', self.__class__.__qualname__)
     self.build(ring)