Desktop #

Release 18 #

ADD GraffitiTagField
ADD Added generic build step for Retina support.
ADD GraffitiAccordion updated for Retina support.
ADD GraffitiActionBar updated for Retina support.
ADD GraffitiButton updated for Retina support.
ADD GraffitiColorPicker updated for Retina support.
ADD GraffitiFadeLabel updated for Retina support.
NOTE GraffitiFadePanel does not require Retina update.
ADD GraffitiGradientSelector updated for Retina support.
NOTE GraffitiMenuWindow does not require Retina update.
ADD GraffitiProgress updated for Retina support.
ADD GraffitiPropertyList updated for Retina support.
ADD GraffitiSearchCanvas updated for Retina support.
ADD GraffitiSeparator updated for Retina support.
ADD GraffitiSlider updated for Retina support.
ADD GraffitiSplitter updated for Retina support.
ADD GraffitiStatusBar updated for Retina support.
ADD GraffitiStepBar updated for Retina support.
ADD GraffitiSwitch updated for Retina support.
NOTE GraffitiThumbList does not require Retina update.
ADD GraffitiActionBar now has a new FlatDark style.
ADD GraffitiActionBar now has a new FlatLight style.
CHANGE GraffitiActionBar now uses a height of 20 pixels by default.
CHANGE GraffitiRibbon visual update begun.
FIX GraffitiSlideshow now once again animates correctly.

Release 16 #

FIX KillerToolBar now once again clears button hover states when mouse exits the control.
FIX KillerToolBar buttons no longer have captions cut off when in “Labels Only” state.
FIX KillerToolBar is now redrawn properly when customizing button order.
FIX GraffitiAccordion control refresh slightly optimized in an attempt to reduce flicker when refreshing those controls on Windows.

Release 15 #

ADD GraffitiSplitter now fires a “Moving” event when the control is being dragged. Note that this event is fired at a high rate (Thanks to Jim Lam for the suggestion).
ADD GraffitiSplitter now fires a “Moved” event when the mouse is released after a drag operation (Thanks to Jim Lam for the implementation)
ADD GraffitiScrollContiner now has a “UpdateDictionary” method for updating control positions and sizes in the dictionary when you have done so manually (Thanks to Jim Lam for the implementation).
FIX GraffitiScrollContainer now uses Control.Handle to track UI element position as opposed to name. This addresses issues with control arrays (Thanks to Jim Lam for the implementation).

November 2013 #

ADD GraffitiAccordion now has a PanelChange event for when users switch panels.
ADD GraffitiPropertyList now has FindChildInHeader method for easy searching.
ADD GraffitiPropertyList now supports a Tag property for individual items in Popup and List type values.
ADD GraffitiPropertyList edit buttons have been visually updated and exposed to the user for customization via Button_* properties.
ADD GraffitiPropertyList now draws background colors with a slight gradient for a more modern appearance.
FIX GraffitiSearchCanvas now properly fires the DoSearch method when pressing enter or return in the field.
FIX GraffitiPropertyList now properly exports and imports children with a type of List.

October 2013 #

FIX GraffitiSwitch now properly fires ValueChange on click.
FIX GraffitiSwitch now honors both TrueBGColor and FalseBGColor.

September 2013 #

ADD Added GraffitiMenuWindow
ADD Added GraffitiRuler
ADD GraffitiGradientSelector (Thanks to Paul Levine and RAGE Software for financing this addition).
FIX Fixed checkbox for GraffitiAccordion to no longer improperly list animation as being for OS X only.
FIX GraffitiSlider no longer leaves a trail when changing value.
FIX GraffitiSlideshow no longer throws ThreadUIAccessExceptions, but transitions have been disabled until we can sort some issues.
FIX Labels in GraffitiAccordion demo window now properly display with a transparent background.
FIX StepBar icons are once again properly masked.
FIX Fixed a leak in KillerToolBar where buttons would remain in memory indefinitely (Thanks to Paul Levine of RAGE Software).
FIX GraffitiVBScript no longer throws ThreadUIAccessException.
FIX Issues with compile errors for Linux Targets within GraffitiMenuWindow.
NOTE In order to address ThreadUIAccessExceptions in GraffitiVBScript, the “Done” event has been removed, and a timer should be used to retrieve results.

June 2013 #

FIX Various minor fixes for === Release of Xojo, including text and format.
FIX Addressed a memory leak in KillerToolBar.
FIX Updated KillerToolBar Container abilities.

January 2013 #

