Release 30 Now Available

JOHNSON CITY, TN (October 22, 2019) — GraffitiSuite is pleased to announce the availability of GraffitiSuite Release 30!

“Release 30 is a monster,” according to Anthony G. Cyphers, Sole Proprietor of GraffitiSuite. “The primary focus in this release has been getting the Desktop components theme-aware so that customers can leverage dark mode on target platforms, and I think this was successful. This is, without question, the largest Desktop release of GraffitiSuite in the last 16 years.”

== Desktop Edition ==
14 new classes
– GraffitiAnimator: Easily incorporate eased, time-based animations in to your UIs.
– GraffitiCard: Display important data in a beautiful format, with a call-to-action button.
– GraffitiColors: Incorporate theme-aware coloring in your UI for Windows and macOS, or choose from pre-defined palettes like Bootstrap, Material, named colors, and more.
– GraffitiDrillMenu: Replace those tired old treeview controls with a powerful and amazingly attractive drill-down style menu component.
– GraffitiImmersiveWindow: Add dark mode support for Windows, complete with an AppearanceChanged event for both macOS and Windows.
– GraffitiImmersiveLabel: Drop-in replacement for the standard Label with added dark mode support for Windows.
– GraffitiImmersiveTextField: Drop-in replacement for the standard TextField with added dark mode support for Windows.
– GraffitiImmersiveTextArea: Drop-in replacement for the standard TextArea with added dark mode support for Windows.
– GraffitiListbox: Drop-in replace for the standard Listbox with dark mode support, menu headers, and enhanced hover effects.
– GraffitiNSImages: Easily get Picture representations of macOS System images such as NSMagnifyingGlass, or NSFontPanelActionButton.
– GraffitiOptionBox: Build a CheckBox or RadioButton that you’d be proud of with customization, or stick with the defaults for a better-looking modern alternative.
– GraffitiPagination: Give your users a better paging experience with this theme-aware, highly customizable paging control.
– GraffitiPopupMenu: A drop-in replacement for the standard PopupMenu with support for custom value drawing, multiple columns, and it’s theme-aware!
– GraffitiWall: Powerful stream-like component for displaying ContainerControls filled with info. Perfect for dashboard UIs.
32 other additions in functionality
68 bug fixes

== Web Edition ==
28 Functionality additions
73 bug fixes
2 library version updates

For a full overview of changes in this release, please visit the changelogs at https://graffitisuite.com/wiki/doku.php?id=changelogs:r30.

View the October 2019 Newsletter at https://mailchi.mp/a583c0570fa6/graffitisuite-newsletter-october-2019

ABOUT GRAFFITISUITE
GraffitiSuite is an ever-expanding set of classes for Xojo Desktop and Web targets that aims to both ease development and provide access to advanced features and user interface concepts without unnecessarily complicating your project code.

ABOUT GRAFFITISUITE SOLUTIONS
GraffitiSuite Solutions is a software development consulting firm based in Johnson City, TN, and has been providing custom Xojo development, components and solutions since 2003.

See https://graffitisuite.com/ for more information.

From Anthony: Let’s Talk API 2.0

Xojo 2019R2 is here! API 2.0 is here! Wait, what does that mean for GraffitiSuite? In short: Nothing right now! GraffitiSuite compiles without modification!

Continue reading →

From Anthony: Animating Xojo, Part 4

In Part 1 we covered the history of animating UI effects in Xojo. Part 2 we dug in to linear interpolation. Part 3 saw the addition of support for concurrent animations and color changes. In Part 4 we’ll cover easing, which can make the most drab User Interface interactions beautiful.

Continue reading →

From Anthony: Animating Xojo, Part 3

In Part 1 we covered the basic history of animating in Xojo using pre-calculated chunks to modify the width of our component. In Part 2 we went a bit further by using linear interpolation(lerp) to calculate our current width at each step of the animation process, and setup for concurrent animation.

In this part we’ll be covering a few different things, chiefly concurrent animations. But that’s not all, as I’ve added a lerpColor function to show you how to animate color changes.

Continue reading →

From Anthony: Animating Xojo Part 2

Continuing with what we previously learned, this version introduces the use of linear interpolation to calculate the current stage of the animation at each step, plus switching to a Dictionary object for variable storage to setup for future parts in this series.

Continue reading →

From Anthony: Animating Xojo

One of the fun things I get to do regularly is build animations in to Xojo desktop components. While incredibly rewarding when you get it right, it can be a long road.

Continue reading →

From Anthony: The Future of Xojo

One of the most common questions I get about Xojo from customers is “Do you think Xojo will stick around?” Sometimes I get ahead of myself and immediately think “Of course it will”. That’s not really the type of answer they’re looking for, so I try to elucidate.
Continue reading →

OmegaBundle 2019 for Desktop Now Available!

Get the top developer tools and third party components for the Xojo cross-platform development platform at a huge savings with Omegabundle for Xojo 2019.
Omegabundle for Xojo 2019 is a collection of the most useful tool sets, add-ons, digital books and components for use with Xojo Inc’s Xojo development environment. If purchased separately and not including any additional offers, the total cost would be over $2,787. Omegabundle for Xojo 2019 costs $349.
Xojo is an award-winning, cross-platform development tool for the Desktop (OS X, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn.

Continue reading →

From Anthony: Xojo IDE Scripting

Background

Today I had the need to develop a method by which GraffitiSuite users could determine what version of GraffitiSuite a particular product was taken from. Normally I go through the rigmarole of telling them to follow these steps:

  1. Open the demo project
  2. Expand the App object
  3. Expand the Notes section
  4. Select “ChangeLog”
  5. The top line is the version

But a customer pointed out that this can be a fairly big ask when GraffitiSuite is so expansive. Coupled with that, as I thought more about it, once you take a product from the demo and add it to your project you really have no way of discerning what version that particular product is! So I needed something better. Something that stayed with each product, regardless of what project it was in. Enter IDE Scripting.

My plan was to add a Constant or Note for each part of GraffitiSuite that can be easily updated. Browsing through the documentation I saw a lot of listed caveats.

Continue reading →

News is Back!

A couple of years ago, with the move to social media for most of our public communication, we decided to essentially kill the News section of the site. Now — with the current state of the community (and social media), and our revived effort to put out newsletters regularly — we’ve decided to resurrect this section.

Our News section will become a place for announcements, insights, and other community-related topics. We look forward to informing you!

— Anthony