navigation.py (2245B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\structure\navigation.py 2 import evecamera 3 import carbonui.const as uiconst 4 from carbonui.uicore import uicore 5 from carbonui.control.layer import LayerCore 6 from eve.client.script.ui.camera.structureCameraController import StructureCameraController 7 from eveservices.menu import GetMenuService 8 9 class StructureLayer(LayerCore): 10 __notifyevents__ = ['OnActiveCameraChanged'] 11 __guid__ = 'uicls.StructureLayer' 12 13 def __init__(self, *args, **kwargs): 14 self.cameraController = None 15 LayerCore.__init__(self, *args, **kwargs) 16 17 def OnOpenView(self, **kwargs): 18 sm.GetService('sceneManager').SetPrimaryCamera(evecamera.CAM_STRUCTURE) 19 self.OnActiveCameraChanged(evecamera.CAM_SHIPORBIT) 20 21 def OnActiveCameraChanged(self, cameraID): 22 if cameraID == evecamera.CAM_STRUCTURE: 23 self.cameraController = StructureCameraController() 24 25 def OnMouseDown(self, *args): 26 if self.cameraController: 27 self.cameraController.OnMouseDown(*args) 28 if uicore.uilib.leftbtn: 29 self.SetCursor(uiconst.UICURSOR_DRAGGABLE, True) 30 31 def OnMouseUp(self, button, *args): 32 if self.cameraController: 33 self.cameraController.OnMouseUp(button, *args) 34 if not uicore.uilib.leftbtn: 35 self.SetCursor(None, False) 36 37 def OnMouseMove(self, *args): 38 if uicore.IsDragging(): 39 return 40 if self.cameraController: 41 self.cameraController.OnMouseMove(*args) 42 43 def OnMouseWheel(self, *args): 44 if self.cameraController: 45 self.cameraController.OnMouseWheel(*args) 46 47 def OnDblClick(self, *args): 48 uicore.cmd.GetCommandAndExecute('OpenInventory') 49 50 def GetMenu(self): 51 return GetMenuService().CelestialMenu(session.structureid) 52 53 def SetCursor(self, cursor, clip): 54 self.cursor = cursor 55 if clip: 56 uicore.uilib.ClipCursor(0, 0, uicore.desktop.width, uicore.desktop.height) 57 uicore.uilib.SetCapture(self) 58 else: 59 uicore.uilib.UnclipCursor() 60 if uicore.uilib.GetCapture() == self: 61 uicore.uilib.ReleaseCapture()