glimmer-cp-messageboxpanel 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9009ec58b03da5c7e2b40cf79e4c4f3e70ff123580bb9beb13f28e75bda7c23e
4
+ data.tar.gz: 266e16eb9dbf75a3bd3cb48c8267b9d2c176d7995a1135fc1ca99b4d76d0a29b
5
+ SHA512:
6
+ metadata.gz: 9937b8b4374dd11761cd2d9365c985f4fb77a52996246135a5b3e0efcbc75420ef44a5adb29c9dd3831611f7dc4ad9a933e958aafaaad7163d0644ce9f3b7097
7
+ data.tar.gz: 20406b7e7096935c5d2dc6501e8c4b80b2ebb55a373eace66c16b2926b421b58c729f9137dc7aef855bbaa3ef38a11d6c5ad25137a286443e4f5d523f67f6122
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # Change Log
2
+
3
+ ## 0.1.0
4
+
5
+ - Initial `message_box_panel` custom shape implementation
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2022 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.
data/README.md ADDED
@@ -0,0 +1,186 @@
1
+ # Message Box Panel 0.1.0
2
+ ## [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Glimmer Custom Shape](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_COMMAND.md#custom-shape-gem)
3
+ [![Gem Version](https://badge.fury.io/rb/glimmer-cp-messageboxpanel.svg)](http://badge.fury.io/rb/glimmer-cp-messageboxpanel)
4
+
5
+ [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) Message Box Panel Custom Shape.
6
+
7
+ `message_box_panel` is the [Glimmer GUI DSL](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#glimmer-gui-dsl-syntax) keyword provided by this [gem](https://rubygems.org/gems/glimmer-cp-messageboxpanel).
8
+
9
+ It is a graphical alternative to the native [`message_box`](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#message_box) widget, which is fully customizable.
10
+
11
+ ### Screenshot
12
+
13
+ ![message-box-panel screenshot](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-first.png)
14
+
15
+ ![message-box-panel screenshot third](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-third.png)
16
+
17
+ ### Actual Use
18
+
19
+ It is used in [Glimmer Quarto](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_SAMPLES.md#quarto).
20
+
21
+ ![Glimmer Quarto](https://raw.githubusercontent.com/AndyObtiva/glimmer-dsl-swt/master/images/glimmer-quarto.png)
22
+
23
+ ## Setup
24
+
25
+ ### Bundler
26
+
27
+ Add the follwing to `Gemfile`:
28
+ ```ruby
29
+ gem 'glimmer-cp-messageboxpanel', '~> 0.1.0'
30
+ ```
31
+
32
+ Run `bundle install` or `bundle`:
33
+ ```
34
+ bundle
35
+ ```
36
+
37
+ ### Direct
38
+
39
+ Run:
40
+ ```
41
+ gem install glimmer-cp-messageboxpanel
42
+ ```
43
+
44
+ ## API
45
+
46
+ First, add this to your [Ruby](https://www.ruby-lang.org/en/) file:
47
+ ```ruby
48
+ require 'glimmer-cp-messageboxpanel'
49
+ ```
50
+
51
+ Then, use this keyword:
52
+ ```ruby
53
+ message_box_panel(options) { properties_and_listeners }
54
+ ```
55
+
56
+ Options (keyword args) are:
57
+ - `:message`
58
+ - `:location_x` (default: `:default`): `:default` value means centered horizontally within parent
59
+ - `:location_y` (default: `:default`): `:default` value means centered vertically within parent
60
+ - `:size_width` (default: `[:default, @font_height*4.0]`): default value is text width plus extra width equal to text font height multiplied by 4
61
+ - `:size_height` (default: `[:default, @font_height*4.0]`): default value is text height plus extra height equal to text font height multiplied by 4
62
+ - `:background_color` (default: `:white`): background color for text and round rectangle
63
+ - `:foreground_color` (default: `:black`): foreground color used in border
64
+ - `:border_line_width` (default: `1`): border line width
65
+ - `:text_font` (default: `{height: 12}`): text font, which has height 12 by default
66
+ - `:text_color` (default: `:black`): text color, which is black by default
67
+
68
+ ## Sample
69
+
70
+ The [glimmer-cp-messageboxpanel Ruby gem](https://rubygems.org/gems/glimmer-cp-messageboxpanel) adds to glimmer samples, showing up when you run:
71
+ ```
72
+ glimmer samples
73
+ ```
74
+
75
+ ### Hello, Message Box Panel!
76
+
77
+ [Glimmer GUI DSL](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#glimmer-gui-dsl-syntax) code (from [samples/message_box_panel/hello_message_box_panel.rb](/samples/message_box_panel/hello_message_box_panel.rb)):
78
+
79
+ ```ruby
80
+ require_relative '../../lib/glimmer-cp-messageboxpanel' # Use `require 'glimmer-cp-messageboxpanel'` if gem is installed
81
+
82
+ class HelloMessageBoxPanel
83
+ include Glimmer::UI::CustomShell
84
+
85
+ body {
86
+ shell {
87
+ text 'Hello, Message Box Panel!'
88
+ minimum_size 425, 200
89
+
90
+ @canvas = canvas {
91
+ background :white
92
+
93
+ first_message_box_panel
94
+ }
95
+ }
96
+ }
97
+
98
+ def first_message_box_panel
99
+ message_box_panel(message: 'Hello, Message Box Panel!', background_color: rgb(255, 255, 128), text_font: {height: 16}) {
100
+ on_closed do
101
+ @canvas.content { # re-open canvas content and add a message box panel
102
+ second_message_box_panel
103
+ }
104
+ end
105
+ }
106
+ end
107
+
108
+ def second_message_box_panel
109
+ message_box_panel(message: "Message Box Panel is a graphical\nversion of the native Message Box", background_color: :cyan, text_font: {height: 16}, border_line_width: 3) {
110
+ on_closed do
111
+ @canvas.content { # re-open canvas content and add a message box panel
112
+ third_message_box_panel
113
+ }
114
+ end
115
+ }
116
+ end
117
+
118
+ def third_message_box_panel
119
+ message_box_panel(message: "It is a customizable alternative that can\n be used in Canvas-based applications", background_color: :yellow, foreground_color: :red, text_color: :dark_green, text_font: {height: 16, style: [:bold, :italic]}, border_line_width: 3) {
120
+ on_closed do
121
+ @canvas.content { # re-open canvas content and add a message box panel
122
+ fourth_message_box_panel
123
+ }
124
+ end
125
+ }
126
+ end
127
+
128
+ def fourth_message_box_panel
129
+ message_box_panel(message: 'Good bye, Message Box Panel!', background_color: :black, text_color: :white, text_font: {height: 16}) {
130
+ on_closed do
131
+ @canvas.content { # re-open canvas content and add a message box panel
132
+ first_message_box_panel
133
+ }
134
+ end
135
+ }
136
+ end
137
+ end
138
+
139
+ HelloMessageBoxPanel.launch
140
+ ```
141
+
142
+ Hello, Message Box Panel!
143
+
144
+ ![Hello Message Box Panel](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-first.png)
145
+
146
+ ![Hello Message Box Panel second](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-second.png)
147
+
148
+ ![Hello Message Box Panel third](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-third.png)
149
+
150
+ ![Hello Message Box Panel fourth](/screenshots/glimmer-cp-messageboxpanel-hello-message-box-panel-fourth.png)
151
+
152
+ ## Contributing
153
+
154
+ - Check out the latest master to make sure the feature hasn't been
155
+ implemented or the bug hasn't been fixed yet.
156
+ - Check out the issue tracker to make sure someone already hasn't
157
+ requested it and/or contributed it.
158
+ - Fork the project.
159
+ - Start a feature/bugfix branch.
160
+ - Commit and push until you are happy with your contribution.
161
+ - Make sure to add tests for it. This is important so I don't break it
162
+ in a future version unintentionally.
163
+ - Please try not to mess with the Rakefile, version, or history. If
164
+ you want to have your own version, or is otherwise necessary, that
165
+ is fine, but please isolate to its own commit so I can cherry-pick
166
+ around it.
167
+
168
+ ## TODO
169
+
170
+ If you need new features or spot things that need to be fixed or improved, please [report in an Issue](https://github.com/AndyObtiva/glimmer-cp-messageboxpanel/issues/new) or [submit a Pull Request](https://github.com/AndyObtiva/glimmer-cp-messageboxpanel/compare).
171
+
172
+ [TODO.md](/TODO.md)
173
+
174
+ ## Change Log
175
+
176
+ [CHANGELOG.md](/CHANGELOG.md)
177
+
178
+ ## License
179
+
180
+ [MIT](LICENSE.txt)
181
+
182
+ Copyright (c) 2022 - Andy Maleh.
183
+
184
+ --
185
+
186
+ [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built for [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Framework).
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,56 @@
1
+ # Generated by juwelier
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: glimmer-cp-messageboxpanel 0.1.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "glimmer-cp-messageboxpanel".freeze
9
+ s.version = "0.1.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Andy Maleh".freeze]
14
+ s.date = "2022-01-08"
15
+ s.description = "Message Box Panel - Glimmer DSL for SWT Custom Shape - message_box_panel is a graphical alternative to the native SWT message_box".freeze
16
+ s.email = "andy.am@gmail.com".freeze
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ "CHANGELOG.md",
23
+ "LICENSE.txt",
24
+ "README.md",
25
+ "VERSION",
26
+ "glimmer-cp-messageboxpanel.gemspec",
27
+ "lib/glimmer-cp-messageboxpanel.rb",
28
+ "lib/glimmer/view/message_box_panel.rb",
29
+ "samples/message_box_panel/hello_message_box_panel.rb"
30
+ ]
31
+ s.homepage = "http://github.com/AndyObtiva/glimmer-cp-messageboxpanel".freeze
32
+ s.licenses = ["MIT".freeze]
33
+ s.rubygems_version = "3.2.29".freeze
34
+ s.summary = "Message Box Panel - Glimmer Custom Shape".freeze
35
+
36
+ if s.respond_to? :specification_version then
37
+ s.specification_version = 4
38
+ end
39
+
40
+ if s.respond_to? :add_runtime_dependency then
41
+ s.add_runtime_dependency(%q<glimmer-dsl-swt>.freeze, ["~> 4.22"])
42
+ s.add_runtime_dependency(%q<psych>.freeze, ["= 3.3.2"])
43
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
44
+ s.add_development_dependency(%q<juwelier>.freeze, ["= 2.4.9"])
45
+ s.add_development_dependency(%q<warbler>.freeze, ["= 2.0.5"])
46
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
47
+ else
48
+ s.add_dependency(%q<glimmer-dsl-swt>.freeze, ["~> 4.22"])
49
+ s.add_dependency(%q<psych>.freeze, ["= 3.3.2"])
50
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
51
+ s.add_dependency(%q<juwelier>.freeze, ["= 2.4.9"])
52
+ s.add_dependency(%q<warbler>.freeze, ["= 2.0.5"])
53
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
54
+ end
55
+ end
56
+
@@ -0,0 +1,116 @@
1
+ # Copyright (c) 2022 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
+ module View
24
+ class MessageBoxPanel
25
+ include Glimmer::UI::CustomShape
26
+
27
+ FONT_HEIGHT_DEFAULT = 12
28
+ BUTTON_TEXT_DEFAULT = 'OK'
29
+
30
+ option :message
31
+ option :location_x, default: :default
32
+ option :location_y, default: :default
33
+ option :size_width
34
+ option :size_height
35
+ option :background_color, default: :white
36
+ option :foreground_color, default: :black
37
+ option :border_line_width, default: 1
38
+ option :text_font, default: {height: FONT_HEIGHT_DEFAULT}
39
+ option :text_color, default: :black
40
+
41
+ attr_reader :closed
42
+ alias closed? closed
43
+
44
+ def can_handle_observation_request?(observation_request)
45
+ observation_request == 'on_closed' || super
46
+ end
47
+
48
+ def handle_observation_request(observation_request, &block)
49
+ if observation_request == 'on_closed'
50
+ @on_closed_handlers ||= []
51
+ @on_closed_handlers << block
52
+ else
53
+ super
54
+ end
55
+ end
56
+
57
+ before_body do
58
+ @font_height = text_font[:height] || FONT_HEIGHT_DEFAULT
59
+ self.size_width ||= [:default, @font_height*4.0]
60
+ self.size_height ||= [:default, @font_height*4.0]
61
+ @text_offset = -1.2*@font_height
62
+
63
+ display {
64
+ on_swt_keyup do |key_event|
65
+ close if key_event.keyCode == swt(:cr)
66
+ end
67
+ }
68
+ end
69
+
70
+ body {
71
+ rectangle(location_x, location_y, size_width, size_height, round: true) {
72
+ background background_color
73
+
74
+ text(message, :default, [:default, @text_offset]) {
75
+ foreground text_color
76
+ font text_font
77
+ }
78
+
79
+ rectangle(0, 0, :max, :max, round: true) { # border drawn around max dimensions of parent
80
+ foreground foreground_color
81
+ line_width border_line_width
82
+ }
83
+
84
+ rectangle(:default, [:default, @font_height + (@font_height/2.0)], @font_height*5.5, @font_height*2.0, @font_height, @font_height, round: true) {
85
+ background background_color
86
+
87
+ text(BUTTON_TEXT_DEFAULT) {
88
+ foreground text_color
89
+ font text_font
90
+ }
91
+
92
+ on_mouse_up do
93
+ close
94
+ end
95
+ }
96
+
97
+ rectangle(:default, [:default, @font_height + (@font_height/2.0)], @font_height*5.5, @font_height*2.0, @font_height, @font_height, round: true) { # border
98
+ foreground foreground_color
99
+ line_width border_line_width
100
+ }
101
+ }
102
+ }
103
+
104
+ def close
105
+ async_exec do
106
+ unless @closed
107
+ @closed = true
108
+ @on_closed_handlers&.each {|handler| handler.call}
109
+ @on_closed_handlers&.clear
110
+ body_root.dispose
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2022 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
+ $LOAD_PATH.unshift(File.expand_path('..', __FILE__))
23
+
24
+ require 'glimmer-dsl-swt'
25
+ require 'glimmer/view/message_box_panel'
@@ -0,0 +1,81 @@
1
+ # Copyright (c) 2022 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_relative '../../lib/glimmer-cp-messageboxpanel' # Use `require 'glimmer-cp-messageboxpanel'` if gem is installed
23
+
24
+ class HelloMessageBoxPanel
25
+ include Glimmer::UI::CustomShell
26
+
27
+ body {
28
+ shell {
29
+ text 'Hello, Message Box Panel!'
30
+ minimum_size 425, 200
31
+
32
+ @canvas = canvas {
33
+ background :white
34
+
35
+ first_message_box_panel
36
+ }
37
+ }
38
+ }
39
+
40
+ def first_message_box_panel
41
+ message_box_panel(message: 'Hello, Message Box Panel!', background_color: rgb(255, 255, 128), text_font: {height: 16}) {
42
+ on_closed do
43
+ @canvas.content { # re-open canvas content and add a message box panel
44
+ second_message_box_panel
45
+ }
46
+ end
47
+ }
48
+ end
49
+
50
+ def second_message_box_panel
51
+ message_box_panel(message: "Message Box Panel is a graphical\nversion of the native Message Box", background_color: :cyan, text_font: {height: 16}, border_line_width: 3) {
52
+ on_closed do
53
+ @canvas.content { # re-open canvas content and add a message box panel
54
+ third_message_box_panel
55
+ }
56
+ end
57
+ }
58
+ end
59
+
60
+ def third_message_box_panel
61
+ message_box_panel(message: "It is a customizable alternative that can\n be used in Canvas-based applications", background_color: :yellow, foreground_color: :red, text_color: :dark_green, text_font: {height: 16, style: [:bold, :italic]}, border_line_width: 3) {
62
+ on_closed do
63
+ @canvas.content { # re-open canvas content and add a message box panel
64
+ fourth_message_box_panel
65
+ }
66
+ end
67
+ }
68
+ end
69
+
70
+ def fourth_message_box_panel
71
+ message_box_panel(message: 'Good bye, Message Box Panel!', background_color: :black, text_color: :white, text_font: {height: 16}) {
72
+ on_closed do
73
+ @canvas.content { # re-open canvas content and add a message box panel
74
+ first_message_box_panel
75
+ }
76
+ end
77
+ }
78
+ end
79
+ end
80
+
81
+ HelloMessageBoxPanel.launch
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: glimmer-cp-messageboxpanel
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Maleh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-01-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '4.22'
19
+ name: glimmer-dsl-swt
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.22'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - '='
31
+ - !ruby/object:Gem::Version
32
+ version: 3.3.2
33
+ name: psych
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 3.3.2
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 3.5.0
47
+ name: rspec
48
+ prerelease: false
49
+ type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 2.4.9
61
+ name: juwelier
62
+ prerelease: false
63
+ type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.4.9
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '='
73
+ - !ruby/object:Gem::Version
74
+ version: 2.0.5
75
+ name: warbler
76
+ prerelease: false
77
+ type: :development
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.5
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ name: simplecov
90
+ prerelease: false
91
+ type: :development
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Message Box Panel - Glimmer DSL for SWT Custom Shape - message_box_panel
98
+ is a graphical alternative to the native SWT message_box
99
+ email: andy.am@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files:
103
+ - LICENSE.txt
104
+ - README.md
105
+ files:
106
+ - CHANGELOG.md
107
+ - LICENSE.txt
108
+ - README.md
109
+ - VERSION
110
+ - glimmer-cp-messageboxpanel.gemspec
111
+ - lib/glimmer-cp-messageboxpanel.rb
112
+ - lib/glimmer/view/message_box_panel.rb
113
+ - samples/message_box_panel/hello_message_box_panel.rb
114
+ homepage: http://github.com/AndyObtiva/glimmer-cp-messageboxpanel
115
+ licenses:
116
+ - MIT
117
+ metadata: {}
118
+ post_install_message:
119
+ rdoc_options: []
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ requirements: []
133
+ rubygems_version: 3.2.29
134
+ signing_key:
135
+ specification_version: 4
136
+ summary: Message Box Panel - Glimmer Custom Shape
137
+ test_files: []