:Fix -

 FixRemoved some obsolete functions from documentation.
 FixSTANDARD-HEADER-PARA was not working.
 FixAccidentally exposed SHIFT and CONTROL words from CTX-LIST to global context, as well as the O-SIZE word from the LIST-VIEW face itself.
 NewRANGE-FUNC now allows using CTX-LIST/OLD-RANGE with the /old refinement.
 NewCTX-LIST/OLD-RANGE stores the previously selected range from CTX-LIST/RANGE. It's used in RANGE-REMOVED and RANGE-ADDED.
 NewRANGE-REMOVED to let you see which selected cells were removed from CTX-LIST/RANGE since the last selection.
 NewRANGE-ADDED to let you see which selected cells were added to CTX-LIST/RANGE since the last selection.
 FixALLOW-SORTING now also blocks on LOCK-LIST being FALSE, so whenever LOCK-LIST is used, sorting is not allowed. Added ALLOW-SORT-FUNC to handle this.
 FixLIST-VIEW would sometimes not generate proper names for DATA-COLUMNS when DEFAULT-OBJECT was in use.
 NewOBJECT-DATA? now recognizes when DEFAULT-OBJECT is a function, for dynamically generated objects. It's assumed that it returns an object.
 FixIf DATA was empty during initialization and a default object was defined, LIST-VIEW would crash.
 FixAPPEND-ROW and INSERT-ROW did not work correctly when using object based lists along with the /values refinement.
 FixGET-RANGE did not return a 1-dimensional block when OBJECT-DATA? was TRUE.
 FixGET-RANGE would sometimes crash on object based lists.
 FixSlight optimization when using CHANGE-CELL to change many cells.
 FixCHANGE-CELL now supports objects.
 FixFixed bug in CHANGE-ROW where object data might be bound incorrectly.
 FixFixed an instance where DO-ACTION would crash on empty DATA.
 StupidForgot to upload 0.0.51 documentation, but now updated to 0.0.52. :-)


 FixDocs were missing information on SET-FACE, GET-FACE and CLEAR-FACE
 FixPotential problem in LIST-SORT for corrupted SORT-INDEX.
 FixSET-FACE inserted values into DATA incorrectly.
 FixSET-FACE and CLEAR-FACE did not clear SORT-INDEX and would cause crashes.
 FixMoving cursor down in SINGLE select mode caused crash.
 FixMoving cursor to the left in HORIZONTAL select mode caused crash.
 FixWhen using MULTI-ROW select mode, keyboard navigation would sometimes cause crashes.
 FixDocumentation errors for APPEND-ROW and INSERT-ROW.
 FixAPPEND-ROW, INSERT-ROW and GET-ROW did not ignore /KEYS when using object lists.


 NewDEFAULT-OBJECT for setting a default object to use on APPEND-ROW and INSERT-ROW, when object lists are used.
 FixINSERT-ROW did not support UPDATE?.
 FixREMOVE-ROW allowed removal of rows, even if nothing was selected.
 NewADD-COLUMN, UPDATE-COLUMN and REMOVE-COLUMN features to safely add, update and remove columns.
 ChangeHeader column names are now by default always strings.
 FixHeader column names may now be empty.
 FixCTX-LIST code clean up, so takes up about 20-30 lines less code.
 FixSelection bug in COLUMN mode when selecting multiple columns.
 FixGET-RANGE now works on one-dimensional DATA.
 FixSimplified FILTER algorithm should speed it up a little bit.
 FixActions that require a selected row, now work correctly using the CONTEXT-LIST functions to select cells, columns or rows by code.
 FixReally big bug: A function was named CLEAR and was unused. It has been removed.
 FixOptimizations in FILTER-ROWS made it about twice as fast.
 ChangeDemo Lab has now been phased out of docs. Please have a look at the demo directory instead.
 FixGET-COL now supports object lists.
 NewAdded SUBMIT-EDIT-ACTION to perform an action just after SUBMIT-EDIT.
 ChangeI've changed FINISH-EDIT-ACTION to PRE-SUBMIT-EDIT-ACTION, because I felt that the function does not work properly with various refresh methods that directly alter the list view DATA. It's role in the future will be replaced by the new SUBMIT-EDIT-ACTION action.
 FixSET-SORTING now works on all columns instead of just visible ones.
 FixVariables AA, YY, G, OD, C, OUT, BLOCK and K were accidentally exposed.
 NewGROUP-ROWS-BY and GROUP-ROW-TYPE allow you to create graphical groups inside the list view using ROW-ACTION.
 FixSET-HEADER-BUTTONS no longer tries to render if ALLOW-SORTING is FALSE.
 FixSHOW-EDIT and SUBMIT-EDIT now support object lists.
 FixCHANGE-ROW should now support both 1-dimensional blocks and object lists.
 FixSORTED-DATA utilizes a list! rather than a block! to build the content, so it should be faster. The data is however converted to a block! before returned.
 FixFIND-ROW now supports searching object lists.
 FixFixed bug with FIND-ROW where when /WILD was used, NONE would always be returned.
 FixList sorting now works on object lists.
 FixROW-ACTION now supports acting on object lists.
 FixThe selected row would stay selected after the list is cleared when the list is unfiltered.
 FixGET-CELL now is able to extract values from object lists.
 FixUsing Up key with MULTI-ROW selection mode would crash LIST-VIEW.
 FixVarious minor loop optimizations.
 FixNEXT-CNT would crash if SEL-CNT was NONE. Now instead it will set SEL-CNT to the first entry in SORT-INDEX.
 FixRE-SORT would cause navigation functions to reset filter results.
 FixSorting while the edit fields were open, would result in a crash.
 NewKEY-ACTION which will let you define keyboard actions for the list view. Requires that the list view is in focus.
 New/Keys refinement to APPEND-ROW and INSERT-ROW to let you insert values in a key/value format.
 NewBY-KEY function takes alternate keys and input values and outputs a block suitable for insertion with APPEND-ROW or INSERT-ROW, so you can insert only the columns you desire in the order you desire instead of having to define the entire row in the order of DATA-COLUMNS.
 FixBug in MOVE-ROW caused the list CNT to move when moving the last row to a position above it.
 FixThe mouse aim for dragging is now properly centered, rather than being one row height next to the drop point.
 FixDragging and dropping a row below itself would cause it to be dropped one row too far down.
 FixNow blocks for attempting to drag empty rows when REDRAGGABLE-ROWS is enabled.
 NewAUTO-FOCUS flag will focus the list, when clicking somewhere in the list. When it's turned off, it will not, eliminating a SHOW and allowing you to properly focus another element, when clicking a row in the list.
 FixFOCUS-LIST will now only refresh if the focus state is change when calling it. Same goes for UNFOCUS-LIST
 NewLIST-FOCUS flag to tell whether the list is in focus or not using the FOCUS-LIST function.
 NewSORT-METHOD, SET-SORT-METHOD and RESET-SORT-METHOD provide a new method for flexibly setting the sort method for each column.
 FixVarious math optimizations. They may or may not speed up LIST-VIEW.
 FixFixed long standing focus bug that would cause excessive SHOW on the list when selecting a row. Row selection should be faster now.
 FixMuch faster REDRAGGABLE-ROWS by removing a lot of excessive SHOWs to the black drag bar that appears when dragging.
 FixNow generally does not focus the list unless the list was out of focus. This removes certain excessive SHOWs.


 ChangeLIST-SORT now uses list! to create the sort index instead of block!. Theoretically it should speed up the generation of large lists.
 FixWould not filter on FILTER-STRING, when sorting.
 FixNavigation functions now can handle when the list size is changed without prior use of UPDATE.
 NewOBJECT-DATA? function to check whether rows in DATA are objects.
 NewLIST-VIEW now supports data as a block of objects! This makes it easier to define list views, since DATA-COLUMNS do not need to be described.
 NewRE-SORT function to determine internally whether the list requires to be sorted again to update SORT-INDEX after a change in the data size.
 FixReference sections in the documentation now properly shows what type, each word is, in the LIST-VIEW object.
 NewREFRESH and UPDATE now return TRUE or NONE when LIST-VIEW is refreshed or not.
 FixWhen using OVER-ROW-ACTION, LIST-VIEW would crash.
 FixSCROLLER style feel was accidentally modified by the customized scroller inside LIST-VIEW.
 FixLIST-VIEW vertical scroller would not accept mouse clicks in the background of the slider face to move it up or down page wise.
 FixVariables VL and VC was accidentally exposed.
 NewCANCEL-EDIT-ACTION to perform actions when cancelling an inline edit.
 FixPLACE-EDIT would crash LIST-VIEW if SEL-CNT was NONE
 FixSHOW-EDIT did not work without EDITABLE?
 FixSHOW-EDIT now works on one dimensional DATA blocks
 FixSUBMIT-EDIT now works on one dimensional DATA blocks
 FixSHOW-EDIT was offset incorrectly the height of the header too far down when HEADER-COLUMNS is empty.
 FixWhen emptying a list, SEL-CNT was not set to NONE after the last entry was removed.
 FixFocusing issues caused the list not to be redrawn properly when a DOUBLECLICK-LIST-ACTION was performed with a REMOVE-ROW over the last row of the list, and the list was taking up less than the full height of the list-view.
 FixWhen not using REDRAGGABLE-ROWS, a mouse down action performs LIST-ACTION. When using REDRAGGABLE-ROWS, a mouse up action performs LIST-ACTION. Selection is still, however performed on mouse down.


 NewSORT-ACTION, an action being performed when clicking on any header button.
 FixDO-ACTION now has a list of requirements for each action. They differ slightly. This is mentioned in the documentation.
 FixNEXT-PAGE-CNT would not go to the end of a list.
 NewHEAD-CNT? and TAIL-CNT? to determine whether SEL-CNT is at the head or tail of the sorted DATA.
 FixEDT-LO was accidentally exposed globally.
 ChangeWhen using a select mode that allows multiple cells/rows, pressing the mouse down on a selected item no longer results in the other items being deselected. Instead, deselection is performed on mouse button release. This helps implementing multi-row dragging.
 FixMOVE-ROW now no longer performs a FOLLOW automatically as it's used in many internal functions now that perform FOLLOW themselves.
 FixAccidentally exposed variable Y in GET-RANGE function.
 NewREDRAGGABLE-ROWS flag to set whether you want to rearrange row order via drag'n'drop.
 NewDROP-ACTION to perform an action when releasing the mouse button when doing drag'n'drop.
 NewRedraggable rows. Click and drag rows up and down to rearrange them. This works only when ALLOW-SORTING is FALSE/NONE and the rearrangements affects DATA directly.
 FixDragging the scroller while the mouse pointer was over the list would cause unnecessary SHOWs, which slowed down scrolling.
 FixAvoids focusing twice when double clicking, which inadvertently removed focus from text field when initiating inline editing.
 FixLIST-VIEW now always clamps the end of data to the bottom if the list is resized up beyond the data boundary.
 FixA variable was spelled wrong during initialization of the LIST-VIEW object, which would cause crashes.
 FixScroller now updates at the same speed as the rest of the list and synchronously, which also causes a very small speedup.
 FixClicking the scroller arrows will now always scroll the list one row correctly.
 FixClicking the scroller arrows no longer nudges the scrollbar one pixel at a time for lists that are only a bit bigger than the view.
 FixIf a cell in DATA was stored as a block, it could not be properly truncated, so a FORM is run for each cell now. This is only done when TRUNCATE is true.


 NewEMPTY-ACTION, ALT-EMPTY-ACTION and DOUBLECLICK-EMPTY-ACTION are actions that are performed, when clicking on an empty row.
 NewKEEP-SELECTED flag to let you set whether the selected row will be deselected (so no row is selected at all) or not, when clicking on an empty row. This can be useful to set FALSE if the list must always have an entry selected.
 FixClicking on an empty row did not set focus correctly.
 FixSEL-CNT was not properly reset when using RESET-SEL-CNT
 FixTRUNCATE has been improved so that it will also produce an ellipsis on multiline texts and truncate the text to the first line.
 FixSome focusing issues where LIST-VIEW aggressively took focus where it was not appropriate, such as during HIDE-EDIT.
 NewALLOW-SORTING flag. When set to FALSE, the header buttons are locked at their current setting and the corner glyph is blanked out. Clicking the header buttons will do nothing. When set to TRUE, LIST-VIEW behaves normally.
 NewDEBUG-REDRAW flag to print on the console when the list redraws itself.
 FixREMOVE-ROW used HIDE-EDIT and UPDATE excessively.
 FixNasty bug which made the LIST-VIEW feel global.
 FixVarious documentation fixes and additions.
 FixTiming bug in LONG-ENOUGH would cause LIST-VIEW scrolling to stop working after midnight.


 FixDocumentation about HIDE-EDIT showed a relationship between HIDE-EDIT and FINISH-EDIT-ACTION. This is no longer the case. Also added som missing information about HIDE-EDIT.
 FixDocumentation had some missing images and some incomplete examples in the description of ROW-ACTION.
 FixEdited fields did not save the changes to the right column in some circumstances when EDITABLE-COLUMNS were, due to a broken algorithm.
 NewPLACE-EDIT to place the inline edit fields when editing while sorting. This makes it possible to move the edit fields as they change contents in a sorted list. You can therefore enter data while sorting on the fly.
 FixLIST-VIEW would crash when clicking on a read only column when inline edit fields were shown.
 NewLIST-TEXT-BOX face for use in EDT-LO instead of LIST-TEXT, for better control of its FEEL object.
 FixTab key action for text fields accidentally exposed the words in VIEWED-COLUMNS globally.
 FixMuch too excessive SHOW when clicking on the header buttons to sort.
 FixExcessive SHOW during SHOW-EDIT.
 FixExcessive SHOW during focusing of the list slowed the list down when selecting.
 FixSHOW-EDIT accidentally exposed the words in VIEWED-COLUMNS globally.
 FixFINISH-EDIT-ACTION was never run if the last column in EDITABLE-COLUMNS was not the last in VIEWED-COLUMNS.


 FixA quick but necessary fix to the keyboard function. It was bound to the wrong context and caused a number of errors.


 FixThe /not refinement in SET-FILTER-SPEC was ignored.
 FixFINISH-EDIT-ACTION is now also done when clicking on a header button or a list row which is not being edited, while inline editing is active.
 NewPRE-SUBMIT-EDIT-FUNC to internally handle FINISH-EDIT-ACTION better.
 FixWhen using HORIZONTAL or VERTICAL select mode, LIST-VIEW would hang if you shift selected the start cell.
 NewScrollwheel support. This requires the list to be in focus. Supports page scrolling with CTRL key and single row scrolling with SHIFT key.
 NewKeyboard navigation. This should work right now for SINGLE-ROW mode and requires the list to be in focus.
 NewMore freedom when IMMEDIATE-EDIT? is set to TRUE. It's now possible to freely move the edit fields around in the list view using tabs and up/down cursor keys.
 FixFixed a nasty bug that would crash LIST-VIEW if an action was performed with DO-ACTION, when that action was NONE.


 FixInline edit field focusing algorithm was broken. Will now correctly select the first focusable field instead of crashing, when READONLY-COLUMNS or EDITABLE-COLUMNS was in use.


 ChangeTRI-STATE-SORT has now been turned off by default at the request of many of my users.
 NewCALC-PX-VALUES to move all calculations of column widths and offsets into one function. This used to be separately done for headers, list values, edit fields, etc.
 NewBUTTON-EDGE object to specify button edges in one place.
 NewDRAG-EDGE object to specify drag edges in one place.
 NewEDGED-SIZE, the size of the list view without enclosing edge.
 NewDRAG-EDGE color in COLORS for the edge color of the drag element in column drag'n'drop.
 FixRESET-SORT updated the list twice.
 FixMoved some function creation code out of INIT to remove some overhead for the initialization code which is run every time the list is resized.
 ChangeBehaviour of the header buttons have changed so that sorting now occurs on mouse up instead of mouse down. A click is now also cancelled, if the mouse is moved away from the header button, but is completed if the mouse is moved back onto the button, while the left mouse button is held down.
 NewLONG-ENOUGH function to perform event throttling on scrolling. This makes scrolling much faster where the mouse event frequency would be bigger than the scrolling framerate. This also increases scrolling responsiveness on complex list views vastly.
 FixThe PANE-FILL function has been optimized a bit by removing dead code and precalculating certain operations.
 FixMost paths are now converted to faster ordinals.
 FixDocumentation did not demonstrate RESIZE-COLUMN properly. Images were wrong.
 FixSELECT-COLOR and SPACING-COLOR was only set before INIT, so you could not change them after INIT. Now you can.
 FixSORT-DIRECTION size change no longer causes a crash.
 FixFIND-ROW and GET-ROW now works on all select modes. There was an artificial limit, but this has been removed.
 FixFIND-ROW exposed the variable C accidentally.
 NewREMOVE-ROW now supports MULTI-ROW select mode, so you can bulk remove rows.
 NewRANGE-COLUMNS function to get all column numbers for a selection in CTX-LIST/RANGE.
 NewRANGE-ROWS function to get all row numbers for a selection in CTX-LIST/RANGE.
 FixRow manipulation functions now are able to use REFRESH-ACTION properly.
 New/full refinement to FILTER-LIST to allow REFRESH through FILTER-LIST.
 ChangeSET-SCR no longer SHOWs the result. This is to accommodate changes in FILTER-LIST where a REFRESH was needed rather than a simple SHOW. It also removes an excess SHOW in SCROLL-HERE and makes the function a tiny bit faster.
 FixSET-SORTING would crash LIST-VIEW because refresh/force was used. Why this happens is not yet known.
 FixDid not sort the correct columns when using VIEWED-COLUMNS.


 FixGET-RANGE documentation rewritten.
 FixSelection images in documentation now look correct
 FixGET-RANGE would crash if CTX-LIST/RANGE was empty and using a select mode that was not 'horiztontal or 'vertical
 New/shift and /control refinements to CTX-LIST selection functions.
 FixBetter policy on when exactly to set CNT to zero when using filtering.
 FixFOLLOW did not work when UPDATE? was turned off and you wanted to use FOLLOW manually.
 FixWhen doing an UPDATE after the list size has changed and the length of DATA shrunk to less than the position of SEL-CNT, SEL-cnt would disappear. Now a LIMIT-SEL-CNT is used to keep SEL-CNT within the list limit.
 FixCNT would sometimes become negative resulting in graphical artifacts. (Thanks to Boleslav Brezovsky)
 FixFiltered data was not shown. Note to self: Something else might break... watch out
 FixCHANGE-CELL did not accept blocks properly as input.


 FixDO-ACTION did not work properly with the /no-select refinement.
 FixVALUE-SIZE exposed a variable L by mistake
 FixRemoved a crash which would happen when DATA was set directly to an empty block and no UPDATE was followed up.
 NewCHANGE-CELL now allows changing columns that are objects directly using an /obj refinement. This means that you can replace:
