diff options
| author | Adrien Tétar | 2015-05-05 22:06:30 +0200 |
|---|---|---|
| committer | Adrien Tétar | 2015-05-05 22:06:30 +0200 |
| commit | 7dd7d2f4ccb2337f3f14e3317c7f328023420bb8 (patch) | |
| tree | 88b3b7ba2b6e28f7c835288ce0e2210d0e00610a /Lib | |
| parent | 64b9388cc4d480fbc8ab87b889e7632c1040a048 (diff) | |
| download | trufont-7dd7d2f4ccb2337f3f14e3317c7f328023420bb8.tar.bz2 | |
More
Diffstat (limited to 'Lib')
| -rw-r--r-- | Lib/defconQt/fontinfo.py | 92 | ||||
| -rw-r--r-- | Lib/defconQt/spacecenter.py | 4 | ||||
| -rw-r--r-- | Lib/defconQt/syntaxhighlighter.py | 29 |
3 files changed, 61 insertions, 64 deletions
diff --git a/Lib/defconQt/fontinfo.py b/Lib/defconQt/fontinfo.py index 3c35a6a..ce27b33 100644 --- a/Lib/defconQt/fontinfo.py +++ b/Lib/defconQt/fontinfo.py @@ -16,9 +16,9 @@ class TabDialog(QDialog): self.font = font self.tabWidget = QTabWidget() self.tabWidget.addTab(GeneralTab(self.font), "General") -# tabWidget.addTab(PermissionsTab(fileInfo), "OpenType") -# tabWidget.addTab(ApplicationsTab(fileInfo), "PostScript") -# tabWidget.addTab(ApplicationsTab(fileInfo), "Miscellaneous") + self.tabWidget.addTab(NextTab(self.font), "Metrics") +# self.tabWidget.addTab(ApplicationsTab(fileInfo), "PostScript") +# self.tabWidget.addTab(ApplicationsTab(fileInfo), "Miscellaneous") buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) @@ -120,8 +120,38 @@ class GeneralTab(QWidget): mainLayout.addWidget(trademarkLabel, 9, 0) mainLayout.addWidget(self.trademarkEdit, 9, 1, 1, 5) - + + self.setLayout(mainLayout) + + def writeValues(self, font): + font.info.familyName = self.familyNameEdit.text() + font.info.styleName = self.styleNameEdit.text() + font.info.openTypeNameDesigner = self.designerEdit.text() + font.info.openTypeNameDesignerURL = self.designerURLEdit.text() + font.info.openTypeNameManufacturer = self.manufacturerEdit.text() + font.info.openTypeNameManufacturerURL = self.manufacturerURLEdit.text() + font.info.copyright = self.copyrightEdit.text() + font.info.versionMajor = int(self.versionMajorEdit.text()) + font.info.versionMinor = int(self.versionMinorEdit.text()) + font.info.unitsPerEm = int(self.unitsPerEmEdit.text()) + font.info.openTypeNameLicense = self.licenseEdit.text() + font.info.openTypeNameLicenseURL = self.licenseURLEdit.text() + font.info.trademark = self.trademarkEdit.text() + """ + font.info.styleMapFamilyName = self.styleMapFamilyEdit.text() + sn = self.styleMapStyleDrop.currentIndex() + if sn == 1: font.info.styleMapStyleName = "regular" + elif sn == 2: font.info.styleMapStyleName = "italic" + elif sn == 3: font.info.styleMapStyleName = "bold" + elif sn == 4: font.info.styleMapStyleName = "bold italic" + else: font.info.styleMapStyleName = None """ + +class NextTab(QWidget): + def __init__(self, font, parent=None): + super(NextTab, self).__init__(parent) + mainLayout = QGridLayout() + styleMapFamilyLabel = QLabel("Style map family name:") self.styleMapFamilyEdit = QLineEdit(font.info.styleMapFamilyName) # self.styleMapFamilyCBox = QCheckBox("Use default value") @@ -147,6 +177,11 @@ class GeneralTab(QWidget): else: self.styleMapStyleDrop.setCurrentIndex(styleMapStyle["None"]) # self.styleMapStyleCBox = QCheckBox("Use default value") + mainLayout.addWidget(styleMapFamilyLabel, 0, 0) + mainLayout.addWidget(self.styleMapFamilyEdit, 0, 1, 1, 3) + mainLayout.addWidget(styleMapStyleLabel, 0, 4) + mainLayout.addWidget(self.styleMapStyleDrop, 0, 5) + ascenderLabel = QLabel("Ascender:") self.ascenderEdit = QLineEdit(str(font.info.ascender)) self.ascenderEdit.setValidator(QIntValidator()) @@ -155,6 +190,17 @@ class GeneralTab(QWidget): self.descenderEdit = QLineEdit(str(font.info.descender)) self.descenderEdit.setValidator(QIntValidator()) + italicAngleLabel = QLabel("Italic angle:") + self.italicAngleEdit = QLineEdit(str(font.info.italicAngle)) + self.italicAngleEdit.setValidator(QDoubleValidator()) + + mainLayout.addWidget(ascenderLabel, 1, 0) + mainLayout.addWidget(self.ascenderEdit, 1, 1) + mainLayout.addWidget(descenderLabel, 1, 2) + mainLayout.addWidget(self.descenderEdit, 1, 3) + mainLayout.addWidget(italicAngleLabel, 1, 4) + mainLayout.addWidget(self.italicAngleEdit, 1, 5) + xHeightLabel = QLabel("x-height:") self.xHeightEdit = QLineEdit(str(font.info.xHeight)) self.xHeightEdit.setValidator(QIntValidator()) @@ -162,34 +208,10 @@ class GeneralTab(QWidget): capHeightLabel = QLabel("Cap height:") self.capHeightEdit = QLineEdit(str(font.info.capHeight)) self.capHeightEdit.setValidator(QIntValidator()) - - italicAngleLabel = QLabel("Italic angle:") - self.italicAngleEdit = QLineEdit(str(font.info.italicAngle)) - self.italicAngleEdit.setValidator(QDoubleValidator()) - """ - - self.setLayout(mainLayout) - - def writeValues(self, font): - font.info.familyName = self.familyNameEdit.text() - font.info.styleName = self.styleNameEdit.text() - font.info.openTypeNameDesigner = self.designerEdit.text() - font.info.openTypeNameDesignerURL = self.designerURLEdit.text() - font.info.openTypeNameManufacturer = self.manufacturerEdit.text() - font.info.openTypeNameManufacturerURL = self.manufacturerURLEdit.text() - font.info.copyright = self.copyrightEdit.text() - font.info.versionMajor = int(self.versionMajorEdit.text()) - font.info.versionMinor = int(self.versionMinorEdit.text()) - font.info.unitsPerEm = int(self.unitsPerEmEdit.text()) - font.info.openTypeNameLicense = self.licenseEdit.text() - font.info.openTypeNameLicenseURL = self.licenseURLEdit.text() - font.info.trademark = self.trademarkEdit.text() - """ - font.info.styleMapFamilyName = self.styleMapFamilyEdit.text() - sn = self.styleMapStyleDrop.currentIndex() - if sn == 1: font.info.styleMapStyleName = "regular" - elif sn == 2: font.info.styleMapStyleName = "italic" - elif sn == 3: font.info.styleMapStyleName = "bold" - elif sn == 4: font.info.styleMapStyleName = "bold italic" - else: font.info.styleMapStyleName = None - """
\ No newline at end of file + + mainLayout.addWidget(xHeightLabel, 2, 0) + mainLayout.addWidget(self.xHeightEdit, 2, 1) + mainLayout.addWidget(capHeightLabel, 2, 2) + mainLayout.addWidget(self.capHeightEdit, 2, 3) + + self.setLayout(mainLayout)
\ No newline at end of file diff --git a/Lib/defconQt/spacecenter.py b/Lib/defconQt/spacecenter.py index 9b139a8..d518ace 100644 --- a/Lib/defconQt/spacecenter.py +++ b/Lib/defconQt/spacecenter.py @@ -24,7 +24,7 @@ class MainSpaceWindow(QWidget): layout.setSpacing(0) self.setLayout(layout) self.resize(600,500) - self.toolbar.comboBox.lineEdit().editingFinished.connect(self.canvas._pointSizeChanged) + self.toolbar.comboBox.currentIndexChanged[str].connect(self.canvas._pointSizeChanged) self.toolbar.textField.textEdited.connect(self.canvas._textChanged) self.toolbar.textField.textEdited.connect(self.table._textChanged) self.table.cellChanged.connect(self.canvas._metricsChanged) @@ -163,6 +163,8 @@ class SpaceTable(QTableWidget): self.fillGlyphs() # edit cell on single click, not double self.setEditTriggers(QAbstractItemView.CurrentChanged) + # TODO: insvestigate changing cell color as in robofont + # http://stackoverflow.com/a/13926342/2037879 def _textChanged(self, newText): self.string = newText diff --git a/Lib/defconQt/syntaxhighlighter.py b/Lib/defconQt/syntaxhighlighter.py index c2b6c9f..98d42e3 100644 --- a/Lib/defconQt/syntaxhighlighter.py +++ b/Lib/defconQt/syntaxhighlighter.py @@ -15,29 +15,6 @@ class MainEditWindow(QMainWindow): self.setCentralWidget(self.editor) self.setWindowTitle("Font features", font) - - def newFile(self): - self.editor.clear() - - def openFile(self, path=None): - if not path: - path, _ = QFileDialog.getOpenFileName(self, "Open File", '', - "C++ Files (*.cpp *.h)") - - if path: - inFile = QFile(path) - if inFile.open(QFile.ReadOnly | QFile.Text): - text = inFile.readAll() - - try: - # Python v3. - text = str(text, encoding='ascii') - except TypeError: - # Python v2. - text = str(text) - - self.editor.setPlainText(text) - self.setWindowTitle("Font features") def setWindowTitle(self, title, font=None): if font is not None: puts = "%s%s%s%s%s" % (title, " – ", self.font.info.familyName, " ", self.font.info.styleName) @@ -46,9 +23,6 @@ class MainEditWindow(QMainWindow): def save(self): self.editor.write(self.features) - - def quit(self): - self.close() def setupFileMenu(self): fileMenu = QMenu("&File", self) @@ -57,7 +31,7 @@ class MainEditWindow(QMainWindow): # fileMenu.addAction("&New...", self.newFile, "Ctrl+N") # fileMenu.addAction("&Open...", self.openFile, "Ctrl+O") fileMenu.addAction("&Save...", self.save, "Ctrl+S") - fileMenu.addAction("E&xit", self.quit, "Ctrl+Q") + fileMenu.addAction("E&xit", self.close, "Ctrl+Q") class LineNumberArea(QWidget): def __init__(self,editor): @@ -131,7 +105,6 @@ class TextEditor(QPlainTextEdit): return 10 + self.fontMetrics().width('9') * digits def updateLineNumberArea(self, rect, dy): - if dy: self.lineNumbers.scroll(0, dy); else: |
