subsurface/backend-shared
Berthold Stoeger 284582d2e8 core: turn divecomputer list into std::vector<>
Since struct divecomputer is now fully C++ (i.e. cleans up
after itself), we can simply turn the list of divecomputers
into an std::vector<>. This makes the code quite a bit simpler,
because the first divecomputer was actually a subobject.

Yes, this makes the common case of a single divecomputer a
little bit less efficient, but it really shouldn't matter.
If it does, we can still write a special std::vector<>-
like container that keeps the first element inline.

This change makes pointers-to-divecomputers not stable.
So always access the divecomputer via its index. As
far as I can tell, most of the code already does this.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2024-08-13 19:28:30 +02:00
..
CMakeLists.txt ui: create a RoundRectItem class 2021-01-03 13:56:05 -08:00
exportfuncs.cpp core: turn divecomputer list into std::vector<> 2024-08-13 19:28:30 +02:00
exportfuncs.h cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
plannershared.cpp Make MND display depend on O2 narcotic preference 2020-07-11 10:37:49 -07:00
plannershared.h Cleanup: rename plannerShared to PlannerShared 2020-02-04 02:17:52 +01:00
README build-system: add new root dir backend-shared 2019-12-24 08:44:23 +09:00
roundrectitem.cpp statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
roundrectitem.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00

This directory contains shared UI backend code shared between
the desktop version and the mobile version.

The backend code sits between the actual functionality, which
are implemented in core and qt-models, and the UI/QML which
are implemented in desktop-widgets and mobile-widgets.

The idea of backend is not to duplicate code, and at the same time
limit the UI and QML to only deal with real GUI.

The first implementations for backend are "export" and "diveplanner".