glimmer-dsl-opal 0.0.7 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +815 -76
  4. data/VERSION +1 -1
  5. data/lib/glimmer-dsl-opal.rb +45 -8
  6. data/lib/glimmer-dsl-opal/ext/date.rb +13 -0
  7. data/lib/glimmer-dsl-opal/ext/exception.rb +5 -0
  8. data/lib/glimmer-dsl-opal/missing/net/http.rb +17 -0
  9. data/lib/glimmer-dsl-opal/missing/uri.rb +64 -0
  10. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/contact_manager.rb +2 -3
  11. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/contact_manager/contact.rb +0 -0
  12. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/contact_manager/contact_manager_presenter.rb +0 -0
  13. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/contact_manager/contact_repository.rb +24 -99
  14. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/login.rb +0 -0
  15. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/tic_tac_toe.rb +0 -0
  16. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/tic_tac_toe/board.rb +0 -0
  17. data/lib/{samples → glimmer-dsl-opal/samples}/elaborate/tic_tac_toe/cell.rb +0 -0
  18. data/lib/{samples → glimmer-dsl-opal/samples}/hello/hello_browser.rb +0 -0
  19. data/lib/glimmer-dsl-opal/samples/hello/hello_combo.rb +63 -0
  20. data/lib/{samples → glimmer-dsl-opal/samples}/hello/hello_computed.rb +19 -19
  21. data/lib/{samples → glimmer-dsl-opal/samples}/hello/hello_computed/contact.rb +0 -0
  22. data/lib/glimmer-dsl-opal/samples/hello/hello_custom_shell.rb +155 -0
  23. data/lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb +86 -0
  24. data/lib/{samples → glimmer-dsl-opal/samples}/hello/hello_list_multi_selection.rb +0 -0
  25. data/lib/{samples → glimmer-dsl-opal/samples}/hello/hello_list_single_selection.rb +0 -0
  26. data/lib/glimmer-dsl-opal/samples/hello/hello_tab.rb +50 -0
  27. data/lib/glimmer-dsl-opal/samples/hello/hello_world.rb +29 -0
  28. data/lib/glimmer-dsl-opal/vendor/jquery.js +2 -0
  29. data/lib/glimmer/data_binding/element_binding.rb +1 -1
  30. data/lib/glimmer/data_binding/ext/observable_model.rb +6 -6
  31. data/lib/glimmer/data_binding/list_selection_binding.rb +1 -1
  32. data/lib/glimmer/data_binding/table_items_binding.rb +70 -0
  33. data/lib/glimmer/dsl/opal/async_exec_expression.rb +2 -2
  34. data/lib/glimmer/dsl/opal/color_expression.rb +38 -0
  35. data/lib/glimmer/dsl/opal/column_properties_expression.rb +22 -0
  36. data/lib/glimmer/dsl/opal/combo_selection_data_binding_expression.rb +2 -2
  37. data/lib/glimmer/dsl/opal/custom_widget_expression.rb +77 -0
  38. data/lib/glimmer/dsl/opal/dsl.rb +15 -14
  39. data/lib/glimmer/dsl/opal/font_expression.rb +47 -0
  40. data/lib/glimmer/dsl/opal/layout_data_expression.rb +2 -2
  41. data/lib/glimmer/dsl/opal/layout_expression.rb +22 -0
  42. data/lib/glimmer/dsl/opal/list_selection_data_binding_expression.rb +2 -3
  43. data/lib/glimmer/dsl/opal/message_box_expression.rb +2 -2
  44. data/lib/glimmer/dsl/opal/property_expression.rb +5 -2
  45. data/lib/glimmer/dsl/opal/rgb_expression.rb +32 -0
  46. data/lib/glimmer/dsl/opal/rgba_expression.rb +32 -0
  47. data/lib/glimmer/dsl/opal/shell_expression.rb +18 -2
  48. data/lib/glimmer/dsl/opal/swt_expression.rb +46 -0
  49. data/lib/glimmer/dsl/opal/{composite_expression.rb → table_column_expression.rb} +3 -3
  50. data/lib/glimmer/dsl/opal/{list_expression.rb → table_expression.rb} +3 -3
  51. data/lib/glimmer/dsl/opal/table_items_data_binding_expression.rb +29 -0
  52. data/lib/glimmer/dsl/opal/widget_expression.rb +24 -0
  53. data/lib/glimmer/dsl/opal/widget_listener_expression.rb +16 -3
  54. data/lib/glimmer/swt.rb +499 -0
  55. data/lib/glimmer/swt/browser_proxy.rb +27 -0
  56. data/lib/glimmer/swt/button_proxy.rb +40 -0
  57. data/lib/glimmer/swt/color_proxy.rb +119 -0
  58. data/lib/glimmer/{opal/select_proxy.rb → swt/combo_proxy.rb} +24 -19
  59. data/lib/glimmer/swt/composite_proxy.rb +31 -0
  60. data/lib/glimmer/{opal → swt}/display_proxy.rb +6 -4
  61. data/lib/glimmer/{opal → swt}/event_listener_proxy.rb +1 -1
  62. data/lib/glimmer/swt/fill_layout_proxy.rb +84 -0
  63. data/lib/glimmer/swt/font_proxy.rb +79 -0
  64. data/lib/glimmer/swt/grid_layout_proxy.rb +71 -0
  65. data/lib/glimmer/swt/label_proxy.rb +34 -0
  66. data/lib/glimmer/swt/layout_data_proxy.rb +87 -0
  67. data/lib/glimmer/swt/layout_proxy.rb +63 -0
  68. data/lib/glimmer/{opal → swt}/list_proxy.rb +31 -23
  69. data/lib/glimmer/swt/message_box_proxy.rb +143 -0
  70. data/lib/glimmer/{opal → swt}/point.rb +1 -1
  71. data/lib/glimmer/{opal → swt}/property_owner.rb +1 -1
  72. data/lib/glimmer/swt/row_layout_proxy.rb +105 -0
  73. data/lib/glimmer/swt/shell_proxy.rb +246 -0
  74. data/lib/glimmer/swt/style_constantizable.rb +154 -0
  75. data/lib/glimmer/swt/swt_proxy.rb +53 -0
  76. data/lib/glimmer/{opal/tab_folder.rb → swt/tab_folder_proxy.rb} +21 -15
  77. data/lib/glimmer/swt/tab_item_proxy.rb +84 -0
  78. data/lib/glimmer/swt/table_column_proxy.rb +56 -0
  79. data/lib/glimmer/swt/table_item_proxy.rb +147 -0
  80. data/lib/glimmer/swt/table_proxy.rb +159 -0
  81. data/lib/glimmer/swt/text_proxy.rb +46 -0
  82. data/lib/glimmer/swt/widget_proxy.rb +490 -0
  83. data/lib/glimmer/ui/custom_shell.rb +91 -0
  84. data/lib/glimmer/ui/custom_widget.rb +291 -0
  85. data/lib/glimmer/util/proc_tracker.rb +39 -0
  86. metadata +131 -76
  87. data/lib/glimmer/config.rb +0 -22
  88. data/lib/glimmer/dsl/engine.rb +0 -193
  89. data/lib/glimmer/dsl/expression.rb +0 -42
  90. data/lib/glimmer/dsl/expression_handler.rb +0 -48
  91. data/lib/glimmer/dsl/opal/browser_expression.rb +0 -17
  92. data/lib/glimmer/dsl/opal/button_expression.rb +0 -18
  93. data/lib/glimmer/dsl/opal/combo_expression.rb +0 -17
  94. data/lib/glimmer/dsl/opal/grid_layout_expression.rb +0 -17
  95. data/lib/glimmer/dsl/opal/label_expression.rb +0 -17
  96. data/lib/glimmer/dsl/opal/tab_folder_expression.rb +0 -17
  97. data/lib/glimmer/dsl/opal/tab_item_expression.rb +0 -17
  98. data/lib/glimmer/dsl/opal/text_expression.rb +0 -22
  99. data/lib/glimmer/dsl/parent_expression.rb +0 -12
  100. data/lib/glimmer/dsl/static_expression.rb +0 -36
  101. data/lib/glimmer/dsl/top_level_expression.rb +0 -7
  102. data/lib/glimmer/error.rb +0 -6
  103. data/lib/glimmer/invalid_keyword_error.rb +0 -6
  104. data/lib/glimmer/opal/div_proxy.rb +0 -22
  105. data/lib/glimmer/opal/document_proxy.rb +0 -178
  106. data/lib/glimmer/opal/element_proxy.rb +0 -287
  107. data/lib/glimmer/opal/grid_layout_proxy.rb +0 -54
  108. data/lib/glimmer/opal/iframe_proxy.rb +0 -23
  109. data/lib/glimmer/opal/input_proxy.rb +0 -45
  110. data/lib/glimmer/opal/label_proxy.rb +0 -25
  111. data/lib/glimmer/opal/layout_data_proxy.rb +0 -31
  112. data/lib/glimmer/opal/modal.rb +0 -94
  113. data/lib/glimmer/opal/tab_item.rb +0 -98
  114. data/lib/samples/elaborate/launch +0 -6
  115. data/lib/samples/hello/hello_combo.rb +0 -34
  116. data/lib/samples/hello/hello_tab.rb +0 -24
  117. data/lib/samples/hello/hello_world.rb +0 -8
  118. data/lib/samples/hello/launch +0 -10
  119. data/lib/samples/launch +0 -4
