summaryrefslogtreecommitdiffstats
path: root/subsurface-mobile-main.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-03-21 17:36:58 +0100
committerGravatar bstoeger <32835590+bstoeger@users.noreply.github.com>2020-03-31 21:53:19 +0200
commitad540ce5e8f928c69ba8061dd9886bdb2936ed61 (patch)
tree285ed2e4c6f5c4d399db04cb7fc1ecfd58524742 /subsurface-mobile-main.cpp
parentd13f73001b83501a0596bb6cdf7cc998d910134d (diff)
downloadsubsurface-ad540ce5e8f928c69ba8061dd9886bdb2936ed61.tar.gz
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>
Diffstat (limited to 'subsurface-mobile-main.cpp')
0 files changed, 0 insertions, 0 deletions