def __init__(self, parentfilter, rospack, time_range_provider): """ Widget for displaying interactive data related to time filtering. :param parentfilter: buddy filter were data is stored, ''TimeFilter'' :param display_list_args: single element list containing one tuple with the min and max time to be displayed, ''list of tuple'' """ super(TimeFilterWidget, self).__init__() ui_file = os.path.join( rospack.get_path('rqt_console'), 'resource/filters', 'time_filter_widget.ui') loadUi(ui_file, self) self.setObjectName('TimeFilterWidget') self._parentfilter = parentfilter # When data is changed it is stored in the parent filter self.start_datetime.dateTimeChanged[QDateTime].connect(self.handle_start_changed) self.stop_datetime.dateTimeChanged[QDateTime].connect(self.handle_stop_changed) self.stop_enabled_check_box.clicked[bool].connect(self.handle_stop_enabled_changed) # Times are passed in unixtimestamp '.' decimal fraction of a second mintime, maxtime = time_range_provider() if mintime != -1: mintime = str(mintime).split('.') maxtime = str(maxtime).split('.') time = QDateTime() time.setTime_t(int(mintime[0])) mintime = time.addMSecs(int(str(mintime[1]).zfill(9)[:3])) self.start_datetime.setDateTime(mintime) time.setTime_t(int(maxtime[0])) maxtime = time.addMSecs(int(str(maxtime[1]).zfill(9)[:3])) self.stop_datetime.setDateTime(maxtime) else: self.start_datetime.setDateTime(datetime.now()) self.stop_datetime.setDateTime(datetime.now())
def __init__(self, parentfilter, rospack, time_range_provider): """ Widget for displaying interactive data related to time filtering. :param parentfilter: buddy filter were data is stored, ''TimeFilter'' :param display_list_args: single element list containing one tuple with the min and max time to be displayed, ''list of tuple'' """ super(TimeFilterWidget, self).__init__() ui_file = os.path.join(rospack.get_path('rqt_console'), 'resource/filters', 'time_filter_widget.ui') loadUi(ui_file, self) self.setObjectName('TimeFilterWidget') self._parentfilter = parentfilter # When data is changed it is stored in the parent filter self.start_datetime.dateTimeChanged[QDateTime].connect(self.handle_start_changed) self.stop_datetime.dateTimeChanged[QDateTime].connect(self.handle_stop_changed) self.stop_enabled_check_box.clicked[bool].connect(self.handle_stop_enabled_changed) # Times are passed in unixtimestamp '.' decimal fraction of a second mintime, maxtime = time_range_provider() if mintime != -1: mintime = str(mintime).split('.') maxtime = str(maxtime).split('.') time = QDateTime() time.setTime_t(int(mintime[0])) mintime = time.addMSecs(int(str(mintime[1]).zfill(9)[:3])) self.start_datetime.setDateTime(mintime) time.setTime_t(int(maxtime[0])) maxtime = time.addMSecs(int(str(maxtime[1]).zfill(9)[:3])) self.stop_datetime.setDateTime(maxtime) else: self.start_datetime.setDateTime(datetime.now()) self.stop_datetime.setDateTime(datetime.now())
def _get_stamp_as_qdatetime(self, stamp): if None in self.__stamp: return None dt = QDateTime() dt.setTime_t(stamp[0]) dt.addMSecs(int(float(stamp[1]) / 10**6)) return dt
def _get_stamp_as_qdatetime(self, stamp): if None in self.__stamp: return None dt = QDateTime() dt.setTime_t(stamp[0]) dt.addMSecs(int(float(stamp[1]) / 10**6)) return dt
def time_as_qdatetime(self): """ :returns: time with msecs included, ''QDateTime'' """ time = QDateTime() time.setTime_t(int(self._time[0])) time = time.addMSecs(int(str(self._time[1]).zfill(9)[:3])) return time
def datestamp_to_qdatetime(self, secs, nsecs): """ :param secs: seconds from a datestamp ''int'' :param nsecs: nanoseconds from a datestamp ''int'' :returns: converted time ''QDateTime'' """ temp_time = QDateTime() temp_time.setTime_t(int(secs)) return temp_time.addMSecs(int(str(nsecs).zfill(9)[:3]))