diff --git a/modules/gui/pymod/scene/preset_editor_widget.py b/modules/gui/pymod/scene/preset_editor_widget.py index 4ecd8293cc48c591372d8480a7925b8909fbce03..513040bfc2bb08bdcb2998736209ae3231754ba9 100644 --- a/modules/gui/pymod/scene/preset_editor_widget.py +++ b/modules/gui/pymod/scene/preset_editor_widget.py @@ -544,14 +544,23 @@ class RenderOpWidget(QtGui.QDialog): render_label = QtGui.QLabel("Rendermode") self.render_modes_ = QtGui.QComboBox() - self.render_modes_.addItem("Fast Bonds",QtCore.QVariant(gfx.RenderMode.SIMPLE)) - self.render_modes_.addItem("Ball & Stick",QtCore.QVariant(gfx.RenderMode.CUSTOM)) - self.render_modes_.addItem("Spheres",QtCore.QVariant(gfx.RenderMode.CPK)) - self.render_modes_.addItem("Fast Trace",QtCore.QVariant(gfx.RenderMode.LINE_TRACE)) - self.render_modes_.addItem("Trace",QtCore.QVariant(gfx.RenderMode.TRACE)) - self.render_modes_.addItem("Fast Spline",QtCore.QVariant(gfx.RenderMode.SLINE)) - self.render_modes_.addItem("Smooth Tube",QtCore.QVariant(gfx.RenderMode.TUBE)) - self.render_modes_.addItem("Helix & Strand Cartoon",QtCore.QVariant(gfx.RenderMode.HSC)) + self.render_modes_.addItem("Fast Bonds") + self.render_modes_.addItem("Ball & Stick") + self.render_modes_.addItem("Spheres") + self.render_modes_.addItem("Fast Trace") + self.render_modes_.addItem("Trace") + self.render_modes_.addItem("Fast Spline") + self.render_modes_.addItem("Smooth Tube") + self.render_modes_.addItem("Helix & Strand Cartoon") + + self.render_modes_list_ = [gfx.RenderMode.SIMPLE, + gfx.RenderMode.CUSTOM, + gfx.RenderMode.CPK, + gfx.RenderMode.LINE_TRACE, + gfx.RenderMode.TRACE, + gfx.RenderMode.SLINE, + gfx.RenderMode.TUBE, + gfx.RenderMode.HSC] self.hbox_ = QtGui.QHBoxLayout() self.ok_button_ = QtGui.QPushButton("OK") @@ -576,15 +585,15 @@ class RenderOpWidget(QtGui.QDialog): def GetOp(self): selection = str(self.selection_edit_.text()) - render_mode = self.render_modes_.itemData(self.render_modes_.currentIndex()).toPyObject() - ro = RenderOp(gfx.RenderMode(render_mode), selection, self.keep_.isChecked()) + render_mode = self.render_modes_list_[self.render_modes_.currentIndex()] + ro = RenderOp(render_mode, selection, self.keep_.isChecked()) return ro def SetOp(self, ro): self.selection_edit_.setText(ro.GetSelection()) found=False for i in range(0,self.render_modes_.count()): - render_mode = self.render_modes_.itemData(i).toPyObject() + render_mode = self.render_modes_list_[i] if render_mode == ro.GetRenderMode(): self.render_modes_.setCurrentIndex(i) found = True diff --git a/modules/gui/pymod/scene/presets.xml b/modules/gui/pymod/scene/presets.xml index a8a491855cc989a3cfe320c1729bb72fea254bd1..f73dbd879951224b5d7e1d75b5f03878a68618b4 100644 --- a/modules/gui/pymod/scene/presets.xml +++ b/modules/gui/pymod/scene/presets.xml @@ -15,8 +15,8 @@ <ColorOp>1 rtype!=ext,helix</ColorOp>1.0 0.8 0.2 1</Op> </Preset> <Preset Name="Highlight Ligand (Carbon)" > - <Op Keep="0" RenderMode="11" ClassName="RenderOp" Index="0" ></Op> - <Op Keep="0" RenderMode="5" ClassName="RenderOp" Index="1" >ishetatm=1 and not rname==HOH</Op> + <Op Keep="0" RenderMode="HSC" ClassName="RenderOp" Index="0" ></Op> + <Op Keep="0" RenderMode="CUSTOM" ClassName="RenderOp" Index="1" >ishetatm=1 and not rname==HOH</Op> <Op ClassName="ByElementColorOp" Index="2" >3 </Op> <Op ClassName="UniformColorOp" Index="3"> <ColorOp>2 ishetatm=1 and ele=C</ColorOp>0 1 0 1</Op> diff --git a/modules/gui/pymod/scene/render_op.py b/modules/gui/pymod/scene/render_op.py index d36a4530800581eac1fc15fb0169507557f08dd9..722bf7bc853cdcc9ddc7c009da2b420ad2d80fea 100644 --- a/modules/gui/pymod/scene/render_op.py +++ b/modules/gui/pymod/scene/render_op.py @@ -26,7 +26,7 @@ class RenderOp(): RENDERMODE_ATTRIBUTE_NAME = "RenderMode" KEEP_ATTRIBUTE_NAME = "Keep" - def __init__(self, render_mode, selection, keep=False): + def __init__(self, render_mode, selection, keep=False): self.render_mode_ = render_mode self.selection_ = selection self.keep_ = keep @@ -54,16 +54,16 @@ class RenderOp(): entity.SetRenderMode(self.GetRenderMode(),entity.view.Select(self.GetSelection()),self.IsKept()) def ToInfo(self,group): - group.SetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME, str(int(self.GetRenderMode()))) - group.SetAttribute(RenderOp.KEEP_ATTRIBUTE_NAME, str(int(self.IsKept()))) - group.SetTextData(str(self.GetSelection())) + group.SetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME, str(self.GetRenderMode().name)) + group.SetAttribute(RenderOp.KEEP_ATTRIBUTE_NAME, str(int(self.IsKept()))) + group.SetTextData(str(self.GetSelection())) @staticmethod def FromInfo(group): render_op = None if (group.HasAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME) and group.HasAttribute(RenderOp.KEEP_ATTRIBUTE_NAME)): - render_mode = gfx.RenderMode(int(group.GetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME))) + render_mode = getattr(gfx.RenderMode, group.GetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME)) keep = bool(int(group.GetAttribute(RenderOp.KEEP_ATTRIBUTE_NAME))) selection = group.GetTextData() render_op = RenderOp(render_mode,selection,keep)