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):
if (not _img_present) or (not isinstance(node, gfx.MapIso)):
all_img = False
if not all_entity and not all_img:
ComboOptionsWidget.setEnabled(self,False)
return
if all_img:
if all_img and (not all_entity):
for w in self.img_widgets_:
self.AddWidget(w[0], w[1])
if all_entity:
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
self.GetCurrentWidget().Update()
def GetText(self):
return self.text_
......
......@@ -21,6 +21,12 @@
import sys
from ost import gui
from ost import gfx
try:
from ost import img
_img_present=True
except ImportError:
_img_present=False
pass
from PyQt4 import QtCore, QtGui
from combo_options_widget import ComboOptionsWidget
from custom_widget import CustomWidget
......@@ -50,15 +56,21 @@ class RenderOptionsWidget(ComboOptionsWidget):
self.grid_layout_.addWidget(self.stacked_widget_, 1, 0, 1, 2)
#Add options to menu
ComboOptionsWidget.AddWidget(self, "", EmptyMode())
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SIMPLE, SimpleWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CUSTOM, CustomWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CPK, CPKWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.LINE_TRACE, LineTraceWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TRACE, TraceWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SLINE, SlineWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TUBE, TubeWidget(self))
ComboOptionsWidget.AddWidget(self, gfx.RenderMode.HSC, HSCWidget(self))
self.entity_widgets_ = list()
self.entity_widgets_.append(["", EmptyMode()])
self.entity_widgets_.append([gfx.RenderMode.SIMPLE, SimpleWidget()])
self.entity_widgets_.append([gfx.RenderMode.CUSTOM, CustomWidget()])
self.entity_widgets_.append([gfx.RenderMode.CPK, CPKWidget()])
self.entity_widgets_.append([gfx.RenderMode.LINE_TRACE, LineTraceWidget()])
self.entity_widgets_.append([gfx.RenderMode.TRACE, TraceWidget()])
self.entity_widgets_.append([gfx.RenderMode.SLINE, SlineWidget()])
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)
......@@ -66,7 +78,7 @@ class RenderOptionsWidget(ComboOptionsWidget):
scene_selection = gui.SceneSelection.Instance()
for i in range(0,scene_selection.GetActiveNodeCount()):
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()
if render_mode is not None:
node.SetRenderMode(render_mode)
......@@ -94,18 +106,29 @@ class RenderOptionsWidget(ComboOptionsWidget):
if hasattr(self, "keep_button_"):
self.keep_button_.setEnabled(False)
render_mode_valid = True
all_entity = True
all_img = True
render_mode = None
for i in range(0,scene_selection.GetActiveNodeCount()):
entity = scene_selection.GetActiveNode(i)
if isinstance(scene_selection.GetActiveNode(i), gfx.Entity):
node = scene_selection.GetActiveNode(i)
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:
render_mode = entity.GetRenderMode()
elif render_mode != entity.GetRenderMode():
render_mode = node.GetRenderMode()
elif render_mode != node.GetRenderMode():
render_mode_valid = False
break
else:
ComboOptionsWidget.setEnabled(self,False)
return
if all_img and (not all_entity):
for w in self.img_widgets_:
self.AddWidget(w[0], w[1])
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):
ComboOptionsWidget.ChangeSelectedItem(self,render_mode)
else:
......@@ -119,15 +142,27 @@ class RenderOptionsWidget(ComboOptionsWidget):
return self.text_
class EmptyMode(QtGui.QWidget):
def __init__(self, parent=None):
def __init__(self, text="", render_mode=None, parent=None):
QtGui.QLabel.__init__(self, parent)
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):
True #Do Nothing
def GetText(self):
return ""
return self.text
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