]> granicus.if.org Git - python/commitdiff
The new menu initialization code would also add the SIOUX menus if a (frozen) Python...
authorJack Jansen <jack.jansen@cwi.nl>
Mon, 10 Dec 2001 16:08:14 +0000 (16:08 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Mon, 10 Dec 2001 16:08:14 +0000 (16:08 +0000)
Mac/Lib/FrameWork.py
Mac/Python/macglue.c

index b2b61dbca803e5e41a36c17bab143a557f987c74..c0692b941e5a797fb265a1bb6bd8be581f800ec3 100644 (file)
@@ -30,6 +30,9 @@ import EasyDialogs
 kHighLevelEvent = 23   # Don't know what header file this should come from
 SCROLLBARWIDTH = 16            # Again, not a clue...
 
+# Trick to forestall a set of SIOUX menus being added to our menubar
+SIOUX_APPLEMENU_ID=32000
+
 
 # Map event 'what' field to strings
 eventname = {}
@@ -442,8 +445,9 @@ class MenuBar:
                self.bar = None
                self.menus = None
        
-       def addmenu(self, title, after = 0):
-               id = self.getnextid()
+       def addmenu(self, title, after = 0, id=None):
+               if id == None:
+                       id = self.getnextid()
                if DEBUG: print 'Newmenu', title, id # XXXX
                m = NewMenu(id, title)
                m.InsertMenu(after)
@@ -507,9 +511,9 @@ class MenuBar:
 class Menu:
        "One menu."
        
-       def __init__(self, bar, title, after=0):
+       def __init__(self, bar, title, after=0, id=None):
                self.bar = bar
-               self.id, self.menu = self.bar.addmenu(title, after)
+               self.id, self.menu = self.bar.addmenu(title, after, id)
                bar.menus[self.id] = self
                self.items = []
                self._parent = None
@@ -675,7 +679,7 @@ def SubMenu(menu, label, title=''):
 class AppleMenu(Menu):
        
        def __init__(self, bar, abouttext="About me...", aboutcallback=None):
-               Menu.__init__(self, bar, "\024")
+               Menu.__init__(self, bar, "\024", id=SIOUX_APPLEMENU_ID)
                if MacOS.runtimemodel == 'ppc':
                        self.additem(abouttext, None, aboutcallback)
                        self.addseparator()
index f9c9affcc1891fddb56df55c9ad04119a7c4b8bc..e66ab837e5110e1837316b38724f39141993c116 100644 (file)
@@ -720,6 +720,8 @@ void
 PyMac_InitMenuBar()
 {
        MenuHandle applemenu;
+       Str255 about_text;
+       static unsigned char about_sioux[] = "\pAbout SIOUX";
        
        if ( sioux_mbar ) return;
 #if 0
@@ -737,7 +739,10 @@ PyMac_InitMenuBar()
                        return;
        }
        if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
-       SetMenuItemText(applemenu, 1, "\pAbout Python...");
+       GetMenuItemText(applemenu, 1, about_text);
+       if ( about_text[0] == about_sioux[0] && 
+               strncmp((char *)(about_text+1), (char *)(about_sioux+1), about_text[0]) == 0 )
+               SetMenuItemText(applemenu, 1, "\pAbout Python...");
 }
 
 /*