Commit Graph

64 Commits

Author SHA1 Message Date
Mathew Sutcliffe
48f04a4750 refs #247 Using CVariant in property index system. 2014-12-13 01:41:58 +00:00
Mathew Sutcliffe
16e285cecd refs #247 Style. 2014-12-13 01:38:53 +00:00
Mathew Sutcliffe
f219d290f1 refs #345 Third and final wave of value classes using the CValueObjectStdTuple CRTP class template, with policy classes. 2014-11-10 20:45:18 +00:00
Mathew Sutcliffe
798b198d4e refs #345 Style and doxygen. 2014-11-10 20:42:31 +00: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
Klaus Basan
290abe3693 refs #314, fromQVariant / location of toQVariant
* renamed fromQVariant to convertFromQVariant, the "from" methods imply the object is changed (fromJson, fromString ..)
* implemented fromQVariant - changing the object by QVariant
* moved toQVariant into PQ template
* free function setFromQVariant
2014-08-24 02:47:05 +02:00
Klaus Basan
f4a94aa8ff refs #314, new propertyBy methods (nested indexes) for PQs 2014-08-24 02:47:00 +02:00
Klaus Basan
3fb5087ea8 Renaming, header, Doxygen, formatting (during refs #314) 2014-08-24 02:45:52 +02:00
Klaus Basan
ae5c677cfe Formatting: Icon names, headers, Doxygen 2014-08-05 23:31:39 +02:00
Klaus Basan
af17c2c4e6 refs #289, negative time values supported, required for time offset 2014-07-11 01:20:57 +02:00
Klaus Basan
8c792a61e3 refs #219, endless recursion in parsing
* Fixes 2, https://dev.vatsim-germany.org/boards/22/topics/1792?r=1801#message-1801
* https://dev.vatsim-germany.org/issues/219#note-5
2014-06-09 14:44:17 +02:00
Klaus Basan
226edda23b refs #219, load flight plan
* fixed issue with parsing, only default locale is used. Now user's local possible
* allow to load FP for other callsigns as well (voice capabilities)
* Improved handling of CTime, inclusive bug fixes and time formatting
* Max. lengths for FP fields as const value (so we can change it if required)
* Load FP from GUI component
* Samples for PQ classes
* Adjusted depending classes (e.g. client)
2014-06-09 14:43:57 +02:00
Klaus Basan
b4615e8b75 refs #212, removed set method as of MS review
https://dev.vatsim-germany.org/issues/212#note-6
2014-04-30 00:56:57 +02:00
Klaus Basan
ccb3600c6f refs #212, methods for parsing values
* PQ, set by other PQ
* PQ, set NULL
* PQ, CPqTime, implemented parse to string
* CPqTime to QTime
2014-04-28 20:35:39 +02:00
Klaus Basan
adfeeba19d Formatting, comments, typos only 2014-04-28 20:35:38 +02:00
Mathew Sutcliffe
a4e3ac6f40 refs #197 fixing (hopefully) comparison between null quantities
and related rationalization of PQ comparison.
2014-04-17 00:32:41 +02:00
Klaus Basan
88fb9e8832 refs #192, enable value objects for JSON:
* from/toJson methods
* jsonMembers where applicable
2014-03-26 20:18:42 +01:00
Klaus Basan
a724f7ee91 refs #192, Doxygen and other cosmetic changes 2014-03-26 20:11:31 +01:00
Mathew Sutcliffe
8b1ef4345d refs #126 null unit infrastructure, a sentinel to mark an uninitialized or unused physical quantity 2014-03-26 13:20:53 +00:00
Mathew Sutcliffe
7dafb522e0 refs #91 doxygen cleanup 2014-02-18 18:32:40 +00:00
Mathew Sutcliffe
35e0c3e085 refs #91 & #124 using override and \copydoc throughout blackmisc 2014-02-17 16:37:04 +00:00
Roland Winklmeier
08302c23bb Remove obsolete logging framework
This changes removes classes of the obsolete logging frame work and
all its references. It was not used anywhere, but included in several
headers.
Had to add header QDateTime in some places, which was not correctly
included and now missing.

refs #90
2014-01-18 20:09:03 +01:00
Mathew Sutcliffe
f156916c0c A copy constructor is needed for CPhysicalQuantity to fix an MSVC2010 linker error introduced by the previous commit.
refs #84
2014-01-17 01:38:28 +00:00
Mathew Sutcliffe
db4c05dd9f refs #84 removed the CValueObject::compare method and added a friend function BlackMisc::compare to replace it.
The new compare is implemented using "multimethods" described in the book Advanced C++ Programming Styles and Idioms by James Coplien.

First, the isA method is used to determine which of the values being compared is the most general. (For example, CLength is more general than CAltitude.)
Then the compareImpl method is called on the most general value, with the other value as an argument.
If there is not a direct inheritance relation between the two values (or they are the same class) then the comparison is invalid and a assert is triggered.
2014-01-17 01:38:27 +00:00
Mathew Sutcliffe
a57e640398 generic type-erased container types CSequence and CCollection, including predicate-based algorithms
refs #81
2014-01-08 00:59:31 +00:00
Klaus Basan
a280d239e6 using hashes to perform comparisons between blackmisc value objects stored inside of QVariant
refs #81
2014-01-08 00:59:00 +00:00
Klaus Basan
ded6fc012e rename CStreamable to CValueObject
refs #81
2014-01-08 00:58:50 +00:00
Klaus Basan
978f3c88e5 style changes and removals of typeid
refs #81
2014-01-08 00:57:43 +00:00
Mathew Sutcliffe
3e0c38b921 API fix: CPhysicalQuantity::setValueSameUnit() is supposed to be public 2013-09-16 23:09:54 +01:00
Mathew Sutcliffe
a011bb18e6 fixed compile errors caused by inconsistencies between merged branches 2013-08-29 00:02:47 +01:00
Mathew Sutcliffe
21ca361bc1 removed operator= and copy ctor from classes where they only duplicated the behaviour of the default implementations that C++ generates automatically 2013-08-19 03:21:12 +01:00
Mathew Sutcliffe
a6f89ce9ea renamed CBaseStreamStringifier to CStreamable 2013-08-19 03:05:09 +01:00
Mathew Sutcliffe
da8ba9aac3 First major wave of PQ refactoring, including but not limited to:
* Default unit is more clearly stated in one place, not restated in many different places, and is not always the SI unit
* Converter strategy pattern in CMeasurementUnit, covering linear, affine, and different kinds of sexagesimal units
* General reorganization of CMeasurementUnit construction and CPhysicalQuantity methods, not removing any behvaiour
* Move duplicated method unitFromSymbol from derived classes into base class CMeasurementUnit
* For DBus, CPhysicalQuantity marshals both in its own unit and in the default unit
2013-08-19 03:05:08 +01:00
Mathew Sutcliffe
baa0ac147e remove integer quantities 2013-08-14 18:05:15 +01:00
Mathew Sutcliffe
a6756f2043 suppress/fix a few more GCC and MSVC warnings and errors 2013-08-14 18:05:12 +01:00
Mathew Sutcliffe
2c781e8b36 style fixes: mostly just things that make my eyes bleed :) 2013-08-13 22:29:48 +01:00
Klaus Basan
e6e6dea4cd More DBus tests 2013-08-06 13:56:15 +02:00
Klaus Basan
62591a750f Refactoring, renamed: convertToQString (old: stringForConvert) 2013-07-28 03:31:04 +02:00
Klaus Basan
a53ea0c5fd DBus: track, heading, transponder. Added I18N for track/heading, added further I18N keys. Of course not all I18N strings are translated yet. 2013-07-28 03:20:04 +02:00
Klaus Basan
40a97c3d82 Added I18N for PQs, initial version. Hence resource file and language files. Changed samplesphysicalquantities to check some I18N topics. 2013-07-27 20:23:23 +02:00
Klaus Basan
7316980a5c Enabled coordinates for DBus 2013-07-25 12:37:51 +02:00
Klaus Basan
9b2cb3b517 Shifted DBus operators to CBaseStreamStringifier, much easier to provide streaming - especially for derived classes.
Still required but unwanted overloaded DBus operator in aviomodulator.h - no compilation without them. Need to be removed.
Enabled more classes for DBus.
2013-07-24 02:20:32 +02:00
Klaus Basan
8b512ba818 DBus enabling of base classes plus sample for testing / show how to use them. Also qdbuscpp2xml plugin for blackmisc classes. 2013-07-22 14:33:50 +02:00
Klaus Basan
abfd72552b Removed template from basestreamstringifier as discussed in https://dev.vatsim-germany.org/boards/15/topics/497?r=503 2013-05-10 22:56:36 +02:00
Mathew Sutcliffe
e5afc2c627 made derived() private instead of protected in CRTP 2013-04-30 20:12:47 +01:00
Mathew Sutcliffe
a05b85135c replaced "clone" with "derived" in CRTP (more usual, more flexible, more clear in its intent, and avoids copying the object twice on compilers that don't optimise return by value) 2013-04-30 00:09:32 +01:00
Klaus Basan
c6426a0759 Move Math constants into class (to be consistent with other constants), tested against minGW / gcc 4.7.2 and fixed various issues (mainly initializer lists, unused variables). BlackMisc compiles now in MinGW, but still issues (especially with qDebug() friend methods) 2013-04-29 16:00:41 +02:00
Klaus Basan
c97ddc4e3b Polymorphic clone for CRT Pattern in templates (basically a static_cast for concrete initializations of template class) 2013-04-27 17:18:32 +02:00
Klaus Basan
5eac9be7d5 Unit tests for acceleration and more for vector 2013-04-25 20:21:04 +02:00
Klaus Basan
a31e405b6b Implemented commutative multiplications as friends in the templates, further test cases (unit tests), fixed Doxygen attributes, renamed test classes 2013-04-25 01:56:18 +02:00