diff options
| author | Adrien Tétar | 2015-10-03 21:40:29 +0200 | 
|---|---|---|
| committer | Adrien Tétar | 2015-10-03 21:40:29 +0200 | 
| commit | 73a86b36d1db31976ff10aab420ecebbcf55fde5 (patch) | |
| tree | 2e3ffd41feb64957c7907d914b39949f6d79b367 /Lib/defconQt/fontView.py | |
| parent | c898a4d61fbaf10d9f8a989b58c028ad3a271157 (diff) | |
| download | trufont-73a86b36d1db31976ff10aab420ecebbcf55fde5.tar.bz2 | |
meta: add scripting support & associated functionality support
Diffstat (limited to 'Lib/defconQt/fontView.py')
| -rw-r--r-- | Lib/defconQt/fontView.py | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py index 0ec8910..9921cdb 100644 --- a/Lib/defconQt/fontView.py +++ b/Lib/defconQt/fontView.py @@ -3,6 +3,7 @@ from defconQt.fontInfo import TabDialog  from defconQt.glyphCollectionView import GlyphCollectionWidget  from defconQt.glyphView import MainGfxWindow  from defconQt.groupsView import GroupsWindow +from defconQt.scriptingWindow import MainScriptingWindow  from defconQt.objects.defcon import CharacterSet, TFont, TGlyph  from defcon import Component  from defconQt.spaceCenter import MainSpaceWindow @@ -45,6 +46,17 @@ latin1 = CharacterSet(  "breve","dotaccent","ring","ogonek","tilde","hungarumlaut","quoteleft",  "quoteright","minus"], "Latin-1") +class Application(QApplication): +    def allFonts(self): +        fonts = [] +        for window in QApplication.topLevelWidgets(): +            if isinstance(window, MainWindow): +                fonts.append(window._font) +                return fonts + +    def currentFont(self): +        return self.currentMainWindow._font +  # TODO: implement Frederik's Glyph Construction Builder  class AddGlyphDialog(QDialog):      def __init__(self, currentGlyphs=None, parent=None): @@ -311,6 +323,10 @@ class MainWindow(QMainWindow):          fontMenu.addAction("Sort…", self.sortCharacters)          menuBar.addMenu(fontMenu) +        pythonMenu = QMenu("&Python", self) +        pythonMenu.addAction("Scripting &window", self.scripting) +        menuBar.addMenu(pythonMenu) +          windowMenu = QMenu("&Windows", self)          windowMenu.addAction("&Space center", self.spaceCenter, "Ctrl+Y")          windowMenu.addAction("&Groups window", self.fontGroups, "Ctrl+G") @@ -566,6 +582,12 @@ class MainWindow(QMainWindow):          self.collectionWidget._sizeEvent(self.width(), val)          QToolTip.showText(QCursor.pos(), str(val), self) +    def event(self, event): +        if event.type() == QEvent.WindowActivate: +            app = QApplication.instance() +            app.currentMainWindow = self +        return super(MainWindow, self).event(event) +      def resizeEvent(self, event):          if self.isVisible(): self.collectionWidget._sizeEvent(event.size().width())          super(MainWindow, self).resizeEvent(event) @@ -619,6 +641,15 @@ class MainWindow(QMainWindow):          else:              self.fontGroupsWindow.raise_() +    def scripting(self): +        # TODO: see up here +        app = QApplication.instance() +        if not (hasattr(app, 'scriptingWindow') and app.scriptingWindow.isVisible()): +            app.scriptingWindow = MainScriptingWindow() +            app.scriptingWindow.show() +        else: +            app.scriptingWindow.raise_() +      def sortCharacters(self):          sortDescriptor, ok = SortDialog.getDescriptor(self, self.sortDescriptor)          if ok: | 
