All Versions
203
Latest Version
Avg Release Cycle
-
Latest Release
-
Changelog History
Page 12
Changelog History
Page 12
-
v4.18.5.4 Changes
- ๐ Support passing width, height as :default (or nil or not passed in if they are the last args) in all shapes that include other shapes to indicate they are calculated automatically from nested shapes, text/string extent, or otherwise defaulting to 0, 0
- 0๏ธโฃ Support [:default, width_delta], [:default, height_delta] attributes for width and height, which add/subtract from defaults used for shape
- Switch from use of
:default
with x_delta/y_delta to passing[:default, x_delta]
or[:default, y_delta]
(e.g.image(file, [:default, -30], :default)
for x = default - 30 and y = default + 0) - ๐ Support a bounding box for all shapes, implementing
#bounds
(x, y, width, and height) and#size
(width, height) for the ones that don't receive as parameters (like polygon)
-
v4.18.5.3 Changes
- ๐ Support nesting shapes within shapes, with relative positioning (meaning x, y coordinates are assumed relative to parent's x, y in nested shapes)
- ๐ Support passing x, y coordinates as :default (or nil or not passed in if they are the last args) in all shapes, meaning they are centered within parent taking their width and height into account
- Support default_x_delta, y_delta attributes, which add/subtract from defaults used for shape
-
v4.18.5.2 Changes
- ๐ Support checking if an
arc
shape accurately includes a point x,y coordinates within pie region only - ๐ Support checking if an
oval
shape includes a point x,y coordinates in oval region only (not its rectangular region) - ๐ Support checking if a
focus
shape includes a point x,y coordinates - ๐ Support checking point inclusion differently in drawed vs filled Rectangle (only check the drawn border when not filled)
- ๐ Support checking point inclusion differently in drawed vs filled Oval (only check the drawn border when not filled)
- ๐ Support checking point inclusion differently in drawed vs filled Arc (only check the drawn border when not filled)
- ๐ Support
#include?(x, y)
and#contain?(x, y)
methods intext
shape - ๐ Fix point inclusion check for polyline
- ๐ Fix issue with
polygon
check if it includes a point x,y coordinates (replace with availablejava.awt
robust geometry algorithms) - ๐ Fix issue with transforms not working after the latest changes
- ๐ Support checking if an
-
v4.18.5.1 Changes
- Hello, Color Dialog! Sample
- Hello, Font Dialog! Sample
- ๐ Handle SWT RGB color data objects when setting colors on widgets (e.g. background)
- โจ Enhance Hello, Canvas! with Color selector via right-click menu
- ๐ Fixed issue with tree multi selection throwing an exception
-
v4.18.5.0 Changes
- ๐ Automatic
sync_exec
usage from threads other than the GUI thread, thus absolving software engineers from the need to usesync_exec
explicitly anymore. - ๐
auto_exec
keyword to automatically usesync_exec
with SWT code when needed (running from a thread other than GUI thread) - ๐ Implement
sync_exec:
option inbind
keyword with table, tree, combo, and list data-binding (other data-binding types than the standard) - Add
async_exec
option tobind
keyword (coveringdata_binding_expression.rb
withasync_exec
properly) - ๐ Support tree multi-selection data-binding
- Hello, Tree! sample
- โจ Enhance Hello, Canvas! with Shape Movement
- โ Add Jars.lock to scaffold .gitignore file
- โ Add Glimmer::GUI alias for Glimmer::UI module, thus permitting inclusion of Glimmer::GUI::CustomWidget, Glimmer::GUI::CustomShell, and Glimmer::GUI::CustomWindow
- Provide a quick method for grabbing all available cursor/color options off of SWTProxy (SWTProxy.cursor_options, SWTProxy.cursor_styles, SWTProxy.color_options, SWTProxy.color_styles)
- โ Remove explicit git gem dependency given that it is installed via juwelier during scaffolding and is not needed otherwise
- ๐ Support partial image shape drawing by passing source and destination dimensions to
image
shape [documented in docs] - ๐ Support alternate Canvas Shape DSL syntax for
image
by passing nested properties - ๐ Canvas Shape DSL argument data-binding support for
image
- ๐ Support alternate Canvas Shape DSL syntax for
rectangle
by passing nested properties - ๐ Canvas Shape DSL argument data-binding support for
rectangle(x, y, width, height, fill: false)
standard rectangle, which can be optionally filled - ๐ Canvas Shape DSL argument data-binding support for
rectangle(x, y, width, height, arcWidth = 60, arcHeight = 60, fill: false, round: true)
round rectangle, which can be optionally filled, and takes optional extra round angle arguments - 0๏ธโฃ Canvas Shape DSL argument data-binding support for
rectangle(x, y, width, height, vertical = true, fill: true, gradient: true)
gradient rectangle, which is always filled, and takes an optional extra argument to specify true for vertical gradient (default) and false for horizontal gradient - ๐ Canvas Shape DSL argument data-binding support for
arc(x, y, width, height, startAngle, arcAngle, fill: false)
arc is part of a circle within an oval area, denoted by start angle (degrees) and end angle (degrees) - ๐ Canvas Shape DSL argument data-binding support for
focus(x, y, width, height)
this is just like rectangle but its foreground color is always that of the OS widget focus color (useful when capturing user interaction via a shape) - ๐ Canvas Shape DSL argument data-binding support for
line(x1, y1, x2, y2)
line - ๐ Canvas Shape DSL argument data-binding support for
oval(x, y, width, height, fill: false)
oval if width does not match heigh and circle if width matches height. Can be optionally filled. - ๐ Canvas Shape DSL argument data-binding support for
point(x, y)
point - ๐ Canvas Shape DSL argument data-binding support for
polygon(pointArray, fill: false)
polygon consisting of points, which close automatically to form a shape that can be optionally filled (when points only form a line, it does not show up as filled) - ๐ Canvas Shape DSL argument data-binding support for
polyline(pointArray)
polyline is just like a polygon, but it does not close up to form a shape, remaining open (unless the points close themselves by having the last point or an intermediate point match the first) - Canvas Shape DSL argument data-binding support for
text(string, x, y, flags = nil)
text with optional flags (flag format isswt(comma_separated_flags)
where flags can be :draw_delimiter (i.e. new lines), :draw_tab, :draw_mnemonic, and :draw_transparent as explained in GC API) - โก๏ธ Update Hello, Button!, Hello, Table! sample, Hello, Checkbox Group! sample, Hello, Radio Group! sample, Hello, Combo! sample, Hello, List Single Selection! sample, Hello, List Multi Selection! sample to utilize a CustomShell
- ๐จ Refactor all samples to rely on Glimmer::UI::CustomShell given its new class launch method for productive app declaration
- ๐ Fix issue with logging remaining async in debug mode
- ๐ Fix issue with combo, list, radio group, and checkbox group not supporting nested data-binding
- ๐ Automatic
-
v4.18.4.9 Changes
- Hello, Cursor! Sample
- ๐ฒ Log errors that occur in widget event listener blocks to help with troubleshooting
- disposed? method for Shape objects
- Add
dispose_images: false, dispose_patterns: false
options toShape#dispose
to avoid disposing images/patterns when needed - Mandelbrot background thread pre-calculation of future zoom levels
- Mandelbrot menu bar menu items
- Mandelbrot panning via scrollbars or dragging
-
v4.18.4.8 Changes
- ๐ Make
image
a top-level expression keyword - 0๏ธโฃ Default placing image on Canvas at coordinates 0, 0 if they are not specified (e.g. canvas {image some_image})
- ๐ Support passing in color args directly to the
pixel
keyword as an rgb value array without using thecolor
/rgb
keyword, to improve performance for large pixel counts - ๐ Support Image Double Buffering by nesting an
image
built from shapes within acanvas
- Shrink image of baseball background for Hello, Table! Sample to reduce the glimmer-dsl-swt gem size (recently bloated)
- ๐ Fix issue with closing a canvas shell with pixel graphics freezing temporarily for a long time while disposing shapes
- ๐ Fix issue with disposing
image
having shapes
- ๐ Make
-
v4.18.4.7 Changes
- ๐ Fixed issue with Tetris breaking with the latest Canvas Shape/Animation DSL performance optimizations
-
v4.18.4.6 Changes
- Mandlebrot Fractal Elaborate Sample
- ๐ Optimize Canvas Shape/Animation DSL performance by combining multiple shapes in a single paint listener
- ๐ Memoized attribute-to-SWT-property-method-name translation
- ๐ Support a
pixel
static expression that is an optimizedpoint
, which takes a foreground hash property to bypass the dynamic DSL chain of responsibility
-
v4.18.4.5 Changes
- โ Added double_buffered SWT style as default for
canvas
widget to ensure smooth animations - ๐ Officially support
timer_exec
keyword to execute code asynchronously after time has elapsed - โ Added
disposed?
guard to animation frames regarding parent widget for extra safety if a widget was disposed in the middle of an animation - Auto-Dispose observers declared inside custom widgets and custom shells (during their construction with before_body or after_body) with the observe keyword.
- ๐จ Refactor Tetris sample to remove observer deregister calls now that they happen automatically
- โ Added double_buffered SWT style as default for