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