wxPython Merge #2 of 2.4 branch --> HEAD (branch tag: wxPy_2_4_merge_2)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-07-02 23:13:10 +00:00
parent e234d4c9b7
commit 1fded56b37
535 changed files with 48899 additions and 20067 deletions

View File

@@ -7,6 +7,8 @@
from wxPython.wx import *
import time
#-------------------------------------------------------------------
class MyFrame(wxFrame):
@@ -68,14 +70,24 @@ check the source for this sample to see how to implement them.
menu5 = wxMenu()
menu5.Append(501, "Interesting thing\tCtrl+A", "Note the shortcut!")
menu5.AppendSeparator()
menu5.Append(502, "Hello\tShift+H")
menu5.AppendSeparator()
menu5.Append(503, "remove the submenu")
menu6 = wxMenu()
menu6.Append(601, "Submenu Item")
menu5.AppendMenu(504, "submenu", menu6)
menu5.Append(505, "remove this menu")
menu5.Append(506, "this is updated")
menu5.Append(507, "insert after this...")
menu5.Append(508, "...and before this")
menuBar.Append(menu5, "&Fun")
self.SetMenuBar(menuBar)
# Menu events
EVT_MENU_HIGHLIGHT_ALL(self, self.OnMenuHighlight)
EVT_MENU(self, 101, self.Menu101)
EVT_MENU(self, 102, self.Menu102)
EVT_MENU(self, 103, self.Menu103)
@@ -97,9 +109,25 @@ check the source for this sample to see how to implement them.
EVT_MENU(self, 501, self.Menu501)
EVT_MENU(self, 502, self.Menu502)
EVT_MENU(self, 503, self.TestRemove)
EVT_MENU(self, 505, self.TestRemove2)
EVT_MENU(self, 507, self.TestInsert)
EVT_MENU(self, 508, self.TestInsert)
EVT_UPDATE_UI(wxGetApp(), 506, self.TestUpdateUI)
# Methods
def OnMenuHighlight(self, event):
# Show how to get menu item imfo from this event handler
id = event.GetMenuId()
item = self.GetMenuBar().FindItemById(id)
text = item.GetText()
help = item.GetHelp()
#print text, help
event.Skip() # but in this case just call Skip so the default is done
def Menu101(self, event):
self.log.write('Welcome to Mercury\n')
@@ -146,8 +174,49 @@ check the source for this sample to see how to implement them.
def Menu502(self, event):
self.log.write('Hello from Jean-Michel\n')
def TestRemove(self, evt):
mb = self.GetMenuBar()
submenuItem = mb.FindItemById(601)
if not submenuItem:
return
submenu = submenuItem.GetMenu()
menu = submenu.GetParent()
#menu.Remove(504) # works
menu.RemoveItem(mb.FindItemById(504)) # this also works
#menu.RemoveItem(submenuItem) # doesn't work, as expected since submenuItem is not on menu
def TestRemove2(self, evt):
mb = self.GetMenuBar()
mb.Remove(4)
def TestUpdateUI(self, evt):
text = time.ctime()
evt.SetText(text)
def TestInsert(self, evt):
# get the menu
mb = self.GetMenuBar()
menuItem = mb.FindItemById(507)
menu = menuItem.GetMenu()
ID = wxNewId()
##menu.Insert(9, ID, "NewItem " + str(ID))
item = wxMenuItem(menu)
item.SetId(ID)
item.SetText("NewItem " + str(ID))
menu.InsertItem(9, item)
#-------------------------------------------------------------------
wxRegisterId(10000)
def runTest(frame, nb, log):
win = MyFrame(frame, -1, log)
frame.otherWin = win