Index: branches/0.1.x/src/DBITEPlayer/CMakeLists.txt
===================================================================
--- branches/0.1.x/src/DBITEPlayer/CMakeLists.txt	(revision 328)
+++ branches/0.1.x/src/DBITEPlayer/CMakeLists.txt	(revision 331)
@@ -38,5 +38,5 @@
 set(PROJECT_HDRS
     ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/cstdint.h
-    ${PACPUS_INCLUDE_DIR}/Pacpus//kernel/ComponentBase.h
+    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/ComponentBase.h
     ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/ComponentFactory.h
     ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/ComponentFactoryBase.h
@@ -63,4 +63,5 @@
     ${PROJECT_NAME}
     ./src/main.cpp
+    ../ico/heudiasycIco.rc
 )
 
Index: branches/0.1.x/src/PacpusSensor/CMakeLists.txt
===================================================================
--- branches/0.1.x/src/PacpusSensor/CMakeLists.txt	(revision 328)
+++ branches/0.1.x/src/PacpusSensor/CMakeLists.txt	(revision 331)
@@ -13,5 +13,5 @@
 # ========================================
 add_definitions(
-  ${QT_DEFINITIONS}
+	${QT_DEFINITIONS}
 )
 
@@ -20,6 +20,6 @@
 # ========================================
 include_directories(
-  ${PROJECT_BINARY_DIR}
-  ${QT_INCLUDE_DIR}
+	${PROJECT_BINARY_DIR}
+	${QT_INCLUDE_DIR}
 )
 # ========================================
@@ -27,6 +27,6 @@
 # ========================================
 link_directories(
-    ${PROJECT_BINARY_DIR}/../PacpusLib
-    ${PROJECT_BINARY_DIR}/../FileLib
+	${PROJECT_BINARY_DIR}/../PacpusLib
+	${PROJECT_BINARY_DIR}/../FileLib
 	${PROJECT_BINARY_DIR}/../RoadTime
 )
@@ -36,8 +36,8 @@
 # ========================================
 set(
-  PROJECT_SRCS
-  src/ui/pacpusmainwindow.cpp
-  src/ui/pacpusmainwindow.h
-  src/main.cpp
+	PROJECT_SRCS
+	src/ui/pacpusmainwindow.cpp
+	src/ui/pacpusmainwindow.h
+	src/main.cpp
 )
 
@@ -51,6 +51,6 @@
 qt_wrap_cpp(SENSOR_MOC_SOURCES ${SENSOR_MOC_CLASSES})
 
-source_group(Main_ui FILES ${PROJECT_SRCS} )
-source_group(moc FILES ${SENSOR_MOC_SOURCES} ${SENSOR_UI_SOURCES_H} )
+source_group(Main_ui FILES ${PROJECT_SRCS})
+source_group(moc FILES ${SENSOR_MOC_SOURCES} ${SENSOR_UI_SOURCES_H})
 
 # ========================================
@@ -58,10 +58,11 @@
 # ========================================
 pacpus_add_executable(
-    ${PROJECT_NAME}
-    ./src/main.cpp
-    ./src/ui/pacpusmainwindow.cpp
-    ./src/ui/pacpusmainwindow.h
-    ${SENSOR_MOC_SOURCES}
-    ${SENSOR_UI_CLASSES}
+	${PROJECT_NAME}
+	./src/main.cpp
+	./src/ui/pacpusmainwindow.cpp
+	./src/ui/pacpusmainwindow.h
+	../ico/heudiasycIco.rc
+	${SENSOR_MOC_SOURCES}
+	${SENSOR_UI_CLASSES}
 )
 
@@ -71,28 +72,28 @@
 
 set(OPT_LIBRARIES
-        optimized FileLib debug FileLib_d
-        optimized PacpusLib debug PacpusLib_d
+	optimized FileLib debug FileLib_d
+	optimized PacpusLib debug PacpusLib_d
 )
 
 # Windows platform
 if(WIN32)
-    LIST(APPEND OPT_LIBRARIES
-        optimized ROAD_TIME debug ROAD_TIME_d
-        Winmm
+	LIST(APPEND OPT_LIBRARIES
+		optimized ROAD_TIME debug ROAD_TIME_d
+		Winmm
 )
 endif()
 
 if(UNIX)
-    LIST(APPEND OPT_LIBRARIES
-        pthread
-    )
+	LIST(APPEND OPT_LIBRARIES
+		pthread
+)
 endif()
 
 # All the platform
 target_link_libraries(
-    ${PROJECT_NAME}
-    ${PACPUS_DEPENDENCIES_LIB}
-    ${OPT_LIBRARIES}
-    ${QT_LIBRARIES}
+	${PROJECT_NAME}
+	${PACPUS_DEPENDENCIES_LIB}
+	${OPT_LIBRARIES}
+	${QT_LIBRARIES}
 )
 
Index: branches/0.1.x/src/dbcDecriptor/CMakeLists.txt
===================================================================
--- branches/0.1.x/src/dbcDecriptor/CMakeLists.txt	(revision 328)
+++ branches/0.1.x/src/dbcDecriptor/CMakeLists.txt	(revision 331)
@@ -39,9 +39,9 @@
 SET(
 	PROJECT_SRCS
-	mainwindow.cpp
-	main.cpp
-	mainwindow.h
-	structure.h
-	dbcDecriptor.rc
+	src/mainwindow.cpp
+	src/main.cpp
+	src/mainwindow.h
+	src/structure.h
+	../ico/heudiasycIco.rc
 )
 
@@ -51,10 +51,10 @@
 SET(
 	FILES_TO_MOC
-	mainwindow.h
+	src/mainwindow.h
 )
 
 SET(
 	UI_FILES
-	mainwindow.ui    
+	src/mainwindow.ui    
 )
 
@@ -72,6 +72,22 @@
 )
 
