glimmer-dsl-tk 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +16 -11
- data/VERSION +1 -1
- data/samples/hello/hello_combo.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a698eb9785a297545f7c879869fffe03d02df435bad1fb171b85d1af19341fdd
|
4
|
+
data.tar.gz: e71786ce5dcb1690106cbedab23f65db7e309fa9883a68a9485f6125a277b07a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 856e889c04d9f487bfb3360615af33caf1d58192835bac629278ebf1fef47e1d3c16bb6ab0a8e5e1f7f8314bfd2a5c953452512e4515c0e1986de65db8d9df90
|
7
|
+
data.tar.gz: b6e1d0612e66b63d73e1c613712c3d3e1a6c4ff4eb7352e7e7c248a6012fe480f533530b14c525a68585bdd89ecb05a95c0030f83511ae9cd4484fc95980d950
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
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.6
|
2
|
+
## Ruby Desktop Development GUI Library
|
2
3
|
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-tk.svg)](http://badge.fury.io/rb/glimmer-dsl-tk)
|
3
4
|
[![Travis CI](https://travis-ci.com/AndyObtiva/glimmer-dsl-tk.svg?branch=master)](https://travis-ci.com/github/AndyObtiva/glimmer-dsl-tk)
|
4
5
|
[![Coverage Status](https://coveralls.io/repos/github/AndyObtiva/glimmer-dsl-tk/badge.svg?branch=master)](https://coveralls.io/github/AndyObtiva/glimmer-dsl-tk?branch=master)
|
@@ -7,20 +8,20 @@
|
|
7
8
|
|
8
9
|
[Glimmer](https://github.com/AndyObtiva/glimmer) DSL for [Tk](https://www.tcl.tk/) enables desktop development with [Glimmer](https://github.com/AndyObtiva/glimmer) in [Ruby](https://github.com/ruby/ruby).
|
9
10
|
|
10
|
-
[Tcl/Tk](https://www.tcl.tk/) has evolved into a practical desktop GUI toolkit due to gaining
|
11
|
+
[Tcl/Tk](https://www.tcl.tk/) has evolved into a practical desktop GUI toolkit due to gaining truly native looking themed widgets on Mac, Windows, and Linux in [Tk version 8.5](https://www.tcl.tk/software/tcltk/8.5.html#:~:text=Highlights%20of%20Tk%208.5&text=Font%20rendering%3A%20Now%20uses%20anti,and%20window%20layout%2C%20and%20more.).
|
11
12
|
|
12
13
|
Additionally, [Ruby](https://www.ruby-lang.org/en/) 3.0 Ractor (formerly known as [Guilds](https://olivierlacan.com/posts/concurrency-in-ruby-3-with-guilds/)) supports truly parallel multi-threading, making both [MRI](https://github.com/ruby/ruby) and [Tk](https://www.tcl.tk/) finally viable for support in [Glimmer](https://github.com/AndyObtiva/glimmer) (Ruby Desktop Development GUI Library) as an alternative to [JRuby on SWT](https://github.com/AndyObtiva/glimmer-dsl-swt).
|
13
14
|
|
14
15
|
The trade-off is that while [SWT](https://www.eclipse.org/swt/) provides a plethora of high quality reusable widgets for the Enterprise (such as [Nebula](https://www.eclipse.org/nebula/)), [Tk](https://www.tcl.tk/) enables very fast app startup time via [MRI Ruby](https://www.ruby-lang.org/en/).
|
15
16
|
|
16
|
-
[Glimmer](https://github.com/AndyObtiva/glimmer)
|
17
|
+
[Glimmer](https://github.com/AndyObtiva/glimmer) aims to provide a DSL similar to the [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) to enable more productive desktop development in Ruby with:
|
17
18
|
- Declarative DSL syntax that visually maps to the GUI widget hierarchy
|
18
19
|
- Convention over configuration via smart defaults and automation of low-level details
|
19
20
|
- Requiring the least amount of syntax possible to build GUI
|
20
21
|
- Bidirectional Data-Binding to declaratively wire and automatically synchronize GUI with Business Models
|
22
|
+
- Custom Widget support
|
21
23
|
- Scaffolding for new custom widgets, apps, and gems
|
22
24
|
- Native-Executable packaging on Mac, Windows, and Linux
|
23
|
-
- Custom Widget support
|
24
25
|
|
25
26
|
**Hello, World!**
|
26
27
|
|
@@ -44,7 +45,7 @@ Glimmer app:
|
|
44
45
|
|
45
46
|
![glimmer dsl tk screenshot sample hello world](images/glimmer-dsl-tk-screenshot-sample-hello-world.png)
|
46
47
|
|
47
|
-
NOTE: Glimmer DSL for Tk is in alpha mode. Please help make better by contributing, adopting for small or low risk projects, and providing feedback. It is
|
48
|
+
NOTE: Glimmer DSL for Tk is in alpha mode. Please help make better by contributing, adopting for small or low risk projects, and providing feedback. It is still an early alpha, so the more feedback and issues you report the better.
|
48
49
|
|
49
50
|
Other [Glimmer](https://github.com/AndyObtiva/glimmer) DSL gems:
|
50
51
|
- [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (JRuby Desktop GUI)
|
@@ -77,7 +78,7 @@ gem install glimmer-dsl-tk
|
|
77
78
|
|
78
79
|
Add the following to `Gemfile`:
|
79
80
|
```
|
80
|
-
gem 'glimmer-dsl-tk', '~> 0.0.
|
81
|
+
gem 'glimmer-dsl-tk', '~> 0.0.6'
|
81
82
|
```
|
82
83
|
|
83
84
|
And, then run:
|
@@ -194,7 +195,7 @@ Example:
|
|
194
195
|
This assumes a `Person` model with a `country` attribute representing their current country and a `country_options` attribute representing available options for the country attribute.
|
195
196
|
|
196
197
|
```ruby
|
197
|
-
combobox {
|
198
|
+
combobox {
|
198
199
|
state 'readonly'
|
199
200
|
text bind(person, :country)
|
200
201
|
}
|
@@ -243,8 +244,8 @@ This assumes a `Person` model with a `provinces` attribute representing their cu
|
|
243
244
|
}
|
244
245
|
```
|
245
246
|
|
246
|
-
That code binds the `items` text of the `list` to the `provinces_options` property on the `person` model (data-binding attribute + "_options" by convention)
|
247
|
-
|
247
|
+
That code binds the `items` text of the `list` to the `provinces_options` property on the `person` model (data-binding attribute + "_options" by convention).
|
248
|
+
It also binds the `selection` text of the `list` to the `provinces` property on the `person` model.
|
248
249
|
|
249
250
|
It automatically handles all the Tk plumbing behind the scenes.
|
250
251
|
|
@@ -464,6 +465,10 @@ Run (with the [glimmer-dsl-tk](https://rubygems.org/gems/glimmer-dsl-tk) gem ins
|
|
464
465
|
ruby -r glimmer-dsl-tk -e "require '../samples/hello/hello_list_multi_selection.rb'"
|
465
466
|
```
|
466
467
|
|
468
|
+
Glimmer app:
|
469
|
+
|
470
|
+
![glimmer dsl tk screenshot sample hello list multi selection](images/glimmer-dsl-tk-screenshot-sample-hello-list-multi-selection.png)
|
471
|
+
|
467
472
|
### Hello, Computed!
|
468
473
|
|
469
474
|
Glimmer code (from [samples/hello/hello_computed.rb](samples/hello/hello_computed.rb)):
|
@@ -554,9 +559,9 @@ If you need live help, try to [![Join the chat at https://gitter.im/AndyObtiva/g
|
|
554
559
|
|
555
560
|
[Glimmer Process](https://github.com/AndyObtiva/glimmer/blob/master/PROCESS.md)
|
556
561
|
|
557
|
-
## Feature Suggestions
|
562
|
+
## Planned Features and Feature Suggestions
|
558
563
|
|
559
|
-
These features have been suggested. You might see them in a future version of Glimmer DSL for Tk. You are welcome to contribute more feature suggestions.
|
564
|
+
These features have been planned or suggested. You might see them in a future version of Glimmer DSL for Tk. You are welcome to contribute more feature suggestions.
|
560
565
|
|
561
566
|
[TODO.md](TODO.md)
|
562
567
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -43,12 +43,12 @@ class HelloCombo
|
|
43
43
|
root {
|
44
44
|
title 'Hello, Combo!'
|
45
45
|
|
46
|
-
combobox {
|
46
|
+
combobox {
|
47
47
|
state 'readonly'
|
48
48
|
text bind(person, :country)
|
49
49
|
}
|
50
50
|
|
51
|
-
button {
|
51
|
+
button {
|
52
52
|
text "Reset Selection"
|
53
53
|
command {
|
54
54
|
person.reset_country
|
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.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
231
|
- !ruby/object:Gem::Version
|
232
232
|
version: '0'
|
233
233
|
requirements: []
|
234
|
-
rubygems_version: 3.1.
|
234
|
+
rubygems_version: 3.1.4
|
235
235
|
signing_key:
|
236
236
|
specification_version: 4
|
237
237
|
summary: Glimmer DSL for Tk
|