ADD GraffitiAccordion now supports animated panel switching.
FIX Closing the GraffitiSlider demo window no longer quits the demo.
FIX GraffitiScrollContainer no longer causes controls to jump around when resizing.
FIX GraffitiScrollContainer now has MouseWheel support.
FIX GraffitiScrollContainer no longer attempt to move hidden controls, or those not visible in PagePanel (Thanks to Paul Levine of RAGE Software)

December 2012 #

ADD GraffitiSlider
FIX GraffitiRibbon no longer throws an OutOfBoundsException in section drawing routine.
FIX GraffitiPropertyList items are no longer drawn in the display and shown in the popupmenu at certain height.
FIX GraffitiStepBar’s StepSelected event now has an “ItemIndex as Integer” parameter, since SelectedItem isn’t set until after this events returns.
FIX GraffitiActionBar no longer displays only the Glare style as a choice within the window editor.
FIX GraffitiSplitter no longer allows Minimum values of less than 20 pixels, to ensure that related controls do not disappear.
FIX GraffitiRibbon no longer throws an OutOfBoundsException when ExpandedHeight is set to 0 on Cocoa targets.
FIX GraffitiVBScript State property now renamed to ScriptState as to not interfere with the State property of the Thread superclass.
FIX Fixed over 300 notices displayed when Analyzing the Suite.
FIX GraffitiRibbon should no longer throw an OutOfBoundsException when switching tabs in certain cases.
FIX GraffitiRibbon no longer throws an OutOfBoundsException when redrawing section borders.
FIX GraffitiSlider’s SmallChange and LargeChange implemented for Range type.
FIX GraffitiSlider now implements Minimum and Maximum for value.
FIX GraffitiImageWell no longer allows for a GridSize of 0.
FIX GraffitiAccordion flicker on child containers reduced for Windows 7/8.

November 2012 #

ADD GraffitiThumbList
ADD GraffitiThumbList added to documentation.
FIX Removed around 100 unused variables from classes.
FIX All classes updated to remove calls to deprecated classes and methods (including direct access to canvas graphics property).
FIX KillerToolBar demo window no longer quits the demo on close.
FIX KTB Demo Window formerly named “ToolTip” now renamed to “wndToolTip” for compatibility.

October 2012.1 #

FIX GraffitiSwitch now redraws appropriately when clicked to change value while animation is disabled.

October 2012 #

ADD GraffitiAccordion
ADD GraffitiScrollContainer as part of GraffitiAccordion demo.
FIX DoubleBuffer property of GraffitiButton now properly defaults to False.
FIX DoubleBuffer and EraseBackground properties of GraffitiButton are now exposed to the IDE.
FIX CTRL+Click now works on KillerToolBar for contextual menu.
FIX Demo crashes and UnhandledExceptions mostly resolved, with the exception of those relating to Cocoa and GraffitiSlideshow (waiting for RS).

June 2012 #

ADD GraffitiImageWell
ADD GraffitiRadialProgress
ADD GraffitiSplitter
FIX Closing GraffitiSlideshow demo window no longer causes app to quit.
FIX GraffitiPropertyList no longer clears when importing invalid XML.
FIX KillerToolBar no longer causes an NOE when using popup menus.
FIX GraffitiProgress no longer crashes when rapidly changing values.
FIX GraffitiPropertyList Long Text window now accepts Shift+Return as Enter.

Web #

Release 19.1 #

FIX GraffitiWebSyntaxEditor no longer exhibits a JavaScript syntax error.
FIX GraffitiWebSyntaxEditor no longer occasionally shows up with no properties set.
FIX GraffitiWebSyntaxEditor no longer randomly fails on Ace editor’s Range-related methods.

Release 19 #

CHANGE All GraffitiWeb classes now instantiate jQuery in noConflict mode.
CHANGE GraffitiWebAlert now queues calls until fully loaded.
CHANGE GraffitiWebSyntaxEditor now holds all loading until RequireJS finishes it’s work.
CHANGE GraffitiWebDatePicker now supports variable date formatting.
CHANGE GraffitiWebDatePicker now uses a custom UI and different style dropdown.
FIX GraffitiWebEmailValidator demo now properly shows suggestions.
FIX GraffitiWebTabPanel now queues calls until fully loaded.
FIX GraffitiWebQR now queues call until fully loaded.
FIX GraffitiWebDatePicker now properly resizes based on the number of calendars displayed.

Release 18 #

