From b5180f5823e3d89be716371cbf1156e8b51009e3 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Fri, 4 Jun 2010 14:27:27 +0000 Subject: [PATCH] InspectorGadget, merged Preset and MapIso contour widget git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2342 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/gui/pymod/scene/inspector_widget.py | 6 +-- modules/gui/pymod/scene/map_level_widget.py | 46 ++++++++++++++++++- modules/gui/pymod/scene/preset_widget.py | 2 +- .../gui/pymod/scene/toolbar_options_widget.py | 2 +- 4 files changed, 48 insertions(+), 8 deletions(-) diff --git a/modules/gui/pymod/scene/inspector_widget.py b/modules/gui/pymod/scene/inspector_widget.py index 6535203ce..057a9c6b8 100644 --- a/modules/gui/pymod/scene/inspector_widget.py +++ b/modules/gui/pymod/scene/inspector_widget.py @@ -28,8 +28,7 @@ from toolbar_options_widget import ToolBarOptionsWidget from render_options_widget import RenderOptionsWidget from color_options_widget import ColorOptionsWidget from ost.gui.scene.scene_observer_impl import SceneObserverImpl -from preset_widget import PresetWidget -from map_level_widget import MapLevelWidget +from map_level_widget import AdditionalSettingsWidget class InspectorWidget(ToolBarOptionsWidget): ICONS_PATH = os.path.join(ost.GetSharedDataPath(), "scene", "icons/") @@ -39,8 +38,7 @@ class InspectorWidget(ToolBarOptionsWidget): options = [ [InspectorWidget.ICONS_PATH+"render_icon.png",RenderOptionsWidget(self),None], [InspectorWidget.ICONS_PATH+"color_icon.png",ColorOptionsWidget(self),None], - [InspectorWidget.ICONS_PATH+"preset_icon.png", PresetWidget(self),None], - [InspectorWidget.ICONS_PATH+"preset_icon.png", MapLevelWidget(self),"Map Level Options"], + [InspectorWidget.ICONS_PATH+"preset_icon.png", AdditionalSettingsWidget(self),"Additional Node Settings"], [InspectorWidget.ICONS_PATH+"tool_icon.png",app.tool_options_win.qobject,"Tool Options"] ] for o in options: diff --git a/modules/gui/pymod/scene/map_level_widget.py b/modules/gui/pymod/scene/map_level_widget.py index 51584c73a..d86e91f07 100644 --- a/modules/gui/pymod/scene/map_level_widget.py +++ b/modules/gui/pymod/scene/map_level_widget.py @@ -28,6 +28,48 @@ except ImportError: pass from PyQt4 import QtCore, QtGui +from preset_widget import PresetWidget + +class AdditionalSettingsWidget(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + self.stack = QtGui.QStackedWidget(self); + self.map_widget_ = MapLevelWidget(self) + self.setContentsMargins(0,0,0,0) + self.preset_widget_ = PresetWidget(self) + self.stack.addWidget(self.map_widget_); + self.stack.addWidget(self.preset_widget_); + self.stack.setContentsMargins(0,0,0,0) + self.setMinimumSize(self.preset_widget_.minimumSize()) + + def Update(self): + self.setEnabled(True) + scene_selection = gui.SceneSelection.Instance() + all_img = True + all_entity = True + for i in range(0,scene_selection.GetActiveNodeCount()): + node = scene_selection.GetActiveNode(i) + if not (isinstance(node, gfx.Entity) or isinstance(node, gfx.Surface)): + all_entity = False + if (not _img_present) or (not isinstance(node, gfx.MapIso)): + all_img = False + if all_img: + self.map_widget_.Update() + self.setMinimumSize(self.map_widget_.minimumSize()) + self.resize(self.map_widget_.minimumSize()) + self.stack.resize(self.map_widget_.minimumSize()) + self.stack.setMinimumSize(self.map_widget_.minimumSize()) + self.stack.setCurrentWidget(self.map_widget_) + elif all_entity: + self.preset_widget_.Update() + self.setMinimumSize(self.preset_widget_.minimumSize()) + self.resize(self.preset_widget_.minimumSize()) + self.stack.resize(self.preset_widget_.minimumSize()) + self.stack.setMinimumSize(self.preset_widget_.minimumSize()) + self.stack.setCurrentWidget(self.preset_widget_) + else: + self.setEnabled(False) + #Map Level Widget class MapLevelWidget(QtGui.QWidget): def __init__(self, parent=None): @@ -56,7 +98,7 @@ class MapLevelWidget(QtGui.QWidget): QtCore.QObject.connect(self.level_preview_, QtCore.SIGNAL("levelModified"), self.ModifySpinBox) QtCore.QObject.connect(self.level_spinbox_, QtCore.SIGNAL("valueChanged(double)"), self.UpdateLevel) - self.setMinimumSize(250,300) + self.setMinimumSize(250,200) def Update(self): scene_selection = gui.SceneSelection.Instance() @@ -93,7 +135,7 @@ class LevelPreview(QtGui.QWidget): #Defaults self.border_offset_ = 3 - self.preview_height_ = 100 + self.preview_height_ = 150 QtGui.QWidget.__init__(self, parent) #Ui diff --git a/modules/gui/pymod/scene/preset_widget.py b/modules/gui/pymod/scene/preset_widget.py index d581a38ea..cb67283e8 100644 --- a/modules/gui/pymod/scene/preset_widget.py +++ b/modules/gui/pymod/scene/preset_widget.py @@ -67,7 +67,7 @@ class PresetWidget(QtGui.QWidget): QtCore.QObject.connect(self.list_view_, QtCore.SIGNAL("doubleClicked(const QModelIndex)"), self.Load) - self.setMinimumSize(250,150) + self.setMinimumSize(250,200) def CreateImmutableContextMenu(self): self.immucontext_menu_ = QtGui.QMenu("Context menu", self) diff --git a/modules/gui/pymod/scene/toolbar_options_widget.py b/modules/gui/pymod/scene/toolbar_options_widget.py index 006c09b16..d331b62b4 100644 --- a/modules/gui/pymod/scene/toolbar_options_widget.py +++ b/modules/gui/pymod/scene/toolbar_options_widget.py @@ -126,13 +126,13 @@ class ToolBarOptionsWidget(QtGui.QWidget): self.current_action_ = action widget = action.data().toPyObject()[1] self.stackedWidget.setCurrentWidget(widget) - self.DoSomething(widget) if hasattr(widget, "Update"): widget.Update() if(self.current_action_ == action): self.current_action_.setChecked(True) else: self.current_action_=action + self.DoSomething(widget) #Private Methods def __GetCurrentWidget(self): return self.stackedWidget.currentWidget(); -- GitLab