2013年6月8日星期六

PyInterpreter

PyInterpreter是PyObjC當中一個十分厲害的example,竟然可以用一個Cocoa的NSTextView模擬一個Python interpreter command REPL,在學習過程中明瞭不少Python技巧和Objective C的原理,因已久沒update,所以自行更新,加入不少新function,source在github

新的功能有不少,如OS X 10.7的Restorable State,可以在下次進入PyInterpreter時,restore上次的command history。要support Restorable State有很多方法,而我採用implement NSWindowDelegate的方法:

    #
    #  NSWindowDelegrate method
    # 

    def window_willEncodeRestorableState_(self, window, state):
        state.encodeObject_forKey_(self._history, 'history')

    def window_didDecodeRestorableState_(self, window, state):
        self._history = state.decodeObjectForKey_('history')
        self._historyView = len(self._history)

還有Full Screen support,這個更容易,只需在Interface Builder中選擇Full screen的形式,

便會在Window的右上角顯示Full screen的icon。

除此之外,還修改program的一些syntax,以便support Python 3,這還在進行中⋯⋯

沒有留言:

發佈留言