li/change-cell 'obj-column make li/get-cell 'obj-column [record: 27]


li/change-cell/obj 'obj-column [record: 27]
 NewMakes an error for all functions which uses a column word as an input if the column doesn't exist, resulting in much better error messages for those cases.
 FixStack overflow when selecting with both qualifier keys.
 FixSINGLE-ROW and SINGLE select modes accepted qualifier keys incorrectly.
 NewFILTERING? to simply return whether we are filtering or not.
 FixFiltering glyph required two refreshes to work. Now a single refresh is enough.
 FixWhen clicking the corner button while filtering, the filtering glyph would switch to a normal glyph.


 FixUpdated docs for this release with new select scheme, but there are still many bugs in it.
 ChangeROW has been renamed to ROW-OBJ
 FixFILTER-LIST would reset SEL-CNT under the wrong conditions when using advanced filtering.
 ChangeCOLORS now have names to each color, which can be accessed with SELECT or COLORS/
 NewAll colors in LIST-VIEW now refer to the COLORS block.
 NewVisual indication of filtering with a butterfly glyph in the upper right corner.
 New/no-select refinement to DO-ACTION allows you to perform an action without a selected element in the list. This makes REFRESH-ACTION possible.
 NewREFRESH-ACTION, which is performed everytime REFRESH is run. This is useful for showing text fields with the number of items in the list, that need to be updated whenever the list contents change.
 FixWhen DATA was set manually to a new length and UPDATE? is FALSE, LIST-VIEW would crash when not using UPDATE.
 FixEnter and Return key were not properly used in inline editing. They do the same as Tab now.
 FixFOLLOW did not adhere to the new UPDATE? scheme created in 0.0.38.
 NewPress Escape to cancel an inline editing process.
 New/cancel refinement to SUBMIT-EDIT
 NewOLD-EDIT to keep the current row just before inline editing is activated.
 FixInline editing with readonly columns at the start of the visible columns was broken.
 ChangeThe role of SEL-CNT has changed and is not used to mark up the selected entry in the list anymore. Instead it's being used to mark which rows to perform operations on (GET-ROW, CHANGE-CELL, etc.) in all select modes. This should not have an effect on your current use of SEL-CNT, if you use it in SINGLE-ROW mode.
 ChangeAll navigation functions have been changed so that they work sensibly with the new select modes.
 FixDOUBLECLICK-LIST-ACTION would respond on empty rows.
 ChangeCHANGE-CELL now works with RANGE instead so that it supports multiple selections and can change all values in the selection.
 NewROW variable useful in ROW-ACTION to do alternate actions on specific rows, such as selected rows. This can be used to "pretty up" your select cursor or to consistently perform an action on say, the third row.
 RemoveRANGE, because it's moved to CTX-LIST.
 FixFixed a long standing bug where you were not able to select multiple cells in the same row.
 FixGET-RANGE now handles ranges from all select modes.
 NewCTX-LIST. Equivalent to CTX-TEXT this is used to manage caret functionality in LIST-VIEW. This is separated from LIST-VIEW so it could be used for a spreadsheet style later.
 NewTwo new select modes: HORIZONTAL and VERTICAL.
 FixEntirely rewrote the shift/control key handling scheme: Both keys now work correctly with all select modes.


 NewDEBUG flag will print out a message in the console whenever the list entries are SHOWn. This can be a useful tool to eliminate excessive updates.
 NewUPDATE works a bit differently now as it ignores the current state of the UPDATE? flag. Instead the original functionality has been renamed to REFRESH and is used internally to allow updates while taking UPDATE? into account. This is done, because lists with long operations that require many modifications, would require you to explicitly set UPDATE? to FALSE many times during the course of the modifications, plus check the state of UPDATE? at certain points. Now, all that is needed, is to set UPDATE? to FALSE once, and then issue UPDATE, whenever you need an update. Much simpler! UPDATE still should the same, if UPDATE? is set to TRUE.
 NewAll navigation functions (FIRST-CNT, NEXT-CNT, etc) now return the SEL-CNT value, which makes them easier to use in circumstances where you need a return value, for example ALL or ANY blocks.
 FixFiltering functions as well as UPDATE did not properly support the UPDATE? flag and ignored it in some instances. This is fixed now and allows for much faster and less flickering updates of the list when using it during a real time filtering scenario, such as a text field that updates the list per key press.
 NewFOCUS-LIST and UNFOCUS-LIST functions to visibly focus and unfocus the list view. This causes the select cursor to grey out when it's unfocused and this will be useful later when LIST-VIEW supports proper focusing.
 NewSELECT-COLOR tuple to get the current select cursor color.
 NewCOLORS increased to 5 different colors to support an unfocused select cursor color. The format is now:
