@qooxdoo/framework 7.4.2 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Manifest.json +1 -1
- package/bin/deploy/qx +7 -5
- package/lib/compiler/compile-info.json +81 -81
- package/lib/compiler/index.js +496 -453
- package/lib/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +7 -7
- package/lib/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +6 -6
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +9 -9
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +5 -5
- package/lib/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +7 -7
- package/lib/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/lib/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js +6 -6
- package/lib/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +12 -12
- package/lib/resource/qx/tool/website/src/about.md +1 -1
- package/package.json +2 -2
- package/source/class/qx/Class.js +3 -3
- package/source/class/qx/bom/Cookie.js +1 -1
- package/source/class/qx/data/Array.js +3 -3
- package/source/class/qx/data/SingleValueBinding.js +1 -1
- package/source/class/qx/dom/Hierarchy.js +2 -2
- package/source/class/qx/event/Manager.js +1 -1
- package/source/class/qx/event/handler/TouchCore.js +1 -1
- package/source/class/qx/html/Jsx.js +1 -1
- package/source/class/qx/lang/Array.js +2 -2
- package/source/class/qx/lang/Function.js +19 -22
- package/source/class/qx/locale/MTranslation.js +4 -4
- package/source/class/qx/locale/Manager.js +7 -7
- package/source/class/qx/module/util/Array.js +2 -2
- package/source/class/qx/test/io/transport/Websocket.js +1 -1
- package/source/class/qx/theme/IndigoDark.js +28 -0
- package/source/class/qx/theme/indigo/AppearanceDark.js +186 -0
- package/source/class/qx/theme/indigo/ColorDark.js +117 -0
- package/source/class/qx/theme/indigo/DecorationDark.js +30 -0
- package/source/class/qx/theme/indigo/ImageDark.js +101 -0
- package/source/class/qx/tool/cli/Application.js +4 -1
- package/source/class/qx/tool/cli/Cli.js +22 -23
- package/source/class/qx/tool/cli/Watch.js +28 -27
- package/source/class/qx/tool/cli/commands/Compile.js +2 -1
- package/source/class/qx/tool/cli/commands/Lint.js +1 -1
- package/source/class/qx/tool/cli/commands/Run.js +6 -7
- package/source/class/qx/tool/cli/commands/Serve.js +29 -36
- package/source/class/qx/tool/cli/commands/Test.js +3 -2
- package/source/class/qx/tool/cli/commands/add/Script.js +3 -1
- package/source/class/qx/tool/cli/commands/package/Install.js +3 -0
- package/source/class/qx/tool/cli/commands/package/Publish.js +16 -4
- package/source/class/qx/tool/compiler/ClassFile.js +2 -1
- package/source/class/qx/tool/compiler/app/Cldr.js +63 -26
- package/source/class/qx/tool/compiler/targets/meta/Browserify.js +19 -9
- package/source/class/qx/ui/basic/Image.js +6 -2
- package/source/class/qx/ui/command/Group.js +2 -2
- package/source/class/qx/ui/command/GroupManager.js +3 -3
- package/source/class/qx/ui/control/ColorSelector.js +1 -1
- package/source/class/qx/ui/core/MMultiSelectionHandling.js +1 -1
- package/source/class/qx/ui/core/SingleSelectionManager.js +1 -1
- package/source/class/qx/ui/core/Widget.js +13 -42
- package/source/class/qx/ui/form/Form.js +1 -1
- package/source/class/qx/ui/list/List.js +1 -1
- package/source/class/qx/ui/mobile/form/Form.js +2 -2
- package/source/class/qx/util/OOUtil.js +1 -1
- package/source/resource/qx/mobile/scss/common/_gradients.scss +1 -1
- package/source/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +7 -7
- package/source/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +6 -6
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +9 -9
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +5 -5
- package/source/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +7 -7
- package/source/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/source/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js +6 -6
- package/source/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +12 -12
- package/source/resource/qx/tool/website/src/about.md +1 -1
|
@@ -64,7 +64,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
64
64
|
*
|
|
65
65
|
* @param messageId {String} message id (may contain format strings)
|
|
66
66
|
* @param varargs {Object} variable number of arguments applied to the format string
|
|
67
|
-
* @return {String
|
|
67
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
68
68
|
* @see qx.lang.String.format
|
|
69
69
|
*/
|
|
70
70
|
tr(messageId, varargs) {
|
|
@@ -82,7 +82,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
82
82
|
* @param pluralMessageId {String} message id of the plural form (may contain format strings)
|
|
83
83
|
* @param count {Integer} singular form if equals 1, otherwise plural
|
|
84
84
|
* @param varargs {Object} variable number of arguments applied to the format string
|
|
85
|
-
* @return {String
|
|
85
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
86
86
|
* @see qx.lang.String.format
|
|
87
87
|
*/
|
|
88
88
|
trn(singularMessageId, pluralMessageId, count, varargs) {
|
|
@@ -108,7 +108,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
108
108
|
* @param hint {String} hint for the translator of the message. Will be included in the .po file.
|
|
109
109
|
* @param messageId {String} message id (may contain format strings)
|
|
110
110
|
* @param varargs {Object} variable number of arguments applied to the format string
|
|
111
|
-
* @return {String
|
|
111
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
112
112
|
* @see qx.lang.String.format
|
|
113
113
|
*/
|
|
114
114
|
trc(hint, messageId, varargs) {
|
|
@@ -128,7 +128,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
128
128
|
* @param pluralMessageId {String} message id of the plural form (may contain format strings)
|
|
129
129
|
* @param count {Integer} singular form if equals 1, otherwise plural
|
|
130
130
|
* @param varargs {Object} variable number of arguments applied to the format string
|
|
131
|
-
* @return {String
|
|
131
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
132
132
|
* @see qx.lang.String.format
|
|
133
133
|
*/
|
|
134
134
|
trnc(hint, singularMessageId, pluralMessageId, count, varargs) {
|
|
@@ -335,7 +335,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
335
335
|
* @param messageId {String} message id (may contain format strings)
|
|
336
336
|
* @param args {Object[]} array of objects, which are inserted into the format string
|
|
337
337
|
* @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
|
|
338
|
-
* @return {String
|
|
338
|
+
* @return {String|LocalizedString} translated message or localized string
|
|
339
339
|
*/
|
|
340
340
|
translate(messageId, args, locale) {
|
|
341
341
|
var catalog = this.__translations;
|
|
@@ -353,7 +353,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
353
353
|
* @param messageId {String} message id (may contain format strings)
|
|
354
354
|
* @param args {Object[]} array of objects, which are inserted into the format string
|
|
355
355
|
* @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
|
|
356
|
-
* @return {String
|
|
356
|
+
* @return {String|LocalizedString} translated message or localized string
|
|
357
357
|
*/
|
|
358
358
|
localize(messageId, args, locale) {
|
|
359
359
|
var catalog = this.__locales;
|
|
@@ -372,7 +372,7 @@ qx.Class.define("qx.locale.Manager", {
|
|
|
372
372
|
* @param messageId {String} message id (may contain format strings)
|
|
373
373
|
* @param args {Object[]} array of objects, which are inserted into the format string
|
|
374
374
|
* @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
|
|
375
|
-
* @return {String
|
|
375
|
+
* @return {String|LocalizedString} translated message or localized string
|
|
376
376
|
*/
|
|
377
377
|
__lookupAndExpand(catalog, messageId, args, locale) {
|
|
378
378
|
if (qx.core.Environment.get("qx.debug")) {
|
|
@@ -111,7 +111,7 @@ qx.Bootstrap.define("qx.module.util.Array", {
|
|
|
111
111
|
* @attachStatic {qxWeb, array.max}
|
|
112
112
|
*
|
|
113
113
|
* @param arr {Array} Array to process.
|
|
114
|
-
* @return {Number
|
|
114
|
+
* @return {Number|undefined} The highest of all values or undefined if array is empty.
|
|
115
115
|
*/
|
|
116
116
|
max: qx.lang.Array.max,
|
|
117
117
|
|
|
@@ -123,7 +123,7 @@ qx.Bootstrap.define("qx.module.util.Array", {
|
|
|
123
123
|
* @attachStatic {qxWeb, array.min}
|
|
124
124
|
*
|
|
125
125
|
* @param arr {Array} Array to process.
|
|
126
|
-
* @return {Number
|
|
126
|
+
* @return {Number|undefined} The lowest of all values or undefined if array is empty.
|
|
127
127
|
*/
|
|
128
128
|
min: qx.lang.Array.min,
|
|
129
129
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/* ************************************************************************
|
|
2
|
+
|
|
3
|
+
qooxdoo - the new era of web development
|
|
4
|
+
|
|
5
|
+
http://qooxdoo.org
|
|
6
|
+
|
|
7
|
+
License:
|
|
8
|
+
MIT: https://opensource.org/licenses/MIT
|
|
9
|
+
See the LICENSE file in the project's top-level directory for details.
|
|
10
|
+
|
|
11
|
+
Authors:
|
|
12
|
+
* Scott Knick (sknick)
|
|
13
|
+
|
|
14
|
+
************************************************************************ */
|
|
15
|
+
/**
|
|
16
|
+
* IndigoDark Theme
|
|
17
|
+
*/
|
|
18
|
+
qx.Theme.define("qx.theme.IndigoDark", {
|
|
19
|
+
title: "IndigoDark",
|
|
20
|
+
|
|
21
|
+
meta: {
|
|
22
|
+
color: qx.theme.indigo.ColorDark,
|
|
23
|
+
decoration: qx.theme.indigo.DecorationDark,
|
|
24
|
+
font: qx.theme.indigo.Font,
|
|
25
|
+
appearance: qx.theme.indigo.AppearanceDark,
|
|
26
|
+
icon: qx.theme.icon.Tango
|
|
27
|
+
}
|
|
28
|
+
});
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/* ************************************************************************
|
|
2
|
+
|
|
3
|
+
qooxdoo - the new era of web development
|
|
4
|
+
|
|
5
|
+
http://qooxdoo.org
|
|
6
|
+
|
|
7
|
+
License:
|
|
8
|
+
MIT: https://opensource.org/licenses/MIT
|
|
9
|
+
See the LICENSE file in the project's top-level directory for details.
|
|
10
|
+
|
|
11
|
+
Authors:
|
|
12
|
+
* Scott Knick (sknick)
|
|
13
|
+
|
|
14
|
+
************************************************************************* */
|
|
15
|
+
|
|
16
|
+
/* ************************************************************************
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
************************************************************************* */
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The Indigo qooxdoo dark appearance theme.
|
|
23
|
+
*
|
|
24
|
+
* @asset(qx/icon/${qx.icontheme}/16/apps/office-calendar.png)
|
|
25
|
+
* @asset(qx/icon/${qx.icontheme}/16/places/folder-open.png)
|
|
26
|
+
* @asset(qx/icon/${qx.icontheme}/16/places/folder.png)
|
|
27
|
+
* @asset(qx/icon/${qx.icontheme}/16/mimetypes/text-plain.png)
|
|
28
|
+
* @asset(qx/icon/${qx.icontheme}/16/actions/view-refresh.png)
|
|
29
|
+
* @asset(qx/icon/${qx.icontheme}/16/actions/window-close.png)
|
|
30
|
+
* @asset(qx/icon/${qx.icontheme}/16/actions/dialog-cancel.png)
|
|
31
|
+
* @asset(qx/icon/${qx.icontheme}/16/actions/dialog-ok.png)
|
|
32
|
+
*/
|
|
33
|
+
qx.Theme.define("qx.theme.indigo.AppearanceDark", {
|
|
34
|
+
extend: qx.theme.indigo.Appearance,
|
|
35
|
+
|
|
36
|
+
appearances: {
|
|
37
|
+
"progressbar": {
|
|
38
|
+
style(states) {
|
|
39
|
+
return {
|
|
40
|
+
decorator: "progressbar",
|
|
41
|
+
padding: 1,
|
|
42
|
+
backgroundColor: "light-background",
|
|
43
|
+
width: 200,
|
|
44
|
+
height: 20
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
"tabview-page/button": {
|
|
50
|
+
style(states) {
|
|
51
|
+
var decorator;
|
|
52
|
+
|
|
53
|
+
// default padding
|
|
54
|
+
if (states.barTop || states.barBottom) {
|
|
55
|
+
var padding = [8, 16, 8, 13];
|
|
56
|
+
} else {
|
|
57
|
+
var padding = [8, 4, 8, 4];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// decorator
|
|
61
|
+
if (states.checked) {
|
|
62
|
+
if (states.barTop) {
|
|
63
|
+
decorator = "tabview-page-button-top";
|
|
64
|
+
} else if (states.barBottom) {
|
|
65
|
+
decorator = "tabview-page-button-bottom";
|
|
66
|
+
} else if (states.barRight) {
|
|
67
|
+
decorator = "tabview-page-button-right";
|
|
68
|
+
} else if (states.barLeft) {
|
|
69
|
+
decorator = "tabview-page-button-left";
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
for (var i = 0; i < padding.length; i++) {
|
|
73
|
+
padding[i] += 1;
|
|
74
|
+
}
|
|
75
|
+
// reduce the size by 1 because we have different decorator border width
|
|
76
|
+
if (states.barTop) {
|
|
77
|
+
padding[2] -= 1;
|
|
78
|
+
} else if (states.barBottom) {
|
|
79
|
+
padding[0] -= 1;
|
|
80
|
+
} else if (states.barRight) {
|
|
81
|
+
padding[3] -= 1;
|
|
82
|
+
} else if (states.barLeft) {
|
|
83
|
+
padding[1] -= 1;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
zIndex: states.checked ? 10 : 5,
|
|
89
|
+
decorator: decorator,
|
|
90
|
+
textColor: states.disabled
|
|
91
|
+
? "text-disabled"
|
|
92
|
+
: states.checked
|
|
93
|
+
? "font"
|
|
94
|
+
: "tabview-unselected",
|
|
95
|
+
padding: padding,
|
|
96
|
+
cursor: "pointer"
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
"textfield": {
|
|
102
|
+
style(states) {
|
|
103
|
+
var textColor;
|
|
104
|
+
if (states.disabled) {
|
|
105
|
+
textColor = "text-disabled";
|
|
106
|
+
} else if (states.showingPlaceholder) {
|
|
107
|
+
textColor = "text-placeholder";
|
|
108
|
+
} else {
|
|
109
|
+
textColor = undefined;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var decorator;
|
|
113
|
+
var padding;
|
|
114
|
+
if (states.disabled) {
|
|
115
|
+
decorator = "inset";
|
|
116
|
+
padding = [2, 3];
|
|
117
|
+
} else if (states.invalid) {
|
|
118
|
+
decorator = "border-invalid";
|
|
119
|
+
padding = [1, 2];
|
|
120
|
+
} else if (states.focused) {
|
|
121
|
+
decorator = "focused-inset";
|
|
122
|
+
padding = [1, 2];
|
|
123
|
+
} else {
|
|
124
|
+
padding = [2, 3];
|
|
125
|
+
decorator = "inset";
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return {
|
|
129
|
+
decorator: decorator,
|
|
130
|
+
padding: padding,
|
|
131
|
+
textColor: textColor,
|
|
132
|
+
backgroundColor: states.disabled ? "background-disabled" : "light-background"
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
"window/minimize-button": {
|
|
138
|
+
alias: "button",
|
|
139
|
+
|
|
140
|
+
style(states) {
|
|
141
|
+
return {
|
|
142
|
+
icon: qx.theme.indigo.ImageDark.URLS["window-minimize"],
|
|
143
|
+
padding: [1, 2],
|
|
144
|
+
cursor: states.disabled ? undefined : "pointer"
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
"window/restore-button": {
|
|
150
|
+
alias: "button",
|
|
151
|
+
|
|
152
|
+
style(states) {
|
|
153
|
+
return {
|
|
154
|
+
icon: qx.theme.indigo.ImageDark.URLS["window-restore"],
|
|
155
|
+
padding: [1, 2],
|
|
156
|
+
cursor: states.disabled ? undefined : "pointer"
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
"window/maximize-button": {
|
|
162
|
+
alias: "button",
|
|
163
|
+
|
|
164
|
+
style(states) {
|
|
165
|
+
return {
|
|
166
|
+
icon: qx.theme.indigo.ImageDark.URLS["window-maximize"],
|
|
167
|
+
padding: [1, 2],
|
|
168
|
+
cursor: states.disabled ? undefined : "pointer"
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
"window/close-button": {
|
|
174
|
+
alias: "button",
|
|
175
|
+
|
|
176
|
+
style(states) {
|
|
177
|
+
return {
|
|
178
|
+
marginLeft: 2,
|
|
179
|
+
icon: qx.theme.indigo.ImageDark.URLS["window-close"],
|
|
180
|
+
padding: [1, 2],
|
|
181
|
+
cursor: states.disabled ? undefined : "pointer"
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
});
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/* ************************************************************************
|
|
2
|
+
|
|
3
|
+
qooxdoo - the new era of web development
|
|
4
|
+
|
|
5
|
+
http://qooxdoo.org
|
|
6
|
+
|
|
7
|
+
License:
|
|
8
|
+
MIT: https://opensource.org/licenses/MIT
|
|
9
|
+
See the LICENSE file in the project's top-level directory for details.
|
|
10
|
+
|
|
11
|
+
Authors:
|
|
12
|
+
* Scott Knick (sknick)
|
|
13
|
+
|
|
14
|
+
************************************************************************ */
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Indigo dark color theme
|
|
18
|
+
*/
|
|
19
|
+
qx.Theme.define("qx.theme.indigo.ColorDark", {
|
|
20
|
+
colors: {
|
|
21
|
+
// main
|
|
22
|
+
"background": "#333333",
|
|
23
|
+
"dark-blue": "#323335",
|
|
24
|
+
"light-background": "#444444",
|
|
25
|
+
"font": "#dddddd",
|
|
26
|
+
|
|
27
|
+
"highlight": "#eeeeee",
|
|
28
|
+
"highlight-shade": "#dddddd",
|
|
29
|
+
|
|
30
|
+
// backgrounds
|
|
31
|
+
"background-selected": "#666666",
|
|
32
|
+
"background-selected-disabled": "#777777",
|
|
33
|
+
"background-selected-dark": "#333333",
|
|
34
|
+
"background-disabled": "#444444",
|
|
35
|
+
"background-disabled-checked": "#bbbbbb",
|
|
36
|
+
"background-pane": "#333333",
|
|
37
|
+
|
|
38
|
+
// tabview
|
|
39
|
+
"tabview-unselected": "#aaaaaa",
|
|
40
|
+
"tabview-button-border": "#444444",
|
|
41
|
+
"tabview-label-active-disabled": "#d9d9d9",
|
|
42
|
+
|
|
43
|
+
// text colors
|
|
44
|
+
"link": "#ffffff",
|
|
45
|
+
|
|
46
|
+
// scrollbar
|
|
47
|
+
"scrollbar-bright": "#555555",
|
|
48
|
+
"scrollbar-dark": "#333333",
|
|
49
|
+
|
|
50
|
+
// form
|
|
51
|
+
"button": "#444444",
|
|
52
|
+
"button-border": "#666666",
|
|
53
|
+
"button-border-hovered": "#939393",
|
|
54
|
+
"invalid": "#d44a56",
|
|
55
|
+
"button-box-bright": "#555555",
|
|
56
|
+
"button-box-dark": "#444444",
|
|
57
|
+
"button-box-bright-pressed": "#333333",
|
|
58
|
+
"button-box-dark-pressed": "#222222",
|
|
59
|
+
"border-lead": "#888888",
|
|
60
|
+
|
|
61
|
+
// window
|
|
62
|
+
"window-border": "#444444",
|
|
63
|
+
"window-border-inner": "#666666",
|
|
64
|
+
|
|
65
|
+
// group box
|
|
66
|
+
"white-box-border": "#444444",
|
|
67
|
+
|
|
68
|
+
// shadows
|
|
69
|
+
"shadow": qx.core.Environment.get("css.rgba")
|
|
70
|
+
? "rgba(0, 0, 0, 0.4)"
|
|
71
|
+
: "#666666",
|
|
72
|
+
|
|
73
|
+
// borders
|
|
74
|
+
"border-main": "#444444",
|
|
75
|
+
"border-light": "#666666",
|
|
76
|
+
"border-light-shadow": "#555555",
|
|
77
|
+
|
|
78
|
+
// separator
|
|
79
|
+
"border-separator": "#808080",
|
|
80
|
+
|
|
81
|
+
// text
|
|
82
|
+
"text": "#dddddd",
|
|
83
|
+
"text-disabled": "#666666",
|
|
84
|
+
"text-selected": "#ffffff",
|
|
85
|
+
"text-placeholder": "#cbc8cd",
|
|
86
|
+
|
|
87
|
+
// tooltip
|
|
88
|
+
"tooltip": "#666666",
|
|
89
|
+
"tooltip-text": "#dddddd",
|
|
90
|
+
|
|
91
|
+
// table
|
|
92
|
+
"table-header": "#f2f2f2",
|
|
93
|
+
"table-focus-indicator": "#eeeeee",
|
|
94
|
+
|
|
95
|
+
// used in table code
|
|
96
|
+
"table-header-cell": "#ebeadb",
|
|
97
|
+
"table-row-background-focused-selected": "#666666",
|
|
98
|
+
"table-row-background-focused": "#666666",
|
|
99
|
+
"table-row-background-selected": "#666666",
|
|
100
|
+
"table-row-background-even": "#333333",
|
|
101
|
+
"table-row-background-odd": "#333333",
|
|
102
|
+
"table-row-selected": "#eeeeee",
|
|
103
|
+
"table-row": "#eeeeee",
|
|
104
|
+
"table-row-line": "#555555",
|
|
105
|
+
"table-column-line": "#555555",
|
|
106
|
+
|
|
107
|
+
// used in progressive code
|
|
108
|
+
"progressive-table-header": "#ebeadb",
|
|
109
|
+
"progressive-table-row-background-even": "#333333",
|
|
110
|
+
"progressive-table-row-background-odd": "#333333",
|
|
111
|
+
"progressive-progressbar-background": "gray",
|
|
112
|
+
"progressive-progressbar-indicator-done": "#cccccc",
|
|
113
|
+
"progressive-progressbar-indicator-undone": "#ffffff",
|
|
114
|
+
"progressive-progressbar-percent-background": "gray",
|
|
115
|
+
"progressive-progressbar-percent-text": "#ffffff"
|
|
116
|
+
}
|
|
117
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* ************************************************************************
|
|
2
|
+
|
|
3
|
+
qooxdoo - the new era of web development
|
|
4
|
+
|
|
5
|
+
http://qooxdoo.org
|
|
6
|
+
|
|
7
|
+
License:
|
|
8
|
+
MIT: https://opensource.org/licenses/MIT
|
|
9
|
+
See the LICENSE file in the project's top-level directory for details.
|
|
10
|
+
|
|
11
|
+
Authors:
|
|
12
|
+
* Scott Knick (sknick)
|
|
13
|
+
* Dmitrii Zolotov (goldim)
|
|
14
|
+
|
|
15
|
+
************************************************************************ */
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The indigo dark qooxdoo decoration theme.
|
|
19
|
+
*/
|
|
20
|
+
qx.Theme.define("qx.theme.indigo.DecorationDark", {
|
|
21
|
+
extend: qx.theme.indigo.Decoration,
|
|
22
|
+
|
|
23
|
+
decorations: {
|
|
24
|
+
"menubar-button-hovered": {
|
|
25
|
+
style: {
|
|
26
|
+
backgroundColor: "background"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/* ************************************************************************
|
|
2
|
+
|
|
3
|
+
qooxdoo - the new era of web development
|
|
4
|
+
|
|
5
|
+
http://qooxdoo.org
|
|
6
|
+
|
|
7
|
+
License:
|
|
8
|
+
MIT: https://opensource.org/licenses/MIT
|
|
9
|
+
See the LICENSE file in the project's top-level directory for details.
|
|
10
|
+
|
|
11
|
+
Authors:
|
|
12
|
+
* Scott Knick (sknick)
|
|
13
|
+
|
|
14
|
+
************************************************************************ */
|
|
15
|
+
/* ************************************************************************
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
************************************************************************* */
|
|
19
|
+
/**
|
|
20
|
+
* Mapping class for all images used in the Indigo dark theme.
|
|
21
|
+
*
|
|
22
|
+
* @asset(qx/decoration/Simple/*)
|
|
23
|
+
* @asset(qx/static/blank.png)
|
|
24
|
+
*/
|
|
25
|
+
qx.Class.define("qx.theme.indigo.ImageDark", {
|
|
26
|
+
extend: qx.core.Object,
|
|
27
|
+
|
|
28
|
+
statics: {
|
|
29
|
+
/**
|
|
30
|
+
* Holds a map containing all the URL to the images.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
URLS: {
|
|
34
|
+
blank: "qx/static/blank.png",
|
|
35
|
+
|
|
36
|
+
// checkbox
|
|
37
|
+
"checkbox-checked": "decoration/checkbox/checked.png",
|
|
38
|
+
"checkbox-undetermined": "decoration/checkbox/undetermined.png",
|
|
39
|
+
|
|
40
|
+
// window
|
|
41
|
+
"window-minimize": "decoration/window/minimize-white.gif",
|
|
42
|
+
"window-maximize": "decoration/window/maximize-white.gif",
|
|
43
|
+
"window-restore": "decoration/window/restore-white.gif",
|
|
44
|
+
"window-close": "decoration/window/close-white.gif",
|
|
45
|
+
|
|
46
|
+
// cursor
|
|
47
|
+
"cursor-copy": "decoration/cursors/copy.gif",
|
|
48
|
+
"cursor-move": "decoration/cursors/move.gif",
|
|
49
|
+
"cursor-alias": "decoration/cursors/alias.gif",
|
|
50
|
+
"cursor-nodrop": "decoration/cursors/nodrop.gif",
|
|
51
|
+
|
|
52
|
+
// arrows
|
|
53
|
+
"arrow-right": "decoration/arrows/right.gif",
|
|
54
|
+
"arrow-left": "decoration/arrows/left.gif",
|
|
55
|
+
"arrow-up": "decoration/arrows/up.gif",
|
|
56
|
+
"arrow-down": "decoration/arrows/down.gif",
|
|
57
|
+
"arrow-forward": "decoration/arrows/forward.gif",
|
|
58
|
+
"arrow-rewind": "decoration/arrows/rewind.gif",
|
|
59
|
+
"arrow-down-small": "decoration/arrows/down-small.gif",
|
|
60
|
+
"arrow-up-small": "decoration/arrows/up-small.gif",
|
|
61
|
+
"arrow-up-invert": "decoration/arrows/up-invert.gif",
|
|
62
|
+
"arrow-down-invert": "decoration/arrows/down-invert.gif",
|
|
63
|
+
"arrow-right-invert": "decoration/arrows/right-invert.gif",
|
|
64
|
+
|
|
65
|
+
// split pane
|
|
66
|
+
"knob-horizontal": "decoration/splitpane/knob-horizontal.png",
|
|
67
|
+
"knob-vertical": "decoration/splitpane/knob-vertical.png",
|
|
68
|
+
|
|
69
|
+
// tree
|
|
70
|
+
"tree-minus": "decoration/tree/minus.gif",
|
|
71
|
+
"tree-plus": "decoration/tree/plus.gif",
|
|
72
|
+
|
|
73
|
+
// table
|
|
74
|
+
"select-column-order": "decoration/table/select-column-order.png",
|
|
75
|
+
"table-ascending": "decoration/table/ascending.png",
|
|
76
|
+
"table-descending": "decoration/table/descending.png",
|
|
77
|
+
|
|
78
|
+
// tree virtual
|
|
79
|
+
"treevirtual-line": "decoration/treevirtual/line.gif",
|
|
80
|
+
"treevirtual-minus-only": "decoration/treevirtual/only_minus.gif",
|
|
81
|
+
"treevirtual-plus-only": "decoration/treevirtual/only_plus.gif",
|
|
82
|
+
"treevirtual-minus-start": "decoration/treevirtual/start_minus.gif",
|
|
83
|
+
"treevirtual-plus-start": "decoration/treevirtual/start_plus.gif",
|
|
84
|
+
"treevirtual-minus-end": "decoration/treevirtual/end_minus.gif",
|
|
85
|
+
"treevirtual-plus-end": "decoration/treevirtual/end_plus.gif",
|
|
86
|
+
"treevirtual-minus-cross": "decoration/treevirtual/cross_minus.gif",
|
|
87
|
+
"treevirtual-plus-cross": "decoration/treevirtual/cross_plus.gif",
|
|
88
|
+
"treevirtual-end": "decoration/treevirtual/end.gif",
|
|
89
|
+
"treevirtual-cross": "decoration/treevirtual/cross.gif",
|
|
90
|
+
|
|
91
|
+
// menu
|
|
92
|
+
"menu-checkbox": "decoration/menu/checkbox.gif",
|
|
93
|
+
"menu-checkbox-invert": "decoration/menu/checkbox-invert.gif",
|
|
94
|
+
"menu-radiobutton-invert": "decoration/menu/radiobutton-invert.gif",
|
|
95
|
+
"menu-radiobutton": "decoration/menu/radiobutton.gif",
|
|
96
|
+
|
|
97
|
+
// tabview
|
|
98
|
+
"tabview-close": "decoration/tabview/close.gif"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
@@ -29,11 +29,14 @@ qx.Class.define("qx.tool.cli.Application", {
|
|
|
29
29
|
* during startup of the application
|
|
30
30
|
*/
|
|
31
31
|
async main() {
|
|
32
|
+
process.exitCode = 0;
|
|
32
33
|
try {
|
|
33
34
|
await new qx.tool.cli.Cli().run();
|
|
34
35
|
} catch (e) {
|
|
35
36
|
qx.tool.compiler.Console.error("Error: " + (e.stack || e.message));
|
|
36
|
-
process.
|
|
37
|
+
process.exitCode = 1;
|
|
38
|
+
} finally {
|
|
39
|
+
process.exit();
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
},
|
|
@@ -25,6 +25,11 @@ const semver = require("semver");
|
|
|
25
25
|
*/
|
|
26
26
|
qx.Class.define("qx.tool.cli.Cli", {
|
|
27
27
|
extend: qx.core.Object,
|
|
28
|
+
properties: {
|
|
29
|
+
command: {
|
|
30
|
+
apply: "__applyCommand"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
28
33
|
|
|
29
34
|
construct() {
|
|
30
35
|
super();
|
|
@@ -53,14 +58,16 @@ qx.Class.define("qx.tool.cli.Cli", {
|
|
|
53
58
|
_compileJsonFilename: null,
|
|
54
59
|
|
|
55
60
|
/** @type {Object} Parsed arguments */
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
/** @type {Promise} Promise that resolves to the _parsedArgs, but only when completely finished parsing them */
|
|
59
|
-
__promiseParseArgs: null,
|
|
61
|
+
__parsedArgs: null,
|
|
60
62
|
|
|
61
63
|
/** @type {Boolean} Whether libraries have had their `.load()` method called yet */
|
|
62
64
|
__librariesNotified: false,
|
|
63
65
|
|
|
66
|
+
__applyCommand(command) {
|
|
67
|
+
command.setCompilerApi(this._compilerApi);
|
|
68
|
+
this._compilerApi.setCommand(command);
|
|
69
|
+
},
|
|
70
|
+
|
|
64
71
|
/**
|
|
65
72
|
* Creates an instance of yargs, with minimal options
|
|
66
73
|
*
|
|
@@ -241,18 +248,10 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
241
248
|
*/
|
|
242
249
|
async processCommand(command) {
|
|
243
250
|
qx.tool.compiler.Console.getInstance().setVerbose(this.argv.verbose);
|
|
244
|
-
command.setCompilerApi(this._compilerApi);
|
|
245
|
-
this._compilerApi.setCommand(command);
|
|
246
251
|
await this.__notifyLibraries();
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return res;
|
|
251
|
-
} catch (e) {
|
|
252
|
-
qx.tool.compiler.Console.error("Error: " + (e.stack || e.message));
|
|
253
|
-
process.exit(1);
|
|
254
|
-
return null;
|
|
255
|
-
}
|
|
252
|
+
const res = await command.process();
|
|
253
|
+
await this._compilerApi.afterProcessFinished(command, res);
|
|
254
|
+
return res;
|
|
256
255
|
},
|
|
257
256
|
|
|
258
257
|
/**
|
|
@@ -260,8 +259,8 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
260
259
|
*
|
|
261
260
|
* @return {Object}
|
|
262
261
|
*/
|
|
263
|
-
|
|
264
|
-
return
|
|
262
|
+
getParsedArgs() {
|
|
263
|
+
return this.__parsedArgs;
|
|
265
264
|
},
|
|
266
265
|
|
|
267
266
|
/**
|
|
@@ -283,8 +282,8 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
283
282
|
var args = qx.lang.Array.clone(process.argv);
|
|
284
283
|
args.shift();
|
|
285
284
|
process.title = args.join(" ");
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
await this.__parseArgsImpl();
|
|
286
|
+
return this.processCommand(this.getCommand());
|
|
288
287
|
},
|
|
289
288
|
|
|
290
289
|
/**
|
|
@@ -356,7 +355,7 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
356
355
|
(await qx.tool.utils.Json.loadJsonAsync(name)) || lockfileContent;
|
|
357
356
|
} catch (ex) {
|
|
358
357
|
// Nothing
|
|
359
|
-
}
|
|
358
|
+
}
|
|
360
359
|
// check semver-type compatibility (i.e. compatible as long as major version stays the same)
|
|
361
360
|
let schemaVersion = semver.coerce(
|
|
362
361
|
qx.tool.config.Lockfile.getInstance().getVersion(),
|
|
@@ -569,8 +568,8 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
569
568
|
config.serve.listenPort || this.argv.listenPort;
|
|
570
569
|
}
|
|
571
570
|
|
|
572
|
-
this.
|
|
573
|
-
return this.
|
|
571
|
+
this.__parsedArgs = await compilerApi.getConfiguration();
|
|
572
|
+
return this.__parsedArgs;
|
|
574
573
|
},
|
|
575
574
|
|
|
576
575
|
/**
|
|
@@ -692,7 +691,7 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
692
691
|
if (data) {
|
|
693
692
|
if (data.handler === undefined) {
|
|
694
693
|
data.handler = argv =>
|
|
695
|
-
qx.tool.cli.Cli.getInstance().
|
|
694
|
+
qx.tool.cli.Cli.getInstance().setCommand(new Clazz(argv));
|
|
696
695
|
}
|
|
697
696
|
yargs.command(data);
|
|
698
697
|
}
|