NOTE Lots of legacy code, objects, and files trimmed out.
NOTE Only the following classes now require the build step: Chart, CurrencyField, DatePicker, ProgressBar, TabPanel, Grid
NOTE A change in the demo increases stability. Now, it is proper to fully close previous instances of the containers by calling “Close” before showing a new instance of a container with one or more of the same GraffitiSuite controls. This is a result of the new register/unregister implementation. If one is not closed completely before the subsequent one is open, the values for the class count can become invalid and cause that product to no longer load. Please see pgeDemo.lstMain.SelectionChanged for an example.
NOTE A new property is now required within the project’s Session: GraffitiSuiteInstances As Dictionary This property allows each class of GraffitiSuiteWeb to track whether or not it’s dependencies are currently in use by another instance of the class before unregistering those dependencies. This implementation greatly improves stability in regards to jQuery.
ADD GraffitiWebCalendar
ADD GraffitiWebChart
ADD GraffitiWebSyntaxEditor
ADD GraffitiWebTooltip
ADD GraffitiWebWall
ADD GraffitiWebPopupMenu now has an AllowAdd property which causes it to behave more like a ComboBox.
ADD GraffitiWebPopupMenu now has a Text property. This property is read-only unless the control is in AllowAdd mode.
ADD GraffitiWebPopupMenu now displays a proper disabled state.
ADD GraffitiWebPopupMenu now has a ReadOnly property.
ADD GraffitiWebFieldMask demo now shows setting text programmatically.
ADD GraffitiWebDatePicker now has a ReadOnly property.
ADD GraffitiWebAlert now has animated CSS Icons for various types, when shown without a WebContainer.
ADD GraffitiWebGrid now has a GetRow() method.
ADD GraffitiWebGrid now has a UpdateCell() method for changing values programatically.
FIX Removed unnecessary “debugger;” and “console.log()” commands from Javascript code.
FIX Removed extraneous CSS from GraffitiWebAlert.
FIX GraffitiWebAccordionNav now properly set scrollbars when the content is too large for the display.
FIX GraffitiWebCurrencyField now honors Enabled and Visible properties.
FIX GraffitiWebDatePickerLocale now properly honors WeekMin property.
FIX GraffitiWebDatePicker now displays properly in IE11.
FIX GraffitiWebDatePicker now handles the Enabled property.
FIX GraffitiWebDatePicker no longer throws an error when calling the Hide() or Show() methods.
FIX GraffitiWebDatePicker should no longer be filled with ‘NaN’ when it is shown without a default value.
FIX GraffitiWebDatePicker should no longer be filled with ‘NaN’ when deselecting all dates in Multiple mode.
FIX GraffitiWebDatePicker once again properly sets ValueMultiple in Range mode when only one date is selected.
FIX GraffitiWebEditor Header and Paragraph elements no longer inherit height.
FIX All UI controls should now appear in the TabOrder selection dialog.
FIX GraffitiWebProgressBar no longer throws an error when setting backcolor before jQuery is loaded.
FIX GraffitiWebProgressBar no longer throws an error when setting the progress value under certain circumstances.
FIX GraffitiWebProgressBar now ensures libraries are loaded before instantiation.
FIX GraffitiWebPopupMenu should now properly set its z-index when shown on a dialog.
FIX GraffitiWebPopupMenu should now properly resize.
FIX All classes now properly load and unload dependencies.
CHANGE GraffitiWebEditor now pulls primary JS from a CDN.
CHANGE GraffitiWebEmailValidator now pulls primary JS from a CDN.
CHANGE GraffitiWebFieldMask now pulls primary JS from a CDN.
CHANGE GraffitiWebPopupMenu now pulls primary JS from a CDN.
CHANGE GraffitiWebQR now pulls primary JS from a CDN.
CHANGE GraffitiWebSignature now pulls primary JS from a CDN.
CHANGE GraffitiWebSlideshow now pulls primary JS from a CDN.
CHANGE GraffitiWebToggle now pulls primary JS from a CDN.
CHANGE Updated all classes to use protocol agnostic CDN URLs (where available).
CHANGE GraffitiWebColorPicker now uses the Minicolors jQuery plugin to support transparency and inline selectors.
CHANGE GraffitiWebAlert now uses the Noty jQuery plugin to improve display and increase support for ContainerControls and log messages.
CHANGE GraffitiWebQR source changed to jquery.qrcode.js
CHANGE All classes now fail more gracefully. They present red text indicating the failure on the page, and also log to console.
CHANGE All classes now keep track of how many instances are currently in us by way of Dictionary on the Session object (GraffitiSuiteInstances).
REMOVED GraffitiWebQR no longer supports color selection.