[even odd select-focus select-unfocus background]
 NewMOUSE? and DO-ACTION is a new way to handle actions. This makes it possible to determine whether the action was last run by clicking a row or if it was run inside your script. DO-ACTION is also a cleaner way of doing an action. Example:
do li/list-action

li/do-action 'list-action
 NewMore meaningful error handling, should help debugging those issues where column sizes and contents normally would cause unmeaningful error messages.
 FixFINISH-EDIT-ACTION was sometimes not run on lists with read only columns.
 NewEDIT-ACTION now allows you to intercept the part where inline editing fields are display. This is done by returning a value from the action. If a value is returned, the fields are shown. If FALSE or NONE is returned, the fields are not shown. This can be useful in cases where you don't want inline editing to be possible, say for specific rows.
 FixFixed a binding issue in ROW-ACTION
 NewCOLUMN word for use in ROW-ACTIONS to tell which column is currently being rendered. This lets you perform actions on single cells without the overhead of performing the action on N columns, speeding up ROW-ACTIONS theoretically up to N times.
 FixAnother sorting bug caused sorting not to work when VIEWED-COLUMNS was different from DATA-COLUMNS.


 FixScroller was not set on first list rendering.
 NewCOL-IDX now has a /viewed refinement to return indexes from VIEWED-COLUMNS instead of DATA-COLUMNS
 FixSorting crashed if VIEWED-COLUMNS was different from DATA-COLUMNS


 NewMAX-CNT and MIN-CNT to select the last append and first inserted of DATA, regardless of sorting and filtering.
 InfoSORT-DIRECTION is now treated as an internal value and should no longer be used to set the sort direction.
 NewSET-SORTING function to cleanly set the sort column and direction.
 FixHeader buttons would take in over and away events and trigger reset sorting excessively.
 FixTRI-STATE-SORT did not properly sort when hitting the NOSORT mode the first time.
 NewVisual indication of the active column.
 FixHeader buttons now remember their last sort setting, instead of blindly cycling through the sort modes, when switching sort column.
 FixAPPEND-ROW would not select the right row if sorting was used simultaneously.
 NewINSERT-ROW, APPEND-ROW, CHANGE-ROW and REMOVE-ROW now has an /act refinement to perform LIST-ACTION after the operation.
 NewROW-ACTION, a very powerful function run every time a row is going to be drawn to let you manipulate each cell graphically based on any kind of input. You may have heard it mentioned as "rules" or "conditions". This is the same thing.
 FixSome bindings to LIST-ACTION were not done on navigation functions.
 FixWhen sorting with header buttons, the list view was redrawn twice.
 NewWhen creating a customized ROW-FACE, you can now use inline editing. The field size and shape automatically adapts to the elements in ROW-FACE.
 FixEDITABLE-COLUMNS couldn't be set directly in layout definition
 FixSlightly improved edit field focus algorithm
 New/no-select refinement added to REMOVE-ROW to compensate for the change below.
 ChangeREMOVE-ROW now automatically invokes a LIMIT-SEL-CNT. This removes a would-be bug when removing the last row in a list and the developer would want to do a LIST-ACTION afterwards, which would always result in a crash, if the developer forgot to use LIMIT-SEL-CNT. This is marked as a change because I'm not sure the behaviour is entirely desirable, since a row will then always be selected after REMOVE-ROW, but let's see.


 FixDocs updated for 0.0.35. Fixed typos and a missing image.
 FixAPPEND-ROW would corrupt DATA if NONE was added and crash LIST-VIEW
 FixUpper right corner button destroyed filtering results.
 NewSET-FILTER-SPEC to let you control a set of advanced multilayered filters that will act either on the entire row or certain columns.
 FixTAIL-CNT? would sometimes crash.
 FixMOVE-ROW-DOWN and MOVE-ROW-UP didn't work right when moving from/to the last row.


 FixImages were rendered in empty rows
 FixREMOVE-ROW would corrupt the contents of DATA if used while inline edit fields were shown.


 NewIMMEDIATE-EDIT? flag to let you edit fields in one click, instead of double-clicking.


 FixSorting now works when DATA is a single block of non-block values.
 NewGET-RANGE function to get cells given in RANGE.
 NewRANGE block which stores pair values of the currently selected cells. This will be used primarily with multi-cell and multi-row select modes, but works in all select modes.
 FixMore compatibility fixes with REBOL/Plugin


 ChangeFIND-ROW has been changed allow more sensible input. Now you input either a single value or a full row block. It also returns the row properly now.
 NewFIND-ROW has now an /act refinement to do LIST-ACTION when the row has been found.
 FixIf DATA-COLUMNS was not given, EDITABLE-COLUMNS was not created correctly. The naming scheme is also changed to number the columns if DATA-COLUMNS is not given.
 FixCompatibility problems with REBOL/Plugin and non-AGG REBOL versions
 FixSTANDARD-PARA did not include a WRAP?: FALSE as was the intention.
 FixLIMIT-SEL-CNT was not documented correctly and was labeled as RESET-SEL-CNT in the docs.
 FixIf you select a row and perform filtering so that the row is no longer visible, the invisible row was still selected. It no longer is, and now instead SEL-CNT is set to NONE.
 FixWhen shift-tabbing out of an inline edit field in a list with one column, the field is now refocused.
 FixWhen doubleclicking to inline edit, the wrong field was sometimes focused, when using READONLY-COLUMNS. This would also sometimes assign SYSTEM/VIEW/FOCAL-FACE to a word rather than a face and cause the application to crash.
 FixHIDE-EDIT was run explicitly by mistake on every row select.
 FixInline editing did not work correctly while sorting.
 FixFINISH-EDIT-ACTION is now not run, when using shift-tab to go backwards from the last field.
 FixWhen setting the face for an edit field using SET-FACE in TAB-EDIT-ACTION, the value was not stored in DATA. This means that binding the values to DATA don't work when using SET-FACE (a bug in VID?), but it works now anyway.
 FixEdit fields were named after DATA-COLUMNS, rather than VIEWED-COLUMNS by mistake.
 New*-CNT functions now have an /act refinement to let you perform LIST-ACTION.
 Fix*-CNT functions now work properly while sorting.
 NewGET-COL is back and now it really returns a full column.


 FixSORT-DIRECTION and SORT-COLUMN could not be set outside the initialization block without using UPDATE/FORCE.
 NewSET-SORT-BUTTONS to redraw only the header buttons.
 FixLast edit field in a row was one pixel too wide.
 FixFinally fixed certain document images that did not show inline editing properly.
 NewTOTALS returns a pair with the number of rows shown (processed from limits and filters) versus total number of rows.
 NewSORTED-DATA function which returns DATA sorted, limited and filtered like in the list.
 NewLIMIT. Integer which limits the number of rows displayed. Suitable for creating a Top 10, Top 20, etc. This is accompanied by SET-LIMIT and RESET-LIMIT to handle the LIMIT functionality cleanly. Use the last two primarily.
 FixHIDE-EDIT optimization by removing a CHANGE-ROW and referencing the text fields directly to the DATA row.
 NewHIDE-EDIT has been partially separated out into SUBMIT-EDIT to allow submitting edits withu actually hiding the inline edit fields.
 NewREADONLY-COLUMNS will not allow you to edit these columns via inline editing. In the inline editing row of fields, there will simply be a space, rather than a field.
 NewFOCUS-COLUMN which holds the word name of the column which is currently focused in the inline editing fields.
 FixFocus was not removed when tabbing out of the last inline field.
 FixTAB-FIELD-ACTION was not run when tabbing out of the last inline field.
 FixMore *-ACTION functions are properly bound to the list, so you can access list variables from within action functions.
 NewEDIT-ACTION. This will run when SHOW-EDIT is run and is useful if you want to convert data at the selected row to something else, when activating inline editing.
 NewTAB-FIELD-ACTION can now extract information from LIST-VIEW itself. This is useful if you want to use it to validate or change the inline edit fields, before they are submitted to the list.
 NewGET-UNIQUE returns all unique values of a specified column.


 NewUPDATE? flag. When FALSE, the list doesn't visibly update during manipulation, allowing for much faster series of list operations.
 FixWhen edit fields were shown, and you clicked on an empty field, the last row would always be selected, when the size of DATA exceeded the size of the list view.
 FixWhen edit fields are shown, they now follow when the list is scrolled
 FixSHOW-EDIT placed the edit fields wrong, when scrolled away from the top
 NewTAIL-CNT? to check whether the selected row is at the tail of the list.
 NewMOVE-ROW-UP and MOVE-ROW-DOWN to move the selected row in DATA up or down
 FixCompatiblity bug with older REBOL/Plugin
 FixCertain internal variables for editing were made global by accident.


 NewActions available in the List Demo
 FixProper binding of all actions to LIST-VIEW so you can access the internal variables of LIST-VIEW from the action.
 NewOVER-CELL-TEXT returns the text in the cell that the mouse is over.
 FixAction functions are renamed:


 NewBasic support for images! This is done by using EFFECT, so it may not work in the REBOL/Plugin.
 NewGET-CELL now also supports an integer offset as the cell argument
 FixROW-FACE height was ignored
 FixWrong images for filtering in documentation
 NewOVR-LST-ACT to perform an action when mouse over on a row
 NewTRUNCATED? to check if a LIST-TEXT face has been truncated


 FixFIND-ROW didn't find values located in the last row
 FixBug in CHANGE-ROW's /top refinement
 FixA few documentation errors
 NewHistory became too big, so it's in a separate file now.
 FixA bug in UPDATE, caused the list along with its parent face to refresh. Should greatly speed up UPDATE now!
 FixFixed a stupid bug in HIDE-EDIT that corrupts edited rows


 NewTRUNCATE flag. When TRUE, the text in a field is capped with an ellipsis.
 FixCorner button glyph scales correctly now
 NewSPACING-COLOR to set the color of SPACING
 NewSPACING, to create a space between rows and columns.


 FixDoubleclicking on empty fields would bring up the edit fields
 FixLIST-FIELD didn't work, because of a missing font description
 FixHIDE-EDIT crashed, if the DATA-COLUMNS was different from VIEWED-COLUMNS
 NewIf SEL-CNT is NONE, then data retrieval and manipulation functions will use the first row in the list, instead of doing nothing.
 NewSET-FILTER to set the filter with a string in one function
 NewRESET-FILTER to remove the filtering
 NewRESET-SORT, to remove sorting
 NewGET-ID to cleanly and uniformly get a position in the list for internal use
 FixLots of variables and functions are renamed:
 FixLots of functions are changed to be simpler:
