From 5765f167854acba36bcbc8bb375ae9c576166129 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Tue, 9 Mar 2010 09:31:51 +0000 Subject: [PATCH] Inspector Gadget: - Added keep button to render modes - Fixed update in gradient editor widget git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1793 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- .../gui/pymod/scene/combo_options_widget.py | 7 +------ .../gui/pymod/scene/gradient_editor_widget.py | 2 +- .../gui/pymod/scene/render_options_widget.py | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/modules/gui/pymod/scene/combo_options_widget.py b/modules/gui/pymod/scene/combo_options_widget.py index 251861d6a..dea16f037 100644 --- a/modules/gui/pymod/scene/combo_options_widget.py +++ b/modules/gui/pymod/scene/combo_options_widget.py @@ -48,9 +48,6 @@ class ComboOptionsWidget(QtGui.QWidget): QtCore.QObject.connect(self.combo_box_, QtCore.SIGNAL("activated(int)"), self.__UpdateView) self.setEnabled(False) - - #Entity - self.entities_ = None self.Update() @@ -58,10 +55,8 @@ class ComboOptionsWidget(QtGui.QWidget): """Updates the ComboOptionsWidget and the active widget of the show area. This method calls the Update method of the active widget. - If no entity is set, the ComboOptionsWidget will be disabled """ - if hasattr(self, "entities_") and isinstance(self.entities_, list): - self.__GetCurrentPair()[1].Update() + self.__GetCurrentPair()[1].Update() def AddWidget(self, ident, widget): """Adds a Widget to this Options Widget. diff --git a/modules/gui/pymod/scene/gradient_editor_widget.py b/modules/gui/pymod/scene/gradient_editor_widget.py index 2653f22f5..220a4d236 100644 --- a/modules/gui/pymod/scene/gradient_editor_widget.py +++ b/modules/gui/pymod/scene/gradient_editor_widget.py @@ -59,7 +59,7 @@ class GradientEditor(QtGui.QWidget): grid.addWidget(self.gradient_preset_, 5, 0, 1, 1) self.setLayout(grid) - QtCore.QObject.connect(self.prop_combo_box_, QtCore.SIGNAL("currentIndexChanged(int)"), self.ChangeColor) + QtCore.QObject.connect(self.prop_combo_box_, QtCore.SIGNAL("currentIndexChanged(int)"), self.Update) QtCore.QObject.connect(self.gradient_edit_, QtCore.SIGNAL("gradientUpdated"), self.Update) QtCore.QObject.connect(self.gradient_preset_, QtCore.SIGNAL("gradientSelected"), self.gradient_edit_.LoadGradient) diff --git a/modules/gui/pymod/scene/render_options_widget.py b/modules/gui/pymod/scene/render_options_widget.py index e7476e5c0..4b61a1216 100644 --- a/modules/gui/pymod/scene/render_options_widget.py +++ b/modules/gui/pymod/scene/render_options_widget.py @@ -39,6 +39,16 @@ class RenderOptionsWidget(ComboOptionsWidget): #Title self.text_ = "Render Options" + self.keep_action_ = QtGui.QAction("K",self) + self.keep_action_.setCheckable(True); + self.keep_action_.setChecked(False) + self.keep_action_.setToolTip("Keep rendermodes and add current") + self.keep_button_ = QtGui.QToolButton(self) + self.keep_button_.setDefaultAction(self.keep_action_) + + self.grid_layout_.addWidget(self.keep_button_, 0, 1, 1, 1) + 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)) @@ -59,7 +69,7 @@ class RenderOptionsWidget(ComboOptionsWidget): if isinstance(node, gfx.Entity): render_mode = item.GetRenderMode() if render_mode is not None: - node.SetRenderMode(render_mode) + node.SetRenderMode(render_mode) if(scene_selection.GetActiveViewCount() > 0): entity = scene_selection.GetViewEntity() @@ -67,18 +77,22 @@ class RenderOptionsWidget(ComboOptionsWidget): view = scene_selection.GetActiveView(i) render_mode = item.GetRenderMode() if render_mode is not None: - entity.SetRenderMode(item.GetRenderMode(),view,False) + entity.SetRenderMode(item.GetRenderMode(),view,self.keep_action_.isChecked()) item.Update() self.DoResize() def Update(self): + if hasattr(self, "keep_button_"): + self.keep_button_.setEnabled(True) scene_selection = gui.SceneSelection.Instance() if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0: ComboOptionsWidget.setEnabled(self,False) return if scene_selection.GetActiveNodeCount() > 0 : + if hasattr(self, "keep_button_"): + self.keep_button_.setEnabled(False) render_mode_valid = True render_mode = None for i in range(0,scene_selection.GetActiveNodeCount()): -- GitLab