Table of Contents
Release 28.4 #
Date Released #
Final: March 7, 2019
Desktop #
Type | Change |
---|---|
ADD |
GraffitiSyntaxEditor now has a AutoMatching as Boolean property. When True it will automatically generate matching special characters or tags when typed. |
ADD |
GraffitiSyntaxEditor now has a DisplayIndentGuides as Boolean property. |
ADD |
GraffitiSyntaxEditor now has a UseSoftTabs as Boolean property. |
Web #
Type | Change |
---|---|
ADD |
GraffitiWebTooltip now has a HideAll method. |
ADD |
GraffitiWebTooltip now has a ShowAll method. |
FIX |
GraffitiWebCalendar can no longer enter an error state whereby all WebTextFields stop responding to click events in extremely rare conditions. |
FIX |
GraffitiWebContextMenu once again properly positions menus attached to WebControls that would display the entire menu outside the viewport. |
FIX |
GraffitiWebGrid no longer inappropriately adds nodes for tree functionality to row cells that don’t need them. |
FIX |
GraffitiWebGrid header cells once again honor setting text-align: center via WebStyles. |
FIX |
GraffitiWebGrid no longer applies Bootstrap default styles regardless of what’s set in the Style property. |
FIX |
GraffitiWebSidebars will no longer migrate to the body tag. Despite removing themselves, there appears to be an issue where they could cause a memory leak under certain circumstances. |
REM |
Legacy Bootstrap resources |
REM |
Legacy FontAwesome resources |
Release 28.3 #
Date Released #
Final: March 1, 2019
Desktop #
Type | Change |
---|---|
FIX |
GraffitiHTMLEditor now applies styles inline for Alignment and Direction. |
FIX |
GraffitiSyntaxEditor now properly supports entering tabs in HTML and PHP modes. |
FIX |
GraffitiTabBar’s tab dragging no longer flashes the dragged tab back and forth in the stack even when the mouse hasn’t moved. |
Web #
Type | Change |
---|---|
ADD |
GraffitiWebCheckbox now supports MouseEnter and MouseLeave events. |
ADD |
GraffitiWebRadioButton now supports MouseEnter and MouseLeave events. |
ADD |
GraffitiWebTabPanel now supports icons via Icon property on GraffitiWebTabPanelItem. |
ADD |
GraffitiWebTimePicker now supports MouseEnter and MouseLeave events. |
FIX |
GraffitiWebBarcodeReader should no longer throw an IndexSizeError on some devices. |
FIX |
GraffitiWebButton’s IconObjectSize has been replaced with IconObjectWidth and IconObjectHeight. |
FIX |
GraffitiWebContextMenus will now slide left to stay entirely in the viewable area if they would have otherwise been positioned outside of the display. |
FIX |
GraffitiWebContextMenu submenus will now flip sides of their parent menu if they would have opened outside the viewable area. |
FIX |
GraffitiWebContextMenu now properly supports triggers on WebTextControls without using ShowMenu. |
FIX |
GraffitiWebDatePicker (all variants) should no longer show an autofill popup for values. |
FIX |
GraffitiWebGrid Column Headers are now reloaded when any property change is made. This fixes a number of issues with column property updates. |
FIX |
GraffitiWebHTMLEditor’s InsertImage method accepting a FolderItem now properly inserts the image. |
FIX |
GraffitiWebHTMLEditor now applies styles inline for Alignment and Direction. |
FIX |
GraffitiWebLabel’s Captions is now properly updated from the Shown event. |
FIX |
GraffitiWebPopupMenu’s bottom border once again displays properly after a selection has been made. |
FIX |
GraffitiWebToolbarButton’s IconObjectSize has been replaced with IconObjectWidth and IconObjectHeight. |
Release 28.2 #
Date Released #
Final: February 15, 2019
Desktop #
Type | Change |
---|
No changes for this release.
Web #
Type | Change |
---|---|
FIX |
GraffitiWebButton should no longer throw an error about the FaceStyle property when used in a ControlSet. |
FIX |
GraffitiContextMenu will now only be as tall as the viewport allows, and will scroll when the combined item height is too great for the menu height. |
FIX |
GraffitiHTMLEditor should no longer throw Javascript exceptions when setting properties (such as HTML) in the Open or Shown events. |
Release 28.1 #
Date Released #
Final: February 13, 2019
Desktop #
Type | Change |
---|---|
ADD |
GraffitiThumbList now has a number of additional functionality support methods. |
FIX |
GraffitiThumbList’s AddDirectory method no longer loads one fewer image in a directory than is actually present. |
FIX |
GraffitiThumbList now invalidates on all properties, rather than just a few. |
FIX |
GraffitiThumbList now exposes the Open event. |
Web #
Type | Change |
---|---|
ADD |
GraffitiWebLabel now supports internal links in the format <a id=“UniqueInternalLinkID” href=“#”>Link Text</a> with the new event LinkClick. |
FIX |
GraffitiWebAnimator now properly buffers commands that were called before it was ready, and executes them appropriately. |
FIX |
GraffitiWebDatePicker should no longer intermittently throw a Javascript exception on new sessions. |
FIX |
GraffitiWebGrid no longer uses a too high value for line-height in header cells. |
FIX |
GraffitiHTMLEditor now properly buffers script executions. |
FIX |
GraffitiWebLabel’s SelectionChange event now only fires if the new selection is different than the previous selection. |
NOTE |
Removed some left over debugging code. |
NOTE |
Rolling back changes that removed the requirement for Session.GraffitiSuiteInstances. Shared properties on the classes don’t appear to be entirely dependable across sessions for WebFiles. |
Release 28 #
Date Released #
Final: February 11, 2019
Alpha 4: December 28, 2018
Alpha 3: December 11, 2018
Alpha 2: November 27, 2018
Alpha 1: November 15, 2018 [Private]
Desktop #
Type | Change |
---|---|
ADD |
GraffitiFontPicker |
ADD |
GraffitiRibbon 2.0 |
ADD |
GraffitiTaskList |
ADD |
GraffitiButton now uses Ampersand to signify that a character should be drawn with an underline as an accelerator key. No action is taken when the key combination is pressed, and this should be implemented by the user. |
ADD |
GraffitiGrid now supports Shift+Click for multiple selection. |
ADD |
GraffitiHTMLEditor now supports ALT attributes on img elements. |
ADD |
GraffitiHTMLEditor now has an InsertHTML method. |
ADD |
GraffitiHTMLEditor now floats images when changing the alignment to achieve a text-wrapping effect. |
ADD |
GraffitiHTMLEditor now supports WIDTH and HEIGHT attributes on img elements. |
ADD |
GraffitiHTMLEditor now has a DarkMode as Boolean property. |
ADD |
GraffitiProgress now has a Dark style. |
ADD |
GraffitiSearchCanvas icons updated to shift for dark mode. |
ADD |
GraffitiSearchCanvas now has a ShowMagnifyingGlass as Boolean property. |
ADD |
GraffitiSearchCanvas now has a ShowClearButton as Boolean property. |
ADD |
GraffitiSearchCanvas now has a ClearClicked event definition that fires only if the Field property is not a TextField or TextArea, otherwise the field text is automatically cleared when clicking the clear icon. |
ADD |
GraffitiStatusBar now has a DarkMode style. |
ADD |
GraffitiTreeView now has a SearchNodes(searchText as String, PartialMatch as Boolean = True) as GraffitiTreeViewNode method. |
ADD |
GraffitiTreeView now has a ScrollTo( node as GraffitiTreeViewNode ) method. |
ADD |
GraffitiTreeView now has a NodeMultiselectionChange(theNodes() as GraffitiTreeViewNode) event. |
ADD |
GraffitiTreeView now supports Shift+Ctrl+Click for appending selection ranges. |
ADD |
GraffitiTreeView now has a Dark style. |
ADD |
GraffitiTreeViewNode now has methods for managing columns. |
ADD |
GraffitiTreeView now has a CanDrag property to enable dragging rows from the component. Demo updated to show functionality. |
FIX |
GraffitiDateTimePicker now properly paints months following those with 31 days. |
FIX |
GraffitiDateTimePicker now properly paints months that span 6 weeks. |
FIX |
GraffitiDateTimePicker no longer skips months when the current day of the month is greater than the target month’s last day. |
FIX |
GraffitiHTMLEditor now honors non-specific HTML with valid UTIs for Paste operations. |
FIX |
GraffitiHTMLEditor no longer strips some supported tags when applying to HTML directly (HR, Tables, Audio). |
FIX |
GraffitiHTMLEditor now converts plain-text line-endings to <br> tags when pasting plain-text. |
FIX |
GraffitiHTMLEditor Horizontal Rule code updated. Now works properly with the new version of QuillJS. |
FIX |
GraffitiHTMLEditor no longer loses EOLs when copying/pasting from/to the control. |
FIX |
GraffitiHTMLEditor now converts <DIV> tags to <SPAN> tags on paste. |
FIX |
GraffitiHTMLEditor now retains Width and Height of images after editing. |
FIX |
GraffitiHTMLEditor now retains styling when aligned. |
FIX |
GraffitiHTMLEditor spell checking once again works as expected on macOS without toggling the value post-load. |
FIX |
GraffitiPropertyList no longer intermittently returns the wrong items from the Find methods. |
FIX |
GraffitiPropertyList find methods optimized a bit more. |
FIX |
GraffitiSlider now has additional nil checking for tooltips. |
FIX |
GraffitiStatusBar now honors default colors for styles when UseCustomColors = False. |
FIX |
GraffitiStatusBar now properly draws on versions of Windows >= 8 when UseDefaultSystemStyle = True |
FIX |
GraffitiTabBar’s SelectTab methods are no longer scoped Private. |
FIX |
GraffitiTreeView should no longer intermittently ignore the Shift or Control keys on multiple selection. |
FIX |
GraffitiTreeView redrawing optimized slightly. |
FIX |
GraffitiTreeView no longer draws text over node icons when using live loading methods. |
FIX |
GraffitiTreeView should no longer leave an empty space smaller than RowHeight at the top of the display under certain conditions. |
FIX |
GraffitiTreeView no longer has an errant reference to the Graphics property of the class. |
NOTE |
GraffitiTreeViewNode’s Columns property is now private. Make use of the new methods added to GraffitiTreeViewNode. |
Web #
Type | Change |
---|---|
ADD |
Additional Comments to possible script/stylesheet loading exception points with instructions. |
ADD |
GraffitiWebBarcodeReader |
ADD |
GraffitiWebPagePanel |
ADD |
GraffitiWebAccordion has a new SingleSelect property. When True, only a single panel at a time can be expanded, and the panels size to fit the component’s display. |
ADD |
GraffitiWebAlert now supports titlebars using the Title and TitleStyle properties of GraffitiWebAlertMessage. |
ADD |
GraffitiWebAlert now has a ButtonAreaStyle as WebStyle property for altering the appearance of the button area at the bottom of alerts. |
ADD |
GraffitiWebAlert now supports Width and Height properties on GraffitiWebAlertMessage. |
ADD |
GraffitiWebAnimatorObject now has a Position( X as Integer, Y as Integer, Duration as Integer ) method. |
ADD |
GraffitiWebButton now has IconObject as Picture and IconObjectSize as Integer = 16 properties which are HiDPI aware, use <icon> to signify location. |
ADD |
GraffitiWebCheckbox now has a StyleTrue as WebStyle property. |
ADD |
GraffitiWebContextMenu’s AddMenu methods now have an optional AutoHide parameter, which will hide the menu when the mouse leaves it. |
ADD |
GraffitiWebContextMenu’s AddMenu methods now have an optional Position as REALbasic.Point parameter. -1 on X or Y will use the default value for that coordinate. Values are relative to the upperleft of the viewport. |
ADD |
GraffitiWebContextMenu now supports long-press on mobile devices when using TriggerRight. |
ADD |
GraffitiWebDatePickerRange now has three new properties: StyleFieldStart, StyleFieldEnd, and StyleToLabel. |
ADD |
GraffitiWebGrid now supports multiline column headers using the <br> tag. |
ADD |
GraffitiWebGrid now provides an override for invalid date objects, rather than displaying “Invalid Date”, in the form of GraffitiWebGridColumn.NilDateOverride. |
ADD |
GraffitiWebGridColumn has a new DecimalPlacesMin property. |
ADD |
GraffitiWebLabel now has a “Click” event. |
ADD |
GraffitiWebLabel now has a “ContextClick” event. |
ADD |
GraffitiWebLabel now has a “SelectedHTML” property. |
ADD |
GraffitiWebRadioButton now has a StyleTrue property. |
ADD |
GraffitiWebTextField has a new LabelWidth property. When set to -1 the label will automatically size to the content. |
ADD |
GraffitiWebTextField has a new LabelAlignment property, meant for use with the LabelWidth property. |
ADD |
GraffitiWebToolbarButton now has a Width as Integer = -1 property. Setting to -1 will cause the button to autosize to its contents. |
ADD |
GraffitiWebToolbarButton now has an OverrideStyle as WebStyle property for using Xojo’s WebStyles instead of Bootstrap styles. |
ADD |
GraffitiWebToolbarButton now has IconObject as Picture and IconObjectSize as Integer = 16 properties which are HiDPI aware. |
ADD |
GraffitiWebTooltip now supports binding basic tooltips to GraffitiWebToolbarButtons. |
ADD |
GraffitiWebTooltip now has a Reposition method that can be called when elements move on the page to automatically reposition the relative tooltip to its parent’s new location. |
ADD |
GraffitiWebWall has a new ScrollBottom event which can be used to implement infinite scrolling (see the bottom GraffitiWebWall instance on pgeWall). |
ADD |
GraffitiWebWall will now receive focus. |
ADD |
GraffitiWebWall now has a KeyPress event. |
FIX |
GraffitiWebAccordion no longer has unnecessary blank space below headers. |
FIX |
GraffitiWebAccordion no longer shifts captions with FontAwesome icons to the right by about 50 pixels. |
FIX |
GraffitiWebAccordionNav should no longer throw a JavaScript exception when using certain characters in child item text. |
FIX |
GraffitiWebAlert now properly updates Z-Index on Show. |
FIX |
GraffitiWebAlert now properly removes elements from the DOM when a message is closed. |
FIX |
GraffitiWebAlert once again has properties for managing button alignment (GraffitiWebAlertMessage.ButtonAlignment). |
FIX |
GraffitiWebAlert once again assigns an appealing default style to buttons with no Style specified. |
FIX |
GraffitiWebAlert now applies a default style to the button area of alerts. |
FIX |
GraffitiWebAlert now properly returns containers to their original page for reuse on future alerts. |
FIX |
GraffitiWebButton now waits until the control is visible before instantiating. This should fix some random unreproducible exceptions that people were reporting. |
FIX |
GraffitiWebCamera’s Stop method now properly ends the stream from the device. The browser should no longer continue to report that the WebCam is active after calling Stop. |
FIX |
GraffitiWebCard now properly retains visibility when setting the Visible property before changing other crucial properties. |
FIX |
GraffitiWebContextMenu no longer throws Javascript exceptions on HideMenu. |
FIX |
GraffitiWebContextMenu’s MenuHidden and MenuShown events once again fire. |
FIX |
GraffitiWebContextMenu now properly unbinds from WebButton. |
FIX |
GraffitiWebContextMenu now positions the menu at bottom-left of the target WebControl when binding using TriggerNone. |
FIX |
GraffitiWebContextMenu’s TriggerRight once again functions without the need to use Xojo control events. |
FIX |
GraffitiWebContextMenu’s menus now automatically size to their contents’ width. |
FIX |
GraffitiWebCurrencyField now exposes the Value property in the Property Inspector. |
FIX |
GraffitiWebCurrencyField no longer throws Javascript exceptions when setting properties in the Open event. |
FIX |
GraffitiWebDatePicker(All) no longer throws a Javascript exception in IE11 when changed the date value. |
FIX |
GraffitiWebDatePickerRange’s “to” label should now properly center vertically in Firefox. |
FIX |
GraffitiWebGrid no longer throws a Javascript exception in IE11 when using Date columns. |
FIX |
GraffitiWebGrid no longer throws a Javascript exception on EditCancel and EditCommit. |
FIX |
GraffitiWebGrid now honors HeaderRowHeight, and appropriately centers header text vertically. |
FIX |
GraffitiWebGrid should no longer throw a Javascript exception when no data is loaded, and the class attempts to destroy. |
FIX |
GraffitiWebGrid now honors EndOfLine in values for LongText formatted columns both when viewing and editing. |
FIX |
GraffitiWebGrid once again updates edit values in the Xojo code when an edit operation has completed in the browser. |
FIX |
GraffitiWebGrid’s HeaderRowVisible property once again works as expected. |
FIX |
GraffitiWebGrid’s DeselectAllRows method now also clears cell selection. |
FIX |
GraffitiWebLabel’s event should now work on subsequent page shows. |
FIX |
GraffitiWebNotifier once again fires events when instantiated as a property of the Session object. |
FIX |
GraffitiWebPagination styling fixes. |
FIX |
GraffitiWebSidebar no longer loses content when switching between pages. |
FIX |
GraffitiWebSidebar now properly updates Z-Index on Show and Toggle. |
FIX |
GraffitiWebSidebar no longer applies default styles to UI components within the sidebar when a custom WebStyle has been applied to the Style property. |
FIX |
GraffitiWebSignature once again fills the entire control area. |
FIX |
GraffitiWebStorage no longer throws a Javascript exception when cookies are disabled. |
FIX |
GraffitiWebTextField now updates 500ms after last keypress, rather than only updating on focus out. |
FIX |
GraffitiWebTextField now explicitly applies the UTF-8 character encoding to the value string. |
FIX |
GraffitiWebToggle no longer fires the change event twice on clicks. |
FIX |
GraffitiWebToolbar now honors the Style property for applying WebStyles. |
FIX |
GraffitiWebTooltip’s Unbind method should now be a bit faster. |
FIX |
GraffitiWebTree no longer has some misplaced conditions for Expand and Collapse that can cause NilObjectExceptions. |
FIX |
Bootstrap no longer overrides default styles of controls. |
REM |
GraffitiWebQRReader |
NOTE |
Cleaned up the browser console. |
NOTE |
Moved remaining script loads to use AddJSFile. |
NOTE |
GraffitiSuiteInstances As Dictionary is no longer required in the Session object. |
NOTE |
All Datepicker language files merged and minified. |
NOTE |
All classes that require Z-Index calculations now properly account for sheet dialogs as well. |
NOTE |
jQueryUI switched back to minified version. Oversight in R27 releases. |
NOTE |
Moment switched back to minified version. Oversight in R27 releases. |
NOTE |
GraffitiWebGridColumn’s DecimalPlaces property has been renamed to DecimalPlacesMax. |
NOTE |
GraffitiWebHTMLEditor bumped to version 2.0 using QuillJS version 1.3.6 |
NOTE |
GraffitiWebPagination’s Active WebStyle must appear in the project inspector below the style used for StyleButtonText for proper display. |
NOTE |
GraffitiWebSignature upgraded to version 3.0.0-beta3 of signature_pad library. |