CHANGE-COL row col value -> CHANGE-CELL/RAW row col value
CHANGE-COL-HERE col value -> CHANGE-CELL col value
CHANGE-COL FILTER-POS row col value -> CHANGE-CELL/HERE row col value
 NewFILTER-POS to get a position in a sorted, filtered list
 NewSELECTED? to determine whether one or more list items have been selected


 New/no-select refinement to APPEND-ROW, so the appended row won't be selected
 NewLIMIT-SEL-CNT to internally restrict SEL-CNT to be a number within SORT-INDEX. Will prevent quite a few crashes.
 FixDefault font was not correct when using FONTS
 FixCorner button to reset sort was disabled.
 NewSTD-FONT to easily let you globally set the font object for the list.
 FixLIST-VIEW crashed when using FIND-ROW while DATA was empty


 NewROW-HEIGHT to set the height of the ROW when not using ROW-FACE
 NewFIND-ROW to find a row with a specific value and select it
 NewCHANGE-COL and CHANGE-COL-HERE to easily change one value in a row.
 FixNow possible to use INSERT-ROW and INSERT-ROW-HERE on empty DATA
 NewRESIZE function for easier resizing of the list
 FixNow doesn't crash if DATA is NONE
 New/top refinement to CHANGE-ROW and CHANGE-ROW-HERE to move the changed item to the top of DATA
 NewLAST-EDIT stores the row of the last edit, when HIDE-EDIT is enacted, if EDT was shown, otherwise NONE is stored there.


 FixFixed an instance where LIST-VIEW would crash with empty OUT-COLS
 NewFONTS block to set font objects for each column
 FixGot rid of the grey color bar at the bottom of the list view, when the list height didn't add up to the rows. Thereby, you no longer need to set COLORS/4 manually.
 FixBackground color in COLORS was not used
 FixWhen using ROW-FACE, FIT = FALSE and the columns weren't filling out the header, the last text field would be darkened.
 FixSometimes when HDR-COLS was not defined, LIST-VIEW would crash
 NewSHOW-EDIT now allows to select which column to focus on


 FixDocumentation errors and updated images
 NewVisual indication of when the combined width of all columns is smaller than the list width
 NewFixed width columns finally work!
 NewFIT flag to enable/disable width fitting with MAIN-COL


 FixRewrote docs to be much clearer, with more images and better flow
 FixAPPEND-ROW properly works during filtering
 FixMAIN-COL calculation was accidentally broken
 FixEDITABLE? is now default FALSE by popular request
 NewEasy column reordering with IN-COLS and OUT-COLS


 FixSCR initialization bug
 FixDemo Lab now always downloads the latest list-view.r
 FixIf MAIN-COL is NONE, then the first column will be resized.
 NewDecoration in the upper right corner button


 FixFILTER was broken. Seems to be a bug in clearing bitsets.
 NewEDT-FLD-ACT and EDT-LST-ACT to let you perform functions when tabbing out of an inline editing field
 FixColumn selecting marked columns beyond the end of DATA.
 FixFractional widths are now properly resized, when resizing the list
 NewInline Editing! Can be activated with the EDITABLE? flag (default on)


 FixLAST-CNT crashed on empty SORT-INDEX after filtering
 NewFILL flag to set whether or not to paint all rows in the list view
 NewCOLORS/4 contains the color of the background behind the rows.
 NewWhen resizing OUT-COLS in runtime, WIDTHS is reset to default values
 FixColumns can now be appended or removed to OUT-COLS in runtime
 FixChanged behaviour so that DATA is always treated as a block of blocks if manipulated by LIST-VIEW itself. Only external input of a single block value can change this.
 NewStricter typechecks on manipulation functions
 FixValues are now copied into DATA
 FixSorting did not work, when using only one DATA column
 NewAllows using keyed blocks as input for manipulating functions.
 FixHeader size now calculated with OUT-COLS also, which removes a crash
 NewCreated a test suite in file list-demo.r
 NewMoved demo code out of this file


 NewUpdated documentation with images
 NewDATA can now also be a single block of values
 FixIN-COLS is no longer mandatory
 FixMAIN-COL is no longer mandatory
 NewDefault WIDTHS now a fraction value.
 NewFractional widths of the list width as decimals
 FixList size calculation optimizations
 FixScroller width is now always equal to the corner reset button width
 NewSCR-WIDTH lets you set the scroller width
 FixAGG is no longer a requirement
 NewCLEAR to quickly clear the list


 FixDocumentation updates
 FixMultiple lists accidentally shared the LIST-SIZE value
 NewCustom layout block can now have multiple rows at the cost of horizontal resizability
 NewNow using ROW-FACE to store the custom layout block
 NewIf HDR-COLS is set to a single word in a block, it will take the width of the list view.
 FixCode size optimization of navigation functions
 InfoThe version between 0.0.12 and 0.0.14 is mysteriously missing... :-)


 NewWIDTHS block to let you determine the widths of the columns


 FixBetter initialization of OUT-COLS and HDR-COLS
 NewHeader can now be defined from the words in OUT-COLS or IN-COLS
 NewNo longer need to manually create the subface for the list
 FixDATA was not properly initialized
 FixList was updated twice during all manipulation functions added in 0.0.10
 NewAdded /no-show refinement to FLT-LIST to speed up certain updates that require setting the selected row before showing


 FixOptimized updating when moving from filtered to unfiltered view
 FixAccidentally didn't filter on the original DATA, when doing multiple filterings
 FixBetter detection of when FLT-STRING has been changed
 FixSCROLL-HERE can handle empty lists now
 FixCrashed if DATA was empty
 FixSelecting rows that are empty, no longer causes a script crash
 RemovedCtrl-key functionality, because it's too complex to handle with the different modes right now
 FixGET-BLOCK caused error if Ctrl-key was used to select cells.
 NewData manipulation functions:

