Process Interface#

The process interface is needed if the module should offer process elements as tasks or calculators.

#include "gt_moduleinterface.h"
#include "gt_processinterface.h"

class MyModule: public QObject, public GtModuleInterface, GtProcessInterface
{
    [...]

    Q_INTERFACES(GtModuleInterface)
    Q_INTERFACES(GtProcessInterface)

    [...]

            /**
            * @brief Returns static meta objects of calculator classes.
            * @return list including meta objects
            */
            QList<GtCalculatorData> calculators() override;

            /**
            * @brief Returns static meta objects of task classes.
            * @return list including meta objects
            */
            QList<GtTaskData> tasks() override;

    [...]
}

Documentation on Virtual Member Functions#

  • GtProcessInterface::calculators()

    Returns list of registered calculators.

    To use a calculator in GTlab it has to be registered in its module by adding it to the list returned by GtProcessInterface::calculators().

    The calculator is added as GtCalculatorData or GtExtendedCalculatorData with several meta information as the author, a category or its version.

     QList<GtCalculatorData>
     MyModule::calculators()
     {
             QList<GtCalculatorData> metaData;
    
             //// simple example calculator
             GtCalculatorData exampleCalc = GT_CALC_DATA(GtExampleCalc)
             exampleCalc->id = QStringLiteral("Example Calculator");
             exampleCalc->version = calculatorVersion(1, 0);
             exampleCalc->author = QStringLiteral("John Doe");
             exampleCalc->category = QStringLiteral("Examples");
             metaData << exampleCalc;
             return metaData;
    }
    
  • GtProcessInterface::tasks()

    Returns list of registered tasks.

    To use a tasks in GTlab it has to be registered in its module by adding it to the list returned by GtProcessInterface::tasks().

    The task is added as GtTaskData or GtExtendedTaskData with several meta information as the author, a category or its version.

     QList<GtCalculatorData>
     MyModule::tasks()
     {
             QList<GtCalculatorData> metaData;
    
             //// simple example task
             GtTaskData exampleTask = GT_TASK_DATA(Task)
             exampleTask->id = QStringLiteral("Example Task");
             exampleTask->version = calculatorVersion(1, 0);
             exampleTask->author = QStringLiteral("John Doe");
             exampleTask->category = QStringLiteral("Examples");
             metaData << exampleTask;
             return metaData;
    }