@@ -1,7 +1,9 @@
1
1
  require 'glimmer/dsl/static_expression'
2
2
  require 'glimmer/dsl/top_level_expression'
3
3
  require 'glimmer/dsl/parent_expression'
4
- require 'glimmer/opal/document_proxy'
4
+ require 'glimmer/swt/shell_proxy'
5
+ require 'glimmer/ui/custom_shell'
6
+ require 'glimmer/dsl/opal/custom_widget_expression'
5
7
 
6
8
  module Glimmer
7
9
  module DSL
@@ -11,7 +13,21 @@ module Glimmer
11
13
  include ParentExpression
12
14
 
13
15
  def interpret(parent, keyword, *args, &block)
14
- Glimmer::Opal::DocumentProxy.new(args)
16
+ if Glimmer::UI::CustomShell.requested_and_not_handled?
17
+ parameters = Glimmer::UI::CustomShell.request_parameter_string.split("&").map {|str| str.split("=")}.to_h
18
+ `history.pushState(#{parameters.merge('custom_shell_handled' => 'true')}, document.title, #{"?#{Glimmer::UI::CustomShell.encoded_request_parameter_string}&custom_shell_handled=true"})`
19
+ custom_shell_keyword = parameters.delete('custom_shell')
20
+ CustomWidgetExpression.new.interpret(nil, custom_shell_keyword, *[parameters])
21
+ `history.pushState(#{parameters.reject {|k,v| k == 'custom_shell_handled'}}, document.title, #{"?#{Glimmer::UI::CustomShell.encoded_request_parameter_string.sub('&custom_shell_handled=true', '')}"})`
22
+ # just a placeholder that has an open method # TODO return an actual CustomShell in the future that does the work happening above in the #open method
23
+ Struct.new(:open).new(true)
24
+ else
25
+ Glimmer::SWT::ShellProxy.new(*args)
26
+ end
27
+ end
28
+
29
+ def add_content(parent, &content)
30
+ content.call(parent) if parent.is_a?(Glimmer::SWT::ShellProxy)
15
31
  end