These only work in select-mode 'row


 NewGET-BLOCK retrieved the selected data as a block. Only works with shift for now under multi and multi-row.
 NewUsing the shift key, you can select multiple cells in multi and multi-row mode.
 NewFive different select modes now: Single, multi, row, multi-row and column.
 FixSCROLL-HERE only works with select modes 'single and 'row
 FixFOLLOW didn't work when selecting a row and then sorting


 NewGET-ROW and GET-ROW-HERE allows you to return a row as a block or an object
 NewFunctions to select next, previous, next page, previous page, first and last. Uses FOLLOW.
 NewFOLLOW. Automatically follows the selected entry so it's always in view. Requires FOLLOW? set to true.
 NewSCROLL-HERE. Scrolls automatically to the selected entry.
 FixFilter result was lost after resize.
 FixSorting was lost after resize.
 FixSorting indication is now persistent after resize.
 FixDual state sorting was accidentally broken.
 NewInitial sorting can now be set before first view
 NewRight-click on header unsorts the list


 NewAdded /force refinement to UPDATE
 FixFields are rendered now, when filtering with fewer results than the size of the list view.
 NewList now can have an edge of any size.
 NewALT-LST-ACT action for right click actions.
 NewIf HDR-COLS is empty, the header is now not drawn.


 FixMade selection persistent even when filtering and sorting


First Public Release

MakeDoc2 by REBOL - 3-Jan-2008