# Scrolling
 def EVT_SCROLL(win, func):
-    win.Connect(-1, -1, wxEVT_SCROLL_TOP,       func)
-    win.Connect(-1, -1, wxEVT_SCROLL_BOTTOM,    func)
-    win.Connect(-1, -1, wxEVT_SCROLL_LINEUP,    func)
-    win.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN,  func)
-    win.Connect(-1, -1, wxEVT_SCROLL_PAGEUP,    func)
-    win.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN,  func)
-    win.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK,func)
+    win.Connect(-1, -1, wxEVT_SCROLL_TOP,         func)
+    win.Connect(-1, -1, wxEVT_SCROLL_BOTTOM,      func)
+    win.Connect(-1, -1, wxEVT_SCROLL_LINEUP,      func)
+    win.Connect(-1, -1, wxEVT_SCROLL_LINEDOWN,    func)
+    win.Connect(-1, -1, wxEVT_SCROLL_PAGEUP,      func)
+    win.Connect(-1, -1, wxEVT_SCROLL_PAGEDOWN,    func)
+    win.Connect(-1, -1, wxEVT_SCROLL_THUMBTRACK,  func)
     win.Connect(-1, -1, wxEVT_SCROLL_THUMBRELEASE,func)
+    win.Connect(-1, -1, wxEVT_SCROLL_ENDSCROLL,   func)
 
 def EVT_SCROLL_TOP(win, func):
     win.Connect(-1, -1, wxEVT_SCROLL_TOP, func)
 def EVT_SCROLL_THUMBRELEASE(win, func):
     win.Connect(-1, -1, wxEVT_SCROLL_THUMBRELEASE, func)
 
+def EVT_SCROLL_ENDSCROLL(win, func):
+    win.Connect(-1, -1, wxEVT_SCROLL_ENDSCROLL, func)
+
 
 
 # Scrolling, with an id
     win.Connect(id, -1, wxEVT_SCROLL_PAGEDOWN,  func)
     win.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK,func)
     win.Connect(id, -1, wxEVT_SCROLL_THUMBRELEASE,func)
+    win.Connect(-1, -1, wxEVT_SCROLL_ENDSCROLL,   func)
 
 def EVT_COMMAND_SCROLL_TOP(win, id, func):
     win.Connect(id, -1, wxEVT_SCROLL_TOP, func)
 def EVT_COMMAND_SCROLL_THUMBRELEASE(win, id, func):
     win.Connect(id, -1, wxEVT_SCROLL_THUMBRELEASE, func)
 
+def EVT_COMMAND_SCROLL_ENDSCROLL(win, id, func):
+    win.Connect(id, -1, wxEVT_SCROLL_ENDSCROLL, func)
+
 #---
 def EVT_SCROLLWIN(win, func):
     win.Connect(-1, -1, wxEVT_SCROLLWIN_TOP,         func)
 def wxCallAfter(callable, *args, **kw):
     """
     Call the specified function after the current and pending event
-    handlers have been completed.
+    handlers have been completed.  This is also good for making GUI
+    method calls from non-GUI threads.
     """
     app = wxGetApp()
     assert app, 'No wxApp created yet'
     def __init__(self, flag=0):
         wxApp.__init__(self, flag)
     def OnInit(self):
+        wxInitAllImageHandlers()
         return true