33 from datetime
import datetime
37 from python_qt_binding
import loadUi
38 from python_qt_binding.QtCore
import QDateTime
39 from python_qt_binding.QtWidgets
import QWidget
44 def __init__(self, parentfilter, rospack, time_range_provider):
46 Widget for displaying interactive data related to time filtering. 47 :param parentfilter: buddy filter were data is stored, ''TimeFilter'' 48 :param display_list_args: single element list containing one tuple with 49 the min and max time to be displayed, ''list of tuple'' 51 super(TimeFilterWidget, self).
__init__()
52 ui_file = os.path.join(
53 rospack.get_path(
'rqt_console'),
'resource/filters',
'time_filter_widget.ui')
55 self.setObjectName(
'TimeFilterWidget')
63 mintime, maxtime = time_range_provider()
65 mintime = str(mintime).split(
'.')
66 maxtime = str(maxtime).split(
'.')
69 time.setTime_t(int(mintime[0]))
70 mintime = time.addMSecs(int(str(mintime[1]).zfill(9)[:3]))
71 self.start_datetime.setDateTime(mintime)
72 time.setTime_t(int(maxtime[0]))
73 maxtime = time.addMSecs(int(str(maxtime[1]).zfill(9)[:3]))
74 self.stop_datetime.setDateTime(maxtime)
76 self.start_datetime.setDateTime(datetime.now())
77 self.stop_datetime.setDateTime(datetime.now())
80 self._parentfilter.set_start_time(datetime_)
83 self._parentfilter.set_stop_time(datetime_)
86 self._parentfilter.set_stop_time_enabled(checked)
87 self.stop_datetime.setEnabled(checked)
92 If the widget had any dynamically adjustable data it would requery it 99 Saves the settings for this filter to an ini file. 100 :param settings: used to write the settings to an ini file ''qt_gui.settings.Settings'' 103 'start_time', self._parentfilter._start_time.toString(
'hh:mm:ss.zzz (yyyy-MM-dd)'))
105 'stop_time', self._parentfilter._stop_time.toString(
'hh:mm:ss.zzz (yyyy-MM-dd)'))
106 settings.set_value(
'stop_time_enabled', self._parentfilter._stop_time_enabled)
110 Restores the settings for this filter from an ini file. 111 :param settings: used to extract the settings from an ini file ''qt_gui.settings.Settings'' 114 if settings.contains(
'start_time'):
116 QDateTime.fromString(settings.value(
'start_time'),
'hh:mm:ss.zzz (yyyy-MM-dd)'))
119 if settings.contains(
'stop_time'):
121 QDateTime.fromString(settings.value(
'stop_time'),
'hh:mm:ss.zzz (yyyy-MM-dd)'))
125 self.stop_datetime.setDateTime(self._parentfilter._stop_time)
126 self.start_datetime.setDateTime(self._parentfilter._start_time)
127 self.stop_enabled_check_box.setChecked(self._parentfilter._stop_time_enabled)