Migration of QtMvvm from github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

271 lines
10 KiB

{
"version": 1,
"supportedProjectTypes": [ "Qt4ProjectManager.Qt4Project" ],
"id": "G.QtMvvm",
"category": "F.Application",
"trDescription": "Creates a QtMvvm project skeleton, for easy creation of new QtMvvm projects.",
"trDisplayName": "QtMvvm Application Project",
"trDisplayCategory": "Application",
"icon": "../../global/guiapplication.png",
"featuresRequired": [ "QtSupport.Wizards.FeatureQt" ],
"enabled": "%{JS: [ %{Plugins} ].indexOf('QmakeProjectManager') >= 0}",
"options":
[
{ "key": "ProjectLowerName", "value": "%{JS: '%{ProjectName}'.toLowerCase()}" },
{ "key": "ProFileName", "value": "%{JS: Util.fileName('%{ProjectDirectory}/%{ProjectName}', 'pro')}" },
{ "key": "CoreName", "value": "%{ProjectName}Core" },
{ "key": "CoreDirectory", "value": "%{ProjectDirectory}/%{CoreName}" },
{ "key": "CoreProName", "value": "%{JS: Util.fileName('%{CoreDirectory}/%{CoreName}', 'pro')}" },
{ "key": "WidgetsName", "value": "%{ProjectName}Widgets" },
{ "key": "WidgetsDirectory", "value": "%{ProjectDirectory}/%{WidgetsName}" },
{ "key": "WidgetsProName", "value": "%{JS: Util.fileName('%{WidgetsDirectory}/%{WidgetsName}', 'pro')}" },
{ "key": "QuickName", "value": "%{ProjectName}Quick" },
{ "key": "QuickDirectory", "value": "%{ProjectDirectory}/%{QuickName}" },
{ "key": "QuickProName", "value": "%{JS: Util.fileName('%{QuickDirectory}/%{QuickName}', 'pro')}" },
{ "key": "AppName", "value": "%{ProjectName}App" },
{ "key": "AppHdrName", "value": "%{JS: Cpp.classToFileName('%{AppName}', '%{JS: Util.preferredSuffix('text/x-c++hdr')}')}" },
{ "key": "AppSrcName", "value": "%{JS: Cpp.classToFileName('%{AppName}', '%{JS: Util.preferredSuffix('text/x-c++src')}')}" },
{ "key": "AppCn", "value": "%{JS: Cpp.className('%{AppName}')}" },
{ "key": "AppGuard", "value": "%{JS: Cpp.headerGuard('%{AppHdrName}')}" },
{ "key": "VmHdrName", "value": "%{JS: Cpp.classToFileName('%{VmClassName}', '%{JS: Util.preferredSuffix('text/x-c++hdr')}')}" },
{ "key": "VmSrcName", "value": "%{JS: Cpp.classToFileName('%{VmClassName}', '%{JS: Util.preferredSuffix('text/x-c++src')}')}" },
{ "key": "VmCn", "value": "%{JS: Cpp.className('%{VmClassName}')}" },
{ "key": "VmGuard", "value": "%{JS: Cpp.headerGuard('%{VmHdrName}')}" },
{ "key": "AppQrcName", "value": "%{JS: '%{CoreName}'.toLowerCase()}" },
{ "key": "AppQrcFile", "value": "%{JS: Util.fileName('%{AppQrcName}', 'qrc')}" },
{ "key": "WindowHdrName", "value": "%{JS: Cpp.classToFileName('%{WindowClassName}', '%{JS: Util.preferredSuffix('text/x-c++hdr')}')}" },
{ "key": "WindowSrcName", "value": "%{JS: Cpp.classToFileName('%{WindowClassName}', '%{JS: Util.preferredSuffix('text/x-c++src')}')}" },
{ "key": "WindowFormName", "value": "%{JS: Cpp.classToFileName('%{WindowClassName}', '%{JS: Util.preferredSuffix('application/x-designer')}')}" },
{ "key": "WindowCn", "value": "%{JS: Cpp.className('%{WindowClassName}')}" },
{ "key": "WindowGuard", "value": "%{JS: Cpp.headerGuard('%{WindowHdrName}')}" },
{ "key": "QuickQrcFile", "value": "%{JS: Util.fileName('%{JS: '%{QuickName}'.toLowerCase()}', 'qrc')}" },
{ "key": "QuickQmlName", "value": "%{JS: Util.fileName('%{QuickClassName}', '%{JS: Util.preferredSuffix('text/x-qml')}')}" }
],
"pages":
[
{
"trDisplayName": "Project Location",
"trShortTitle": "Location",
"typeId": "Project",
"data": { "trDescription": "This wizard creates the skeleton." }
},
{
"trDisplayName": "Define Project Details",
"trShortTitle": "Details",
"typeId": "Fields",
"data" :
[
{
"name": "CreateWidgets",
"trDisplayName": "Create Widgets GUI",
"type": "CheckBox",
"data":
{
"checkedValue": "CreateWidgets",
"uncheckedValue": "",
"checked": "true"
}
},
{
"name": "CreateQuick",
"trDisplayName": "Create Quick GUI",
"type": "CheckBox",
"data":
{
"checkedValue": "CreateQuick",
"uncheckedValue": "",
"checked": "true"
}
},
{
"name": "UseSettings",
"trDisplayName": "Add Settings template",
"type": "CheckBox",
"data":
{
"checkedValue": "UseSettings",
"uncheckedValue": "",
"checked": "true"
}
}
]
},
{
"trDisplayName": "Define Initial ViewModel",
"trShortTitle": "ViewModel",
"typeId": "Fields",
"data" :
[
{
"name": "VmName",
"trDisplayName": "ViewModel base name:",
"mandatory": true,
"type": "LineEdit",
"data":
{
"trText": "Main",
"validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)"
}
},
{
"name": "Sp1",
"type": "Spacer",
"data": { "factor": 2 }
},
{
"name": "VmClassName",
"type": "LineEdit",
"trDisplayName": "ViewModel class name:",
"mandatory": true,
"data":
{
"trText": "%{VmName}ViewModel",
"validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)"
}
},
{
"name": "WindowClassName",
"type": "LineEdit",
"trDisplayName": "Widget class name:",
"mandatory": true,
"data":
{
"trText": "%{VmName}Window",
"validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)"
}
},
{
"name": "QuickClassName",
"type": "LineEdit",
"trDisplayName": "Qml class name:",
"mandatory": true,
"data":
{
"trText": "%{VmName}View",
"validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)"
}
}
]
},
{
"trDisplayName": "Kit Selection",
"trShortTitle": "Kits",
"typeId": "Kits",
"enabled": "%{IsTopLevelProject}",
"data": { "projectFilePath": "%{ProFileName}" }
},
{
"trDisplayName": "Project Management",
"trShortTitle": "Summary",
"typeId": "Summary"
}
],
"generators":
[
{
"typeId": "File",
"data":
[
{
"source": "project.pro",
"target": "%{ProFileName}",
"openAsProject": true
},
{
"source": "core.pro",
"target": "%{CoreProName}"
},
{
"source": "app.h",
"target": "%{CoreDirectory}/%{AppHdrName}"
},
{
"source": "app.cpp",
"target": "%{CoreDirectory}/%{AppSrcName}"
},
{
"source": "viewmodel.h",
"target": "%{CoreDirectory}/%{VmHdrName}"
},
{
"source": "viewmodel.cpp",
"target": "%{CoreDirectory}/%{VmSrcName}"
},
{
"source": "core.qrc",
"target": "%{CoreDirectory}/%{AppQrcFile}",
"condition": "%{JS: '%{UseSettings}' !== ''}"
},
{
"source": "settings.xml",
"target": "%{CoreDirectory}/settings.xml",
"condition": "%{JS: '%{UseSettings}' !== ''}"
},
{
"source": "widgets.pro",
"target": "%{WidgetsProName}",
"condition": "%{JS: '%{CreateWidgets}' !== ''}"
},
{
"source": "widgets_main.cpp",
"target": "%{WidgetsDirectory}/main.cpp",
"condition": "%{JS: '%{CreateWidgets}' !== ''}"
},
{
"source": "window.h",
"target": "%{WidgetsDirectory}/%{WindowHdrName}",
"condition": "%{JS: '%{CreateWidgets}' !== ''}"
},
{
"source": "window.cpp",
"target": "%{WidgetsDirectory}/%{WindowSrcName}",
"condition": "%{JS: '%{CreateWidgets}' !== ''}"
},
{
"source": "window.ui",
"target": "%{WidgetsDirectory}/%{WindowFormName}",
"condition": "%{JS: '%{CreateWidgets}' !== ''}"
},
{
"source": "quick.pro",
"target": "%{QuickProName}",
"condition": "%{JS: '%{CreateQuick}' !== ''}"
},
{
"source": "quick_main.cpp",
"target": "%{QuickDirectory}/main.cpp",
"condition": "%{JS: '%{CreateQuick}' !== ''}"
},
{
"source": "quick.qrc",
"target": "%{QuickDirectory}/%{QuickQrcFile}",
"condition": "%{JS: '%{CreateQuick}' !== ''}"
},
{
"source": "App.qml",
"target": "%{QuickDirectory}/App.qml",
"condition": "%{JS: '%{CreateQuick}' !== ''}"
},
{
"source": "view.qml",
"target": "%{QuickDirectory}/%{QuickQmlName}",
"condition": "%{JS: '%{CreateQuick}' !== ''}"
},
{
"source": "git.ignore",
"target": "%{ProjectDirectory}/.gitignore",
"condition": "%{JS: !%{IsSubproject} && '%{VersionControl}' === 'G.Git'}"
}
]
}
]
}