16
32
  end
17
33
  end
@@ -0,0 +1,46 @@
1
+ # Copyright (c) 2007-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
+ require 'glimmer/dsl/static_expression'
23
+ require 'glimmer/swt/swt_proxy'
24
+
25
+ # TODO consider turning static keywords like bind into methods
26
+
27
+ module Glimmer
28
+ module DSL
29
+ module Opal
30
+ # Responsible for returning SWT constant values
31
+ #
32
+ # Named SwtExpression (not SWTExpression) so that the DSL engine
33
+ # discovers quickly by convention
34
+ class SwtExpression < StaticExpression
35
+ def can_interpret?(parent, keyword, *args, &block)
36
+ block.nil? and
37
+ args.size > 0
38
+ end
39
+
40
+ def interpret(parent, keyword, *args, &block)
41
+ Glimmer::SWT::SWTProxy[*args]
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -1,15 +1,15 @@
1
1
  require 'glimmer/dsl/static_expression'
2
2
  require 'glimmer/dsl/parent_expression'
3
- require 'glimmer/opal/div_proxy'
3
+ require 'glimmer/opal/table_column'
4
4
 
5
5
  module Glimmer
6
6
  module DSL
7
7
  module Opal
8
- class CompositeExpression < StaticExpression
8
+ class TableColumnExpression < StaticExpression
9
9
  include ParentExpression
10
10
 
11
11
  def interpret(parent, keyword, *args, &block)
12
- Glimmer::Opal::DivProxy.new(parent, args)
12
+ Glimmer::Opal::TableColumn.new(parent, args)
13
13
  end
14
14
  end
15
15
  end
@@ -1,15 +1,15 @@
1
1
  require 'glimmer/dsl/static_expression'
