glimmer-cw-cdatetime-nebula 1.4.0.2.0 → 1.5.0.2.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.0.2.0
1
+ 1.5.0.2.0
@@ -0,0 +1 @@
1
+ .clocklet,.clocklet-ampm,.clocklet-container,.clocklet-dial,.clocklet-hand,.clocklet-hand-origin,.clocklet-plate,.clocklet-tick{touch-action:manipulation;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box;position:absolute;font-size:inherit}.clocklet--inline,.clocklet-container--inline{position:static}.clocklet-container{display:inline;width:0;height:0}.clocklet{font-size:16px;width:270px;height:270px;margin-top:1px;padding:8px;border-radius:3px}.clocklet:not(.clocklet--showing){transition:opacity .2s ease-out}.clocklet:not(.clocklet--shown):not(.clocklet--inline){opacity:0;pointer-events:none}[data-clocklet-placement=bottom][data-clocklet-alignment=left]{transform-origin:0 0}[data-clocklet-placement=bottom][data-clocklet-alignment=right]{transform-origin:100% 0}[data-clocklet-placement=top][data-clocklet-alignment=left]{transform-origin:0 100%}[data-clocklet-placement=top][data-clocklet-alignment=right]{transform-origin:100% 100%}.clocklet-plate{position:relative;height:100%;border-radius:50%}.clocklet-dial{left:0;top:0;right:0;bottom:0;margin:auto;border-radius:50%}.clocklet-ampm:before,.clocklet-hand,.clocklet-hand-origin,.clocklet-tick{z-index:1}.clocklet-hand{left:0;top:6.4%;right:0;bottom:50%;margin:auto;transform-origin:50% 100%}.clocklet-tick{width:1.75em;height:1.75em;margin:-.875em;border-radius:50%;padding:0;outline:0;border:0;cursor:pointer;background-color:transparent;color:inherit;font-family:inherit;font-weight:inherit}.clocklet-tick:before{content:attr(data-clocklet-tick-value)}.clocklet-ampm{top:calc(50% + .75em);left:0;right:0;margin:auto;width:3em;height:1.5em;border-radius:.75em;cursor:pointer}.clocklet-ampm,.clocklet-ampm:before{display:flex;align-items:center;justify-content:center}.clocklet-ampm:before{position:relative;width:2em;height:2em;border-radius:50%;content:attr(data-clocklet-ampm);transform:translateX(-1em)}.clocklet--shown .clocklet-ampm:before{transition:transform .1s ease-out}.clocklet-ampm[data-clocklet-ampm=pm]:before{transform:translateX(1em)}.clocklet-ampm[data-clocklet-ampm-formatted]:not([data-clocklet-ampm-formatted=""]):before{content:attr(data-clocklet-ampm-formatted)}.clocklet-hand-origin{left:calc(50% - 5px);top:calc(50% - 5px);right:calc(50% - 5px);bottom:calc(50% - 5px);border-radius:50%}.clocklet:not([data-clocklet-value]) .clocklet-hand,.clocklet:not([data-clocklet-value]) .clocklet-hand-origin,.clocklet[data-clocklet-value=""] .clocklet-hand,.clocklet[data-clocklet-value=""] .clocklet-hand-origin{display:none}.clocklet-dial--hour{width:calc(40% + 56px);height:calc(40% + 56px)}.clocklet-hand--hour{width:8px}.clocklet-tick--hour[data-clocklet-tick-value="0"]:before{content:"12"}.clocklet-dial--minute{width:100%;height:100%}.clocklet-hand--minute{width:2px}.clocklet-tick--minute:not([data-clocklet-tick-value$="0"]):not([data-clocklet-tick-value$="5"]){transform:scale(.6)}@media screen and (max-width:480px){.clocklet{transform:scale(.8)}}@media screen and (max-width:400px){.clocklet{transform:scale(.75)}}.clocklet{border:1px solid #ddd;background-color:#eee}[data-clocklet-placement=top]{box-shadow:4px -4px 4px hsla(0,0%,50.2%,.5)}[data-clocklet-placement=bottom]{box-shadow:4px 4px 4px hsla(0,0%,50.2%,.5)}.clocklet-plate{background-color:#fff}.clocklet-hand{background-color:#a1ddff}.clocklet-hand-origin{background-color:#4bf}.clocklet-tick--selected{background-color:#57c2ff;color:#fff}.clocklet--hoverable:not(.clocklet--dragging) .clocklet-tick:hover{background-color:#7ccfff}.clocklet-ampm{background-color:hsla(0,0%,80%,.6)}.clocklet-ampm:before{background-color:#57c2ff;color:#fff}.clocklet-ampm:hover:before{background-color:#7ccfff}
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -1,5 +1,5 @@
1
1
  # Copyright (c) 2020 - Andy Maleh
2
- #
2
+ #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
5
5
  # "Software"), to deal in the Software without restriction, including
@@ -7,10 +7,10 @@
7
7
  # distribute, sublicense, and/or sell copies of the Software, and to
8
8
  # permit persons to whom the Software is furnished to do so, subject to
9
9
  # the following conditions:
10
- #
10
+ #
11
11
  # The above copyright notice and this permission notice shall be
12
12
  # included in all copies or substantial portions of the Software.
13
- #
13
+ #
14
14
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
15
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
16
  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@@ -19,60 +19,33 @@
19
19
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
- $LOAD_PATH.unshift(File.expand_path('..', __FILE__))
23
- $LOAD_PATH.unshift(File.expand_path('../..', __FILE__))
24
-
25
- require 'glimmer-dsl-swt'
26
-
27
- require 'vendor/nebula/org.eclipse.nebula.cwt_1.1.0.jar'
28
- require 'vendor/nebula/org.eclipse.nebula.widgets.cdatetime_1.4.0.jar'
29
-
30
- Glimmer::Config.import_swt_packages += [
31
- 'org.eclipse.nebula.cwt',
32
- 'org.eclipse.nebula.widgets.cdatetime',
33
- ]
34
-
35
- require 'glimmer-cw-cdatetime-nebula/ext/glimmer/dsl/swt/cdt_expression'
36
- require 'glimmer-cw-cdatetime-nebula/ext/glimmer/swt/c_date_time_proxy'
37
- require 'views/nebula/c_date_time'
38
-
39
- Glimmer::SWT::WidgetProxy::DEFAULT_STYLES.merge!(
40
- 'c_date_time' => [:border, :tab_fields, :simple],
41
- 'c_date' => [:border, :tab_fields, :date_short, :simple],
42
- 'c_time' => [:border, :tab_fields, :time_short, :simple],
43
- 'c_date_time_compact' => [:border, :tab_fields, :compact],
44
- 'c_date_compact' => [:border, :tab_fields, :date_short, :compact],
45
- 'c_time_compact' => [:border, :tab_fields, :time_short, :compact],
46
- 'c_date_time_spinner' => [:border, :tab_fields, :spinner],
47
- 'c_date_spinner' => [:border, :tab_fields, :date_short, :spinner],
48
- 'c_time_spinner' => [:border, :tab_fields, :time_short, :spinner],
49
- 'c_date_time_drop_down' => [:border, :tab_fields, :drop_down],
50
- 'c_date_drop_down' => [:border, :tab_fields, :drop_down, :date_short],
51
- 'c_time_drop_down' => [:border, :tab_fields, :drop_down, :time_short],
52
- )
53
-
54
- Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_time'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_compact'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_spinner'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_drop_down'] = lambda do |widget|
55
- widget.pattern = 'MM/dd/yyyy hh:mm a'
56
- end
57
- Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_compact'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_spinner'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_date_drop_down'] = lambda do |widget|
58
- widget.pattern = 'MM/dd/yyyy'
59
- end
60
- Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_time'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_time_compact'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_time_spinner'] = Glimmer::SWT::WidgetProxy::DEFAULT_INITIALIZERS['c_time_drop_down'] = lambda do |widget|
61
- widget.pattern = 'hh:mm a'
22
+ if RUBY_ENGINE == 'ruby'
23
+ require 'opal'
24
+ Opal.append_path File.expand_path('../../opal', __FILE__).untaint
25
+ Opal.append_path File.expand_path('..', __FILE__).untaint
26
+ Opal.append_path File.expand_path('../..', __FILE__).untaint
27
+
28
+ require_relative 'glimmer_cw_cdatetime_nebula/engine'
29
+ elsif RUBY_ENGINE == 'opal'
30
+ require 'glimmer-dsl-swt'
31
+
32
+ require 'glimmer-cw-cdatetime-nebula/vendor/clocklet.min'
33
+
34
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/dsl/swt/cdt_expression'
35
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/swt/c_date_time_proxy'
36
+ require 'views/nebula/c_date_time'
37
+ else # jruby
38
+ require 'glimmer-dsl-swt'
39
+
40
+ require_relative '../vendor/nebula/org.eclipse.nebula.cwt_1.1.0.202007241204.jar'
41
+ require_relative '../vendor/nebula/org.eclipse.nebula.widgets.cdatetime_1.5.0.202007241204.jar'
42
+
43
+ Glimmer::Config.import_swt_packages += [
44
+ 'org.eclipse.nebula.cwt',
45
+ 'org.eclipse.nebula.widgets.cdatetime',
46
+ ]
47
+
48
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/dsl/swt/cdt_expression'
49
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/swt/c_date_time_proxy'
50
+ require 'views/nebula/c_date_time'
62
51
  end
