diff --git a/modules/gui/pymod/scene/combo_options_widget.py b/modules/gui/pymod/scene/combo_options_widget.py index 251861d6a2f75bb75effc3e8299e72a851a8de8a..dea16f03730573a16f4ea2e542e12b44395a12b5 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 2653f22f52d41ef46a1fdab7a6f8a3573d223ed4..220a4d236a6398489a0c5c63bad58a4e5c39a335 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 e7476e5c085b069d14e5c0a398dab1dfe6d34aca..4b61a12166713e17f21888350171b1577806a778 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()):