Changeset 259

Show
Ignore:
Timestamp:
09/01/08 10:06:46 (4 months ago)
Author:
tal
Message:
New tests.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • packages/defconAppKit/trunk/TestApp/DefconAppKitTest.py

    r238 r259  
    1010from defconAppKit.views.glyphCollectionView import GlyphCollectionView 
    1111from defconAppKit.views.glyphLineView import GlyphLineView 
     12from defconAppKit.views.glyphMultilineView import GlyphMultilineView 
    1213from defconAppKit.views.glyphNameComboBox import GlyphNameComboBox 
     14from defconAppKit.tools.osFontBridgeManager import OSFontBridgeManager 
    1315from fontAppTools import splitText 
    1416 
     
    2022 
    2123NibClassBuilder.extractClasses("MainMenu") 
     24 
     25 
     26class DefconAppKitTestAppDelegate(NSObject): 
     27 
     28    def init(self): 
     29        self = super(DefconAppKitTestAppDelegate, self).init() 
     30        self._osFontBridgeManager = OSFontBridgeManager() 
     31        return self 
     32 
     33    def OSFontBridgeManager(self): 
     34        return self._osFontBridgeManager 
    2235 
    2336 
     
    2740        progress = ProgressWindow("Opening...") 
    2841        try: 
    29             font = Font(path) 
     42            font = self.font = Font(path) 
     43            NSApp().delegate().OSFontBridgeManager().addFont(font) 
    3044            window = self.vanillaWindowController = DefconAppKitTestDocumentWindow(font) 
    3145            self.addWindowController_(window.w.getNSWindowController()) 
     
    3347            progress.close() 
    3448        return True 
     49 
     50    def dealloc(self): 
     51        NSApp().delegate().OSFontBridgeManager().removeFont(self.font) 
     52        super(DefconAppKitTestDocument, self).dealloc() 
    3553 
    3654 
     
    5270        self.w = vanilla.Window((700, 500), minSize=(400, 400)) 
    5371 
    54         self.w.tabs = vanilla.Tabs((10, 10, -10, -10), ["Window", "GlyphCollectionView", "GlyphLineView", "Misc. Controls"]) 
     72        self.w.tabs = vanilla.Tabs((10, 10, -10, -10), ["Window", "GlyphCollectionView", "GlyphLineView", "GlyphMultilineView", "Misc. Controls"]) 
    5573        self.windowTab = self.w.tabs[0] 
    5674        self.collectionViewTab = self.w.tabs[1] 
    5775        self.lineViewTab = self.w.tabs[2] 
    58         self.controlsTab = self.w.tabs[3] 
     76        self.multilineViewTab = self.w.tabs[3] 
     77        self.controlsTab = self.w.tabs[4] 
    5978 
    6079        # test various window methods 
     
    7897 
    7998        # test line view 
    80         self.lineViewTab.textInput = vanilla.EditText((10, 10, -10, 22), callback=self.lineViewTextInput) 
     99        self.lineViewTab.lineViewSizeSlider = vanilla.Slider((-160, 11, 150, 20), minValue=10, maxValue=500, value=100, 
     100            continuous=True, callback=self.lineViewResize) 
     101        self.lineViewTab.textInput = vanilla.EditText((10, 10, -170, 22), callback=self.lineViewTextInput) 
    81102        self.lineViewTab.lineView = GlyphLineView((10, 40, -10, -10), dropCallback=self.lineViewDropCallback) 
    82103 
     104        # test multiline view 
     105        self.multilineViewTab.multilineViewSizeSlider = vanilla.Slider((10, 10, 150, 20), minValue=10, maxValue=500, value=100, 
     106            continuous=True, callback=self.multilineViewResize) 
     107        self.multilineViewTab.multilineView = GlyphMultilineView((10, 40, -10, -10), callback=self.multilineViewTextInput) 
     108        self.multilineViewTab.multilineView.setFont(font) 
     109        lines = [[]] 
     110        for glyph in self.glyphs: 
     111            lines[-1].append(glyph.name) 
     112            if len(lines[-1]) == 10: 
     113                lines.append([]) 
     114        self.multilineViewTab.multilineView.set(lines) 
     115 
    83116        # test controls 
    84117 
     
    87120        self.setUpBaseWindowBehavior() 
    88121 
    89         self.w.tabs.set(2
     122        self.w.tabs.set(3
    90123 
    91124        self.w.open() 
     
    178211        return True 
    179212 
     213    def lineViewResize(self, sender): 
     214        self.lineViewTab.lineView.setPointSize(sender.get()) 
     215 
     216    # multiline view 
     217 
     218    def multilineViewTextInput(self, sender): 
     219        lines = sender.get() 
     220        print "multiline input:", lines 
     221 
     222    def multilineViewResize(self, sender): 
     223        self.multilineViewTab.multilineView.setPointSize(sender.get()) 
     224 
     225 
    180226 
    181227if __name__ == "__main__":