glimmer-dsl-swt 4.17.4.1 → 4.17.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +5 -5
- data/VERSION +1 -1
- data/glimmer-dsl-swt.gemspec +4 -3
- data/lib/glimmer/dsl/swt/widget_expression.rb +1 -0
- data/lib/glimmer/swt/image_proxy.rb +3 -0
- data/lib/glimmer/swt/sash_form_proxy.rb +1 -1
- data/lib/glimmer/swt/styled_text_proxy.rb +43 -0
- data/lib/glimmer/swt/widget_proxy.rb +58 -55
- data/samples/elaborate/meta_sample.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c47c4a09134e8146b6296480549750951211f3a54146d5c3b3136762bd5ee127
|
4
|
+
data.tar.gz: 6d6d3b1909b5dcc33102c50321b5f878b06489f807bea8259123c4c01b8547d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 240ae88ff1b8fb6d34833e348dad32ce4c2d17aded1b0579c6955e00e50c399cdbffae1876655f5129079eeef062bad80eb36cacb3d4ff5840e17ae1436e9e4f
|
7
|
+
data.tar.gz: 007670d907089de08b83b48ec968b2394b7ecb4ac4c51156535666aa83ce32647a0ca42a508971058e94d993facfa4a331db6e7b8e44e926245e7b9c5be015f4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
### 4.17.4.2
|
4
|
+
|
5
|
+
- Support StyledText data-binding of caret_offset, selection_count, selection, top_index, and top_pixel, useful for code_text
|
6
|
+
- Support `width, height` hash options for ImageProxy and image properties on widgets
|
7
|
+
- Default SWT styles for tool_bar (:border) and tool_item (:push)
|
8
|
+
|
3
9
|
### 4.17.4.1
|
4
10
|
|
5
11
|
- Optimize code_text line style listener algorithm or avoid setting code_text style via listener for performance reasons
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.17.4.
|
1
|
+
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.17.4.2
|
2
2
|
## JRuby Desktop Development GUI Library
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
|
4
4
|
[![Travis CI](https://travis-ci.com/AndyObtiva/glimmer-dsl-swt.svg?branch=master)](https://travis-ci.com/github/AndyObtiva/glimmer-dsl-swt)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
(The Original Glimmer Library Since 2007. Beware of Imitators!)
|
12
12
|
|
13
|
-
[
|
13
|
+
[Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer) is a native-GUI cross-platform desktop development library written in [JRuby](https://www.jruby.org/), an OS-threaded faster version of [Ruby](https://www.ruby-lang.org/en/). [Glimmer](https://github.com/AndyObtiva/glimmer)'s main innovation is a declarative [Ruby DSL](#glimmer-dsl-syntax) that enables productive and efficient authoring of desktop application user-interfaces while relying on the robust [Eclipse SWT library](https://www.eclipse.org/swt/). [Glimmer](https://rubygems.org/gems/glimmer) additionally innovates by having built-in [data-binding](#data-binding) support, which greatly facilitates synchronizing the GUI with domain models, thus achieving true decoupling of object oriented components and enabling developers to solve business problems (test-first) without worrying about GUI concerns. To get started quickly, [Glimmer](https://rubygems.org/gems/glimmer) offers [scaffolding](#scaffolding) options for [Apps](#in-production), [Gems](#custom-shell-gem), and [Custom Widgets](#custom-widgets). [Glimmer](https://rubygems.org/gems/glimmer) also includes native-executable [packaging](#packaging--distribution) support, sorely lacking in other libraries, thus enabling the delivery of desktop apps written in [Ruby](https://www.ruby-lang.org/en/) as truly native DMG/PKG/APP files on the [Mac](https://www.apple.com/ca/macos) + [App Store](https://developer.apple.com/macos/distribution/), MSI/EXE files on [Windows](https://www.microsoft.com/en-ca/windows), and [Gem Packaged Shell Scripts](#custom-shell-gem) on [Linux](https://www.linux.org/).
|
14
14
|
|
15
15
|
[Glimmer receives two updates per month](https://rubygems.org/gems/glimmer-dsl-swt/versions). You can trust [Glimmer](https://rubygems.org/gems/glimmer) with your Ruby desktop GUI development needs. Please make [Glimmer](https://rubygems.org/gems/glimmer) even better by providing feedback and [contributing](#contributing) when possible.
|
16
16
|
|
@@ -433,7 +433,7 @@ jgem install glimmer-dsl-swt
|
|
433
433
|
|
434
434
|
Or this command if you want a specific version:
|
435
435
|
```
|
436
|
-
jgem install glimmer-dsl-swt -v 4.17.4.
|
436
|
+
jgem install glimmer-dsl-swt -v 4.17.4.2
|
437
437
|
```
|
438
438
|
|
439
439
|
Note: Gem version numbers are in sync with the SWT library versions. The first two digits represent the SWT version number. The last two digits represent the minor and patch versions of Glimmer DSL for SWT.
|
@@ -511,7 +511,7 @@ bin/glimmer samples
|
|
511
511
|
Below are the full usage instructions that come up when running `glimmer` without args.
|
512
512
|
|
513
513
|
```
|
514
|
-
Glimmer (Ruby Desktop Development GUI Library) - JRuby Gem: glimmer-dsl-swt v4.17.4.
|
514
|
+
Glimmer (Ruby Desktop Development GUI Library) - JRuby Gem: glimmer-dsl-swt v4.17.4.2
|
515
515
|
|
516
516
|
Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
|
517
517
|
|
@@ -988,7 +988,7 @@ Output:
|
|
988
988
|
|
989
989
|
Css glimmer-dsl-css 1.1.0 AndyMaleh Glimmer DSL for CSS
|
990
990
|
Opal glimmer-dsl-opal 0.4.0 AndyMaleh Glimmer DSL for Opal
|
991
|
-
Swt glimmer-dsl-swt 4.17.4.
|
991
|
+
Swt glimmer-dsl-swt 4.17.4.2 AndyMaleh Glimmer DSL for SWT
|
992
992
|
Tk glimmer-dsl-tk 0.0.6 AndyMaleh Glimmer DSL for Tk
|
993
993
|
Xml glimmer-dsl-xml 1.1.0 AndyMaleh Glimmer DSL for XML
|
994
994
|
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.17.4.
|
1
|
+
4.17.4.2
|
data/glimmer-dsl-swt.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: glimmer-dsl-swt 4.17.4.
|
5
|
+
# stub: glimmer-dsl-swt 4.17.4.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "glimmer-dsl-swt".freeze
|
9
|
-
s.version = "4.17.4.
|
9
|
+
s.version = "4.17.4.2"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["AndyMaleh".freeze]
|
14
|
-
s.date = "2020-10-
|
14
|
+
s.date = "2020-10-23"
|
15
15
|
s.description = "Glimmer DSL for SWT (JRuby Desktop Development GUI Library)".freeze
|
16
16
|
s.email = "andy.am@gmail.com".freeze
|
17
17
|
s.executables = ["glimmer".freeze, "girb".freeze]
|
@@ -98,6 +98,7 @@ Gem::Specification.new do |s|
|
|
98
98
|
"lib/glimmer/swt/scrolled_composite_proxy.rb",
|
99
99
|
"lib/glimmer/swt/shell_proxy.rb",
|
100
100
|
"lib/glimmer/swt/style_constantizable.rb",
|
101
|
+
"lib/glimmer/swt/styled_text_proxy.rb",
|
101
102
|
"lib/glimmer/swt/swt_proxy.rb",
|
102
103
|
"lib/glimmer/swt/tab_item_proxy.rb",
|
103
104
|
"lib/glimmer/swt/table_column_proxy.rb",
|
@@ -58,6 +58,9 @@ module Glimmer
|
|
58
58
|
elsif @file_path
|
59
59
|
@image_data = ImageData.new(input_stream || @file_path)
|
60
60
|
@swt_image = Image.new(DisplayProxy.instance.swt_display, @image_data)
|
61
|
+
width = options[:width]
|
62
|
+
height = options[:height]
|
63
|
+
scale_to(width, height) unless width.nil? || height.nil?
|
61
64
|
else
|
62
65
|
@swt_image = Image.new(*@args)
|
63
66
|
@image_data = @swt_image.image_data
|
@@ -0,0 +1,43 @@
|
|
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/swt/widget_proxy'
|
23
|
+
|
24
|
+
module Glimmer
|
25
|
+
module SWT
|
26
|
+
# Proxy for org.eclipse.swt.custom.StyledText
|
27
|
+
#
|
28
|
+
# Follows the Proxy Design Pattern
|
29
|
+
class StyledTextProxy < WidgetProxy
|
30
|
+
def set_attribute(attribute_name, *args)
|
31
|
+
if attribute_name.to_s == 'selection'
|
32
|
+
if args.first
|
33
|
+
async_exec { @swt_widget.setCaretOffset(args.first.x) }
|
34
|
+
async_exec { @swt_widget.setSelection(args.first) }
|
35
|
+
end
|
36
|
+
else
|
37
|
+
super(attribute_name, *args)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -44,26 +44,28 @@ module Glimmer
|
|
44
44
|
include Packages
|
45
45
|
|
46
46
|
DEFAULT_STYLES = {
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
47
|
+
'arrow' => [:arrow],
|
48
|
+
'button' => [:push],
|
49
|
+
'checkbox' => [:check],
|
50
|
+
'check' => [:check],
|
51
|
+
'drag_source' => [:drop_copy],
|
52
|
+
'drop_target' => [:drop_copy],
|
53
|
+
'list' => [:border, :v_scroll],
|
54
|
+
'menu_item' => [:push],
|
55
|
+
'radio' => [:radio],
|
56
|
+
'scrolled_composite' => [:border, :h_scroll, :v_scroll],
|
57
|
+
'spinner' => [:border],
|
58
|
+
'styled_text' => [:border, :multi, :v_scroll, :h_scroll],
|
59
|
+
'table' => [:virtual, :border, :full_selection],
|
60
|
+
'text' => [:border],
|
61
|
+
'toggle' => [:toggle],
|
62
|
+
'tool_bar' => [:push],
|
63
|
+
'tool_item' => [:push],
|
64
|
+
'tree' => [:virtual, :border, :h_scroll, :v_scroll],
|
63
65
|
}
|
64
66
|
|
65
67
|
DEFAULT_INITIALIZERS = {
|
66
|
-
|
68
|
+
'composite' => lambda do |composite|
|
67
69
|
if composite.get_layout.nil?
|
68
70
|
layout = GridLayout.new
|
69
71
|
layout.marginWidth = 15
|
@@ -71,18 +73,18 @@ module Glimmer
|
|
71
73
|
composite.layout = layout
|
72
74
|
end
|
73
75
|
end,
|
74
|
-
|
76
|
+
'scrolled_composite' => lambda do |scrolled_composite|
|
75
77
|
scrolled_composite.expand_horizontal = true
|
76
78
|
scrolled_composite.expand_vertical = true
|
77
79
|
end,
|
78
|
-
|
80
|
+
'table' => lambda do |table|
|
79
81
|
table.setHeaderVisible(true)
|
80
82
|
table.setLinesVisible(true)
|
81
83
|
end,
|
82
|
-
|
84
|
+
'table_column' => lambda do |table_column|
|
83
85
|
table_column.setWidth(80)
|
84
86
|
end,
|
85
|
-
|
87
|
+
'group' => lambda do |group|
|
86
88
|
group.layout = GridLayout.new if group.get_layout.nil?
|
87
89
|
end,
|
88
90
|
}
|
@@ -216,7 +218,11 @@ module Glimmer
|
|
216
218
|
def get_attribute(attribute_name)
|
217
219
|
widget_custom_attribute = widget_custom_attribute_mapping[attribute_name.to_s]
|
218
220
|
if widget_custom_attribute
|
219
|
-
|
221
|
+
if widget_custom_attribute[:getter][:invoker]
|
222
|
+
widget_custom_attribute[:getter][:invoker].call(@swt_widget, [])
|
223
|
+
else
|
224
|
+
@swt_widget.send(widget_custom_attribute[:getter][:name])
|
225
|
+
end
|
220
226
|
else
|
221
227
|
@swt_widget.send(attribute_getter(attribute_name))
|
222
228
|
end
|
@@ -330,43 +336,33 @@ module Glimmer
|
|
330
336
|
}
|
331
337
|
end,
|
332
338
|
:caret_position => lambda do |observer|
|
333
|
-
on_swt_keydown { |event|
|
334
|
-
observer.call(@swt_widget.getCaretPosition)
|
335
|
-
}
|
336
339
|
on_swt_keyup { |event|
|
337
|
-
observer.call(@swt_widget.
|
340
|
+
observer.call(@swt_widget.getCaretOffset)
|
338
341
|
}
|
339
|
-
|
340
|
-
observer.call(@swt_widget.
|
342
|
+
on_swt_mouseup { |event|
|
343
|
+
observer.call(@swt_widget.getCaretOffset)
|
344
|
+
}
|
345
|
+
end,
|
346
|
+
:caret_offset => lambda do |observer|
|
347
|
+
on_swt_keyup { |event|
|
348
|
+
observer.call(@swt_widget.getCaretOffset)
|
341
349
|
}
|
342
350
|
on_swt_mouseup { |event|
|
343
|
-
observer.call(@swt_widget.
|
351
|
+
observer.call(@swt_widget.getCaretOffset)
|
344
352
|
}
|
345
353
|
end,
|
346
354
|
:selection => lambda do |observer|
|
347
|
-
on_swt_keydown { |event|
|
348
|
-
observer.call(@swt_widget.getSelection)
|
349
|
-
}
|
350
355
|
on_swt_keyup { |event|
|
351
|
-
observer.call(@swt_widget.getSelection)
|
352
|
-
}
|
353
|
-
on_swt_mousedown { |event|
|
354
|
-
observer.call(@swt_widget.getSelection)
|
356
|
+
observer.call(@swt_widget.getSelection) unless @swt_widget.getSelection.x == 0 && @swt_widget.getSelection.y == 0
|
355
357
|
}
|
356
358
|
on_swt_mouseup { |event|
|
357
|
-
observer.call(@swt_widget.getSelection)
|
359
|
+
observer.call(@swt_widget.getSelection) unless @swt_widget.getSelection.x == 0 && @swt_widget.getSelection.y == 0
|
358
360
|
}
|
359
361
|
end,
|
360
362
|
:selection_count => lambda do |observer|
|
361
|
-
on_swt_keydown { |event|
|
362
|
-
observer.call(@swt_widget.getSelectionCount)
|
363
|
-
}
|
364
363
|
on_swt_keyup { |event|
|
365
364
|
observer.call(@swt_widget.getSelectionCount)
|
366
365
|
}
|
367
|
-
on_swt_mousedown { |event|
|
368
|
-
observer.call(@swt_widget.getSelectionCount)
|
369
|
-
}
|
370
366
|
on_swt_mouseup { |event|
|
371
367
|
observer.call(@swt_widget.getSelectionCount)
|
372
368
|
}
|
@@ -380,6 +376,15 @@ module Glimmer
|
|
380
376
|
end
|
381
377
|
}
|
382
378
|
end,
|
379
|
+
:top_pixel => lambda do |observer|
|
380
|
+
@last_top_pixel = @swt_widget.getTopPixel
|
381
|
+
on_paint_control { |event|
|
382
|
+
if @swt_widget.getTopPixel != @last_top_pixel
|
383
|
+
@last_top_pixel = @swt_widget.getTopPixel
|
384
|
+
observer.call(@last_top_pixel)
|
385
|
+
end
|
386
|
+
}
|
387
|
+
end,
|
383
388
|
},
|
384
389
|
Java::OrgEclipseSwtWidgets::Button => {
|
385
390
|
:selection => lambda do |observer|
|
@@ -660,20 +665,20 @@ module Glimmer
|
|
660
665
|
end
|
661
666
|
|
662
667
|
def widget_custom_attribute_mapping
|
668
|
+
# TODO scope per widget class type just like other mappings
|
663
669
|
@swt_widget_custom_attribute_mapping ||= {
|
664
670
|
'focus' => {
|
665
671
|
getter: {name: 'isFocusControl'},
|
666
672
|
setter: {name: 'setFocus', invoker: lambda { |widget, args| @swt_widget.setFocus if args.first }},
|
667
673
|
},
|
668
674
|
'caret_position' => {
|
669
|
-
getter: {name: 'getCaretPosition'},
|
675
|
+
getter: {name: 'getCaretPosition', invoker: lambda { |widget, args| @swt_widget.respond_to?(:getCaretPosition) ? @swt_widget.getCaretPosition : @swt_widget.getCaretOffset}},
|
670
676
|
setter: {name: 'setSelection', invoker: lambda { |widget, args| @swt_widget.setSelection(args.first) if args.first }},
|
671
677
|
},
|
672
678
|
'selection_count' => {
|
673
679
|
getter: {name: 'getSelectionCount'},
|
674
680
|
setter: {name: 'setSelection', invoker: lambda { |widget, args|
|
675
|
-
|
676
|
-
caret_position = @swt_widget.getCaretPosition rescue @swt_widget.getCaretOffset
|
681
|
+
caret_position = @swt_widget.respond_to?(:getCaretPosition) ? @swt_widget.getCaretPosition : @swt_widget.getCaretOffset
|
677
682
|
@swt_widget.setSelection(caret_position, caret_position + args.first) if args.first
|
678
683
|
}},
|
679
684
|
},
|
@@ -713,11 +718,9 @@ module Glimmer
|
|
713
718
|
end
|
714
719
|
|
715
720
|
def apply_property_type_converters(attribute_name, args)
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
args[0] = converter.call(value) if converter
|
720
|
-
end
|
721
|
+
value = args
|
722
|
+
converter = property_type_converters[attribute_name.to_sym]
|
723
|
+
args[0..-1] = [converter.call(*value)] if converter
|
721
724
|
if args.count == 1 && args.first.is_a?(ColorProxy)
|
722
725
|
g_color = args.first
|
723
726
|
args[0] = g_color.swt_color
|
@@ -738,8 +741,8 @@ module Glimmer
|
|
738
741
|
SWTProxy[*value]
|
739
742
|
},
|
740
743
|
:background => color_converter,
|
741
|
-
:background_image => lambda do
|
742
|
-
image_proxy = ImageProxy.create(value)
|
744
|
+
:background_image => lambda do |*value|
|
745
|
+
image_proxy = ImageProxy.create(*value)
|
743
746
|
|
744
747
|
if image_proxy&.file_path&.end_with?('.gif')
|
745
748
|
image = image_proxy.swt_image
|
@@ -797,8 +800,8 @@ module Glimmer
|
|
797
800
|
value
|
798
801
|
end
|
799
802
|
end,
|
800
|
-
:image => lambda do
|
801
|
-
ImageProxy.create(value).swt_image
|
803
|
+
:image => lambda do |*value|
|
804
|
+
ImageProxy.create(*value).swt_image
|
802
805
|
end,
|
803
806
|
:images => lambda do |array|
|
804
807
|
array.to_a.map do |value|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-swt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.17.4.
|
4
|
+
version: 4.17.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -398,6 +398,7 @@ files:
|
|
398
398
|
- lib/glimmer/swt/scrolled_composite_proxy.rb
|
399
399
|
- lib/glimmer/swt/shell_proxy.rb
|
400
400
|
- lib/glimmer/swt/style_constantizable.rb
|
401
|
+
- lib/glimmer/swt/styled_text_proxy.rb
|
401
402
|
- lib/glimmer/swt/swt_proxy.rb
|
402
403
|
- lib/glimmer/swt/tab_item_proxy.rb
|
403
404
|
- lib/glimmer/swt/table_column_proxy.rb
|