##// END OF EJS Templates
Merge pull request 393 from SciQLop-fork develop...
Merge pull request 393 from SciQLop-fork develop Develop

File last commit:

r1164:b6390f556418
r1222:a28635845636 merge
Show More
CatalogueExplorer.cpp
95 lines | 3.5 KiB | text/x-c | CppLexer
/ gui / src / Catalogue / CatalogueExplorer.cpp
Adds the new CatalogueExplorer dialog
r1093 #include "Catalogue/CatalogueExplorer.h"
#include "ui_CatalogueExplorer.h"
Zone actions to create a new event
r1163 #include <Catalogue/CatalogueActionManager.h>
Adaptation to last version of catalogue controller
r1164 #include <Catalogue/CatalogueController.h>
#include <SqpApplication.h>
Retrieves zone names from the visualization
r1136 #include <Visualization/VisualizationWidget.h>
Display catalogues and events with CatalogueAPI
r1129 #include <DBCatalogue.h>
#include <DBEvent.h>
Retrieves zone names from the visualization
r1136 struct CatalogueExplorer::CatalogueExplorerPrivate {
Zone actions to create a new event
r1163 CatalogueActionManager m_ActionManager;
Retrieves zone names from the visualization
r1136 };
Adds the new CatalogueExplorer dialog
r1093 CatalogueExplorer::CatalogueExplorer(QWidget *parent)
Fix window flags of the catalogue gui
r1100 : QDialog(parent, Qt::Dialog | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint),
Retrieves zone names from the visualization
r1136 ui(new Ui::CatalogueExplorer),
impl{spimpl::make_unique_impl<CatalogueExplorerPrivate>()}
Adds the new CatalogueExplorer dialog
r1093 {
ui->setupUi(this);
Basic interactions
r1103
Zone actions to create a new event
r1163 impl->m_ActionManager.installSelectionZoneActions();
Multi selection of catalogues
r1132 connect(ui->catalogues, &CatalogueSideBarWidget::catalogueSelected, [this](auto catalogues) {
if (catalogues.count() == 1) {
ui->inspector->setCatalogue(catalogues.first());
}
else {
ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
}
ui->events->populateWithCatalogues(catalogues);
Basic interactions
r1103 });
Multi selection of catalogues
r1132 connect(ui->catalogues, &CatalogueSideBarWidget::databaseSelected, [this](auto databases) {
ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
});
connect(ui->catalogues, &CatalogueSideBarWidget::trashSelected,
[this]() { ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty); });
Displays all events
r1160 connect(ui->catalogues, &CatalogueSideBarWidget::allEventsSelected, [this]() {
ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
ui->events->populateWithAllEvents();
});
Multi selection of catalogues
r1132
connect(ui->catalogues, &CatalogueSideBarWidget::selectionCleared,
[this]() { ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty); });
Manage inspector with multiple events selected
r1131 connect(ui->events, &CatalogueEventsWidget::eventsSelected, [this](auto events) {
if (events.count() == 1) {
ui->inspector->setEvent(events.first());
}
else {
ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
}
});
Edition of catalogues from the inspector
r1147
Edition of event products via the inspector
r1150 connect(ui->events, &CatalogueEventsWidget::eventProductsSelected, [this](auto eventProducts) {
if (eventProducts.count() == 1) {
ui->inspector->setEventProduct(eventProducts.first().first,
eventProducts.first().second);
}
else {
ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
}
});
connect(ui->events, &CatalogueEventsWidget::selectionCleared,
[this]() { ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty); });
Adaptation to last version of catalogue controller
r1164 connect(ui->inspector, &CatalogueInspectorWidget::catalogueUpdated, [this](auto catalogue) {
sqpApp->catalogueController().updateCatalogue(catalogue);
ui->catalogues->setCatalogueChanges(catalogue, true);
});
Edition of events from the inspector
r1148
Adaptation to last version of catalogue controller
r1164 connect(ui->inspector, &CatalogueInspectorWidget::eventUpdated, [this](auto event) {
sqpApp->catalogueController().updateEvent(event);
ui->events->setEventChanges(event, true);
});
Edition of event products via the inspector
r1150
connect(ui->inspector, &CatalogueInspectorWidget::eventProductUpdated,
[this](auto event, auto eventProduct) { ui->events->setEventChanges(event, true); });
Adds the new CatalogueExplorer dialog
r1093 }
CatalogueExplorer::~CatalogueExplorer()
{
delete ui;
}
Retrieves zone names from the visualization
r1136
void CatalogueExplorer::setVisualizationWidget(VisualizationWidget *visualization)
{
ui->events->setVisualizationWidget(visualization);
}