From 8f1de2c9c030acd2c5e06feff267291351163e03 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Mon, 22 Mar 2010 13:33:45 +0000 Subject: [PATCH] RenderOp, modified XML export format from int to a readable string git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1870 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- .../gui/pymod/scene/preset_editor_widget.py | 31 ++++++++++++------- modules/gui/pymod/scene/presets.xml | 4 +-- modules/gui/pymod/scene/render_op.py | 10 +++--- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/modules/gui/pymod/scene/preset_editor_widget.py b/modules/gui/pymod/scene/preset_editor_widget.py index 4ecd8293c..513040bfc 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 a8a491855..f73dbd879 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 d36a45308..722bf7bc8 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) -- GitLab