Release 24

View Categories

Release 24.1 #

 Date Released #

September 1, 2017

Desktop #

Type Change
[ADD] GraffitiGrid now has a DrawCellBackground method to draw the proper background for cells when overriding the default background painting for custom cell types. This is applied by default for menu and progress cells.
[ADD] GraffitiHTMLEditor now supports arbitrary file dropping, and by default will add a link to the file. Still fires UserImageDropped event.
[FIX] GraffitiGrid’s double-click to edit functionality works properly in HighDPI again.
[FIX] GraffitiGrid now properly responds to mouseovers on column headers.
[FIX] GraffitiCalendar now properly fires GotFocus and LostFocus when using SetFocus and ClearFocus.
[FIX] GraffitiHTMLEditor now allows setting visibility and tooltip of table buttons and section.
[FIX] GraffitiHTMLEditor now properly sets the HTML contents of the control if set in Window.Open.
[FIX] GraffitiHTMLEditor now properly fires GotFocus and LostFocus when using SetFocus and ClearFocus.
[FIX] GraffitiHTMLEditor once again inserts links properly on MacOS.
[FIX] GraffitiHTMLEditor once again inserts videos properly on MacOS.
[FIX] GraffitiHTMLEditor toolbar buttons no longer fire twice on MacOS.
[FIX] GraffitiHTMLEditor now supports both local and remote images.
[FIX] GraffitiHTMLEditor once again supports image dropping.
[FIX] GraffitiHTMLEditor once again properly updates SelStart and SelLength on MacOS.
[FIX] GraffitiSyntaxEditor no longer malforms text entered.
[FIX] GraffitiSyntaxEditor now properly fires GotFocus and LostFocus when using SetFocus and ClearFocus.
[FIX] GraffitiSyntaxEditor autocomplete once again functions as expected.
[FIX] GraffitiDesktopControl rolled back to using TitleChanged event, no longer requiring firewall exceptions when using Calendar, HTMLEditor, or SyntaxEditor.
[NOTE] GraffitiSyntaxEditor updated to latest library version.
[NOTE] GraffitiHTMLEditor updated to latest library version.

Web #

Type Change
[ADD] GraffitiWebGrid now has a GetRowIndex method.
[ADD] GraffitiWebGrid now has two methods for determining if a row has been selected.
[ADD] GraffitiWebGrid now has a GetColumn() as Integer method.
[ADD] GraffitiWebGrid now has a RemoveHeader() method.
[ADD] GraffitiWebGrid now has a UpdateHeader() method.
[ADD] GraffitiWebGrid now has a PreviousCell() method.
[ADD] GraffitiWebTimePicker now has a TwelveHour property for displaying in 12-hour format.
[FIX] GraffitiWebFontAwesome now properly utilizes FontAwesome 4.7.0
[FIX] GraffitiWebGrid no longer throws a JavaScript error when using AddHeader outside of the loading sequence.
[NOTE] Demo now showcases all FontAwesome icons included in FA 4.7.0

Release 24 #

Date Released #

August 1, 2017

Desktop #

