menu.py (1497B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\button\menu.py 2 import eveicon 3 import localization 4 from carbonui.control.button import Button 5 from carbonui.control.buttonIcon import ButtonIcon 6 from carbonui.control.contextMenu.menuEntryData import MenuEntryData 7 8 class MenuButtonIcon(ButtonIcon): 9 default_texturePath = eveicon.more_vertical 10 default_width = 24 11 default_height = 24 12 default_iconSize = 16 13 expandOnLeft = True 14 default_hint = localization.GetByLabel('UI/Common/More') 15 16 def ApplyAttributes(self, attributes): 17 super(MenuButtonIcon, self).ApplyAttributes(attributes) 18 if attributes.get_menu_func: 19 self.get_menu_func = attributes.get_menu_func 20 21 def GetMenu(self): 22 return self.get_menu_func() 23 24 def GetMenuPosition(self, element): 25 return (self.absoluteLeft + 2, self.absoluteBottom) 26 27 28 class MenuButton(Button): 29 expandOnLeft = True 30 31 def __init__(self, get_menu_func, **kwargs): 32 self.get_menu_func = get_menu_func 33 super(MenuButton, self).__init__(**kwargs) 34 35 def get_menu_entry_data(self): 36 icon = self.texturePath if self.texturePath != eveicon.more_vertical else None 37 return MenuEntryData(text=self.label or self.hint, texturePath=icon, subMenuData=self.get_menu_func) 38 39 def GetMenu(self): 40 return self.get_menu_func() 41 42 def GetMenuPosition(self, element): 43 return (self.absoluteLeft, self.absoluteBottom)