mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 15:15:50 +08:00
refs #368, filter for views
This commit is contained in:
@@ -8,9 +8,13 @@
|
||||
*/
|
||||
|
||||
#include "aircraftmodelview.h"
|
||||
#include "aircraftmodelfilterform.h"
|
||||
#include <QHeaderView>
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Simulation;
|
||||
using namespace BlackGui::Models;
|
||||
|
||||
namespace BlackGui
|
||||
@@ -22,11 +26,31 @@ namespace BlackGui
|
||||
this->m_withMenuItemClear = true;
|
||||
this->m_withMenuItemRefresh = true;
|
||||
this->standardInit(new CAircraftModelListModel(CAircraftModelListModel::ModelOnly, this));
|
||||
|
||||
// filter
|
||||
QWidget *mainWindow = this->mainApplicationWindowWidget();
|
||||
Q_ASSERT(mainWindow);
|
||||
this->setFilterDialog(new CAircraftModelFilterForm(mainWindow));
|
||||
}
|
||||
|
||||
void CAircraftModelView::setAircraftModelMode(CAircraftModelListModel::AircraftModelMode mode)
|
||||
{
|
||||
this->m_model->setAircraftModelMode(mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CAircraftModelView::ps_filterDialogFinished(int status)
|
||||
{
|
||||
if (CViewBase::ps_filterDialogFinished(status)) { return true; }
|
||||
if (!this->m_filterDialog) { this->derivedModel()->removeFilter(); return true; }
|
||||
std::unique_ptr<IModelFilter<CAircraftModelList>> filter(this->getFilterForm()->getFilter());
|
||||
this->derivedModel()->setFilter(filter);
|
||||
return true;
|
||||
}
|
||||
|
||||
CAircraftModelFilterForm *CAircraftModelView::getFilterForm() const
|
||||
{
|
||||
return static_cast<CAircraftModelFilterForm *>(this->m_filterDialog.data());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user