refs #413, #416 Using Mixin::Index in more classes so that index "myself" yields correct derived type.

(cherry picked from commit 2b7f7eb6b692a3464863ece86b30ea0b7efc2a1d)
This commit is contained in:
Mathew Sutcliffe
2015-05-08 20:22:02 +01:00
parent dfe42e1ce7
commit f631f51210
8 changed files with 24 additions and 9 deletions

View File

@@ -25,13 +25,15 @@ namespace BlackMisc
class BLACKMISC_EXPORT CAdfSystem : class BLACKMISC_EXPORT CAdfSystem :
public CModulator<CAdfSystem>, public CModulator<CAdfSystem>,
public Mixin::MetaType<CAdfSystem>, public Mixin::MetaType<CAdfSystem>,
public Mixin::JsonOperators<CAdfSystem> public Mixin::JsonOperators<CAdfSystem>,
public Mixin::Index<CAdfSystem>
{ {
public: public:
//! Base type //! Base type
using base_type = CModulator<CAdfSystem>; using base_type = CModulator<CAdfSystem>;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAdfSystem) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAdfSystem)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CAdfSystem)
//! Default constructor //! Default constructor
CAdfSystem() = default; CAdfSystem() = default;

View File

@@ -33,7 +33,8 @@ namespace BlackMisc
public Mixin::DBusByTuple<CAltitude>, public Mixin::DBusByTuple<CAltitude>,
public Mixin::JsonByTuple<CAltitude>, public Mixin::JsonByTuple<CAltitude>,
public Mixin::String<CAltitude>, public Mixin::String<CAltitude>,
public Mixin::Icon<CAltitude> public Mixin::Icon<CAltitude>,
public Mixin::Index<CAltitude>
{ {
public: public:
//! Base type //! Base type
@@ -44,6 +45,7 @@ namespace BlackMisc
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_JSON(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_ICON(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_ICON(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CAltitude)
/*! /*!
* Enum type to distinguish between MSL and AGL * Enum type to distinguish between MSL and AGL

View File

@@ -24,13 +24,15 @@ namespace BlackMisc
class BLACKMISC_EXPORT CComSystem : class BLACKMISC_EXPORT CComSystem :
public CModulator<CComSystem>, public CModulator<CComSystem>,
public Mixin::MetaType<CComSystem>, public Mixin::MetaType<CComSystem>,
public Mixin::JsonOperators<CComSystem> public Mixin::JsonOperators<CComSystem>,
public Mixin::Index<CComSystem>
{ {
public: public:
//! Base type //! Base type
using base_type = CModulator<CComSystem>; using base_type = CModulator<CComSystem>;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CComSystem) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CComSystem)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CComSystem)
//! Channel spacing frequency //! Channel spacing frequency
enum ChannelSpacing enum ChannelSpacing

View File

@@ -32,7 +32,8 @@ namespace BlackMisc
public Mixin::HashByTuple<CHeading>, public Mixin::HashByTuple<CHeading>,
public Mixin::DBusByTuple<CHeading>, public Mixin::DBusByTuple<CHeading>,
public Mixin::JsonByTuple<CHeading>, public Mixin::JsonByTuple<CHeading>,
public Mixin::String<CHeading> public Mixin::String<CHeading>,
public Mixin::Index<CHeading>
{ {
public: public:
//! Base type //! Base type
@@ -42,6 +43,7 @@ namespace BlackMisc
BLACKMISC_DECLARE_USING_MIXIN_STRING(CHeading) BLACKMISC_DECLARE_USING_MIXIN_STRING(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CHeading) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CHeading) BLACKMISC_DECLARE_USING_MIXIN_JSON(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CHeading)
//! Enum type to distinguish between true north and magnetic north //! Enum type to distinguish between true north and magnetic north
enum ReferenceNorth enum ReferenceNorth

View File

@@ -24,13 +24,15 @@ namespace BlackMisc
class BLACKMISC_EXPORT CNavSystem : class BLACKMISC_EXPORT CNavSystem :
public CModulator<CNavSystem>, public CModulator<CNavSystem>,
public Mixin::MetaType<CNavSystem>, public Mixin::MetaType<CNavSystem>,
public Mixin::JsonOperators<CNavSystem> public Mixin::JsonOperators<CNavSystem>,
public Mixin::Index<CNavSystem>
{ {
public: public:
//! Base type //! Base type
using base_type = CModulator<CNavSystem>; using base_type = CModulator<CNavSystem>;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CNavSystem) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CNavSystem)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CNavSystem)
//! Default constructor //! Default constructor
CNavSystem() = default; CNavSystem() = default;

View File

@@ -33,7 +33,8 @@ namespace BlackMisc
public Mixin::HashByTuple<CTrack>, public Mixin::HashByTuple<CTrack>,
public Mixin::DBusByTuple<CTrack>, public Mixin::DBusByTuple<CTrack>,
public Mixin::JsonByTuple<CTrack>, public Mixin::JsonByTuple<CTrack>,
public Mixin::String<CTrack> public Mixin::String<CTrack>,
public Mixin::Index<CTrack>
{ {
public: public:
//! Base type //! Base type
@@ -43,6 +44,7 @@ namespace BlackMisc
BLACKMISC_DECLARE_USING_MIXIN_STRING(CTrack) BLACKMISC_DECLARE_USING_MIXIN_STRING(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CTrack) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CTrack) BLACKMISC_DECLARE_USING_MIXIN_JSON(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CTrack)
/*! /*!
* Enum type to distinguish between true north and magnetic north * Enum type to distinguish between true north and magnetic north

View File

@@ -13,7 +13,6 @@
#define BLACKMISC_GEO_LATITUDE_H #define BLACKMISC_GEO_LATITUDE_H
#include "blackmisc/blackmiscexport.h" #include "blackmisc/blackmiscexport.h"
#include <QtCore/qmath.h>
#include "blackmisc/geo/earthangle.h" #include "blackmisc/geo/earthangle.h"
namespace BlackMisc namespace BlackMisc
@@ -26,7 +25,8 @@ namespace BlackMisc
public CEarthAngle<CLatitude>, public CEarthAngle<CLatitude>,
public Mixin::MetaType<CLatitude>, public Mixin::MetaType<CLatitude>,
public Mixin::String<CLatitude>, public Mixin::String<CLatitude>,
public Mixin::DBusOperators<CLatitude> public Mixin::DBusOperators<CLatitude>,
public Mixin::Index<CLatitude>
{ {
public: public:
//! Base type //! Base type
@@ -34,6 +34,7 @@ namespace BlackMisc
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLatitude) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLatitude)
BLACKMISC_DECLARE_USING_MIXIN_STRING(CLatitude) BLACKMISC_DECLARE_USING_MIXIN_STRING(CLatitude)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CLatitude)
//! \copydoc CValueObject::convertToQString //! \copydoc CValueObject::convertToQString
QString convertToQString(bool i18n = false) const QString convertToQString(bool i18n = false) const

View File

@@ -25,7 +25,8 @@ namespace BlackMisc
public CEarthAngle<CLongitude>, public CEarthAngle<CLongitude>,
public Mixin::MetaType<CLongitude>, public Mixin::MetaType<CLongitude>,
public Mixin::String<CLongitude>, public Mixin::String<CLongitude>,
public Mixin::DBusOperators<CLongitude> public Mixin::DBusOperators<CLongitude>,
public Mixin::Index<CLongitude>
{ {
public: public:
//! Base type //! Base type
@@ -33,6 +34,7 @@ namespace BlackMisc
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLongitude) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLongitude)
BLACKMISC_DECLARE_USING_MIXIN_STRING(CLongitude) BLACKMISC_DECLARE_USING_MIXIN_STRING(CLongitude)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CLongitude)
//! \copydoc CValueObject::convertToQString //! \copydoc CValueObject::convertToQString
QString convertToQString(bool i18n = false) const QString convertToQString(bool i18n = false) const