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