Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Glimmer(An Eclipse SWT + Data-Binding DSL)
Glimmer [message #1824080] Tue, 07 April 2020 14:02 Go to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
Glimmer (JRuby Desktop UI DSL + Data-Binding) has been undergoing new development.

Examples:

index.php/fa/37762/0/

include Glimmer

shell {
  text "Glimmer"
  label {
    text "Hello World!"
  }
}.open


index.php/fa/37763/0/

shell {
  text "Tic-Tac-Toe"
  composite {
    grid_layout 3, true
    (1..3).each { |row|
      (1..3).each { |column|
        button {
          layout_data :fill, :fill, true, true
          text        bind(@tic_tac_toe_board[row, column], :sign)
          enabled     bind(@tic_tac_toe_board[row, column], :empty)
          on_widget_selected {
            @tic_tac_toe_board.mark_box(row, column)
          }
        }
      }
    }
  }
}

Recent changes/additions:
- Nested/indexed property data-binding
- SWT layout and layout data DSL
- SWT Color and Font DSL
- Ability to add Glimmer Custom Widgets
- SWT Browser widget support
- Automatic cleanup of data-binding/observers upon disposing a widget
- Easier SWT style syntax via GSWT class
- Inclusion of SWT library jars in Ruby gem
- Improved glimmer/girb commands for running on Windows/Linux/Mac

This was originally an Eclipse project: https://www.eclipse.org/proposals/glimmer/

I've eventually moved to GitHub and the MIT license because that's what most Ruby programmers prefer.

GitHub: https://github.com/AndyObtiva/glimmer


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer

[Updated on: Thu, 07 May 2020 14:40]

Report message to a moderator

Re: Glimmer [message #1824284 is a reply to message #1824080] Sun, 12 April 2020 19:11 Go to previous messageGo to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
If you find Glimmer interesting (https://github.com/AndyObtiva/glimmer) and you try out on your own project, please leave some experience reports/feedback here. I'd appreciate as I'd like to learn of people's experiences to make better (albeit I have a small bandwidth of responding to feedback).

Currently eating my own dog food on this open source project for those curious to see Glimmer used in practical application development (MathBowling: https://github.com/AndyObtiva/MathBowling)

With JRuby, I believe Glimmer can be an effective library for handling the View layer in a Java SWT UI desktop application. I've mostly written 100% Ruby Glimmer applications. I'd be interested in hearing experiences from people who might want Glimmer as their View layer by adding .rb files to their existing Java application via JRuby (a very easy thing to do). I've done something similar before on Java applications that needed Ruby features like lightweight command line scripting.


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer

[Updated on: Sun, 12 April 2020 19:56]

Report message to a moderator

Re: Glimmer [message #1824320 is a reply to message #1824284] Mon, 13 April 2020 19:55 Go to previous messageGo to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
I have a lot of development/documentation tasks to do still in Glimmer:
https://github.com/AndyObtiva/glimmer/blob/master/TODO.md

That document should give you an idea on what's coming next or in the near future.

If anyone is interested in contributing to Glimmer, let me know, and I'd be happy to doll out some of those tasks to you.

I am very active in Glimmer development, making releases almost daily:
https://rubygems.org/gems/glimmer/versions


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer
Re: Glimmer [message #1826550 is a reply to message #1824320] Mon, 27 April 2020 03:08 Go to previous messageGo to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
Math Bowling 1.1.0 was just released. It is an elementary level educational math game. built with Glimmer and SWT.

https://raw.githubusercontent.com/AndyObtiva/MathBowling/1.1.0/images/Math-Bowling-Screenshot.png


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer
Re: Glimmer [message #1827599 is a reply to message #1826550] Tue, 19 May 2020 07:08 Go to previous messageGo to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
Gladiator (Glimmer Editor) is a programming text editor I wrote with Glimmer (don't worry, it doesn't compete with Eclipse yet, but is good enough for my own personal needs):

https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-gladiator/master/images/glimmer-gladiator.png
Gladiator (Glimmer Editor) - https://github.com/AndyObtiva/glimmer-cs-gladiator

You may take a look at its code as a programming reference for building practical desktop applications with Glimmer's SWT DSL and data-binding support.


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer

[Updated on: Tue, 19 May 2020 07:09]

Report message to a moderator

Re: Glimmer [message #1829755 is a reply to message #1827599] Fri, 10 July 2020 08:56 Go to previous messageGo to next message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
I've been asked to build a Mac App for displaying at-a-glance project progress for a list of tasks.

The tool is called "Are We There Yet?":
https://github.com/AndyObtiva/are-we-there-yet

Thanks to Glimmer, I've been able to prototype in 1 day only and come up with this:
https://raw.githubusercontent.com/AndyObtiva/are-we-there-yet/master/are-we-there-yet-screenshot.png

Glimmer DSL for SWT Code:

# Are We There Yet? - Glimmer App GUI Prototype - https://github.com/AndyObtiva/are-we-there-yet
shell {
  # Replace example content below with custom shell content
  minimum_size 750, 550
  text "Are We There Yet?"
  grid_layout {
    margin_width 5
    margin_height 5
    horizontal_spacing 5
    vertical_spacing 5
  }
  sash_form(:vertical) {
    layout_data(:fill, :fill, true, true)
    @gantt_chart_container = composite { |container|
      @gantt_chart = gantt_chart(GanttFlags::H_SCROLL_FIXED_RANGE, @preferences_dialog&.gantt_chart_settings) {
        layout_data(:fill, :fill, true, true) {
          minimum_height GANTT_CHART_MINIMUM_HEIGHT
        }
      }
    }
    composite {
      task_form {
        layout_data :fill, :fill, true, true            
      }
      task_table {
        layout_data :fill, :fill, true, true
      }
    }
  }
}


Very easy to read and maintain SWT code thanks to Glimmer's DSL.

Further details are in this blog post:
http://andymaleh.blogspot.com/2020/07/glimmer-dsl-for-swt-021-jruby-92120.html


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer

[Updated on: Sun, 12 July 2020 20:58]

Report message to a moderator

Re: Glimmer [message #1839772 is a reply to message #1829755] Sun, 28 March 2021 10:25 Go to previous message
Andy Maleh is currently offline Andy MalehFriend
Messages: 22
Registered: March 2020
Junior Member
Just a quick heads up that Glimmer DSL for SWT 4.19.0.0 has been released to support the newly released SWT 4.19.

Learn more at this blog post:
https://andymaleh.blogspot.com/2021/03/glimmer-dsl-for-swt-41900-halved.html


OSS Author of Glimmer (GUI DSL for SWT)
https://github.com/AndyObtiva/glimmer
Previous Topic:CTabFolder/CTabItems flashing on focus change
Next Topic:Disabling selection of non-leaf tree nodes in Pane Based Selection Wizard
Goto Forum:
  


Current Time: Wed Apr 21 02:26:40 GMT 2021

Powered by FUDForum. Page generated in 0.02522 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top