Table of Contents

Release Information

Platform Version Release Date
All R44 April 1, 2022
Target New Added Fixed Changed Removed
Desktop 5 24 37 0 0
Web 4 14 33 3 1

Desktop

Type Change
NEW GraffitiPDFDocument
NEW GraffitiPDFFont
NEW GraffitiPDFMetadata
NEW GraffitiPDFTemplate
NEW GraffitiPDFProtection
ADDED GraffitiDrillMenuItem has a new BackItemText as String property. When set, this will override the global BackItemText property of the control when this item is currently displayed.
ADDED GraffitiEditor has a new Ready event that is raised when the component has fully loaded. (16406)
ADDED GraffitiEditor has a new SpellCheck as Boolean = True property.
ADDED GraffitiEditor has a new SpellCheckLanguage as String = “en-US” property.
ADDED GraffitiEditor.InsertLink has a new optional relationship as String = “” parameter. (16569)
ADDED GraffitiEditorFonts has a new DefaultLineHeight as Double property. (16205)
ADDED GraffitiEditorFormat has a new LineHeight as Double property. (16205)
ADDED GraffitiEditorToolbar has a new SectionPadding as Integer = 0 property for adding horizontal space between section boundaries and their contained items. (16405)
ADDED GraffitiGrid has a new WrapCellText as Boolean = True property to control cell wrapping within the component's display for value of type String. (16661)
ADDED GraffitiGrid has a new MouseWheel( x as Integer, y as Integer, deltaX as Integer, deltaY as Integer) as Boolean event. Return True to cancel default scroll operations. (16661)
ADDED GraffitiHTMLtoPDF now exports PDF files with selectable contents.
ADDED GraffitiListBox has a new CellBorderColor as Color property. (16518)
ADDED GraffitiListBox now has a HeaderAlignmentAt method pair for setting header alignment independent of column cell alignment.
ADDED GraffitiPropertyListChild has a new ReadOnly as Boolean = False property. When True, Clicks and DoubleClicks will not trigger the editor for that row.
ADDED GraffitiRibbon now modifies display of buttons with Active = True in the UI when not used in overflow menus to convey a toggle state. (16477)
ADDED GraffitiSyntaxEditor has a new AddMode( modeName as String, modeSource as String ) method for adding custom highlighting modes to the component. (16596)
ADDED GraffitiSyntaxEditor.Modes has a new Custom entry. (16596)
ADDED GraffitiSyntaxEditor has a new ModeName as String property.
ADDED GraffitiSyntaxEditor has a new AddTheme( themeName as String, themeSource as String ) method for adding custom themes to the component. (16605)
ADDED GraffitiSyntaxEditor.Themes has a new Custom entry. (16605)
ADDED GraffitiSyntaxEditor has a new ThemeName as String property. (16605)
ADDED GraffitiTabBarItem has a new TabColorHover property.
ADDED GraffitiTabBarItem has a new TextColorHover property.
FIXED GraffitiColors syntax errors on Linux. (16619)
FIXED GraffitiDateTimePickerPopup errors on Linux related to Desktop API 2.0. (16619)
FIXED GraffitiEditor no longer exposes the old GotFocus and LostFocus events. Use FocusReceived and FocusLost respectively.
FIXED GraffitiEditor no longer fires SelectionChanged when receiving focus if the selection is unchanged.
FIXED GraffitiEditor now properly displays FontAwesome icons in GraffitiEditorToolbarMenus. (16379)
FIXED GraffitiEditor now properly returns the current view.
FIXED GraffitiEditor now properly updates the selected text font size to the default when multiple sized paragraphs are selected. (16423)
FIXED GraffitiEditor will now show active buttons with a lighter background color in Dark Mode.
FIXED GraffitiEditor now retains padding value upon resize. (16431)
FIXED GraffitiEditor now retains selection upon resize. (16623)
FIXED GraffitiEditor now retains scroll position upon resize. (16623)
FIXED GraffitiEditor should no longer enter an error state when changing some image properties.
FIXED GraffitiEditor object editing submenus, such as Alignment for images, will now shift in an attempt to remain in the viewport if they are to fall partly outside the viewable area. (16419)
FIXED GraffitiEditor's code view should once again function properly after resize. (16623)
FIXED GraffitiGrid once again sets Font properties before calling the DrawCellText event.
FIXED GraffitiGrid now resizes columns more correctly with the cursor position on scaled displays.
FIXED GraffitiGrid now raises the DrawCellText event after the default font and color properties have been applied to the Graphics context. (16661)
FIXED GraffitiListBox errors on Linux related to Desktop API 2.0. (16619)
FIXED GraffitiImageWell no longer cuts off Caption text by two characters. (16388)
FIXED GraffitiImageWell updated for HiDPI displays.
FIXED GraffitiListBox will now explicitly set Tooltip in mouse events to workaround an apparent bug in Tooltip property inheritance on Windows. (16427)
FIXED GraffitiListBox will now correctly generate header text values that have not been explicitly set.
FIXED GraffitiListBox will now correctly generate header sort abilities for columns that have not been explicitly set.
FIXED GraffitiListBox again has CellBorder* method pairs. (16518)
FIXED GraffitiListBox errors on Linux related to Desktop API 2.0.
FIXED GraffitiListBox should no longer fire the Change event multiple times when dragging a row.
FIXED GraffitiPopupMenu errors on Linux related to Desktop API 2.0.
FIXED GraffitiRibbon once again properly hides and resizes DesktopContainers and DesktopUIControls on Windows when reloading the component’s data.
FIXED GraffitiRibbon once again properly hides and resizes DesktopContainers and DesktopUIControls on Windows when setting the SelectedTab property. (16374)
FIXED GraffitiSegButton errors on Linux related to Desktop API 2.0. (16619)
FIXED GraffitiSlideshow now more appropriately animates on HiDPI displays.
FIXED GraffitiSyntaxEditor should no longer hang on CurrentColumn.Get when mashing keys like a madman. (16596)
FIXED GraffitiSyntaxEditor should no longer hang on CurrentLine.Get when mashing keys like a madman. (16596)
FIXED GraffitiTabBar now applies the proper padding to the right side of the close icon when displayed horizontally. (16594)
FIXED GraffitiTabBar once again applies the HoverTabColor property when CustomColors = True. (16608)
FIXED GraffitiTabBar once again displays selection when the control is disabled. (16608)
FIXED GraffitiTagField error on Linux related to Desktop API 2.0. (16619)
NOTE Cleared out some old Desktop 1.0 code.
NOTE GraffitiHTMLtoPDF now outputs vector PDFs rather than rasterized pages.

