@qooxdoo/framework 7.4.1 → 7.5.0
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/lib/compiler/compile-info.json +58 -58
- package/lib/compiler/index.js +289 -265
- package/package.json +1 -1
- 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/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/ImageDark.js +101 -0
- package/source/class/qx/tool/cli/Watch.js +24 -22
- package/source/class/qx/tool/cli/commands/package/Publish.js +16 -4
- package/source/class/qx/tool/compiler/targets/meta/Browserify.js +19 -9
- 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/scroll/MRoll.js +5 -0
- 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/ui/treevirtual/MNode.js +1 -1
- package/source/class/qx/util/OOUtil.js +1 -1
- package/source/resource/qx/scss/_gradients.scss +1 -1
package/package.json
CHANGED
package/source/class/qx/Class.js
CHANGED
|
@@ -491,7 +491,7 @@ qx.Bootstrap.define("qx.Class", {
|
|
|
491
491
|
*
|
|
492
492
|
* @param clazz {Class} class to look for the property
|
|
493
493
|
* @param name {String} name of the property
|
|
494
|
-
* @return {Class
|
|
494
|
+
* @return {Class|null} The class which includes the property
|
|
495
495
|
*/
|
|
496
496
|
getByProperty(clazz, name) {
|
|
497
497
|
while (clazz) {
|
|
@@ -554,7 +554,7 @@ qx.Bootstrap.define("qx.Class", {
|
|
|
554
554
|
*
|
|
555
555
|
* @param clazz {Class} class to look for the mixin
|
|
556
556
|
* @param mixin {Mixin} mixin to look for
|
|
557
|
-
* @return {Class
|
|
557
|
+
* @return {Class|null} The class which directly includes the given mixin
|
|
558
558
|
*/
|
|
559
559
|
getByMixin(clazz, mixin) {
|
|
560
560
|
var list, i, l;
|
|
@@ -619,7 +619,7 @@ qx.Bootstrap.define("qx.Class", {
|
|
|
619
619
|
* @signature function(clazz, iface)
|
|
620
620
|
* @param clazz {Class} class to look for the interface
|
|
621
621
|
* @param iface {Interface} interface to look for
|
|
622
|
-
* @return {Class
|
|
622
|
+
* @return {Class|null} the class which directly implements the given interface
|
|
623
623
|
*/
|
|
624
624
|
getByInterface: qx.util.OOUtil.getByInterface,
|
|
625
625
|
|
|
@@ -45,7 +45,7 @@ qx.Bootstrap.define("qx.bom.Cookie", {
|
|
|
45
45
|
* Returns the string value of a cookie.
|
|
46
46
|
*
|
|
47
47
|
* @param key {String} The key for the saved string value.
|
|
48
|
-
* @return {null
|
|
48
|
+
* @return {null|String} Returns the saved string value, if the cookie
|
|
49
49
|
* contains a value for the key, <code>null</code> otherwise.
|
|
50
50
|
*/
|
|
51
51
|
get(key) {
|
|
@@ -922,7 +922,7 @@ qx.Class.define("qx.data.Array", {
|
|
|
922
922
|
* Returns the highest value in the given array.
|
|
923
923
|
* Supports numeric values only.
|
|
924
924
|
*
|
|
925
|
-
* @return {Number
|
|
925
|
+
* @return {Number|null} The highest of all values or undefined if the
|
|
926
926
|
* array is empty.
|
|
927
927
|
*/
|
|
928
928
|
max() {
|
|
@@ -941,7 +941,7 @@ qx.Class.define("qx.data.Array", {
|
|
|
941
941
|
* Returns the lowest value in the array. Supports
|
|
942
942
|
* numeric values only.
|
|
943
943
|
*
|
|
944
|
-
* @return {Number
|
|
944
|
+
* @return {Number|null} The lowest of all values or undefined
|
|
945
945
|
* if the array is empty.
|
|
946
946
|
*/
|
|
947
947
|
min() {
|
|
@@ -1017,7 +1017,7 @@ qx.Class.define("qx.data.Array", {
|
|
|
1017
1017
|
* <li><code>index</code>: the index of the current item</li>
|
|
1018
1018
|
* <li><code>array</code>: The native array instance, NOT the data array instance.</li>
|
|
1019
1019
|
* @param self {var?undefined} The context of the callback.
|
|
1020
|
-
* @return {var
|
|
1020
|
+
* @return {var|undefined} The found item.
|
|
1021
1021
|
*/
|
|
1022
1022
|
find(callback, self) {
|
|
1023
1023
|
return this.__array.find(callback, self);
|
|
@@ -927,7 +927,7 @@ qx.Class.define("qx.data.SingleValueBinding", {
|
|
|
927
927
|
* @param targetProperties {String[]} Array containing the names of the properties
|
|
928
928
|
* @param index {Number?} The array index of the last property to be considered.
|
|
929
929
|
* Default: The last item's index
|
|
930
|
-
* @return {qx.core.Object
|
|
930
|
+
* @return {qx.core.Object|null} The object on which the last property
|
|
931
931
|
* should be set.
|
|
932
932
|
*/
|
|
933
933
|
__getTargetFromChain(targetObject, targetProperties, index) {
|
|
@@ -103,7 +103,7 @@ qx.Bootstrap.define("qx.dom.Hierarchy", {
|
|
|
103
103
|
* "nextSibling" is not good enough as it might return a text or comment element
|
|
104
104
|
*
|
|
105
105
|
* @param element {Element} Starting element node
|
|
106
|
-
* @return {Element
|
|
106
|
+
* @return {Element|null} Next element node
|
|
107
107
|
*/
|
|
108
108
|
getNextElementSibling(element) {
|
|
109
109
|
while (
|
|
@@ -123,7 +123,7 @@ qx.Bootstrap.define("qx.dom.Hierarchy", {
|
|
|
123
123
|
* "previousSibling" is not good enough as it might return a text or comment element
|
|
124
124
|
*
|
|
125
125
|
* @param element {Element} Starting element node
|
|
126
|
-
* @return {Element
|
|
126
|
+
* @return {Element|null} Previous element node
|
|
127
127
|
*/
|
|
128
128
|
getPreviousElementSibling(element) {
|
|
129
129
|
while (
|
|
@@ -260,7 +260,7 @@ qx.Class.define("qx.event.Manager", {
|
|
|
260
260
|
* @param type {String} Event type
|
|
261
261
|
* @param capture {Boolean ? false} Whether the listener is for the
|
|
262
262
|
* capturing phase of the bubbling phase.
|
|
263
|
-
* @return {Array
|
|
263
|
+
* @return {Array|null} Array of registered event handlers. May return
|
|
264
264
|
* null when no listener were found.
|
|
265
265
|
*/
|
|
266
266
|
getListeners(target, type, capture) {
|
|
@@ -423,7 +423,7 @@ qx.Bootstrap.define("qx.event.handler.TouchCore", {
|
|
|
423
423
|
* Checks which elements are placed to position x/y and traverses the array
|
|
424
424
|
* till one element has no "pointer-events:none" inside its style attribute.
|
|
425
425
|
* @param domEvent {Event} DOM event
|
|
426
|
-
* @return {Element
|
|
426
|
+
* @return {Element|null} Event target
|
|
427
427
|
*/
|
|
428
428
|
__evaluateTarget(domEvent) {
|
|
429
429
|
var clientX = null;
|
|
@@ -37,7 +37,7 @@ qx.Class.define("qx.html.Jsx", {
|
|
|
37
37
|
* @param tagname {String} the name of the tag
|
|
38
38
|
* @param attributes {Map?} map of attribute values
|
|
39
39
|
* @param children {qx.html.Node[]} array of children
|
|
40
|
-
* @return {qx.html.Element
|
|
40
|
+
* @return {qx.html.Element|qx.data.Array}
|
|
41
41
|
*/
|
|
42
42
|
createElement(tagname, attributes) {
|
|
43
43
|
var children = qx.lang.Array.fromArguments(arguments, 2);
|
|
@@ -420,7 +420,7 @@ qx.Bootstrap.define("qx.lang.Array", {
|
|
|
420
420
|
* numeric values only.
|
|
421
421
|
*
|
|
422
422
|
* @param arr {Number[]} Array to process
|
|
423
|
-
* @return {Number
|
|
423
|
+
* @return {Number|null} The highest of all values or undefined if array is empty.
|
|
424
424
|
*/
|
|
425
425
|
max(arr) {
|
|
426
426
|
if (qx.core.Environment.get("qx.debug")) {
|
|
@@ -446,7 +446,7 @@ qx.Bootstrap.define("qx.lang.Array", {
|
|
|
446
446
|
* numeric values only.
|
|
447
447
|
*
|
|
448
448
|
* @param arr {Number[]} Array to process
|
|
449
|
-
* @return {Number
|
|
449
|
+
* @return {Number|null} The lowest of all values or undefined if array is empty.
|
|
450
450
|
*/
|
|
451
451
|
min(arr) {
|
|
452
452
|
if (qx.core.Environment.get("qx.debug")) {
|
|
@@ -173,30 +173,27 @@ qx.Bootstrap.define("qx.lang.Function", {
|
|
|
173
173
|
return func;
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
if (qx.core.Environment.get("qx.debug")) {
|
|
177
|
-
function testSelf(self) {
|
|
178
|
-
if (
|
|
179
|
-
qx.core.Object &&
|
|
180
|
-
self &&
|
|
181
|
-
qx.Bootstrap.isObject(self) &&
|
|
182
|
-
self.isDisposed &&
|
|
183
|
-
qx.Bootstrap.isFunction(self.isDisposed)
|
|
184
|
-
) {
|
|
185
|
-
if (self.isDisposed()) {
|
|
186
|
-
qx.core.Assert &&
|
|
187
|
-
qx.core.Assert.fail(
|
|
188
|
-
"Trying to call a bound function with a disposed object as context: " +
|
|
189
|
-
self.toString() +
|
|
190
|
-
" :: " +
|
|
191
|
-
qx.lang.Function.getName(func)
|
|
192
|
-
);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
176
|
return function (event) {
|
|
199
177
|
if (qx.core.Environment.get("qx.debug")) {
|
|
178
|
+
function testSelf(self) {
|
|
179
|
+
if (
|
|
180
|
+
qx.core.Object &&
|
|
181
|
+
self &&
|
|
182
|
+
qx.Bootstrap.isObject(self) &&
|
|
183
|
+
self.isDisposed &&
|
|
184
|
+
qx.Bootstrap.isFunction(self.isDisposed)
|
|
185
|
+
) {
|
|
186
|
+
if (self.isDisposed()) {
|
|
187
|
+
qx.core.Assert &&
|
|
188
|
+
qx.core.Assert.fail(
|
|
189
|
+
"Trying to call a bound function with a disposed object as context: " +
|
|
190
|
+
self.toString() +
|
|
191
|
+
" :: " +
|
|
192
|
+
qx.lang.Function.getName(func)
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
200
197
|
testSelf(options.self || this);
|
|
201
198
|
}
|
|
202
199
|
|
|
@@ -32,7 +32,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
|
|
|
32
32
|
*
|
|
33
33
|
* @param messageId {String} message id (may contain format strings)
|
|
34
34
|
* @param varargs {Object?} variable number of arguments applied to the format string
|
|
35
|
-
* @return {String
|
|
35
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
36
36
|
*/
|
|
37
37
|
tr(messageId, varargs) {
|
|
38
38
|
var nlsManager = qx.locale.Manager;
|
|
@@ -55,7 +55,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
|
|
|
55
55
|
* @param pluralMessageId {String} message id of the plural form (may contain format strings)
|
|
56
56
|
* @param count {Integer} if greater than 1 the plural form otherwise the singular form is returned.
|
|
57
57
|
* @param varargs {Object?} variable number of arguments applied to the format string
|
|
58
|
-
* @return {String
|
|
58
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
59
59
|
*/
|
|
60
60
|
trn(singularMessageId, pluralMessageId, count, varargs) {
|
|
61
61
|
var nlsManager = qx.locale.Manager;
|
|
@@ -75,7 +75,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
|
|
|
75
75
|
* @param hint {String} hint for the translator of the message. Will be included in the .po file.
|
|
76
76
|
* @param messageId {String} message id (may contain format strings)
|
|
77
77
|
* @param varargs {Object?} variable number of arguments applied to the format string
|
|
78
|
-
* @return {String
|
|
78
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
79
79
|
*/
|
|
80
80
|
trc(hint, messageId, varargs) {
|
|
81
81
|
var nlsManager = qx.locale.Manager;
|
|
@@ -99,7 +99,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
|
|
|
99
99
|
* @param pluralMessageId {String} message id of the plural form (may contain format strings)
|
|
100
100
|
* @param count {Integer} if greater than 1 the plural form otherwise the singular form is returned.
|
|
101
101
|
* @param varargs {Object?} variable number of arguments applied to the format string
|
|
102
|
-
* @return {String
|
|
102
|
+
* @return {String|LocalizedString} The translated message or localized string
|
|
103
103
|
*/
|
|
104
104
|
trnc(hint, singularMessageId, pluralMessageId, count, varargs) {
|
|
105
105
|
var nlsManager = qx.locale.Manager;
|
|
@@ -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.Decoration,
|
|
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
|
+
});
|