C++/Qt/Qml Generator Engine

Diese Generator Engine unterstützt sowohl die Programmiersprache C++, als auch optional die Spracherweiterung durch das Anwendungsframework und GUI-Toolkit QT mit der dazugehörigen speziellen Programmiersprache für Benutzeroberflächen namens QML.

Aktuell unterstützte C++ Sprachkonstrukte

  • Compilation Unit
  • Namespace
  • Class
  • Template Class
  • Enum
  • Struct
  • Union
  • Typedef
  • Operation
  • Template Operation
  • Constructor
  • Destructor
  • Global Attribute
  • Member Attribute
  • Assignment
  • Procedure Call
  • If
  • For
  • While
  • Switch
  • Return
  • Delete
  • Try/Catch
  • Compound Statement
  • Expression Statement
  • Function Call
  • Variable Expression
  • Unary Expression
  • Binary Expression
  • New
  • This
  • Null
  • Dynamic Cast
  • Static Cast
  • Suffixed Expression
  • Prefixed Expression
  • Define Expression

Aktuell unterstützte Sprachkonstrukte der Qt Erweiterung

  • Signal
  • Property
  • Signal/Slot/QInvokable Extension to Operation
  • Emit

Aktuell unterstützte Sprachkonstrukte der Qml Erweiterung

  • Component
  • Enum
  • Item
  • Anchors
  • State
  • Property Changes
  • Property
  • Signal
  • Operation
  • Handler
  • Assignment
  • Emit
  • Procedure Call
  • If
  • Compound Statement
  • Construction
  • Function Call
  • Binary Expression
  • Operation Pointer
  • Selection
  • Null

Beispiel von generiertem C++ Code

SomeFactory.h

#ifndef SOME_FACTORY_H
#define SOME_FACTORY_H


#include "FSomeObject.h"


/*###########################################################################################################################################################*/
class SomeFactory
/*###########################################################################################################################################################*/
{

public:
    /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    explicit SomeFactory();
    
    
    /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    virtual ~SomeFactory();
    
    
    /*=======================================================================================================================================================*/
    void create();


private:
    /*=======================================================================================================================================================*/
    void clear();


private:
    SomeObject* m_pObject;
};


#endif // SOME_FACTORY_H

SomeFactory.cpp

#include "SomeFactory.h"
#include "SomeObject.h"
#include <stddef.h>


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
SomeFactory::SomeFactory()
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    : m_pObject( NULL )
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
{
}



/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
SomeFactory::~SomeFactory()
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
{
    clear();
}



/*===========================================================================================================================================================*/
void SomeFactory::create()
/*===========================================================================================================================================================*/
{
    clear();
    
    m_pObject = new SomeObject();
}



/*===========================================================================================================================================================*/
void SomeFactory::clear()
/*===========================================================================================================================================================*/
{
    if ( m_pObject != NULL )
    {
        delete m_pObject;
        m_pObject = NULL;
    }
}