Web

Type Change
NEW GraffitiFieldLabel
NEW GraffitiDateTimePicker
NEW GraffitiMapViewer
NEW GraffitiPagination
ADDED GraffitiDatePickerRange has a new YearChangeStart( viewDate as Date ) property that fires when the user changes the current display year in the picker UI. (16677)
ADDED GraffitiDatePickerRange has a new YearChangeEnd( viewDate as Date ) property that fires when the user changes the current display year in the picker UI. (16677)
ADDED GraffitiDatePickerRange has a new MonthChangeStart( viewDate as Date ) property that fires when the user changes the current display month in the picker UI. (16677)
ADDED GraffitiDatePickerRange has a new MonthChangeEnd( viewDate as Date ) property that fires when the user changes the current display month in the picker UI. (16677)
ADDED GraffitiGridRow.Clone() as GraffitiGridRow method for cloning rows. (16510)
ADDED GraffitiGrid.RowsReordered event. (16510)
ADDED GraffitiPDF has a new UploadPathMakeSafe as Boolean = True property. If you set this to False, generated files will be saved directly in the UploadPath and you may run in to issues in multi-user environments. Sorting these problems out will not be supported as the recommended setting is to leave this property's value as True. (16424)
ADDED GraffitiPopupMenu has a new AddItemAt( index as Integer, item as GraffitiPopupMenuItem ) method for adding items by index.
ADDED GraffitiTextField has a new EnterKeyHints enumeration.
ADDED GraffitiTextField has a new EnterKeyHint as EnterKeyHints property.
ADDED GraffitiTextField has a new Pattern as String property for using the browser's built-in RegEx validation (https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern).
ADDED GraffitiTextField has a new PatternInvalidMessage as String property for the browser's built-in RegEx validation (https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern).
ADDED GraffitiTextField has a new PatternSetsState as Boolean = True property that will set the validation state of the field based on the value matching the supplied Pattern property RegEx.
ADDED GraffitiTextField has a new StateChanged event for the browser's built-in RegEx validation (https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern).
FIXED CSS errors causing display issues when using Combined Resources.
FIXED GraffitiButtonSegment once again deselects items on subsequent clicks when Mode = SelectionModes.Multiple.
FIXED GraffitiDatePickerRange now sends only data that is necessary for operation or implemented events.
FIXED GraffitiDatePickerRange should no longer fire the Change event twice unnecessarily under certain conditions.
FIXED GraffitiDatePickerRange will now shift focus to the second field when TAB is pressed in the first field. (16628)
FIXED GraffitiDatePickerRange will now shift focus to the first field when Shift+Tab is pressed in the second field. (16628)
FIXED GraffitiEditor now actually raises the Changed event when the content is changed. (16377)
FIXED GraffitiEditor now properly displays FontAwesome icons in GraffitiEditorToolbarMenus. (16379)
FIXED GraffitiGrid now more appropriately handles Nil row entries when they are encountered. (16510)
FIXED GraffitiGrid will now properly reorder rows after a drag operation. (16510)
FIXED GraffitiGrid.FooterRowVisible can now be set at runtime. (16492)
FIXED GraffitiGrid.FormatTypes.Percent is now localized. (16492)
FIXED GraffitiGrid.SelectedRows is now sorted by the index at which the rows appear in the Grid display. (16510)
FIXED GraffitiGridColumn.NilDateOverride is once again honored for FormatTypes.Date. (16642)
FIXED GraffitiMenu now only applies default dropdown styles when a Style property value is not defined.
FIXED GraffitiOrgChart should once again properly center on the specified node when calling the ScrollTo method. (16636)
FIXED GraffitiPopupMenu.BaseStyle is once again properly applied when set before load.
FIXED GraffitiPopupMenu.StyleTag is once again properly applied when set before load.
FIXED GraffitiPopupMenu.State is once again properly applied when set before load.
FIXED GraffitiPopupMenuItems whose properties are changed programmatically will now update in the client browser.
FIXED GraffitiPopupMenuItem's Constructor method parameter ItemDisabled as Boolean = False has been changed to ItemEnabled as Boolean = True. (16499)
FIXED GraffitiResponsive now fires the Resized event. (16529)
FIXED GraffitiResponsive no longer requires adding Rows before assigning that row's cells in order for cell property changes to be honored at runtime. (16673)
FIXED GraffitiResponsive will now honor Bottom lock. (16529)
FIXED GraffitiSignature once again exposes the BGColor property in the inspector.
FIXED GraffitiSignature once again exposes the PenColor property in the inspector.
FIXED GraffitiSignature no longer initializes multiple times, causing strange drawing behavior.
FIXED GraffitiTimePicker now more appropriately handles twelve hour time meridiem.
FIXED GraffitiToolbar will no longer add unnecessary spacing to buttons that have an icon but no caption.
FIXED GraffitiUploader now honors the provided Thumbnail size properties when programmatically adding files. (16486)
FIXED GraffitiUploader will no longer override paths set on GraffitiWebFiles in the FileExclude event, or build the user-specific structure if UploadPath is not Nil.
FIXED GraffitiWall no longer causes pages to show undesired Containers on subsequent page loads when the GraffitiWallPanel object parent of those Containers has been previously removed. When calling RemovePanel or RemoveAll, child containers are now closed rather than re-embedded on the page and hidden. (16588)
FIXED GraffitiWebFile.SaveTo now more intelligently handles results, specifically it now functions as expected if the file has already been saved to disk rather than expecting only BASE64 data output.
CHANGED GraffitiPopupMenuItem.Disabled is now GraffitiPopupMenuItem.Enabled to better match expectations.
CHANGED GraffitiGridColumn.IntegerValueMax's default value is now -1. Change both IntegerValue properties to apply constraints.
CHANGED GraffitiGridColumn.IntegerValueMin's default value is now -1. Change both IntegerValue properties to apply constraints.
DEPRECATED GraffitiTextField.MaskComplete event.
DEPRECATED GraffitiTextField.Mask property.
DEPRECATED GraffitiTextField.MaskPlaceholder property.
DEPRECATED GraffitiTextField.MaskValid property.
REMOVED GraffitiGrid.RowReordered event (see GraffitiGrid.RowsReordered). (16510)
NOTE GraffitiGrid loading has been further optimized.