63
-
64
- Glimmer::SWT::WidgetProxy::KEYWORD_ALIASES.merge!(
65
- 'c_date' => 'c_date_time',
66
- 'c_time' => 'c_date_time',
67
- 'c_date_time_compact' => 'c_date_time',
68
- 'c_date_compact' => 'c_date_time',
69
- 'c_time_compact' => 'c_date_time',
70
- 'c_date_time_spinner' => 'c_date_time',
71
- 'c_date_spinner' => 'c_date_time',
72
- 'c_time_spinner' => 'c_date_time',
73
- 'c_date_time_drop_down' => 'c_date_time',
74
- 'c_date_drop_down' => 'c_date_time',
75
- 'c_time_drop_down' => 'c_date_time',
76
- )
77
-
78
- Glimmer::Config::SAMPLE_DIRECTORIES << File.expand_path('../../samples/nebula', __FILE__)
@@ -1,5 +1,5 @@
1
1
  # Copyright (c) 2020 - Andy Maleh
2
- #
2
+ #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
5
5
  # "Software"), to deal in the Software without restriction, including
@@ -7,10 +7,10 @@
7
7
  # distribute, sublicense, and/or sell copies of the Software, and to
8
8
  # permit persons to whom the Software is furnished to do so, subject to
9
9
  # the following conditions:
10
- #
10
+ #
11
11
  # The above copyright notice and this permission notice shall be
12
12
  # included in all copies or substantial portions of the Software.
13
- #
13
+ #
14
14
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
15
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
16
  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@@ -22,55 +22,72 @@
22
22
  module Glimmer
23
23
  module SWT
24
24
  # This modules just configures Glimmer to work with Nebula CDateTime
25
- # Since it is wrapping an existing SWT widget with the same name,
26
- # it is not implemented as a typical "Glimmer Custom Widget", yet
25
+ # Since it is wrapping an existing SWT widget with the same name,
26
+ # it is not implemented as a typical "Glimmer Custom Widget", yet
27
27
  # just a Glimmer widget proxy that extends Glimmer::SWT::WidgetProxy
28
- class CDateTimeProxy < Glimmer::SWT::WidgetProxy
28
+ class CDateTimeProxy < WidgetProxy
29
29
  def text_widget_proxy
30
- Glimmer::SWT::WidgetProxy.new(swt_widget: swt_widget.text_widget.control)
30
+ WidgetProxy.create(swt_widget: swt_widget.text_widget.control) if swt_widget.text_widget
31
31
  end
32
32
 
33
33
  def toggle_open
34
34
  swt_widget.set_open(!swt_widget.is_open)
35
35
  end
