private string AddProjectItemCpp(string location, string pch) { var cppFile = Path.GetTempFileName(); using (var tmp = new StreamWriter(cppFile)) { tmp.Write("#include \"%INCLUDE%\"\r\n\r\n" + "%NAMESPACE_BEGIN%%CLASS%::%CLASS%(%CTORSIG%)%BASECLASS%\r\n" + "{\r\n}\r\n\r\n" + "%CLASS%::~%CLASS%()\r\n" + "{\r\n}\r\n" + "%NAMESPACE_END%"); } cppFile = QtProject.CopyFileToFolder(cppFile, location, data.ClassSourceFile); if (!string.IsNullOrEmpty(pch)) { QtProject.ReplaceTokenInFile(cppFile, "%INCLUDE%", pch + "\"\r\n#include \"%INCLUDE%"); } QtProject.ReplaceTokenInFile(cppFile, "%INCLUDE%", data.ClassHeaderFile); QtProject.ReplaceTokenInFile(cppFile, "%CLASS%", data.ClassName); QtProject.ReplaceTokenInFile(cppFile, "%BASECLASS%", string.IsNullOrEmpty(data .ConstructorSignature) ? "" : "\r\n : " + data.BaseClass + "(parent)"); QtProject.ReplaceTokenInFile(cppFile, "%CTORSIG%", data.ConstructorSignature); return(cppFile); }
private string AddProjectItemUi(string location) { var uiFile = Path.GetTempFileName(); using (var tmp = new StreamWriter(uiFile)) { tmp.Write( "<UI version=\"4.0\" >\r\n" + " <class>%CLASS%</class>\r\n" + " <widget class=\"%BASECLASS%\" name=\"%CLASS%\" >\r\n" + " <property name=\"objectName\" >\r\n" + " <string notr=\"true\">%CLASS%</string>\r\n" + " </property>\r\n" + " <property name=\"geometry\" >\r\n" + " <rect>\r\n" + " <x>0</x>\r\n" + " <y>0</y>\r\n" + " <width>400</width>\r\n" + " <height>300</height>\r\n" + " </rect>\r\n" + " </property>\r\n" + " <property name=\"windowTitle\" >\r\n" + " <string>%CLASS%</string>\r\n" + " </property>%CENTRAL_WIDGET%\r\n" + " </widget>\r\n" + " <layoutDefault spacing=\"6\" margin=\"11\" />\r\n" + " <pixmapfunction></pixmapfunction>\r\n" + " <resources/>\r\n" + " <connections/>\r\n" + "</UI>\r\n"); } uiFile = QtProject.CopyFileToFolder(uiFile, location, data.UiFile); QtProject.ReplaceTokenInFile(uiFile, "%CLASS%", data.ClassName); QtProject.ReplaceTokenInFile(uiFile, "%BASECLASS%", data.BaseClass); if (data.BaseClass == "QMainWindow") { QtProject.ReplaceTokenInFile(uiFile, "%CENTRAL_WIDGET%", "\r\n <widget class=\"QMenuBar\" name=\"menuBar\" />" + "\r\n <widget class=\"QToolBar\" name=\"mainToolBar\" />" + "\r\n <widget class=\"QWidget\" name=\"centralWidget\" />" + "\r\n <widget class=\"QStatusBar\" name=\"statusBar\" />"); } else if (data.BaseClass == "QDockWidget") { QtProject.ReplaceTokenInFile(uiFile, "%CENTRAL_WIDGET%", "\r\n <widget class=\"QWidget\" name=\"widget\" />"); } else { QtProject.ReplaceTokenInFile(uiFile, "%CENTRAL_WIDGET%", string.Empty); } return(uiFile); }
private string AddProjectItemCpp(string location, string pch) { var replaceUiHeader = false; var cppFile = Path.GetTempFileName(); using (var tmp = new StreamWriter(cppFile)) { var content = string.Empty; switch (data.UiClassInclusion) { case UiClassInclusion.Member: content = MemberClassSource; break; case UiClassInclusion.MemberPointer: replaceUiHeader = true; content = MemberPointerClassSource; break; case UiClassInclusion.MultipleInheritance: content = InheritanceClassSource; break; } tmp.Write(content); } cppFile = QtProject.CopyFileToFolder(cppFile, location, data.ClassSourceFile); if (!string.IsNullOrEmpty(pch)) { QtProject.ReplaceTokenInFile(cppFile, "%INCLUDE%", pch + "\"\r\n#include \"%INCLUDE%"); } QtProject.ReplaceTokenInFile(cppFile, "%INCLUDE%", data.ClassHeaderFile); QtProject.ReplaceTokenInFile(cppFile, "%CLASS%", data.ClassName); QtProject.ReplaceTokenInFile(cppFile, "%BASECLASS%", data.BaseClass); if (replaceUiHeader) { QtProject.ReplaceTokenInFile(cppFile, "%UI_HDR%", "ui_" + Path .GetFileNameWithoutExtension(data.UiFile) + ".h"); } return(cppFile); }
private string AddProjectItemHpp(string location) { var hppFile = Path.GetTempFileName(); using (var tmp = new StreamWriter(hppFile)) { tmp.Write("#pragma once\r\n\r\n" + "%BASECLASSINCLUDE%%NAMESPACE_BEGIN%class %CLASS%%BASEDECL%\r\n" + "{%Q_OBJECT%\r\n" + "public:\r\n" + " %CLASS%(%CTORSIG%);\r\n" + " ~%CLASS%();\r\n" + "};\r\n" + "%NAMESPACE_END%"); } hppFile = QtProject.CopyFileToFolder(hppFile, location, data.ClassHeaderFile); QtProject.ReplaceTokenInFile(hppFile, "%CLASS%", data.ClassName); QtProject.ReplaceTokenInFile(hppFile, "%BASECLASS%", data.BaseClass); if (string.IsNullOrEmpty(data.BaseClass)) { QtProject.ReplaceTokenInFile(hppFile, "%BASEDECL%", string.Empty); QtProject.ReplaceTokenInFile(hppFile, "%BASECLASSINCLUDE%", string.Empty); QtProject.ReplaceTokenInFile(hppFile, "%Q_OBJECT%", string.Empty); QtProject.ReplaceTokenInFile(hppFile, "%CTORSIG%", string.Empty); } else { QtProject.ReplaceTokenInFile(hppFile, "%BASEDECL%", " : public " + data.BaseClass); QtProject.ReplaceTokenInFile(hppFile, "%BASECLASSINCLUDE%", "#include <" + data.BaseClass + ">\r\n\r\n"); if (data.InsertQObjectMacro) { QtProject.ReplaceTokenInFile(hppFile, "%Q_OBJECT%", "\r\n\tQ_OBJECT\r\n"); } QtProject.ReplaceTokenInFile(hppFile, "%CTORSIG%", data.ConstructorSignature); } return(hppFile); }
public string CopyFileToFolder(string srcFile, string destFolder, string destName) { return(QtProject.CopyFileToFolder(srcFile, destFolder, destName)); }