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 Contains basic functions common to all filters.
00039 Handles enabled logic and change notification.
00040 """
00041 filter_changed_signal = Signal()
00042
00043 def __init__(self):
00044 super(BaseFilter, self).__init__()
00045 self._enabled = True
00046
00047 self._timer = QTimer(self)
00048 self._timer.setSingleShot(True)
00049 self._timer.timeout.connect(self.filter_changed_signal.emit)
00050
00051 def start_emit_timer(self, msec=None):
00052 """
00053 Starts a timer to emit a signal to refresh the filters after the filter is changed
00054 :param msec: number of msecs to wait before emitting the signal to change the filter ''int''
00055 """
00056 if msec is None:
00057 self._timer.start(10)
00058 else:
00059 self._timer.start(msec)
00060
00061 def is_enabled(self):
00062 return self._enabled
00063
00064 def set_enabled(self, checked):
00065 """
00066 Setter for _enabled
00067 :param checked: boolean flag to set ''bool''
00068 :emits filter_changed_signal: Always
00069 """
00070 self._enabled = checked
00071 self.start_emit_timer(200)
00072
00073 def has_filter(self):
00074 raise NotImplementedError()
00075
00076 def test_message(self, message):
00077 raise NotImplementedError()