diff -r 000000000000 -r b856a9924bbc renderercreator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/renderercreator.cpp Wed Jun 02 13:22:05 2010 +0300 @@ -0,0 +1,78 @@ +#include "renderercreator.h" +#include +#include + + +RendererCreator::RendererCreator(MainWindow& aUi) : iUi( aUi ) +{ + generateFolders(); + generateResource(); + generateBuildFile(); + generateMMP(); + generateHeader(); + generateSource(); +} + +void RendererCreator::generateFolders() +{ + QDir dir; + dir.mkpath( iUi.widgetName() + "/renderingplugin"); + dir.setPath( iUi.widgetName() + "/renderingplugin"); + dir.mkpath( "data" ); + dir.mkpath( "group" ); + dir.mkpath( "inc" ); + dir.mkpath( "src" ); +} + +void RendererCreator::generateResource() +{ + iUi.replaceData("data/renderingplugin/data/renderer.rss", + iUi.widgetName() + "/renderingplugin/data/" + iUi.rendererName() + "renderer.rss"); +} + +void RendererCreator::generateBuildFile() +{ + iUi.replaceData("data/renderingplugin/group/bld.inf", + iUi.widgetName() + "/renderingplugin/group/bld.inf"); +} + +void RendererCreator::generateMMP() +{ + iUi.replaceData("data/renderingplugin/group/renderer.mmp", + iUi.widgetName() + "/renderingplugin/group/" + iUi.rendererName() + "renderer.mmp"); +} + +void RendererCreator::generateHeader() +{ + iUi.replaceData("data/renderingplugin/inc/renderer.h", + iUi.widgetName() + "/renderingplugin/inc/" + iUi.rendererName() + "renderer.h"); +} + +void RendererCreator::generateSource() +{ + iUi.replaceData("data/renderingplugin/src/renderer.cpp", + iUi.widgetName() + "/renderingplugin/src/" + iUi.rendererName() + "renderer.cpp"); +} + +void RendererCreator::replaceData( QString sourceFile, QString destFile ) +{ + QFile infile(sourceFile); + if (!infile.open(QIODevice::ReadWrite | QIODevice::Text)) + return; + + QTextStream in(&infile); + + QFile outfile(destFile); + if (!outfile.open(QIODevice::ReadWrite | QIODevice::Text)) + return; + + QTextStream out(&outfile); + + while (!in.atEnd()) + { + QString line = in.readLine(); + line.replace(QString("#replace#"), iUi.rendererName()); + line.replace(QString("#replaceuid#"), iUi.rendererUid()); + out << line << "\n"; + } +}