renderercreator.cpp
changeset 0 b856a9924bbc
child 6 ac3b45850c50
equal deleted inserted replaced
-1:000000000000 0:b856a9924bbc
       
     1 #include "renderercreator.h"
       
     2 #include <QDir>
       
     3 #include <QTextStream>
       
     4 
       
     5 
       
     6 RendererCreator::RendererCreator(MainWindow& aUi) : iUi( aUi )
       
     7 {
       
     8     generateFolders();
       
     9     generateResource();
       
    10     generateBuildFile();
       
    11     generateMMP();
       
    12     generateHeader();
       
    13     generateSource();
       
    14 }
       
    15 
       
    16 void RendererCreator::generateFolders()
       
    17 {
       
    18     QDir dir;
       
    19     dir.mkpath( iUi.widgetName() + "/renderingplugin");
       
    20     dir.setPath( iUi.widgetName() + "/renderingplugin");
       
    21     dir.mkpath( "data" );
       
    22     dir.mkpath( "group" );
       
    23     dir.mkpath( "inc" );
       
    24     dir.mkpath( "src" );
       
    25 }
       
    26 
       
    27 void RendererCreator::generateResource()
       
    28 {
       
    29     iUi.replaceData("data/renderingplugin/data/renderer.rss",
       
    30                 iUi.widgetName() + "/renderingplugin/data/" + iUi.rendererName() +  "renderer.rss");
       
    31 }
       
    32 
       
    33 void RendererCreator::generateBuildFile()
       
    34 {
       
    35     iUi.replaceData("data/renderingplugin/group/bld.inf",
       
    36                  iUi.widgetName() + "/renderingplugin/group/bld.inf");
       
    37 }
       
    38 
       
    39 void RendererCreator::generateMMP()
       
    40 {
       
    41     iUi.replaceData("data/renderingplugin/group/renderer.mmp",
       
    42                 iUi.widgetName() + "/renderingplugin/group/" + iUi.rendererName() +  "renderer.mmp");
       
    43 }
       
    44 
       
    45 void RendererCreator::generateHeader()
       
    46 {
       
    47     iUi.replaceData("data/renderingplugin/inc/renderer.h",
       
    48                  iUi.widgetName() + "/renderingplugin/inc/" + iUi.rendererName() +  "renderer.h");
       
    49 }
       
    50 
       
    51 void RendererCreator::generateSource()
       
    52 {
       
    53     iUi.replaceData("data/renderingplugin/src/renderer.cpp",
       
    54                 iUi.widgetName() + "/renderingplugin/src/" + iUi.rendererName() +  "renderer.cpp");
       
    55 }
       
    56 
       
    57 void RendererCreator::replaceData( QString sourceFile, QString destFile )
       
    58 {
       
    59     QFile infile(sourceFile);
       
    60     if (!infile.open(QIODevice::ReadWrite | QIODevice::Text))
       
    61         return;
       
    62 
       
    63     QTextStream in(&infile);
       
    64 
       
    65     QFile outfile(destFile);
       
    66     if (!outfile.open(QIODevice::ReadWrite | QIODevice::Text))
       
    67         return;
       
    68 
       
    69     QTextStream out(&outfile);
       
    70 
       
    71     while (!in.atEnd())
       
    72     {
       
    73         QString line = in.readLine();
       
    74         line.replace(QString("#replace#"), iUi.rendererName());
       
    75         line.replace(QString("#replaceuid#"), iUi.rendererUid());
       
    76         out << line << "\n";
       
    77     }
       
    78 }