Added All Plates Stats Total Cost #1781 (#2238)

Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
niklasb 2023-09-27 18:13:47 +02:00 committed by GitHub
parent 3433e7bfa0
commit 0e785c05e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4185,6 +4185,7 @@ void GCodeViewer::render_all_plates_stats(const std::vector<const GCodeProcessor
std::vector<double> flushed_filaments_m_all_plates; std::vector<double> flushed_filaments_m_all_plates;
std::vector<double> flushed_filaments_g_all_plates; std::vector<double> flushed_filaments_g_all_plates;
float total_time_all_plates = 0.0f; float total_time_all_plates = 0.0f;
float total_cost_all_plates = 0.0f;
bool show_detailed_statistics_page = false; bool show_detailed_statistics_page = false;
auto max_width = [](const std::vector<std::string>& items, const std::string& title, float extra_size = 0.0f) { auto max_width = [](const std::vector<std::string>& items, const std::string& title, float extra_size = 0.0f) {
@ -4278,6 +4279,10 @@ void GCodeViewer::render_all_plates_stats(const std::vector<const GCodeProcessor
} }
const PrintEstimatedStatistics::Mode& plate_time_mode = plate_print_statistics.modes[static_cast<size_t>(m_time_estimate_mode)]; const PrintEstimatedStatistics::Mode& plate_time_mode = plate_print_statistics.modes[static_cast<size_t>(m_time_estimate_mode)];
total_time_all_plates += plate_time_mode.time; total_time_all_plates += plate_time_mode.time;
Print *print;
plate->get_print((PrintBase **) &print, nullptr, nullptr);
total_cost_all_plates += print->print_statistics().total_cost;
} }
for (auto it = volume_of_extruders_all_plates.begin(); it != volume_of_extruders_all_plates.end(); it++) { for (auto it = volume_of_extruders_all_plates.begin(); it != volume_of_extruders_all_plates.end(); it++) {
@ -4342,13 +4347,21 @@ void GCodeViewer::render_all_plates_stats(const std::vector<const GCodeProcessor
ImGui::Dummy(ImVec2(0.0f, ImGui::GetFontSize() * 0.1)); ImGui::Dummy(ImVec2(0.0f, ImGui::GetFontSize() * 0.1));
ImGui::Dummy({ window_padding, window_padding }); ImGui::Dummy({ window_padding, window_padding });
ImGui::SameLine(); ImGui::SameLine();
imgui.title(_u8L("Total Time Estimation")); imgui.title(_u8L("Total Estimation"));
ImGui::Dummy({ window_padding, window_padding }); ImGui::Dummy({ window_padding, window_padding });
ImGui::SameLine(); ImGui::SameLine();
imgui.text(_u8L("Total time") + ":"); imgui.text(_u8L("Total time") + ":");
ImGui::SameLine(); ImGui::SameLine();
imgui.text(short_time(get_time_dhms(total_time_all_plates))); imgui.text(short_time(get_time_dhms(total_time_all_plates)));
ImGui::Dummy({ window_padding, window_padding });
ImGui::SameLine();
imgui.text(_u8L("Total cost") + ":");
ImGui::SameLine();
char buf[64];
::sprintf(buf, "%.2f", total_cost_all_plates);
imgui.text(buf);
} }
ImGui::End(); ImGui::End();
ImGui::PopStyleColor(6); ImGui::PopStyleColor(6);