def CreateLongPopupMenu(self): if hasattr(self, "_longPopUpMenu"): return self._longPopUpMenu = FM.FlatMenu() sub = FM.FlatMenu() #----------------------------------------------- # Flat Menu test #----------------------------------------------- for ii in range(30): if ii == 0: menuItem = FM.FlatMenuItem(self._longPopUpMenu, wx.ID_ANY, "Menu Item #%ld"%(ii+1), "", wx.ITEM_NORMAL, sub) self._longPopUpMenu.AppendItem(menuItem) for k in range(5): menuItem = FM.FlatMenuItem(sub, wx.ID_ANY, "Sub Menu Item #%ld"%(k+1)) sub.AppendItem(menuItem) else: menuItem = FM.FlatMenuItem(self._longPopUpMenu, wx.ID_ANY, "Menu Item #%ld"%(ii+1)) self._longPopUpMenu.AppendItem(menuItem)
def CreateMenu(self): # Create the menubar self._mb = FM.FlatMenuBar(self, wx.ID_ANY, 32, 5, options=FM_OPT_SHOW_TOOLBAR) fileMenu = FM.FlatMenu() self.newMyTheme = self._mb.GetRendererManager().AddRenderer( FM_MyRenderer()) # Load toolbar icons (32x32) open_folder_bmp = wx.Bitmap(os.path.join(bitmapDir, "fileopen.png"), wx.BITMAP_TYPE_PNG) new_file_bmp = wx.Bitmap(os.path.join(bitmapDir, "filenew.png"), wx.BITMAP_TYPE_PNG) save_bmp = wx.Bitmap(os.path.join(bitmapDir, "filesave.png"), wx.BITMAP_TYPE_PNG) item = FM.FlatMenuItem(fileMenu, MENU_NEW_FILE, "& 登录\tCtrl+A", "登录", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_NEW_FILE, "登录", new_file_bmp) item = FM.FlatMenuItem(fileMenu, MENU_SAVE, "& 注册\tCtrl+B", "注册", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_SAVE, "注册", save_bmp) item = FM.FlatMenuItem(fileMenu, MENU_OPEN_FILE, "& 注销\tCtrl+C", "注销", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_OPEN_FILE, "注销", open_folder_bmp) self._mb.AddSeparator() # Toolbar separator self._mb.AddSeparator() # Separator fileMenu.SetBackgroundBitmap(CreateBackgroundBitmap()) # Add menu to the menu bar self._mb.Append(fileMenu, "&File")
def DoNewLayout(self): helpMenu = FM.FlatMenu() helpImg = wx.Bitmap(os.path.join(bitmapDir, "help-16.png"), wx.BITMAP_TYPE_PNG) item = FM.FlatMenuItem(helpMenu, MENU_HELP, "&个人信息\tCtrl+A", "About...", wx.ITEM_NORMAL, None, helpImg) helpMenu.AppendItem(item) self._mb.Append(helpMenu, "&管理") self._mgr.AddPane(self.CreateNotebook(), AuiPaneInfo().Name("main_panel").Top().CenterPane()) if self.id_num == USER_ID: self._mgr.AddPane( DoctorPanel(self, self.operator, self.doctor_info), AuiPaneInfo().Name("医师信息").Caption("医师信息").Right().CloseButton( False).MaximizeButton(False).MinimizeButton(True).MinSize( wx.Size(300, 150))) self._mgr.AddPane( self.CreateHTMLCtrl(), AuiPaneInfo().Name("test8").Caption("更多健康食谱文章").Bottom().Right( ).CloseButton(False).MaximizeButton(True).MinimizeButton( True).MinSize(wx.Size(300, 150))) elif self.id_num == MANAGER_ID: print('管理员') elif self.id_num == DOCTOR_ID: print('医生') self._mgr.AddPane( self.CreateHTMLCtrl(), AuiPaneInfo().Name("user_info").Caption("用户交流窗口").Bottom(). Right().CloseButton(False).MaximizeButton(True).MinimizeButton( True).MinSize(wx.Size(300, 100))) else: print(self.id_num) self._mgr.AddPane(FeaturedRecipes(self), AuiPaneInfo().Name("thirdauto").Caption( "特色食谱").Bottom().MinimizeButton(True).MinSize( wx.Size(800, 200)), target=self._mgr.GetPane("autonotebook")) self._mb.PositionAUI(self._mgr) self._mgr.Update()
def CreatePopupMenu(self): if not self._popUpMenu: self._popUpMenu = FM.FlatMenu() #----------------------------------------------- # Flat Menu test #----------------------------------------------- # First we create the sub-menu item subMenu = FM.FlatMenu() subSubMenu = FM.FlatMenu() # Create the menu items menuItem = FM.FlatMenuItem(self._popUpMenu, 20001, "First Menu Item", "", wx.ITEM_CHECK) self._popUpMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(self._popUpMenu, 20002, "Sec&ond Menu Item", "", wx.ITEM_CHECK) self._popUpMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(self._popUpMenu, wx.ID_ANY, "Checkable-Disabled Item", "", wx.ITEM_CHECK) menuItem.Enable(False) self._popUpMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(self._popUpMenu, 20003, "Third Menu Item", "", wx.ITEM_CHECK) self._popUpMenu.AppendItem(menuItem) self._popUpMenu.AppendSeparator() # Add sub-menu to main menu menuItem = FM.FlatMenuItem(self._popUpMenu, 20004, "Sub-&menu item", "", wx.ITEM_NORMAL, subMenu) self._popUpMenu.AppendItem(menuItem) # Create the submenu items and add them menuItem = FM.FlatMenuItem(subMenu, 20005, "&Sub-menu Item 1", "", wx.ITEM_NORMAL) subMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subMenu, 20006, "Su&b-menu Item 2", "", wx.ITEM_NORMAL) subMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subMenu, 20007, "Sub-menu Item 3", "", wx.ITEM_NORMAL) subMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subMenu, 20008, "Sub-menu Item 4", "", wx.ITEM_NORMAL) subMenu.AppendItem(menuItem) # Create the submenu items and add them menuItem = FM.FlatMenuItem(subSubMenu, 20009, "Sub-menu Item 1", "", wx.ITEM_NORMAL) subSubMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subSubMenu, 20010, "Sub-menu Item 2", "", wx.ITEM_NORMAL) subSubMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subSubMenu, 20011, "Sub-menu Item 3", "", wx.ITEM_NORMAL) subSubMenu.AppendItem(menuItem) menuItem = FM.FlatMenuItem(subSubMenu, 20012, "Sub-menu Item 4", "", wx.ITEM_NORMAL) subSubMenu.AppendItem(menuItem) # Add sub-menu to submenu menu menuItem = FM.FlatMenuItem(subMenu, 20013, "Sub-menu item", "", wx.ITEM_NORMAL, subSubMenu) subMenu.AppendItem(menuItem)
def CreateMenu(self): # Create the menubar self._mb = FM.FlatMenuBar(self, wx.ID_ANY, 32, 5, options = FM_OPT_SHOW_TOOLBAR | FM_OPT_SHOW_CUSTOMIZE) fileMenu = FM.FlatMenu() styleMenu = FM.FlatMenu() editMenu = FM.FlatMenu() multipleMenu = FM.FlatMenu() historyMenu = FM.FlatMenu() subMenu = FM.FlatMenu() helpMenu = FM.FlatMenu() subMenu1 = FM.FlatMenu() subMenuExit = FM.FlatMenu() self.newMyTheme = self._mb.GetRendererManager().AddRenderer(FM_MyRenderer()) # Load toolbar icons (32x32) copy_bmp = wx.Bitmap(os.path.join(bitmapDir, "editcopy.png"), wx.BITMAP_TYPE_PNG) cut_bmp = wx.Bitmap(os.path.join(bitmapDir, "editcut.png"), wx.BITMAP_TYPE_PNG) paste_bmp = wx.Bitmap(os.path.join(bitmapDir, "editpaste.png"), wx.BITMAP_TYPE_PNG) open_folder_bmp = wx.Bitmap(os.path.join(bitmapDir, "fileopen.png"), wx.BITMAP_TYPE_PNG) new_file_bmp = wx.Bitmap(os.path.join(bitmapDir, "filenew.png"), wx.BITMAP_TYPE_PNG) new_folder_bmp = wx.Bitmap(os.path.join(bitmapDir, "folder_new.png"), wx.BITMAP_TYPE_PNG) save_bmp = wx.Bitmap(os.path.join(bitmapDir, "filesave.png"), wx.BITMAP_TYPE_PNG) context_bmp = wx.Bitmap(os.path.join(bitmapDir, "contexthelp-16.png"), wx.BITMAP_TYPE_PNG) colBmp = wx.Bitmap(os.path.join(bitmapDir, "month-16.png"), wx.BITMAP_TYPE_PNG) view1Bmp = wx.Bitmap(os.path.join(bitmapDir, "view_choose.png"), wx.BITMAP_TYPE_PNG) view2Bmp = wx.Bitmap(os.path.join(bitmapDir, "view_detailed.png"), wx.BITMAP_TYPE_PNG) view3Bmp = wx.Bitmap(os.path.join(bitmapDir, "view_icon.png"), wx.BITMAP_TYPE_PNG) view4Bmp = wx.Bitmap(os.path.join(bitmapDir, "view_multicolumn.png"), wx.BITMAP_TYPE_PNG) # Set an icon to the exit/help/transparency menu item exitImg = wx.Bitmap(os.path.join(bitmapDir, "exit-16.png"), wx.BITMAP_TYPE_PNG) helpImg = wx.Bitmap(os.path.join(bitmapDir, "help-16.png"), wx.BITMAP_TYPE_PNG) ghostBmp = wx.Bitmap(os.path.join(bitmapDir, "field-16.png"), wx.BITMAP_TYPE_PNG) # Create a context menu context_menu = FM.FlatMenu() # Create the menu items menuItem = FM.FlatMenuItem(context_menu, wx.ID_ANY, "Test Item", "", wx.ITEM_NORMAL, None, context_bmp) context_menu.AppendItem(menuItem) item = FM.FlatMenuItem(fileMenu, MENU_NEW_FILE, "&New File\tCtrl+N", "New File", wx.ITEM_NORMAL) fileMenu.AppendItem(item) item.SetContextMenu(context_menu) self._mb.AddTool(MENU_NEW_FILE, "New File", new_file_bmp) item = FM.FlatMenuItem(fileMenu, MENU_SAVE, "&Save File\tCtrl+S", "Save File", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_SAVE, "Save File", save_bmp) item = FM.FlatMenuItem(fileMenu, MENU_OPEN_FILE, "&Open File\tCtrl+O", "Open File", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_OPEN_FILE, "Open File", open_folder_bmp) self._mb.AddSeparator() # Toolbar separator item = FM.FlatMenuItem(fileMenu, MENU_NEW_FOLDER, "N&ew Folder\tCtrl+E", "New Folder", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_NEW_FOLDER, "New Folder",new_folder_bmp) self._mb.AddSeparator() # Toobar separator item = FM.FlatMenuItem(fileMenu, MENU_COPY, "&Copy\tCtrl+C", "Copy", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_COPY, "Copy", copy_bmp) item = FM.FlatMenuItem(fileMenu, MENU_CUT, "Cut\tCtrl+X", "Cut", wx.ITEM_NORMAL) fileMenu.AppendItem(item) self._mb.AddTool(MENU_CUT, "Cut", cut_bmp) item = FM.FlatMenuItem(fileMenu, MENU_PASTE, "Paste\tCtrl+V", "Paste", wx.ITEM_NORMAL, subMenuExit) fileMenu.AppendItem(item) self._mb.AddTool(MENU_PASTE, "Paste", paste_bmp) self._mb.AddSeparator() # Separator # Add a wx.ComboBox to FlatToolbar combo = wx.ComboBox(self._mb, -1, choices=["Hello", "World", "wxPython"]) self._mb.AddControl(combo) self._mb.AddSeparator() # Separator stext = wx.StaticText(self._mb, -1, "Hello") #stext.SetBackgroundStyle(wx.BG_STYLE_CUSTOM ) self._mb.AddControl(stext) self._mb.AddSeparator() # Separator # Add another couple of bitmaps self._mb.AddRadioTool(wx.ID_ANY, "View Column", view1Bmp) self._mb.AddRadioTool(wx.ID_ANY, "View Icons", view2Bmp) self._mb.AddRadioTool(wx.ID_ANY, "View Details", view3Bmp) self._mb.AddRadioTool(wx.ID_ANY, "View Multicolumn", view4Bmp) # Add non-toolbar item item = FM.FlatMenuItem(subMenuExit, wx.ID_EXIT, "E&xit\tAlt+X", "Exit demo", wx.ITEM_NORMAL, None, exitImg) subMenuExit.AppendItem(item) fileMenu.AppendSeparator() item = FM.FlatMenuItem(subMenuExit, wx.ID_EXIT, "E&xit\tAlt+Q", "Exit demo", wx.ITEM_NORMAL, None, exitImg) fileMenu.AppendItem(item) # Second menu item = FM.FlatMenuItem(styleMenu, MENU_STYLE_DEFAULT, "Menu style Default\tAlt+N", "Menu style Default", wx.ITEM_RADIO) styleMenu.AppendItem(item) item.Check(True) item = FM.FlatMenuItem(styleMenu, MENU_STYLE_MY, "Menu style Custom \tAlt+C", "Menu style Custom", wx.ITEM_RADIO) styleMenu.AppendItem(item) item = FM.FlatMenuItem(styleMenu, MENU_STYLE_XP, "Menu style XP\tAlt+P", "Menu style XP", wx.ITEM_RADIO) styleMenu.AppendItem(item) item = FM.FlatMenuItem(styleMenu, MENU_STYLE_2007, "Menu style 2007\tAlt+O", "Menu style 2007", wx.ITEM_RADIO) styleMenu.AppendItem(item) item = FM.FlatMenuItem(styleMenu, MENU_STYLE_VISTA, "Menu style Vista\tAlt+V", "Menu style Vista", wx.ITEM_RADIO) styleMenu.AppendItem(item) styleMenu.AppendSeparator() item = FM.FlatMenuItem(styleMenu, MENU_USE_CUSTOM, "Show Customize DropDown", "Shows the customize drop down arrow", wx.ITEM_CHECK) # Demonstrate how to set custom font and text colour to a FlatMenuItem item.SetFont(wx.Font(10, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD, False, "Courier New")) item.SetTextColour(wx.RED) item.Check(True) styleMenu.AppendItem(item) styleMenu.AppendSeparator() item = FM.FlatMenuItem(styleMenu, MENU_LCD_MONITOR, "Use LCD monitors option", "Instructs FlatMenu to use LCD drawings", wx.ITEM_CHECK) styleMenu.AppendItem(item) # Add some radio items styleMenu.AppendSeparator() # Add sub-menu to main menu item = FM.FlatMenuItem(styleMenu, wx.ID_ANY, "Sub-&menu radio items", "", wx.ITEM_NORMAL, subMenu1) styleMenu.AppendItem(item) item.SetContextMenu(context_menu) item = FM.FlatMenuItem(subMenu1, wx.ID_ANY, "Radio Item 1", "Radio Item 1", wx.ITEM_RADIO) subMenu1.AppendItem(item) item = FM.FlatMenuItem(subMenu1, wx.ID_ANY, "Radio Item 2", "Radio Item 2", wx.ITEM_RADIO) subMenu1.AppendItem(item) item.Check(True) item = FM.FlatMenuItem(subMenu1, wx.ID_ANY, "Radio Item 3", "Radio Item 3", wx.ITEM_RADIO) subMenu1.AppendItem(item) item = FM.FlatMenuItem(editMenu, MENU_REMOVE_MENU, "Remove menu", "Remove menu", wx.ITEM_NORMAL) editMenu.AppendItem(item) item = FM.FlatMenuItem(editMenu, MENU_DISABLE_MENU_ITEM, "Disable Menu Item ...", "Disable Menu Item", wx.ITEM_NORMAL) editMenu.AppendItem(item) editMenu.AppendSeparator() item = FM.FlatMenuItem(editMenu, MENU_TRANSPARENCY, "Set FlatMenu transparency...", "Sets the FlatMenu transparency", wx.ITEM_NORMAL, None, ghostBmp) editMenu.AppendItem(item) # Add some dummy entries to the sub menu # Add sub-menu to main menu item = FM.FlatMenuItem(editMenu, 9001, "Sub-&menu items", "", wx.ITEM_NORMAL, subMenu) editMenu.AppendItem(item) # Create the submenu items and add them item = FM.FlatMenuItem(subMenu, 9002, "&Sub-menu Item 1", "", wx.ITEM_NORMAL) subMenu.AppendItem(item) item = FM.FlatMenuItem(subMenu, 9003, "Su&b-menu Item 2", "", wx.ITEM_NORMAL) subMenu.AppendItem(item) item = FM.FlatMenuItem(subMenu, 9004, "Sub-menu Item 3", "", wx.ITEM_NORMAL) subMenu.AppendItem(item) item = FM.FlatMenuItem(subMenu, 9005, "Sub-menu Item 4", "", wx.ITEM_NORMAL) subMenu.AppendItem(item) maxItems = 17 numCols = 2 switch = int(math.ceil(maxItems/float(numCols))) fnt = wx.Font(9, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD, False, "Courier New") colours = [wx.RED, wx.GREEN, wx.BLUE] for i in range(17): row, col = i%switch, i/switch result = random.randint(0, 1) == 1 bmp = (result and [colBmp] or [wx.NullBitmap])[0] item = FM.FlatMenuItem(multipleMenu, wx.ID_ANY, "Row %d, Col %d"%((row+1, col+1)), "", wx.ITEM_NORMAL, None, bmp) if result == 0: # Demonstrate how to set custom font and text colour to a FlatMenuItem col = random.randint(0, 2) item.SetFont(fnt) item.SetTextColour(colours[col]) multipleMenu.AppendItem(item) multipleMenu.SetNumberColumns(2) historyMenu.Append(wx.ID_OPEN, "&Open...") self.historyMenu = historyMenu self.filehistory = FM.FileHistory() self.filehistory.UseMenu(self.historyMenu) self.Bind(FM.EVT_FLAT_MENU_SELECTED, self.OnFileOpenDialog, id=wx.ID_OPEN) item = FM.FlatMenuItem(helpMenu, MENU_HELP, "&About\tCtrl+A", "About...", wx.ITEM_NORMAL, None, helpImg) helpMenu.AppendItem(item) fileMenu.SetBackgroundBitmap(CreateBackgroundBitmap()) # Add menu to the menu bar self._mb.Append(fileMenu, "&File") self._mb.Append(styleMenu, "&Style") self._mb.Append(editMenu, "&Edit") self._mb.Append(multipleMenu, "&Multiple Columns") self._mb.Append(historyMenu, "File Histor&y") self._mb.Append(helpMenu, "&Help")