GraffitiAccordion

Images #

About #

GraffitiAccordion allows for easy and compact representation of UI elements within container controls (access to ContainerControls is required for GraffitiAccordion).

Features:

  • Drawing events for greater customization
  • Includes a Scrollable ContainerControl
  • Definable custom colors
  • Automatically handles placement of containers at runtime
  • Smooth animation
  • Custom element placement
  • Single or multiple view

Enumerations #

Name Values
This class exposes no enumerations.

Constants #

Name Type Value

This class exposes no constants.

Events #

Definition Description
DrawItemBackground(g as Graphics, item as GraffitiAccordionItem, _
byRef headerBounds as REALbasic.Rect) as Boolean
Raised when drawing the item header’s background.
DrawItemExpander(g as Graphics, _
item as GraffitiAccordionItem, _
byRef bounds as REALbasic.Rect) as Boolean
Raised when drawing the item header’s expander icon.
DrawItemText(g as Graphics, _
item as GraffitiAccordionItem, _
byRef bounds as REALbasic.Rect) as Boolean
Raised when drawing the item header’s text.
ItemClick(item as GraffitiAccordionItem, _
X as Integer, _
Y as Integer) as Boolean
Raised when the user clicks an item’s header.
ItemCollapsed(Item as GraffitiAccordionItem) Raised when an item has been collapsed.
ItemExpanded(Item as GraffitiAccordionItem) Raised when an item has been expanded.
ItemMouseEnter(item as GraffitiAccordionItem) Raised when the mouse enters the header of an AccordionItem.
ItemMouseExit(item as GraffitiAccordionItem) Raised when the mouse exits the header of an AccordionItem.
ScrollUpdate() Raised when an item is expanded, collapsed, added or removed. Use this event to update your scrollbar.

Methods #

Definition Description
AddItem(newItem as GraffitiAccordionItem) Adds a new item to the accordion.
CollapseAll() Collapses all accordion items.
ExpandAll() Expands all accordion items.
InsertItem(index as Integer, newItem as GraffitiAccordionItem) Inserts a new item at the given index.
Item(index as Integer) as GraffitiAccordionItem Returns the item at the specified index.
ItemCount() as Integer Returns the number of items currently added to the accordion.
RemoveAll() Removes all items from the accordion.
RemoveItem(index as Integer) Removes the item at the given index.

Properties #

Name Type Default Value Description
Animated Boolean True If False, panel expanding and collapsing will be immediate rather than linearly animated.
AnimationTime Integer 250 Time in milliseconds that panel changes will animate when Animated = True.
BackColor Color &c000000 The background color of the control.
Bold Boolean False Determines whether the accordion items are shown with bold text.
BorderColor Color &c000000 Determines the border color of the class when UseCustomColors is True.
HeaderHeight Integer 20 The height of the accordion items.
Italic Boolean False Determines whether the accordion items are shown with italic text.
ItemBackColor Color &c000000 Determines the background color of header items when UseCustomColors is True.
ItemBackColorOver Color &c000000 Determines the background color of header items that the mouse is hovering over when UseCustomColors is True.
ItemBackColorSelected Color &c000000 Determines the background color of header items that are currently selected when UseCustomColors is True.
ScrollMax Integer 0 The maximum scroll value.
ScrollPosition Integer 0 The current scroll value.
TextColor Color &c000000 Determines the color of the text when UseCustomColors is True.
TextColorExpanded Color &c000000 Determines the color of the header text when the item is expanded.
TextColorOver Color &c000000 Determines the color of the text when the mouse is hovering over items and UseCustomColors is True.
TextFont String “system” The font used to draw the text for the items.
TextSize Integer 0 The size of the text used to draw the items.
TextUnderline Boolean False Determines whether the accordion items are shown with underlined text.
UseCustomColors Boolean False Draws items using the defined colors in the class’s properties.

Examples #

Updating ScrollBar #

Use the ScrollIUpdate event to update your scrollbar’s value and maximum.

scroller.Maximum = me.ScrollMax
scroller.Value = me.ScrollPosition