Skip to content

Commit 999880f

Browse files
authored
done (#156)
1 parent 709a883 commit 999880f

File tree

8 files changed

+61
-47
lines changed

8 files changed

+61
-47
lines changed

array_core/multi_plot.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void holdOff(const Config& configuration) {
7373
string multichartPage = dvs::kHtmlMultiChartModel;
7474
string filled_multichartPage = "";
7575
dvs::make_string(multichartPage, args, filled_multichartPage);
76-
string htmlFullName = dvs::makeUniqueDavisHtmlName();
76+
string htmlFullName = dvs::makeUniqueDavisHtmlRelativePath();
7777
dvs::saveStringToFile(htmlFullName, filled_multichartPage);
7878
dvs::openFileBySystem(htmlFullName);
7979
dvs::allChartBlocks.clear();

common_utils/common_utils.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,20 +348,24 @@ string vectorToString(const vector<double>& vec) {
348348

349349
string makeUniqueDavisHtmlName() {
350350
sleepMicroSec(1);
351-
string davis_dir;
352-
davis_dir = "./davis_htmls/";
351+
353352
auto now = std::chrono::system_clock::now();
354353
auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) % 1000;
355354
auto in_time_t = std::chrono::system_clock::to_time_t(now);
356355
std::stringstream ss;
357356
ss << std::put_time(std::localtime(&in_time_t), "%Y-%m-%d_%H_%M_%S");
358357
ss << '_' << std::setfill('0')
359358
<< std::setw(3)
360-
<< milliseconds.count() << ".html";
361-
davis_dir.append(ss.str());
362-
return davis_dir;
359+
<< milliseconds.count();
360+
return ss.str();
361+
}
362+
363+
std::string makeUniqueDavisHtmlRelativePath() {
364+
string name = makeUniqueDavisHtmlName();
365+
return std::string("./").append(kOutFolderName).append(name).append(".html");
363366
}
364367

368+
365369
void transponeMatrix(std::vector<std::vector<double> >& matrix) {
366370

367371
if (matrix.empty())
@@ -463,5 +467,7 @@ vector<double> doubleAndReverse(const vector<double>& input,
463467
return result;
464468
}
465469

470+
471+
466472
//#STOP_GRAB_TO_DVS_NAMESPACE
467473
}; // namespace dvs

common_utils/common_utils.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,12 @@ string nullIfNotFinite(double val);
7070
//! convert vec to string, separated by ","
7171
string vectorToString(const vector<double>& vec);
7272

73+
//! only name
7374
string makeUniqueDavisHtmlName();
7475

76+
//! folder + name + .html
77+
string makeUniqueDavisHtmlRelativePath();
78+
7579
//! sometimes std::to_string reurn str with ',' as separator what is wrong
7680
template <typename T>
7781
string toStringDotSeparator(T data) {

davis_one/davis.cpp

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,20 +1110,24 @@ string vectorToString(const vector<double>& vec) {
11101110

11111111
string makeUniqueDavisHtmlName() {
11121112
sleepMicroSec(1);
1113-
string davis_dir;
1114-
davis_dir = "./davis_htmls/";
1113+
11151114
auto now = std::chrono::system_clock::now();
11161115
auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) % 1000;
11171116
auto in_time_t = std::chrono::system_clock::to_time_t(now);
11181117
std::stringstream ss;
11191118
ss << std::put_time(std::localtime(&in_time_t), "%Y-%m-%d_%H_%M_%S");
11201119
ss << '_' << std::setfill('0')
11211120
<< std::setw(3)
1122-
<< milliseconds.count() << ".html";
1123-
davis_dir.append(ss.str());
1124-
return davis_dir;
1121+
<< milliseconds.count();
1122+
return ss.str();
1123+
}
1124+
1125+
std::string makeUniqueDavisHtmlRelativePath() {
1126+
string name = makeUniqueDavisHtmlName();
1127+
return std::string("./").append(kOutFolderName).append(name).append(".html");
11251128
}
11261129

1130+
11271131
void transponeMatrix(std::vector<std::vector<double> >& matrix) {
11281132

11291133
if (matrix.empty())
@@ -1226,6 +1230,8 @@ vector<double> doubleAndReverse(const vector<double>& input,
12261230
}
12271231

12281232

1233+
1234+
12291235
} // namespace dvs end
12301236

12311237
namespace dvs {
@@ -1711,7 +1717,7 @@ void showCloudOfPointsChart(const vector<double>& xValues,
17111717
args[ARG_CLOUD_OF_POINTS_ASPECT_WIDTH_OR_HEIGHT] = paramWH;
17121718
args[ARG_CLOUD_OF_POINTS_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
17131719
make_string(kHtmlCloudOfPoints, args, out);
1714-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
1720+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
17151721
saveStringToFile(unique_file_name, out);
17161722
openFileBySystem(unique_file_name);
17171723
}
@@ -1744,7 +1750,7 @@ void showCloudOfPointsChartStr(const std::string& xValues,
17441750
args[ARG_CLOUD_OF_POINTS_ASPECT_WIDTH_OR_HEIGHT] = paramWH;
17451751
args[ARG_CLOUD_OF_POINTS_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
17461752
make_string(kHtmlCloudOfPoints, args, out);
1747-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
1753+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
17481754
saveStringToFile(unique_file_name, out);
17491755
openFileBySystem(unique_file_name);
17501756
}
@@ -1780,11 +1786,6 @@ void showDateTimeMultichart(const std::string& date_time_values,
17801786
polygon_date_time.append(reversed_date_time_data);
17811787
auto polygon_deviation_values = doubleAndReverse(deviation_values, average_values);
17821788

1783-
1784-
1785-
1786-
1787-
17881789
vector<string>args_block {ARGS_SIMPLE_DATA_BLOCK_SIZE, ""};
17891790
std::string simpleData_yValues = vectorToString(deviation_values);
17901791
args_block[ARG_SIMPLE_DATA_X] = polygon_date_time;
@@ -1833,7 +1834,7 @@ void showDateTimeMultichart(const std::string& date_time_values,
18331834
args[ARG_DATE_TIME_ASPECT_WIDTH_OR_HEIGHT_FOR_AUTOSCALE] = paramWHsecond;
18341835
args[ARG_DATE_TIME_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
18351836
make_string(kHtmlDateTimeModel, args, out);
1836-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
1837+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
18371838
saveStringToFile(unique_file_name, out);
18381839
openFileBySystem(unique_file_name);
18391840
}
@@ -1908,7 +1909,7 @@ void holdOff(const Config& configuration) {
19081909
string multichartPage = dvs::kHtmlMultiChartModel;
19091910
string filled_multichartPage = "";
19101911
dvs::make_string(multichartPage, args, filled_multichartPage);
1911-
string htmlFullName = dvs::makeUniqueDavisHtmlName();
1912+
string htmlFullName = dvs::makeUniqueDavisHtmlRelativePath();
19121913
dvs::saveStringToFile(htmlFullName, filled_multichartPage);
19131914
dvs::openFileBySystem(htmlFullName);
19141915
dvs::allChartBlocks.clear();

davis_one/davis.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,12 @@ string nullIfNotFinite(double val);
322322
//! convert vec to string, separated by ","
323323
string vectorToString(const vector<double>& vec);
324324

325+
//! only name
325326
string makeUniqueDavisHtmlName();
326327

328+
//! folder + name + .html
329+
string makeUniqueDavisHtmlRelativePath();
330+
327331
//! sometimes std::to_string reurn str with ',' as separator what is wrong
328332
template <typename T>
329333
string toStringDotSeparator(T data) {

gui/davis_gui.cpp

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "davis_gui.h"
22
#include "./ui_davis_gui.h"
3-
43
#include "../davis_one/davis.h"
54

5+
66
#include <QApplication>
77
#include <QDragEnterEvent>
88
#include <QMimeData>
@@ -267,6 +267,8 @@ void DavisGUI::applySettings(const QJsonObject& settings) {
267267
}
268268

269269
void DavisGUI::readJsonToPlot(const QString& pathToFile) {
270+
QFileInfo fileInfo(pathToFile);
271+
QString jsonName = fileInfo.fileName();
270272
QJsonObject user_stamp_keys;
271273
QJsonArray matrix_to_matrix_stamps;
272274

@@ -332,7 +334,7 @@ void DavisGUI::readJsonToPlot(const QString& pathToFile) {
332334
conf.chart.yLabel = attr.value("type").toString().toStdString();
333335
conf.chart.title = attr.value("instrument").toString().toStdString();
334336
conf.chart.isFitPlotToWindow = action_fitPlotToAllWindow->isChecked();
335-
dv::show(x_vals, y_vals, QDateTime::currentDateTime().toString("yyyy_MM_dd_hh_mm_ss_zz").toStdString(), conf);
337+
dv::show(x_vals, y_vals, dvs::makeUniqueDavisHtmlName(), conf);
336338
}
337339
return;// выход если это был MATRIX_TO_MATRIX_TYPE
338340
}
@@ -359,14 +361,14 @@ void DavisGUI::readJsonToPlot(const QString& pathToFile) {
359361
conf.heatmap.isFitPlotToWindow = conf.chart.isFitPlotToWindow;
360362
conf.surf.isFitPlotToWindow = conf.chart.isFitPlotToWindow;
361363
if (x_vector.empty() == false && y_vector.empty() == false) {
362-
dv::show(x_vector.toStdVector(), y_vector.toStdVector(), "JSON TEST", conf);
364+
dv::show(x_vector.toStdVector(), y_vector.toStdVector(), dvs::makeUniqueDavisHtmlName(), conf);
363365
} else if (x_vector.empty() == true && y_vector.empty() == false) {
364-
dv::show(y_vector.toStdVector(), "JSON TEST", conf);
366+
dv::show(y_vector.toStdVector(), dvs::makeUniqueDavisHtmlName(), conf);
365367
} else if (x_vector.empty() == false && y_vector.empty() == true) {
366-
dv::show(x_vector.toStdVector(), "JSON TEST", conf);
368+
dv::show(x_vector.toStdVector(), dvs::makeUniqueDavisHtmlName(), conf);
367369
}
368370
if (matrix_vector.empty() == false) {
369-
dv::show(matrix_vector, "JSON_MATRIX_VECTOR", conf);
371+
dv::show(matrix_vector, dvs::makeUniqueDavisHtmlName(), conf);
370372
}
371373
} else {
372374
qDebug() << "Check JSON!";
@@ -641,7 +643,8 @@ void DavisGUI::pasteFromClipboard() {
641643
watcher->setFuture(future);
642644
}
643645

644-
void DavisGUI::readPlotText(QStringList& str_lines, QString title) {
646+
void DavisGUI::readPlotText(QStringList& str_lines, QString titleTopOfPlotly) {
647+
qDebug() << "dvs::makeUniqueDavisHtmlName() << " << QString::fromStdString(dvs::makeUniqueDavisHtmlName());
645648
std::vector<double>lines;
646649
std::vector<std::vector<double>> data;
647650
char separator;
@@ -704,21 +707,21 @@ void DavisGUI::readPlotText(QStringList& str_lines, QString title) {
704707

705708
if (data.size() == 2 || data[0].size() == 2) { //chartXY
706709
dv::Config config;
707-
config.chart.title = title.toStdString();
710+
config.chart.title = titleTopOfPlotly.toStdString();
708711
config.chart.isFitPlotToWindow = action_fitPlotToAllWindow->isChecked();
709-
dv::show(data, title.toStdString(), config);
712+
dv::show(data, dvs::makeUniqueDavisHtmlName(), config);
710713
} else if (data.size() > 1 && data[0].size() > 1) {
711714
if (action_heatmap->isChecked()) {
712715
dv::Config config;
713-
config.heatmap.title = title.toStdString();
716+
config.heatmap.title = titleTopOfPlotly.toStdString();
714717
config.heatmap.isFitPlotToWindow = action_fitPlotToAllWindow->isChecked();
715-
dv::show(data, title.toStdString(), config);
718+
dv::show(data, dvs::makeUniqueDavisHtmlName(), config);
716719
} else if (action_surface->isChecked()) {
717720
dv::Config config;
718-
config.surf.title = title.toStdString();
721+
config.surf.title = titleTopOfPlotly.toStdString();
719722
config.surf.isFitPlotToWindow = action_fitPlotToAllWindow->isChecked();
720723
config.typeVisual = dv::VISUALTYPE_SURFACE;
721-
dv::show(data, title.toStdString(), config);
724+
dv::show(data, dvs::makeUniqueDavisHtmlName(), config);
722725
}
723726
} else {
724727
std::vector<double> showVector;
@@ -733,9 +736,9 @@ void DavisGUI::readPlotText(QStringList& str_lines, QString title) {
733736
}
734737
dv::Config config;
735738
config.typeVisual = dv::VISUALTYPE_CHART;
736-
config.chart.title = title.toStdString();
739+
config.chart.title = titleTopOfPlotly.toStdString();
737740
config.chart.isFitPlotToWindow = action_fitPlotToAllWindow->isChecked();
738-
dv::show(showVector, title.toStdString(), config);
741+
dv::show(showVector, dvs::makeUniqueDavisHtmlName(), config);
739742
}
740743
}
741744

@@ -908,6 +911,7 @@ void DavisGUI::visualizeFiles(const QStringList& file_list) {
908911
std::vector<double> values;
909912
std::vector<double> force;
910913
std::vector<std::vector<double>> multicharts;
914+
qDebug() << "we are here";
911915
lines = getLinesFromFile(file_list[i]);
912916

913917
getDateTimeData(lines, dates, values, force, multicharts);
@@ -917,7 +921,7 @@ void DavisGUI::visualizeFiles(const QStringList& file_list) {
917921
}
918922
}
919923
if (dates_list.isEmpty() == false) {
920-
dvs::showDateTimeMultichart(dates_list[0].toStdString(), all_values, true);
924+
dvs::showDateTimeMultichart(dates_list[0].toStdString(), all_values, action_fitPlotToAllWindow->isChecked());
921925
return;
922926
}
923927

@@ -932,7 +936,7 @@ void DavisGUI::visualizeFiles(const QStringList& file_list) {
932936
data.push_back(outY);
933937
};
934938
}
935-
dvs::showDateTimeMultichart(dvs::vectorToString(x_values), data, true);
939+
dvs::showDateTimeMultichart(dvs::vectorToString(x_values), data, action_fitPlotToAllWindow->isChecked());
936940
return;
937941
}
938942
QString filePath = file_list.first();

gui/davis_gui.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "about_window.h"
1212
#include "animated_button.h"
1313

14+
1415
QT_BEGIN_NAMESPACE
1516
namespace Ui { class DavisGUI; }
1617
QT_END_NAMESPACE
@@ -47,7 +48,7 @@ class DavisGUI : public QMainWindow {
4748
void setGeometryForMinStyle_defaultSkin();
4849
void setGeometryForMaxStyle_newYearSkin();
4950
void setGeometryForMinStyle_newYearSkin();
50-
void readPlotText(QStringList& str_lines, QString title = "");
51+
void readPlotText(QStringList& str_lines, QString titleTopOfPlotly = "");
5152
void selectAndShowFiles();
5253
bool checkDateTimeVariant(const QStringList& lines);
5354
bool isFileContainsSingleChart(const QString& pathToFile,
@@ -70,7 +71,6 @@ class DavisGUI : public QMainWindow {
7071

7172
QStringList getLinesFromFile(const QString& pathToFile);
7273

73-
7474
private slots:
7575
void showAboutWindow();
7676
void pasteFromClipboard();

plotly_maker/plotly_maker.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ void showCloudOfPointsChart(const vector<double>& xValues,
499499
args[ARG_CLOUD_OF_POINTS_ASPECT_WIDTH_OR_HEIGHT] = paramWH;
500500
args[ARG_CLOUD_OF_POINTS_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
501501
make_string(kHtmlCloudOfPoints, args, out);
502-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
502+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
503503
saveStringToFile(unique_file_name, out);
504504
openFileBySystem(unique_file_name);
505505
}
@@ -532,7 +532,7 @@ void showCloudOfPointsChartStr(const std::string& xValues,
532532
args[ARG_CLOUD_OF_POINTS_ASPECT_WIDTH_OR_HEIGHT] = paramWH;
533533
args[ARG_CLOUD_OF_POINTS_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
534534
make_string(kHtmlCloudOfPoints, args, out);
535-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
535+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
536536
saveStringToFile(unique_file_name, out);
537537
openFileBySystem(unique_file_name);
538538
}
@@ -568,11 +568,6 @@ void showDateTimeMultichart(const std::string& date_time_values,
568568
polygon_date_time.append(reversed_date_time_data);
569569
auto polygon_deviation_values = doubleAndReverse(deviation_values, average_values);
570570

571-
572-
573-
574-
575-
576571
vector<string>args_block {ARGS_SIMPLE_DATA_BLOCK_SIZE, ""};
577572
std::string simpleData_yValues = vectorToString(deviation_values);
578573
args_block[ARG_SIMPLE_DATA_X] = polygon_date_time;
@@ -621,7 +616,7 @@ void showDateTimeMultichart(const std::string& date_time_values,
621616
args[ARG_DATE_TIME_ASPECT_WIDTH_OR_HEIGHT_FOR_AUTOSCALE] = paramWHsecond;
622617
args[ARG_DATE_TIME_DAVIS_LOGO] = kHtmlDavisLogoHyperlinkBlock;
623618
make_string(kHtmlDateTimeModel, args, out);
624-
auto unique_file_name = dvs::makeUniqueDavisHtmlName();
619+
auto unique_file_name = dvs::makeUniqueDavisHtmlRelativePath();
625620
saveStringToFile(unique_file_name, out);
626621
openFileBySystem(unique_file_name);
627622
}

0 commit comments

Comments
 (0)