From b308014bc20402868dcbab71398e34efaa1742cd Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 10 Jul 2015 01:11:14 +0200 Subject: [PATCH] refs #445, models and views for new value classes * livery * distributor --- src/blackgui/models/allmodelcontainers.h | 31 ++++++++++++++++ src/blackgui/models/allmodels.h | 30 +++++++++++++++ src/blackgui/models/distributorlistmodel.cpp | 36 ++++++++++++++++++ src/blackgui/models/distributorlistmodel.h | 38 +++++++++++++++++++ src/blackgui/models/listmodelbase.cpp | 19 ++-------- src/blackgui/models/liverylistmodel.cpp | 39 ++++++++++++++++++++ src/blackgui/models/liverylistmodel.h | 38 +++++++++++++++++++ src/blackgui/views/distributorview.cpp | 24 ++++++++++++ src/blackgui/views/distributorview.h | 33 +++++++++++++++++ src/blackgui/views/liveryview.cpp | 24 ++++++++++++ src/blackgui/views/liveryview.h | 33 +++++++++++++++++ src/blackgui/views/viewbase.cpp | 19 +++------- 12 files changed, 336 insertions(+), 28 deletions(-) create mode 100644 src/blackgui/models/allmodelcontainers.h create mode 100644 src/blackgui/models/allmodels.h create mode 100644 src/blackgui/models/distributorlistmodel.cpp create mode 100644 src/blackgui/models/distributorlistmodel.h create mode 100644 src/blackgui/models/liverylistmodel.cpp create mode 100644 src/blackgui/models/liverylistmodel.h create mode 100644 src/blackgui/views/distributorview.cpp create mode 100644 src/blackgui/views/distributorview.h create mode 100644 src/blackgui/views/liveryview.cpp create mode 100644 src/blackgui/views/liveryview.h diff --git a/src/blackgui/models/allmodelcontainers.h b/src/blackgui/models/allmodelcontainers.h new file mode 100644 index 000000000..5828959d9 --- /dev/null +++ b/src/blackgui/models/allmodelcontainers.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2013 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#ifndef BLACKGUI_MODELS_ALLMODELCONTAINERS_H +#define BLACKGUI_MODELS_ALLMODELCONTAINERS_H + +#include "blackmisc/aviation/atcstationlist.h" +#include "blackmisc/aviation/aircraftlist.h" +#include "blackmisc/aviation/airportlist.h" +#include "blackmisc/aviation/liverylist.h" +#include "blackmisc/network/serverlist.h" +#include "blackmisc/network/userlist.h" +#include "blackmisc/network/clientlist.h" +#include "blackmisc/network/textmessagelist.h" +#include "blackmisc/network/aircraftmappinglist.h" +#include "blackmisc/setkeyboardhotkeylist.h" +#include "blackmisc/simulation/simulatedaircraftlist.h" +#include "blackmisc/simulation/aircraftmodellist.h" +#include "blackmisc/simulation/distributorlist.h" +#include "blackmisc/namevariantpairlist.h" +#include "blackmisc/statusmessagelist.h" +#include "blackmisc/identifierlist.h" + +#endif // guard + diff --git a/src/blackgui/models/allmodels.h b/src/blackgui/models/allmodels.h new file mode 100644 index 000000000..0a85f0ddb --- /dev/null +++ b/src/blackgui/models/allmodels.h @@ -0,0 +1,30 @@ +/* Copyright (C) 2013 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#ifndef BLACKGUI_MODELS_ALLMODELS_H +#define BLACKGUI_MODELS_ALLMODELS_H + +#include "blackgui/models/statusmessagelistmodel.h" +#include "blackgui/models/identifierlistmodel.h" +#include "blackgui/models/namevariantpairlistmodel.h" +#include "blackgui/models/atcstationlistmodel.h" +#include "blackgui/models/aircraftmodellistmodel.h" +#include "blackgui/models/textmessagelistmodel.h" +#include "blackgui/models/airportlistmodel.h" +#include "blackgui/models/airportlistmodel.h" +#include "blackgui/models/serverlistmodel.h" +#include "blackgui/models/userlistmodel.h" +#include "blackgui/models/clientlistmodel.h" +#include "blackgui/models/simulatedaircraftlistmodel.h" +#include "blackgui/models/liverylistmodel.h" +#include "blackgui/models/distributorlistmodel.h" +#include "blackgui/models/keyboardkeylistmodel.h" + +#endif // guard + diff --git a/src/blackgui/models/distributorlistmodel.cpp b/src/blackgui/models/distributorlistmodel.cpp new file mode 100644 index 000000000..daa9a723b --- /dev/null +++ b/src/blackgui/models/distributorlistmodel.cpp @@ -0,0 +1,36 @@ +/* Copyright (C) 2015 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "distributorlistmodel.h" +#include "blackmisc/blackmiscfreefunctions.h" +#include +#include + +using namespace BlackMisc::Simulation; + +namespace BlackGui +{ + namespace Models + { + CDistributorListModel::CDistributorListModel(QObject *parent) : + CListModelBase("ModelDistributorList", parent) + { + this->m_columns.addColumn(CColumn::standardString("key", CDistributor::IndexDbStringKey)); + this->m_columns.addColumn(CColumn::standardString("description", CDistributor::IndexDescription)); + this->m_columns.addColumn(CColumn::standardString("alias1", CDistributor::IndexAlias1)); + this->m_columns.addColumn(CColumn::standardString("alias2", CDistributor::IndexAlias2)); + + // force strings for translation in resource files + (void)QT_TRANSLATE_NOOP("ModelDistributorList", "key"); + (void)QT_TRANSLATE_NOOP("ModelDistributorList", "description"); + (void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias1"); + (void)QT_TRANSLATE_NOOP("ModelDistributorList", "alias2"); + } + } // class +} // namespace diff --git a/src/blackgui/models/distributorlistmodel.h b/src/blackgui/models/distributorlistmodel.h new file mode 100644 index 000000000..56c5ce344 --- /dev/null +++ b/src/blackgui/models/distributorlistmodel.h @@ -0,0 +1,38 @@ +/* Copyright (C) 2015 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKGUI_DISTRIBUTORLISTMODEL_H +#define BLACKGUI_DISTRIBUTORLISTMODEL_H + +#include "blackgui/blackguiexport.h" +#include "blackmisc/simulation/distributorlist.h" +#include "blackgui/models/listmodelbase.h" +#include + +namespace BlackGui +{ + namespace Models + { + //! Distributor list model + class BLACKGUI_EXPORT CDistributorListModel : public CListModelBase + { + public: + + //! Constructor + explicit CDistributorListModel(QObject *parent = nullptr); + + //! Destructor + virtual ~CDistributorListModel() {} + }; + } // ns +} // ns + +#endif // guard diff --git a/src/blackgui/models/listmodelbase.cpp b/src/blackgui/models/listmodelbase.cpp index dc256cb31..f49c90e5e 100644 --- a/src/blackgui/models/listmodelbase.cpp +++ b/src/blackgui/models/listmodelbase.cpp @@ -8,20 +8,7 @@ */ #include "listmodelbase.h" -#include "blackmisc/aviation/atcstationlist.h" -#include "blackmisc/aviation/aircraftlist.h" -#include "blackmisc/aviation/airportlist.h" -#include "blackmisc/network/serverlist.h" -#include "blackmisc/network/userlist.h" -#include "blackmisc/network/clientlist.h" -#include "blackmisc/network/textmessagelist.h" -#include "blackmisc/network/aircraftmappinglist.h" -#include "blackmisc/setkeyboardhotkeylist.h" -#include "blackmisc/simulation/simulatedaircraftlist.h" -#include "blackmisc/simulation/aircraftmodellist.h" -#include "blackmisc/namevariantpairlist.h" -#include "blackmisc/statusmessagelist.h" -#include "blackmisc/identifierlist.h" +#include "allmodelcontainers.h" #include "blackmisc/variant.h" #include "blackmisc/blackmiscfreefunctions.h" @@ -465,13 +452,15 @@ namespace BlackGui template class CListModelBase; template class CListModelBase; template class CListModelBase; + template class CListModelBase; template class CListModelBase; template class CListModelBase; template class CListModelBase; template class CListModelBase; - template class CListModelBase; template class CListModelBase; + template class CListModelBase; template class CListModelBase; + template class CListModelBase; template class CListModelBase; } // namespace diff --git a/src/blackgui/models/liverylistmodel.cpp b/src/blackgui/models/liverylistmodel.cpp new file mode 100644 index 000000000..ca9ef0bfd --- /dev/null +++ b/src/blackgui/models/liverylistmodel.cpp @@ -0,0 +1,39 @@ +/* Copyright (C) 2015 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "liverylistmodel.h" +#include "blackmisc/blackmiscfreefunctions.h" +#include +#include + +using namespace BlackMisc::Aviation; + +namespace BlackGui +{ + namespace Models + { + CLiveryListModel::CLiveryListModel(QObject *parent) : + CListModelBase("ModelLiveryList", parent) + { + this->m_columns.addColumn(CColumn::standardString("code", CLivery::IndexCombinedCode)); + this->m_columns.addColumn(CColumn::standardString("description", CLivery::IndexDescription)); + this->m_columns.addColumn(CColumn::standardString("fuselage", CLivery::IndexColorFuselage)); + this->m_columns.addColumn(CColumn::standardString("tail", CLivery::IndexColorTail)); + this->m_columns.addColumn(CColumn("mil.", "military", CLivery::IndexIsMilitary, new CBoolIconFormatter("military", "civil"))); + + // force strings for translation in resource files + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "key"); + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "description"); + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "fuselage"); + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "tail"); + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "mil."); + (void)QT_TRANSLATE_NOOP("ModelLiveryList", "military"); + } + } // class +} // namespace diff --git a/src/blackgui/models/liverylistmodel.h b/src/blackgui/models/liverylistmodel.h new file mode 100644 index 000000000..a60ca200a --- /dev/null +++ b/src/blackgui/models/liverylistmodel.h @@ -0,0 +1,38 @@ +/* Copyright (C) 2015 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKGUI_LIVERYLISTMODEL_H +#define BLACKGUI_LIVERYLISTMODEL_H + +#include "blackgui/blackguiexport.h" +#include "blackmisc/aviation/liverylist.h" +#include "blackgui/models/listmodelbase.h" +#include + +namespace BlackGui +{ + namespace Models + { + //! Distributor list model + class BLACKGUI_EXPORT CLiveryListModel : public CListModelBase + { + public: + + //! Constructor + explicit CLiveryListModel(QObject *parent = nullptr); + + //! Destructor + virtual ~CLiveryListModel() {} + }; + } // ns +} // ns + +#endif // guard diff --git a/src/blackgui/views/distributorview.cpp b/src/blackgui/views/distributorview.cpp new file mode 100644 index 000000000..88e0056db --- /dev/null +++ b/src/blackgui/views/distributorview.cpp @@ -0,0 +1,24 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "distributorview.h" +#include + +using namespace BlackGui::Models; + +namespace BlackGui +{ + namespace Views + { + CDistributorView::CDistributorView(QWidget *parent) : CViewBase(parent) + { + this->standardInit(new CDistributorListModel(this)); + } + } +} // namespace diff --git a/src/blackgui/views/distributorview.h b/src/blackgui/views/distributorview.h new file mode 100644 index 000000000..d31bfb1d2 --- /dev/null +++ b/src/blackgui/views/distributorview.h @@ -0,0 +1,33 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKGUI_DISTRIBUTORVIEW_H +#define BLACKGUI_DISTRIBUTORVIEW_H + +#include "blackgui/blackguiexport.h" +#include "viewbase.h" +#include "../models/distributorlistmodel.h" + +namespace BlackGui +{ + namespace Views + { + //! Distributors + class BLACKGUI_EXPORT CDistributorView : public CViewBase + { + + public: + //! Constructor + explicit CDistributorView(QWidget *parent = nullptr); + }; + } +} +#endif // guard diff --git a/src/blackgui/views/liveryview.cpp b/src/blackgui/views/liveryview.cpp new file mode 100644 index 000000000..30372a71b --- /dev/null +++ b/src/blackgui/views/liveryview.cpp @@ -0,0 +1,24 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "liveryview.h" +#include + +using namespace BlackGui::Models; + +namespace BlackGui +{ + namespace Views + { + CLiveryView::CLiveryView(QWidget *parent) : CViewBase(parent) + { + this->standardInit(new CLiveryListModel(this)); + } + } +} // namespace diff --git a/src/blackgui/views/liveryview.h b/src/blackgui/views/liveryview.h new file mode 100644 index 000000000..7840b1179 --- /dev/null +++ b/src/blackgui/views/liveryview.h @@ -0,0 +1,33 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKGUI_LIVERYVIEW_H +#define BLACKGUI_LIVERYVIEW_H + +#include "blackgui/blackguiexport.h" +#include "viewbase.h" +#include "../models/liverylistmodel.h" + +namespace BlackGui +{ + namespace Views + { + //! Distributors + class BLACKGUI_EXPORT CLiveryView : public CViewBase + { + + public: + //! Constructor + explicit CLiveryView(QWidget *parent = nullptr); + }; + } +} +#endif // guard diff --git a/src/blackgui/views/viewbase.cpp b/src/blackgui/views/viewbase.cpp index 1baf827a3..898b97cf0 100644 --- a/src/blackgui/views/viewbase.cpp +++ b/src/blackgui/views/viewbase.cpp @@ -8,19 +8,7 @@ */ #include "viewbase.h" -#include "../models/statusmessagelistmodel.h" -#include "../models/identifierlistmodel.h" -#include "../models/namevariantpairlistmodel.h" -#include "../models/atcstationlistmodel.h" -#include "../models/aircraftmodellistmodel.h" -#include "../models/textmessagelistmodel.h" -#include "../models/airportlistmodel.h" -#include "../models/airportlistmodel.h" -#include "../models/serverlistmodel.h" -#include "../models/userlistmodel.h" -#include "../models/clientlistmodel.h" -#include "../models/simulatedaircraftlistmodel.h" -#include "../models/keyboardkeylistmodel.h" +#include "blackgui/models/allmodels.h" #include "../guiutility.h" #include @@ -406,12 +394,17 @@ namespace BlackGui template class CViewBase; template class CViewBase; + template class CViewBase; + template class CViewBase; template class CViewBase; template class CViewBase; template class CViewBase; + template class CViewBase; template class CViewBase; + template class CViewBase; + template class CViewBase; } // namespace