aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/templates/wizards/projects/qtforpythonapplication/mainwindow/wizard.json
blob: 58e9f8cd52667cb5789a81a65534f91dbfc8cc75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
{
    "version": 1,
    "supportedProjectTypes": [ "PythonProject" ],
    "id": "F.QtForPythonApplicationWindow",
    "category": "F.ApplicationPySide",
    "trDescription": "Creates a Qt for Python application that contains an empty window.",
    "trDisplayName": "Empty Window",
    "trDisplayCategory": "Application (Qt for Python)",
    "icon": "../icons/icon.png",
    "iconKind": "Themed",
    "enabled": "%{JS: value('Plugins').indexOf('Python') >= 0 && (!value('Platform').length || ['Desktop', 'DockerDeviceType', 'GenericLinuxOsType'].includes(value('Platform')))}",

    "options":
    [
        { "key": "MainPyFileName", "value": "%{ProjectDirectory}/%{SrcFileName}" },
        { "key":  "PyProjectFile", "value": "%{ProjectDirectory}/%{ProjectFileName}" }
    ],

    "pages":
    [
        {
            "trDisplayName": "Project Location",
            "trShortTitle": "Location",
            "typeId": "Project",
            "name": "ProjectPath"
        },
        {
            "trDisplayName": "Define Class",
            "trShortTitle": "Details",
            "typeId": "Fields",
            "data" :
            [
                {
                    "name": "PySideVersion",
                    "trDisplayName": "PySide version:",
                    "type": "ComboBox",
                    "data":
                    {
                        "index": 1,
                        "items": [ "PySide2", "PySide6" ]
                    }
                },
                {
                    "name": "Class",
                    "trDisplayName": "Class name:",
                    "mandatory": true,
                    "type": "LineEdit",
                    "data":
                    {
                        "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)",
                        "trText": "%{JS: value('BaseCB') ? value('BaseCB').slice(1) : 'MyClass'}"
                    }
                },
                {
                    "name": "BaseCB",
                    "trDisplayName": "Base class:",
                    "type": "ComboBox",
                    "data":
                    {
                        "items": [ "QWidget", "QMainWindow",
                                 { "trKey": "<Custom>", "value": "" } ]
                    }
                },
                {
                    "name": "SrcFileName",
                    "type": "LineEdit",
                    "trDisplayName": "Source file:",
                    "mandatory": true,
                    "data": { "trText": "%{JS: Cpp.classToFileName(value('Class'), Util.preferredSuffix('text/x-python'))}" }
                },
                {
                    "name": "ProjectFileName",
                    "type": "LineEdit",
                    "trDisplayName": "Project file:",
                    "mandatory": true,
                    "data": { "trText": "%{JS: Util.fileName('%{ProjectName}', 'pyproject')}" }
                }
            ]
        },
        {
            "trDisplayName": "Project Management",
            "trShortTitle": "Summary",
            "typeId": "Summary"
        }
    ],
    "generators":
    [
        {
            "typeId": "File",
            "data":
            [
                {
                    "source": "../main.pyproject",
                    "target": "%{PyProjectFile}",
                    "openAsProject": true
                },
                {
                    "source": "../main_mainwindow.py",
                    "target": "%{MainPyFileName}",
                    "openInEditor": true
                },
                {
                    "source": "../../git.ignore",
                    "target": ".gitignore",
                    "condition": "%{JS: !value('IsSubproject') && value('VersionControl') === 'G.Git'}"
                }
            ]
        }
    ]
}