subsurface/qt-models
Berthold Stoeger 7c9f46acd2 Core: remove MAX_CYLINDERS restriction
Instead of using fixed size arrays, use a new cylinder_table structure.
The code copies the weightsystem code, but is significantly more complex
because cylinders are such an integral part of the core.

Two functions to access the cylinders were added:
get_cylinder() and get_or_create_cylinder()
The former does a simple array access and supposes that the cylinder
exists. The latter is used by the parser(s) and if a cylinder with
the given id does not exist, cylinders up to that id are generated.

One point will make C programmers cringe: the cylinder structure is
passed by value. This is due to the way the table-macros work. A
refactoring of the table macros is planned. It has to be noted that
the size of a cylinder_t is 64 bytes, i.e. 8 long words on a 64-bit
architecture, so passing on the stack is probably not even significantly
slower than passing as reference.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-11-09 19:19:04 +01:00
..
cleanertablemodel.cpp Cleanup: return directly from data() methods 2019-06-19 13:11:10 -07:00
cleanertablemodel.h Icons: cache small edit icon 2019-04-12 18:19:07 +03:00
CMakeLists.txt Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
completionmodels.cpp Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
completionmodels.h Add SPDX header to Qt models 2017-04-29 13:32:55 -07:00
cylindermodel.cpp Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
cylindermodel.h Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
divecomputerextradatamodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
divecomputerextradatamodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
divecomputermodel.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveimportedmodel.cpp Import: remove DiveImportedModel::lastIndex 2019-10-02 08:04:49 -07:00
diveimportedmodel.h Import: remove DiveImportedModel::lastIndex 2019-10-02 08:04:49 -07:00
divelistmodel.cpp Mobile: correctly update filter text and update all three models 2019-11-08 20:50:05 +01:00
divelistmodel.h Mobile: add second filter proxy model for dive list 2019-11-08 20:50:05 +01:00
divelocationmodel.cpp Location model: treat invalid indexes gracefully 2019-08-10 09:55:11 -07:00
divelocationmodel.h Dive sites: show dives at selected dive sites 2019-04-12 18:19:07 +03:00
divepicturemodel.cpp Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
divepicturemodel.h Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
diveplannermodel.cpp Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
diveplannermodel.h Planner: copy deco state before passing it to worker thread 2019-10-20 16:20:58 +02:00
diveplotdatamodel.cpp Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
diveplotdatamodel.h Cleanup: free plot data on exit 2019-11-09 19:19:04 +01:00
divesiteimportmodel.cpp Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
divesiteimportmodel.h Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
divetripmodel.cpp Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
divetripmodel.h Dive site: don't emit divesChanged signals when editing dive site 2019-09-06 11:48:47 -07:00
filtermodels.cpp Cleanup: NULL check pointer before dereferencing 2019-10-27 07:35:46 -07:00
filtermodels.h Filter: add reference counting for dive-site mode 2019-05-11 12:06:19 -07:00
gpslistmodel.cpp Cleanup: turn GpsListModel into standard singleton 2019-10-04 09:19:10 -07:00
gpslistmodel.h Cleanup: Make constructor of singletons private 2019-10-04 09:19:10 -07:00
maplocationmodel.cpp Cleanup: remove redundant Roles:: qualifier in maplocationmodel.cpp 2019-09-06 11:48:47 -07:00
maplocationmodel.h Cleanup: remove default constructor from MapLocation 2019-09-06 11:48:47 -07:00
messagehandlermodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
messagehandlermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
models.cpp Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
models.h Cleanup: remove includes from qt-models/models.h 2019-07-18 05:42:55 -07:00
tankinfomodel.cpp Cleanup: implement proper Qt-model semantics in TankInfoModel 2019-04-29 13:06:39 -07:00
tankinfomodel.h Cleanup: remove biggerString() functions 2019-04-29 13:06:39 -07:00
treemodel.cpp Cleanup: make DiveTripModel a global object 2018-09-01 07:48:43 -07:00
treemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
weightmodel.cpp Cleanup: add missing break statements 2019-10-27 07:35:46 -07:00
weightmodel.h Undo: don't send signals batched by trip 2019-06-23 20:08:46 +02:00
weightsysteminfomodel.cpp Cleanup: implement proper Qt-model semantics in WeightInfoModel 2019-04-29 13:06:39 -07:00
weightsysteminfomodel.h Cleanup: implement proper Qt-model semantics in WeightInfoModel 2019-04-29 13:06:39 -07:00
yearlystatisticsmodel.cpp Core: dynamically allocate the result of get_gas_used() 2019-11-09 19:19:04 +01:00
yearlystatisticsmodel.h Show average max depth in yearly statistics 2018-12-17 12:18:26 +01:00