From 1a0a3dd78cae6b3ec1a30ea3985830d4504e7f66 Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Thu, 5 Aug 2010 14:16:05 +0000
Subject: [PATCH] Names of ColoringOperations in preset editor

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2629 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gfx/pymod/export_color_ops.cc         |  1 +
 .../src/color_ops/basic_gradient_color_op.cc  |  7 ++-
 .../src/color_ops/basic_gradient_color_op.hh  |  1 +
 .../gfx/src/color_ops/by_chain_color_op.cc    | 20 ++++++--
 .../gfx/src/color_ops/by_chain_color_op.hh    |  1 +
 .../gfx/src/color_ops/by_element_color_op.cc  | 20 ++++++--
 .../gfx/src/color_ops/by_element_color_op.hh  |  2 +
 modules/gfx/src/color_ops/color_op.cc         | 16 +++++--
 modules/gfx/src/color_ops/color_op.hh         |  7 +++
 .../gfx/src/color_ops/entity_view_color_op.cc |  9 +++-
 .../gfx/src/color_ops/entity_view_color_op.hh |  1 +
 .../gfx/src/color_ops/gradient_color_op.cc    | 39 +++++++++++----
 .../gfx/src/color_ops/gradient_color_op.hh    |  1 +
 .../src/color_ops/gradient_level_color_op.cc  | 48 ++++++++++++-------
 .../src/color_ops/gradient_level_color_op.hh  |  1 +
 .../gfx/src/color_ops/map_handle_color_op.cc  | 23 +++++++--
 .../gfx/src/color_ops/map_handle_color_op.hh  |  1 +
 modules/gfx/src/color_ops/uniform_color_op.cc | 13 +++--
 modules/gfx/src/color_ops/uniform_color_op.hh |  1 +
 .../pymod/scene/preset_editor_list_model.py   |  5 +-
 modules/gui/pymod/scene/render_op.py          |  5 +-
 modules/gui/pymod/scene/visibility_op.py      |  3 ++
 22 files changed, 176 insertions(+), 49 deletions(-)

diff --git a/modules/gfx/pymod/export_color_ops.cc b/modules/gfx/pymod/export_color_ops.cc
index efce2b6db..e0863e362 100644
--- a/modules/gfx/pymod/export_color_ops.cc
+++ b/modules/gfx/pymod/export_color_ops.cc
@@ -44,6 +44,7 @@ void export_ColorOps()
     .def(init<const ColorOp&>())
     .def(init<const mol::QueryViewWrapper&, int>())
     .def("CanApplyTo",&ColorOp::CanApplyTo)
+    .def("GetName",&ColorOp::GetName,return_value_policy<copy_const_reference>())
     .def("SetSelection",&ColorOp::SetSelection)
     .def("GetSelection",&ColorOp::GetSelection)
     .def("SetSelectionFlags",&ColorOp::SetSelectionFlags)
diff --git a/modules/gfx/src/color_ops/basic_gradient_color_op.cc b/modules/gfx/src/color_ops/basic_gradient_color_op.cc
index 8648a8304..39733eb6b 100644
--- a/modules/gfx/src/color_ops/basic_gradient_color_op.cc
+++ b/modules/gfx/src/color_ops/basic_gradient_color_op.cc
@@ -26,12 +26,17 @@
 namespace ost { namespace gfx {
 
 BasicGradientColorOp::BasicGradientColorOp() : ColorOp(), gradient_(){
-
+  this->Init();
 }
 
 BasicGradientColorOp::BasicGradientColorOp(const String& selection, const gfx::Gradient& gradient, mol::Prop::Level level) :
   ColorOp(selection), gradient_(gradient), level_(level){
+  this->Init();
+}
 
+void BasicGradientColorOp::Init()
+{
+  this->SetName("Basic gradient");
 }
 
 bool BasicGradientColorOp::CanApplyTo(const GfxObjP& obj) const{
diff --git a/modules/gfx/src/color_ops/basic_gradient_color_op.hh b/modules/gfx/src/color_ops/basic_gradient_color_op.hh
index b00a092e2..d8a4d3c44 100644
--- a/modules/gfx/src/color_ops/basic_gradient_color_op.hh
+++ b/modules/gfx/src/color_ops/basic_gradient_color_op.hh
@@ -52,6 +52,7 @@ public:
   static gfx::BasicGradientColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   gfx::Gradient gradient_;
   mol::Prop::Level level_;
 };
diff --git a/modules/gfx/src/color_ops/by_chain_color_op.cc b/modules/gfx/src/color_ops/by_chain_color_op.cc
index a0fd3b12d..e760d0e38 100644
--- a/modules/gfx/src/color_ops/by_chain_color_op.cc
+++ b/modules/gfx/src/color_ops/by_chain_color_op.cc
@@ -26,11 +26,25 @@
 
 namespace ost { namespace gfx {
 
-ByChainColorOp::ByChainColorOp() : ColorOp(),chain_count_(0),color_grad_("RAINBOW"){}
+ByChainColorOp::ByChainColorOp() : ColorOp(),chain_count_(0),color_grad_("RAINBOW")
+{
+  this->Init();
+}
 
-ByChainColorOp::ByChainColorOp(const String& selection, int mask) : ColorOp(selection,mask),chain_count_(0),color_grad_("RAINBOW"){}
+ByChainColorOp::ByChainColorOp(const String& selection, int mask) : ColorOp(selection,mask),chain_count_(0),color_grad_("RAINBOW")
+{
+  this->Init();
+}
 
-ByChainColorOp::ByChainColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask),chain_count_(0),color_grad_("RAINBOW"){}
+ByChainColorOp::ByChainColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask),chain_count_(0),color_grad_("RAINBOW")
+{
+  this->Init();
+}
+
+void ByChainColorOp::Init()
+{
+  this->SetName("By chain");
+}
 
 bool ByChainColorOp::CanApplyTo(const GfxObjP& obj) const{
   if(dynamic_cast<Entity*>(obj.get()))
diff --git a/modules/gfx/src/color_ops/by_chain_color_op.hh b/modules/gfx/src/color_ops/by_chain_color_op.hh
index 30d3ec2e6..75193354b 100644
--- a/modules/gfx/src/color_ops/by_chain_color_op.hh
+++ b/modules/gfx/src/color_ops/by_chain_color_op.hh
@@ -50,6 +50,7 @@ public:
   static gfx::ByChainColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   gfx::Color GenerateColor(String& ident) const;
 
   mutable int chain_count_;
diff --git a/modules/gfx/src/color_ops/by_element_color_op.cc b/modules/gfx/src/color_ops/by_element_color_op.cc
index b27669d79..c09e542d4 100644
--- a/modules/gfx/src/color_ops/by_element_color_op.cc
+++ b/modules/gfx/src/color_ops/by_element_color_op.cc
@@ -25,11 +25,25 @@
 
 namespace ost { namespace gfx {
 
-ByElementColorOp::ByElementColorOp() : ColorOp(){}
+ByElementColorOp::ByElementColorOp() : ColorOp()
+{
+  this->Init();
+}
 
-ByElementColorOp::ByElementColorOp(const String& selection, int mask) : ColorOp(selection,mask){}
+ByElementColorOp::ByElementColorOp(const String& selection, int mask) : ColorOp(selection,mask)
+{
+  this->Init();
+}
 
-ByElementColorOp::ByElementColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask){}
+ByElementColorOp::ByElementColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask)
+{
+  this->Init();
+}
+
+void ByElementColorOp::Init()
+{
+  this->SetName("By element");
+}
 
 bool ByElementColorOp::CanApplyTo(const GfxObjP& obj) const{
   if(dynamic_cast<Entity*>(obj.get()))
diff --git a/modules/gfx/src/color_ops/by_element_color_op.hh b/modules/gfx/src/color_ops/by_element_color_op.hh
index 2de442121..defceee74 100644
--- a/modules/gfx/src/color_ops/by_element_color_op.hh
+++ b/modules/gfx/src/color_ops/by_element_color_op.hh
@@ -44,6 +44,8 @@ public:
   virtual void ApplyTo(GfxObjP& obj) const;
 
   static ost::gfx::ByElementColorOp FromInfo(info::InfoGroup& group);
+private:
+  void Init();
 };
 
 }}
diff --git a/modules/gfx/src/color_ops/color_op.cc b/modules/gfx/src/color_ops/color_op.cc
index f9fa131db..5003f9098 100644
--- a/modules/gfx/src/color_ops/color_op.cc
+++ b/modules/gfx/src/color_ops/color_op.cc
@@ -21,16 +21,16 @@
 
 namespace ost { namespace gfx {
 
-ColorOp::ColorOp(): query_view_(), mask_(DETAIL_COLOR|MAIN_COLOR)
+ColorOp::ColorOp():  name_("Abstract coloring"), query_view_(), mask_(DETAIL_COLOR|MAIN_COLOR)
 { }
 
 
 ColorOp::ColorOp(const String& selection, int mask):
-    query_view_(mol::Query(selection),mol::EntityView() ), mask_(mask)
+    name_("Abstract coloring"), query_view_(mol::Query(selection),mol::EntityView() ), mask_(mask)
 { }
 
 ColorOp::ColorOp(const mol::QueryViewWrapper& query_view, int mask):
-    query_view_(query_view), mask_(mask)
+    name_("Abstract coloring"), query_view_(query_view), mask_(mask)
 { }
 
 bool ColorOp::CanApplyTo(const GfxObjP& obj) const
@@ -43,6 +43,16 @@ void ColorOp::ApplyTo(GfxObjP& obj) const
   //Do Nothing
 }
 
+const String& ColorOp::GetName() const
+{
+  return name_;
+}
+
+void ColorOp::SetName(const String& name)
+{
+  name_=name;
+}
+
 void ColorOp::SetSelection(const String& selection)
 {
   query_view_.SetQuery(selection);
diff --git a/modules/gfx/src/color_ops/color_op.hh b/modules/gfx/src/color_ops/color_op.hh
index 929501411..7d891039d 100644
--- a/modules/gfx/src/color_ops/color_op.hh
+++ b/modules/gfx/src/color_ops/color_op.hh
@@ -51,6 +51,8 @@ public:
   virtual bool CanApplyTo(const GfxObjP& obj) const;
   virtual void ApplyTo(GfxObjP& obj) const;
 
+  virtual const String& GetName() const;
+
   ColorMask GetMask() const;
   
   void SetMask(ColorMask mask);
@@ -67,7 +69,12 @@ public:
 
   virtual void ToInfo(info::InfoGroup& group) const;
   static gfx::ColorOp FromInfo(info::InfoGroup& group);
+
+protected:
+  virtual void SetName(const String& name);
+
 private:
+  String name_;
   mol::QueryViewWrapper query_view_;
   ColorMask mask_;
 };
diff --git a/modules/gfx/src/color_ops/entity_view_color_op.cc b/modules/gfx/src/color_ops/entity_view_color_op.cc
index de21ceab3..e52a25b71 100644
--- a/modules/gfx/src/color_ops/entity_view_color_op.cc
+++ b/modules/gfx/src/color_ops/entity_view_color_op.cc
@@ -27,16 +27,21 @@
 namespace ost { namespace gfx {
 
 EntityViewColorOp::EntityViewColorOp() : GradientColorOp(), ev_(){
-
+  this->Init();
 }
 EntityViewColorOp::EntityViewColorOp(int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const mol::EntityView& ev) :
   GradientColorOp("", mask, property, gradient, minv, maxv), ev_(ev){
-
+  this->Init();
 }
 
 EntityViewColorOp::EntityViewColorOp(const String& property, const gfx::Gradient& gradient, float minv, float maxv, const mol::EntityView& ev) :
   GradientColorOp("", property, gradient, minv, maxv), ev_(ev){
+  this->Init();
+}
 
+void EntityViewColorOp::Init()
+{
+  this->SetName("EntityView gradient");
 }
 
 bool EntityViewColorOp::CanApplyTo(const GfxObjP& obj) const{
diff --git a/modules/gfx/src/color_ops/entity_view_color_op.hh b/modules/gfx/src/color_ops/entity_view_color_op.hh
index 9f5098faa..a0afba972 100644
--- a/modules/gfx/src/color_ops/entity_view_color_op.hh
+++ b/modules/gfx/src/color_ops/entity_view_color_op.hh
@@ -52,6 +52,7 @@ public:
   static gfx::EntityViewColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   mol::EntityView ev_;
 };
 
diff --git a/modules/gfx/src/color_ops/gradient_color_op.cc b/modules/gfx/src/color_ops/gradient_color_op.cc
index 83205dc17..8b2bc6595 100644
--- a/modules/gfx/src/color_ops/gradient_color_op.cc
+++ b/modules/gfx/src/color_ops/gradient_color_op.cc
@@ -25,7 +25,7 @@
 namespace ost { namespace gfx {
 
 GradientColorOp::GradientColorOp() : ColorOp(), property_(), gradient_(){
-
+  this->Init();
 }
 
 GradientColorOp::GradientColorOp(const String& selection, const String& property,
@@ -33,48 +33,69 @@ GradientColorOp::GradientColorOp(const String& selection, const String& property
                                  float minv, float maxv):
   ColorOp(selection), property_(property), gradient_(gradient), calculate_(false),
   minv_(minv), maxv_(maxv)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const String& selection, int mask, const String& property,
                                  const gfx::Gradient& gradient,
                                  float minv, float maxv):
   ColorOp(selection,mask), property_(property), gradient_(gradient), calculate_(false),
   minv_(minv), maxv_(maxv)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const String& selection, const String& property,
                                  const gfx::Gradient& gradient):
   ColorOp(selection), property_(property), gradient_(gradient), calculate_(true)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const String& selection, int mask, const String& property,
                                  const gfx::Gradient& gradient):
   ColorOp(selection,mask), property_(property), gradient_(gradient), calculate_(true)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, const String& property,
                                  const gfx::Gradient& gradient,
                                  float minv, float maxv):
   ColorOp(query_view), property_(property), gradient_(gradient), calculate_(false),
   minv_(minv), maxv_(maxv)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property,
                                  const gfx::Gradient& gradient,
                                  float minv, float maxv):
   ColorOp(query_view,mask), property_(property), gradient_(gradient), calculate_(false),
   minv_(minv), maxv_(maxv)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, const String& property,
                                  const gfx::Gradient& gradient):
   ColorOp(query_view), property_(property), gradient_(gradient), calculate_(true)
-{ }
+{
+  this->Init();
+}
 
 GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property,
                                  const gfx::Gradient& gradient):
   ColorOp(query_view,mask), property_(property), gradient_(gradient), calculate_(true)
-{ }
+{
+  this->Init();
+}
+
+void GradientColorOp::Init()
+{
+  this->SetName("Gradient");
+}
 
 void GradientColorOp::SetProperty(const String& property)
 {
diff --git a/modules/gfx/src/color_ops/gradient_color_op.hh b/modules/gfx/src/color_ops/gradient_color_op.hh
index 98a6df76c..6823981da 100644
--- a/modules/gfx/src/color_ops/gradient_color_op.hh
+++ b/modules/gfx/src/color_ops/gradient_color_op.hh
@@ -65,6 +65,7 @@ public:
   static gfx::GradientColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   String property_;
   gfx::Gradient gradient_;
   bool calculate_;
diff --git a/modules/gfx/src/color_ops/gradient_level_color_op.cc b/modules/gfx/src/color_ops/gradient_level_color_op.cc
index bd9400a23..564fd763b 100644
--- a/modules/gfx/src/color_ops/gradient_level_color_op.cc
+++ b/modules/gfx/src/color_ops/gradient_level_color_op.cc
@@ -25,8 +25,9 @@
 
 namespace ost { namespace gfx {
 
-GradientLevelColorOp::GradientLevelColorOp() : GradientColorOp(), level_(){
-
+GradientLevelColorOp::GradientLevelColorOp() : GradientColorOp(), level_()
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const String& selection, 
@@ -34,8 +35,9 @@ GradientLevelColorOp::GradientLevelColorOp(const String& selection,
                                             const gfx::Gradient& gradient, 
                                             float minv, 
                                             float maxv, mol::Prop::Level level):
-  GradientColorOp(selection, property, gradient, minv, maxv), level_(level){
-
+  GradientColorOp(selection, property, gradient, minv, maxv), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask,
@@ -43,24 +45,27 @@ GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask,
                                             const gfx::Gradient& gradient,
                                             float minv,
                                             float maxv, mol::Prop::Level level):
-  GradientColorOp(selection, mask, property, gradient, minv, maxv), level_(level){
-
+  GradientColorOp(selection, mask, property, gradient, minv, maxv), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const String& selection,
                                             const String& property,
                                             const gfx::Gradient& gradient,
                                             mol::Prop::Level level):
-  GradientColorOp(selection, property, gradient), level_(level){
-
+  GradientColorOp(selection, property, gradient), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask,
                                             const String& property,
                                             const gfx::Gradient& gradient,
                                             mol::Prop::Level level):
-  GradientColorOp(selection, mask, property, gradient), level_(level){
-
+  GradientColorOp(selection, mask, property, gradient), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view,
@@ -68,8 +73,9 @@ GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_vi
                                             const gfx::Gradient& gradient,
                                             float minv,
                                             float maxv, mol::Prop::Level level):
-  GradientColorOp(query_view, property, gradient, minv, maxv), level_(level){
-
+  GradientColorOp(query_view, property, gradient, minv, maxv), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask,
@@ -77,24 +83,32 @@ GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_vi
                                             const gfx::Gradient& gradient,
                                             float minv,
                                             float maxv, mol::Prop::Level level):
-  GradientColorOp(query_view, mask, property, gradient, minv, maxv), level_(level){
-
+  GradientColorOp(query_view, mask, property, gradient, minv, maxv), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view,
                                             const String& property,
                                             const gfx::Gradient& gradient,
                                             mol::Prop::Level level):
-  GradientColorOp(query_view, property, gradient), level_(level){
-
+  GradientColorOp(query_view, property, gradient), level_(level)
+{
+  this->Init();
 }
 
 GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask,
                                             const String& property,
                                             const gfx::Gradient& gradient,
                                             mol::Prop::Level level):
-  GradientColorOp(query_view, mask, property, gradient), level_(level){
+  GradientColorOp(query_view, mask, property, gradient), level_(level)
+{
+  this->Init();
+}
 
+void GradientLevelColorOp::Init()
+{
+  this->SetName("Gradient level");
 }
 
 bool GradientLevelColorOp::CanApplyTo(const GfxObjP& obj) const{
diff --git a/modules/gfx/src/color_ops/gradient_level_color_op.hh b/modules/gfx/src/color_ops/gradient_level_color_op.hh
index d0c1cac66..5dd6a854b 100644
--- a/modules/gfx/src/color_ops/gradient_level_color_op.hh
+++ b/modules/gfx/src/color_ops/gradient_level_color_op.hh
@@ -76,6 +76,7 @@ public:
   static gfx::GradientLevelColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   mol::Prop::Level level_;
 };
 
diff --git a/modules/gfx/src/color_ops/map_handle_color_op.cc b/modules/gfx/src/color_ops/map_handle_color_op.cc
index 3c45f77fc..0bb2fc598 100644
--- a/modules/gfx/src/color_ops/map_handle_color_op.cc
+++ b/modules/gfx/src/color_ops/map_handle_color_op.cc
@@ -26,20 +26,33 @@
 namespace ost { namespace gfx {
 
 MapHandleColorOp::MapHandleColorOp() : GradientColorOp(), mh_(){
-
+  this->Init();
 }
 
 MapHandleColorOp::MapHandleColorOp(const String& selection, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) :
-  GradientColorOp(selection, property, gradient, minv, maxv), mh_(mh){ }
+  GradientColorOp(selection, property, gradient, minv, maxv), mh_(mh){
+  this->Init();
+}
 
 MapHandleColorOp::MapHandleColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) :
-  GradientColorOp(selection, mask, property, gradient, minv, maxv), mh_(mh){ }
+  GradientColorOp(selection, mask, property, gradient, minv, maxv), mh_(mh){
+  this->Init();
+}
 
 MapHandleColorOp::MapHandleColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) :
-  GradientColorOp(query_view, property, gradient, minv, maxv), mh_(mh){ }
+  GradientColorOp(query_view, property, gradient, minv, maxv), mh_(mh){
+  this->Init();
+}
 
 MapHandleColorOp::MapHandleColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) :
-  GradientColorOp(query_view, mask, property, gradient, minv, maxv), mh_(mh){ }
+  GradientColorOp(query_view, mask, property, gradient, minv, maxv), mh_(mh){
+  this->Init();
+}
+
+void MapHandleColorOp::Init()
+{
+  this->SetName("MapHandle gradient");
+}
 
 bool MapHandleColorOp::CanApplyTo(const GfxObjP& obj) const{
   if(dynamic_cast<Entity*>(obj.get())){
diff --git a/modules/gfx/src/color_ops/map_handle_color_op.hh b/modules/gfx/src/color_ops/map_handle_color_op.hh
index 3dd6b302c..2340e3343 100644
--- a/modules/gfx/src/color_ops/map_handle_color_op.hh
+++ b/modules/gfx/src/color_ops/map_handle_color_op.hh
@@ -52,6 +52,7 @@ public:
   static gfx::MapHandleColorOp FromInfo(info::InfoGroup& group);
 
 private:
+  void Init();
   img::MapHandle mh_;
 };
 
diff --git a/modules/gfx/src/color_ops/uniform_color_op.cc b/modules/gfx/src/color_ops/uniform_color_op.cc
index 3b7fa9e2c..91f0fb2fb 100644
--- a/modules/gfx/src/color_ops/uniform_color_op.cc
+++ b/modules/gfx/src/color_ops/uniform_color_op.cc
@@ -27,29 +27,36 @@
 namespace ost { namespace gfx {
 
 UniformColorOp::UniformColorOp() : ColorOp(), color_(){
-
+  this->Init();
 }
 
 UniformColorOp::UniformColorOp(const String& selection, 
                                const gfx::Color& color): 
   ColorOp(selection), color_(color){
-
+  this->Init();
 }
 
 UniformColorOp::UniformColorOp(const String& selection, int mask,
                                const gfx::Color& color):
   ColorOp(selection,mask), color_(color){
+  this->Init();
 }
 
 UniformColorOp::UniformColorOp(const mol::QueryViewWrapper& query_view,
                                const gfx::Color& color):
   ColorOp(query_view), color_(color){
-
+  this->Init();
 }
 
 UniformColorOp::UniformColorOp(const mol::QueryViewWrapper& query_view,
                                int mask, const gfx::Color& color):
   ColorOp(query_view,mask), color_(color){
+  this->Init();
+}
+
+void UniformColorOp::Init()
+{
+  this->SetName("Uniform color");
 }
 
 bool UniformColorOp::CanApplyTo(const GfxObjP& obj) const
diff --git a/modules/gfx/src/color_ops/uniform_color_op.hh b/modules/gfx/src/color_ops/uniform_color_op.hh
index 03e7ccd7f..4ebef48bf 100644
--- a/modules/gfx/src/color_ops/uniform_color_op.hh
+++ b/modules/gfx/src/color_ops/uniform_color_op.hh
@@ -50,6 +50,7 @@ public:
   virtual void ToInfo(info::InfoGroup& group) const;
   static gfx::UniformColorOp FromInfo(info::InfoGroup& group);
 private:
+  void Init();
   gfx::Color color_;
 };
 
diff --git a/modules/gui/pymod/scene/preset_editor_list_model.py b/modules/gui/pymod/scene/preset_editor_list_model.py
index d796e5352..e85a67c05 100644
--- a/modules/gui/pymod/scene/preset_editor_list_model.py
+++ b/modules/gui/pymod/scene/preset_editor_list_model.py
@@ -42,11 +42,12 @@ class PresetEditorListModel(QtCore.QAbstractListModel):
     if index.isValid() and index.row()< self.rowCount():
       data = self.preset_.GetOp(index.row())
       if role == QtCore.Qt.DisplayRole:
+        name=data.GetName()
         selection=str(data.GetSelection())
         if(len(selection)>0):
-          return QtCore.QVariant(selection)
+          return QtCore.QVariant(str("%s (%s)"%(name,selection)))
         else:
-          return QtCore.QVariant("all")
+          return QtCore.QVariant(str("%s (all)"%name))
     return QtCore.QVariant()
 
   def setData(self, index, value, role):
diff --git a/modules/gui/pymod/scene/render_op.py b/modules/gui/pymod/scene/render_op.py
index feab4451a..991e82427 100644
--- a/modules/gui/pymod/scene/render_op.py
+++ b/modules/gui/pymod/scene/render_op.py
@@ -32,7 +32,10 @@ class RenderOp():
     self.selection_ = selection
     self.keep_ = keep
     self.flags_ = flags
-    
+
+  def GetName(self):
+    return "Render mode: %s"%str(self.GetRenderMode())
+
   def SetRenderMode(self, render_mode):
     self.render_mode_ = render_mode
     
diff --git a/modules/gui/pymod/scene/visibility_op.py b/modules/gui/pymod/scene/visibility_op.py
index 5eeb3bffd..325553f8f 100644
--- a/modules/gui/pymod/scene/visibility_op.py
+++ b/modules/gui/pymod/scene/visibility_op.py
@@ -31,6 +31,9 @@ class VisibilityOp():
     self.visible_ = visible
     self.flags_ = flags
     
+  def GetName(self):
+    return "Visible: %s"%str(self.IsVisible())
+  
   def SetSelection(self, selection):
     self.selection_ = selection
     
-- 
GitLab