Saphirion / Development

smarter | better | faster


For our commercial products NLPP and Costbase we still use Rebol-2 and a fork of RebGUI.

We started to fork RebGUI several years ago and tuned it into the version we need. Hence, it doesn't have a lot in common with the original RebGUI by Ashley Trüter.

As always in such cases we didn't write an in-deep documentation for our fork. But we still provide it for you, maybe someone can make use of it. At least, the version is pretty stable and most bugs are sorted out. You can download the code on our downloads page.

Version History:

28-Apr-2012:
- fixed context menu offset bug
- showing problem with context menus that are a specific distance above the taskbar
- made ALERT and QUESTION resizable
- enhanced ALERT and QUESTION for custom layouts
- fixed TAB/focus related issues
- fixed menu crash
- fixed binding bug in TABLE widget
- crash when switching table layouts while mouse is hovering over a table
- fixed focus related crash in GRID
- added support of face/editable? for AREA, FIELD and NUMBER-GROUP
- fixed radio-group mouse handler (action is executed on UP event now)
- chart: added ON-MOUSE-WHEEL option for custom mouse-wheel handler
- fix drop-list example
- displays field focusing problem, when opening a dialog when clicking a radio button in a radio group
- fixed graph overflow and other issues
- demonstrates math overflow in graph
- added USER-DATA keyword to layout dialect
- OPTIONS block is now copied unless referenced as lit-word! in the layout dialect
- fixed drop-list to work properly with Windows task-bar
- BUILD function used by graph widgets moved to local context to not collide with possible included versions
- table modifies options block
- removed testing variable
- changed gui-metrics to work with ENCAP
- corrected X-MIN/MAX and Y-MIN/MAX graph settings behaviour
- examples updated with fixed axis positions
- updated graph-viewer2.r with more frame functions to work on grid bug
- adding graph-bppr-1.txt, graph-bppr-2.txt and graph-bppr-3.txt to work on grid bug using the same graph with different BPPR values
- fixed bug in rebgui package generator
- fixed bug in the distro generator
- added gui-metric function
- a case that hangs in NLPP with one plot point
- fixed edge bug in menu-list.r
- fixed drop-list closing bug
- fixed tooltip related multi-window issues
- fixed context menu positioning issues
- fixed redraw bug when context menu is on
- misc other menu related fixes
- improved pop-up mechanism
- reverted previous commit by mistake
- illustrates tool-tip problem with multiple windows
- fixed zoom<1.0 issues
- added resizing to the red box to demonstrate a maximize redraw bug
- fixed table crash
- fixed table+ctx menu issue
- fixed table selection+menu bug
- fixed graph refresh during resizing
- fixed typo in rebgui-ctx.r
- viewport related changes
- now it is possible to scroll freely outside of the graph bounds
- reworked and fixed graph coordinates calculation
- fixed number formatting
- updated bar/pie to reflect changes
- misc smaller fixes
- updated example
- added /CENTER mode to set-viewport-xy
- corrected viewport auto-scale calculation
- shows 3 bugs with table text adjustments
- test for new style zoom and framing
- corrected get-viewport-xy args order
- set-viewport-xy output is compatible with get-viewport-xy input
- code cleanup
- cleaned up leaked words to global context
- enhanced significantly zooming (watch out for possible quirks!)
- misc optimizations
- removed shadow for ghosted shortcut texts
- added ACTION-TYPE arg for menu item actions
- fixed recursive key shortcuts lookup
- menu shortcuts are defined on ADD-CTX-MENU as well
- removed shadow on ghosted items
- mouse over custom header crash
- shows two bugs with table and menu
- added SHOW-NATIVE line to show that this is not restricted to RebGUI's SHOW.
- added a comment
- shows problem with table refresh, when attempting to change the window title in the same SHOW
- fixed show-title function
- get-word! can be used as function! generator for submenus
- submenus can be ghosted from now
- fixed drop-list side effect
- menu parser fixes
- added another example of a parse bug for checked, ghosted items in the menu
- example of parsing bug of ghosted sub menu items
- added support for submenus
- menu/popup related fixes
- updated menu1.r example
- added support for checked menu items
- updated example
- fixed ctx menu glitch
- added add/remove-menu-shortcut functions
- enhanced menu1.r example
- added support of dynamic function generators for menus and ctx menus
- updated example
- add/remove-key-shortcut are now accesible from global context
- added keyboard shortcuts support
- added shortcuts for menus
- improved RMB table selection
- correction in context menu detection
- fixed context menu detection
- added ghosted menu items (use tag in the menu definition block)
- fixed find-face functionality
- updated menu1.r example
- fixed right-click propagation with ctx menu
- fixed placement of the ctx-menu on screen
- improved context menu overlapping
- ON-RESIZE is now called during window opening
- added context menus basic support
- NOTE: changed 'bar to tag
- added menu width autosizing
- action for menu item is optional (no need to write 'none in the items block)
- updated test
- menu enhancements, pop-up system fixes
- menu now supports bars (just add 'bar between the string items)
- added ON-RESIZE block! support in layout dialect
- added font bug test for menu
- fixed table crash
- fixed typo
- corrected CHOOSE behaviour and popup handling
- example for MENU
- added MENU and MENU-LIST as standard Windows style menu (not for public use yet)
- fixed tab-panel sizing
- fixed state crash for blank drop lists
- added blue edge around box to demonstrate margin 0x0 problem
- demonstrate inequal margin around a box in a tab panel
- fix state problem, where column width would be out of sync with data length
- fix comment typo
- state for SCROLL-PANEL
- added set/get-viewport-xy support to the xy-plot chart
- fixed bug in Password widget
- test file to show focus problem with PASSWORD
- add TRUNCATE-FACE function to allow truncating text to one line
- better check against SELECT-POINT to avoid a crash on setting state
- scroll-to changes:
- optimized refresh
- fixed division by zero bug
- fixed typo in scroll-panel
- added scroll-to to scroll-panel
- simple graph viewer for general debugging of plot data
- graph points colors problem file
- GET-STATE now returns NONE, if STATE-WORDS block is not present
- new PLATE widget, which is a state aware BOX for texts
- SHOW? is now part of STATE-WORDS for CHART-NEW, DROP-LIST, SLIDER and TABLE, so visibility is now also a state
- XY plot COMPUTE-SCALE function update
- COMPUTE-SCALE function improved (rounding correction)
- added /NO-SHOW refinement to SET-VIEWPOET
- Updates to XY plot
- fixed Y axis labels rendering
- AUTO-PRECISION function simplified
- XY plot, automatic precision added
- debugging of plot range
- improved tool-tip position
- translation test
- fixed grid visual bug
- improved graph mouse handlers
- added /FORCE refinement to SCROLL-TO to always scroll to a particular position regardless of the visibility of the position.
- demonstrate widget rendering problem in grid
- graph tooltip fixes
- added NO-KEY-NAVIGATION option to table widget, to disallow key navigation entirely in tables. This is necessary for NLPP's potentials table.
- added NO-RETURN-KEY option to table widget to disallow use of the return key in tables. This is necessary for NLPP's undo system.
- added Ctrl-Shift-A shortcut to select no rows in table
- added detection in table if you are clicking the already selected row. If the selection does not change, face action is not run and face is not redrawn. This is to avoid duplicates in NLPP's undo system.
- added SHOW-PANEL function to allow quickly setting the contents of a panel widget
- added /NO-SHOW to SHOW-DATA
- added /NO-SHOW to SHOW-COLOR
- changed the COPY in SORT-FN to FORM, so it can handle other values than series!.
- added no-feel option to area and field to allow no editing with the appearance of a field
- fixed resizing of not yet shown layouts
- removed dependency on window-manage.r
- window resizing example
- fixed graph state bug
- fixed translation of layout tool-tips
- tooltip improvements
- fixed skin color issue in layout tool-tips
- fixed background color issue for layout tool-tips
- corrected layout tool-tip size
- corrected layout tool-tip size
- changed the assignment of window action function when using the scroll-wheel to be a /custom based action function, rather than the standard one, to avoid a function collision with window management, which uses the standard function to refresh window contents. this caused refreshing the window contents, whenever using the scroll-wheel
- added support for zoom-action and pan-action handlers in graph
- improved state support for graph
- added support for get-state / set-state (xy-plot only atm)
- fixed anim-point bug
- fixed select-point switching bug
- fixed slider dragging bug
- variables related corrections
- new optimized version of graph widget: watch out for possible quirks!
- much precise data representation in zoomed views
- fixed bugs reported by Henrik
- test for solving the vertical scroller knob problem, when using a table with many rows
- implemented GET-STATE and SET-STATE
- state saving and loading for TABLE, DROP-LIST and SLIDER
- typo fixes
- DIRTY flag for faces
- STATE-ACTION for faces
- fixed table header transparency issue
- fixed auto-sizing of table header height
- graph speed optimizations
- added title text
- testing of large data sets in graph
- enhanced INSERT-ROW for bulk operation
- added RESIZE-WINDOW function
- added HIDE-FOCUS as an exposure of ctx-rebgui/edit/unfocus
- adding window ACTIVE and INACTIVE event types to DISPLAY/CUSTOM
- allow showing tables that contain data with blocks
- fixed crash in how to determine whether a table is based on integer or decimal widths, when tool-tips are used for the first column
- Rebgui.r distribution file committed.
- run action when clicking check mark
- fixed initialization bug
- fixed graph viewport bug
- committed better test for testing viewport bug
- added for testing a bug in resizing the graph and maintaining the view-port
- fixed tooltip issues
- first commit of help bitmap
- first commit of help image button
- adds help face with tool-tip
- moved from NLPP tests directory
- passing NONE arg to SORT-COLUMN will hide the arrow
- corrected 'empty data' cases for sorting
- fixed last column width bug
- fixed misc sorting arrow quirks
- Fix crash in SORT-COLUMN
- added /update to sort-column
- added SORT-COLUMN function
- fixed reported table issues
- another round of GRID tweaks
- change to ENABLE-SHOW to make it work properly with localization
- fixed one more GRDI quirk
- misc fixes and changes to GRID widget
- fixed reset-widgets quirk
- removed probe
- enhanced span-resize
- improved auto-sizing of scroll plane
- Add TRUE/FALSE return value for panel action. TRUE performs redraw. FALSE does no redraw.
- made new SCROLL-PANEL style
- fixed on-resize event
- made TRANSLATE case-sensitive
- fixed header localization
- fixed translation logic bug
- fixed on-resize crash
- fixed distribution path
- vertical slider is now always present
- added columns resizing
- fixed header + resizing
- fixed corruptted content case
- added ctx-rebgui/debug object
- added ctx-rebgui/debug/redraws field for debugging refreshing of faces
- fix for 'TITLE bug'
- tried to fix 'TITLE bug'
- test commit (ignore that)
- fixed span-resize crash
- changed graph scaling to max 20x.
- added ANIM-POINT api function which make specific points blink
- made the x/y-min/max values in viewport object read/write so it is possible to use set-viewport as well on them
- enhanced the vieport object for x-min-value, x-max-value, y-min-value, y-max-value fields.
- added support of layout definition for table column headers
- fixed empty data and options handling
- test commit (ignore this)
- fixed problem with reseting graph
- reorganized xyplot file structure
- added support of point IDs for visible-points and SET-POINT/SELECT-POINT functions
- fixed crash when clearing points on empty graph
- fixed empty/invalid xyplot data check
- enhanced point ID support for block! type handling
- fixed 'division by zero' bug, added better check for valid data block
- updated with abstraction of colors for easier skinning
- added plain-color-fill keyword
example:
display "Test" [
g: gauge #W options [
colors [0 red 0.61 orange 1.40 green 2.60 orange 3.39 red 4]
plain-color-fill
]
data [0 0.61 1 1.4 2 2.6 3 3.39 4]
]
- fixed the NUM-SORT mode...now works properly (and only only in cases) when the "," char is used as decimal point separator
- added header colors
- change pane-color reference
- added second action block (alt-action func) for right mouse up action
- improved graph clipping routines
- removed round button gfx from the style
- the round button images are now external
- added new format for POINTS-COLORS keyword
- now it is possible to specify pairs
- added "no color" button to color requester
- added form-decimal support to gauge
- fixed 'vertical growing' bug
- fixed droplist arrow resizing
- added support for mixed text/number sorting in sort-num mode
- fixed sorting of strings as negative numbers
- fixed scroll position when sorting
- fixed scroll-wheel support when sorting
- added multi-selection when sorting columns
- fixed table width bugs
- added WATERMARK function; usage:
;watermark using Rebgui layout
img: watermark/transparency/padding/rotate source-img [margin 0x0 font [size: 40] text 54x10 "Hello World"] 230 5x5 15
;watermark using image
img: watermark source-img logo-i
- fixed column widths bug
- optimized scrolling, should be faster now
- lots of code cleanup
- internal changes and improved couple of resizing/visual issues, beware of possible quirks!
- fixed color handling to work properly with custom 'color schemes'
- added 'cell-tooltip-action option for generic cell toltip function handler
usage: options [cell-tooltip-action [rejoin [face/text ", " pos]]
- fixed scroll arrows so the scrol table only for one line upd/down
- added optional resize mode:
Use: options [resize-last-column-only ...] to turn it on
- changed 'tooltip option keyword to 'tool-tip for consistency
- fixed table resizing issue when updated in resized state
- fixed table column layout when resized in 'no-column-resize mode
- removed transparent grid artefacts when grid is turned off
- added tooltips for table headers
- added tooltips for table columns
- improved table/go-to so it doesn't jump if the row is already visible
- added 'infinite grid' rendering
- lots of internal changes
- removed probe
- initial import of RebGUI