From: Richard K. <ric...@us...> - 2005-07-14 21:56:02
|
Update of /cvsroot/actionstep/actionstep/src/org/actionstep In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26411 Modified Files: NSApplication.as Log Message: key and main window now using notifications and start key event pump Index: NSApplication.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/NSApplication.as,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** NSApplication.as 6 Jul 2005 19:02:56 -0000 1.19 --- NSApplication.as 14 Jul 2005 21:55:50 -0000 1.20 *************** *** 32,35 **** --- 32,36 ---- import org.actionstep.NSEvent; import org.actionstep.NSNotificationCenter; + import org.actionstep.NSNotification; import org.actionstep.NSResponder; import org.actionstep.NSPanel; *************** *** 89,96 **** public function init():NSApplication { m_notificationCenter = NSNotificationCenter.defaultCenter(); m_active = false; return this; } ! public function description():String { return "NSApplication"; --- 90,103 ---- public function init():NSApplication { m_notificationCenter = NSNotificationCenter.defaultCenter(); + m_notificationCenter.addObserverSelectorNameObject(this, "__windowWillClose", NSWindow.NSWindowWillCloseNotification, null); + m_notificationCenter.addObserverSelectorNameObject(this, "__windowDidBecomeKey", NSWindow.NSWindowDidBecomeKeyNotification, null); + m_notificationCenter.addObserverSelectorNameObject(this, "__windowDidBecomeMain", NSWindow.NSWindowDidBecomeMainNotification, null); + m_notificationCenter.addObserverSelectorNameObject(this, "__windowDidResignKey", NSWindow.NSWindowDidResignKeyNotification, null); + m_notificationCenter.addObserverSelectorNameObject(this, "__windowDidResignMain", NSWindow.NSWindowDidResignMainNotification, null); + m_active = false; return this; } ! public function description():String { return "NSApplication"; *************** *** 105,122 **** } - public function setKeyWindow(value:NSWindow) { - value.makeKeyWindow(); - m_keyWindow = value; - } - public function mainWindow():NSWindow { return m_mainWindow; } - public function setMainWindow(value:NSWindow) { - value.makeMainWindow(); - m_mainWindow = value; - } - public function windows():Array { return NSWindow.instances(); --- 112,119 ---- *************** *** 269,272 **** --- 266,270 ---- // Start tracking mouse events ASEventMonitor.instance().trackMouseEvents(); + ASEventMonitor.instance().trackKeyboardEvents(); //! What else should we do in run? m_active = true; *************** *** 410,413 **** --- 408,455 ---- return (m_modalSession==null) ? false : true; } + + + private function __windowWillClose(notification:NSNotification) { + } + + private function __windowDidBecomeKey(notification:NSNotification) { + if (m_keyWindow == null && (notification.object instanceof NSWindow)) { + m_keyWindow = NSWindow(notification.object); + } else { + TRACE("Non-NSWindow tried to become key: "+notification.object); + } + } + + private function __windowDidBecomeMain(notification:NSNotification) { + if (m_mainWindow == null && (notification.object instanceof NSWindow)) { + m_mainWindow = NSWindow(notification.object); + } else { + TRACE("Non-NSWindow tried to become main: "+notification.object); + } + } + + private function __windowDidResignKey(notification:NSNotification) { + if (m_keyWindow == notification.object) { + m_keyWindow = null; + } + } + + private function __windowDidResignMain(notification:NSNotification) { + if (m_mainWindow == notification.object) { + m_mainWindow = null; + } + } + + public function setMainWindow(value:NSWindow) { + value.makeMainWindow(); + m_mainWindow = value; + } + public function setKeyWindow(value:NSWindow) { + value.makeKeyWindow(); + m_keyWindow = value; + } + + + // Setting the delegate |