Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 from python_qt_binding.QtCore import QObject, QTimer, Signal
00034
00035
00036 class BaseFilter(QObject):
00037
00038 """
00039 Contains basic functions common to all filters.
00040 Handles enabled logic and change notification.
00041 """
00042 filter_changed_signal = Signal()
00043
00044 def __init__(self):
00045 super(BaseFilter, self).__init__()
00046 self._enabled = True
00047
00048 self._timer = QTimer(self)
00049 self._timer.setSingleShot(True)
00050 self._timer.timeout.connect(self.filter_changed_signal.emit)
00051
00052 def start_emit_timer(self, msec=None):
00053 """
00054 Starts a timer to emit a signal to refresh the filters after the filter is changed
00055 :param msec: number of msecs to wait before emitting the signal to change the filter ''int''
00056 """
00057 if msec is None:
00058 self._timer.start(10)
00059 else:
00060 self._timer.start(msec)
00061
00062 def is_enabled(self):
00063 return self._enabled
00064
00065 def set_enabled(self, checked):
00066 """
00067 Setter for _enabled
00068 :param checked: boolean flag to set ''bool''
00069 :emits filter_changed_signal: Always
00070 """
00071 self._enabled = checked
00072 self.start_emit_timer(200)
00073
00074 def has_filter(self):
00075 raise NotImplementedError()
00076
00077 def test_message(self, message):
00078 raise NotImplementedError()