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

InspectorGadget, change rendermode for MapIsos

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2338 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent acd5a52f
No related branches found
No related tags found
No related merge requests found
...@@ -90,16 +90,18 @@ class ColorOptionsWidget(ComboOptionsWidget): ...@@ -90,16 +90,18 @@ class ColorOptionsWidget(ComboOptionsWidget):
if (not _img_present) or (not isinstance(node, gfx.MapIso)): if (not _img_present) or (not isinstance(node, gfx.MapIso)):
all_img = False all_img = False
if not all_entity and not all_img: if all_img and (not all_entity):
ComboOptionsWidget.setEnabled(self,False)
return
if all_img:
for w in self.img_widgets_: for w in self.img_widgets_:
self.AddWidget(w[0], w[1]) self.AddWidget(w[0], w[1])
if all_entity: elif all_entity and (not all_img):
for w in self.entity_widgets_: for w in self.entity_widgets_:
self.AddWidget(w[0], w[1]) self.AddWidget(w[0], w[1])
else:
ComboOptionsWidget.setEnabled(self,False)
return
self.GetCurrentWidget().Update()
def GetText(self): def GetText(self):
return self.text_ return self.text_
......
...@@ -21,6 +21,12 @@ ...@@ -21,6 +21,12 @@
import sys import sys
from ost import gui from ost import gui
from ost import gfx from ost import gfx
try:
from ost import img
_img_present=True
except ImportError:
_img_present=False
pass
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from combo_options_widget import ComboOptionsWidget from combo_options_widget import ComboOptionsWidget
from custom_widget import CustomWidget from custom_widget import CustomWidget
...@@ -50,15 +56,21 @@ class RenderOptionsWidget(ComboOptionsWidget): ...@@ -50,15 +56,21 @@ class RenderOptionsWidget(ComboOptionsWidget):
self.grid_layout_.addWidget(self.stacked_widget_, 1, 0, 1, 2) self.grid_layout_.addWidget(self.stacked_widget_, 1, 0, 1, 2)
#Add options to menu #Add options to menu
ComboOptionsWidget.AddWidget(self, "", EmptyMode()) self.entity_widgets_ = list()
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SIMPLE, SimpleWidget(self)) self.entity_widgets_.append(["", EmptyMode()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CUSTOM, CustomWidget(self)) self.entity_widgets_.append([gfx.RenderMode.SIMPLE, SimpleWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CPK, CPKWidget(self)) self.entity_widgets_.append([gfx.RenderMode.CUSTOM, CustomWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.LINE_TRACE, LineTraceWidget(self)) self.entity_widgets_.append([gfx.RenderMode.CPK, CPKWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TRACE, TraceWidget(self)) self.entity_widgets_.append([gfx.RenderMode.LINE_TRACE, LineTraceWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SLINE, SlineWidget(self)) self.entity_widgets_.append([gfx.RenderMode.TRACE, TraceWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TUBE, TubeWidget(self)) self.entity_widgets_.append([gfx.RenderMode.SLINE, SlineWidget()])
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.HSC, HSCWidget(self)) self.entity_widgets_.append([gfx.RenderMode.TUBE, TubeWidget()])
self.entity_widgets_.append([gfx.RenderMode.HSC, HSCWidget()])
self.img_widgets_ = list()
self.img_widgets_.append(["", EmptyMode()])
self.img_widgets_.append([gfx.RenderMode.SIMPLE, EmptyMode("Wireframe",gfx.RenderMode.SIMPLE)])
self.img_widgets_.append([gfx.RenderMode.FILL, EmptyMode("Fill",gfx.RenderMode.FILL)])
self.setMinimumSize(250,200) self.setMinimumSize(250,200)
...@@ -66,7 +78,7 @@ class RenderOptionsWidget(ComboOptionsWidget): ...@@ -66,7 +78,7 @@ class RenderOptionsWidget(ComboOptionsWidget):
scene_selection = gui.SceneSelection.Instance() scene_selection = gui.SceneSelection.Instance()
for i in range(0,scene_selection.GetActiveNodeCount()): for i in range(0,scene_selection.GetActiveNodeCount()):
node = scene_selection.GetActiveNode(i) node = scene_selection.GetActiveNode(i)
if isinstance(node, gfx.Entity): if isinstance(node, gfx.Entity) or (_img_present and isinstance(node, gfx.MapIso)):
render_mode = item.GetRenderMode() render_mode = item.GetRenderMode()
if render_mode is not None: if render_mode is not None:
node.SetRenderMode(render_mode) node.SetRenderMode(render_mode)
...@@ -94,18 +106,29 @@ class RenderOptionsWidget(ComboOptionsWidget): ...@@ -94,18 +106,29 @@ class RenderOptionsWidget(ComboOptionsWidget):
if hasattr(self, "keep_button_"): if hasattr(self, "keep_button_"):
self.keep_button_.setEnabled(False) self.keep_button_.setEnabled(False)
render_mode_valid = True render_mode_valid = True
all_entity = True
all_img = True
render_mode = None render_mode = None
for i in range(0,scene_selection.GetActiveNodeCount()): for i in range(0,scene_selection.GetActiveNodeCount()):
entity = scene_selection.GetActiveNode(i) node = scene_selection.GetActiveNode(i)
if isinstance(scene_selection.GetActiveNode(i), gfx.Entity): if not isinstance(node, gfx.Entity):
all_entity = False
if (not _img_present) or (not isinstance(node, gfx.MapIso)):
all_img = False
if isinstance(scene_selection.GetActiveNode(i), gfx.GfxObj):
if render_mode is None: if render_mode is None:
render_mode = entity.GetRenderMode() render_mode = node.GetRenderMode()
elif render_mode != entity.GetRenderMode(): elif render_mode != node.GetRenderMode():
render_mode_valid = False render_mode_valid = False
break if all_img and (not all_entity):
else: for w in self.img_widgets_:
ComboOptionsWidget.setEnabled(self,False) self.AddWidget(w[0], w[1])
return elif all_entity and (not all_img):
for w in self.entity_widgets_:
self.AddWidget(w[0], w[1])
else:
ComboOptionsWidget.setEnabled(self,False)
return
if(render_mode_valid): if(render_mode_valid):
ComboOptionsWidget.ChangeSelectedItem(self,render_mode) ComboOptionsWidget.ChangeSelectedItem(self,render_mode)
else: else:
...@@ -119,15 +142,27 @@ class RenderOptionsWidget(ComboOptionsWidget): ...@@ -119,15 +142,27 @@ class RenderOptionsWidget(ComboOptionsWidget):
return self.text_ return self.text_
class EmptyMode(QtGui.QWidget): class EmptyMode(QtGui.QWidget):
def __init__(self, parent=None): def __init__(self, text="", render_mode=None, parent=None):
QtGui.QLabel.__init__(self, parent) QtGui.QLabel.__init__(self, parent)
self.setMinimumSize(250,30) self.setMinimumSize(250,30)
self.text = text
self.render_mode = render_mode
if(render_mode):
text_label = QtGui.QLabel(text)
font = text_label.font()
font.setBold(True)
grid = QtGui.QGridLayout()
grid.addWidget(text_label,0,0,1,1)
grid.addWidget(QtGui.QLabel("No Settings available"), 1, 0, 1, 3)
grid.setRowStretch(2,1)
self.setLayout(grid)
self.setMinimumSize(250,60)
def Update(self): def Update(self):
True #Do Nothing True #Do Nothing
def GetText(self): def GetText(self):
return "" return self.text
def GetRenderMode(self): def GetRenderMode(self):
return None return self.render_mode
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment