glimmer-dsl-tk 0.0.41 → 0.0.42
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +2 -2
- data/VERSION +1 -1
- data/glimmer-dsl-tk.gemspec +0 -0
- data/lib/glimmer/tk/menu_proxy.rb +3 -2
- data/lib/glimmer/tk/widget_proxy.rb +2 -1
- data/lib/glimmer-dsl-tk.rb +2 -2
- data/samples/elaborate/meta_sample.rb +10 -0
- data/samples/hello/hello_menu_bar.rb +3 -8
- data/samples/hello/hello_text.rb +2 -7
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbb49ce9e435d0313cdec33a81afec3ad4d7716ee6e8363004651417d3535704
|
4
|
+
data.tar.gz: 9ad46f88ace884c5d670d2449728369af8510b95e24c291a3bda7580cef65820
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d58a0179466efe9991f53eefb23c6dd3749c386230d70722e0a6c3f24c85f2affc361e18c21d65b34b2cb37269dfb8c7ceff9953a1bc5059f1db971051b0c4c8
|
7
|
+
data.tar.gz: bad07c9519d483534306b04be7e4d110fe302c6dc3f03028d85aa5c85fcfe01437c0471d58b49e3db013abc99d6f55535d5aefacc4bdc651df50b30ecda467e0
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 0.0.42
|
4
|
+
|
5
|
+
- Add vertical/horizontal scrollbars to Meta-Sample
|
6
|
+
- Keep only vertical scrollbar in Hello, Text!
|
7
|
+
- Fix issue with including bwidgets and iwidgets in Windows
|
8
|
+
- Fix Hello, Menu Bar! sample in Windows (by disabling Windows-special System menu, which does not seem to be working in Tk)
|
9
|
+
|
3
10
|
## 0.0.41
|
4
11
|
|
5
12
|
- Support `scrollbar_frame` Glimmer custom widget as a frame that automatically provides scrollbars when its content's size exceeds its size
|
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 Tk 0.0.
|
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 Tk 0.0.42
|
2
2
|
## MRI Ruby Desktop Development GUI Library
|
3
3
|
[](http://badge.fury.io/rb/glimmer-dsl-tk)
|
4
4
|
[](https://github.com/AndyObtiva/glimmer-dsl-tk/actions/workflows/ruby.yml)
|
@@ -181,7 +181,7 @@ gem install glimmer-dsl-tk
|
|
181
181
|
|
182
182
|
Add the following to `Gemfile`:
|
183
183
|
```
|
184
|
-
gem 'glimmer-dsl-tk', '
|
184
|
+
gem 'glimmer-dsl-tk', '0.0.42'
|
185
185
|
```
|
186
186
|
|
187
187
|
And, then run:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.42
|
data/glimmer-dsl-tk.gemspec
CHANGED
Binary file
|
@@ -71,8 +71,9 @@ module Glimmer
|
|
71
71
|
@tk = ::TkSysMenu_Help.new(@parent_proxy.tk)
|
72
72
|
elsif @parent_proxy.parent_proxy.is_a?(ToplevelProxy) && OS.mac? && window?
|
73
73
|
@tk = ::Tk::TkSysMenu_Window.new(@parent_proxy.tk)
|
74
|
-
|
75
|
-
|
74
|
+
# Windows system menu does not seem to work
|
75
|
+
# elsif @parent_proxy.parent_proxy.is_a?(ToplevelProxy) && OS.windows? && system?
|
76
|
+
# @tk = ::TkSysMenu_System.new(@parent_proxy.tk)
|
76
77
|
else
|
77
78
|
tk_widget_class = self.class.tk_widget_class_for(@keyword)
|
78
79
|
@tk = tk_widget_class.new(@parent_proxy.tk)
|
@@ -127,7 +127,7 @@ module Glimmer
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def tk_widget_has_attribute_setter?(attribute)
|
130
|
-
return true if @tk.respond_to?(attribute)
|
130
|
+
return true if @tk.respond_to?(attribute) && attribute != 'focus' # TODO configure exceptions via constant if needed
|
131
131
|
result = nil
|
132
132
|
begin
|
133
133
|
# TK Widget currently doesn't support respond_to? properly, so I have to resort to this trick for now
|
@@ -384,6 +384,7 @@ module Glimmer
|
|
384
384
|
if observer.is_a?(Glimmer::DataBinding::ModelBinding)
|
385
385
|
model = observer.model
|
386
386
|
options_model_property = observer.property_name + '_options'
|
387
|
+
# TODO perform data-binding to values too
|
387
388
|
@tk.values = model.send(options_model_property) if model.respond_to?(options_model_property)
|
388
389
|
end
|
389
390
|
@tk.bind('<ComboboxSelected>') {
|
data/lib/glimmer-dsl-tk.rb
CHANGED
@@ -27,8 +27,8 @@ require 'glimmer'
|
|
27
27
|
require 'puts_debuggerer' if ENV['pd'].to_s.downcase == 'true'
|
28
28
|
# require 'super_module'
|
29
29
|
require 'tk'
|
30
|
-
require 'tkextlib/bwidget'
|
31
|
-
require 'tkextlib/iwidgets'
|
30
|
+
#require 'tkextlib/bwidget' # does not work on Windows
|
31
|
+
#require 'tkextlib/iwidgets' # does not work on Windows
|
32
32
|
require 'os'
|
33
33
|
require 'facets/hash/symbolize_keys'
|
34
34
|
require 'facets/string/underscore'
|
@@ -130,6 +130,16 @@ class MetaSample
|
|
130
130
|
grid row: 0, column: 1, column_weight: 1
|
131
131
|
value File.read(file_path_for(selected_sample))
|
132
132
|
}
|
133
|
+
|
134
|
+
@yscrollbar = scrollbar {
|
135
|
+
grid row: 0, column: 2
|
136
|
+
}
|
137
|
+
@code_text.yscrollbar @yscrollbar
|
138
|
+
|
139
|
+
@xscrollbar = scrollbar {
|
140
|
+
grid row: 1, column: 1, column_span: 2
|
141
|
+
}
|
142
|
+
@code_text.xscrollbar @xscrollbar
|
133
143
|
}
|
134
144
|
@root.open
|
135
145
|
end
|
@@ -25,7 +25,7 @@ include Glimmer
|
|
25
25
|
|
26
26
|
COLORS = [:white, :red, :yellow, :green, :blue, :magenta, :gray, :black]
|
27
27
|
|
28
|
-
Tk::Tile::Style.theme_use
|
28
|
+
Tk::Tile::Style.theme_use 'classic' if OS.mac? # this enables setting background on label just for demo purposes
|
29
29
|
|
30
30
|
root { |r|
|
31
31
|
title 'Hello, Menu Bar!'
|
@@ -65,11 +65,6 @@ root { |r|
|
|
65
65
|
}
|
66
66
|
end
|
67
67
|
|
68
|
-
# Windows-specific system menu (to the top-left of the window frame)
|
69
|
-
if OS.windows?
|
70
|
-
menu(label: 'System')
|
71
|
-
end
|
72
|
-
|
73
68
|
menu(label: 'File', underline: 0) {
|
74
69
|
menu_item(label: 'New', underline: 0) {
|
75
70
|
accelerator OS.mac? ? 'Command+N' : 'Control+N'
|
@@ -166,7 +161,7 @@ root { |r|
|
|
166
161
|
end
|
167
162
|
}
|
168
163
|
|
169
|
-
menu(label: 'Country', underline:
|
164
|
+
menu(label: 'Country', underline: 0) {
|
170
165
|
['denmark', 'finland', 'france', 'germany', 'italy', 'mexico', 'netherlands', 'norway', 'usa'].each do |image_name|
|
171
166
|
menu_item(:radiobutton, label: image_name.capitalize) {
|
172
167
|
selection image_name == 'usa'
|
@@ -176,7 +171,7 @@ root { |r|
|
|
176
171
|
end
|
177
172
|
}
|
178
173
|
|
179
|
-
menu(label: 'Format', underline:
|
174
|
+
menu(label: 'Format', underline: 3) {
|
180
175
|
menu(label: 'Background Color', underline: 0) {
|
181
176
|
COLORS.each { |color_style|
|
182
177
|
menu_item(:radiobutton, label: color_style.to_s.split('_').map(&:capitalize).join(' ')) {
|
data/samples/hello/hello_text.rb
CHANGED
@@ -282,7 +282,7 @@ class HelloText
|
|
282
282
|
|
283
283
|
@text = text {
|
284
284
|
grid row: 1, column: 0, row_weight: 1
|
285
|
-
|
285
|
+
wrap 'word'
|
286
286
|
undo true
|
287
287
|
value <=> [self, :document]
|
288
288
|
|
@@ -304,15 +304,10 @@ class HelloText
|
|
304
304
|
end
|
305
305
|
}
|
306
306
|
|
307
|
-
@yscrollbar =
|
307
|
+
@yscrollbar = scrollbar {
|
308
308
|
grid row: 1, column: 1
|
309
309
|
}
|
310
310
|
@text.yscrollbar @yscrollbar
|
311
|
-
|
312
|
-
@xscrollbar = x_scrollbar {
|
313
|
-
grid row: 2, column: 0, column_span: 2, row_weight: 0
|
314
|
-
}
|
315
|
-
@text.xscrollbar @xscrollbar
|
316
311
|
}
|
317
312
|
@root.open
|
318
313
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-tk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.42
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -310,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
310
|
- !ruby/object:Gem::Version
|
311
311
|
version: '0'
|
312
312
|
requirements: []
|
313
|
-
rubygems_version: 3.2.
|
313
|
+
rubygems_version: 3.2.31
|
314
314
|
signing_key:
|
315
315
|
specification_version: 4
|
316
316
|
summary: Glimmer DSL for Tk
|