- Support Rails 7
- Upgrade to Opal 1.4.1
- Upgrade jQuery to 3.6.0
- Upgrade jQuery-UI to 1.13.1
- Fix Hello, Arrow! (menu is showing up outside of widget on the top left of the screen)
- Upgrade to Glimmer DSL for XML 1.3.1
- Upgrade to Glimmer DSL for CSS 1.2.1
- Support Canvas Shape DSL data-binding
- Use Canvas Shape DSL data-binding with Hello, Canvas! text string attribute
- Add bevel 3D look to Tetris elaborate sample via Canvas Shape DSL
- Ensure shell height compensates for providing extra top space to menu_bar when rendered
- Support
image
Canvas Shape DSL keyword - Use
image
in Hello, Canvas! sample
- Support
arc
Canvas Shape DSL keyword (partial support whereby width is assumed to be equal to height to start from a circle basis) - Use
arc
in Hello, Canvas! sample
- Initial support for Canvas Shape DSL keywords (no-databinding, nesting, or gradients yet):
line
point
oval
polygon
polyline
rectangle
string
text
- Minimal initial version of Hello, Canvas! sample
- Hello, Text!
- Support unbordered
text
widget if SWT style:none
was passed - Support
:center
,:left
,:right
SWT styles fortext
widget - Support
:read_only
SWT style fortext
widget - Support
text
widgeton_verify_text
event.doit = false
cancellation feature
- Support key_event.key_location in all key capturing widgets, not just display
- Support key_event.key_location to distinguish between left and right alt/shift/command/ctrl buttons
- Use right/left alt/shift keys in Tetris for rotate right and rotate left
- Support display on_swt_keydown event keyCode/key_code values for arrow keys and alt/shift/ctrl
- Use arrow keys for movement in Tetris
- Use alt/shift keys for rotate right in Tetris
- Tetris elaborate sample (minimal initial version of the one in Glimmer DSL for SWT)
- Support
menu_item
selection
attribute data-binding for:check
and:radio
SWT styles - Set 'custom_shell' data for custom shell on its body_root
- Provide parent_proxy on custom widgets as an alternative to parent for compatibility with Glimmer DSL for SWT
- Have custom widgets derive their parent from body root if not passed in explicitly
- Upgrade to opal-async 1.4.0
- Update Hello, Custom Widget! to utilize
Array#async_cycle
instead ofArray#cycle
- Fix
c_combo
's data-binding of selection receiving model changes - Fix Hello, C Combo!'s reset button
- Fix Login sample by removing unnecessary require statement at the top
- Fix sizing of buttons with font height specified to fit text
- Support
progress_bar
:vertical
SWT style - Add
progress_bar
:vertical
SWT style to Hello, Progress Bar!
- Support
progress_bar
widget without:vertical
SWT style support - Hello, Progress Bar! sample without
:vertical
SWT style
widget#print
method- Hello, Print! sample
- Hello, Label! sample
- Support
label
:separator
SWT style along with:horizontal
or:vertical
- Support
label
image
attribute
- User Profile elaborate sample
- Support widget
cursor
attribute - Hello, Cursor! sample
- Support
scale
widget - Hello, Scale!
- Support
slider
widget - Hello, Slider!
- Support
spinner
automatic insertion of decimal point whendigits
attribute is specified
- Support
spinner
widget (leaving out automatic insertion of decimal point when digits are specified) - Hello, Spinner! sample
- Fix widget
font
property support for both:bold
and:italic
styles at the same time
- Change
tab_item
default background/foreground color to better match Glimmer DSL for SWT - Support
tab_item
tool_tip_text
attribute - Support
tab_item
image
attribute - Implement
c_tab_folder
&c_tab_item
(without the dropdown for hidden tabs that is in Glimmer DSL for SWT) - Hello, C Tab! sample
- Implement
c_combo
- Hello, C Combo! sample
- Support
menu
visible
attribute to enable programmatic display of menu - Support
arrow
widget - Hello, Arrow! sample
- Support
grid_layout
margin_top
,margin_right
,margin_bottom
, andmargin_left
attributes - Support
row_layout
wrap
andjustify
attributes - Hello, Layout! sample
- Partial CGI implementation to have
escapeHTML
(alias:escape_html
) method - HTML Escape label text content
- Fix issue with
row_layout
fill
attribute not working
- Support
grid_layout
make_columns_equal_width
,horizontal_spacing
, andvertical_spacing
attributes - Hello, Composite! sample
- Support
label
widgetbackground_image
attribute - Have File.expand_path support expanding paths even if they did not base off of dir or FILE
- Custom specification of gems having image paths via server-side configuration in Glimmer::Config.gems_having_image_paths
- Auto-expose images of gems that depend on glimmer-dsl-opal as downloadable asset links providing
/glimmer/image_paths
server call to obtain them - Update Hello, Table! to work with image background
- Initial Net::HTTP support for get and post_form
- Added "Weather" elaborate sample (minus multi-threaded refetches)
- Updated Hello, Button!, Hello, Combo!, and Hello, Computed! from Glimmer DSL for SWT
- Support Shine data-binding syntax in custom widgets
- Update Hello, Checkbox!, Hello, Checkbox Group!, Hello, Radio! and Hello, Radio Group! to utilize Shine data-binding syntax from latest glimmer-dsl-swt
- Support CustomShell.launch opening in the same window if no other shell is open or DisplayProxy.open_custom_shells_in_current_window = true is set
- Support CustomShell.launch opening a new window if a shell is already open
- Support passing
table
data-binding column properties ascolumn_properties
orcolumn_attributes
an extra hash option tobind
method call - Support Shine data-binding syntax in
table
- Update Hello, Custom Shell!, Hello, Table!, Contact Manager, and Login samples to use Shine data-binding syntax
- Upgrade to glimmer 2.0.0
- Support Shine syntax for basic widgets (no support for table, tree, shapes, custom widgets, or custom shells)
- Update samples to use Shine syntax
- Upgrade to glimmer 1.0.10
- Improvements to row_layout and grid_layout
- Adding launch/shutdown class methods to Custom Shells
- Support multiple dialogs/message_box'es opened from a listener, handling correct ordering of display with a queue scheduler
- Delaying shell rendering till
#open
method is called as per the right expectation - When nesting dialogs on top of each other, disable all previously opened ones leaving only the top-most dialog active
- Hello, Dialog! Sample
- Support
dialog
widget - Support
width
andheight
onlayout_data
forrow_layout
- Support
center
forrow_layout
- Extracted pure Ruby Struct to pure-struct gem (since it's also used by YASL)
- Alpha experimental incomplete implementation of Net::HTTP.post_form
- Fixed issue with not being able to interact with a shell proxy (LatestShellProxy) after opening (made class autoupgradable to attached ShellProxy after document ready)
- Fixed issue with opening message_box after internalizing the Document.ready? block
- Fixed issue with replacing newlines with HTML newlines in
label
andmessage_box
text
- Log errors to error stream ($stderr) instead of standard out (STDOUT)
- Fixed issue with opening shell caused by internalizing the Document.ready? block
- Support
menu_bar
- Hello, Menu Bar! Sample
- Remove the need to call Document.ready? before opening a Glimmer shell
- Support opening a message_box before creating a shell
- Hello, Pop Up Context Menu! Sample
- Hello Message Box!
- Update hello list samples
- Support context menus
menu
/menu_item
directly under a widget (using jQuery UI) - Support generating new lines when entering
label
text
with \n (auto-converting to
) - Support generating new lines when entering
message_box
message
with \n (auto-converting to
) - Support having any widget contribute static CSS to ShellProxy
- Add Kernel#include_package shim to allow running JRuby include_package from Glimmer DSL for SWT without failing
- Add WidgetProxy#swt_widget to allow running include_package from Glimmer DSL for SWT without failing
- Update login sample from Glimmer DSL for SWT's latest changes
- Update contact_manager sample from Glimmer DSL for SWT's latest changes
- Fixed issue regarding unavailable localStorage data when accessed by custom_widget_expression in hello_checkbox_group, hello_radio_group, and hello_custom_widget
- Hello, Button! Sample
- Fix issue with aligning label as :left, :center, or :right via style style when fill_layout is used
- Fix Hello, Browser sample by accessing https ssl website
- Fix issue with filling space horizontally when using grid layout
- Fix broken embedded
calendar
widget data-binding for hello_date_time.rb sample - Fix broken message_box after opening multiple shells
- Fix issue with opening custom shells in new tabs/windows when CustomShell subclass is required conditionally
- Refactor to use to_collection gem
- Fix issue with breaking
date
/date_drop_down
data-binding as table editor on focus lost - Fix issue with requiring OS, File, and Display class after they've been extracted out
date_drop_down
table_column
editor
date
table_column
editor
time
table_column
editor
- Implement
on_focus_gained
,on_focus_lost
universally on all widgets - Add support for Struct keyword_init to Opal
- Fix issue with hello_table button/combo not being centered (yet stretched)
- Fix issue with table item selection for booking not working after editing has been added
- Fix escape keyboard event handling for combo table editor
- Combo table editor (enabled in Hello, Table! sample)
- Fix issue with table cell selection for editing not working
- Remove widget from parent upon dispose
- Remove listeners upon widget dispose
- Hello, Table! Sample
table
:editable style to enable auto-editingtable
header_visible
property to hide header when falsetable
item_count
property to set minimum item count (fill empty rows when below in table items)table
selection data-bindingtable
built-in sorting supporttable_column
left text alignment and padding of 5px by defaulttable
sort property and direction in GUItable_column
sort_propertytable_column
sort_by blocktable_column
sort blocktable
default sort via property, compare block, and property blocktable
additional sort properties- Prevent
table
unnecessary updates by comparing data to previous data and not updating when it's the same - Contact Manager sample support for on_key_pressed in text widgets upon hitting ENTER
- Fix issue with edit table item error on sorting table
- Fix issue with rendering date_time without a block
- Made listener event handling async to improve performance when triggering multiple events
- Brought Tic Tac Toe sample up-to-date with changes in Glimmer DSL for SWT
- Fixed silent error encountered in rendering custom widgets
- Hello, Date Time! Sample
- Support
date_time
,date
,date_drop_down
,time
,calendar
keywords - Format Date/Time correctly as per SWT implementation by default
- Make glimmer-dsl-opal gem into a Rails engine to support importing default static assets like CSS styles and images
- Show drop down icon next to
date_drop_down
andtime
- Fixed issue with Hello, Combo!, Hello, List...! samples
- Add
margin_top
,margin_right
,margin_bottom
, andmargin_left
to RowLayoutProxy radio
- Hello, Radio! Sample
radio_group
- Hello, Radio Group! Sample
checkbox
- Hello, Checkbox! Sample
checkbox_group
- Fix issue with
label
alignment
property - Fix issues with default
composite
grid_layout
not getting its styles removed when settingrow_layout
button(:radio)
alias forradio
check
alias forcheckbox
button(:check)
alias forcheckbox
- Hello, Group! Sample
- Group widget
- Support
display
keyword representing an SWT Display - Support display
on_swt_keydown
event listener (display-wide widget observer) - Support
DisplayProxy#shells
method keeping track of open shell - Make a custom shell open in the same window if there is no shell open already
- Support
sync_exec
keyword as just an alias toasync_exec
- Provide a makeshift require for 'glimmer-dsl-swt' that requires 'glimmer-dsl-opal' instead
- Fake APIs on the web for OS.os?, File.read, Display.setAppName, Display.setAppVersion
- Provide a minimal URI class that supports URI::encode_www_form_component and URI::decode_www_form_component from Ruby
- Support opening a custom shell in a browser tab/window by passing in query parameters to URL (e.g. ?custom_shell=keyword+option1=value1 etc...)
- Make custom shells automatically open in a new tab/window (while standard shells continue to open in the same window by replacing its content)
- Hello, Custom Shell! Sample
- Color support
- Font support
- Custom Widget Support
- Hello, Custom Widget! sample
- Updated Hello, Combo! sample to match the latest changes in Glimmer DSL for SWT
SWT
full re-implementation in Opal asGlimmer::SWT
with all theSWT
style constants
- Code redesign to better match the glimmer-dsl-swt APIs
- opal-jquery refactoring
- opal-rspec test coverage
- Upgraded to glimmer gem v0.9.3
- Fixed issue with missing Glimmer::Opal::ElementProxy#id=(value) method breaking Contact Manager sample Find feature
- Contact Manager sample support
- Tic Tac Toe sample support
- Login sample support
- Hello, Tab! sample support
- Hello, Browser! sample support
- Hello, List Single Selection! sample support
- Hello, List Multi Selection! sample support
- Hello, Computed! sample support
- Hello, Combo! sample support
- Initial support for webifying Glimmer SWT apps
- Support for Shell and Label widgets (text property only).
- Hello, World! sample support