Skip to content
Snippets Groups Projects
Commit 9511bc5c authored by Daniel Brown's avatar Daniel Brown
Browse files

more updates on removing, all goes through kat.remove() to call any gui updates etc.

parent 04dcdf4f
Branches
No related tags found
No related merge requests found
...@@ -27,10 +27,14 @@ put up_refl f $x1 ...@@ -27,10 +27,14 @@ put up_refl f $x1
put low_refl f $mx1 put low_refl f $mx1
yaxis log re:im yaxis log re:im
fsig noise 9
""" """
kat = finesse.kat(kat_code=code) kat = finesse.kat(kat_code=code)
kat.removeLine("fsig noise 9")
kat.signals.apply(kat.l1.P, 1, 0) kat.signals.apply(kat.l1.P, 1, 0)
kat.signals.apply(kat.m1.phi, 1, 90) kat.signals.apply(kat.m1.phi, 1, 90)
...@@ -48,3 +52,5 @@ pl.xlabel(out.xlabel) ...@@ -48,3 +52,5 @@ pl.xlabel(out.xlabel)
pl.title("Reflection quadratures with no relative carrier phase") pl.title("Reflection quadratures with no relative carrier phase")
pl.legend(["Amplitude","Phase"]) pl.legend(["Amplitude","Phase"])
#pl.show() #pl.show()
kat.remove(kat.signals)
\ No newline at end of file
...@@ -39,6 +39,7 @@ import ctypes ...@@ -39,6 +39,7 @@ import ctypes
import ctypes.util import ctypes.util
import collections import collections
import re import re
import copy
from collections import namedtuple, OrderedDict from collections import namedtuple, OrderedDict
...@@ -260,6 +261,9 @@ class Signals(object): ...@@ -260,6 +261,9 @@ class Signals(object):
def removed(self): return self.__removed def removed(self): return self.__removed
def remove(self): def remove(self):
self.__signal._kat.remove(self)
def _on_remove(self):
if self.__removed: if self.__removed:
raise pkex.BasePyKatException("Signal {0} has already been marked as removed".format(self.name)) raise pkex.BasePyKatException("Signal {0} has already been marked as removed".format(self.name))
else: else:
...@@ -312,18 +316,18 @@ class Signals(object): ...@@ -312,18 +316,18 @@ class Signals(object):
for t in self.targets: for t in self.targets:
t.remove() t.remove()
del self.targets[:]
@property @property
def f(self): return self.__f def f(self): return self.__f
@f.setter @f.setter
def f(self,value): self.__f.value = SIfloat(value) def f(self,value): self.__f.value = SIfloat(value)
def __init__(self, kat): def __init__(self, kat):
if kat == None:
raise pkex.BasePyKatException("kat object must be specified")
self.targets = [] self.targets = []
self._params = [] self._params = []
self.__kat = kat
self.__f = Param("f", self, 1) self.__f = Param("f", self, 1)
self._kat = kat
def _register_param(self, param): def _register_param(self, param):
self._params.append(param) self._params.append(param)
...@@ -1073,7 +1077,7 @@ class kat(object): ...@@ -1073,7 +1077,7 @@ class kat(object):
elif isinstance(obj, pykat.finesse.Signals): elif isinstance(obj, pykat.finesse.Signals):
obj.remove() obj.remove()
elif isinstance(obj, pykat.finesse.Signals.fsig): elif isinstance(obj, pykat.finesse.Signals.fsig):
obj.remove() obj._on_remove()
for b in self.__blocks: for b in self.__blocks:
if obj in self.__blocks[b].contents: if obj in self.__blocks[b].contents:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment