Search icon Looking for something?

Looking At GUI Libraries: Spotlight On Infragistics
2008, Q1 (June 18, 2008)
By Natalie Flowers, Carolina Chapter Member

Infragistics NetAdvantage
Infragistics NetAdvantage
As a Graphical User Interface (GUI) programmer, I have many interface development tools to choose from. Over the years, my development environment changes to accommodate my needs. This often includes learning new languages and the tools that go with them.

My group recently decided to re-evaluate our GUI library after discovering some problems “under the covers” with what we had been using. When reviewing the many commercial and open-source GUI libraries, we considered cost, flexibility, presentation, and control within the library. So after some soul-searching and, more importantly, budget allocation, we ended up settling on the Infragistics NetAdvantage library.

First of all, what exactly is a GUI library? A GUI library is made up of various interface pieces, also known as "controls." Whenever you see an application, you can literally pick apart the components until there is nothing left. If you pick apart Microsoft Word, you will see a set of controls that include an editor, toolbars, a status bar, menu bar, and so on. Similarly, in Outlook Express, you see a tree (Inbox, Outbox and other folders), a table (where the "e-mail subject" and "from" reside), a text box (where the e-mail preview resides), toolbars, and menus.

What kinds of controls are of interest depends on the project. When choosing Infragistics, I was most concerned with the following features:
  • Docking capabilities (for example, dragging a window that is attached to the left edge of the window and attaching it to the right edge of the window)
  • Tab controls (for example, Internet Explorer now allows multiple tabs, each containing a different web page)
  • Tree controls (for example, folders within folders, like in Windows Explorer)
  • Exporting formatted data to Microsoft Excel and Word.

With over 60 controls, the Infragistics NetAdvantage library gives programmers the ability to design an entire program while maintaining a uniform look and feel to the application; there's no need to purchase separate smaller GUI libraries. The slick, professional appearance also suits our next stage of application development.

Here is an overview of a few controls from Infragistics NetAdvantage:


The UltraTree is one of the most powerful tree controls I have used. The power comes from using a classic tree approach coupled with a table. You can insert folders within folders but also separate the information in a tabular manner. This makes the data look neat and organized and is useful when showing multiple attributes. Figure 1 illustrates a simple line-by-line display of information, while Figure 2 illustrates an embedded table.

Figure 1
Figure 1
Figure 2
Figure 2

The UltraTree can take on various styles as well. Figure 1 represents the Outlook Express style. Figure 2 shows a more free-form style allowing the GUI programmer full control. Each subfolder can have its own column headers that don't need to match the parent headers. This is especially important when dealing with non-homogeneous data in which a "one-size-fits-all" approach might not be practical.


The charting capabilities Infragistics provides are extensive. The 25 3-D charts include splines, heat maps, area charts (Figure 3), point charts, cones, pyramids, bar charts, pie charts (Figure 4), and more. The 2-D charts are equivalent to their 3-D counterparts with the addition of charts for statistical, scientific, and financial analysis (Figure 5). The programmer can completely customize each of the charts, including editing labels, positions, types of labels, legends, color schemes, axis positioning, and so on. These customizations add a nice data visualization aspect to an application.

3-D area chart
Figure 3
3-D pie chart
Figure 4
statistical chart
Figure 5


NetAdvantage allows many types of windowing capabilities, but for some applications, it’s nice to allow the users to customize their own workspaces. This is particularly important with modern applications that take a "all-in-one-window" approach: the whole window has multiple panels, with similar functionality grouped into a single panel.

The docking controls allow the user to essentially tear off one of these panels and drag it somewhere else. Often the user needs an indicator for where the new panel will be. As shown in Figure 6, the user tore off a panel that occupied the dark gray area. The blue shadow previews where the panel will be placed when the mouse button is released. When the user releases the mouse button outside one of these arrows, the panel floats above the others and can be dragged around and repositioned.

Dragging a panel
Figure 6

The Infragistics docking control also allows the user's workspace preference to be saved from session to session. Each time the program is reopened, the workspace is restored from the previous session.

Infragistics offers a wide range of other controls that could be useful in future projects: graphs, spell-checkers, web controls, schedulers, editors, and many more. These options are provided with Microsoft Visual Studio (a developer's environment with visual designing capabilities), either for desktop applications or web applications.

My experience with NetAdvantage has been very positive. I feel our applications can really benefit from migrating to this library. Users will find the controls intuitive, and our products will have a sleek new look. The library is very thorough in providing a complete set of controls that cover the full range of needs of a GUI programmer.

Cost Range: $995-1490
Web Site: http://www.infragistics.com

Natalie can be reached at Natalie dot L dot Flowers at gsk dot com. End of article.

More articles like this...
Comments powered by Disqus.