Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 227a423

Browse files
committed
the usual
1 parent fc8a01f commit 227a423

20 files changed

Lines changed: 83 additions & 27 deletions

Mac/Lib/test/echo.py

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
addpack.addpack('bgen')
1212
addpack.addpack('ae')
1313
addpack.addpack('evt')
14+
#addpack.addpack('menu')
15+
addpack.addpack('win')
1416

1517
import sys
1618
sys.stdout = sys.stderr
@@ -20,18 +22,25 @@
2022
from AppleEvents import *
2123
import Evt
2224
from Events import *
25+
import Menu
26+
import Dlg
27+
import Win
28+
from Windows import *
29+
import Qd
30+
2331
import aetools
32+
import EasyDialogs
2433

2534
kHighLevelEvent = 23 # Not defined anywhere for Python yet?
2635

2736

2837
def main():
2938
echo = EchoServer()
30-
MacOS.EnableAppswitch(0) # Disable Python's own "event handling"
39+
yield = MacOS.EnableAppswitch(-1) # Disable Python's own "event handling"
3140
try:
32-
echo.mainloop()
41+
echo.mainloop(everyEvent, 0)
3342
finally:
34-
MacOS.EnableAppswitch(1) # Let Python have a go at events
43+
MacOS.EnableAppswitch(yield) # Let Python have a go at events
3544
echo.close()
3645

3746

@@ -44,6 +53,13 @@ def __init__(self):
4453
for suite in self.suites:
4554
AE.AEInstallEventHandler(suite, typeWildCard, self.aehandler)
4655
self.active = 1
56+
self.appleid = 1
57+
Menu.ClearMenuBar()
58+
self.applemenu = applemenu = Menu.NewMenu(self.appleid, "\024")
59+
applemenu.AppendMenu("All about echo...;(-")
60+
applemenu.AddResMenu('DRVR')
61+
applemenu.InsertMenu(0)
62+
Menu.DrawMenuBar()
4763

4864
def __del__(self):
4965
self.close()
@@ -64,22 +80,38 @@ def dooneevent(self, mask = everyEvent, timeout = 60*60):
6480
self.lowlevelhandler(event)
6581

6682
def lowlevelhandler(self, event):
67-
what, message, when, (h, v), modifiers = event
83+
what, message, when, where, modifiers = event
84+
h, v = where
6885
if what == kHighLevelEvent:
69-
print "High Level Event:", `code(message)`, `code(h | (v<<16))`
86+
msg = "High Level Event: %s %s" % \
87+
(`code(message)`, `code(h | (v<<16))`)
7088
try:
7189
AE.AEProcessAppleEvent(event)
72-
except AE.Error, msg:
73-
print "AEProcessAppleEvent error:"
90+
except AE.Error, err:
91+
EasyDialogs.Message(msg + "\015AEProcessAppleEvent error: %s" % str(err))
7492
traceback.print_exc()
93+
else:
94+
EasyDialogs.Message(msg + "\015OK!")
7595
elif what == keyDown:
7696
c = chr(message & charCodeMask)
7797
if c == '.' and modifiers & cmdKey:
7898
raise KeyboardInterrupt, "Command-period"
7999
MacOS.HandleEvent(event)
100+
elif what == mouseDown:
101+
partcode, window = Win.FindWindow(where)
102+
if partcode == inMenuBar:
103+
result = Menu.MenuSelect(where)
104+
id = (result>>16) & 0xffff # Hi word
105+
item = result & 0xffff # Lo word
106+
if id == self.appleid:
107+
if item == 1:
108+
EasyDialogs.Message("Echo -- echo AppleEvents")
109+
elif item > 1:
110+
name = self.applemenu.GetItem(item)
111+
Qd.OpenDeskAcc(name)
80112
elif what <> autoKey:
81113
print "Event:", (eventname(what), message, when, (h, v), modifiers)
82-
MacOS.HandleEvent(event)
114+
## MacOS.HandleEvent(event)
83115

84116
def aehandler(self, request, reply):
85117
print "Apple Event",

Mac/Lib/toolbox/AppleEvents.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:AppleEvents.h'
2+
23
typeBoolean = 'bool'
34
typeChar = 'TEXT'
45
typeSMInt = 'shor'

Mac/Lib/toolbox/Controls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Controls.h'
2+
23
pushButProc = 0
34
checkBoxProc = 1
45
radioButProc = 2

Mac/Lib/toolbox/Dialogs.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Dialogs.h'
2+
23
ctrlItem = 4
34
btnCtrl = 0
45
chkCtrl = 1

Mac/Lib/toolbox/Events.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Events.h'
2+
23
nullEvent = 0
34
mouseDown = 1
45
mouseUp = 2

Mac/Lib/toolbox/Resources.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Resources.h'
2+
23
resSysHeap = 64
34
resPurgeable = 32
45
resLocked = 16

Mac/Lib/toolbox/Sound.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Sound.h'
2+
23
swMode = -1
34
ftMode = 1
45
ffMode = 0

Mac/Lib/toolbox/Windows.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Generated from 'D:Development:THINK C:Mac #includes:Apple #includes:Windows.h'
2+
23
documentProc = 0
34
dBoxProc = 1
45
plainDBox = 2

Mac/Modules/ae/aegen.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,3 +312,4 @@
312312
(long, 'result', OutMode),
313313
)
314314
functions.append(f)
315+

Mac/Modules/ctl/ctlgen.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,4 @@
170170
(ControlHandle, 'theControl', InMode),
171171
)
172172
methods.append(f)
173+

0 commit comments

Comments
 (0)