8 # Definitions for our resources
17 status2text
= ["<idle>", "<wait-modem>", "<dialling>", "<logging in>",
18 "<connected>", "<disconnecting>"]
23 except interslip
.error
, arg
:
24 EasyDialogs
.Message("Cannot open interslip: "+arg
[1])
27 dummy
= Res
.GetResource('DLOG', ID_MAIN
)
30 Res
.OpenResFile("InterslipControl-2.rsrc")
32 EasyDialogs
.Message("Cannot open InterslipControl-2.rsrc: "+arg
[1])
36 class InterslipControl(FrameWork
.Application
):
37 "Application class for InterslipControl"
40 # First init menus, etc.
41 FrameWork
.Application
.__init
__(self
)
42 # Next create our dialog
43 self
.main_dialog
= MyDialog(self
)
45 self
.main_dialog
.open(ID_MAIN
)
46 # Finally, go into the event loop
49 def makeusermenus(self
):
50 self
.filemenu
= m
= FrameWork
.Menu(self
.menubar
, "File")
51 self
.quititem
= FrameWork
.MenuItem(m
, "Quit", "Q", self
.quit
)
53 def quit(self
, *args
):
56 def do_about(self
, *args
):
57 f
= Dlg
.GetNewDialog(ID_ABOUT
, -1)
59 n
= Dlg
.ModalDialog(None)
63 def idle(self
, event
):
64 "Idle routine - update status"
65 self
.main_dialog
.updatestatus()
67 class MyDialog(FrameWork
.DialogWindow
):
68 "Main dialog window for InterslipControl"
69 def __init__(self
, parent
):
70 FrameWork
.DialogWindow
.__init
__(self
, parent
)
71 self
.last_status
= None
72 self
.last_msgnum
= None
74 def do_itemhit(self
, item
, event
):
75 if item
== ITEM_DISCONNECT
:
77 elif item
== ITEM_CONNECT
:
83 except interslip
.error
, arg
:
84 EasyDialogs
.Message("Cannot connect: "+arg
[1])
88 interslip
.disconnect()
89 except interslip
.error
, arg
:
90 EasyDialogs
.Message("Cannot disconnect: "+arg
[1])
92 def updatestatus(self
):
94 status
, msgnum
, msg
= interslip
.status()
95 except interslip
.error
, arg
:
96 EasyDialogs
.Message("Cannot get status: "+arg
[1])
98 if status
== self
.last_status
and msgnum
== self
.last_msgnum
:
100 self
.last_status
= status
101 self
.last_msgnum
= msgnum
106 txt
= status2text
[status
]
108 txt
= "<unknown state %d>"%status
110 tp
, h
, rect
= self
.wid
.GetDialogItem(ITEM_STATUS
)
111 Dlg
.SetDialogItemText(h
, txt
)
113 tp
, h
, rect
= self
.wid
.GetDialogItem(ITEM_MESSAGE
)
114 Dlg
.SetDialogItemText(h
, msg
)