You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCF/Carbon Events/CarbonIdleTimer
Class Window1 Inherits Window
Control StaticText1 Inherits Label
ControlInstance StaticText1 Inherits Label
End Control
Control ListBox1 Inherits ListBox
ControlInstance ListBox1 Inherits ListBox
End Control
EventHandler Sub Open()
t=new MyTimer(3.0,1)
if t.Lasterror<>0 then
MsgBox "Failed to create idle timer: "+str(t.Lasterror)
end if
End EventHandler
Property Protected t As mytimer
End Class
MenuBar Menu
MenuItem UntitledMenu3 = ""
MenuItem UntitledMenu2 = "File"
MenuItem FileQuit = "Quit"
MenuItem UntitledMenu0 = "Edit"
MenuItem EditUndo = "Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cut"
MenuItem EditCopy = "Copy"
MenuItem EditPaste = "Paste"
MenuItem EditClear = "Clear"
End MenuBar
Class MyTimer Inherits CarbonEventsIdleTimerMBS
EventHandler Sub Action(state as integer)
dim s as string
dim l as Listbox
Select case state
case 1
s="Start"
count=0
case 2
count=count+1
s="Idle for "+str(count)+" seconds."
case 3
s="Stop"
count=0
end Select
l=Window1.ListBox1
l.AddRow s
l.ScrollPosition=l.ListCount-1
End EventHandler
Property Protected count As integer
End Class
Class App Inherits Application
End Class