From ef6743360e27de2f1125b73b154ceafb7762bb8a Mon Sep 17 00:00:00 2001 From: Tobias Schmidt <tobias.schmidt@unibas.ch> Date: Thu, 14 Jun 2012 14:30:38 +0200 Subject: [PATCH] fix "carbons only" button in gui (fixes BZDNG-366) --- modules/gui/pymod/scene/color_options_widget.py | 15 ++++++++++++--- modules/gui/pymod/scene/gradient_editor_widget.py | 5 ++++- modules/gui/pymod/scene/uniform_color_widget.py | 5 ++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/modules/gui/pymod/scene/color_options_widget.py b/modules/gui/pymod/scene/color_options_widget.py index 13e33f7c6..1d8e95cf6 100644 --- a/modules/gui/pymod/scene/color_options_widget.py +++ b/modules/gui/pymod/scene/color_options_widget.py @@ -146,7 +146,10 @@ class ByElementWidget(QtGui.QWidget): def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): - beco=gfx.ByElementColorOp(mol.QueryViewWrapper(view)) + if self.parent_.GetCarbonsOnly(): + beco=gfx.ByElementColorOp(mol.QueryViewWrapper(mol.Query("ele=C"), view)) + else: + beco=gfx.ByElementColorOp(mol.QueryViewWrapper(view)) entity.Apply(beco) def GetText(self): @@ -185,7 +188,10 @@ class ByChainWidget(QtGui.QWidget): def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): - bco=gfx.ByChainColorOp(mol.QueryViewWrapper(view)) + if self.parent_.GetCarbonsOnly(): + bco=gfx.ByChainColorOp(mol.QueryViewWrapper(mol.Query("ele=C"),view)) + else: + bco=gfx.ByChainColorOp(mol.QueryViewWrapper(view)) entity.Apply(bco) def GetText(self): @@ -234,7 +240,10 @@ class ByEntityWidget(QtGui.QWidget): def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): - bco=gfx.ByChainColorOp(mol.QueryViewWrapper(view)) + if self.parent_.GetCarbonsOnly(): + bco=gfx.ByChainColorOp(mol.QueryViewWrapper(mol.Query("ele=C"),view)) + else: + bco=gfx.ByChainColorOp(mol.QueryViewWrapper(view)) entity.Apply(bco) def GetText(self): diff --git a/modules/gui/pymod/scene/gradient_editor_widget.py b/modules/gui/pymod/scene/gradient_editor_widget.py index 34c11a24a..ee61e2721 100644 --- a/modules/gui/pymod/scene/gradient_editor_widget.py +++ b/modules/gui/pymod/scene/gradient_editor_widget.py @@ -90,7 +90,10 @@ class GradientEditor(QtGui.QWidget): def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): - glco=gfx.GradientLevelColorOp(mol.QueryViewWrapper(view),self.props[self.prop_combo_box_.currentIndex()],self.gradient_edit_.GetGfxGradient(),mol.Prop.Level.UNSPECIFIED) + if self.parent_.GetCarbonsOnly(): + glco=gfx.GradientLevelColorOp(mol.QueryViewWrapper(mol.Query("ele=C"),view),self.props[self.prop_combo_box_.currentIndex()],self.gradient_edit_.GetGfxGradient(),mol.Prop.Level.UNSPECIFIED) + else: + glco=gfx.GradientLevelColorOp(mol.QueryViewWrapper(view),self.props[self.prop_combo_box_.currentIndex()],self.gradient_edit_.GetGfxGradient(),mol.Prop.Level.UNSPECIFIED) entity.Apply(glco) #Gradient Preview diff --git a/modules/gui/pymod/scene/uniform_color_widget.py b/modules/gui/pymod/scene/uniform_color_widget.py index db8e5346f..66461dcff 100644 --- a/modules/gui/pymod/scene/uniform_color_widget.py +++ b/modules/gui/pymod/scene/uniform_color_widget.py @@ -97,7 +97,10 @@ class UniformColorWidget(QtGui.QWidget): def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): gfx_color = self.color_select_widget_.GetGfxColor() - ufco=gfx.UniformColorOp(mol.QueryViewWrapper(view),gfx_color) + if self.parent_.GetCarbonsOnly(): + ufco=gfx.UniformColorOp(mol.QueryViewWrapper(mol.Query("ele=C"), view),gfx_color) + else: + ufco=gfx.UniformColorOp(mol.QueryViewWrapper(view),gfx_color) entity.Apply(ufco) def resizeEvent(self, event): -- GitLab