mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 12:35:43 +08:00
Ref T529, orderable status message list
This commit is contained in:
committed by
Mat Sutcliffe
parent
3ba88c7c2f
commit
01e9519826
@@ -11,6 +11,7 @@
|
|||||||
#include "blackmisc/predicates.h"
|
#include "blackmisc/predicates.h"
|
||||||
#include "blackmisc/simulation/aircraftmodellist.h"
|
#include "blackmisc/simulation/aircraftmodellist.h"
|
||||||
#include "blackmisc/simulation/distributorlist.h"
|
#include "blackmisc/simulation/distributorlist.h"
|
||||||
|
#include "blackmisc/statusmessagelist.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
@@ -140,6 +141,16 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <class OBJ, class CONTAINER>
|
||||||
|
void IOrderableList<OBJ, CONTAINER>::freezeOrderReverse()
|
||||||
|
{
|
||||||
|
int c = this->container().size() - 1;
|
||||||
|
for (OBJ &obj : container())
|
||||||
|
{
|
||||||
|
obj.setOrder(c--);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
template<class OBJ, class CONTAINER>
|
template<class OBJ, class CONTAINER>
|
||||||
OBJ IOrderableList<OBJ, CONTAINER>::minOrderOrDefault() const
|
OBJ IOrderableList<OBJ, CONTAINER>::minOrderOrDefault() const
|
||||||
{
|
{
|
||||||
@@ -173,6 +184,7 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! \cond PRIVATE
|
//! \cond PRIVATE
|
||||||
|
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE IOrderableList<BlackMisc::CStatusMessage, BlackMisc::CStatusMessageList>;
|
||||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE IOrderableList<BlackMisc::Simulation::CAircraftModel, BlackMisc::Simulation::CAircraftModelList>;
|
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE IOrderableList<BlackMisc::Simulation::CAircraftModel, BlackMisc::Simulation::CAircraftModelList>;
|
||||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE IOrderableList<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList>;
|
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE IOrderableList<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList>;
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ namespace BlackMisc
|
|||||||
//! Current order of list will be new order values
|
//! Current order of list will be new order values
|
||||||
void freezeOrder();
|
void freezeOrder();
|
||||||
|
|
||||||
|
//! Current reverse order of list will be new order values
|
||||||
|
void freezeOrderReverse();
|
||||||
|
|
||||||
//! Object with min.order or default
|
//! Object with min.order or default
|
||||||
OBJ minOrderOrDefault() const;
|
OBJ minOrderOrDefault() const;
|
||||||
|
|
||||||
@@ -68,6 +71,9 @@ namespace BlackMisc
|
|||||||
};
|
};
|
||||||
|
|
||||||
//! \cond PRIVATE
|
//! \cond PRIVATE
|
||||||
|
class CStatusMessage;
|
||||||
|
class CStatusMessageList;
|
||||||
|
|
||||||
namespace Simulation
|
namespace Simulation
|
||||||
{
|
{
|
||||||
class CDistributor;
|
class CDistributor;
|
||||||
@@ -76,6 +82,7 @@ namespace BlackMisc
|
|||||||
class CAircraftModelList;
|
class CAircraftModelList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE IOrderableList<BlackMisc::CStatusMessage, BlackMisc::CStatusMessageList>;
|
||||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE IOrderableList<BlackMisc::Simulation::CAircraftModel, BlackMisc::Simulation::CAircraftModelList>;
|
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE IOrderableList<BlackMisc::Simulation::CAircraftModel, BlackMisc::Simulation::CAircraftModelList>;
|
||||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE IOrderableList<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList>;
|
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE IOrderableList<BlackMisc::Simulation::CDistributor, BlackMisc::Simulation::CDistributorList>;
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ namespace BlackMisc
|
|||||||
class BLACKMISC_EXPORT CStatusMessageList :
|
class BLACKMISC_EXPORT CStatusMessageList :
|
||||||
public CSequence<CStatusMessage>,
|
public CSequence<CStatusMessage>,
|
||||||
public ITimestampObjectList<CStatusMessage, CStatusMessageList>,
|
public ITimestampObjectList<CStatusMessage, CStatusMessageList>,
|
||||||
|
public IOrderableList<CStatusMessage, CStatusMessageList>,
|
||||||
public Mixin::MetaType<CStatusMessageList>
|
public Mixin::MetaType<CStatusMessageList>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user