diff --git a/include/pli_vis/ui/plugins/demo_toolbox.ui b/include/pli_vis/ui/plugins/demo_toolbox.ui index 9c291dd60e85572d6db4a6525a1950f5a106d019..e90f579a2c972de4f46444509131d370b4fbc59a 100644 --- a/include/pli_vis/ui/plugins/demo_toolbox.ui +++ b/include/pli_vis/ui/plugins/demo_toolbox.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>461</width> - <height>82</height> + <width>478</width> + <height>155</height> </rect> </property> <property name="windowTitle"> @@ -15,7 +15,7 @@ </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="0" column="0"> - <widget class="QLabel" name="label"> + <widget class="QLabel" name="text_presets"> <property name="text"> <string>Presets</string> </property> @@ -95,7 +95,17 @@ </item> </layout> </item> - <item row="1" column="0" colspan="2"> + <item row="1" column="0"> + <widget class="QLabel" name="text_description"> + <property name="text"> + <string>Description</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QPlainTextEdit" name="text_content"/> + </item> + <item row="2" column="0" colspan="2"> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> diff --git a/source/ui/plugins/demo_plugin.cpp b/source/ui/plugins/demo_plugin.cpp index 88bfdaa02389d0277c8ae1505fc4c3a600184bb7..612df4e466ffe2eb1e2f3a734034322dac00f964 100644 --- a/source/ui/plugins/demo_plugin.cpp +++ b/source/ui/plugins/demo_plugin.cpp @@ -2,6 +2,7 @@ #include <boost/lexical_cast.hpp> #include <json/json.hpp> +#include <QTextDocument> #include <pli_vis/ui/utility/line_edit.hpp> #include <pli_vis/ui/utility/text_browser_sink.hpp> @@ -73,6 +74,7 @@ void demo_plugin::load_preset (std::size_t index) const auto& polar_plot_plugin_data = preset["polar_plot_plugin" ]; auto& odf_plugin_data = preset["odf_plugin" ]; auto& local_tractography_plugin_data = preset["local_tractography_plugin"]; + auto& demo_plugin_data = preset["demo_plugin" ]; data_plugin->unserialize( data_plugin_data["dataset"], @@ -112,6 +114,9 @@ void demo_plugin::load_preset (std::size_t index) const scalar_plugin->checkbox_enabled->setChecked(scalar_plugin_data["enabled"].get<bool>()); scalar_plugin_data["mode"].get<bool>() ? scalar_plugin->checkbox_retardation->setChecked(true) : scalar_plugin->checkbox_transmittance->setChecked(true); + fom_plugin->checkbox_enabled->setChecked(fom_plugin_data["enabled"].get<bool>()); + fom_plugin->line_edit_fiber_scale->setText(QString::fromStdString(std::to_string(fom_plugin_data["scale"].get<float>()))); + polar_plot_plugin->checkbox_enabled ->setChecked(polar_plot_plugin_data["enabled" ].get<bool>()); polar_plot_plugin->checkbox_symmetric ->setChecked(polar_plot_plugin_data["symmetric"].get<bool>()); polar_plot_plugin->line_edit_superpixel_size ->setText (QString::fromStdString(std::to_string(polar_plot_plugin_data["superpixel_size" ].get<std::size_t>()))); @@ -160,6 +165,9 @@ void demo_plugin::load_preset (std::size_t index) const local_tractography_plugin->line_edit_dataset_folder ->setText(QString::fromStdString(local_tractography_plugin_data["remote_folder" ].get<std::string>())); if(local_tractography_plugin->checkbox_enabled->isChecked()) local_tractography_plugin->button_remote_trace->click(); + local_tractography_plugin->updateGeometry(); + + text_content->document()->setPlainText(QString::fromStdString(std::to_string(demo_plugin_data["description"].get<float>()))); } void demo_plugin::save_preset (std::size_t index) const { @@ -175,7 +183,7 @@ void demo_plugin::save_preset (std::size_t index) const auto polar_plot_plugin = owner_->get_plugin<pli::polar_plot_plugin> (); auto odf_plugin = owner_->get_plugin<pli::odf_plugin> (); auto local_tractography_plugin = owner_->get_plugin<pli::local_tractography_plugin>(); - + auto& preset = json["presets"][index]; preset["data_plugin" ] = nlohmann::json::object(); preset["interactor_plugin" ] = nlohmann::json::object(); @@ -185,6 +193,7 @@ void demo_plugin::save_preset (std::size_t index) const preset["polar_plot_plugin" ] = nlohmann::json::object(); preset["odf_plugin" ] = nlohmann::json::object(); preset["local_tractography_plugin"] = nlohmann::json::object(); + preset["demo_plugin" ] = nlohmann::json::object(); auto& data_plugin_data = preset["data_plugin" ]; auto& interactor_plugin_data = preset["interactor_plugin" ]; auto& color_plugin_data = preset["color_plugin" ]; @@ -193,6 +202,7 @@ void demo_plugin::save_preset (std::size_t index) const auto& polar_plot_plugin_data = preset["polar_plot_plugin" ]; auto& odf_plugin_data = preset["odf_plugin" ]; auto& local_tractography_plugin_data = preset["local_tractography_plugin"]; + auto& demo_plugin_data = preset["demo_plugin" ]; data_plugin_data ["dataset" ] = data_plugin->filepath (); data_plugin_data ["offset" ] = data_plugin->selection_offset(); @@ -256,6 +266,8 @@ void demo_plugin::save_preset (std::size_t index) const local_tractography_plugin_data["remote_address" ] = line_edit::get_text<std::string>(local_tractography_plugin->line_edit_remote_address); local_tractography_plugin_data["remote_folder" ] = line_edit::get_text<std::string>(local_tractography_plugin->line_edit_dataset_folder); + demo_plugin_data["description"] = text_content->document()->toPlainText().toStdString(); + std::ofstream mutable_file(presets_filepath_); mutable_file << std::setw(4) << json << std::endl; }