Commit Graph

1934 Commits

Author SHA1 Message Date
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