Skip to content
Snippets Groups Projects
Commit ce9760be authored by stefan's avatar stefan
Browse files

InspectorGadget, some fixes for selectionhelper

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2357 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent c7712eaa
No related branches found
No related tags found
No related merge requests found
...@@ -82,7 +82,7 @@ class ColorOptionsWidget(ComboOptionsWidget): ...@@ -82,7 +82,7 @@ class ColorOptionsWidget(ComboOptionsWidget):
self.RemoveWidget(w[0]) self.RemoveWidget(w[0])
if SelHelper().CheckAllFlags(SelHelper.HAS_IMG | SelHelper.IS_SINGLE): if SelHelper().CheckFlags(SelHelper.HAS_IMG | SelHelper.IS_ONE_TYPE):
for w in self.img_widgets_: for w in self.img_widgets_:
self.AddWidget(w[0], w[1]) self.AddWidget(w[0], w[1])
elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW| SelHelper.HAS_SURFACE) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG): elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW| SelHelper.HAS_SURFACE) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG):
......
...@@ -48,7 +48,6 @@ class InspectorWidget(ToolBarOptionsWidget): ...@@ -48,7 +48,6 @@ class InspectorWidget(ToolBarOptionsWidget):
self.obs = SceneObserverImpl() self.obs = SceneObserverImpl()
self.obs.AttachObserver(self) self.obs.AttachObserver(self)
ost.scene.AttachObserver(self.obs) ost.scene.AttachObserver(self.obs)
self.scene_selection_ = gui.SceneSelection.Instance()
QtCore.QObject.connect(app.scene_win.qobject,QtCore.SIGNAL("ActiveNodesChanged()"), QtCore.QObject.connect(app.scene_win.qobject,QtCore.SIGNAL("ActiveNodesChanged()"),
self.ActiveNodesChanged) self.ActiveNodesChanged)
......
...@@ -23,6 +23,7 @@ import ost ...@@ -23,6 +23,7 @@ import ost
import os import os
from datetime import datetime from datetime import datetime
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from scene_selection_helper import SelHelper
from preset_list_model import PresetListModel from preset_list_model import PresetListModel
from preset_editor_widget import PresetEditor from preset_editor_widget import PresetEditor
from preset import Preset from preset import Preset
...@@ -145,14 +146,11 @@ class PresetWidget(QtGui.QWidget): ...@@ -145,14 +146,11 @@ class PresetWidget(QtGui.QWidget):
def Update(self): def Update(self):
self.setEnabled(True) self.setEnabled(True)
scene_selection = gui.SceneSelection.Instance() if SelHelper().CheckAllFlags(SelHelper.NO_SELECTION):
if scene_selection.GetActiveNodeCount() == 0:
self.setEnabled(False) self.setEnabled(False)
return return
for i in range(0,scene_selection.GetActiveNodeCount()): if SelHelper().CheckNotFlags(SelHelper.HAS_ENTITY | SelHelper.IS_ONE_TYPE):
entity = scene_selection.GetActiveNode(i)
if not isinstance(scene_selection.GetActiveNode(i), gfx.Entity):
self.setEnabled(False) self.setEnabled(False)
return return
......
...@@ -131,7 +131,7 @@ class RenderOptionsWidget(ComboOptionsWidget): ...@@ -131,7 +131,7 @@ class RenderOptionsWidget(ComboOptionsWidget):
elif render_mode != node.GetRenderMode(): elif render_mode != node.GetRenderMode():
render_mode_valid = False render_mode_valid = False
if SelHelper().CheckFlags(SelHelper.HAS_IMG | SelHelper.IS_SINGLE): if SelHelper().CheckFlags(SelHelper.HAS_IMG | SelHelper.IS_ONE_TYPE):
for w in self.img_widgets_: for w in self.img_widgets_:
self.AddWidget(w[0], w[1]) self.AddWidget(w[0], w[1])
elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG): elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG):
......
...@@ -38,8 +38,10 @@ class SelHelper(): ...@@ -38,8 +38,10 @@ class SelHelper():
HAS_VIEW = 2 HAS_VIEW = 2
HAS_IMG = 4 HAS_IMG = 4
HAS_SURFACE = 8 HAS_SURFACE = 8
IS_SINGLE = 16 IS_ONE_TYPE = 16
IS_MULTI = 32 IS_MULTI_TYPE = 32
SINGLE_SELECTION = 64
MULTI_SELCTION = 128
def __init__(self): def __init__(self):
self.__dict__ = self.__shared_state self.__dict__ = self.__shared_state
...@@ -76,9 +78,14 @@ class SelHelper(): ...@@ -76,9 +78,14 @@ class SelHelper():
cnt += 1 cnt += 1
if cnt == 1: if cnt == 1:
self.current_flags_ = self.current_flags_ | SelHelper.IS_SINGLE self.current_flags_ = self.current_flags_ | SelHelper.IS_ONE_TYPE
elif cnt > 1: elif cnt > 1:
self.current_flags_ = self.current_flags_ | SelHelper.IS_MULTI self.current_flags_ = self.current_flags_ | SelHelper.IS_MULTI_TYPE
if self.scene_sel_.GetActiveNodeCount()==1:
self.current_flags_ = self.current_flags_ | SelHelper.SINGLE_SELECTION
elif self.scene_sel_.GetActiveNodeCount()>1:
self.current_flags_ = self.current_flags_ | SelHelper.MULTI_SELECTION
def CheckAllFlags(self, flags): def CheckAllFlags(self, flags):
if(flags == self.current_flags_ & flags) and (flags == self.current_flags_ | flags): if(flags == self.current_flags_ & flags) and (flags == self.current_flags_ | flags):
......
...@@ -27,6 +27,7 @@ try: ...@@ -27,6 +27,7 @@ try:
except ImportError: except ImportError:
_img_present=False _img_present=False
pass pass
from scene_selection_helper import SelHelper
#Wireframe Options #Wireframe Options
class WireframeWidget(QtGui.QWidget): class WireframeWidget(QtGui.QWidget):
...@@ -92,13 +93,7 @@ class WireframeWidget(QtGui.QWidget): ...@@ -92,13 +93,7 @@ class WireframeWidget(QtGui.QWidget):
def Update(self): def Update(self):
self.setEnabled(True) self.setEnabled(True)
self.UpdateGui() self.UpdateGui()
scene_selection = gui.SceneSelection.Instance() if SelHelper().CheckNotFlags(SelHelper.HAS_IMG | SelHelper.IS_SINGLE):
if scene_selection.GetActiveNodeCount() > 0 :
for i in range(0,scene_selection.GetActiveNodeCount()):
node = scene_selection.GetActiveNode(i)
if _img_present and isinstance(node, gfx.MapIso):
self.setEnabled(False)
else:
self.setEnabled(False) self.setEnabled(False)
def GetText(self): def GetText(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment