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;
}
}