Type Change
[ADD] GraffitiHTMLEditor rewritten using newest QuillJS release.
[ADD] KillerToolBar now has UpdateIcon(theButton as KTBList, theIcon As Picture, theIconMask As Picture, theIcon16 As Picture, theIconMask16 As Picture) method.
[ADD] KillerToolBar now has GetButton(ButtonName as String) as KTBList method.
[ADD] GraffitiGrid now has RemoveAllRows() and RowCount() methods.
[ADD] GraffitiHTMLEditor now has a Spellcheck property for controlling the browser’s built-in spellchecker.
[FIX] GraffitiActionBar once again positions icons properly.
[FIX] GraffitiAccordion now registers header clicks properly in HiDPI.
[FIX] GraffitiAccordion now uses timer-based animations.
[FIX] GraffitiAccordion once again works without animations.
[FIX] GraffitiGradientSelector now draws markers properly in HiDPI.
[FIX] GraffitiGrid now properly aligns PopupMenus vertically (Thanks to Mike Stolove).
[FIX] GraffitiGrid no longer clears the hovered row on MouseExit (Thanks to Mike Stolove).
[FIX] GraffitiGrid once again draws Cell Backgrounds properly.
[FIX] GraffitiGrid no longer calls to wndGrid.
[FIX] GraffitiGrid once again properly responds to double-clicks in HiDPI.
[FIX] GraffitiGrid now properly invalidates rows when switching to HiDPI.
[FIX] GraffitiGrid once again properly draws checkboxes on Windows HiDPI.
[FIX] GraffitiHTMLEditor now initializes itself. Remove those init calls!
[FIX] GraffitiHTMLLabel now uses modern methods for drawing (and looks MUCH better).
[FIX] GraffitiRadialProgress no longer draws improperly on styles with transparent regions.
[FIX] GraffitiSlideshow now properly checks the Pictures array.
[FIX] GraffitiSwitch animation times now more uniform, and no more use of DoEvents (I know, I know).
[FIX] GraffitiSwitch switched to enumeration Styles for property Style.
[FIX] GraffitiSwitch now properly honors scale factor for HiDPI when drawing labels.
[FIX] GraffitiTagField now properly displays search text in the embedded TextField.
[FIX] GraffitiTreeView icons no longer appear blurry on 2x scaling factors.
[FIX] GraffitiTreeView icon positioning fix for Linux
[FIX] GraffitiTreeView’s Modern style now spaces the icon and text properly on Linux.
[FIX] GraffitiTreeView now also has a SetNodeSelected( theNode as GraffitiTreeViewNode, IsSelected as Boolean ) method.
[FIX] GraffitiTreeView now expands parent nodes up the tree if collapsed and a child is selected programmatically.
[REM] GraffitiSwitch.Antialias deprecated and removed.
[REM] GraffitiSwitch.Opacity deprecated and removed.
[NOTE] Classes no longer buffer the ScaleFactor at the beginning of drawing operations. It is taken in real-time and uses the Xojo ScaleFactor property.
[NOTE] Slowly working down the issues with analysis.
[NOTE] There are MASSIVE changes in GraffitiHTMLEditor, many meant purely to reduce the need for customers to manually edit the JS/CSS source file of the class. This will improve the update process for users in future releases.
[NOTE] This version of QuillJS for GraffitiHTMLEditor switches from using <DIV> tags to using <P> tags. <P> tags are preferred for written content. <DIV> tags are currently only used for displaying Twitter inserts. An upgrade method should be used to change customer database entries to use the <P> tag instead of <DIV> tag before loading content in to the new GraffitiHTMLEditor.

Web #

