glimmer-dsl-swt 4.28.0.0 → 4.29.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f4118fd1f815ce25180ca5c27839e9951899ab535e2dd8ff0de1a724d0d2dc5
4
- data.tar.gz: e95df70274b50d1219900e8ef5d6bbf577d08a214cf28ec5a6928966a6a37e7b
3
+ metadata.gz: 2d4c43470ebc5404b5a15e04a87326cbf4a930ae75685c5f13d22cc10334b497
4
+ data.tar.gz: '028066d00b4f2283917779500a8dc93d63b9fcc000dba809b211009756a1b5ce'
5
5
  SHA512:
6
- metadata.gz: 7013b1469138bce792c17d18e8c58cab74817f90d408f3486f32740a619091b4842e624aac945b42908059199ec884ea772c0ef31cb7171dc8d6d08665e73762
7
- data.tar.gz: 22fc82833e5596539b9bb7d313eb58dad80ba252dffa3c2a1df2304803ae5f03fb85ff7ee377c632a43349d46eb23e7966a7cb6a27204326a2a59f7c0ddddd52
6
+ metadata.gz: fdbd2403d322ac1ec9b601c410ece74c794e283d7a2386ef82d8c299f98669b6697d27c4efe1083cfd9fdd067985d0bccd2728a127943bfe11a6f9a76ffa02ee
7
+ data.tar.gz: b2c36fbd48b013488f5bd54561a25aa13ee048a8e8edf1e3573378fff8e3b9a1dce707c63d5bcaaa63e642be11e0cfa5db7994a93edeffe5b41d0b3e289f5553
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 4.29.0.0
4
+
5
+ - Upgrade to SWT 4.29
6
+ - Upgrade to JRuby 9.3.11.0
7
+ - Enable setting properties direclty on main code body `styled_text` component of `code_text` by nesting properties underneath the `code` element (e.g. `code_text { code { font font_options } }`)
8
+
3
9
  ## 4.28.0.0
4
10
 
5
11
  - Upgrade to SWT 4.28
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.28.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 SWT 4.29.0.0
2
2
  ## JRuby Desktop Development Cross-Platform Native GUI Framework
3
3
  ### The Quickest Way From Zero To GUI
