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
00035 from python_qt_binding import loadUi
00036 from python_qt_binding.QtWidgets import QWidget
00037
00038
00039 class TextFilterWidget(QWidget):
00040 """
00041 Taken from rqt_console.TextFilterWidget. Only modification from it is .ui
00042 file in use that takes more generic form (only textfiedl).
00043 """
00044 def __init__(self, parentfilter, rospack, display_list_args=None):
00045 """
00046 Widget for displaying interactive data related to text filtering.
00047
00048 Taken from rqt_console and simplified to be usable in broader
00049 situations.
00050
00051 :type parentfilter: BaseFilter
00052 :param parentfilter: buddy filter were data is stored, ''TimeFilter''
00053 :param display_list_args: empty list, ''list''
00054 """
00055 super(TextFilterWidget, self).__init__()
00056 ui_file = os.path.join(rospack.get_path('rqt_reconfigure'), 'resource',
00057 'text_filter_widget.ui')
00058 loadUi(ui_file, self)
00059 self.setObjectName('TextFilterWidget')
00060
00061 self._parentfilter = parentfilter
00062
00063 self.text_edit.textChanged.connect(self.handle_text_changed)
00064
00065 self.handle_text_changed()
00066
00067 def set_text(self, text):
00068 """
00069 Setter for the text edit widget
00070 :param text: text to be placed in text_edit, ''str''
00071 """
00072 self.text_edit.setText(text)
00073
00074 def handle_text_changed(self):
00075 self._parentfilter.set_text(self.text_edit.text())
00076
00077 def repopulate(self):
00078 """
00079 Stub function.
00080 If the widget had any dynamically adjustable data it would requery it
00081 in this function.
00082 """
00083 pass
00084
00085 def save_settings(self, settings):
00086 settings.set_value('text', self._parentfilter._text)
00087
00088 def restore_settings(self, settings):
00089 text = settings.value('text', '')
00090 self.set_text(text)
00091 self.handle_text_changed()