Release 17 #

NEW Added GraffitiWebFieldMask
NEW Added GraffitiWebFontAwesome
NEW GraffitiWebGrid now tracks what rows are currently being displayed in the Viewport via RenderedRowTop and RenderedRowBottom.
NEW GraffitiWebAccordion now exposes the ToggleItem method for expanding and collapsing containers.
NEW GraffitiWebDatePicker now supports language customization using the GraffitiWebDatePickerLocale class.
FIX GraffitiWebToggle no longer throws Exceptions on jQuery related code to control visibility options.
FIX GraffitiWebTabPanel Should no longer improperly display a scrollbar under certain circumstances.
FIX GraffitiWebGrid should now resize properly in all instances.
FIX GraffitiWebAccordion should no longer throw assertions when adding an item before jQuery has loaded.
FIX GraffitiWebAccordion no longer includes a broad CSS rule that hides all INPUT elements within the accordion’s containers.
FIX GraffitiWebAccordion now properly honors the Expanded property when constructing the interface.
FIX GraffitiWebEditor updated to jqte 1.4.0
FIX GraffitiWebEditor now properly sets text when the Text property value is changed.
FIX GraffitiWebDatePicker should no longer throw an OutOfBoundsException in the ExecuteEvent() event under certain circumstances.
FIX GraffitiWebToggle now exposes a Shown() event.
FIX GraffitiWebToggle should no longer throw occasional Exceptions regarding jQuery.
FIX GraffitiWebDatePicker once again properly sets the Value() property when a new date is selected in Single mode.
FIX GraffitiWebDatePicker now exposes the UpdateMultipleValues( CSVDates as String ) method for updating the display.
FIX GraffitiWebDatePicker now properly sets multiple and range dates on load.
FIX GraffitiWebDatePicker now properly sets multiple and range value classes in the display when the calendar is shown.
CHANGE Demo now uses an animated arrow to draw attention to the View Demos button.

Release 16 #

NEW Added GraffitiWebFavIcon
NEW Added GraffitiWebSignature
NEW GraffitiWebAccordionNavItem now has a Tag as Variant property (Report ID: 1873).
NEW GraffitiWebAccordionNav now has a RemoveAll method (Report ID: 1875).
NEW GraffitiWebAccordionNav now has a AddChildToItem method (Report ID: 1874).
NEW GraffitiWebToggle now implements a Visible property (Report ID: 1877).
FIX GraffitiWebAccordionNav’s Remove() method now properly updates the view.
FIX GraffitiWebEditor no longer fails with JS error “$ is not defined” due to setting Text property before class is shown.
FIX GraffitiWebEditor no longer throws OutOfBoundsException when Break On Exceptions is enabled and the field’s text is empty.
FIX GraffitiWebEditor no longer supports resize. This is a temporary adjustment until a more intuitive system can be established.
FIX GraffitiWebAlert no longer throws assertions when attempting to Alert on Page.Shown, instead, this call is ignored. All calls should be made after the GraffitiWebAlert class is instantiated, not the page.
FIX GraffitiWebAccordion no longer improperly references GraffitiWebAccordionNavItem in the Item_Find and Item_Remove methods.
FIX GraffitiWebPopupMenu should now resize properly.
FIX GraffitiWebEditor should now resize properly.
FIX GraffitiWebEditor should no longer scroll off or change size inappropriately.
FIX GraffitiWebEditor no longer loses data assigned to the Text property in the IDE.
FIX All classes now load dependency scripts from files stored on the server [REQUIRES BUILD STEP].
CHANGE GraffitiWebPopupMenu’s Items() array and UpdateOptions() method are now exposed to allow more manual control.

Release 15 #

FIX GraffitiWebToggle now supports varying width and height. (Report ID: 1840)
FIX Removed calls to LogMessage function of pgeDemo from GraffitiWebGrid.UpdateOptions.
FIX GraffitiWebGrid now properly handles passed date objects regardless of locale.
FIX GraffitiWebGrid no longer throws exceptions on “Slick” not found when libraries load long before the control is shown or vice-versa.
FIX GraffitiWebEditor no longer throws exceptions on “jqte” not found when libraries load long before the control is shown or vice-versa.
FIX GraffitiWebSlideshow now uses images hosted at GraffitiSuite.com to avoid 404s.
FIX GraffitiWebColorPicker no longer throws exceptions on “colorpicker” not found when libraries load ling before the control is shown or vice-versa.
FIX GraffitiWebGrid now properly converts foreign dates for display. (Report ID: 1843)