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()