8 #include <QProgressDialog> 16 for (QWidget* widget : qApp->topLevelWidgets())
18 if (widget->inherits(
"QMainWindow"))
28 static std::vector<const char*> extensions = {
"ulg" };
34 const auto& filename = fileload_info->
filename;
40 for (
const auto& it : timeseries_map)
42 const std::string& sucsctiption_name = it.first;
45 for (
const auto&
data : timeseries.
data)
47 std::string series_name = sucsctiption_name +
data.first;
49 auto series = plot_data.
addNumeric(series_name);
51 for (
size_t i = 0; i <
data.second.size(); i++)
53 double msg_time =
static_cast<double>(timeseries.
timestamps[i]) * 0.000001;
55 series->second.pushBack(point);
61 dialog->setWindowTitle(QString(
"ULog file %1").
arg(filename));
62 dialog->setAttribute(Qt::WA_DeleteOnClose);
std::vector< uint64_t > timestamps
bool xmlSaveState(QDomDocument &doc, QDomElement &parent_element) const override
const std::vector< const char * > & compatibleFileExtensions() const override
bool xmlLoadState(const QDomElement &parent_element) override
const std::map< std::string, Timeseries > & getTimeseriesMap() const
bool readDataFromFile(PJ::FileLoadInfo *fileload_info, PlotDataMapRef &destination) override
detail::named_arg< Char, T > arg(const Char *name, const T &arg)
std::unordered_map< std::string, PlotData >::iterator addNumeric(const std::string &name)
std::vector< std::pair< std::string, std::vector< double > > > data
typename PlotDataBase< Value >::Point Point