4
4
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
@@ -26,11 +26,11 @@
26
26
  [<img src="https://covers.oreillystatic.com/images/9780596519650/lrg.jpg" width=105 /><br />
27
27
  Featured in JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.do) and [Chalmers/Gothenburg University Software Engineering Master's Lecture Material](http://www.cse.chalmers.se/~bergert/slides/guest_lecture_DSLs.pdf)
28
28
 
29
- [SWT](https://www.eclipse.org/swt/) (Standard Widget Toolkit) is a very robust GUI toolkit that is most famous for building the [Eclipse IDE](https://www.eclipse.org/ide/), a free and open-source general language Integrated Development Environment that was the first to provide a high-performance pause-free [Java](https://www.oracle.com/ca-en/java/) IDE (unlike earlier versions of NetBeans and other [Java](https://www.oracle.com/ca-en/java/) IDEs), thanks to its very smart software architecture. Additionally, [Eclipse RCP (Rich Client Platform, built on top of SWT) has been used by NASA to build Mars Rover operational software](https://www.eclipse.org/community/casestudies/NASAfinal.pdf). So, [Eclipse technologies](https://www.eclipse.org/) are not only very highly proven, but are also considered some of the best in the world. In fact, it took CSS decades before it finally caught up with one of [SWT](https://www.eclipse.org/swt/)'s very effective ideas, the [GridLayout](https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/layout/package-summary.html). [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) makes [Eclipse Technologies](https://www.eclipse.org/) available in [Ruby](https://www.ruby-lang.org) via [JRuby](https://www.jruby.org/).
29
+ [SWT](https://www.eclipse.org/swt/) (Standard Widget Toolkit) is a very robust GUI toolkit that is most famous for building the [Eclipse IDE](https://www.eclipse.org/ide/), a free and open-source general language Integrated Development Environment that was the first to provide a high-performance pause-free [Java](https://www.oracle.com/ca-en/java/) IDE (unlike earlier versions of NetBeans and other [Java](https://www.oracle.com/ca-en/java/) IDEs), thanks to its very smart software architecture. Additionally, [Eclipse RCP (Rich Client Platform, built on top of SWT) has been used by NASA to build Mars Rover operational software](https://www.eclipse.org/community/casestudies/NASAfinal.pdf). So, [Eclipse technologies](https://www.eclipse.org/) are not only very highly proven, but are also considered some of the best in the world.
30
30
 
31
31
  ![Eclipse SWT RCP NASA Mars Rover](/images/glimmer-eclipse-swt-rcp-nasa-mars-rover.png)
32
32
 
33
- [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.28.0.0 includes [SWT 4.28](https://download.eclipse.org/eclipse/downloads/drops4/R-4.28-202306050440/), which was released on June 5, 2023. 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.
33
+ [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.29.0.0 includes [SWT 4.29](https://download.eclipse.org/eclipse/downloads/drops4/R-4.29-202309031000/), which was released on September 3, 2023. 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.
34
34
 
35
35
  **Starting in version 4.20.0.0, [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) comes with the new [***Shine***](/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#shine) syntax** for highly intuitive and visually expressive View/Model Attribute Mapping, relying on `<=>` for bidirectional (two-way) data-binding and `<=` for unidirectional (one-way) data-binding, providing an alternative to the `bind` keyword. That was [originally conceived back in 2007](https://andymaleh.blogspot.com/2007/12/data-shining-in-glimmer.html).
36
36
 
@@ -305,7 +305,7 @@ https://www.eclipse.org/swt/faq.php
305
305
 
306
306
  - JDK 19 is recommended / JDK 16 is the minimum except on Mac ARM64 where JDK 17 is the minimum (find at https://www.oracle.com/java/technologies/downloads / Ensure `PATH` env var includes Java bin directory for `jpackage` command to work when packaging Glimmer applications / Preferably setup `JAVA_HOME` env var too to point to JDK home directory before installing JRuby)
307
307
  - [RVM](http://rvm.io) on Mac & Linux (not needed on Windows)
308
- - JRuby 9.3.8.0 is recommended / JRuby 9.3.6.0 is the minimum (supporting Ruby 2.6.x syntax) (get via [RVM](http://rvm.io) on Mac and Linux by running `rvm install jruby-9.3.8.0`; On Windows, find at [https://www.jruby.org/download](https://www.jruby.org/download))
308
+ - JRuby 9.3.11.0 is recommended / JRuby 9.3.6.0 is the minimum (supporting Ruby 2.6.x syntax) (get via [RVM](http://rvm.io) on Mac and Linux by running `rvm install jruby-9.3.11.0`; On Windows, find at [https://www.jruby.org/download](https://www.jruby.org/download))
309
309
  - SWT 4.25 (already included in the [glimmer-dsl-swt](https://rubygems.org/gems/glimmer-dsl-swt) gem). Note that SWT supports ARM64/AARCH64 on Mac and Linux since version 4.20
310
310
  - Git (comes with Mac and Linux. Install on Windows: https://git-scm.com/download/win )
311
311
 
@@ -335,7 +335,7 @@ jgem install glimmer-dsl-swt
335
335
 
336
336
  Or this command if you want a specific version:
337
337
  ```
338
- jgem install glimmer-dsl-swt -v 4.28.0.0
338
+ jgem install glimmer-dsl-swt -v 4.29.0.0
339
339
  ```
340
340
 
341
341
  `jgem` is JRuby's version of `gem` command.
@@ -363,7 +363,7 @@ Note: if you're using activerecord or activesupport, keep in mind that Glimmer u
363
363
 
364
364
  Add the following to `Gemfile`:
365
365
  ```
366
- gem 'glimmer-dsl-swt', '~> 4.28.0.0'
366
+ gem 'glimmer-dsl-swt', '~> 4.29.0.0'
367
367
  ```
368
368
 
369
369
  And, then run:
@@ -386,7 +386,7 @@ glimmer
386
386
  ```
387
387
 
388
388
  ```
389
- Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.28.0.0
389
+ Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.29.0.0
390
390
 
391
391
  Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
392
392
 
data/RUBY_VERSION CHANGED
@@ -1 +1 @@
1
- jruby-9.3.10.0
1
+ jruby-9.3.11.0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.28.0.0
1
+ 4.29.0.0
@@ -5344,6 +5344,23 @@ code_text(lines: true) {
5344
5344
  }
5345
5345
  ```
5346
5346
 
5347
+ Code Text Example with lines enabled, setting a property on main code body `styled_text` without also applying to outer `composite`, by nesting underneath `code` element:
5348
+
5349
+ ```ruby
5350
+ code_text(lines: true) {
5351
+ line_numbers {
5352
+ background Display.system_dark_theme? ? :black : :white
5353
+ }
5354
+ code {
5355
+ background :yellow
5356
+ }
5357
+ text <=> [SampleDirectory, 'selected_sample.code']
5358
+ editable <= [SampleDirectory, 'selected_sample.editable']
5359
+ left_margin 7
5360
+ right_margin 7
5361
+ }
5362
+ ```
5363
+
5347
5364
  ###### Code Text Options
5348
5365
 
5349
5366
  **lines**
@@ -5355,6 +5372,13 @@ If set to a hash like `{width: 4}`, it sets the initial width of the line number
5355
5372
 
5356
5373
  Keep in mind that if the text grows and required a wider line numbers area, it grows automatically regardless of initial width.
5357
5374
 
5375
+ When lines are enabled, `code_text` ends up with multiple widgets underneath, which can be customized through these nested elements:
5376
+ - `root {...}` customizes the root `composite` widget
5377
+ - `line_numbers {...}` customizes the line numbers `styled_text` widget
5378
+ - `code {...}` customizes the code `styled_text` widget
5379
+
5380
+ If you include properties directly under `code_text` while lines are enabled, then they are applied to both the root `composite` and code `styled_text` if applicable to each widget.
5381
+
5358
5382
  **theme**
5359
5383
  (default: `'glimmer'`)
5360
5384
 
Binary file
@@ -123,6 +123,10 @@ module Glimmer
123
123
  @line_numbers_styled_text_proxy.content(&block)
124
124
  end
125
125
 
126
+ def code_block=(block)
127
+ @styled_text_proxy.content(&block)
128
+ end
129
+
126
130
  before_body do
127
131
  require 'rouge'
128
132
  require 'ext/rouge/themes/glimmer'
Binary file
Binary file
Binary file
Binary file
Binary file
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.28.0.0
4
+ version: 4.29.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-13 00:00:00.000000000 Z
11
+ date: 2023-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -344,10 +344,10 @@ dependencies:
344
344
  version: 0.14.1.cr2
345
345
  description: Glimmer DSL for SWT (JRuby Desktop Development Cross-Platform Native
346
346
  GUI Framework) is a native-GUI cross-platform desktop development library written
347
- in JRuby, an OS-threaded faster JVM version of Ruby. It includes SWT 4.28 (released
348
- on June 5, 2023). Glimmer's main innovation is a declarative Ruby DSL that enables
349
- productive and efficient authoring of professional-grade desktop applications by
350
- relying on the robust Eclipse SWT library, with the familiar native look, feel,
347
+ in JRuby, an OS-threaded faster JVM version of Ruby. It includes SWT 4.29 (released
348
+ on September 3, 2023). Glimmer's main innovation is a declarative Ruby DSL that
349
+ enables productive and efficient authoring of professional-grade desktop applications
350
+ by relying on the robust Eclipse SWT library, with the familiar native look, feel,
351
351
  and behavior of GUI on Mac, Windows, and Linux. Glimmer additionally innovates by
352
352
  having built-in data-binding support, which greatly facilitates synchronizing the
353
353
  GUI with domain models, thus achieving true decoupling of object oriented components