Awesome
<img alt="Glimmer Calculator Icon" src="glimmer-cs-calculator-icon.png" height=85 /> Glimmer Calculator
<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Glimmer Custom Shell
Glimmer Calculator on Mac
Glimmer Calculator on Windows
Glimmer Calculator on Linux
Glimmer Calculator on Opal (Web)
Glimmer Calculator is a sample desktop GUI application built with Glimmer DSL for SWT (JRuby Desktop Development GUI Library).
Architectural Pattern is MVP (Model View Presenter) thanks to Glimmer data-binding support.
Glimmer Calculator was developed test-first following TDD (Test Driven Development) after Glimmer Scaffolding.
Design Patterns discovered in the process were Facade (Presenter) and Command Pattern.
Here are the calculator commands under the models directory:
Platforms
- Mac: Tested and packaged for Mac. (Download Here)
- Windows: Tested and packaged for Windows. (Download Here)
- Linux: Tested and packaged for Linux (Follow setup instructions to install gem and run
calculator
command) - Opal (Web): Tested with Glimmer DSL for Opal and deployed to Heroku. Visit https://glimmer-cs-calculator-server.herokuapp.com
Development Environment Pre-requisites
- JRuby 9.2.11.1 (supporting Ruby 2.5.x syntax) (find at https://www.jruby.org/download)
- Java SE Runtime Environment 7 or higher (find at https://www.oracle.com/java/technologies/javase-downloads.html)
Setup Instructions
Glimmer DSL for SWT
Install Calculator gem by running (jgem
, jruby -S gem
, or gem
directly if you have RVM):
jgem install glimmer-cs-calculator
Afterwards, you may run calculator
to bring up the calculator:
calculator
Note: If you cloned this project and bundle installed, you may invoke via bin/calculator
instead.
Glimmer Custom Shell Reuse
To reuse Calculator as a Glimmer Custom Shell inside another Glimmer application, add the
following to the application's Gemfile
:
gem 'glimmer-cs-calculator', '1.1.4'
Run:
jruby -S bundle
And, then instantiate the Calculator custom shell in your Glimmer application via the calculator
Glimmer DSL keyword.
Glimmer DSL for Opal
The app Rails server lives under: server/glimmer-cs-calculator-server
It is deployed to Heroku at: https://glimmer-cs-calculator-server.herokuapp.com
Setup instructions from Glimmer DSL for Opal were followed in creating the Rails server.
This is the content of app/assets/javascripts/application.rb
:
require 'glimmer-dsl-opal'
Document.ready? do
require 'glimmer-cs-calculator/launch'
end
As you can see, Glimmer Calculator works as is by adding one require statement without needing to change a single line of its code thanks to Glimmer DSL for Opal.
CSS Themes
CSS can be applied externally in Rails onto any Rails Route serving an Opal app.
Apple Calculator CSS Theme
Visit: http://glimmer-cs-calculator-server.herokuapp.com/welcomes/apple
server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_apple.scss
Tiles CSS Theme
Visit: http://glimmer-cs-calculator-server.herokuapp.com/welcomes/tiles
server/glimmer-cs-calculator-server/app/assets/stylesheets/welcomes_tiles.scss
Feature Suggestions
Change Log
Contributing to glimmer-cs-calculator
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
- Fork the project.
- Start a feature/bugfix branch.
- Commit and push until you are happy with your contribution.
- Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
- Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright
Copyright (c) 2020 Andy Maleh. See LICENSE.txt for further details.
--
<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Built with Glimmer DSL for SWT (JRuby Desktop Development GUI Library)
Glimmer Calculator icon made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>