#-------------------------------------------------------------------
 
 from wxPython.wx import *
-
+import images
 import time
 
 #-------------------------------------------------------------------
         menuBar.Append(menu4, "Chec&k")
 
         menu5 = wxMenu()
+        # Show how to put an icon in the menu
+        item = wxMenuItem(menu5, 500, "&Smile!\tCtrl+S", "This one has an icon")
+        item.SetBitmap(images.getSmilesBitmap())
+        menu5.AppendItem(item)
+
         menu5.Append(501, "Interesting thing\tCtrl+A", "Note the shortcut!")
         menu5.AppendSeparator()
         menu5.Append(502, "Hello\tShift+H")
 
         EVT_MENU_RANGE(self, 401, 403, self.Menu401To403)
 
+        EVT_MENU(self, 500, self.Menu500)
         EVT_MENU(self, 501, self.Menu501)
         EVT_MENU(self, 502, self.Menu502)
         EVT_MENU(self, 503, self.TestRemove)
     def Menu401To403(self, event):
         self.log.write('From a EVT_MENU_RANGE event\n')
 
+    def Menu500(self, event):
+        self.log.write('Have a happy day!\n')
+
     def Menu501(self, event):
         self.log.write('Look in the code how the shortcut has been realized\n')
 
 
 
     def TestInsert(self, evt):
+        theID = 508
         # get the menu
         mb = self.GetMenuBar()
-        menuItem = mb.FindItemById(507)
+        menuItem = mb.FindItemById(theID)
         menu = menuItem.GetMenu()
 
+        # figure out the position to insert at
+        pos = 0
+        for i in menu.GetMenuItems():
+            if i.GetId() == theID:
+                break
+            pos += 1
+
+        # now insert the new item
         ID = wxNewId()
-        ##menu.Insert(9, ID, "NewItem " + str(ID))
+        ##menu.Insert(pos, ID, "NewItem " + str(ID))
         item = wxMenuItem(menu)
         item.SetId(ID)
         item.SetText("NewItem " + str(ID))
-        menu.InsertItem(9, item)
+        menu.InsertItem(pos, item)