root/packages/dialogKit/trunk/examples/GlyphViewDemo.py

Revision 1, 3.8 kB (checked in by tal, 1 year ago)
initial import
Line 
1 from FL import *
2 from dialogKit import *
3
4 class GlyphViewDemo(object):
5    
6     def __init__(self):
7         self.font= fl.font
8         self.glyphs = {}
9         for glyph in self.font.glyphs:
10             self.glyphs[glyph.name] = glyph
11         glyphNames = self.glyphs.keys()
12         glyphNames.sort()
13         #
14         self.w = ModalDialog((700, 500), 'GlyphView Demo')
15         self.w.glyphList = List((10, 10, 150, -60), glyphNames, callback=self.glyphListCallback)
16         self.w.view = GlyphView((170, 10, 400, -60), None, None)
17         #
18         self.w.fillCheckBox = CheckBox((580, 10, -10, 20), 'Fill', value=True, callback=self.viewOptionsCallback)
19         self.w.outlineCheckBox = CheckBox((580, 35, -10, 20), 'Outline', value=False, callback=self.viewOptionsCallback)
20         self.w.pointsCheckBox = CheckBox((580, 60, -10, 20), 'Points', value=True, callback=self.viewOptionsCallback)
21         self.w.descenderCheckBox = CheckBox((580, 85, -10, 20), 'Descender', value=True, callback=self.viewOptionsCallback)
22         self.w.baselineCheckBox = CheckBox((580, 110, -10, 20), 'Baseline', value=True, callback=self.viewOptionsCallback)
23         self.w.xHeightCheckBox = CheckBox((580, 135, -10, 20), 'X Height', value=True, callback=self.viewOptionsCallback)
24         self.w.ascenderCheckBox = CheckBox((580, 160, -10, 20), 'Ascender', value=True, callback=self.viewOptionsCallback)
25         self.w.capHeightCheckBox = CheckBox((580, 185, -10, 20), 'Cap Height', value=True, callback=self.viewOptionsCallback)
26         self.w.upmTopCheckBox = CheckBox((580, 210, -10, 20), 'UPM Top', value=False, callback=self.viewOptionsCallback)
27         self.w.leftCheckBox = CheckBox((580, 235, -10, 20), 'Left', value=True, callback=self.viewOptionsCallback)
28         self.w.rightCheckBox = CheckBox((580, 260, -10, 20), 'Right', value=True, callback=self.viewOptionsCallback)
29         #
30         self.w.open()
31    
32     def glyphListCallback(self, sender):
33         selection = sender.getSelection()
34         if not selection:
35             font = glyph = None
36         else:
37             glyphName = sender[selection[0]]
38             glyph = self.glyphs[glyphName]
39             font = self.font
40         self.w.view.set(font, glyph)
41         self.w.view.update()
42    
43     def viewOptionsCallback(self, sender):
44         if self.w.fillCheckBox.get() != self.w.view.getShowFill():
45             self.w.view.setShowFill(self.w.fillCheckBox.get())
46         if self.w.outlineCheckBox.get() != self.w.view.getShowOutline():
47             self.w.view.setShowOutline(self.w.outlineCheckBox.get())
48         if self.w.pointsCheckBox.get() != self.w.view.getShowOnCurvePoints():
49             self.w.view.setShowOnCurvePoints(self.w.pointsCheckBox.get())
50         if self.w.descenderCheckBox.get() != self.w.view.getShowDescender():
51             self.w.view.setShowDescender(self.w.descenderCheckBox.get())
52         if self.w.baselineCheckBox.get() != self.w.view.getShowBaseline():
53             self.w.view.setShowBaseline(self.w.baselineCheckBox.get())
54         if self.w.xHeightCheckBox.get() != self.w.view.getShowXHeight():
55             self.w.view.setShowXHeight(self.w.xHeightCheckBox.get())
56         if self.w.ascenderCheckBox.get() != self.w.view.getShowAscender():
57             self.w.view.setShowAscender(self.w.ascenderCheckBox.get())
58         if self.w.capHeightCheckBox.get() != self.w.view.getShowCapHeight():
59             self.w.view.setShowCapHeight(self.w.capHeightCheckBox.get())
60         if self.w.upmTopCheckBox.get() != self.w.view.getShowUPMTop():
61             self.w.view.setShowUPMTop(self.w.upmTopCheckBox.get())
62         if self.w.leftCheckBox.get() != self.w.view.getShowLeftSidebearing():
63             self.w.view.setShowLeftSidebearing(self.w.leftCheckBox.get())
64         if self.w.rightCheckBox.get() != self.w.view.getShowRightSidebearing():
65             self.w.view.setShowRightSidebearing(self.w.rightCheckBox.get())
66         self.w.view.update()
67
68 GlyphViewDemo()
Note: See TracBrowser for help on using the browser.