36
-
37
- private
38
-
39
- def has_style?(style)
40
- begin
41
- comparison = CDTProxy[style]
42
- rescue
43
- begin
44
- comparison = SWTProxy[style]
45
- rescue
46
- comparison = DNDProxy[style]
47
- end
48
- end
49
- (@swt_widget.style & comparison) == comparison
36
+
37
+ WidgetProxy::DEFAULT_STYLES.merge!(
38
+ 'c_date_time' => [:border, :tab_fields, :simple],
39
+ 'c_date' => [:border, :tab_fields, :simple],
40
+ 'c_time' => [:border, :tab_fields, :simple],
41
+ 'c_date_time_drop_down' => [:border, :tab_fields, :drop_down],
42
+ 'c_date_drop_down' => [:border, :tab_fields, :drop_down],
43
+ 'c_time_drop_down' => [:border, :tab_fields, :drop_down],
44
+ 'c_date_time_spinner' => [:border, :tab_fields, :spinner],
45
+ 'c_date_spinner' => [:border, :tab_fields, :spinner],
46
+ 'c_time_spinner' => [:border, :tab_fields, :spinner],
47
+ 'c_date_time_compact' => [:border, :tab_fields, :compact],
48
+ 'c_date_compact' => [:border, :tab_fields, :compact],
49
+ 'c_time_compact' => [:border, :tab_fields, :compact],
50
+ )
51
+
52
+ WidgetProxy::DEFAULT_INITIALIZERS['c_date_time'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_compact'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_spinner'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_time_drop_down'] = lambda do |widget|
53
+ has_pattern_style = %w[time_short time_medium date_short date_medium date_long].reduce(false) {|result, style| result || widget.get_data('proxy').has_style?(style)}
54
+ widget.pattern = 'MM/dd/yyyy hh:mm a' unless has_pattern_style
50
55
  end
51
-
52
- def default_style(underscored_widget_name)
53
- styles = DEFAULT_STYLES[underscored_widget_name] || [:none]
54
- CDTProxy[styles] rescue SWTProxy[styles] rescue DNDProxy[styles]
56
+ WidgetProxy::DEFAULT_INITIALIZERS['c_date'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_compact'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_spinner'] = WidgetProxy::DEFAULT_INITIALIZERS['c_date_drop_down'] = lambda do |widget|
57
+ has_pattern_style = %w[time_short time_medium date_short date_medium date_long].reduce(false) {|result, style| result || widget.get_data('proxy').has_style?(style)}
58
+ unless has_pattern_style
59
+ widget.format = Glimmer::SWT::CDTProxy[:date_short]
60
+ widget.pattern = 'MM/dd/yyyy'
61
+ end
55
62
  end
56
-
57
- def style(underscored_widget_name, styles)
58
- styles = [styles].flatten.compact
59
- if styles.empty?
60
- default_style(underscored_widget_name)
61
- else
62
- begin
63
- CDTProxy[*styles]
64
- rescue
65
- begin
66
- SWTProxy[*styles]
67
- rescue
68
- DNDProxy[*styles]
69
- end
70
- end
63
+ WidgetProxy::DEFAULT_INITIALIZERS['c_time'] = WidgetProxy::DEFAULT_INITIALIZERS['c_time_compact'] = WidgetProxy::DEFAULT_INITIALIZERS['c_time_spinner'] = WidgetProxy::DEFAULT_INITIALIZERS['c_time_drop_down'] = lambda do |widget|
64
+ has_pattern_style = %w[time_short time_medium date_short date_medium date_long].reduce(false) {|result, style| result || widget.get_data('proxy').has_style?(style)}
65
+ unless has_pattern_style
66
+ widget.format = Glimmer::SWT::CDTProxy[:time_short]
67
+ widget.pattern = 'hh:mm a'
71
68
  end
72
69
  end
73
-
70
+
71
+ WidgetProxy::KEYWORD_ALIASES.merge!(
72
+ 'c_date' => 'c_date_time',
73
+ 'c_time' => 'c_date_time',
74
+ 'c_date_time_compact' => 'c_date_time',
75
+ 'c_date_compact' => 'c_date_time',
76
+ 'c_time_compact' => 'c_date_time',
77
+ 'c_date_time_spinner' => 'c_date_time',
78
+ 'c_date_spinner' => 'c_date_time',
79
+ 'c_time_spinner' => 'c_date_time',
80
+ 'c_date_time_drop_down' => 'c_date_time',
81
+ 'c_date_drop_down' => 'c_date_time',
82
+ 'c_time_drop_down' => 'c_date_time',
83
+ )
84
+
85
+ private
86
+
87
+ def interpret_style(*styles)
88
+ CDTProxy[*styles] rescue super
89
+ end
90
+
74
91
  end
75
92
 
76
93
  end
@@ -1,5 +1,5 @@
1
1
  # Copyright (c) 2020 - Andy Maleh
2
- #
2
+ #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining
4
4
  # a copy of this software and associated documentation files (the
5
5
  # "Software"), to deal in the Software without restriction, including
@@ -7,10 +7,10 @@
7
7
  # distribute, sublicense, and/or sell copies of the Software, and to
8
8
  # permit persons to whom the Software is furnished to do so, subject to
9
9
  # the following conditions:
10
- #
10
+ #
11
11
  # The above copyright notice and this permission notice shall be
12
12
  # included in all copies or substantial portions of the Software.
13
- #
13
+ #
14
14
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
15
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
16
  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@@ -20,21 +20,22 @@
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
22
  require 'glimmer/swt/style_constantizable'
23
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/cdt' if RUBY_ENGINE == 'opal'
23
24
 
24
25
  module Glimmer
25
26
  module SWT
26
27
  # Proxy for org.eclipse.nebula.widgets.cdatetime.CDT
27
28
  #
28
29
  # Follows the Proxy Design Pattern
29
- class CDTProxy
30
- include Glimmer::SWT::StyleConstantizable
30
+ class CDTProxy
31
+ include Glimmer::SWT::StyleConstantizable
31
32
 
32
33
  class << self
33
34
  JAVA_IMPORT = 'org.eclipse.nebula.widgets.cdatetime.CDT'
34
35
 
35
- java_import JAVA_IMPORT
36
+ java_import JAVA_IMPORT if RUBY_ENGINE == 'jruby'
36
37
 
37
- def constant_java_import
38
+ def constant_java_import
38
39
  JAVA_IMPORT
39
40
  end
40
41
 
@@ -46,10 +47,10 @@ module Glimmer
46
47
  CDT::NONE
47
48
  end
48
49
 
49
- def extra_styles
50
- {}
51
- end
52
50
  end
51
+
53
52
  end
53
+
54
54
  end
55
+
55
56
  end
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).clocklet=e()}(this,function(){"use strict";function r(t,e,o){return t=String(t),!e||!isFinite(e)||t.length>=e?t:n(e-t.length,o)+t}function t(t,e,o){return t=String(t),!e||!isFinite(e)||t.length>=e?t:t+n(e-t.length,o)}function n(t,e){for(var o=e=null==e||""===e?" ":String(e);o.length<t;)o+=e;return o.substr(0,t)}function o(){for(var t=0,e=arguments.length;t<e;++t){var o=arguments[t];if("number"==typeof o)return o;if("string"==typeof o){o=parseFloat(o);if(isFinite(o))return o}}}var l=1e3,c=60*l,i=60*c,e=12*i,a=24*i;function u(){return(Date.now()-(new Date).getTimezoneOffset()*c)%a}function s(t){t=Math.floor(t)%a;return 0<=t?t:t+a}function p(t){return e<=t?t-e:t}function k(t){return t<e?t+e:t}function d(t,e){switch(t=s(t),e&&String(e)[0].toLowerCase()){case"a":return p(t);case"p":return k(t);default:return t}}function f(t){switch(typeof t){case"number":return s(t);case"string":return function(t){if(!(t=t&&String(t).replace(/[\uff00-\uffef]/g,function(t){return String.fromCharCode(t.charCodeAt(0)-65248)}).replace(/\s/g,"").replace(/(a|p)\.?m?\.?$/i,function(t,e){return e.toLowerCase()})))return 0;if("now"===t.toLowerCase())return u();t=t.match(/^([+-]?[0-9]{1,2})(?:([0-9]{2})(?:([0-9]{2})([0-9]*))?)?(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.[0-9]*)()()()(a|p)?$/i)||t.match(/^([+-]?[0-9]*\.?[0-9]*):([+-]?[0-9]*\.?[0-9]*)(?::([+-]?[0-9]*\.?[0-9]*))?()(a|p)?$/i);return t?d((t[1]?parseFloat(t[1])*i:0)+(t[2]?parseFloat(t[2])*c:0)+(t[3]?parseFloat(t[3])*l:0)+(t[4]?1e3*parseFloat("0."+t[4]):0),t[5]):NaN}(t);case"object":if(t)return function(t){if("number"==typeof t.totalMilliseconds)return s(t.totalMilliseconds);var e=o(t.h,t.hour,t.hours,0)*i+o(t.m,t.minute,t.minutes,0)*c+o(t.s,t.second,t.seconds,0)*l+o(t.S,t.millisecond,t.milliseconds,0);return!0!==t.am&&!1!==t.pm?!0!==t.pm&&!1!==t.am?d(e,t.a):k(e):p(e)}(t instanceof Array?{h:t[0],m:t[1],s:t[2],S:t[3]}:t)}return NaN}function b(){return/\\.|HH?|hh?|kk?|mm?|ss?|S{1,3}|AA?|aa?|_H|_h|_k|_m|_s/g}var h={H:m(0,23),HH:m(0,23,2,"0"),_H:m(0,23,2),h:m(1,12),hh:m(1,12,2,"0"),_h:m(1,12,2),k:m(0,11),kk:m(0,11,2,"0"),_k:m(0,23,2),m:m(0,59),mm:m(0,59,2,"0"),_m:m(0,59,2),s:m(0,59),ss:m(0,59,2,"0"),_s:m(0,59,2),S:m(0,9),SS:m(0,99,2,"0"),SSS:m(0,999,3,"0"),a:function(e){return function(t){return"pm"===e?"am":"pm"}},A:function(e){return function(t){return"PM"===e?"AM":"PM"}},aa:function(e){return function(t){return"p.m."===e?"a.m.":"p.m."}},AA:function(e){return function(t){return"P.M."===e?"A.M.":"P.M."}}};function m(c,i,a,u){return void 0===a&&(a=1),function(l){return function(t,e){var o,n,o=(o=parseInt(l,10)+t,n=c,t=i,e?(o=(o-n)%(++t-n))<0?o+t:o+n:o<n?n:t<o?t:o);return isNaN(o)?void 0:r(o,a,u)}}}function y(t,e,o){for(var n=v(t),l=0,c=0,i=0;i<n.length;++i){var a=n[i];if(a.literal){var u=e.indexOf(a.property,l);if(-1===u||o<=u){if(0===i)return;var r=e.slice(c,u);return{property:s=n[i-1].property,index:c,value:r,adjust:h[s](r)}}c=l=u+a.property.length}else"_"===a.property[0]&&" "===e[l]&&++l}t=n[n.length-1];if(t&&!t.literal){var s,r=e.slice(l);return{property:s=t.property,index:l,value:r,adjust:h[s](r)}}}function v(t){for(var e,o=b(),n=[],l=0;e=o.exec(t);){var c=e.index,i=o.lastIndex;l!==c&&n.push({index:l,property:t.slice(l,c),literal:!0}),"\\"===e[0][0]?n.push({index:c,property:e[0].slice(1),literal:!0}):n.push({index:c,property:e[0],literal:!1}),l=i}return l<t.length&&n.push({index:l,property:t.slice(l),literal:!0}),n}var g=(Object.defineProperty(O.prototype,"hour",{get:function(){return Math.floor(this._totalMilliseconds/i)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"hour12",{get:function(){return(this.hour+11)%12+1},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"minute",{get:function(){return Math.floor(this._totalMilliseconds%i/c)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"second",{get:function(){return Math.floor(this._totalMilliseconds%c/l)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"millisecond",{get:function(){return this._totalMilliseconds%l},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"am",{get:function(){return this.hour<12},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"pm",{get:function(){return 12<=this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"hours",{get:function(){return this.hour},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"hours12",{get:function(){return this.hour12},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"minutes",{get:function(){return this.minute},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"seconds",{get:function(){return this.second},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"milliseconds",{get:function(){return this.millisecond},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"H",{get:function(){return this.invalid?"-":String(this.hour)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"h",{get:function(){return this.invalid?"-":String(this.hour12)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"k",{get:function(){return this.invalid?"-":String((this.hour+23)%24+1)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"m",{get:function(){return this.invalid?"-":String(this.minute)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"s",{get:function(){return this.invalid?"-":String(this.second)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"S",{get:function(){return this.invalid?"-":String(Math.floor(this.millisecond/100))},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"SS",{get:function(){return this.invalid?"--":t(Math.floor(this.millisecond/10),2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"SSS",{get:function(){return this.invalid?"---":t(this.millisecond,3,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"a",{get:function(){return this.invalid?"--":this.am?"am":"pm"},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"A",{get:function(){return this.invalid?"--":this.am?"AM":"PM"},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"aa",{get:function(){return this.invalid?"----":this.am?"a.m.":"p.m."},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"AA",{get:function(){return this.invalid?"----":this.am?"A.M.":"P.M."},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"HH",{get:function(){return this.invalid?"--":r(this.H,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"_H",{get:function(){return this.invalid?"--":r(this.H,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"hh",{get:function(){return this.invalid?"--":r(this.h,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"_h",{get:function(){return this.invalid?"--":r(this.h,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"kk",{get:function(){return this.invalid?"--":r(this.k,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"_k",{get:function(){return this.invalid?"--":r(this.k,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"mm",{get:function(){return this.invalid?"--":r(this.m,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"_m",{get:function(){return this.invalid?"--":r(this.m,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"ss",{get:function(){return this.invalid?"--":r(this.s,2,"0")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"_s",{get:function(){return this.invalid?"--":r(this.s,2," ")},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"HHmm",{get:function(){return this.HH+":"+this.mm},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"HHmmss",{get:function(){return this.HHmm+":"+this.ss},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"HHmmssSSS",{get:function(){return this.HHmmss+"."+this.SSS},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"totalMilliseconds",{get:function(){return this._totalMilliseconds},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"totalSeconds",{get:function(){return Math.floor(this._totalMilliseconds/l)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"totalMinutes",{get:function(){return Math.floor(this._totalMilliseconds/c)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"valid",{get:function(){return 0<=this._totalMilliseconds&&this._totalMilliseconds<a},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"invalid",{get:function(){return!this.valid},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"startOfHour",{get:function(){return new O(this._totalMilliseconds-this._totalMilliseconds%i)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"startOfMinute",{get:function(){return new O(this._totalMilliseconds-this._totalMilliseconds%c)},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"startOfSecond",{get:function(){return new O(this._totalMilliseconds-this._totalMilliseconds%l)},enumerable:!0,configurable:!0}),O.prototype.ifInvalid=function(t){return this.valid?this:new O(f(t))},O.prototype.startOf=function(t){switch(t){case"hour":return this.startOfHour;case"minute":return this.startOfMinute;case"second":return this.startOfSecond;default:return this}},O.prototype.toString=function(){return this.HHmmssSSS},O.prototype.format=function(t){return e=this,String(t).replace(b(),function(t){return"\\"===t[0]?t[1]:e[t]});var e},O.prototype.with=function(t){return new O(f({h:o(t.h,t.hour,t.hours,this.hour),m:o(t.m,t.minute,t.minutes,this.minute),s:o(t.s,t.second,t.seconds,this.second),S:o(t.S,t.millisecond,t.milliseconds,this.millisecond),am:!0===t.am||!1===t.pm||"am"===t.a||"pm"!==t.a&&void 0}))},O.prototype.plus=function(t){t=f(t);return 0===t?this:new O(this._totalMilliseconds+t)},O.prototype.minus=function(t){t=f(t);return 0===t?this:new O(this._totalMilliseconds-t)},O.prototype.equals=function(t){return 0===this.compareTo(t)},O.prototype.compareTo=function(t){return this._totalMilliseconds-f(t)},O.prototype.isBefore=function(t){return this.compareTo(t)<0},O.prototype.isBeforeOrEqual=function(t){return this.compareTo(t)<=0},O.prototype.isAfter=function(t){return 0<this.compareTo(t)},O.prototype.isAfterOrEqual=function(t){return 0<=this.compareTo(t)},O.prototype.isBetweenExclusive=function(t,e){return this.isAfter(t)&&this.isBefore(e)},O.prototype.isBetweenInclusive=function(t,e){return this.isAfterOrEqual(t)&&this.isBeforeOrEqual(e)},O);function O(t){this._totalMilliseconds=t}function E(t){return null==t?P:t instanceof g?t:0===(t=f(t))?S:isNaN(t)?P:new g(t)}var S=new g(0),P=new g(NaN);function j(t,e,o){void 0===o&&(o=P);for(var n=o,l=0,c=t.length;l<c;++l){var i=E(t[l]);i.valid&&(n=e(n,i,l,t))}return n}function _(t){var e=document.createEvent("CustomEvent");e.initCustomEvent("input",!0,!1,"complete"),t.dispatchEvent(e)}E.prototype=g.prototype,E.INVALID=P,E.ZERO=S,E.now=function(){return new g(u())},E.min=function(){return j(arguments,function(t,e){return t.invalid||e.isBefore(t)?e:t})},E.max=function(){return j(arguments,function(t,e){return t.invalid||e.isAfter(t)?e:t})};var w,M,x=function(){return(x=Object.assign||function(t){for(var e,o=1,n=arguments.length;o<n;o++)for(var l in e=arguments[o])Object.prototype.hasOwnProperty.call(e,l)&&(t[l]=e[l]);return t}).apply(this,arguments)};void 0===window.ontouchend?M=!1:(w=window.ontouchend,M=(window.ontouchend=void 0)!==window.ontouchend,window.ontouchend=w);var H=M;function L(t,e,o,n,l){var c=document.createEvent("CustomEvent");return c.initCustomEvent(e,o,n,l),c.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},t.dispatchEvent(c),c}function A(t,e){return t.getAttribute("data-clocklet-"+e)}function C(t,e,o){t.setAttribute("data-clocklet-"+e,o)}var N=(T.prototype.value=function(t){this.hand.style.transform="rotate("+360*t/this.maxValue+"deg)";var e="clocklet-tick--selected",o=this.dial.getElementsByClassName(e)[0],t=this.dial.querySelector('[data-clocklet-tick-value="'+t+'"]');o!==t&&(o&&o.classList.remove(e),t&&t.classList.add(e))},T.prototype._onDragStart=function(t){var e;t.touches&&1<t.touches.length?this.dragging=!1:(this.dragging=!0,(e=A(t.target,"tick-value"))&&this.setValue(e),t.preventDefault(),L(this.dial,"clocklet.dragstart",!0,!1))},T.prototype._onDrag=function(t){var e,o,n;this.dragging&&(e=t.targetTouches?t.targetTouches[0]:t,(n=(o=document.elementFromPoint(e.clientX,e.clientY))&&A(o,"tick-value"))&&this.dial.contains(o)?this.setValue(n):(o=this.dial.getBoundingClientRect(),n=e.clientX-o.left-o.width/2,o=e.clientY-o.top-o.height/2,n=Math.atan2(o,n),this.setValue(Math.round(n*this.maxValue/(2*Math.PI)+this.maxValue/4+this.maxValue)%this.maxValue)),t.preventDefault())},T.prototype._onDragEnd=function(t){this.dragging=!1,t.preventDefault(),L(this.dial,"clocklet.dragend",!0,!1)},T);function T(t,e,o){this.dial=t,this.maxValue=e,this.setValue=o,this.hand=this.dial.getElementsByClassName("clocklet-hand")[0],this.dragging=!1,window.PointerEvent?(t.addEventListener("pointerdown",this._onDragStart.bind(this)),addEventListener("pointermove",this._onDrag.bind(this),!0),addEventListener("pointerup",this._onDragEnd.bind(this),!0)):H?(t.addEventListener("touchstart",this._onDragStart.bind(this)),t.addEventListener("touchmove",this._onDrag.bind(this)),t.addEventListener("touchend",this._onDragEnd.bind(this))):(t.addEventListener("mousedown",this._onDragStart.bind(this)),addEventListener("mousemove",this._onDrag.bind(this),!0),addEventListener("mouseup",this._onDragEnd.bind(this),!0))}var D={className:"",format:"HH:mm",placement:"bottom",alignment:"left",appendTo:"body",zIndex:"",dispatchesInputEvents:!0};function I(t){if(t){for(var e={},o=0,n=t.split(";");o<n.length;o++){var l=n[o],c=l.indexOf(":");e[l.slice(0,c).trim().replace(/[a-zA-Z0-9_]-[a-z]/g,function(t){return t[0]+t[2].toUpperCase()})]=l.slice(c+1).trim()}return e}}var B='<div class="clocklet"><div class="clocklet-plate"><div class="clocklet-dial clocklet-dial--minute"><div class="clocklet-hand clocklet-hand--minute"></div><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="1" style="left:54.8%;top:4.3%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="2" style="left:59.6%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="3" style="left:64.2%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="4" style="left:68.7%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="5" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="6" style="left:77%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="7" style="left:80.8%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="8" style="left:84.2%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="9" style="left:87.2%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="10" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="11" style="left:92%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="12" style="left:93.7%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="13" style="left:95%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="14" style="left:95.7%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="15" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="16" style="left:95.7%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="17" style="left:95%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="18" style="left:93.7%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="19" style="left:92%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="20" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="21" style="left:87.2%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="22" style="left:84.2%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="23" style="left:80.8%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="24" style="left:77%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="25" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="26" style="left:68.7%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="27" style="left:64.2%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="28" style="left:59.6%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="29" style="left:54.8%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="30" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="31" style="left:45.2%;top:95.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="32" style="left:40.4%;top:95%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="33" style="left:35.8%;top:93.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="34" style="left:31.3%;top:92%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="35" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="36" style="left:23%;top:87.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="37" style="left:19.2%;top:84.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="38" style="left:15.8%;top:80.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="39" style="left:12.8%;top:77%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="40" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="41" style="left:8%;top:68.7%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="42" style="left:6.3%;top:64.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="43" style="left:5%;top:59.6%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="44" style="left:4.3%;top:54.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="45" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="46" style="left:4.3%;top:45.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="47" style="left:5%;top:40.4%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="48" style="left:6.3%;top:35.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="49" style="left:8%;top:31.3%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="50" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="51" style="left:12.8%;top:23%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="52" style="left:15.8%;top:19.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="53" style="left:19.2%;top:15.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="54" style="left:23%;top:12.8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="55" style="left:30.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="56" style="left:31.3%;top:8%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="57" style="left:35.8%;top:6.3%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="58" style="left:40.4%;top:5%"></button><button class="clocklet-tick clocklet-tick--minute" type="button" data-clocklet-tick-value="59" style="left:45.2%;top:4.3%"></button></div><div class="clocklet-dial clocklet-dial--hour"><div class="clocklet-hand clocklet-hand--hour"></div><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="0" style="left:50%;top:11%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="1" style="left:69.5%;top:16.2%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="2" style="left:83.8%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="3" style="left:89%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="4" style="left:83.8%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="5" style="left:69.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="6" style="left:50%;top:89%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="7" style="left:30.5%;top:83.8%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="8" style="left:16.2%;top:69.5%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="9" style="left:11%;top:50%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="10" style="left:16.2%;top:30.5%"></button><button class="clocklet-tick clocklet-tick--hour" type="button" data-clocklet-tick-value="11" style="left:30.5%;top:16.2%"></button></div><div class="clocklet-ampm"></div><div class="clocklet-hand-origin"></div></div></div>';function V(t,e){return z(t,e,/[Hhk]$/)}function R(t,e){return z(t,e,/a/i)}function z(t,e,o){for(var n=0,l=0,c=v(e);l<c.length;l++){var i=c[l];if(i.literal)n+=i.property.length;else{var a=t[i.property];if(o.test(i.property))return{index:n,value:a};n+=a.length}}}var F=["position","left","top","right","bottom","marginLeft","marginTop","marginRight","marginBottom"],q=matchMedia("(hover: none)").matches,$=(Z.prototype.open=function(e,t){var o=this,n=x(Object.create(this.defaultOptions),t),l=e.getBoundingClientRect(),c=getComputedStyle(e),i=this.container,a=this.root,t={options:n};L(e,"clocklet.opening",!0,!0,t).defaultPrevented||(this.input=e,this.dispatchesInputEvents=n.dispatchesInputEvents,C(a,"placement",n.placement),C(a,"alignment",n.alignment),C(a,"format",n.format),C(a,"append-to",n.appendTo),a.className="clocklet clocklet--showing "+(q?"":"clocklet--hoverable ")+n.className,i.style.zIndex=""!==n.zIndex?n.zIndex:(parseInt(c.zIndex,10)||0)+1,"parent"===n.appendTo?e.parentElement.insertBefore(i,e):i.parentElement!==document.body&&document.body.appendChild(i),"top"===n.placement?(a.style.top="",a.style.bottom="0"):(a.style.top=l.height+"px",a.style.bottom=""),"right"===n.alignment?(a.style.left="",a.style.right="-"+l.width+"px"):("center"===n.alignment?a.style.left=(e.offsetWidth-a.offsetWidth)/2+"px":a.style.left="0",a.style.right=""),"fixed"===c.position||"parent"===n.appendTo&&"absolute"===c.position?(this._relocate=void 0,K(i.style,c,F)):(K(i.style,{},F),"parent"===n.appendTo?"flex"===(n=getComputedStyle(e.parentElement)).display||"inline-flex"===n.display?(i.style.position="absolute",this._relocate=function(){i.style.left=e.offsetLeft+"px",i.style.top=e.offsetTop+"px"}):(i.style.position="relative",this._relocate=function(){i.style.left=i.style.top="",i.style.left=e.offsetLeft-i.offsetLeft+"px",i.style.top=e.offsetTop-i.offsetTop+"px"}):(i.style.position="absolute",this._relocate=function(){var t=e.getBoundingClientRect();i.style.left=document.documentElement.scrollLeft+document.body.scrollLeft+t.left+"px",i.style.top=document.documentElement.scrollTop+document.body.scrollTop+t.top+"px"}),this._relocate()),this.updateHighlight(),setTimeout(function(){a.classList.remove("clocklet--showing"),o.input&&a.classList.add("clocklet--shown")}),L(e,"clocklet.opened",!0,!1,t))},Z.prototype.close=function(){var t=this.input,e={};t&&(L(t,"clocklet.closing",!0,!0,e).defaultPrevented?t.focus():(this.input=void 0,this.root.classList.remove("clocklet--shown"),L(t,"clocklet.closed",!0,!1,e)))},Z.prototype.inline=function(t,e){var o=void 0===e?{}:e,n=o.input,e=o.format,o=new Z(this.defaultOptions);return t.appendChild(o.container),o.container.classList.add("clocklet-container--inline"),o.root.classList.add("clocklet--inline"),o.dispatchesInputEvents=o.defaultOptions.dispatchesInputEvents,e=e||o.defaultOptions.format,C(o.root,"format",e),n||((n=t.appendChild(document.createElement("input"))).style.display="none"),n.setAttribute("data-clocklet","format:"+e),n.setAttribute("data-clocklet-inline",""),o.input=n,o.updateHighlight(),o},Z.prototype.value=function(t){var e,o,n;this.input&&(e=this.input.value,o="string"==typeof t?E(t):E(this.input.value).with(void 0!==t.a?t:{h:t.h,m:t.m,a:A(this.ampm,"ampm")}),n=A(this.root,"format"),this.input.value=o.format(n),"text"!==this.input.type||"object"!=typeof t||(n=void 0!==t.h?V(o,n):void 0!==t.m?z(o,n,/m$/):void 0!==t.a?R(o,n)||V(o,n):void 0)&&this.input.setSelectionRange(n.index,n.index+n.value.length),this.dispatchesInputEvents&&this.input.value!==e&&L(this.input,"input",!0,!1,{time:o}))},Z.prototype.updateHighlight=function(){var t;this.input&&((t=this.input.value?E(this.input.value):E.INVALID).valid?(C(this.root,"value",t.HHmm),this.hour.value(t.hour%12),this.minute.value(t.minute),C(this.ampm,"ampm",t.a)):(C(this.root,"value",""),this.hour.value(-1),this.minute.value(-1),C(this.ampm,"ampm","am")),t=R(t.valid?t:E.ZERO,A(this.root,"format")),C(this.ampm,"ampm-formatted",t&&t.value||""))},Z);function Z(t){var e,o=this;this.container=((e=document.createElement("div")).className="clocklet-container",e.innerHTML=B,e),this.root=this.container.firstElementChild,this.plate=this.root.firstElementChild,this.hour=new N(this.plate.getElementsByClassName("clocklet-dial--hour")[0],12,function(t){return o.value({h:t})}),this.minute=new N(this.plate.getElementsByClassName("clocklet-dial--minute")[0],60,function(t){return o.value({m:t})}),this.ampm=this.plate.getElementsByClassName("clocklet-ampm")[0],this.defaultOptions=x(Object.create(D),t),addEventListener("input",function(t){return t.target===o.input&&o.updateHighlight()},!0),this.root.addEventListener("mousedown",function(t){return t.preventDefault()}),this.ampm.addEventListener("mousedown",function(){return o.value({a:"pm"===A(o.ampm,"ampm")?"am":"pm"})}),this.root.addEventListener("clocklet.dragstart",function(){return o.root.classList.add("clocklet--dragging")}),this.root.addEventListener("clocklet.dragend",function(){return o.root.classList.remove("clocklet--dragging")});t=function(){return o._relocate&&o._relocate()};addEventListener("resize",t),addEventListener("orientationchange",t)}function K(t,e,o){for(var n=0,l=o;n<l.length;n++){var c=l[n];t[c]=e[c]||""}}var W,X,Y,U,G,J,Q={dataAttributeName:"clocklet",formatSelector:function(t){t=I(t.getAttribute("data-clocklet"));return t&&t.format}};return G=(U=Q)&&U.dataAttributeName||"lenientime",J=U&&U.formatSelector||function(t){return t.dataset.lenientime},addEventListener("change",function(t){var e=t.target,o=e.value,t=e.dataset;o&&G in t&&((t=(t=E(o)).valid?t.format(J(e)||"HH:mm"):"")!==o&&(e.value=t,_(e)))},!0),X=(W=Q)&&W.dataAttributeName||"lenientime",Y=W&&W.formatSelector||function(t){return t.dataset.lenientime},W&&W.amountSelector,addEventListener("keydown",function(t){var e,o,n,l,c=t.which;38!==c&&40!==c||t.altKey||t.ctrlKey||t.metaKey||(n=(e=t.target).dataset,X in n&&(t.preventDefault(),o=Y(e)||"HH:mm",(n=e.value)?(l=null===(t=e.selectionStart)?void 0:y(o,n,t))&&(t=(38===c?1:-1)*(W&&W.amountSelector&&W.amountSelector(e)||1),void 0!==(c=l.adjust(t,!0))&&(t=l.index,e.value=n.slice(0,t)+c+n.slice(t+l.value.length),e.setSelectionRange(t,t+c.length),_(e))):(e.value=E.ZERO.format(o),(l=y(o,e.value,0))&&e.setSelectionRange(l.index,l.index+l.value.length),_(e))))},!0),function(t){void 0===t&&(t={});var e,o=new $(t.defaultOptions),n=t.target||"input[data-clocklet]:not([data-clocklet-inline])",l=t.optionsSelector||function(t){return I(t.getAttribute("data-clocklet"))},t=o.close.bind(o);return n instanceof Element?(n.addEventListener("focus",function(t){return o.open(t.target,l(t.target))}),n.addEventListener("blur",t)):(e="function"==typeof n?n:function(t){return(Element.prototype.matches||Element.prototype.msMatchesSelector).call(t,n)},addEventListener("focusin",function(t){t=t.target;e(t)&&o.open(t,l(t))},!0),addEventListener("focusout",t,!0)),o}()});
@@ -0,0 +1,9 @@
1
+ module GlimmerCwCdatetimeNebula
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace GlimmerCwCdatetimeNebula
4
+
5
+ initializer "glimmer_cw_cdatetime_nebula.assets.precompile" do |app|
6
+ app.config.assets.precompile += %w( glimmer_cw_cdatetime_nebula/glimmer_cw_cdatetime_nebula.css )
7
+ end
8
+ end
9
+ end
@@ -1,35 +1,43 @@
1
+ require 'glimmer-cw-cdatetime-nebula/ext/glimmer/swt/c_date_time_proxy'
2
+
1
3
  module Nebula
2
4
  # This modules just configures Glimmer to work with Nebula CDateTime
3
- module CDateTime
5
+ module CDateTime
4
6
  include Glimmer
5
-
6
- Glimmer::SWT::TableProxy.editors[:c_date_time] ||= {
7
- widget_value_property: :selection,
8
- editor_gui: lambda do |args, model, property, table_proxy|
9
- args << cdt(:drop_down) if args.empty?
10
- table_editor_widget_proxy = c_date_time(*args) {
11
- table_proxy.table_editor.minimumHeight = 20
12
- selection model.send(property)
13
- focus true
14
- on_focus_lost {
15
- table_proxy.finish_edit!
16
- }
17
- on_key_pressed { |key_event|
18
- if key_event.keyCode == swt(:cr)
7
+
8
+ keywords = ['c_date_time'] + Glimmer::SWT::WidgetProxy::KEYWORD_ALIASES.select do |key, value|
9
+ value == 'c_date_time'
10
+ end.keys
11
+
12
+ keywords.each do |keyword|
13
+ Glimmer::SWT::TableProxy.editors[keyword] ||= {
14
+ widget_value_property: :selection,
15
+ editor_gui: lambda do |args, model, property, table_proxy|
16
+ args << cdt(:drop_down) if args.empty?
17
+ table_editor_widget_proxy = send(keyword, *args) {
18
+ table_proxy.table_editor.minimumHeight = 20
19
+ selection model.send(property)
20
+ focus true
21
+ on_focus_lost {
19
22
  table_proxy.finish_edit!
20
- elsif key_event.keyCode == swt(:esc)
21
- table_proxy.cancel_edit!
22
- end
23
- }
24
- on_widget_selected { |event|
25
- table_proxy.finish_edit! unless event.widget.is_open
26
- }
27
- on_widget_default_selected { |event|
28
- table_proxy.finish_edit! unless event.widget.is_open
23
+ }
24
+ on_key_pressed { |key_event|
25
+ if key_event.keyCode == swt(:cr)
26
+ table_proxy.finish_edit!
27
+ elsif key_event.keyCode == swt(:esc)
28
+ table_proxy.cancel_edit!
29
+ end
30
+ }
31
+ on_widget_selected { |event|
32
+ table_proxy.finish_edit! unless event.widget.is_open
33
+ }
34
+ on_widget_default_selected { |event|
35
+ table_proxy.finish_edit! unless event.widget.is_open
36
+ }
29
37
  }
30
- }
31
- table_editor_widget_proxy
32
- end
33
- }
38
+ table_editor_widget_proxy
39
+ end
40
+ }
41
+ end
34
42
  end
35
43
  end
@@ -0,0 +1,499 @@
1
+ # Copyright (c) 2020 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module Glimmer
23
+ # Acts as an Opal Ruby substitute for the Eclipse SWT class
24
+ # Up-to-date with SWT 4.17
25
+ module CDT
26
+ ABORT = 512
27
+ ALL = 1
28
+ ALPHA = 4
29
+ ALT = 65536
30
+ ALT_GR = 32768
31
+ APPLICATION_MODAL = 65536
32
+ ARROW = 4
33
+ ARROW_DOWN = 16777218
34
+ ARROW_LEFT = 16777219
35
+ ARROW_RIGHT = 16777220
36
+ ARROW_UP = 16777217
37
+ AUTO_TEXT_DIRECTION = 100663296
38
+ Activate = 26
39
+ Arm = 30
40
+ BACKGROUND = 8
41
+ BALLOON = 4096
42
+ BAR = 2
43
+ BEGINNING = 1
44
+ BITMAP = 0
45
+ BOLD = 1
46
+ BORDER = 2048
47
+ BORDER_DASH = 2
48
+ BORDER_DOT = 4
49
+ BORDER_SOLID = 1
50
+ BOTTOM = 1024
51
+ BREAK = 16777302
52
+ BS = 8
53
+ BUTTON1 = 524288
54
+ BUTTON2 = 1048576
55
+ BUTTON3 = 2097152
56
+ BUTTON4 = 8388608
57
+ BUTTON5 = 33554432
58
+ BUTTON_MASK = 45613056
59
+ CALENDAR = 1024
60
+ CALENDAR_WEEKNUMBERS = 16384
61
+ CANCEL = 256
62
+ CAPS_LOCK = 16777298
63
+ CAP_FLAT = 1
64
+ CAP_ROUND = 2
65
+ CAP_SQUARE = 3
66
+ CASCADE = 64
67
+ CENTER = 16777216
68
+ CHANGED = 2
69
+ CHECK = 32
70
+ CHROMIUM = 131072
71
+ CLIP_CHILDREN = 4096
72
+ CLIP_SIBLINGS = 8192
73
+ CLOSE = 64
74
+ COLOR_BLACK = 2
75
+ COLOR_BLUE = 9
76
+ COLOR_CYAN = 13
77
+ COLOR_DARK_BLUE = 10
78
+ COLOR_DARK_CYAN = 14
79
+ COLOR_DARK_GRAY = 16
80
+ COLOR_DARK_GREEN = 6
81
+ COLOR_DARK_MAGENTA = 12
82
+ COLOR_DARK_RED = 4
83
+ COLOR_DARK_YELLOW = 8
84
+ COLOR_GRAY = 15
85
+ COLOR_GREEN = 5
86
+ COLOR_INFO_BACKGROUND = 29
87
+ COLOR_INFO_FOREGROUND = 28
88
+ COLOR_LINK_FOREGROUND = 36
89
+ COLOR_LIST_BACKGROUND = 25
90
+ COLOR_LIST_FOREGROUND = 24
91
+ COLOR_LIST_SELECTION = 26
92
+ COLOR_LIST_SELECTION_TEXT = 27
93
+ COLOR_MAGENTA = 11
94
+ COLOR_RED = 3
95
+ COLOR_TEXT_DISABLED_BACKGROUND = 38
96
+ COLOR_TITLE_BACKGROUND = 31
97
+ COLOR_TITLE_BACKGROUND_GRADIENT = 32
98
+ COLOR_TITLE_FOREGROUND = 30
99
+ COLOR_TITLE_INACTIVE_BACKGROUND = 34
100
+ COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT = 35
101
+ COLOR_TITLE_INACTIVE_FOREGROUND = 33
102
+ COLOR_TRANSPARENT = 37
103
+ COLOR_WHITE = 1
104
+ COLOR_WIDGET_BACKGROUND = 22
105
+ COLOR_WIDGET_BORDER = 23
106
+ COLOR_WIDGET_DARK_SHADOW = 17
107
+ COLOR_WIDGET_DISABLED_FOREGROUND = 39
108
+ COLOR_WIDGET_FOREGROUND = 21
109
+ COLOR_WIDGET_HIGHLIGHT_SHADOW = 20
110
+ COLOR_WIDGET_LIGHT_SHADOW = 19
111
+ COLOR_WIDGET_NORMAL_SHADOW = 18
112
+ COLOR_YELLOW = 7
113
+ COMMAND = 4194304
114
+ COMPOSITION_CHANGED = 1
115
+ COMPOSITION_OFFSET = 2
116
+ COMPOSITION_SELECTION = 3
117
+ CONTROL = 262144
118
+ CR = 13
119
+ CTRL = 262144
120
+ CURSOR_APPSTARTING = 3
121
+ CURSOR_ARROW = 0
122
+ CURSOR_CROSS = 2
123
+ CURSOR_HAND = 21
124
+ CURSOR_HELP = 4
125
+ CURSOR_IBEAM = 19
126
+ CURSOR_NO = 20
127
+ CURSOR_SIZEALL = 5
128
+ CURSOR_SIZEE = 12
129
+ CURSOR_SIZEN = 10
130
+ CURSOR_SIZENE = 14
131
+ CURSOR_SIZENESW = 6
132
+ CURSOR_SIZENS = 7
133
+ CURSOR_SIZENW = 17
134
+ CURSOR_SIZENWSE = 8
135
+ CURSOR_SIZES = 11
136
+ CURSOR_SIZESE = 15
137
+ CURSOR_SIZESW = 16
138
+ CURSOR_SIZEW = 13
139
+ CURSOR_SIZEWE = 9
140
+ CURSOR_UPARROW = 18
141
+ CURSOR_WAIT = 1
142
+ Close = 21
143
+ Collapse = 18
144
+ DATE = 32
145
+ DBCS = 2
146
+ DEFAULT = -1
147
+ DEFER = 4
148
+ DEL = 127
149
+ DELIMITER_SELECTION = 131072
150
+ DIALOG_TRIM = 2144
151
+ DM_FILL_BACKGROUND = 2
152
+ DM_FILL_NONE = 1
153
+ DM_FILL_PREVIOUS = 3
154
+ DM_UNSPECIFIED = 0
155
+ DOUBLE_BUFFERED = 536870912
156
+ DOWN = 1024
157
+ DRAG = 1
158
+ DRAW_DELIMITER = 2
159
+ DRAW_MNEMONIC = 8
160
+ DRAW_TAB = 4
161
+ DRAW_TRANSPARENT = 1
162
+ DROP_DOWN = 4
163
+ Deactivate = 27
164
+ DefaultSelection = 14
165
+ Deiconify = 20
166
+ Dispose = 12
167
+ DragDetect = 29
168
+ EMBEDDED = 16777216
169
+ const_set 'END', 16777224
170
+ ERROR = 1
171
+ ERROR_CANNOT_BE_ZERO = 7
172
+ ERROR_CANNOT_GET_COUNT = 36
173
+ ERROR_CANNOT_GET_ENABLED = 31
174
+ ERROR_CANNOT_GET_ITEM = 8
175
+ ERROR_CANNOT_GET_ITEM_HEIGHT = 11
176
+ ERROR_CANNOT_GET_SELECTION = 9
177
+ ERROR_CANNOT_GET_TEXT = 12
178
+ ERROR_CANNOT_INVERT_MATRIX = 10
179
+ ERROR_CANNOT_SET_ENABLED = 30
180
+ ERROR_CANNOT_SET_MENU = 29
181
+ ERROR_CANNOT_SET_SELECTION = 28
182
+ ERROR_CANNOT_SET_TEXT = 13
183
+ ERROR_DEVICE_DISPOSED = 45
184
+ ERROR_FAILED_EVALUATE = 50
185
+ ERROR_FAILED_EXEC = 46
186
+ ERROR_FAILED_LOAD_LIBRARY = 47
187
+ ERROR_FUNCTION_DISPOSED = 49
188
+ ERROR_GRAPHIC_DISPOSED = 44
189
+ ERROR_INVALID_ARGUMENT = 5
190
+ ERROR_INVALID_FONT = 48
191
+ ERROR_INVALID_IMAGE = 40
192
+ ERROR_INVALID_PARENT = 32
193
+ ERROR_INVALID_RANGE = 6
194
+ ERROR_INVALID_RETURN_VALUE = 51
195
+ ERROR_INVALID_SUBCLASS = 43
196
+ ERROR_IO = 39
197
+ ERROR_ITEM_NOT_ADDED = 14
198
+ ERROR_ITEM_NOT_REMOVED = 15
199
+ ERROR_MENUITEM_NOT_CASCADE = 27
200
+ ERROR_MENU_NOT_BAR = 33
201
+ ERROR_MENU_NOT_DROP_DOWN = 21
202
+ ERROR_MENU_NOT_POP_UP = 37
203
+ ERROR_NOT_IMPLEMENTED = 20
204
+ ERROR_NO_GRAPHICS_LIBRARY = 16
205
+ ERROR_NO_HANDLES = 2
206
+ ERROR_NO_MORE_CALLBACKS = 3
207
+ ERROR_NULL_ARGUMENT = 4
208
+ ERROR_THREAD_INVALID_ACCESS = 22
209
+ ERROR_UNSPECIFIED = 1
210
+ ERROR_UNSUPPORTED_DEPTH = 38
211
+ ERROR_UNSUPPORTED_FORMAT = 42
212
+ ERROR_WIDGET_DISPOSED = 24
213
+ ESC = 27
214
+ EraseItem = 40
215
+ Expand = 17
216
+ F1 = 16777226
217
+ F10 = 16777235
218
+ F11 = 16777236
219
+ F12 = 16777237
220
+ F13 = 16777238
221
+ F14 = 16777239
222
+ F15 = 16777240
223
+ F16 = 16777241
224
+ F17 = 16777242
225
+ F18 = 16777243
226
+ F19 = 16777244
227
+ F2 = 16777227
228
+ F20 = 16777245
229
+ F3 = 16777228
230
+ F4 = 16777229
231
+ F5 = 16777230
232
+ F6 = 16777231
233
+ F7 = 16777232
234
+ F8 = 16777233
235
+ F9 = 16777234
236
+ FILL = 4
237
+ FILL_EVEN_ODD = 1
238
+ FILL_WINDING = 2
239
+ FLAT = 8388608
240
+ FLIP_TEXT_DIRECTION = -2147483648
241
+ FOCUSED = 4
242
+ FOREGROUND = 16
243
+ FULL_SELECTION = 65536
244
+ FocusIn = 15
245
+ FocusOut = 16
246
+ GESTURE_BEGIN = 2
247
+ GESTURE_END = 4
248
+ GESTURE_MAGNIFY = 32
249
+ GESTURE_PAN = 64
250
+ GESTURE_ROTATE = 8
251
+ GESTURE_SWIPE = 16
252
+ Gesture = 48
253
+ HELP = 16777297
254
+ HIDE_SELECTION = 32768
255
+ HIGH = 2
256
+ HOME = 16777223
257
+ HORIZONTAL = 256
258
+ HOT = 32
259
+ H_SCROLL = 256
260
+ HardKeyDown = 33
261
+ HardKeyUp = 34
262
+ Help = 28
263
+ Hide = 23
264
+ ICON = 1
265
+ ICON_CANCEL = 256
266
+ ICON_ERROR = 1
267
+ ICON_INFORMATION = 2
268
+ ICON_QUESTION = 4
269
+ ICON_SEARCH = 512
270
+ ICON_WARNING = 8
271
+ ICON_WORKING = 16
272
+ ID_ABOUT = -1
273
+ ID_HIDE = -3
274
+ ID_HIDE_OTHERS = -4
275
+ ID_PREFERENCES = -2
276
+ ID_QUIT = -6
277
+ ID_SHOW_ALL = -5
278
+ IGNORE = 2048
279
+ IMAGE_BMP = 0
280
+ IMAGE_BMP_RLE = 1
281
+ IMAGE_COPY = 0
282
+ IMAGE_DISABLE = 1
283
+ IMAGE_GIF = 2
284
+ IMAGE_GRAY = 2
285
+ IMAGE_ICO = 3
286
+ IMAGE_JPEG = 4
287
+ IMAGE_OS2_BMP = 7
288
+ IMAGE_PNG = 5
289
+ IMAGE_SVG = 8
290
+ IMAGE_TIFF = 6
291
+ IMAGE_UNDEFINED = -1
292
+ INDETERMINATE = 2
293
+ INHERIT_DEFAULT = 1
294
+ INHERIT_FORCE = 2
295
+ INHERIT_NONE = 0
296
+ INSERT = 16777225
297
+ ITALIC = 2
298
+ Iconify = 19
299
+ ImeComposition = 43
300
+ JOIN_BEVEL = 3
301
+ JOIN_MITER = 1
302
+ JOIN_ROUND = 2
303
+ KEYCODE_BIT = 16777216
304
+ KEYPAD = 2
305
+ KEYPAD_0 = 16777264
306
+ KEYPAD_1 = 16777265
307
+ KEYPAD_2 = 16777266
308
+ KEYPAD_3 = 16777267
309
+ KEYPAD_4 = 16777268
310
+ KEYPAD_5 = 16777269
311
+ KEYPAD_6 = 16777270
312
+ KEYPAD_7 = 16777271
313
+ KEYPAD_8 = 16777272
314
+ KEYPAD_9 = 16777273
315
+ KEYPAD_ADD = 16777259
316
+ KEYPAD_CR = 16777296
317
+ KEYPAD_DECIMAL = 16777262
318
+ KEYPAD_DIVIDE = 16777263
319
+ KEYPAD_EQUAL = 16777277
320
+ KEYPAD_MULTIPLY = 16777258
321
+ KEYPAD_SUBTRACT = 16777261
322
+ KEY_MASK = 16842751
323
+ KeyDown = 1
324
+ KeyUp = 2
325
+ LAST_LINE_SELECTION = 1048576
326
+ LEAD = 16384
327
+ LEFT = 16384
328
+ LEFT_TO_RIGHT = 33554432
329
+ LF = 10
330
+ LINE_CUSTOM = 6
331
+ LINE_DASH = 2
332
+ LINE_DASHDOT = 4
333
+ LINE_DASHDOTDOT = 5
334
+ LINE_DOT = 3
335
+ LINE_SOLID = 1
336
+ LONG = 268435456
337
+ LOW = 1
338
+ MAX = 1024
339
+ MEDIUM = 65536
340
+ MENU = 64
341
+ MENU_KEYBOARD = 1
342
+ MENU_MOUSE = 0
343
+ MIN = 128
344
+ MIRRORED = 134217728
345
+ MOD1 = 4194304
346
+ MOD2 = 131072
347
+ MOD3 = 65536
348
+ MOD4 = 262144
349
+ MODELESS = 0
350
+ MODIFIER_MASK = 4685824
351
+ MOVEMENT_CHAR = 1
352
+ MOVEMENT_CLUSTER = 2
353
+ MOVEMENT_WORD = 4
354
+ MOVEMENT_WORD_END = 8
355
+ MOVEMENT_WORD_START = 16
356
+ MOZILLA = 32768
357
+ MULTI = 2
358
+ MeasureItem = 41
359
+ MenuDetect = 35
360
+ Modify = 24
361
+ MouseDoubleClick = 8
362
+ MouseDown = 3
363
+ MouseEnter = 6
364
+ MouseExit = 7
365
+ MouseHorizontalWheel = 38
366
+ MouseHover = 32
367
+ MouseMove = 5
368
+ MouseUp = 4
369
+ MouseVerticalWheel = 37
370
+ MouseWheel = 37
371
+ Move = 10
372
+ NATIVE = 8
373
+ NO = 128
374
+ NONE = 0
375
+ NORMAL = 0
376
+ NO_BACKGROUND = 262144
377
+ NO_FOCUS = 524288
378
+ NO_MERGE_PAINTS = 2097152
379
+ NO_MOVE = 8388608
380
+ NO_RADIO_GROUP = 4194304
381
+ NO_REDRAW_RESIZE = 1048576
382
+ NO_SCROLL = 16
383
+ NO_TRIM = 8
384
+ NULL = 0
385
+ NUM_LOCK = 16777299
386
+ None = 0
387
+ OFF = 0
388
+ OK = 32
389
+ ON = 1
390
+ ON_TOP = 16384
391
+ OPEN = 4096
392
+ OpenDocument = 46
393
+ OpenUrl = 54
394
+ OrientationChange = 44
395
+ PAGE_DOWN = 16777222
396
+ PAGE_UP = 16777221
397
+ PASSWORD = 4194304
398
+ PATH_CLOSE = 5
399
+ PATH_CUBIC_TO = 4
400
+ PATH_LINE_TO = 2
401
+ PATH_MOVE_TO = 1
402
+ PATH_QUAD_TO = 3
403
+ PAUSE = 16777301
404
+ PAUSED = 4
405
+ PHONETIC = 16
406
+ POP_UP = 8
407
+ PRIMARY_MODAL = 32768
408
+ PRINT_SCREEN = 16777303
409
+ PUSH = 8
410
+ Paint = 9
411
+ PaintItem = 42
412
+ PostEvent = 51
413
+ PostExternalEventDispatch = 53
414
+ PreEvent = 50
415
+ PreExternalEventDispatch = 52
416
+ RADIO = 16
417
+ READ_ONLY = 8
418
+ RESIZE = 16
419
+ RETRY = 1024
420
+ RIGHT = 131072
421
+ RIGHT_TO_LEFT = 67108864
422
+ ROMAN = 32
423
+ Resize = 11
424
+ SAVE = 8192
425
+ SCROLLBAR_OVERLAY = 2
426
+ SCROLL_LINE = 1
427
+ SCROLL_LOCK = 16777300
428
+ SCROLL_PAGE = 2
429
+ SEARCH = 128
430
+ SELECTED = 2
431
+ SEPARATOR = 2
432
+ SEPARATOR_FILL = -2
433
+ SHADOW_ETCHED_IN = 16
434
+ SHADOW_ETCHED_OUT = 64
435
+ SHADOW_IN = 4
436
+ SHADOW_NONE = 32
437
+ SHADOW_OUT = 8
438
+ SHEET = 268435456
439
+ SHELL_TRIM = 1264
440
+ SHIFT = 131072
441
+ SHORT = 32768
442
+ SIMPLE = 64
443
+ SINGLE = 4
444
+ SKIN_CLASS = 'org.eclipse.swt.skin.class'
445
+ SKIN_ID = 'org.eclipse.swt.skin.id'
446
+ SMOOTH = 65536
447
+ SPACE = 32
448
+ SYSTEM_MODAL = 131072
449
+ Segments = 49
450
+ Selection = 13
451
+ SetData = 36
452
+ Settings = 39
453
+ Show = 22
454
+ Skin = 45
455
+ Sleep = 52
456
+ TAB = 9
457
+ TIME = 128
458
+ TITLE = 32
459
+ TOGGLE = 2
460
+ TOOL = 4
461
+ TOP = 128
462
+ TOUCHSTATE_DOWN = 1
463
+ TOUCHSTATE_MOVE = 2
464
+ TOUCHSTATE_UP = 4
465
+ TRAIL = 131072
466
+ TRANSPARENCY_ALPHA = 1
467
+ TRANSPARENCY_MASK = 2
468
+ TRANSPARENCY_NONE = 0
469
+ TRANSPARENCY_PIXEL = 4
470
+ TRANSPARENT = 1073741824
471
+ TRAVERSE_ARROW_NEXT = 64
472
+ TRAVERSE_ARROW_PREVIOUS = 32
473
+ TRAVERSE_ESCAPE = 2
474
+ TRAVERSE_MNEMONIC = 128
475
+ TRAVERSE_NONE = 0
476
+ TRAVERSE_PAGE_NEXT = 512
477
+ TRAVERSE_PAGE_PREVIOUS = 256
478
+ TRAVERSE_RETURN = 4
479
+ TRAVERSE_TAB_NEXT = 16
480
+ TRAVERSE_TAB_PREVIOUS = 8
481
+ Touch = 47
482
+ Traverse = 31
483
+ UNDERLINE_DOUBLE = 1
484
+ UNDERLINE_ERROR = 2
485
+ UNDERLINE_LINK = 4
486
+ UNDERLINE_SINGLE = 0
487
+ UNDERLINE_SQUIGGLE = 3
488
+ UP = 128
489
+ VERTICAL = 512
490
+ VIRTUAL = 268435456
491
+ V_SCROLL = 512
492
+ Verify = 25
493
+ WEBKIT = 65536
494
+ WRAP = 64
495
+ Wakeup = 53
496
+ YES = 64
497
+ ZoomChanged = 55
498
+ end
499
+ end