2
2
  require 'glimmer/dsl/parent_expression'
3
- require 'glimmer/opal/list_proxy'
3
+ require 'glimmer/swt/table_proxy'
4
4
 
5
5
  module Glimmer
6
6
  module DSL
7
7
  module Opal
8
- class ListExpression < StaticExpression
8
+ class TableExpression < StaticExpression
9
9
  include ParentExpression
10
10
 
11
11
  def interpret(parent, keyword, *args, &block)
12
- Glimmer::Opal::ListProxy.new(parent, args)
12
+ Glimmer::SWT::TableProxy.new(parent, args)
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,29 @@
1
+ require 'glimmer/dsl/expression'
2
+ require 'glimmer/data_binding/model_binding'
3
+ require 'glimmer/data_binding/table_items_binding'
4
+ require 'glimmer/swt/table_proxy'
5
+
6
+ module Glimmer
7
+ module DSL
8
+ module Opal
9
+ #Depends on BindCommandHandler and TableColumnPropertiesDataBindingCommandHandler
10
+ class TableItemsDataBindingExpression < Expression
11
+ def can_interpret?(parent, keyword, *args, &block)
12
+ keyword == "items" and
13
+ block.nil? and
14
+ parent.is_a?(Glimmer::SWT::TableProxy) and
15
+ args.size == 2 and
16
+ args[0].is_a?(DataBinding::ModelBinding) and
17
+ args[0].evaluate_property.is_a?(Array) and
18
+ args[1].is_a?(Array)
19
+ end
20
+
21
+ def interpret(parent, keyword, *args, &block)
22
+ model_binding = args[0]
23
+ column_properties = args[1]
24
+ DataBinding::TableItemsBinding.new(parent, model_binding, column_properties)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,24 @@
1
+ require 'glimmer/dsl/expression'
2
+ require 'glimmer/dsl/parent_expression'
3
+ require 'glimmer/swt/widget_proxy'
4
+
5
+ module Glimmer
6
+ module DSL
7
+ module Opal
8
+ class WidgetExpression < Expression
9
+ include ParentExpression
10
+ EXCLUDED_KEYWORDS = %w[shell display]
11
+
12
+ def can_interpret?(parent, keyword, *args, &block)
13
+ !EXCLUDED_KEYWORDS.include?(keyword) and
14
+ parent.is_a?(Glimmer::SWT::WidgetProxy) and
15
+ Glimmer::SWT::WidgetProxy.widget_class(keyword)
16
+ end
17
+
18
+ def interpret(parent, keyword, *args, &block)
19
+ Glimmer::SWT::WidgetProxy.for(keyword, parent, args)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -5,9 +5,22 @@ module Glimmer
5
5
  module Opal
6
6
  class WidgetListenerExpression < Expression
7
7
 
8
- def can_interpret?(parent, keyword, *args, &block)
9
- keyword.start_with?('on_') and args.empty? and block_given?
10
- end
8
+ def can_interpret?(parent, keyword, *args, &block)
9
+ Glimmer::Config.logger.debug {"keyword starts with on_: #{keyword.start_with?('on_')}"}
10
+ return false unless keyword.start_with?('on_')
11
+ # TODO activate the following lines and test them
12
+ # widget_or_display_parentage = parent.respond_to?(:swt_widget) || parent.is_a?(Glimmer::SWT::DisplayProxy)
13
+ # Glimmer::Config.logger.debug {"parent #{parent} is a widget or display: #{widget_or_display_parentage}"}
14
+ # return false unless widget_or_display_parentage
15
+ # Glimmer::Config.logger.debug {"block exists?: #{!block.nil?}"}
16
+ # raise Glimmer::Error, "Listener is missing block for keyword: #{keyword}" unless block_given?
17
+ # Glimmer::Config.logger.debug {"args are empty?: #{args.empty?}"}
18
+ # raise Glimmer::Error, "Invalid listener arguments for keyword: #{keyword}(#{args})" unless args.empty?
19
+ # result = parent.can_handle_observation_request?(keyword)
20
+ # Glimmer::Config.logger.debug {"can add listener? #{result}"}
21
+ # raise Glimmer::Error, "Invalid listener keyword: #{keyword}" unless result
22
+ true
23
+ end
11
24
 
12
25
  def interpret(parent, keyword, *args, &block)
13
26
  parent.handle_observation_request(keyword, &block)
@@ -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 SWT
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