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

pointerToolFraming.py (2620B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\pointerTool\pointerToolFraming.py
      2 import trinity
      3 from carbonui.uicore import uicore
      4 import carbonui.const as uiconst
      5 
      6 def CreateBinding(key, element, elementFrame, bindingDict, curveSet):
      7     RemoveBindingFromDict(key, bindingDict, curveSet)
      8     elementRenderObject = getattr(element, 'renderObject', None)
      9     elementFrameRenderObject = getattr(elementFrame, 'renderObject', None)
     10     if not elementRenderObject or not elementFrameRenderObject:
     11         return
     12     leftBinding = trinity.CreatePythonBinding(curveSet, element, 'absoluteLeft', elementFrame, 'left')
     13     topBinding = trinity.CreatePythonBinding(curveSet, element, 'absoluteTop', elementFrame, 'top')
     14     widthBinding = trinity.CreatePythonBinding(curveSet, element, 'absoluteRight', elementFrame, 'frameWidth')
     15     heightBinding = trinity.CreatePythonBinding(curveSet, element, 'absoluteBottom', elementFrame, 'frameHeight')
     16     bindingDict[key] = [leftBinding,
     17      topBinding,
     18      widthBinding,
     19      heightBinding]
     20 
     21 
     22 def RemoveBindingFromDict(key, bindingDict, curveSet):
     23     bindings = bindingDict.pop(key, None)
     24     if bindings:
     25         RemoveBindings(bindings, curveSet)
     26 
     27 
     28 def RemoveBindings(bindings, curveSet):
     29     l, t, w, h = bindings
     30     curveSet.bindings.fremove(l)
     31     curveSet.bindings.fremove(t)
     32     curveSet.bindings.fremove(w)
     33     curveSet.bindings.fremove(h)
     34 
     35 
     36 def RemoveAllFrames(bindingDict, frameDict, curveSet):
     37     for key, bindings in bindingDict.iteritems():
     38         RemoveBindings(bindings, curveSet)
     39 
     40     bindingDict.clear()
     41     for eachFrameInfo in frameDict.itervalues():
     42         eachFrame, _ = eachFrameInfo
     43         _CloseFrame(eachFrame)
     44 
     45     frameDict.clear()
     46 
     47 
     48 def RemoveOldFrames(frameDict, bindingDict, curveSet):
     49     framesToRemove = set()
     50     for eachKey, eachFrameInfo in frameDict.iteritems():
     51         f, element = eachFrameInfo
     52         if not element or element.destroyed or not element.IsVisible():
     53             framesToRemove.add(eachKey)
     54 
     55     for keyName in framesToRemove:
     56         RemoveBindingFromDict(keyName, bindingDict, curveSet)
     57         frameInfo = frameDict.pop(keyName, None)
     58         if frameInfo:
     59             f, _ = frameInfo
     60             _CloseFrame(f)
     61 
     62 
     63 def _CloseFrame(frame):
     64     if frame and not frame.destroyed:
     65         uicore.animations.StopAllAnimations(frame)
     66         frame.Close()
     67 
     68 
     69 def ChangePickStateOfAllFrames(frameDict, isEnabled):
     70     newState = uiconst.UI_NORMAL if isEnabled else uiconst.UI_DISABLED
     71     for eachFrame, _ in frameDict.itervalues():
     72         eachFrame.state = newState