Commit Graph

80 Commits

Author SHA1 Message Date
Klaus Basan
a725ce2181 refs #478 refs #488, utils / free functions
* seed for random numbers per thread
* added function to get all user metatypes as string
* added new read file function per path/name
* removed DBus operators for pixmap
* JSON operators for byte array
* util function for JSON string
2015-11-19 21:03:23 +00:00
Mathew Sutcliffe
47cac09e81 refs #437 Removed toQVariant and convertFromQVariant. 2015-05-31 17:21:17 +01:00
Klaus Basan
e04ada3a7c refs #437, remove convertFromCVariant 2015-05-31 01:31:09 +02:00
Roland Winklmeier
e4f2c9e88a Replace occurrences of CVariant::toCVariant() with CVariant::from() 2015-05-30 16:59:51 +02:00
Mathew Sutcliffe
b6f8654312 refs #413 Doxygen fixes.
(cherry picked from commit da107e6c5a90744c02bb61bc6be6ec026081b409)
2015-05-12 20:46:32 +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
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
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
bfbfab5304 refs #413 Moved "maybe" functions into a dedicated class Private::MetaTypeHelper. 2015-05-12 20:36:01 +01:00
Klaus Basan
afdf8eccad refs #411, MS diff to reduce DBus signature length 2015-05-12 20:35:54 +01:00
Roland Winklmeier
a089d3641d refs #403 add BlackMisc shared library build 2015-05-05 21:34:19 +02:00
Roland Winklmeier
64cd22b3a3 refs #403 reimplement maybe methods with type dependent templates 2015-05-05 21:34:03 +02:00
Roland Winklmeier
3c077ef579 Workaround gcc 4.7 error 2015-03-29 16:33:11 +02:00
Mathew Sutcliffe
9977d97a67 refs #356 Renamed CValueObjectStdTuple to CValueObject. 2015-03-27 23:03:25 +00:00
Mathew Sutcliffe
73f135fa5b refs #356 Streaming ops for QJsonObject: value in pair should be a reference, to avoid unnecessary copying and object slicing. 2015-03-27 19:08:54 +00:00
Mathew Sutcliffe
a5e6b31c0f refs #356 Update remaining CValueObject derived classes to use CValueObjectStdTuple instead. 2015-03-27 19:08:53 +00:00
Mathew Sutcliffe
31c33b4b8d refs #356 Removed CValueObject and expanded CValueObjectStdTuple to compensate.
* Involves rearranging some header includes to break cyclic include dependencies,
* Adding a new, simple base class CEmpty,
* Removing any remaining polymorphic uses of CValueObject with templates,
* Adding a new trait for use with enable_if to restrict templates to work only with value objects,
* Replacing the polymorphic/runtime multimethod-based compare functions with static/compile-time compare functions.
2015-03-27 19:08:51 +00:00
Mathew Sutcliffe
1340cec049 refs #356 Extended CValueObjectStdTuple with policy for property indexing. 2015-03-27 19:08:50 +00:00
Mathew Sutcliffe
50bf5690f9 refs #356 Moved CPropertyIndexVariantMap/CValueObject operators from CValueObject to CPropertyIndexVariantMap. 2015-03-27 19:08:48 +00:00
Mathew Sutcliffe
6ebe4913f6 refs #356 Removed IsQuantity trait, no longer used. 2015-03-27 19:08:46 +00:00
Mathew Sutcliffe
f23b3da1ae refs #356 parseFromString is public in derived classes, so it should be public in the base class. 2015-03-27 19:08:45 +00:00
Mathew Sutcliffe
599068e25b refs #247 Removed code which is no longer used. 2014-12-13 01:42:02 +00:00
Mathew Sutcliffe
48f04a4750 refs #247 Using CVariant in property index system. 2014-12-13 01:41:58 +00:00
Mathew Sutcliffe
befa5892a5 refs #247 CValueObject: Added missing convertFromCVariant method to complement toCVariant. 2014-12-13 01:41:54 +00:00
Mathew Sutcliffe
155b957cee refs #247 CVariant can inherit from CValueObjectStdTuple.
But if valueobject.h includes variant.h then it would create a circular dependency.
2014-12-13 01:41:49 +00:00
Mathew Sutcliffe
c5b463fafb refs #247 Created a facility to register our own custom metatype metadata. 2014-12-13 01:41:46 +00:00
Mathew Sutcliffe
57b2a6b588 refs #247 Removed methods which were missed in refs #345. 2014-12-13 01:38:45 +00:00
Mathew Sutcliffe
2b9d4098d4 refs #345 Extending CValueObjectStdTuple with policy classes to enable it to be used by classes which have different requirements. 2014-11-10 20:45:07 +00:00
Mathew Sutcliffe
79e401887c refs #345 A second template parameter in CValueObjectStdTuple allows to select the base class, for inheritance hierarchies. 2014-11-10 20:44:36 +00:00
Mathew Sutcliffe
8f7c10f306 refs #345 Symmetric equality operators complete the original implementation of CValueObjectStdTuple. 2014-11-10 20:43:33 +00:00
Mathew Sutcliffe
798b198d4e refs #345 Style and doxygen. 2014-11-10 20:42:31 +00:00
Klaus Basan
7304d8bd3e refs #325, name variant pair allows test for existing values
* equal value updates can be skipped
* equalsQVariant in CValueObject
* resizing parameter for views
2014-10-07 13:10:43 +02:00
Klaus Basan
ef5f5bde0f Formatting, new icons, minor tweaks 2014-10-07 13:10:37 +02:00
Klaus Basan
4b50134d2a refs #325, refs #330 fixed apply method to return list of changed properties
* changed CValueObject apply
* created CIndexPropertyList
* renamed CIndexVariantMap to CPropertyIndexVariantMap
2014-10-07 13:10:33 +02:00
Klaus Basan
6aba823f4f refs #327, CRTP for CValueObject classes
* using toMetaTuple, no jsonMembers function
* no un/equal operator as discussed
2014-09-11 18:34:27 +02:00
Klaus Basan
a6ebfc0e0b Bug fixes and improvements for PropertyIndex discovered during refs #319, mainly contributing to refs #314
* Start index 10 instead 0 for CValueObject (easier to detect bugs)
* Fixed wrong indexes
* Asserts in CPropertyIndex
* Used Icon instead of QPixpmap with indexes, icons are sortable and have a tooltip
* Removed redundant toQVariant methods
2014-09-04 01:38:10 +02:00
Klaus Basan
40b428a315 refs #314, renamed convertFromQVariant, convertFromJson
discussion: https://dev.vatsim-germany.org/issues/314#note-19
2014-08-24 02:47:16 +02:00