All Versions
203
Latest Version
Avg Release Cycle
-
Latest Release
-

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 in text shape
    • ๐Ÿ›  Fix point inclusion check for polyline
    • ๐Ÿ›  Fix issue with polygon check if it includes a point x,y coordinates (replace with available java.awt robust geometry algorithms)
    • ๐Ÿ›  Fix issue with transforms not working after the latest changes
  • 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 use sync_exec explicitly anymore.
    • ๐Ÿ”€ auto_exec keyword to automatically use sync_exec with SWT code when needed (running from a thread other than GUI thread)
    • ๐Ÿ”€ Implement sync_exec: option in bind keyword with table, tree, combo, and list data-binding (other data-binding types than the standard)
    • Add async_exec option to bind keyword (covering data_binding_expression.rb with async_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 is swt(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
  • 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 to Shape#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 the color/rgb keyword, to improve performance for large pixel counts
    • ๐Ÿ‘Œ Support Image Double Buffering by nesting an image built from shapes within a canvas
    • 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
  • 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 optimized point, 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