Home ARBP Blogs and Opinions Review: FGSourceList

Review: FGSourceList

Open as PDF  Print Version
16 Oct 2010 bob.keeney  
avatar
 
 

Views: (516)
Replies: (0)
Votes: (0)
Favorited: (0)
Figa Software released a new control called FGSourceList that replaces their old AppleListbox control.  The FGSourceList is a listbox subclass that makes it easy to create sidebar controls that are indistinguishable from native Apple applications.

FGSourceList in Mac OS X
iTunes Mac OS X
FGSourceList in Windows
iTunes Windows
FGSourceList in Ubuntu Linux
iTunes Linux


It's a Matter of Style
FGSourceList supports three styles out of the box:  Finder, Mail and iTunes.  Each, as you would expect, does things a little differently as according to the how Apple has deemed them.  The default style is Finder.

Badges?  We don't need no stinkin' badges

One of the features that FGSourceList does really well is the ability to use badges.  Badges are those small color circles with a number in them indicating, like in Apple Mail, how many unread messages are in a mailbox.  FGSourceList lets you specify the badge color.  For large numbers, the badge resizes accordingly.

The Icon of My Eye
Another feature for many sidebar applications is having a custom button to perform an action.  FGSourceList handles this easily, through the use of the Icon property.  This is a standard image file that must be 16 x 16 pixels.

An eject icon is available for Mac OS X.  If one is needed for other platforms you could easily add your own via the icon property.

Levels of Organization
FGSourceList, since it's a subclass of the listbox, handles hierarchical data really well.  You don't have to track the collapsing and expanding rows of the listbox like you do using the standard REALbasic listbox.   

It is limited to three layers deep so it may not be practical for all applications.  The reason for the limitation is that it follows the Apple Human Interface Guidelines.

Event Planning
FGSourceList handles most of the tedious things for you.  You do get notified when things change though.  Your application can deal with Custom button clicks, eject button clicks, double-clicks, and Selection changes as they occur.

Using It
Adding sections to the FGSourceList is easy.  Using the AppendSection method you name the section and indicate whether it is collapsable and if children can be reordered.

lbSideBar.AppendSection "SECTION ONE", false, false

Children are added by creating a new FGSourceListItem and setting its properties.

dim oItem as new FGSourceListItem
oItem.Name = "Child One"
oItem.ShowBadge = true
oItem.BadgeColor = &cFF0000
oItem.BadgeCount = 12345
oItem.Icon = Home


And then you append them to the control by referencing the section name.

lbSideBar.AppendItem(oItem, "SECTION ONE")

Some Drawbacks
FGSourceList isn't perfect.  If you drag a listbox on to your window and then change it's super to the FGSourceList, it will retain the UseFocusRing property (which, by default is true).  If you drag it to your window from the Project Controls list it does not.  Since this property is not in the properties list you need to set this via code.

The process of adding items to a section is a potential cause of errors since you are adding and referencing sections by name.  Ideally I would like to get the object back from the initial AppendSection and then append items to it.  So rather than the way it works now I would prefer something like this:

dim oSection as FGSourceSectionItem
oSection = lbSideBar("SECTION ONE", false, false)

Dim oItem as new FGSourceListItem
oItem.Name = "Child One"
oItem.ShowBadge = true
oItem.BadgeColor = &cFF0000
oItem.BadgeCount = 12345
oItem.Icon = Home

oSection.AppendItem oItem


This a minor complaint, though, as the class has many capabilities and is very powerful.

Requirements
FGSourceList works on Mac OS X and Windows and works with Personal, Professional, and Enterprise editions of REAL Studio.  While the documentation says very little about Linux, in my brief testing with Ubuntu it appeared to work okay, but with some noticeable visual glitches in the badge drawing.  Whether this is a bug with FGSourceList or with the REALbasic implementation of listboxes in Linux is unknown.

Purchase Information
You can obtain the encrypted source code for £20 ($33).  The full, unencrypted source code is available £100 ($161).  ARBP members can save £20 ($33) by using the Coupon Code available in the members discount pages.

Example projects and documentation can be found at http://www.madebyfiga.com/fgsourcelist/.


Conclusion
The FGSourceList control is a fine addition to the arsenal of tools available to the REALbasic developer.  The inexpensive price makes it affordable for all developers and the very reasonable price for the full source code of the control should make experienced developers comfortable with it as well.
 
Tags: FGSourceList (1) , 3rd party controls (1) , review (2) , listbox alternatives (1) Add Tags
 

Comments

There are no comments for this item

Be the first to leave a comment

Login to leave a comment

 

ARBP Members Login

This Sign In is for registered ARBP members only. Please read the information on this page to discover the benefits of membership.



To start accessing the ARBP site you only have to register. After that you can purchase any of the memberships to unlock additional content.

Purchase REALbasic