swift
Loading...
Searching...
No Matches
distributorfilterbar.cpp
1// SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
5
6#include <QLineEdit>
7
8#include "ui_distributorfilterbar.h"
9
14
15using namespace swift::gui::models;
16using namespace swift::gui::components;
17using namespace swift::misc;
18using namespace swift::misc::simulation;
19
20namespace swift::gui::filters
21{
24 {
25 ui->setupUi(this);
26 ui->comp_Simulator->setMode(CSimulatorSelector::CheckBoxes);
27 ui->comp_Simulator->setNoSelectionMeansAll(true);
28 ui->comp_Simulator->setRememberSelection(false);
29 ui->comp_Simulator->checkAll();
30
31 this->setButtonsAndCount(ui->filter_Buttons);
32
33 // reset form
34 this->clearForm();
35
36 // connect deferred, avoid to filter during the UI "swing in period"
38 QTimer::singleShot(2500, this, [=, this] {
39 if (!myself)
40 {
41 return;
42 }
43 this->connectTriggerFilterSignals();
44 });
45 }
46
48
49 std::unique_ptr<swift::gui::models::IModelFilter<CDistributorList>> CDistributorFilterBar::createModelFilter() const
50 {
51 return std::make_unique<CDistributorFilter>(ui->comp_Simulator->getValue());
52 }
53
55 {
56 ui->comp_Simulator->setValue(simulator);
57 }
58
59 void CDistributorFilterBar::onRowCountChanged(int count, bool withFilter)
60 {
61 ui->filter_Buttons->onRowCountChanged(count, withFilter);
62 }
63
64 void CDistributorFilterBar::clearForm() { ui->comp_Simulator->clear(); }
65
66 void CDistributorFilterBar::connectTriggerFilterSignals()
67 {
70 }
71} // namespace swift::gui::filters
void changed(const swift::misc::simulation::CSimulatorInfo &simulator)
Value has been changed.
void onRowCountChanged(int count, bool withFilter)
Row count has been changed.
std::unique_ptr< models::IModelFilter< swift::misc::simulation::CDistributorList > > createModelFilter() const
Get the filter, this is the filter itself, not its widget or dialog.
CDistributorFilterBar(QWidget *parent=nullptr)
Constructor.
void setSimulator(const swift::misc::simulation::CSimulatorInfo &simulator)
Set simulator.
virtual void triggerFilter()
Trigger filtering.
void setButtonsAndCount(CFilterBarButtons *buttons)
Set and connect filter bar buttons.
CFilterWidget(QWidget *parent=nullptr)
Constructor.
Simple hardcoded info about the corresponding simulator.
High level reusable GUI components.
Filter to search data sets.
Models to be used with views, mainly QTableView.
Free functions in swift::misc.
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QObject * parent() const const
QueuedConnection
QWidget(QWidget *parent, Qt::WindowFlags f)