Beispiel #1
0
 def __init__(self, obj, parent=None):
     super().__init__(parent)
     self.ui = Ui_TextInspector()
     self.ui.setupUi(self)
     self.obj = None
     fontSizes = list(range(6, 16)) + list(range(16, 34, 2)) + list(range(36, 48, 4)) + \
         list(range(48, 66, 6)) + list(range(66, 98, 8))
     self.ui.fontSize.addItems([str(i) for i in fontSizes])
     self.obj = obj
     self._loadProperties(obj)
Beispiel #2
0
 def __init__(self, obj, parent=None):
     super().__init__(parent)
     self.ui = Ui_TextInspector()
     self.ui.setupUi(self)
     self._obj = None
     fontSizes = list(range(6, 16)) + list(range(16, 34, 2)) + list(range(36, 48, 4)) + \
         list(range(48, 66, 6)) + list(range(66, 98, 8))
     self.ui.fontSize.addItems([str(i) for i in fontSizes])
     self._obj = obj
     self._loadProperties(obj)
Beispiel #3
0
class TextInspector(QWidget):
    edited = pyqtSignal()

    def __init__(self, obj, parent=None):
        super().__init__(parent)
        self.ui = Ui_TextInspector()
        self.ui.setupUi(self)
        self._obj = None
        fontSizes = list(range(6, 16)) + list(range(16, 34, 2)) + list(range(36, 48, 4)) + \
            list(range(48, 66, 6)) + list(range(66, 98, 8))
        self.ui.fontSize.addItems([str(i) for i in fontSizes])
        self._obj = obj
        self._loadProperties(obj)

    @property
    def obj(self):
        return self._obj

    @obj.setter
    def obj(self, new):
        self._obj = new
        self._loadProperties(new)

    def _loadProperties(self, obj: TextObj):
        self.ui.text.setText(obj.text)
        if obj.alignment & Qt.AlignLeft:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopLeft.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotLeft.setChecked(True)
            else:
                self.ui.btnMidLeft.setChecked(True)
        elif obj.alignment & Qt.AlignRight:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopRight.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotRight.setChecked(True)
            else:
                self.ui.btnMidRight.setChecked(True)
        else:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopCtr.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotCtr.setChecked(True)
            else:
                self.ui.btnMidCtr.setChecked(True)
        self.ui.fontFace.setCurrentText(obj.family)
        self.ui.fontSize.setCurrentText("{:g}".format(obj.ptSize/500))

    @pyqtSlot(int)
    def on_alignGroup_buttonClicked(self, id):
        if self.ui.btnTopLeft.isChecked():
            align = Qt.AlignTop | Qt.AlignLeft
        elif self.ui.btnTopCtr.isChecked():
            align = Qt.AlignTop | Qt.AlignVCenter
        elif self.ui.btnTopRight.isChecked():
            align = Qt.AlignTop | Qt.AlignRight
        elif self.ui.btnMidLeft.isChecked():
            align = Qt.AlignHCenter | Qt.AlignLeft
        elif self.ui.btnMidCtr.isChecked():
            align = Qt.AlignHCenter | Qt.AlignVCenter
        elif self.ui.btnMidRight.isChecked():
            align = Qt.AlignHCenter | Qt.AlignRight
        elif self.ui.btnBotLeft.isChecked():
            align = Qt.AlignBottom| Qt.AlignLeft
        elif self.ui.btnBotCtr.isChecked():
            align = Qt.AlignBottom | Qt.AlignVCenter
        else:
            align = Qt.AlignBottom | Qt.AlignRight
        self.obj.alignment = align
        self.edited.emit()

    @pyqtSlot(str)
    def on_text_textEdited(self, text):
        if self.obj:
            self.obj.text = text
            self.edited.emit()

    @pyqtSlot(QFont)
    def on_fontFace_currentFontChanged(self, font):
        if self.obj:
            self.obj.family = font.family()
            self.edited.emit()

    @pyqtSlot(str)
    def on_fontSize_editTextChanged(self, text):
        if self.obj:
            self.obj.ptSize = int(float(text)*500)
            self.edited.emit()
Beispiel #4
0
class TextInspector(QWidget):
    edited = pyqtSignal()

    def __init__(self, obj, parent=None):
        super().__init__(parent)
        self.ui = Ui_TextInspector()
        self.ui.setupUi(self)
        self.obj = None
        fontSizes = list(range(6, 16)) + list(range(16, 34, 2)) + list(range(36, 48, 4)) + \
            list(range(48, 66, 6)) + list(range(66, 98, 8))
        self.ui.fontSize.addItems([str(i) for i in fontSizes])
        self.obj = obj
        self._loadProperties(obj)

    def _loadProperties(self, obj: TextObj):
        self.ui.text.setText(obj.text)
        if obj.alignment & Qt.AlignLeft:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopLeft.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotLeft.setChecked(True)
            else:
                self.ui.btnMidLeft.setChecked(True)
        elif obj.alignment & Qt.AlignRight:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopRight.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotRight.setChecked(True)
            else:
                self.ui.btnMidRight.setChecked(True)
        else:
            if obj.alignment & Qt.AlignTop:
                self.ui.btnTopCtr.setChecked(True)
            elif obj.alignment & Qt.AlignBottom:
                self.ui.btnBotCtr.setChecked(True)
            else:
                self.ui.btnMidCtr.setChecked(True)
        self.ui.fontFace.setCurrentText(obj.family)
        self.ui.fontSize.setCurrentText("{:g}".format(obj.ptSize/500))

    @pyqtSlot(int)
    def on_alignGroup_buttonClicked(self, id):
        if self.ui.btnTopLeft.isChecked():
            align = Qt.AlignTop | Qt.AlignLeft
        elif self.ui.btnTopCtr.isChecked():
            align = Qt.AlignTop | Qt.AlignVCenter
        elif self.ui.btnTopRight.isChecked():
            align = Qt.AlignTop | Qt.AlignRight
        elif self.ui.btnMidLeft.isChecked():
            align = Qt.AlignHCenter | Qt.AlignLeft
        elif self.ui.btnMidCtr.isChecked():
            align = Qt.AlignHCenter | Qt.AlignVCenter
        elif self.ui.btnMidRight.isChecked():
            align = Qt.AlignHCenter | Qt.AlignRight
        elif self.ui.btnBotLeft.isChecked():
            align = Qt.AlignBottom| Qt.AlignLeft
        elif self.ui.btnBotCtr.isChecked():
            align = Qt.AlignBottom | Qt.AlignVCenter
        elif self.ui.btnBotRight.isChecked():
            align = Qt.AlignBottom | Qt.AlignRight
        self.obj.alignment = align
        self.edited.emit()

    @pyqtSlot(str)
    def on_text_textEdited(self, text):
        if self.obj:
            self.obj.text = text
            self.edited.emit()

    @pyqtSlot(QFont)
    def on_fontFace_currentFontChanged(self, font):
        if self.obj:
            self.obj.family = font.family()
            self.edited.emit()

    @pyqtSlot(str)
    def on_fontSize_editTextChanged(self, text):
        if self.obj:
            self.obj.ptSize = int(float(text)*500)
            self.edited.emit()