Nebula 2.5.0.0.0¶ ↑
Glimmer Custom Widget¶ ↑
The Nebula Project is a collection of enterprise-grade high-quality SWT (Standard Widget Toolkit) custom widgets, which are made available for use with Glimmer DSL for SWT in this Ruby gem.
Project version numbers are in sync with the Nebula Project version (currently 2.5.0). The first 3 numbers represent the Nebula Project version. The last 2 numbers represent the minor and patch numbers of this Ruby gem.
This gem imports all of the Nebula Project custom widgets by default. If you prefer to bring in a single custom widget or just a few piecemeal, you can change the configuration or alternatively use one of the standalone Nebula custom widget gems like glimmer-cw-cdatetime-nebula by running the glimmer list:gems:customwidget
command.
Custom Widgets¶ ↑
Here is a list of custom widgets taken from the Nebula Project Official Website.
Custom Date Time¶ ↑
PShelf¶ ↑
Gantt Chart¶ ↑
Used in Are We There Yet?
Gallery¶ ↑
Grid¶ ↑
This is a richer alternative to the table
widget.
Paper Clips¶ ↑
Oscilloscope¶ ↑
PGroup¶ ↑
Rich Text¶ ↑
This is a richer alternative to the styled_text
widget with some caveats (uses the browser
widget behind the scenes).
Geo Map¶ ↑
Table Combo¶ ↑
XViewer¶ ↑
This is a richer alternative to the tree
widget.
Transition¶ ↑
Breadcrumb¶ ↑
Checkbox Group¶ ↑
Column Browser¶ ↑
Dialog¶ ↑
This is a richer alternative to the built-in dialog
widget.
Dual List¶ ↑
Header¶ ↑
Heap Manager¶ ↑
This shows memory usage in an application's Java Virtual Machine.
Login Dialog¶ ↑
Multi Choice¶ ↑
Notifier¶ ↑
Preference Window¶ ↑
Prompt Support¶ ↑
Range Slider¶ ↑
Rounded Toolbar¶ ↑
Star Rating¶ ↑
Text Assist¶ ↑
Tip of The Day¶ ↑
Titled Separator¶ ↑
Calculator¶ ↑
Horizontal Spinner¶ ↑
Launcher¶ ↑
Panels¶ ↑
Switch Button¶ ↑
Progress Circle¶ ↑
Nebula Slider¶ ↑
This is a richer alternative to the built-in slider
widget.
Split Button¶ ↑
This is an alternative to the combo
widget.
Rounded Checkbox¶ ↑
This is an alternative to the checkbox
widget (aka check
or button(:check)
widget).
Floating Text¶ ↑
Password Revealer¶ ↑
Custom Tree Combo¶ ↑
Badged Label¶ ↑
LED Display¶ ↑
Step Bar¶ ↑
Chips¶ ↑
Carousel¶ ↑
Font Awesome¶ ↑
Rounded Switch¶ ↑
Nat Table¶ ↑
A higher-performant alternative to the built-in table
widget.
Setup¶ ↑
This gem includes the Nebula Project JAR files, so you just need to install the gem to get started.
Bundler¶ ↑
gem 'glimmer-cw-nebula', '~> 2.5.0.0.0'
Direct¶ ↑
gem install glimmer-cw-nebula
Usage¶ ↑
Add the following require statement on top of your code (glimmer-dsl-swt
gets required automatically as part of it):
require 'glimmer-cw-nebula'
This imports all of the Nebula Project custom widgets. You can optionally bring in only the custom widgets you need through configuration.
Otherwise, just like with SWT widgets, you may use lowercase underscored keywords for Nebula custom widgets in Glimmer DSL for SWT.
Examples: - gantt_chart
(for GanttChart) - progress_circle
(for ProgressCircle) - password_revealer
(for PasswordRevealer)
For more details on what custom widgets are included in the Nebula Project, check out the official documentation below.
Nebula Project Official Website
Nebula Project Official Javadoc
Configuration¶ ↑
By default, this gem brings in all of the Nebula custom widgets. They are basically all the libraries that live under the gem's vendor/nebula directory minus the version number / file extension:
Packages:
org.eclipse.nebula.widgets.opal.heapmanager org.eclipse.nebula.widgets.carousel org.eclipse.nebula.widgets.badgedlabel org.eclipse.nebula.widgets.passwordrevealer org.eclipse.nebula.widgets.progresscircle org.eclipse.nebula.widgets.opal.starrating org.eclipse.nebula.widgets.opal.checkboxgroup org.eclipse.nebula.widgets.opal.calculator org.eclipse.nebula.widgets.xviewer org.eclipse.nebula.widgets.floatingtext org.eclipse.nebula.widgets.opal.dialog org.eclipse.nebula.widgets.geomap org.eclipse.nebula.widgets.richtext org.eclipse.nebula.widgets.ganttchart org.eclipse.nebula.widgets.chips org.eclipse.nebula.widgets.segmentedbar org.eclipse.nebula.paperclips.widgets org.eclipse.nebula.widgets.opal.multichoice org.eclipse.nebula.widgets.opal.preferencewindow org.eclipse.nebula.widgets.splitbutton org.eclipse.nebula.widgets.opal.switchbutton org.eclipse.nebula.widgets.xviewer.core org.eclipse.nebula.widgets.tablecombo org.eclipse.nebula.paperclips.core org.eclipse.nebula.widgets.pgroup org.eclipse.nebula.widgets.cdatetime org.eclipse.nebula.widgets.opal.launcher org.eclipse.nebula.widgets.opal.propertytable org.eclipse.nebula.widgets.opal.commons org.eclipse.nebula.widgets.opal.textassist org.eclipse.nebula.widgets.opal.duallist org.eclipse.nebula.widgets.opal.rangeslider org.eclipse.nebula.widgets.fontawesome org.eclipse.nebula.widgets.roundedswitch org.eclipse.nebula.widgets.opal.titledseparator org.eclipse.nebula.widgets.stepbar org.eclipse.nebula.cwt org.eclipse.nebula.widgets.gallery org.eclipse.nebula.widgets.pshelf org.eclipse.nebula.effects.stw org.eclipse.nebula.widgets.nebulaslider org.eclipse.nebula.widgets.opal.header org.eclipse.nebula.widgets.oscilloscope org.eclipse.nebula.widgets.opal.notifier org.eclipse.nebula.widgets.opal.promptsupport org.eclipse.nebula.widgets.compositetable org.eclipse.nebula.widgets.ctreecombo org.eclipse.nebula.widgets.opal.panels org.eclipse.nebula.widgets.opal.logindialog org.eclipse.nebula.widgets.grid org.eclipse.nebula.visualization.widgets org.eclipse.nebula.widgets.opal.roundedtoolbar org.eclipse.nebula.widgets.opal.columnbrowser org.eclipse.nebula.widgets.opal.tipoftheday org.eclipse.nebula.widgets.opal.horizontalspinner org.eclipse.nebula.widgets.opal.breadcrumb org.eclipse.nebula.widgets.led
To limit imported custom widgets, set one of the following variables before the gem require statment (require 'glimmer-cw-nebula'
): - ENV['NEBULA_SWT_PACKAGES']
environment variable: can hold a comma separated string list of multiple Nebula SWT packages (e.g. export NEBULA_SWT_PACKAGES="org.eclipse.nebula.widgets.led,org.eclipse.nebula.widgets.opal.breadcrumb"
). - NEBULA_SWT_PACKAGES
Ruby constant: can hold an array of strings representing multiple Nebula SWT packages (e.g. NEBULA_SWT_PACKAGES = ['org.eclipse.nebula.widgets.led' , 'org.eclipse.nebula.widgets.opal.breadcrumb']
Example¶ ↑
Run:
girb
Enter this code (assuming you have gem installed):
# require './lib/glimmer-cw-nebula' # if run locally from cloned project require 'glimmer-cw-nebula' include Glimmer shell { minimum_size 100, 100 progress_circle { show_text true selection 53 } }.open
TODO¶ ↑
Change Log¶ ↑
Contributing to glimmer-cw-nebula¶ ↑
-
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.
License¶ ↑
Copyright © 2021 - Andy Maleh
–
Built for Glimmer DSL for SWT (JRuby Desktop Development GUI Framework).