subsurface/commands
Berthold Stoeger ad540ce5e8 undo: generate fieldId() virtual functions by templates
Most edit commands derive from a common base class EditBase,
which declares a fieldId() virtual function that has to be
defined by the child classes. This is tedious. For some reason
the C++ makers refuse to allow "virtual member constants".

To make the code somewhat less verbose, create these functions
by a template. Of course, we could introduce the template
parameter directly in the EditBase class. However, that would
mean that the code in this base class is generated for every
single undo command. I'm not sure we want that.

This should als make it somewhat less tedious to create new
edit commands by copy & paste.

We could do the same for the fieldName. However, that is more
complicated for two reasons:

1) For historic reasons(?) C++ doesn't allow for string literals
   as template parameters. Therefore, arrays-of-string would have
   to be defined, which is not very nice.
2) We would have to make sure that these strings are recognized
   by Qt's translation machinery and use the QT_TRANSLATE_NOOP
   macro, which makes the whole thing even less attractive.
Maybe later.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-03-31 21:53:19 +02:00
..
CMakeLists.txt build-system: remove pointless distinction between desktop and mobile 2020-03-10 09:25:57 -07:00
command.cpp Undo: implement invalidate-dive command 2020-03-20 15:20:44 -07:00
command.h Undo: implement invalidate-dive command 2020-03-20 15:20:44 -07:00
command_base.cpp undo infrastructure: improve undo command texts 2020-03-10 09:25:57 -07:00
command_base.h undo infrastructure: improve undo command texts 2020-03-10 09:25:57 -07:00
command_divelist.cpp translations: qualify tr function to get correct context 2020-03-22 12:02:48 -07:00
command_divelist.h Cleanup: use getDiveSelection() for shifting time 2020-03-06 10:00:13 +01:00
command_divesite.cpp translations: qualify tr function to get correct context 2020-03-22 12:02:48 -07:00
command_divesite.h undo: implement ApplyGPSFixes undo command 2020-03-09 12:41:57 -07:00
command_edit.cpp undo: generate fieldId() virtual functions by templates 2020-03-31 21:53:19 +02:00
command_edit.h undo: generate fieldId() virtual functions by templates 2020-03-31 21:53:19 +02:00
command_edit_trip.cpp translations: qualify tr function to get correct context 2020-03-22 12:02:48 -07:00
command_edit_trip.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00