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 import os
00034 import rospkg
00035
00036 from python_qt_binding import loadUi
00037 from python_qt_binding.QtGui import QWidget
00038
00039
00040 class TextFilterWidget(QWidget):
00041 def __init__(self, parentfilter, rospack):
00042 """
00043 Widget for displaying interactive data related to text filtering.
00044 :param parentfilter: buddy filter were data is stored, ''TimeFilter''
00045 """
00046 super(TextFilterWidget, self).__init__()
00047 ui_file = os.path.join(rospack.get_path('rqt_console'), 'resource/filters', 'text_filter_widget.ui')
00048 loadUi(ui_file, self)
00049 self.setObjectName('TextFilterWidget')
00050 self._parentfilter = parentfilter
00051
00052 self.text_edit.textChanged.connect(self.handle_text_changed)
00053 self.regex_check_box.clicked[bool].connect(self.handle_regex_clicked)
00054
00055 self.handle_text_changed()
00056
00057 def set_text(self, text):
00058 """
00059 Setter for the text edit widget
00060 :param text: text to be placed in text_edit, ''str''
00061 """
00062 self.text_edit.setText(text)
00063
00064 def set_regex(self, checked):
00065 """
00066 Setter for the text edit widget
00067 :param text: text to be placed in text_edit, ''str''
00068 """
00069 self.regex_check_box.setChecked(checked)
00070 self.handle_regex_clicked(checked)
00071
00072 def handle_text_changed(self):
00073 self._parentfilter.set_text(self.text_edit.text())
00074
00075 def handle_regex_clicked(self, clicked):
00076 self._parentfilter.set_regex(clicked)
00077
00078 def repopulate(self):
00079 """
00080 Stub function.
00081 If the widget had any dynamically adjustable data it would requery it
00082 in this function.
00083 """
00084 pass
00085
00086 def save_settings(self, settings):
00087 settings.set_value('text', self._parentfilter._text)
00088 settings.set_value('regex', self._parentfilter._regex)
00089
00090 def restore_settings(self, settings):
00091 text = settings.value('text', '')
00092 self.set_text(text)
00093 self.handle_text_changed()
00094
00095 regex = settings.value('regex') in [True, 'true']
00096 self.set_regex(regex)
00097 self.handle_regex_clicked(regex)