Type Change
[ADD] GraffitiWebAnimator
[ADD] GraffitiWebAccordion now has ExpandedIcon as String and CollapsedIcon as String. These are FontAwesome icons. Leaving one or both blank disables their use.
[ADD] GraffitiWebAccordionNav.RemoveAll now has an optional parameter for parent item to remove children from.
[ADD] GraffitiWebFavIcon can now be displayed in a WebImageView using the AttachTo method. This does not support flashing.
[ADD] GraffitiWebFile now has a “SaveTo” method for saving files that have appropriate data.
[ADD] GraffitiWebGrid now properly parses and displays locale-specific values.
[ADD] GraffitiWebSlideshow now supports WebFiles, WebPictures, Pictures, FolderItems, Text, and Strings.
[ADD] GraffitiWebSlideshow now has AddSlide, RemoveSlide, GetSlideByURL, and GetSlideByCaption methods.
[ADD] GraffitiWebUploader now has a “FileExclude” event to allow for determining if a file should be uploaded. Returning True will ignore the file, and not upload it.
[ADD] GraffitiWebUploader now has a PromptText property for user instruction.
[ADD] GraffitiWebWall now has an additional RemovePanel method: RemovePanel( thePanel as GraffitiWebWallPanel )
[ADD] GraffitiWebWall now has a GetIndex( thePanel as GraffitiWebWallPanel ) as Integer method.
[ADD] GraffitiWebWall now has a GetPanel( theIndex as Integer ) as GraffitiWebWallPanel method.
[ADD] GraffitiWebWall now supports percentage-based widths for children.
[ADD] GraffitiWebWallPanel now has an Overflow as OverflowVisibility property for controlling how items display in the panel if it is too small.
[ADD] GraffitiWebWallPanel now has a PercentWidth as Integer property which, when greater than 0, instructs GraffitiWebWall to resize the panel and child WebContainer when the GraffitiWebWall resizes.
[FIX] GraffitiWebAccordionNav should no longer throw OOBEs when clicking headers under certain conditions.
[FIX] GraffitiWebAccordionNav now fires HeaderCollapsed when switching between headers.
[FIX] GraffitiWebCalendar no longer throws Javascript Exceptions on “a.toLowercase”.
[FIX] GraffitiWebCalendar now uses UUIDs for event IDs rather than indices.
[FIX] GraffitiWebCalendar once again properly loads events on Shown.
[FIX] GraffitiWebCalendarEvent now has a Tag as Variant property.
[FIX] GraffitiWebChart no longer throws OutOfBoundsExceptions when clicking randomly on the control (Thanks to Matt Gardner).
[FIX] GraffitiControlWrapper.GenerateUUID now generates UUIDs with a length of 25, raised from 10.
[FIX] GraffitiWebCurrencyField is now properly sized.
[FIX] GraffitiWebCurrencyField now supports WebStyles.
[FIX] GraffitiWebDatePicker now properly sets the Z-Index of the popup.
[FIX] GraffitiWebDatePicker no longer unnecessarily throttles change events.
[FIX] GraffitiWebDatePicker now fires the changed event when navigating Months and Years.
[FIX] GraffitiWebDatePicker now properly loads jQuery if needed.
[FIX] GraffitiWebDatePicker now ensures that the control is loaded and shown before executing scripts.
[FIX] GraffitiWebDatePicker now uses a different method for clearing values.
[FIX] GraffitiWebDatePicker now properly runs in noConflict mode.
[FIX] GraffitiWebDatePickerSingle now fires changed event when first run.
[FIX] GraffitiWebDatePickerSingle now has TextChanged event which fires on lost focus with the entered value if ForceParse = False.
[FIX] GraffitiWebFavIcon now better supports DPI scaling.
[FIX] GraffitiWebGrid no longers throws ‘undefined’ JavaScript errors when setting cell styles under certain conditions.
[FIX] GraffitiWebGrid no longer has empty Setters that cause build errors.
[FIX] GraffitiWebGrid now properly hides the loading spinner.
[FIX] GraffitiWebGrid sorting optimized.
[FIX] GraffitiWebGrid cells no longer lose styles set with AddCellStyle after scrolling.
[FIX] GraffitiWebGrid cells now retain styles set with AddCellStyle after sorting.
[FIX] GraffitiWebGrid now properly sorts dates and numeric values.
[FIX] GraffitiWebGrid date sorting now implemented.
[FIX] GraffitiWebGrid numeric sorting improved.
[FIX] GraffitiWebGrid now uses Bootstrap Datepicker for date editing.
[FIX] GraffitiWebGrid now properly styles the Bootstrap Datepicker for Date column editing.
[FIX] GraffitiWebGrid should now auto-detect user locales for Date columns.
[FIX] GraffitiWebGrid now properly applies styles added to cells when data is sorted.
[FIX] GraffitiWebLayout’s Shown event now properly fires after initialization.
[FIX] GraffitiWebLayout now removes old styles BEFORE applying new styles.
[FIX] GraffitiWebPDF has improved support for IE/Edge.
[FIX] GraffitiWebPopupMenu no longer ignores Selection changes when using a numeric value for the text of the item that matches the index of the item.
[FIX] GraffitiWebPopupMenu now properly sets the Z-Index of the popup.
[FIX] GraffitiWebProgressRadial and GraffitiWebProgressSemiCircle no longer cause a 404 to appear in the console.
[FIX] GraffitiWebSignature no longer throsws a JavaScript error on offsetWidth.
[FIX] GraffitiWebSlideshow no longer exposes the slide or caption array properties.
[FIX] GraffitiWebSpeak no longer has empty Setters that cause build errors.
[FIX] GraffitiWebSpeak should now function properly on Edge.
[FIX] GraffitiWebSpeak should once again function properly on Firefox.
[FIX] GraffitiWebSyntaxEditor no longer has empty Setters that cause build errors.
[FIX] GraffitiWebTabBar now properly manages styles for active tab switching.
[FIX] GraffitiWebTimePicker now properly sets the Z-Index of the popup.
[NOTE] ParseForIcon methods no longer leave residual characters when the Caption begins with text and not an icon definition.
[NOTE] Removed more Format() and CStr() calls (old habits are hard to break).
[NOTE] Replaced .ToText for numeric data types with Str(). Was causing issues with Xojo when building as 64-bit.
[NOTE] GraffitiWebFavIcon updated to FavIco version 0.3.10
[NOTE] Events that shouldn’t have been exposed are no longer exposed.