Deprecated / Changes in SDK components

Create issue
Issue #14 new
M. Gronle created an issue

This issue should mainly collect minor things that should be changed, deleted... in any component belonging to the SDK. Only things should be listed that affect the binary compatibility of the SDK libraries, hence, the AddInInterface version number needs to be incremented.

Comments (12)

  1. M. Gronle reporter
    inline int containsWarning()
    inline int containsError()
    inline int containsWarningOrError()
    inline const char *errorMessage()

    in retVal.h are marked as deprecated and can be removed since they can be marked with const. Their const-versions have been added in a8bc533 without affecting the current binary compatibility

    This comment was implemented in commit 53413d3

  2. M. Gronle reporter

    The destructors of AddInDataIO and AddInActuator must be virtual, but not pure virtual (right now, they are defined to be pure virtual, however there exists an implementation in AddInInterface.cpp; this is a random behaviour, dependent on compiler). The destructor of AddInDataIO is used to finally delete the auto-grabbing timer!

    This comment was implemented in commit 263d27c (AddIn Interface 2.0.0)

  3. M. Gronle reporter

    Remove anything related to the counter that counts the number of connections to sendStatusUpdate and sendTargetUpdate. since the signature for connectNotify and disconnectNotify of these signals changed in Qt5, it is more robust to delete the counting mechanism. (marked with deprecated: ... in the script)

    This comment was implemented in commit 263d27c (AddIn Interface 2.0.0)

  4. M. Gronle reporter

    Further things:

    • Final remove of lock/unlock of dataObject
    • Move of members m_pThread, m_pBasePlugin, m_refcount, m_createdByGUI, m_hwDecList, m_exeFuncList of class AddInBase from protected to private since they are not for direct use in any plugin
    • Un-inline the Method AddInBase::MoveToThread for better control and maintance

    This comment was implemented in commit 263d27c (AddIn Interface 2.0.0)

  5. M. Gronle reporter
    • AddInInterface.h: change lines 56ff to (avoid warnings like macro redefinition: 'NOMINMAX' already defined and does not lead to different definitions for debug and release)
    //plugins define VISUAL_LEAK_DETECTOR_CMAKE in their CMake configuration file
    #if defined _DEBUG  && defined(_MSC_VER) && defined(VISUAL_LEAK_DETECTOR_CMAKE)
    #ifndef NOMINAX
        #define NOMINMAX //instead min, max is defined as macro in winDef.h, included by vld.h
        #include "vld.h"
        #undef NOMINMAX
        #include "vld.h"
    • remove non const version of valid() in ito::PCLPolygonMesh

    This commit was implemented in commit 899614b (AddIn Interface 2.1.0)

  6. M. Gronle reporter
    • Upon the next increment of the AddInInterface, uncomment some changes in itomWidgets >> doubleSpinBox.cpp and doubleSpinBox.h, marked with //TODO:. They are implementations of memory leak fixes in the original ctkCommon project.
    • add keyboardTracking as property to doubleSpinBox of itomWidgets and redirect it to the keyboardTracking property of the underlying spinbox.

    This request was implemented in commit 13f3c4d (AddIn Interface 2.3.0)

  7. M. Gronle reporter
    • From Qt 5.5.0 on, replace Q_ENUMS by Q_ENUM (after the enum definition) to allow an automatic parsing of enumeration keys and values for instance in slot-calls from Python. Example: MotorAxisController.h.

    This request was implemented in commit 65f7942 (and others) (AddIn Interface 3.1.0)

  8. Robin Hahn

    m_lineCutType, m_zSliceType, m_zoomCutType and m_volumeCutType are removed with the next interface incrementation. In the future, these variables will be managed via a QMap, which will be available via AbstractFigure::subplotStates().

  9. M. Gronle reporter

    Comment related to the previous changes:

    These changes were implemented in commit 72a6efe and others (AddIn Interface 3.2.0)

  10. M. Gronle reporter

    Remove SemVerVersion::major(), SemVerVersion::minor() and SemVerVersion::patch() due to name conflict with #defines major and minor in linux (inlcude/sys/types.h). These methods have been replaced by svMajor(), svMinor() and svPatch()

  11. Log in to comment