Mathew Sutcliffe
27ce1eb914
Added toJson/convertFromJson support for CVariant containing QDateTime, QDate, QTime.
...
(cherry picked from commit af7f032daf4e5031a881bfb5025734d38817ed97)
2015-05-12 20:46:31 +01:00
Mathew Sutcliffe
f631f51210
refs #413 , #416 Using Mixin::Index in more classes so that index "myself" yields correct derived type.
...
(cherry picked from commit 2b7f7eb6b692a3464863ece86b30ea0b7efc2a1d)
2015-05-12 20:46:30 +01:00
Mathew Sutcliffe
dfe42e1ce7
refs #413 , #416 Implemented base_type fallthrough in Mixin::Index so it can be used by more classes.
...
(cherry picked from commit d97775a232b007061cbfa85b451b0be569127696)
2015-05-12 20:46:29 +01:00
Mathew Sutcliffe
84800c190a
refs #413 , #403 Removed default constructors of CAvionicsBase and CPhysicalQuantity, not needed.
...
Conflicts:
src/blackmisc/aviation/avionicsbase.h
2015-05-12 20:46:21 +01:00
Mathew Sutcliffe
2f66785c63
refs #413 Doxygen.
2015-05-12 20:38:00 +01:00
Mathew Sutcliffe
5a91d761c2
refs #413 Breaking circular dependencies by moving mixin classes from valueobject.h to the files where they fit best:
...
* DBus mixins moved to dbus.h
* Json mixins moved to json.h
* Icon mixin moved to icon.h
* Comparison mixins moved to compare.h
* Hash and string mixins moved to blackmiscfreefunctions.h
* Index mixin moved to propertyindexvariantmap.h
* MetaType mixins moved to variant.h
* registerMetaValueType moved to variant.h
* valueobject_private.h renamed to variant_private.h
2015-05-12 20:37:59 +01:00
Mathew Sutcliffe
9cdacf8d86
refs #413 To signal when contained object doesn't support an operation, throw exception in CValueObjectMetaInfo and catch in CVariant.
2015-05-12 20:37:58 +01:00
Mathew Sutcliffe
38cfebc55c
refs #413 Fixed TupleHelper::hash() using the wrong overload of qHash() found by ADL.
2015-05-12 20:37:57 +01:00
Mathew Sutcliffe
9867b4a6df
refs #413 Extend Private::CValueObjectMetaInfo with more fallback helpers, and extend CVariant with toIcon method.
2015-05-12 20:37:56 +01:00
Mathew Sutcliffe
097522cfa5
refs #413 Moved traits BaseOf and MetaBaseOf into dedicated header.
2015-05-12 20:37:55 +01:00
Mathew Sutcliffe
530ba11747
refs #413 Removed TemplateIsBaseOf, no longer needed.
2015-05-12 20:37:54 +01:00
Mathew Sutcliffe
36d116b4e9
refs #413 Removed one overload of CRange::findBy and one of CSequence::applyIf; they were never used and they caused a circular dependency.
...
Templatized another overload of applyIf to break a circular dependency.
2015-05-12 20:37:53 +01:00
Mathew Sutcliffe
aeb95ebb30
refs #413 Removed all policy classes.
2015-05-12 20:37:52 +01:00
Mathew Sutcliffe
68ebcd7b8d
refs #413 Macros to ease the task of disambiguating inherited members when using mixins in an inheritance hierarchy.
2015-05-12 20:37:51 +01:00
Mathew Sutcliffe
36a2e1a2bb
refs #413 All value classes which had custom policies shall inherit from mixins instead.
2015-05-12 20:37:50 +01:00
Mathew Sutcliffe
9becc1c666
refs #413 CVariant and CPropertyIndexVariantMap equality operator templates support any metatype-registered class, not just CValueObject subclasses.
2015-05-12 20:37:49 +01:00
Mathew Sutcliffe
9f98943c1f
refs #413 Stream operator template of CLogPattern supports any class with a toQString method, not just CValueObject subclasses.
2015-05-12 20:37:48 +01:00
Mathew Sutcliffe
6b40cde862
refs #413 Make all value class methods non-virtual.
...
toCVariant() and convertFromCVariant() are now deprecated,
use CVariant::from() and CVariant::to() instead.
2015-05-12 20:37:47 +01:00
Mathew Sutcliffe
fe08792bef
refs #413 Decomposed icon-related functions of CValueObject into Mixin::Icon.
2015-05-12 20:37:46 +01:00
Mathew Sutcliffe
75f46068e1
refs #413 Decomposed property indexing functions of CValueObject into Mixin::Index.
2015-05-12 20:37:45 +01:00
Mathew Sutcliffe
9b58959f9e
refs #413 Decomposed stringification operations of CValueObject into Mixin::String.
2015-05-12 20:37:44 +01:00
Mathew Sutcliffe
b64ae55a86
refs #413 Access control of convertToQString changed from protected to public.
2015-05-12 20:37:43 +01:00
Mathew Sutcliffe
97d83e5e41
refs #413 Decomposed comparison operations of CValueObject into mixins.
2015-05-12 20:37:42 +01:00
Mathew Sutcliffe
64e21b0a46
refs #413 Decomposed json-related functions of CValueObject into Mixin::JsonByTuple.
2015-05-12 20:37:41 +01:00
Mathew Sutcliffe
30cc7048ac
refs #413 Decomposed dbus-related functions of CValueObject into Mixin::DBusByTuple.
2015-05-12 20:37:31 +01:00
Mathew Sutcliffe
2f55caf7c6
refs #413 Decomposed hash-related functions of CValueObject into Mixin::HashByTuple.
2015-05-12 20:36:04 +01:00
Mathew Sutcliffe
d9faa031d2
refs #413 Decomposed metatype-related functions of CValueObject into a dedicated class Mixin::MetaType,
...
bypassing the old Policy::MetaType classes. The ultimate intention is to decompose all the aspects of
CValueObject into separate mixins in this manner, and have derived classes inherit from the mixins directly.
Splitting the responsibilities of CValueObject into separate classes will reduce the coupling between different
cross-cutting concerns and allow us to untangle the web of interdependencies and greatly simplify things.
2015-05-12 20:36:03 +01:00
Mathew Sutcliffe
6fd3c78d33
refs #413 Removed some operators of CEarthAngle which were not used, not needed, and not working.
2015-05-12 20:36:02 +01:00
Mathew Sutcliffe
bfbfab5304
refs #413 Moved "maybe" functions into a dedicated class Private::MetaTypeHelper.
2015-05-12 20:36:01 +01:00
Mathew Sutcliffe
03707db182
refs #413 Moved iconByIndex method from CIconList to CIcon, to reduce coupling.
2015-05-12 20:36:00 +01:00
Mathew Sutcliffe
d476c9b709
Fixed copyright notices.
2015-05-12 20:36:00 +01:00
Mathew Sutcliffe
89b7d50b23
Fixed include guard in wrong place.
2015-05-12 20:35:59 +01:00
Mathew Sutcliffe
12440dede5
Fixed include order.
2015-05-12 20:35:57 +01:00
Mathew Sutcliffe
81ed0188d7
Fixed missing default argument in virtual function override.
2015-05-12 20:35:55 +01:00
Klaus Basan
afdf8eccad
refs #411 , MS diff to reduce DBus signature length
2015-05-12 20:35:54 +01:00
Mathew Sutcliffe
210fb5a530
refs #422 , #408 Fixed illegal character in dbus interface name which was previously missed.
2015-05-09 23:31:18 +01:00
Roland Winklmeier
88cb16321b
Workaround issue in blackinput.pro
2015-05-06 16:21:04 +02:00
Roland Winklmeier
51c1566824
Fix Mac OSX build issues
2015-05-06 15:55:14 +02:00
Roland Winklmeier
647c5c2de8
doxygen
2015-05-05 22:27:31 +02:00
Roland Winklmeier
d4d060f4c2
refs #403 enable shared build by default
2015-05-05 21:34:33 +02:00
Roland Winklmeier
a3cfcf58c8
refs #403 add BlackGui shared library build
2015-05-05 21:34:30 +02:00
Roland Winklmeier
a13d90ada4
refs #403 add BlackCore shared library build
2015-05-05 21:34:28 +02:00
Roland Winklmeier
d14ecb3db5
refs #403 add BlackSound shared library build
2015-05-05 21:34:26 +02:00
Roland Winklmeier
9c81467fe9
refs #403 add BlackInput shared library build
2015-05-05 21:34:23 +02:00
Roland Winklmeier
d0302c275a
refs #403 workaround different extern template behaviour with MinGW
2015-05-05 21:34:21 +02:00
Roland Winklmeier
a089d3641d
refs #403 add BlackMisc shared library build
2015-05-05 21:34:19 +02:00
Roland Winklmeier
f75c81010d
refs #403 extern templates
2015-05-05 21:34:16 +02:00
Roland Winklmeier
38b00e06b3
refs #403 Add Policy::MetaType::None for base class templates
2015-05-05 21:34:14 +02:00
Roland Winklmeier
e5e8cf00ef
refs #403 use own sessionDBusServer method
...
This patch fixes a dependency between BlackCore and BlackMisc.
BlackMisc is the base library and cannot dependend on anything else.
2015-05-05 21:34:12 +02:00
Roland Winklmeier
b525e4b50f
refs #403 disable MSVC warning C4661
...
Warning text: "no suitable definition provided for explicit template
instantiation request".
We know what we are doing so it is safe to ignore this warning.
2015-05-05 21:34:10 +02:00