-ADD_EXECUTABLE(${PROJECT_NAME} ${GUI_TYPE} ${PROJECT_SRCS} ${PROJECT_MOC_SRCS} ${PROJECT_UI_SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${QT_LIBRARIES})
+# ========================================
+# Build an executable
+# ========================================
+pacpus_add_executable(
+	${PROJECT_NAME} 
+	${GUI_TYPE} 
+	${PROJECT_SRCS} 
+	${PROJECT_MOC_SRCS} 
+	${PROJECT_UI_SRCS}
+)
+
+# ========================================
+# Libraries
+# ========================================
+TARGET_LINK_LIBRARIES(
+	${PROJECT_NAME} 
+	${QT_LIBRARIES}
+)
 
 # ========================================
Index: branches/0.1.x/src/dbcDecriptor/dbcDecriptor.pro
===================================================================
--- branches/0.1.x/src/dbcDecriptor/dbcDecriptor.pro	(revision 328)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2014-11-17T11:19:13
-#
-#-------------------------------------------------
-
-QT       += core gui
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = PacpusDBCDecriptor
-TEMPLATE = app
-
-
-SOURCES += main.cpp\
-        mainwindow.cpp
-
-HEADERS  += mainwindow.h \
-    structure.h
-
-FORMS    += mainwindow.ui
-
-RESOURCES +=
-
-RC_FILE = dbcDecriptor.rc
Index: branches/0.1.x/src/dbcDecriptor/dbcDecriptor.rc
===================================================================
--- branches/0.1.x/src/dbcDecriptor/dbcDecriptor.rc	(revision 328)
+++ 	(revision )
@@ -1,1 +1,0 @@
-IDI_ICON1               ICON    DISCARDABLE     "heudiasyc.ico"
Index: branches/0.1.x/src/dbcDecriptor/main.cpp
===================================================================
--- branches/0.1.x/src/dbcDecriptor/main.cpp	(revision 328)
+++ 	(revision )
@@ -1,11 +1,0 @@
-#include "mainwindow.h"
-#include <QApplication>
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    MainWindow w;
-    w.show();
-
-    return a.exec();
-}
Index: branches/0.1.x/src/dbcDecriptor/mainwindow.cpp
===================================================================
--- branches/0.1.x/src/dbcDecriptor/mainwindow.cpp	(revision 328)
+++ 	(revision )
@@ -1,560 +1,0 @@
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-// DBC Decriptor                                                              //
-//                                                                            //
-// Made by Pierre Hudelaine                                                   //
-//                                                                            //
-// Contact: pierre.hudelaine@hds.utc.fr                                       //
-//                                                                            //
-// Translate a DBC file to Pacpus code                                        //
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-
-#include "mainwindow.h"
-#include "ui_mainwindow.h"
-#include <iostream>
-#include <math.h>
-
-#include <QString>
-#include <QFileDialog>
-#include <QTextStream>
-#include <QDebug>
-#include <QDate>
-
-
-//----------------------------------------------------------------------------//
-// Constructor                                                                //
-//----------------------------------------------------------------------------//
-MainWindow::MainWindow(QWidget *parent) :
-    QMainWindow(parent),
-    ui(new Ui::MainWindow)
-{
-    ui->setupUi(this);
-
-    connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openDBCFile()));
-    connect(ui->actionClose_all_files, SIGNAL(triggered()), this, SLOT(clearDBC()));
-    connect(ui->actionQuitter, SIGNAL(triggered()), this, SLOT(close()));
-    connect(ui->pushButton_open_file, SIGNAL(clicked()), this, SLOT(openDBCFile()));
-
-    ui->label_file_error->setText("");
-    ui->label_value_frame_id->setText("");
-    ui->label_value_frame_name->setText("");
-    ui->label_value_number_of_signals->setText("");
-    ui->label_value_total_frames->setText("0");
-    ui->label_value_total_signals->setText("0");
-    ui->lineEdit_output_path->setText(QApplication::applicationDirPath());
-}
-
-
-//----------------------------------------------------------------------------//
-// Destructor                                                                 //
-//----------------------------------------------------------------------------//
-MainWindow::~MainWindow()
-{
-    delete ui;
-}
-
-
-//----------------------------------------------------------------------------//
-// Open the DBC file                                                          //
-//----------------------------------------------------------------------------//
-void MainWindow::openDBCFile()
-{
-    clearDBC();
-
-    dbcFiles_.fileName = QFileDialog::getOpenFileName(this, "Open dbc file", "", "dbc files (*.dbc);;Text files (*.txt);;All files (*.*)");
-
-    QFile file(dbcFiles_.fileName);
-
-    if (!file.open(QIODevice::ReadOnly))
-    {
-        ui->label_file_error->setText("<font color=\"#C80000\">Can not open the file</font>");
-    }
-    else
-    {
-        QTextStream stream(&file);
-        dbcFiles_.content = stream.readAll().split('\n');
-
-        QStringList signalName;
-        bool frameFound = false;
-        StructFrame tmpFrame;
-        tmpFrame.frameID = 0;
-        tmpFrame.frameName = "";
-        tmpFrame.numberOfSignals = 0;
-
-        for (int i = 0; i < dbcFiles_.content.size(); i++)
-        {
-            if (frameFound)
-            {
-                // " SG_" is the beginning if a line containing a signal information
-                if (dbcFiles_.content[i].startsWith(" SG_"))
-                {
-                    tmpFrame.numberOfSignals++;
-                    getSignalParameters(dbcFiles_.content[i], &tmpFrame);
-                }
-                else
-                    frameFound = false;
-            }
-
-            // "BO_" is the beginning of a line containing a frame information and all signals are following
-            if (dbcFiles_.content[i].startsWith("BO_"))
-            {
-                int numberOfSpace = 0, j = 0;
-                QString tmp;
-
-                frameFound = true;
-
-                // Get the ID of the frame
-                while(numberOfSpace != 2)
-                {
-                    if (dbcFiles_.content[i][j] == ' ')
-                        numberOfSpace++;
-                    if (numberOfSpace == 1)
-                        tmp.append(dbcFiles_.content[i][j]);
-                    j++;
-                }
-
-                tmpFrame.frameID = tmp.toInt();
-
-                tmp = "";
-
-                // Get the name of the frame
-                while(dbcFiles_.content[i][j] != ':')
-                {
-                    tmp.append(dbcFiles_.content[i][j]);
-                    j++;
-                }
-
-                tmpFrame.frameName = tmp;
-            }
-            else if (dbcFiles_.content[i].startsWith("CM_"))
-            {
-                // Get the comment at the end of the DBC file
-                findComment(i);
-            }
-            else if (dbcFiles_.content[i].startsWith("VAL_"))
-            {
-                // Get the value descritpion at the end of the DBC file
-                findValueDescription(i);
-            }
-
-            // If a hole frame has been treated it's registered in the vector
-            if (tmpFrame.numberOfSignals != 0 && !frameFound)
-            {
-                dbcFiles_.canFrames.append(tmpFrame);
-                ui->label_value_total_frames->setText(QString().setNum(ui->label_value_total_frames->text().toInt() + 1));
-                ui->label_value_total_signals->setText(QString().setNum(ui->label_value_total_signals->text().toInt() + tmpFrame.numberOfSignals));
-                tmpFrame.frameID = 0;
-                tmpFrame.frameName = "";
-                tmpFrame.numberOfSignals = 0;
-                tmpFrame.signalsVector.clear();
-            }
-        }
-
-        // Frames are added in the list
-        for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
-        {
-            if (dbcFiles_.canFrames[i].frameID >= 255)
-                signalName.append("0x" + QString().setNum(dbcFiles_.canFrames[i].frameID, 16).toUpper() + " " + dbcFiles_.canFrames[i].frameName);
-            else
-                signalName.append("0x0" + QString().setNum(dbcFiles_.canFrames[i].frameID, 16).toUpper() + " " + dbcFiles_.canFrames[i].frameName);
-        }
-
-        ui->listWidget_signals->addItems(signalName);
-        file.close();
-
-        //printAllFrames();
-    }
-}
-
-
-//----------------------------------------------------------------------------//
-// Print the parameters for a specific frame                                  //
-//----------------------------------------------------------------------------//
-void MainWindow::printFrame(int i, int j)
-{
-    qDebug() << dbcFiles_.canFrames[i].signalsVector[j].signalName << " "
-             << dbcFiles_.canFrames[i].signalsVector[j].startBit << " "
-             << dbcFiles_.canFrames[i].signalsVector[j].length << " "
-             << ((dbcFiles_.canFrames[i].signalsVector[j].order) ? "Motorola" : "Intel")
-             << " " << ((dbcFiles_.canFrames[i].signalsVector[j].valueType) ? "Signed" : "Unsigned")
-             << " " << dbcFiles_.canFrames[i].signalsVector[j].gain << " "
-             << dbcFiles_.canFrames[i].signalsVector[j].offset << " "
-             << dbcFiles_.canFrames[i].signalsVector[j].min << " "
-             << dbcFiles_.canFrames[i].signalsVector[j].max << " "
-             << ((dbcFiles_.canFrames[i].signalsVector[j].unit != "") ? dbcFiles_.canFrames[i].signalsVector[j].unit : "")
-             << dbcFiles_.canFrames[i].signalsVector[j].comment;
-}
-
-
-//----------------------------------------------------------------------------//
-// Print the parameters of all frames                                         //
-//----------------------------------------------------------------------------//
-void MainWindow::printAllFrames()
-{
-    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
-    {
-        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
-        {
-            printFrame(i, j);
-        }
-    }
-}
-
-
-//----------------------------------------------------------------------------//
-// Get the the signals informations in the DBC file                           //
-//----------------------------------------------------------------------------//
-void MainWindow::getSignalParameters(QString actualLine, StructFrame * actualCanFrame)
-{
-    StructSignal tmpSignal;
-
-    tmpSignal.order = true;
-    tmpSignal.gain = 0.0;
-    tmpSignal.length = 0;
-    tmpSignal.offset = 0.0;
-    tmpSignal.signalName = "";
-    tmpSignal.valueType = true;
-    tmpSignal.startBit = 0;
-    tmpSignal.unit = "";
-    tmpSignal.comment = "";
-    tmpSignal.description = "";
-
-    // Removing the untreated and unsued caracters
-    actualLine.remove('(');
-    actualLine.remove(')');
-    actualLine.remove('[');
-    actualLine.remove(']');
-    QStringList cutLine = actualLine.split(' ');
-
-    // Get the name
-    tmpSignal.signalName = cutLine.at(2);
-    cutLine = actualLine.split(" : ");
-
-    // Get the second part with the signal parameters for example : 63|8@0+ // 63 = startBit; 8 = length; 0 = Motorola order; + = Unsigned value
-    QStringList cutLineValue = cutLine.at(1).split(' ');
-    tmpSignal.startBit = cutLineValue.at(0).split('|').at(0).toInt();
-    tmpSignal.length = cutLineValue.at(0).split('|').at(1).split('@').at(0).toInt();
-    if (cutLineValue.at(0).split('|').at(1).split('@').at(1).at(0) == '1')
-        tmpSignal.order = false;
-    if (cutLineValue.at(0).split('|').at(1).split('@').at(1).at(1) == '+')
-        tmpSignal.valueType = false;
-
-    // Get the offset and the gain for example : (0.05,2) // 0.05 = gain; 2 = offset;
-    tmpSignal.gain = cutLineValue.at(1).split(',').at(0).toDouble();
-    tmpSignal.offset = cutLineValue.at(1).split(',').at(1).toDouble();
-
-    // Get the max and min for exemple : [-6.4|6.35] // -6.4 = max; 6.35 = max;
-    tmpSignal.min = cutLineValue.at(2).split('|').at(0).toDouble();
-    tmpSignal.max = cutLineValue.at(2).split('|').at(1).toDouble();
-
-    // Get the unit for example : "m/s" // m/s = unit
-    tmpSignal.unit = cutLineValue.at(3);
-    tmpSignal.unit.remove('"');
-
-    actualCanFrame->signalsVector.append(tmpSignal);
-}
-
-
-//----------------------------------------------------------------------------//
-// Find a comment and associate it to the signal                              //
-//----------------------------------------------------------------------------//
-void MainWindow::findComment(int k)
-{
-    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
-    {
-        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
-        {
-            if (dbcFiles_.content[k].contains(dbcFiles_.canFrames[i].signalsVector[j].signalName))
-            {
-                dbcFiles_.canFrames[i].signalsVector[j].comment = dbcFiles_.content[k].split('"').at(1);
-
-                while (dbcFiles_.content[k].at(dbcFiles_.content[k].size() - 2) != ';')
-                {
-                    k++;
-                    dbcFiles_.canFrames[i].signalsVector[j].comment += dbcFiles_.content[k];
-                }
-                return;
-            }
-        }
-    }
-}
-
-
-//----------------------------------------------------------------------------//
-// Find the value description and associate it to the signal                  //
-//----------------------------------------------------------------------------//
-void MainWindow::findValueDescription(int k)
-{
-    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
-    {
-        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
-        {
-            if (dbcFiles_.content[k].contains(dbcFiles_.canFrames[i].signalsVector[j].signalName))
-            {
-                dbcFiles_.canFrames[i].signalsVector[j].description = dbcFiles_.content[k].right(dbcFiles_.content[k].length() - (dbcFiles_.content[k].indexOf(dbcFiles_.canFrames[i].signalsVector[j].signalName) + dbcFiles_.canFrames[i].signalsVector[j].signalName.length()));
-                return;
-            }
-        }
-    }
-}
-
-
-//----------------------------------------------------------------------------//
-// Called from the HMI to clear the last information                          //
-//----------------------------------------------------------------------------//
-void MainWindow::clearDBC()
-{
-    dbcFiles_.canFrames.clear();
-    dbcFiles_.content.clear();
-    dbcFiles_.fileName = "";
-    ui->listWidget_signals->clear();
-
-    ui->label_file_error->setText("");
-    ui->label_value_frame_id->setText("");
-    ui->label_value_frame_name->setText("");
-    ui->label_value_number_of_signals->setText("");
-    ui->label_value_total_frames->setText("0");
-    ui->label_value_total_signals->setText("0");
-}
-
-
-//----------------------------------------------------------------------------//
-// Actualize the HMI with the last information                                //
-//----------------------------------------------------------------------------//
-void MainWindow::on_listWidget_signals_currentRowChanged(int currentRow)
-{
-    if (currentRow >= 0)
-    {
-        if (dbcFiles_.canFrames[currentRow].frameID >= 255)
-            ui->label_value_frame_id->setText("0x" + QString().setNum(dbcFiles_.canFrames[currentRow].frameID, 16).toUpper());
-        else
-            ui->label_value_frame_id->setText("0x0" + QString().setNum(dbcFiles_.canFrames[currentRow].frameID, 16).toUpper());
-
-        ui->label_value_frame_name->setText(dbcFiles_.canFrames[currentRow].frameName);
-        ui->label_value_number_of_signals->setText(QString().setNum(dbcFiles_.canFrames[currentRow].numberOfSignals));
-    }
-}
-
-
-//----------------------------------------------------------------------------//
-// Generate the c++ files from the dbc information previouly registered       //
-//----------------------------------------------------------------------------//
-void MainWindow::on_pushButton_generate_clicked()
-{
-    QDate date(QDate::currentDate());
-
-    // Creating the beginnig of the structure file
-    QString outputStructFile = templateStructFile;
-    outputStructFile.insert(outputStructFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
-    outputStructFile.insert(outputStructFile.indexOf("#ifndef __STRUCTURECAN") + 22, ui->lineEdit_export_name->text().toUpper());
-    outputStructFile.insert(outputStructFile.indexOf("#define __STRUCTURECAN") + 22, ui->lineEdit_export_name->text().toUpper());
-
-    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
-    {
-        QString outputCPPFile = templateCPPFile;
-        QString outputHFile = templateHFile;
-
-        // Creating the beginning of each c++ files
-        outputCPPFile.insert(outputCPPFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
-        outputCPPFile.insert(outputCPPFile.indexOf("#include \"CanFrame.h\"") + 18, dbcFiles_.canFrames[i].frameName);
-        outputCPPFile.insert(outputCPPFile.indexOf("void CanFrame") + 13, dbcFiles_.canFrames[i].frameName);
-
-        // Creating the beginning of each h files
-        outputHFile.insert(outputHFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
-        outputHFile.insert(outputHFile.indexOf("#ifndef __CanFrame") + 18, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("#define __CanFrame") + 18, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("#include \"structureCan") + 22, ui->lineEdit_export_name->text());
-        outputHFile.insert(outputHFile.indexOf("class CAN") + 9, ui->lineEdit_export_name->text().toUpper());
-        outputHFile.insert(outputHFile.indexOf("_API CanFrame") + 13, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("CanFrame()") + 8, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("~CanFrame()") + 9, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("Struct data_;") + 6, dbcFiles_.canFrames[i].frameName);
-        outputHFile.insert(outputHFile.indexOf("return sizeof(Struct)") + 20, dbcFiles_.canFrames[i].frameName);
-
-        // Adding the structure of frames
-        outputStructFile.insert(outputStructFile.indexOf("#include \"Pacpus/kernel/road_time.h") + 36, "\n\ntypedef struct\n{\n} Struct" + dbcFiles_.canFrames[i].frameName + ";");
-
-        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
-        {
-            QString tmpCpp = "\n";
-
-            // If variables are bool
-            if (dbcFiles_.canFrames[i].signalsVector[j].length == 1)
-            {
-                tmpCpp.append("	data_." + dbcFiles_.canFrames[i].signalsVector[j].signalName + " = mDecodeToBool(d_.frame.data, " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].startBit) + ");");
-                if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
-                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	bool " + dbcFiles_.canFrames[i].signalsVector[j].signalName + "; /// " + dbcFiles_.canFrames[i].signalsVector[j].description + "\n");
-                else
-                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	bool " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";\n");
-            }
-            else
-            {
-                // If variables are Motorola or Intel
-                if (dbcFiles_.canFrames[i].signalsVector[j].order)
-                    tmpCpp.append("	if (mDecodeTo");
-                else
-                    tmpCpp.append("	if (iDecodeTo");
-
-                // If variables are signed...
-                if (dbcFiles_.canFrames[i].signalsVector[j].valueType)
-                {
-                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
-                        tmpCpp.append("I8(&ctmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
-                        tmpCpp.append("I16(&stmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
-                        tmpCpp.append("I32(&ltmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
-                        tmpCpp.append("I64(&lltmp, ");
-                }
-                else // ...Or not signed
-                {
-                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
-                        tmpCpp.append("UI8(&uctmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
-                        tmpCpp.append("UI16(&ustmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
-                        tmpCpp.append("UI32(&ultmp, ");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
-                        tmpCpp.append("UI64(&ulltmp, ");
-                }
-
-                // Code c++ added in the QString
-                tmpCpp.append("d_.frame.data, " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].startBit) + ", " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].length) + "))\n");
-                tmpCpp.append("		data_." + dbcFiles_.canFrames[i].signalsVector[j].signalName + " = ");
-
-                // Find the c++ type between double or integer
-                if (floor(dbcFiles_.canFrames[i].signalsVector[j].gain) == dbcFiles_.canFrames[i].signalsVector[j].gain)
-                {
-                    // If it's need a brace in c++
-                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append("(");
-
-                    // Define the type of the pointer which will store temporally the data
-                    if (!dbcFiles_.canFrames[i].signalsVector[j].valueType)
-                        tmpCpp.append("u");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
-                        tmpCpp.append("ctmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
-                        tmpCpp.append("stmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
-                        tmpCpp.append("ltmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
-                        tmpCpp.append("lltmp");
-
-                    // Setting the gain and the offset
-                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ") + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ";");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1)
-                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ";");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append(" + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ";");
-                    else
-                        tmpCpp.append(";");
-
-                    // Adding the value in the structure
-                    QString tmp;
-
-                    // Find the c++ variable type /!\ May differ from the signal !!!!
-                    if (dbcFiles_.canFrames[i].signalsVector[j].offset < 0 && !dbcFiles_.canFrames[i].signalsVector[j].valueType)
-                        tmp.append("	int");
-                    else
-                        tmp.append("	uint");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
-                        tmp.append("8_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
-                        tmp.append("16_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
-                        tmp.append("32_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
-                        tmp.append("64_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
-                        tmp.append(" /// " + dbcFiles_.canFrames[i].signalsVector[j].description);
-
-                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), tmp + "\n");
-                }
-                else
-                {
-                    tmpCpp.append("static_cast<double>(");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append("(");
-
-                    if (!dbcFiles_.canFrames[i].signalsVector[j].valueType)
-                        tmpCpp.append("u");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
-                        tmpCpp.append("ctmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
-                        tmpCpp.append("stmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
-                        tmpCpp.append("ltmp");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
-                        tmpCpp.append("lltmp");
-
-                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ") + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ");");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1)
-                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ");");
-                    else if (dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
-                        tmpCpp.append(" + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ");");
-                    else
-                        tmpCpp.append(");");
-
-                    QString tmp = "";
-                    if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
-                        tmp.append(" /// " + dbcFiles_.canFrames[i].signalsVector[j].description);
-
-                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	double " + dbcFiles_.canFrames[i].signalsVector[j].signalName + "; " + tmp + "\n");
-                }
-            }
-            if (dbcFiles_.canFrames[i].signalsVector[j].comment != "")
-                tmpCpp.append(" /*" + dbcFiles_.canFrames[i].signalsVector[j].comment + "*/");
-            outputCPPFile.insert(outputCPPFile.indexOf("unsigned char uctmp = 0") + 24, tmpCpp);
-        }
-        outputStructFile.insert(outputStructFile.indexOf("Struct" + dbcFiles_.canFrames[i].frameName + ";") + dbcFiles_.canFrames[i].frameName.size() + 7, "\n\ntypedef struct\n{\n	road_time_t time;\n	road_timerange_t timerange;\n	Struct" + dbcFiles_.canFrames[i].frameName + " d;\n} TimeStampedStruct" + dbcFiles_.canFrames[i].frameName + ";");
-
-        QFile canFrameCpp(ui->lineEdit_output_path->text() + "/CanFrame" + dbcFiles_.canFrames[i].frameName + ".cpp");
-        canFrameCpp.open(QIODevice::WriteOnly);
-        QTextStream cppOut(&canFrameCpp);
-        cppOut << outputCPPFile;
-        canFrameCpp.close();
-
-        QFile canFrameH(ui->lineEdit_output_path->text() + "/CanFrame" + dbcFiles_.canFrames[i].frameName + ".h");
-        canFrameH.open(QIODevice::WriteOnly);
-        QTextStream hOut(&canFrameH);
-        hOut << outputHFile;
-        canFrameH.close();
-    }
-
-    QFile struc(ui->lineEdit_output_path->text() + "/strucureCan" + ui->lineEdit_export_name->text() + ".h");
-    struc.open(QIODevice::WriteOnly);
-    QTextStream strucOut(&struc);
-    strucOut << outputStructFile;
-    struc.close();
-}
-
-
-//----------------------------------------------------------------------------//
-// Unlock the pushButton "Generate" when a string is registerer               //
-//----------------------------------------------------------------------------//
-void MainWindow::on_lineEdit_export_name_textChanged(const QString &arg1)
-{
-    if (arg1 == "")
-        ui->pushButton_generate->setEnabled(false);
-    else
-        ui->pushButton_generate->setEnabled(true);
-}
-
-
-//----------------------------------------------------------------------------//
-// Select the output directory                                                //
-//----------------------------------------------------------------------------//
-void MainWindow::on_pushButton_output_path_clicked()
-{
-    QString tmp = "";
-    if ((tmp = QFileDialog::getExistingDirectory(0, 0, ui->lineEdit_output_path->text())) != "")
-        ui->lineEdit_output_path->setText(tmp);
-}
Index: branches/0.1.x/src/dbcDecriptor/mainwindow.h
===================================================================
--- branches/0.1.x/src/dbcDecriptor/mainwindow.h	(revision 328)
+++ 	(revision )
@@ -1,50 +1,0 @@
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-// DBC Decriptor                                                              //
-//                                                                            //
-// Made by Pierre Hudelaine                                                   //
-//                                                                            //
-// Contact: pierre.hudelaine@hds.utc.fr                                       //
-//                                                                            //
-// Translate a DBC file to Pacpus code                                        //
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QListWidgetItem>
-
-#include "structure.h"
-
-namespace Ui {
-class MainWindow;
-}
-
-class MainWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    explicit MainWindow(QWidget *parent = 0);
-    ~MainWindow();
-
-private Q_SLOTS:
-    void openDBCFile();
-    void printFrame(int i, int j);
-    void printAllFrames();
-    void getSignalParameters(QString actualLine, StructFrame * actualCanFrame);
-    void clearDBC();
-    void findComment(int k);
-    void findValueDescription(int k);
-    void on_listWidget_signals_currentRowChanged(int currentRow);
-    void on_pushButton_generate_clicked();
-    void on_lineEdit_export_name_textChanged(const QString &arg1);
-
-    void on_pushButton_output_path_clicked();
-
-private:
-    Ui::MainWindow *ui;
-    StructDBCFile dbcFiles_;
-};
-
-#endif // MAINWINDOW_H
Index: branches/0.1.x/src/dbcDecriptor/mainwindow.ui
===================================================================
--- branches/0.1.x/src/dbcDecriptor/mainwindow.ui	(revision 328)
+++ 	(revision )
@@ -1,351 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>735</width>
-    <height>480</height>
-   </rect>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>735</width>
-    <height>480</height>
-   </size>
-  </property>
-  <property name="maximumSize">
-   <size>
-    <width>735</width>
-    <height>480</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>DBC Decriptor for Pacpus - by Pierre Hudelaine</string>
-  </property>
-  <property name="toolButtonStyle">
-   <enum>Qt::ToolButtonTextBesideIcon</enum>
-  </property>
-  <widget class="QWidget" name="centralWidget">
-   <widget class="QGroupBox" name="groupBox_frame">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>10</y>
-      <width>710</width>
-      <height>430</height>
-     </rect>
-    </property>
-    <property name="title">
-     <string>DBC file:</string>
-    </property>
-    <widget class="QListWidget" name="listWidget_signals">
-     <property name="geometry">
-      <rect>
-       <x>10</x>
-       <y>40</y>
-       <width>220</width>
-       <height>380</height>
-      </rect>
-     </property>
-     <property name="selectionMode">
-      <enum>QAbstractItemView::SingleSelection</enum>
-     </property>
-    </widget>
-    <widget class="QWidget" name="gridLayoutWidget">
-     <property name="geometry">
-      <rect>
-       <x>240</x>
-       <y>40</y>
-       <width>461</width>
-       <height>281</height>
-      </rect>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_frames_information">
-      <item row="6" column="1">
-       <widget class="QLabel" name="label_value_frame_name">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="1">
-       <widget class="QLabel" name="label_value_total_frames">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="9" column="0">
-       <widget class="QLabel" name="label_export_name">
-        <property name="text">
-         <string>Export name:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="8" column="0">
-       <spacer name="verticalSpacer_2">
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>40</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="4" column="0">
-       <spacer name="verticalSpacer_4">
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>40</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="5" column="0">
-       <widget class="QLabel" name="label_frame_id">
-        <property name="text">
-         <string>Frame ID:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="0">
-       <widget class="QLabel" name="label_total_signals">
-        <property name="text">
-         <string>Total signals:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="6" column="0">
-       <widget class="QLabel" name="label_frame_name">
-        <property name="text">
-         <string>Frame name:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="1">
-       <widget class="QLabel" name="label_value_total_signals">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="9" column="1">
-       <widget class="QLineEdit" name="lineEdit_export_name">
-        <property name="inputMask">
-         <string/>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <spacer name="horizontalSpacer_2">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="4" column="1">
-       <spacer name="horizontalSpacer_3">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="0">
-       <spacer name="verticalSpacer">
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>40</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="5" column="1">
-       <widget class="QLabel" name="label_value_frame_id">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="7" column="1">
-       <widget class="QLabel" name="label_value_number_of_signals">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="7" column="0">
-       <widget class="QLabel" name="label_number_of_signals">
-        <property name="text">
-         <string>Number of signals:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0">
-       <widget class="QLabel" name="label_total_frames">
-        <property name="text">
-         <string>Total frames:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0">
-       <widget class="QPushButton" name="pushButton_open_file">
-        <property name="text">
-         <string>Open file</string>
-        </property>
-       </widget>
-      </item>
-      <item row="10" column="0">
-       <widget class="QPushButton" name="pushButton_output_path">
-        <property name="text">
-         <string>Output path:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="10" column="1">
-       <widget class="QLineEdit" name="lineEdit_output_path"/>
-      </item>
-      <item row="0" column="1">
-       <widget class="QLabel" name="label_file_error">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item row="8" column="1">
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </widget>
-    <widget class="QLabel" name="label_frames_found">
-     <property name="geometry">
-      <rect>
-       <x>10</x>
-       <y>20</y>
-       <width>91</width>
-       <height>16</height>
-      </rect>
-     </property>
-     <property name="text">
-      <string>Frames found:</string>
-     </property>
-    </widget>
-    <widget class="QLabel" name="label_details">
-     <property name="geometry">
-      <rect>
-       <x>240</x>
-       <y>20</y>
-       <width>120</width>
-       <height>16</height>
-      </rect>
-     </property>
-     <property name="text">
-      <string>Details:</string>
-     </property>
-    </widget>
-    <widget class="QPushButton" name="pushButton_generate">
-     <property name="enabled">
-      <bool>false</bool>
-     </property>
-     <property name="geometry">
-      <rect>
-       <x>240</x>
-       <y>330</y>
-       <width>100</width>
-       <height>30</height>
-      </rect>
-     </property>
-     <property name="text">
-      <string>Generate</string>
-     </property>
-    </widget>
-   </widget>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>735</width>
-     <height>21</height>
-    </rect>
-   </property>
-   <widget class="QMenu" name="menuFiles">
-    <property name="title">
-     <string>Files</string>
-    </property>
-    <addaction name="actionOpen"/>
-    <addaction name="separator"/>
-    <addaction name="actionClose_all_files"/>
-    <addaction name="separator"/>
-    <addaction name="actionQuitter"/>
-   </widget>
-   <addaction name="menuFiles"/>
-  </widget>
-  <widget class="QStatusBar" name="statusBar"/>
-  <action name="actionOpen">
-   <property name="text">
-    <string>Open</string>
-   </property>
-   <property name="shortcut">
-    <string>Ctrl+O</string>
-   </property>
-  </action>
-  <action name="actionRecent_files">
-   <property name="text">
-    <string>Recent files</string>
-   </property>
-  </action>
-  <action name="actionClose_all_files">
-   <property name="text">
-    <string>Clear DBC</string>
-   </property>
-  </action>
-  <action name="actionQuitter">
-   <property name="text">
-    <string>Quitter</string>
-   </property>
-  </action>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
Index: branches/0.1.x/src/dbcDecriptor/src/main.cpp
===================================================================
--- branches/0.1.x/src/dbcDecriptor/src/main.cpp	(revision 331)
+++ branches/0.1.x/src/dbcDecriptor/src/main.cpp	(revision 331)
@@ -0,0 +1,11 @@
+#include "mainwindow.h"
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    MainWindow w;
+    w.show();
+
+    return a.exec();
+}
Index: branches/0.1.x/src/dbcDecriptor/src/mainwindow.cpp
===================================================================
--- branches/0.1.x/src/dbcDecriptor/src/mainwindow.cpp	(revision 331)
+++ branches/0.1.x/src/dbcDecriptor/src/mainwindow.cpp	(revision 331)
@@ -0,0 +1,560 @@
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+// DBC Decriptor                                                              //
+//                                                                            //
+// Made by Pierre Hudelaine                                                   //
+//                                                                            //
+// Contact: pierre.hudelaine@hds.utc.fr                                       //
+//                                                                            //
+// Translate a DBC file to Pacpus code                                        //
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include <iostream>
+#include <math.h>
+
+#include <QString>
+#include <QFileDialog>
+#include <QTextStream>
+#include <QDebug>
+#include <QDate>
+
+
+//----------------------------------------------------------------------------//
+// Constructor                                                                //
+//----------------------------------------------------------------------------//
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::MainWindow)
+{
+    ui->setupUi(this);
+
+    connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openDBCFile()));
+    connect(ui->actionClose_all_files, SIGNAL(triggered()), this, SLOT(clearDBC()));
+    connect(ui->actionQuitter, SIGNAL(triggered()), this, SLOT(close()));
+    connect(ui->pushButton_open_file, SIGNAL(clicked()), this, SLOT(openDBCFile()));
+
+    ui->label_file_error->setText("");
+    ui->label_value_frame_id->setText("");
+    ui->label_value_frame_name->setText("");
+    ui->label_value_number_of_signals->setText("");
+    ui->label_value_total_frames->setText("0");
+    ui->label_value_total_signals->setText("0");
+    ui->lineEdit_output_path->setText(QApplication::applicationDirPath());
+}
+
+
+//----------------------------------------------------------------------------//
+// Destructor                                                                 //
+//----------------------------------------------------------------------------//
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+
+
+//----------------------------------------------------------------------------//
+// Open the DBC file                                                          //
+//----------------------------------------------------------------------------//
+void MainWindow::openDBCFile()
+{
+    clearDBC();
+
+    dbcFiles_.fileName = QFileDialog::getOpenFileName(this, "Open dbc file", "", "dbc files (*.dbc);;Text files (*.txt);;All files (*.*)");
+
+    QFile file(dbcFiles_.fileName);
+
+    if (!file.open(QIODevice::ReadOnly))
+    {
+        ui->label_file_error->setText("<font color=\"#C80000\">Can not open the file</font>");
+    }
+    else
+    {
+        QTextStream stream(&file);
+        dbcFiles_.content = stream.readAll().split('\n');
+
+        QStringList signalName;
+        bool frameFound = false;
+        StructFrame tmpFrame;
+        tmpFrame.frameID = 0;
+        tmpFrame.frameName = "";
+        tmpFrame.numberOfSignals = 0;
+
+        for (int i = 0; i < dbcFiles_.content.size(); i++)
+        {
+            if (frameFound)
+            {
+                // " SG_" is the beginning if a line containing a signal information
+                if (dbcFiles_.content[i].startsWith(" SG_"))
+                {
+                    tmpFrame.numberOfSignals++;
+                    getSignalParameters(dbcFiles_.content[i], &tmpFrame);
+                }
+                else
+                    frameFound = false;
+            }
+
+            // "BO_" is the beginning of a line containing a frame information and all signals are following
+            if (dbcFiles_.content[i].startsWith("BO_"))
+            {
+                int numberOfSpace = 0, j = 0;
+                QString tmp;
+
+                frameFound = true;
+
+                // Get the ID of the frame
+                while(numberOfSpace != 2)
+                {
+                    if (dbcFiles_.content[i][j] == ' ')
+                        numberOfSpace++;
+                    if (numberOfSpace == 1)
+                        tmp.append(dbcFiles_.content[i][j]);
+                    j++;
+                }
+
+                tmpFrame.frameID = tmp.toInt();
+
+                tmp = "";
+
+                // Get the name of the frame
+                while(dbcFiles_.content[i][j] != ':')
+                {
+                    tmp.append(dbcFiles_.content[i][j]);
+                    j++;
+                }
+
+                tmpFrame.frameName = tmp;
+            }
+            else if (dbcFiles_.content[i].startsWith("CM_"))
+            {
+                // Get the comment at the end of the DBC file
+                findComment(i);
+            }
+            else if (dbcFiles_.content[i].startsWith("VAL_"))
+            {
+                // Get the value descritpion at the end of the DBC file
+                findValueDescription(i);
+            }
+
+            // If a hole frame has been treated it's registered in the vector
+            if (tmpFrame.numberOfSignals != 0 && !frameFound)
+            {
+                dbcFiles_.canFrames.append(tmpFrame);
+                ui->label_value_total_frames->setText(QString().setNum(ui->label_value_total_frames->text().toInt() + 1));
+                ui->label_value_total_signals->setText(QString().setNum(ui->label_value_total_signals->text().toInt() + tmpFrame.numberOfSignals));
+                tmpFrame.frameID = 0;
+                tmpFrame.frameName = "";
+                tmpFrame.numberOfSignals = 0;
+                tmpFrame.signalsVector.clear();
+            }
+        }
+
+        // Frames are added in the list
+        for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
+        {
+            if (dbcFiles_.canFrames[i].frameID >= 255)
+                signalName.append("0x" + QString().setNum(dbcFiles_.canFrames[i].frameID, 16).toUpper() + " " + dbcFiles_.canFrames[i].frameName);
+            else
+                signalName.append("0x0" + QString().setNum(dbcFiles_.canFrames[i].frameID, 16).toUpper() + " " + dbcFiles_.canFrames[i].frameName);
+        }
+
+        ui->listWidget_signals->addItems(signalName);
+        file.close();
+
+        //printAllFrames();
+    }
+}
+
+
+//----------------------------------------------------------------------------//
+// Print the parameters for a specific frame                                  //
+//----------------------------------------------------------------------------//
+void MainWindow::printFrame(int i, int j)
+{
+    qDebug() << dbcFiles_.canFrames[i].signalsVector[j].signalName << " "
+             << dbcFiles_.canFrames[i].signalsVector[j].startBit << " "
+             << dbcFiles_.canFrames[i].signalsVector[j].length << " "
+             << ((dbcFiles_.canFrames[i].signalsVector[j].order) ? "Motorola" : "Intel")
+             << " " << ((dbcFiles_.canFrames[i].signalsVector[j].valueType) ? "Signed" : "Unsigned")
+             << " " << dbcFiles_.canFrames[i].signalsVector[j].gain << " "
+             << dbcFiles_.canFrames[i].signalsVector[j].offset << " "
+             << dbcFiles_.canFrames[i].signalsVector[j].min << " "
+             << dbcFiles_.canFrames[i].signalsVector[j].max << " "
+             << ((dbcFiles_.canFrames[i].signalsVector[j].unit != "") ? dbcFiles_.canFrames[i].signalsVector[j].unit : "")
+             << dbcFiles_.canFrames[i].signalsVector[j].comment;
+}
+
+
+//----------------------------------------------------------------------------//
+// Print the parameters of all frames                                         //
+//----------------------------------------------------------------------------//
+void MainWindow::printAllFrames()
+{
+    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
+    {
+        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
+        {
+            printFrame(i, j);
+        }
+    }
+}
+
+
+//----------------------------------------------------------------------------//
+// Get the the signals informations in the DBC file                           //
+//----------------------------------------------------------------------------//
+void MainWindow::getSignalParameters(QString actualLine, StructFrame * actualCanFrame)
+{
+    StructSignal tmpSignal;
+
+    tmpSignal.order = true;
+    tmpSignal.gain = 0.0;
+    tmpSignal.length = 0;
+    tmpSignal.offset = 0.0;
+    tmpSignal.signalName = "";
+    tmpSignal.valueType = true;
+    tmpSignal.startBit = 0;
+    tmpSignal.unit = "";
+    tmpSignal.comment = "";
+    tmpSignal.description = "";
+
+    // Removing the untreated and unsued caracters
+    actualLine.remove('(');
+    actualLine.remove(')');
+    actualLine.remove('[');
+    actualLine.remove(']');
+    QStringList cutLine = actualLine.split(' ');
+
+    // Get the name
+    tmpSignal.signalName = cutLine.at(2);
+    cutLine = actualLine.split(" : ");
+
+    // Get the second part with the signal parameters for example : 63|8@0+ // 63 = startBit; 8 = length; 0 = Motorola order; + = Unsigned value
+    QStringList cutLineValue = cutLine.at(1).split(' ');
+    tmpSignal.startBit = cutLineValue.at(0).split('|').at(0).toInt();
+    tmpSignal.length = cutLineValue.at(0).split('|').at(1).split('@').at(0).toInt();
+    if (cutLineValue.at(0).split('|').at(1).split('@').at(1).at(0) == '1')
+        tmpSignal.order = false;
+    if (cutLineValue.at(0).split('|').at(1).split('@').at(1).at(1) == '+')
+        tmpSignal.valueType = false;
+
+    // Get the offset and the gain for example : (0.05,2) // 0.05 = gain; 2 = offset;
+    tmpSignal.gain = cutLineValue.at(1).split(',').at(0).toDouble();
+    tmpSignal.offset = cutLineValue.at(1).split(',').at(1).toDouble();
+
+    // Get the max and min for exemple : [-6.4|6.35] // -6.4 = max; 6.35 = max;
+    tmpSignal.min = cutLineValue.at(2).split('|').at(0).toDouble();
+    tmpSignal.max = cutLineValue.at(2).split('|').at(1).toDouble();
+
+    // Get the unit for example : "m/s" // m/s = unit
+    tmpSignal.unit = cutLineValue.at(3);
+    tmpSignal.unit.remove('"');
+
+    actualCanFrame->signalsVector.append(tmpSignal);
+}
+
+
+//----------------------------------------------------------------------------//
+// Find a comment and associate it to the signal                              //
+//----------------------------------------------------------------------------//
+void MainWindow::findComment(int k)
+{
+    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
+    {
+        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
+        {
+            if (dbcFiles_.content[k].contains(dbcFiles_.canFrames[i].signalsVector[j].signalName))
+            {
+                dbcFiles_.canFrames[i].signalsVector[j].comment = dbcFiles_.content[k].split('"').at(1);
+
+                while (dbcFiles_.content[k].at(dbcFiles_.content[k].size() - 2) != ';')
+                {
+                    k++;
+                    dbcFiles_.canFrames[i].signalsVector[j].comment += dbcFiles_.content[k];
+                }
+                return;
+            }
+        }
+    }
+}
+
+
+//----------------------------------------------------------------------------//
+// Find the value description and associate it to the signal                  //
+//----------------------------------------------------------------------------//
+void MainWindow::findValueDescription(int k)
+{
+    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
+    {
+        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
+        {
+            if (dbcFiles_.content[k].contains(dbcFiles_.canFrames[i].signalsVector[j].signalName))
+            {
+                dbcFiles_.canFrames[i].signalsVector[j].description = dbcFiles_.content[k].right(dbcFiles_.content[k].length() - (dbcFiles_.content[k].indexOf(dbcFiles_.canFrames[i].signalsVector[j].signalName) + dbcFiles_.canFrames[i].signalsVector[j].signalName.length()));
+                return;
+            }
+        }
+    }
+}
+
+
+//----------------------------------------------------------------------------//
+// Called from the HMI to clear the last information                          //
+//----------------------------------------------------------------------------//
+void MainWindow::clearDBC()
+{
+    dbcFiles_.canFrames.clear();
+    dbcFiles_.content.clear();
+    dbcFiles_.fileName = "";
+    ui->listWidget_signals->clear();
+
+    ui->label_file_error->setText("");
+    ui->label_value_frame_id->setText("");
+    ui->label_value_frame_name->setText("");
+    ui->label_value_number_of_signals->setText("");
+    ui->label_value_total_frames->setText("0");
+    ui->label_value_total_signals->setText("0");
+}
+
+
+//----------------------------------------------------------------------------//
+// Actualize the HMI with the last information                                //
+//----------------------------------------------------------------------------//
+void MainWindow::on_listWidget_signals_currentRowChanged(int currentRow)
+{
+    if (currentRow >= 0)
+    {
+        if (dbcFiles_.canFrames[currentRow].frameID >= 255)
+            ui->label_value_frame_id->setText("0x" + QString().setNum(dbcFiles_.canFrames[currentRow].frameID, 16).toUpper());
+        else
+            ui->label_value_frame_id->setText("0x0" + QString().setNum(dbcFiles_.canFrames[currentRow].frameID, 16).toUpper());
+
+        ui->label_value_frame_name->setText(dbcFiles_.canFrames[currentRow].frameName);
+        ui->label_value_number_of_signals->setText(QString().setNum(dbcFiles_.canFrames[currentRow].numberOfSignals));
+    }
+}
+
+
+//----------------------------------------------------------------------------//
+// Generate the c++ files from the dbc information previouly registered       //
+//----------------------------------------------------------------------------//
+void MainWindow::on_pushButton_generate_clicked()
+{
+    QDate date(QDate::currentDate());
+
+    // Creating the beginnig of the structure file
+    QString outputStructFile = templateStructFile;
+    outputStructFile.insert(outputStructFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
+    outputStructFile.insert(outputStructFile.indexOf("#ifndef __STRUCTURECAN") + 22, ui->lineEdit_export_name->text().toUpper());
+    outputStructFile.insert(outputStructFile.indexOf("#define __STRUCTURECAN") + 22, ui->lineEdit_export_name->text().toUpper());
+
+    for (int i = 0; i < dbcFiles_.canFrames.size(); i++)
+    {
+        QString outputCPPFile = templateCPPFile;
+        QString outputHFile = templateHFile;
+
+        // Creating the beginning of each c++ files
+        outputCPPFile.insert(outputCPPFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
+        outputCPPFile.insert(outputCPPFile.indexOf("#include \"CanFrame.h\"") + 18, dbcFiles_.canFrames[i].frameName);
+        outputCPPFile.insert(outputCPPFile.indexOf("void CanFrame") + 13, dbcFiles_.canFrames[i].frameName);
+
+        // Creating the beginning of each h files
+        outputHFile.insert(outputHFile.indexOf("created:") + 8, "    " + QString().setNum(date.year()) + "/" + QString().setNum(date.month()) + "/" + QString().setNum(date.day()));
+        outputHFile.insert(outputHFile.indexOf("#ifndef __CanFrame") + 18, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("#define __CanFrame") + 18, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("#include \"structureCan") + 22, ui->lineEdit_export_name->text());
+        outputHFile.insert(outputHFile.indexOf("class CAN") + 9, ui->lineEdit_export_name->text().toUpper());
+        outputHFile.insert(outputHFile.indexOf("_API CanFrame") + 13, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("CanFrame()") + 8, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("~CanFrame()") + 9, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("Struct data_;") + 6, dbcFiles_.canFrames[i].frameName);
+        outputHFile.insert(outputHFile.indexOf("return sizeof(Struct)") + 20, dbcFiles_.canFrames[i].frameName);
+
+        // Adding the structure of frames
+        outputStructFile.insert(outputStructFile.indexOf("#include \"Pacpus/kernel/road_time.h") + 36, "\n\ntypedef struct\n{\n} Struct" + dbcFiles_.canFrames[i].frameName + ";");
+
+        for (int j = 0; j < dbcFiles_.canFrames[i].signalsVector.size(); j++)
+        {
+            QString tmpCpp = "\n";
+
+            // If variables are bool
+            if (dbcFiles_.canFrames[i].signalsVector[j].length == 1)
+            {
+                tmpCpp.append("	data_." + dbcFiles_.canFrames[i].signalsVector[j].signalName + " = mDecodeToBool(d_.frame.data, " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].startBit) + ");");
+                if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
+                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	bool " + dbcFiles_.canFrames[i].signalsVector[j].signalName + "; /// " + dbcFiles_.canFrames[i].signalsVector[j].description + "\n");
+                else
+                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	bool " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";\n");
+            }
+            else
+            {
+                // If variables are Motorola or Intel
+                if (dbcFiles_.canFrames[i].signalsVector[j].order)
+                    tmpCpp.append("	if (mDecodeTo");
+                else
+                    tmpCpp.append("	if (iDecodeTo");
+
+                // If variables are signed...
+                if (dbcFiles_.canFrames[i].signalsVector[j].valueType)
+                {
+                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
+                        tmpCpp.append("I8(&ctmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
+                        tmpCpp.append("I16(&stmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
+                        tmpCpp.append("I32(&ltmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
+                        tmpCpp.append("I64(&lltmp, ");
+                }
+                else // ...Or not signed
+                {
+                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
+                        tmpCpp.append("UI8(&uctmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
+                        tmpCpp.append("UI16(&ustmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
+                        tmpCpp.append("UI32(&ultmp, ");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
+                        tmpCpp.append("UI64(&ulltmp, ");
+                }
+
+                // Code c++ added in the QString
+                tmpCpp.append("d_.frame.data, " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].startBit) + ", " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].length) + "))\n");
+                tmpCpp.append("		data_." + dbcFiles_.canFrames[i].signalsVector[j].signalName + " = ");
+
+                // Find the c++ type between double or integer
+                if (floor(dbcFiles_.canFrames[i].signalsVector[j].gain) == dbcFiles_.canFrames[i].signalsVector[j].gain)
+                {
+                    // If it's need a brace in c++
+                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append("(");
+
+                    // Define the type of the pointer which will store temporally the data
+                    if (!dbcFiles_.canFrames[i].signalsVector[j].valueType)
+                        tmpCpp.append("u");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
+                        tmpCpp.append("ctmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
+                        tmpCpp.append("stmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
+                        tmpCpp.append("ltmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
+                        tmpCpp.append("lltmp");
+
+                    // Setting the gain and the offset
+                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ") + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ";");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1)
+                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ";");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append(" + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ";");
+                    else
+                        tmpCpp.append(";");
+
+                    // Adding the value in the structure
+                    QString tmp;
+
+                    // Find the c++ variable type /!\ May differ from the signal !!!!
+                    if (dbcFiles_.canFrames[i].signalsVector[j].offset < 0 && !dbcFiles_.canFrames[i].signalsVector[j].valueType)
+                        tmp.append("	int");
+                    else
+                        tmp.append("	uint");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
+                        tmp.append("8_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
+                        tmp.append("16_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
+                        tmp.append("32_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
+                        tmp.append("64_t " + dbcFiles_.canFrames[i].signalsVector[j].signalName + ";");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
+                        tmp.append(" /// " + dbcFiles_.canFrames[i].signalsVector[j].description);
+
+                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), tmp + "\n");
+                }
+                else
+                {
+                    tmpCpp.append("static_cast<double>(");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append("(");
+
+                    if (!dbcFiles_.canFrames[i].signalsVector[j].valueType)
+                        tmpCpp.append("u");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].length <= 8)
+                        tmpCpp.append("ctmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 16)
+                        tmpCpp.append("stmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 32)
+                        tmpCpp.append("ltmp");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].length <= 64)
+                        tmpCpp.append("lltmp");
+
+                    if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1 && dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ") + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ");");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].gain != 1)
+                        tmpCpp.append(" * " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].gain) + ");");
+                    else if (dbcFiles_.canFrames[i].signalsVector[j].offset != 0)
+                        tmpCpp.append(" + " + QString().setNum(dbcFiles_.canFrames[i].signalsVector[j].offset) + ");");
+                    else
+                        tmpCpp.append(");");
+
+                    QString tmp = "";
+                    if (dbcFiles_.canFrames[i].signalsVector[j].description != "")
+                        tmp.append(" /// " + dbcFiles_.canFrames[i].signalsVector[j].description);
+
+                    outputStructFile.insert(outputStructFile.indexOf("} Struct" + dbcFiles_.canFrames[i].frameName), "	double " + dbcFiles_.canFrames[i].signalsVector[j].signalName + "; " + tmp + "\n");
+                }
+            }
+            if (dbcFiles_.canFrames[i].signalsVector[j].comment != "")
+                tmpCpp.append(" /*" + dbcFiles_.canFrames[i].signalsVector[j].comment + "*/");
+            outputCPPFile.insert(outputCPPFile.indexOf("unsigned char uctmp = 0") + 24, tmpCpp);
+        }
+        outputStructFile.insert(outputStructFile.indexOf("Struct" + dbcFiles_.canFrames[i].frameName + ";") + dbcFiles_.canFrames[i].frameName.size() + 7, "\n\ntypedef struct\n{\n	road_time_t time;\n	road_timerange_t timerange;\n	Struct" + dbcFiles_.canFrames[i].frameName + " d;\n} TimeStampedStruct" + dbcFiles_.canFrames[i].frameName + ";");
+
+        QFile canFrameCpp(ui->lineEdit_output_path->text() + "/CanFrame" + dbcFiles_.canFrames[i].frameName + ".cpp");
+        canFrameCpp.open(QIODevice::WriteOnly);
+        QTextStream cppOut(&canFrameCpp);
+        cppOut << outputCPPFile;
+        canFrameCpp.close();
+
+        QFile canFrameH(ui->lineEdit_output_path->text() + "/CanFrame" + dbcFiles_.canFrames[i].frameName + ".h");
+        canFrameH.open(QIODevice::WriteOnly);
+        QTextStream hOut(&canFrameH);
+        hOut << outputHFile;
+        canFrameH.close();
+    }
+
+    QFile struc(ui->lineEdit_output_path->text() + "/strucureCan" + ui->lineEdit_export_name->text() + ".h");
+    struc.open(QIODevice::WriteOnly);
+    QTextStream strucOut(&struc);
+    strucOut << outputStructFile;
+    struc.close();
+}
+
+
+//----------------------------------------------------------------------------//
+// Unlock the pushButton "Generate" when a string is registerer               //
+//----------------------------------------------------------------------------//
+void MainWindow::on_lineEdit_export_name_textChanged(const QString &arg1)
+{
+    if (arg1 == "")
+        ui->pushButton_generate->setEnabled(false);
+    else
+        ui->pushButton_generate->setEnabled(true);
+}
+
+
+//----------------------------------------------------------------------------//
+// Select the output directory                                                //
+//----------------------------------------------------------------------------//
+void MainWindow::on_pushButton_output_path_clicked()
+{
+    QString tmp = "";
+    if ((tmp = QFileDialog::getExistingDirectory(0, 0, ui->lineEdit_output_path->text())) != "")
+        ui->lineEdit_output_path->setText(tmp);
+}
Index: branches/0.1.x/src/dbcDecriptor/src/mainwindow.h
===================================================================
--- branches/0.1.x/src/dbcDecriptor/src/mainwindow.h	(revision 331)
+++ branches/0.1.x/src/dbcDecriptor/src/mainwindow.h	(revision 331)
@@ -0,0 +1,50 @@
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+// DBC Decriptor                                                              //
+//                                                                            //
+// Made by Pierre Hudelaine                                                   //
+//                                                                            //
+// Contact: pierre.hudelaine@hds.utc.fr                                       //
+//                                                                            //
+// Translate a DBC file to Pacpus code                                        //
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include <QListWidgetItem>
+
+#include "structure.h"
+
+namespace Ui {
+class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+private Q_SLOTS:
+    void openDBCFile();
+    void printFrame(int i, int j);
+    void printAllFrames();
+    void getSignalParameters(QString actualLine, StructFrame * actualCanFrame);
+    void clearDBC();
+    void findComment(int k);
+    void findValueDescription(int k);
+    void on_listWidget_signals_currentRowChanged(int currentRow);
+    void on_pushButton_generate_clicked();
+    void on_lineEdit_export_name_textChanged(const QString &arg1);
+
+    void on_pushButton_output_path_clicked();
+
+private:
+    Ui::MainWindow *ui;
+    StructDBCFile dbcFiles_;
+};
+
+#endif // MAINWINDOW_H
Index: branches/0.1.x/src/dbcDecriptor/src/mainwindow.ui
===================================================================
--- branches/0.1.x/src/dbcDecriptor/src/mainwindow.ui	(revision 331)
+++ branches/0.1.x/src/dbcDecriptor/src/mainwindow.ui	(revision 331)
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>735</width>
+    <height>480</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>735</width>
+    <height>480</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>735</width>
+    <height>480</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DBC Decriptor for Pacpus - by Pierre Hudelaine</string>
+  </property>
+  <property name="toolButtonStyle">
+   <enum>Qt::ToolButtonTextBesideIcon</enum>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <widget class="QGroupBox" name="groupBox_frame">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>10</y>
+      <width>710</width>
+      <height>430</height>
+     </rect>
+    </property>
+    <property name="title">
+     <string>DBC file:</string>
+    </property>
+    <widget class="QListWidget" name="listWidget_signals">
+     <property name="geometry">
+      <rect>
+       <x>10</x>
+       <y>40</y>
+       <width>220</width>
+       <height>380</height>
+      </rect>
+     </property>
+     <property name="selectionMode">
+      <enum>QAbstractItemView::SingleSelection</enum>
+     </property>
+    </widget>
+    <widget class="QWidget" name="gridLayoutWidget">
+     <property name="geometry">
+      <rect>
+       <x>240</x>
+       <y>40</y>
+       <width>461</width>
+       <height>281</height>
+      </rect>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_frames_information">
+      <item row="6" column="1">
+       <widget class="QLabel" name="label_value_frame_name">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="1">
+       <widget class="QLabel" name="label_value_total_frames">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="9" column="0">
+       <widget class="QLabel" name="label_export_name">
+        <property name="text">
+         <string>Export name:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="8" column="0">
+       <spacer name="verticalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>20</width>
+          <height>40</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="4" column="0">
+       <spacer name="verticalSpacer_4">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>20</width>
+          <height>40</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="5" column="0">
+       <widget class="QLabel" name="label_frame_id">
+        <property name="text">
+         <string>Frame ID:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="0">
+       <widget class="QLabel" name="label_total_signals">
+        <property name="text">
+         <string>Total signals:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="6" column="0">
+       <widget class="QLabel" name="label_frame_name">
+        <property name="text">
+         <string>Frame name:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="1">
+       <widget class="QLabel" name="label_value_total_signals">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="9" column="1">
+       <widget class="QLineEdit" name="lineEdit_export_name">
+        <property name="inputMask">
+         <string/>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="4" column="1">
+       <spacer name="horizontalSpacer_3">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="1" column="0">
+       <spacer name="verticalSpacer">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>20</width>
+          <height>40</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="5" column="1">
+       <widget class="QLabel" name="label_value_frame_id">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="7" column="1">
+       <widget class="QLabel" name="label_value_number_of_signals">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="7" column="0">
+       <widget class="QLabel" name="label_number_of_signals">
+        <property name="text">
+         <string>Number of signals:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0">
+       <widget class="QLabel" name="label_total_frames">
+        <property name="text">
+         <string>Total frames:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0">
+       <widget class="QPushButton" name="pushButton_open_file">
+        <property name="text">
+         <string>Open file</string>
+        </property>
+       </widget>
+      </item>
+      <item row="10" column="0">
+       <widget class="QPushButton" name="pushButton_output_path">
+        <property name="text">
+         <string>Output path:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="10" column="1">
+       <widget class="QLineEdit" name="lineEdit_output_path"/>
+      </item>
+      <item row="0" column="1">
+       <widget class="QLabel" name="label_file_error">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="8" column="1">
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+    <widget class="QLabel" name="label_frames_found">
+     <property name="geometry">
+      <rect>
+       <x>10</x>
+       <y>20</y>
+       <width>91</width>
+       <height>16</height>
+      </rect>
+     </property>
+     <property name="text">
+      <string>Frames found:</string>
+     </property>
+    </widget>
+    <widget class="QLabel" name="label_details">
+     <property name="geometry">
+      <rect>
+       <x>240</x>
+       <y>20</y>
+       <width>120</width>
+       <height>16</height>
+      </rect>
+     </property>
+     <property name="text">
+      <string>Details:</string>
+     </property>
+    </widget>
+    <widget class="QPushButton" name="pushButton_generate">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="geometry">
+      <rect>
+       <x>240</x>
+       <y>330</y>
+       <width>100</width>
+       <height>30</height>
+      </rect>
+     </property>
+     <property name="text">
+      <string>Generate</string>
+     </property>
+    </widget>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menuBar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>735</width>
+     <height>21</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuFiles">
+    <property name="title">
+     <string>Files</string>
+    </property>
+    <addaction name="actionOpen"/>
+    <addaction name="separator"/>
+    <addaction name="actionClose_all_files"/>
+    <addaction name="separator"/>
+    <addaction name="actionQuitter"/>
+   </widget>
+   <addaction name="menuFiles"/>
+  </widget>
+  <widget class="QStatusBar" name="statusBar"/>
+  <action name="actionOpen">
+   <property name="text">
+    <string>Open</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+O</string>
+   </property>
+  </action>
+  <action name="actionRecent_files">
+   <property name="text">
+    <string>Recent files</string>
+   </property>
+  </action>
+  <action name="actionClose_all_files">
+   <property name="text">
+    <string>Clear DBC</string>
+   </property>
+  </action>
+  <action name="actionQuitter">
+   <property name="text">
+    <string>Quitter</string>
+   </property>
+  </action>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
Index: branches/0.1.x/src/dbcDecriptor/src/structure.h
===================================================================
--- branches/0.1.x/src/dbcDecriptor/src/structure.h	(revision 331)
+++ branches/0.1.x/src/dbcDecriptor/src/structure.h	(revision 331)
@@ -0,0 +1,148 @@
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+// DBC Decriptor                                                              //
+//                                                                            //
+// Made by Pierre Hudelaine                                                   //
+//                                                                            //
+// Contact: pierre.hudelaine@hds.utc.fr                                       //
+//                                                                            //
+// Translate a DBC file to Pacpus code                                        //
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+
+#ifndef STRUCTURE_H
+#define STRUCTURE_H
+
+#include <QMap>
+#include <QFile>
+
+
+/// Structure of a complete signal
+typedef struct {
+    QString signalName; /// Signal name
+    int     startBit;   /// Startbit of the signal
+    int     length;     /// Length of the signal
+    bool    order;      /// Encoding type; true bigEndian; false littleEndian
+    bool    valueType;  /// Signe type; true signed; false unsigned
+    double  gain;       /// Gain of the signal
+    double  offset;     /// Offset of the signal
+    double  max;        /// Max of the value
+    double  min;        /// Min of the value
+    QString unit;       /// Unit of the signal
+    QString comment;    /// Associate comment of the signal
+    QString description;/// Value description
+} StructSignal;
+
+
+/// Strucure of a complete frame
+typedef struct {
+    int numberOfSignals;    /// Number of signal per frame
+    int frameID;            /// Frame ID
+    QString frameName;      /// Frame name
+    QVector<StructSignal> signalsVector; /// Signals of the frame
+} StructFrame;
+
+
+/// Structure of a complete dbc file
+typedef struct {
+    QVector<StructFrame> canFrames; /// Frames of the file
+    QString              fileName;  /// Path to the dbc file
+    QStringList          content;   /// Content of the dbc file
+} StructDBCFile;
+
+
+static const QString templateHFile =
+"/*******************************************************************************\n" \
+"//  created:\n" \
+"//\n" \
+"//  author:     Generated automatically with DBC decriptor\n" \
+"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
+"//\n" \
+"//  version:    $Id: $\n" \
+"//\n" \
+"//  purpose:\n" \
+"//\n" \
+"*******************************************************************************/\n" \
+"\n" \
+"#ifndef __CanFrame_h__\n" \
+"#define __CanFrame_h__\n" \
+"\n" \
+"#include \"CanGateway/CanFrameBase.h\"\n" \
+"#include \"structureCan.h\"\n" \
+"\n" \
+"namespace pacpus {\n" \
+"\n" \
+"class CAN_API CanFrame\n" \
+"       : public CanFrameBase\n" \
+"{\n" \
+"public:\n" \
+"    CanFrame() {}\n" \
+"    ~CanFrame() {}\n" \
+"    void decode();\n" \
+"    void * data() { return &data_; }\n" \
+"    int size() { return sizeof(Struct); }\n" \
+"\n" \
+"protected:\n" \
+"\n" \
+"private:\n" \
+"    Struct data_;\n" \
+"};\n" \
+"\n" \
+"}\n" \
+"\n" \
+"#endif;";
+
+static const QString templateCPPFile =
+"/*******************************************************************************\n" \
+"//  created:\n" \
+"//\n" \
+"//  author:     Generated automatically with DBC decriptor\n" \
+"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
+"//\n" \
+"//  version:    $Id: $\n" \
+"//\n" \
+"//  purpose:\n" \
+"//\n" \
+"*******************************************************************************/\n" \
+"\n" \
+"\n" \
+"#include \"CanFrame.h\"\n" \
+"#include <iostream>\n" \
+"\n" \
+"using namespace pacpus;\n" \
+"\n" \
+"void CanFrame::decode()\n" \
+"{\n" \
+"	long long lltmp = 0;\n" \
+"	unsigned long long ulltmp = 0;\n" \
+"	long ltmp = 0;\n" \
+"	unsigned long ultmp = 0;\n" \
+"	short stmp = 0;\n" \
+"	unsigned short ustmp = 0;\n" \
+"	char ctmp = 0;\n" \
+"	unsigned char uctmp = 0;\n" \
+"};";
+
+static const QString templateStructFile =
+"/*******************************************************************************\n" \
+"//  created:\n" \
+"//\n" \
+"//  author:     Generated automatically with DBC decriptor\n" \
+"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
+"//\n" \
+"//  version:    $Id: $\n" \
+"//\n" \
+"//  purpose:\n" \
+"//\n" \
+"*******************************************************************************/\n" \
+"\n" \
+"#ifndef __STRUCTURECAN_H__\n" \
+"#define __STRUCTURECAN_H__\n" \
+"\n" \
+"#include <cstddef>\n" \
+"\n" \
+"#include \"Pacpus/kernel/cstdint.h\"\n" \
+"#include \"Pacpus/kernel/road_time.h\"\n" \
+"\n" \
+"\n" \
+"#endif";
+
+#endif // STRUCTURE_H
Index: branches/0.1.x/src/dbcDecriptor/structure.h
===================================================================
--- branches/0.1.x/src/dbcDecriptor/structure.h	(revision 328)
+++ 	(revision )
@@ -1,148 +1,0 @@
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-// DBC Decriptor                                                              //
-//                                                                            //
-// Made by Pierre Hudelaine                                                   //
-//                                                                            //
-// Contact: pierre.hudelaine@hds.utc.fr                                       //
-//                                                                            //
-// Translate a DBC file to Pacpus code                                        //
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
-
-#ifndef STRUCTURE_H
-#define STRUCTURE_H
-
-#include <QMap>
-#include <QFile>
-
-
-/// Structure of a complete signal
-typedef struct {
-    QString signalName; /// Signal name
-    int     startBit;   /// Startbit of the signal
-    int     length;     /// Length of the signal
-    bool    order;      /// Encoding type; true bigEndian; false littleEndian
-    bool    valueType;  /// Signe type; true signed; false unsigned
-    double  gain;       /// Gain of the signal
-    double  offset;     /// Offset of the signal
-    double  max;        /// Max of the value
-    double  min;        /// Min of the value
-    QString unit;       /// Unit of the signal
-    QString comment;    /// Associate comment of the signal
-    QString description;/// Value description
-} StructSignal;
-
-
-/// Strucure of a complete frame
-typedef struct {
-    int numberOfSignals;    /// Number of signal per frame
-    int frameID;            /// Frame ID
-    QString frameName;      /// Frame name
-    QVector<StructSignal> signalsVector; /// Signals of the frame
-} StructFrame;
-
-
-/// Structure of a complete dbc file
-typedef struct {
-    QVector<StructFrame> canFrames; /// Frames of the file
-    QString              fileName;  /// Path to the dbc file
-    QStringList          content;   /// Content of the dbc file
-} StructDBCFile;
-
-
-static const QString templateHFile =
-"/*******************************************************************************\n" \
-"//  created:\n" \
-"//\n" \
-"//  author:     Generated automatically with DBC decriptor\n" \
-"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
-"//\n" \
-"//  version:    $Id: $\n" \
-"//\n" \
-"//  purpose:\n" \
-"//\n" \
-"*******************************************************************************/\n" \
-"\n" \
-"#ifndef __CanFrame_h__\n" \
-"#define __CanFrame_h__\n" \
-"\n" \
-"#include \"CanGateway/CanFrameBase.h\"\n" \
-"#include \"structureCan.h\"\n" \
-"\n" \
-"namespace pacpus {\n" \
-"\n" \
-"class CAN_API CanFrame\n" \
-"       : public CanFrameBase\n" \
-"{\n" \
-"public:\n" \
-"    CanFrame() {}\n" \
-"    ~CanFrame() {}\n" \
-"    void decode();\n" \
-"    void * data() { return &data_; }\n" \
-"    int size() { return sizeof(Struct); }\n" \
-"\n" \
-"protected:\n" \
-"\n" \
-"private:\n" \
-"    Struct data_;\n" \
-"};\n" \
-"\n" \
-"}\n" \
-"\n" \
-"#endif;";
-
-static const QString templateCPPFile =
-"/*******************************************************************************\n" \
-"//  created:\n" \
-"//\n" \
-"//  author:     Generated automatically with DBC decriptor\n" \
-"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
-"//\n" \
-"//  version:    $Id: $\n" \
-"//\n" \
-"//  purpose:\n" \
-"//\n" \
-"*******************************************************************************/\n" \
-"\n" \
-"\n" \
-"#include \"CanFrame.h\"\n" \
-"#include <iostream>\n" \
-"\n" \
-"using namespace pacpus;\n" \
-"\n" \
-"void CanFrame::decode()\n" \
-"{\n" \
-"	long long lltmp = 0;\n" \
-"	unsigned long long ulltmp = 0;\n" \
-"	long ltmp = 0;\n" \
-"	unsigned long ultmp = 0;\n" \
-"	short stmp = 0;\n" \
-"	unsigned short ustmp = 0;\n" \
-"	char ctmp = 0;\n" \
-"	unsigned char uctmp = 0;\n" \
-"};";
-
-static const QString templateStructFile =
-"/*******************************************************************************\n" \
-"//  created:\n" \
-"//\n" \
-"//  author:     Generated automatically with DBC decriptor\n" \
-"//              Copyright Heudiasyc UMR UTC/CNRS 7253\n" \
-"//\n" \
-"//  version:    $Id: $\n" \
-"//\n" \
-"//  purpose:\n" \
-"//\n" \
-"*******************************************************************************/\n" \
-"\n" \
-"#ifndef __STRUCTURECAN_H__\n" \
-"#define __STRUCTURECAN_H__\n" \
-"\n" \
-"#include <cstddef>\n" \
-"\n" \
-"#include \"Pacpus/kernel/cstdint.h\"\n" \
-"#include \"Pacpus/kernel/road_time.h\"\n" \
-"\n" \
-"\n" \
-"#endif";
-
-#endif // STRUCTURE_H
Index: branches/0.1.x/src/ico/heudiasycIco.rc
===================================================================
--- branches/0.1.x/src/ico/heudiasycIco.rc	(revision 331)
+++ branches/0.1.x/src/ico/heudiasycIco.rc	(revision 331)
@@ -0,0 +1,1 @@
+IDI_ICON1               ICON    DISCARDABLE     "heudiasyc.ico"
