aboutsummaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAdrien Tétar2015-05-05 22:06:30 +0200
committerAdrien Tétar2015-05-05 22:06:30 +0200
commit7dd7d2f4ccb2337f3f14e3317c7f328023420bb8 (patch)
tree88b3b7ba2b6e28f7c835288ce0e2210d0e00610a /Lib
parent64b9388cc4d480fbc8ab87b889e7632c1040a048 (diff)
downloadtrufont-7dd7d2f4ccb2337f3f14e3317c7f328023420bb8.tar.bz2
More
Diffstat (limited to 'Lib')
-rw-r--r--Lib/defconQt/fontinfo.py92
-rw-r--r--Lib/defconQt/spacecenter.py4
-rw-r--r--Lib/defconQt/syntaxhighlighter.py29
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: