00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 from ost import info
00022 from ost import gfx
00023 from PyQt4 import QtGui
00024
00025 class VisibilityOp():
00026 VISIBLE_ATTRIBUTE_NAME = "Visible"
00027
00028 def __init__(self, selection, visible=False):
00029 self.selection_ = selection
00030 self.visible_ = visible
00031
00032 def SetSelection(self, selection):
00033 self.selection_ = selection
00034
00035 def GetSelection(self):
00036 return self.selection_
00037
00038 def SetVisible(self, visible):
00039 self.visible_ = visible
00040
00041 def IsVisible(self):
00042 return self.visible_
00043
00044 def ApplyOn(self, entity):
00045 if (entity is not None) and isinstance(entity, gfx.Entity):
00046 entity.SetVisible(entity.view.Select(self.GetSelection()),self.IsVisible())
00047
00048 def ToInfo(self,group):
00049 group.SetAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME, str(int(self.IsVisible())))
00050 group.SetTextData(str(self.GetSelection()))
00051
00052 @staticmethod
00053 def FromInfo(group):
00054 visible_op = None
00055 if group.HasAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME):
00056 visible = bool(int(group.GetAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME)))
00057 selection = group.GetTextData()
00058 visible_op = VisibilityOp(selection,visible)
00059 return visible_op