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 :
public CModulator<CAdfSystem>,
public Mixin::MetaType<CAdfSystem>,
public Mixin::JsonOperators<CAdfSystem>
public Mixin::JsonOperators<CAdfSystem>,
public Mixin::Index<CAdfSystem>
{
public:
//! Base type
using base_type = CModulator<CAdfSystem>;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAdfSystem)
BLACKMISC_DECLARE_USING_MIXIN_INDEX(CAdfSystem)
//! Default constructor
CAdfSystem() = default;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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