From f631f51210108b68edcd6189147c8d49a4547a78 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Fri, 8 May 2015 20:22:02 +0100 Subject: [PATCH] refs #413, #416 Using Mixin::Index in more classes so that index "myself" yields correct derived type. (cherry picked from commit 2b7f7eb6b692a3464863ece86b30ea0b7efc2a1d) --- src/blackmisc/aviation/adfsystem.h | 4 +++- src/blackmisc/aviation/altitude.h | 4 +++- src/blackmisc/aviation/comsystem.h | 4 +++- src/blackmisc/aviation/heading.h | 4 +++- src/blackmisc/aviation/navsystem.h | 4 +++- src/blackmisc/aviation/track.h | 4 +++- src/blackmisc/geo/latitude.h | 5 +++-- src/blackmisc/geo/longitude.h | 4 +++- 8 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/blackmisc/aviation/adfsystem.h b/src/blackmisc/aviation/adfsystem.h index 9ac44ac08..b06c76cb8 100644 --- a/src/blackmisc/aviation/adfsystem.h +++ b/src/blackmisc/aviation/adfsystem.h @@ -25,13 +25,15 @@ namespace BlackMisc class BLACKMISC_EXPORT CAdfSystem : public CModulator, public Mixin::MetaType, - public Mixin::JsonOperators + public Mixin::JsonOperators, + public Mixin::Index { public: //! Base type using base_type = CModulator; BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAdfSystem) + BLACKMISC_DECLARE_USING_MIXIN_INDEX(CAdfSystem) //! Default constructor CAdfSystem() = default; diff --git a/src/blackmisc/aviation/altitude.h b/src/blackmisc/aviation/altitude.h index 5faafbcfc..83a8662b4 100644 --- a/src/blackmisc/aviation/altitude.h +++ b/src/blackmisc/aviation/altitude.h @@ -33,7 +33,8 @@ namespace BlackMisc public Mixin::DBusByTuple, public Mixin::JsonByTuple, public Mixin::String, - public Mixin::Icon + public Mixin::Icon, + public Mixin::Index { 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 diff --git a/src/blackmisc/aviation/comsystem.h b/src/blackmisc/aviation/comsystem.h index 59293c46b..0c9155af6 100644 --- a/src/blackmisc/aviation/comsystem.h +++ b/src/blackmisc/aviation/comsystem.h @@ -24,13 +24,15 @@ namespace BlackMisc class BLACKMISC_EXPORT CComSystem : public CModulator, public Mixin::MetaType, - public Mixin::JsonOperators + public Mixin::JsonOperators, + public Mixin::Index { public: //! Base type using base_type = CModulator; BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CComSystem) + BLACKMISC_DECLARE_USING_MIXIN_INDEX(CComSystem) //! Channel spacing frequency enum ChannelSpacing diff --git a/src/blackmisc/aviation/heading.h b/src/blackmisc/aviation/heading.h index 2b8733b9e..358775b3e 100644 --- a/src/blackmisc/aviation/heading.h +++ b/src/blackmisc/aviation/heading.h @@ -32,7 +32,8 @@ namespace BlackMisc public Mixin::HashByTuple, public Mixin::DBusByTuple, public Mixin::JsonByTuple, - public Mixin::String + public Mixin::String, + public Mixin::Index { 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 diff --git a/src/blackmisc/aviation/navsystem.h b/src/blackmisc/aviation/navsystem.h index f486d23f1..eea59e198 100644 --- a/src/blackmisc/aviation/navsystem.h +++ b/src/blackmisc/aviation/navsystem.h @@ -24,13 +24,15 @@ namespace BlackMisc class BLACKMISC_EXPORT CNavSystem : public CModulator, public Mixin::MetaType, - public Mixin::JsonOperators + public Mixin::JsonOperators, + public Mixin::Index { public: //! Base type using base_type = CModulator; BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CNavSystem) + BLACKMISC_DECLARE_USING_MIXIN_INDEX(CNavSystem) //! Default constructor CNavSystem() = default; diff --git a/src/blackmisc/aviation/track.h b/src/blackmisc/aviation/track.h index c09d38d97..d497df197 100644 --- a/src/blackmisc/aviation/track.h +++ b/src/blackmisc/aviation/track.h @@ -33,7 +33,8 @@ namespace BlackMisc public Mixin::HashByTuple, public Mixin::DBusByTuple, public Mixin::JsonByTuple, - public Mixin::String + public Mixin::String, + public Mixin::Index { 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 diff --git a/src/blackmisc/geo/latitude.h b/src/blackmisc/geo/latitude.h index f04395a21..9fbd4de61 100644 --- a/src/blackmisc/geo/latitude.h +++ b/src/blackmisc/geo/latitude.h @@ -13,7 +13,6 @@ #define BLACKMISC_GEO_LATITUDE_H #include "blackmisc/blackmiscexport.h" -#include #include "blackmisc/geo/earthangle.h" namespace BlackMisc @@ -26,7 +25,8 @@ namespace BlackMisc public CEarthAngle, public Mixin::MetaType, public Mixin::String, - public Mixin::DBusOperators + public Mixin::DBusOperators, + public Mixin::Index { 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 diff --git a/src/blackmisc/geo/longitude.h b/src/blackmisc/geo/longitude.h index 3c6a578e0..e97ecf921 100644 --- a/src/blackmisc/geo/longitude.h +++ b/src/blackmisc/geo/longitude.h @@ -25,7 +25,8 @@ namespace BlackMisc public CEarthAngle, public Mixin::MetaType, public Mixin::String, - public Mixin::DBusOperators + public Mixin::DBusOperators, + public Mixin::Index { 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