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

portraitWindow.py (2523B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\portraitWindow\portraitWindow.py
      2 import localization
      3 from carbonui.control.button import Button
      4 from carbonui.primitives.container import Container
      5 from carbonui.primitives.sprite import Sprite
      6 from carbonui import uiconst
      7 from carbonui.button.group import ButtonGroup
      8 from eve.common.lib import appConst as const
      9 from carbonui.control.window import Window
     10 from menu import MenuLabel
     11 
     12 class PortraitWindow(Window):
     13     __guid__ = 'form.PortraitWindow'
     14     default_windowID = 'PortraitWindow'
     15 
     16     def ApplyAttributes(self, attributes):
     17         Window.ApplyAttributes(self, attributes)
     18         charID = attributes.charID
     19         self.charID = charID
     20         self.photoSize = 512
     21         self.width = self.photoSize + 2 * const.defaultPadding
     22         self.height = self.width + 46
     23         self.SetMinSize([self.width, self.height])
     24         self.MakeUnResizeable()
     25         btnGroup = ButtonGroup(parent=self.content, idx=0, align=uiconst.TOBOTTOM)
     26         self.switchBtn = Button(parent=btnGroup, label=localization.GetByLabel('UI/Preview/ViewFullBody'), func=self.SwitchToFullBody, args=(), btn_modalresult=1, btn_default=1)
     27         self.picParent = Container(name='picpar', parent=self.content, align=uiconst.TOALL, pos=(const.defaultPadding,
     28          const.defaultPadding,
     29          const.defaultPadding,
     30          const.defaultPadding))
     31         self.pic = Sprite(parent=self.picParent, align=uiconst.TOALL)
     32         self.pic.GetMenu = self.PicMenu
     33         self.Load(charID)
     34         from eve.client.script.ui.shared.preview import PreviewCharacterWnd
     35         previewWnd = PreviewCharacterWnd.GetIfOpen()
     36         if previewWnd:
     37             previewWnd.CloseByUser()
     38 
     39     def Load(self, charID):
     40         caption = localization.GetByLabel('UI/InfoWindow/PortraitCaption', character=charID)
     41         self.SetCaption(caption)
     42         sm.GetService('photo').GetPortrait(charID, self.photoSize, self.pic, blocking=True)
     43 
     44     def PicMenu(self, *args):
     45         m = []
     46         m.append((MenuLabel('UI/Commands/CapturePortrait'), sm.StartService('photo').SavePortraits, [self.charID]))
     47         m.append((MenuLabel('/Carbon/UI/Common/Close'), self.CloseByUser))
     48         return m
     49 
     50     def SwitchToFullBody(self):
     51         try:
     52             self.switchBtn.Disable()
     53             wnd = sm.GetService('preview').PreviewCharacter(self.charID)
     54         finally:
     55             self.switchBtn.Enable()
     56 
     57         if wnd:
     58             self.CloseByUser()