NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)