Table of Contents
Release Information #
Platform | New | Added | Fixed | Changed | Removed | Release Date |
---|---|---|---|---|---|---|
Desktop | 0 | 16 | 15 | 9 | 5 | November 4, 2023 |
Mobile for iOS | 4 | 12 | 8 | 0 | 0 | November 4, 2023 |
Web | 0 | 22 | 23 | 7 | 0 | November 4, 2023 |
4 | 50 | 46 | 16 | 5 |
Desktop Changes #
Type | Ticket Number | Description | Date |
---|---|---|---|
ADDED | 146 | GraffitiDateTimePickerButton has a new ValueChanged event. | 2023-10-12 |
ADDED | 146 | GraffitiDateTimePickerButton has a new SelectedValues as DateTime() function. | 2023-10-12 |
ADDED | 146 | GraffitiDateTimePickerPopup has a new ValueChanged event. | 2023-11-02 |
ADDED | 146 | GraffitiDateTimePickerPopup has a new SelectedValues as DateTime() function. | 2023-10-12 |
ADDED | 104 | GraffitiDrillMenu has a new ReverseDragScrollDirection as Boolean = False property. | 2023-08-23 |
ADDED | 104 | GraffitiDrillMenu will now scroll in the direction signified by the mouse movement when dragging the virtual scrollbar. | 2023-08-23 |
ADDED | 122 | GraffitiEditor has a new AcceptTabs as Boolean = True property. When False, Tab and Shift+Tab will change the focused control within the application window. | 2023-09-20 |
ADDED | 122 | GraffitiEditor has a new AllowMediaUploads as Boolean = True property. When False, pasting media will be disabled. | 2023-09-20 |
ADDED | None | GraffitiEditor now overrides the Focus method to ensure focus is properly set to the editable area when calling the Focus method. | 2023-09-20 |
ADDED | 110 | GraffitiGrid has a new SelectionModes enumeration: 0 = Single, 1 = Multiple. | 2023-09-08 |
ADDED | None | GraffitiGrid has a new BeforeEdit(column as GraffitiGridColumn, row as GraffitiGridRow, bounds as Xojo.Rect) as Boolean event. | 2023-08-14 |
ADDED | 118 | GraffitiGrid has a new ContextClick(column as GraffitiGridColumn, row as GraffitiGridRow, x as Integer, y as Integer) event. Row will be nil is context clicking a header. | 2023-09-14 |
ADDED | None | GraffitiGrid has a new EditBegun(column as GraffitiGridColumn, row as GraffitiGridRow) event. | 2023-08-14 |
ADDED | None | GraffitiGrid has a new EditCommitted(column as GraffitiGridColumn, row as GraffitiGridRow) event. | 2023-08-14 |
ADDED | None | GraffitiGrid has a new EditCanceled(column as GraffitiGridColumn, row as GraffitiGridRow) event. | 2023-08-14 |
ADDED | 110 | GraffitiGridColumn has a new SortDirections enumeration: 0 = Unsorted, 1 = Ascending, 2 = Descending. | 2023-09-08 |
FIXED | None | GraffitiDateTimePicker no longer draws an empty row of days when the first day of the week is also the first day of the month. | 2023-10-12 |
FIXED | 104 | GraffitiDrillMenu can no longer enter a state where selection is impossible after drag scrolling event. | 2023-08-23 |
FIXED | None | GraffitiEditor no longer draws some elements of the image resizer improperly in dark mode. | 2023-09-20 |
FIXED | 80 | GraffitiEditor should no longer lose its bottom border in some scenarios. | 2023-09-08 |
FIXED | 122 | GraffitiEditor should now enforce Allowed and Disallowed tags when pasting. | 2023-09-20 |
FIXED | 168 | GraffitiEditorSelection.Copy now copies data in a format that works with Microsoft Office applications. | 2023-10-30 |
FIXED | 112 | GraffitiGrid can no longer enter a state where row containers are not drawn due to their initial width being larger than the control’s width. | 2023-09-11 |
FIXED | 118 | GraffitiGrid should no longer sort columns after clicking to dispel a DesktopMenuItem. | 2023-09-14 |
FIXED | 92 | GraffitiGrid once again draws text properly vertically centered when it is too long for the cell’s width. | 2023-08-11 |
FIXED | 114 | GraffitiGrid once again properly positions rows after a call to MoveRow. | 2023-09-12 |
FIXED | 114 | GraffitiGrid instances where rows incorporate Containers and Controls should now render more quickly on Windows and more reliably on macOS. | 2023-09-12 |
FIXED | 114 | GraffitiGrid.MoveRow once again properly moves rows. | 2023-09-12 |
FIXED | 116 | GraffitiGridRow.IsVisible should once again report a correct value for all rows. | 2023-09-14 |
FIXED | 106 | GraffitiWall now properly closes DesktopContainers added to the wall when calling Remove. | 2023-08-24 |
FIXED | 150 | GraffitiWall will now remove the added handler to DesktopContainer.Resized when removing. | 2023-10-13 |
CHANGED | None | Various GraffitiAnimator optimizations. | 2023-10-13 |
CHANGED | None | GraffitiDateTimePicker.DeselectDate method renamed to Deselect. | 2023-10-12 |
CHANGED | None | GraffitiDateTimePicker.GetSelectedDates() function renamed to Values(). | 2023-10-12 |
CHANGED | None | GraffitiDateTimePicker.SelectDate method renamed to SelectValue. | 2023-10-12 |
CHANGED | None | GraffitiEditor now has more error handling in JavaScript functions. | 2023-10-03 |
CHANGED | 168 | GraffitiEditorSelection.Copy uses a new method to perform Copy operations on macOS and Windows that should be less error prone. | 2023-10-30 |
CHANGED | 110 | GraffitiGrid now raises the SelectionChanged event when selection is changed programmatically. | 2023-09-08 |
CHANGED | 110 | GraffitiGrid.SelectionMode property is now of type GraffitiGrid.Selections enumeration rather than an integer using constant values. | 2023-09-08 |
CHANGED | 110 | GraffitiGrid.SelectedRows is now a function returning an array of GraffitiGridRows rather than a property that can be modified. Use Select and Deselect methods to alter selections within the Grid. | 2023-09-08 |
REMOVED | None | GraffitiGrid.CellEdit event | 2023-08-14 |
REMOVED | 118 | GraffitiGrid.ColumnContextClick | 2023-09-14 |
REMOVED | 118 | GraffitiGrid.RowContextClick | 2023-09-14 |
REMOVED | None | GraffitiGrid.Sort constants | 2023-09-08 |
REMOVED | 110 | GraffitiGrid.SelectionMode constants | 2023-09-08 |
NOTE | None | GraffitiDateTimePicker updated to API 2.0. Date replaced with DateTime and many deprecation warnings resolved. | 2023-10-12 |
Mobile Changes #
Type | Ticket Number | Description | Date |
---|---|---|---|
NEW | None | GraffitiAccordion | 2023-09-02 |
NEW | None | GraffitiPopupMenu (Rewritten) | 2023-09-04 |
NEW | None | GraffitiSplitView | 2023-09-17 |
NEW | None | GraffitiWall | 2023-09-03 |
ADDED | None | GraffitiGrid.IsTreeView as Boolean property | 2023-10-03 |
ADDED | None | GraffitiGrid.TreeColumn as GraffitiGridColumn property | 2023-10-03 |
ADDED | None | GraffitiGrid.CellDrawTreeDisclosure( g as Graphics, column as GraffitiGridColumn, row as GraffitiGridRow, disclosure as Picture, bounds as Xojo.Rect ) as Boolean event definition | 2023-10-03 |
ADDED | None | GraffitiGrid.CellDrawTreeStructure( g as graphics, column as GraffitiGridColumn, row as GraffitiGridRow ) as Boolean event definition | 2023-10-03 |
ADDED | None | GraffitiGridRow.IsExpanded property | 2023-10-03 |
ADDED | None | GraffitiGridRow.Add( row as GraffitiGridRow ) method | 2023-10-03 |
ADDED | None | GraffitiGridRow.AddAt( index as Integer, row as GraffitiGridRow ) method | 2023-10-03 |
ADDED | None | GraffitiGridRow.IndexOf method | 2023-10-03 |
ADDED | None | GraffitiGridRow.LastIndex() as Integer method | 2023-10-03 |
ADDED | None | GraffitiGridRow.Remove( row as GraffitiGridRow ) method | 2023-10-03 |
ADDED | None | GraffitiGridRow.RemoveAll method | 2023-10-03 |
ADDED | None | GraffitiGridRow.RemoveAt( index as Integer ) method | 2023-10-03 |
FIXED | None | GraffitiGrid now draws column headers in the right position when dragging to reorder and scrolled beyond 0. | 2023-08-17 |
FIXED | None | GraffitiGridCellEditor.Visible is now properly maintained before/during/after edit operations. | 2023-08-17 |
FIXED | 163 | GraffitiPopupMenu no longer redisplays a broken selection screen after being dismissed. | 2023-10-25 |
FIXED | None | GraffitiProgressBar has a new GlowIntensity property that controls the opacity of the value area’s glow. Value 0-100 with 0 being invisible. | 2023-08-21 |
FIXED | None | GraffitiProgressBar value change animation is now smoother. | 2023-09-16 |
FIXED | None | GraffitiSliders that are vertical with type Single once again properly draw their value area. | 2023-08-23 |
FIXED | None | GraffitiSliders with type Single are no longer incorrectly limited by the value of ValueHigh. | 2023-08-23 |
FIXED | None | GraffitiStepBar colors are now more consistent and readable in light mode. | 2023-08-09 |
Web Changes #
Type | Ticket Number | Description | Date |
---|---|---|---|
ADDED | 147 | GraffitiAlertMessage has a CloseOnInteraction as Boolean = True property that controls whether interactions with buttons or the modal backdrop will close the message. | 2023-10-12 |
ADDED | 138 | GraffitiCalendar has a new ShowDayNames as Boolean = True property. | 2023-10-03 |
ADDED | 107 | GraffitiCalendar has a new TitleFormat as String property. When empty, the locale-specific default string will be displayed. Accepts moment.js formats or arbitrary text inside brackets: [Hello World]. | 2023-08-25 |
ADDED | 125 | GraffitiCursor has a new UnsetBodyCursor method for clearing the cursor applied to the tag. | 2023-09-22 |
ADDED | 125 | GraffitiCursor has a new UnsetCursor(boundTo as WebControl) method for clearing the cursor applied to a control. | 2023-09-22 |
ADDED | None | GraffitiFieldLabel has a new LabelPressed event. | 2023-08-14 |
ADDED | 171 | GraffitiFieldLabel now has a FieldStyle as GraffitiStyle property. | 2023-11-01 |
ADDED | 108 | GraffitiGridColumn.NativeCheckboxDisabled property. | 2023-08-28 |
ADDED | 160 | GraffitiGridRow.Add( row as GraffitiGridRow ) method. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.AddAt( index as Integer, row as GraffitiGridRow ) method. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.ItemAt( index as Integer ) as GraffitiGridRow function. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.ItemIndex( row as GraffitiGridRow ) as Integer function. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.LastIndex() as Integer function. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.Remove( row as GraffitiGridRow ) method. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.RemoveAll() method. | 2023-10-23 |
ADDED | 160 | GraffitiGridRow.RemoveAt( index as Integer ) method. | 2023-10-23 |
ADDED | 166 | GraffitiImagePicker has a new PictureValue() as Picture method. Returns Nil if no value or the value is not a PNG or JPEG due to framework limitations. | 2023-10-27 |
ADDED | None | GraffitiMap.Icon has a new Constructor( p as Picture ) method. | 2023-09-24 |
ADDED | None | GraffitiMap.Icon has a new Constructor( wf as WebFile ) method. | 2023-09-24 |
ADDED | 101 | GraffitiTextField has a new SelectAll method. | 2023-08-22 |
ADDED | 101 | GraffitiTextField has a new SelectionLength as Integer property. | 2023-08-22 |
ADDED | 101 | GraffitiTextField has a new SelectionStart as Integer property. | 2023-08-22 |
FIXED | None | GraffitiAlert once again applies the TitleStyle property of GraffitiAlertMessages. | 2023-08-17 |
FIXED | 143 | GraffitiButton’s Pressed event no longer fires twice on Android-based touch-enabled devices when pressing. | 2023-10-08 |
FIXED | 107 | GraffitiCalendar no longer requires at least one item in the toolbar in order to resize its height properly. | 2023-08-25 |
FIXED | 126 | GraffitiCalendar should no longer encounter an exception when selecting some dates in some timezones. | 2023-09-22 |
FIXED | 138 | GraffitiEditor no longer immediately hides the virtual keyboard on Android devices when tapping to begin editing. | 2023-10-03 |
FIXED | 137 | GraffitiFieldLabel once again positions and sizes the field section properly. | 2023-08-14 |
FIXED | 100 | GraffitiGrid now overrides selection CSS entirely when a StyleRowSelected value is provided. | 2023-08-18 |
FIXED | 136 | GraffitiGrid should no longer report an empty search column or doubled column listing in certain scenarios. | 2023-10-03 |
FIXED | 131 | GraffitiGrid’s DateTime editor no longer breaks built-in WebDatePickers after its first use. | 2023-09-27 |
FIXED | None | GraffitiGrid’s DateTime editor has been further modified for Bootstrap 5. | 2023-09-27 |
FIXED | 132 | GraffitiGrid’s DateTime editor now properly returns focus to the input after the picker is hidden and a selection has been made. | 2023-09-28 |
FIXED | 99 | GraffitiPopupMenu’s dropdown can once again receive focus when the control is embedded in a WebDialog. | 2023-08-18 |
FIXED | 172 | GraffitiPopupMenu now fires SelectionCleared when MultipleSelect = False and AllowClear = True and the clear button was pressed. | 2023-11-02 |
FIXED | 121 | GraffitiSpeak once again returns a list of voices. | 2023-09-19 |
FIXED | 94 | GraffitiTextField once again positions and sizes field properly. | 2023-08-14 |
FIXED | 94 | GraffitiTextField once again fires the LabelPressed event. | 2023-08-14 |
FIXED | 148 | GraffitiTextField’s Field no longer has inherited CSS values imposed. | 2023-10-13 |
FIXED | 148 | GraffitiTextField’s Label no longer has inherited CSS values imposed. | 2023-10-13 |
FIXED | 148 | GraffitiTextField’s LabelStyle property is once again applied as expected. | 2023-10-13 |
FIXED | 101 | GraffitiTextField’s LabelVisible property is once again honored when set via the inspector. | 2023-09-14 |
FIXED | 98 | GraffitiToolbar flex spacers are once again visible. | 2023-08-17 |
FIXED | 167 | GraffitiTree further updated for Bootstrap 5 compatibility. | 2023-10-29 |
FIXED | 167 | GraffitiTree now applies ItemSelStyle to the text element of the selected node rather than the entire row to reduce confusion and match user expectations. | 2023-10-29 |
CHANGED | 153 | GraffitiDateTimePicker will now set the Value to Nil when an invalid date is entered manually by the user. | 2023-10-14 |
CHANGED | 108 | GraffitiGrid’s NativeCheckbox Formatter now supports immediate value propagation on change when the column does not have an Editor assigned and when Editable and AutoEdit are false. To disable this functionalty, set the GraffitiGridColumn.NativeCheckboxDisabled property to True. | 2023-08-28 |
CHANGED | 108 | GraffitiGrid’s NativeCheckbox column type now renders asynchronously to support extended functionality. | 2023-08-28 |
CHANGED | 149 | GraffitiGrid now triggers a SelectionChanged event with updated row ordering after a drag is complete. | 2023-10-13 |
CHANGED | 160 | GraffitiGridRow.Cells property is now Hidden. Users should access row data using the Cell methods. | 2023-10-23 |
CHANGED | 160 | GraffitiGridRow.Children property is now Hidden. Users should access child rows using the new methods. | 2023-10-23 |
CHANGED | None | GraffitiTextField’s LabelClick event has been renamed to LabelPressed. | 2023-08-14 |
NOTE | None | GraffitiControlWrapper has seen some optimizations to increase backend speed of all products. | 2023-10-28 |
NOTE | None | GraffitiGrid has been optimized in various ways for speed on the backend. | 2023-10-28 |