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.
|