Commit Graph

75 Commits

Author SHA1 Message Date
Roland Winklmeier
b3c685f15f refs #341 fix redundantAssignment warning 2014-11-05 16:34:24 +01: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
Mathew Sutcliffe
39aa5e2f0a Fixed #326 wrong and unnecessary Q_DECLARE_METATYPE caused duplicate definitions of class template explicit specialization 2014-09-12 19:45:33 +01: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
e109d73ba2 refs #314, new propertyBy methods (nested indexes) 2014-08-24 02:46:59 +02:00
Klaus Basan
00a89fbbd7 refs #314, modulator based classes to latest style
* removed exceptions
* removed tryGet methods
* adjusted samples
2014-08-24 02:46:55 +02:00
Klaus Basan
3fb5087ea8 Renaming, header, Doxygen, formatting (during refs #314) 2014-08-24 02:45:52 +02:00
Roland Winklmeier
50b5e80057 refs #313 Remove any occurence of function or virtual keycode from CKeyboardKey(list)
Justification for native virtual key is, because its not cross platform.
2014-08-19 14:41:34 +02:00
Mathew Sutcliffe
bd02c74ea8 refs #290 using a CRange of iterator adaptors to return containers of keys and values from CDictionary without copying the elements 2014-07-13 20:30:19 +01:00
Klaus Basan
f989acb42e Removed validation by exception (no longer what we use) from com/xpdr 2014-07-04 22:56:50 +02:00
Mathew Sutcliffe
ef93477a82 CDictionary: fixed, enabled, and tested automatic selection of appropriate default implementation container.
refs #281
2014-07-04 11:41:44 +02:00
Roland Winklmeier
222a30eee9 CDictionary unit tests
refs #281
2014-07-04 11:41:44 +02:00
Klaus Basan
abd2d6d86d Some fixes / tweaks / Doxygen:
* helper method to detect disconnected state
* clear ATC info if disconnected or not available
* unit test for "finders"
* added Doxygen file
* formatting frequency in text message tabs
2014-06-28 18:01:54 +02:00
Klaus Basan
9ea1fd86ef Doxygen 2014-06-10 01:54:07 +02:00
Klaus Basan
421d2d5411 refs #233 Keyboard key/key list
* helper methods for keylist (key for function)
* new Hotkey function (toggle window on top)
* improved comparisons for key
* unit tests
2014-05-07 23:16:28 +02:00
Mathew Sutcliffe
894df23c50 refs #230 methods to combine and bisect containers 2014-05-06 18:13:20 +01:00
Klaus Basan
96200953ea refs #212,improved tests and samples 2014-04-30 02:34:55 +02:00
Klaus Basan
319bf6d7e4 refs #214, added test for variant map hash. Improved samples for BlackSim. 2014-04-21 17:42:20 +02:00
Klaus Basan
2fd80694a6 Minor tweaks around formatting, comments, renaming, warnings 2014-04-21 17:42:12 +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
e474671ead refs #207, renamed CValueMap to CIndexVariantMap.
* The map will be used with CSimulaorInfo to transfer a variable number of setting information about the flight simulator. It is being used, because it is already DBus and tupel compliant. The new name better fits its purpose.
* Add == operator for CIndexVariantMap (ambiguity error with tupels)
2014-04-17 00:10:04 +02:00
Mathew Sutcliffe
c847237505 Using nested tie to workaround implementations with a maximum tuple size of 10.
refs #182
2014-03-28 17:07:36 +00:00
Roland Winklmeier
c02e2732ff Enable auto tests for test_blackmisc and test_blackcore
make check will run them automatically now.
2014-03-27 14:52:43 +01:00
Roland Winklmeier
f1bf03067b Test executables should return instead of entering the event loop. The
test cases itself will run their own event loop anyway.
2014-03-27 14:51:58 +01:00
Klaus Basan
d4f1221665 refs #197, unit test and preliminary fix for nullUnit comparison 2014-03-27 01:16:14 +01:00
Klaus Basan
57435b2a73 refs #192, some housekeeping during the JSON introduction
* removed unused tryGet methods for transponder / COM
* adjusted unit tests
2014-03-26 20:18:47 +01:00
Roland Winklmeier
5cac09f625 Fixed issues arised after merge
- wrong namespace in newly created headers
- wrong includes
- Fixed members in CKeyboardKey
- Fixed CKeyboardKey unit test
2014-03-11 22:24:25 +01:00
Roland Winklmeier
e978b6dee1 Central build configuration
* config.pri: Build configuration version
* library.pri project library dependencies
* build.pri: compiler/qmake configuration

refs #145
2014-03-11 22:01:31 +01:00
Roland Winklmeier
f3076372d1 Add CKeyboardKey unit tests to BlackMisc testcases
refs #83
2014-03-11 21:50:24 +01:00
Klaus Basan
6a24626c79 refs #146, Minor changes and cleanup tasks
* CCallsign::getCallsignPronounced -> getTelephonyDesignator
* CAircraft , comments renamed to 1 line style //!
* CAtcStation, comments renamed to 1 line style //! and added method hasValidFrequency()
* CAvioTransponder changed formatting
* CUser, comments renamed to 1 line style //!
* CCallsign, m_callsignPronounced -> m_telephonyDesignator , comments renamed to 1 line style //!
2014-02-26 03:44:31 +01:00
Klaus Basan
34c75c7505 Fixed unit tests, only minor changes 2014-02-05 23:16:17 +00:00
Klaus Basan
6962a764be Regression test for removeIf, used to identify issue #114 2014-02-05 23:15:53 +00:00
Klaus Basan
e728a4ab50 Latest container changes 2014-01-30 21:50:01 +01:00
Mathew Sutcliffe
e118c2fc5e fixed GCC warning relating to an assignment being used as a conditional expression 2014-01-29 23:08:56 +00:00
Mathew Sutcliffe
1e153b45f0 refs #108, added find methods in CSequence and CCollection;
CSequence uses std::find, and CCollection uses the more efficient find method of the implementation type,
which requires that the implementation type be an associative container like QSet or std::set.
Modified CContainerBase::contains to use these new find methods.
2014-01-28 18:25:14 +00:00
Klaus Basan
dc38565a8d Added unit test for callsign list, enabled unit tests 2014-01-27 16:10:02 +01:00
Klaus Basan
0e7c71f91b Unit test for callsign list 2014-01-26 23:14:43 +01:00
Klaus Basan
0bdccd34c7 Unit test: Callsign test 2014-01-25 01:40:20 +01: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
6a9065b37f Container classes: removed templated ctors and added static methods to replace them.
This resolves an issue with infinite recursion and stack overflows in MSVC2010.
See also http://connect.microsoft.com/VisualStudio/feedback/details/522094/
2014-01-11 01:32:24 +00:00
Klaus Basan
51cbd2a394 all app projects need QT+=network used by the core for downloading ATC bookings
refs #81
2014-01-09 01:15:57 +00:00
Klaus Basan
bb61654a29 style and consistency:
* rename CStatusMessages to CStatusMessageList
* rename NetworkVatlib to CNetworkVatlib
* replace all occurrences of Realname with RealName (correct camel case)
* CSequence method corresponding to CList::append is push_back
* don't compile the qdbuscpp2xml metadata plugin by default
* CAircraftIcao string members always trimmed and capitalized
* added CComSystem::roundTo25KHz
* using epsilon comparison in a couple of places

refs #81
2014-01-09 01:15:56 +00:00
Klaus Basan
ab17dabd5b samples and tests for all kbatclist branch changes
refs #81
2014-01-08 01:00:28 +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
978f3c88e5 style changes and removals of typeid
refs #81
2014-01-08 00:57:43 +00:00
Mathew Sutcliffe
e12d7fbd7a Had a bit of spare time so tried out the policy design pattern I've been learning about, applying it to PQ converters.
Some interesting results:
* Minor simplification of PQ converters and unit ctors; may not seem like much, but I think it enables possible future simplifications of a similar kind.
* CMeasurementPrefix is gone, no longer needed. Now prefixes are applied at the template stage.
* Apart from that, PQs public API is unchanged.
* Discovered that ft/s^2 conversion factor was wrong: fixed.
2013-09-15 22:01:11 +01:00
Mathew Sutcliffe
74452599bf disambiguate metric tonne (1,000kg) and US ton (2,000lb) 2013-08-22 19:59:41 +01:00
Mathew Sutcliffe
9b239f12aa fixes for MinGW, including adding CONFIG += c++11 in all qmake project files 2013-08-19 18:46:37 +01:00
Mathew Sutcliffe
cec9de5cc5 use enums instead of bools to distinguish true/magnetic headings and tracks and MSL/AGL altitudes 2013-08-19 18:11:54 +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