Composite UI Application Block (CAB) Add-on

Syncfusion CAB Add-on v8.3.0.21 (Size: 7 MB)
Composite UI Application Block (CAB) is an architectural framework that provides a flexible and independent approach for developing Windows Forms applications.
It is intended to provide proven practices to build complex UIs based on simpler "parts." The CAB UI framework is designed to improve development speed, ease of maintenance, reliability, and re-usability in large Windows Forms applications. CAB is built on a new component-based framework that is an extension of the System.ComponentModel namespace.

The CAB core consists of three projects. The first two, CompositeUI and CompositeUI.WinForms, compose the UI-centric portion of the code. The third, ComponentModel, contains the structural classes that make up the backbone of the architecture.

One of the central concepts in CAB is the WorkItem. Each WorkItem represents a single use case. A WorkItem object is a container that holds all of the objects that are required to complete the use case for which it is responsible. These objects could be user controls (called SmartParts in CAB), state containers, or even other WorkItems to handle child processes.
SmartParts are the windows controls that you use to build the UI for an application. They are "smart" because they live within the context of a WorkItem and are self-describing. These can be any type of control, including custom-developed user controls. All you have to do to make a control a SmartPart is to mark the class with the [SmartPart] attribute. The trick is that these parts should be as independent from one another as possible and communicate only through well-known channels. This allows "composing" the application from many such parts and switching them dynamically.
There should be a placeholder where the controls can be placed. In CAB these are called Workspaces. These are special controls that can be put on a form or user control. Then, they will tell the framework to display a SmartPart in a particular Workspace. The following are the types of out-of-the-box workspaces:
Each workspace implements a set of methods and properties that allows you to display and control SmartParts. Related to workspaces, they are SmartPartInfo components that you can put on your SmartPart to provide additional information to the containing workspace.
However, all these elements are hosted in a suitable environment, which is provided by a Shell. It is a root of the non-visual organization of components and it is created by writing a class that derives from FormShellApplication.

Syncfusion Essential Studio consists of several .NET UI libraries providing support for building modern Windows and Web applications using the Microsoft .NET framework. The Syncfusion CAB add-on provides extensible support for working with the CAB easily. It helps developers enhance the look and feel of their application and speed up their development with customizable UIs. The Syncfusion CAB add-on includes the following workspaces and UI elements.

Implements the Docking Manager as a workspace that shows the SmartParts as docked windows. This is implemented based on the Window workspace. Each SmartPart is converted into a Form object and then shows up as a docked window. The DockingSmartPartInfo class defines most of the properties that would be normally accessible in normal Windows Forms designed application.

Implements the GroupBar as a workspace that shows the SmartParts as grouped or stacked windows. The GroupBarSmartPartInfo class defines several properties through which the SmartPart's visual behavior can be changed.

The TabControlAdvWorkspace implements a workspace that shows SmartParts as tabbed pages inside a TabControlAdv. Most of the properties of TabControlAdv have been added to TabControlAdvSmartPartInfo to help in customizing the workspace accordingly. Even TabPrimitives can be added to the TabControlAdvWorkspace through the TabPrimitiveInfo collection found in the properties of the TabControlAdvSmartPartInfo class.

The TabbedMDIManagerWorkspace implements a workspace that shows SmartParts in tabbed MDI forms. A Windows MDI Form is passed as an instance to the TabbedMDIManager. It acts as a container for all the forms that are added in the host MDI parent form and shows them in a tabbed manner. Features like TabAlignment, TabStyle, and others are set through the TabbedMDIManagerSmartPartInfo class.

The Splash Panel Workspace implements a workspace that shows controls with SplashPanel properties. It maintains an internal dictionary list, which contains the list of controls that have been already added to the workspace. The control that is going to be added is converted to a SplashPanel object and then the corresponding properties are applied through the SmartPartInfo object.

The XPTaskPane workspace implements a workspace that shows SmartParts in TaskPages inside the XPTaskPane. It maintains an inner dictionary list, which holds the reference to the list of task pages pushed into the XPTaskPane container. The XPTaskPaneSmartPartInfo class has properties that allow the user to show the SmartPart at the beginning of the XPTaskPane control list. It inherits the SmartPartInfo class and thus provides the basic functionality of this class.

This workspace shows SmartParts in a SplitterContainerAdv control. The SplitterContainerAdvSmartPartInfo class has a property, called PanelSide, that defines on which side of the panel the SmartPart should be shown.

The look and feel of Office 2007 controls can now be included in any CAB project using CAB Add-on UI Elements. This includes the following.
Loading Bar Items in menus can also be done using XML files or objects (refer to documentation). The CAB add-on includes a Bar Item Schema, which defines the structure of the XML file. This enables easy customization and quick structuring of Bar Items.

This workspace shows SmartParts in the Docking Client Panel. The main feature of this workspace is that it will automatically reposition the child controls present in its inner collection when the client changes during docking or undocking operations. Thus, controls placed in this workspace that advantage of a static boundary to implement any required layout management.

The following objects can be registered as an extension site:

The following controls can be registered as an extension site, similar to the registration of Microsoft menu items. Since these controls inherit from the ToolStripItem family, they can be easily used with already defined UI element classes from the CAB architecture.

The CAB architecture is so extendible that any given control can be used as a workspace. The CAB add-on is an extension to this and provides the easy and seamless creation of workspaces that are commonly found when developing large Windows Forms projects. Other Syncfusion controls that can be used are GridControl, GridGroupingControl, and DiagramControl.
| Visual Studio |
|
| Essential Studio |
|
| Framework |
|