Made manipulating widget not be shown for unmovable objects

This commit is contained in:
Gyedo Jeon 2010-03-16 18:59:05 +00:00
parent bd362cd1d3
commit 448b975efe
2 changed files with 15 additions and 0 deletions

View File

@ -104,6 +104,7 @@ class LevelEditorBase(DirectObject):
base.direct.ignore('DIRECT-delete')
base.direct.ignore('DIRECT-select')
base.direct.ignore('DIRECT-preDeselectAll')
base.direct.ignore('DIRECT-toggleWidgetVis')
base.direct.fIgnoreDirectOnlyKeyMap = 1
# [gjeon] do not use the old way of finding current DR
@ -132,6 +133,7 @@ class LevelEditorBase(DirectObject):
('LE-OpenScene', self.ui.onOpen),
('LE-Quit', self.ui.quit),
('DIRECT-mouse3', self.handleMouse3),
('DIRECT-toggleWidgetVis', self.toggleWidget),
])
# Add all the action events
@ -171,6 +173,13 @@ class LevelEditorBase(DirectObject):
__builtins__['last'] = None
base.direct.selected.last = None
def toggleWidget(self):
if self.objectMgr.currNodePath:
obj = self.objectMgr.findObjectByNodePath(self.objectMgr.currNodePath)
if obj and not obj[OG.OBJ_DEF].movable:
return
base.direct.toggleWidgetVis()
def handleMouse3(self, modifiers):
if base.direct.fAlt or modifiers == 4:
return

View File

@ -215,6 +215,12 @@ class ObjectMgr:
if fLEPane == 0:
self.editor.ui.sceneGraphUI.select(obj[OG.OBJ_UID])
if not obj[OG.OBJ_DEF].movable:
if base.direct.widget.fActive:
base.direct.widget.toggleWidget()
def updateObjectPropertyUI(self, obj):
objDef = obj[OG.OBJ_DEF]
objProp = obj[OG.OBJ_PROP]