Netika Technologies
DemosDownloadsCommunity

What is GOA Toolkit?

Most of the controls used to build the user interface of today applications are controls that manage the display of several items. Lists, menus, tabs, trees, grids, toolbars, combos are controls of this type.

On its own, Silverlight provides the ItemsControl base class to support this kind of controls as well as a few controls of a higher level such as the ListBox control or the ComboBox control.

GOA Toolkit offers a new generation of tools and controls that go far beyond the basic items controls provided within Silverlight: the List Controls.

GOA Toolkit is subdivided into two libraires:

GOA Essentials

GOA Essentials holds all the classes needed to build highly advanced List Controls:

  • Panels: GStackPanel, GDockPanel, GCanvas.
  • The ListControl control and its ancestors.
  • Related controls such as Sizers, ContentPresenters or LocatedBorders.
  • Related classes that work with the ListControl and the panels: KeyNavigator, Staters, DropDown.

The ListControl is the core element of the GOAEssentials library. By applying styles to this control, you can render a large set of various controls: from the tabs to the trees, from the lists to the combos or from the menus to the toolbars.

GOA Open

While GOA Essentials provides the bricks to build your controls, GOAOpen provides the plans.

GOA Open offers an extensive set of styles (the plans) and a way to easily manage and access them.

GOAOpen is provided with the full source. Therefore you can easily:

  • Learn the way to build GOA styles.
  • Build your own styles by “mixing” or modifying the existing styles.
  • Remove existing styles that you do not intend to use to free some space.
  • Add your own custom features.

Unique Structure of Controls

As all the controls are build the same way and inherit from the same base control, the learning path is quite efficient. Once you know how to create a menu, you can use the same skills to create a completely different control such as a tree.

Furthermore, all the controls you use have access to all the features.

Need an animation? They are available in every controls.

Flexibility

As all the controls share the same structure, you can easily refractor the user interface of your application. For instance, you can easily move from menus to toolbars or the opposite.

You can prototype the interface of your application using “simple” controls and add complexity as you need it. For instance, at the beginning of prototyping your application, you can use a simple TabStrip with a few tabs. Then when the number of tabs grows, you an add an overflow dropdown which will manage the exceeding tabs. If you still need more complexity, you can add nodes inside the tab control and it becomes a TabTree.