Introduction
One of WebToolBar most powerful features is its ability to imitate the command button's behavior of common Desktop's Application. This section will illustrate the architecture of WebToolBar corresponds to its Command Types.
WebToolBar's Architecture
WebToolBar can be placed either inside/outside (standalone mode) a place holder. The advantages of having a WebToolBar inside a place holder is the ability to perform two innovative actions ("merging" and "docking").
In general the Architecture can be represent as follows :
ISNet.WebUI.WebDesktop.PlaceHolderManager
ISNet.WebUI.WebDesktop.WebToolBar
ISNet.WebUI.WebDesktop.ToolCommand
ISNet.WebUI.WebDesktop.CommandType.Button
ISNet.WebUI.WebDesktop.CommandType.ToggleButton
ISNet.WebUI.WebDesktop.CommandType.DropDownButton
ISNet.WebUI.WebDesktop.WebMenuItem
ISNet.WebUI.WebDesktop.CommandType.SplitButton
ISNet.WebUI.WebDesktop.WebMenuItem
ISNet.WebUI.WebDesktop.CommandType.Separator
ISNet.WebUI.WebDesktop.CommandType.Custom
ITemplate
ISNet.WebUI.WebDesktop.CommandType.Container
(ISNet.WebUI.WebDesktop.WebToolBar)
Merging
WebToolBar implements unique merging capabilities which allow you to merge bars contained in a different page (typically inside IFrame) into parent WebToolBar contained in parent window. The merging feature enables a better scalability to your application design, where you can define the WebToolBar's items specific to a module inside that Page, instead of defining every functions in the same parent Page. This approach also solved extensibility issues where page developers can work and extend their own modules without has to modify the parent container Page.
There are two type of merging :
- Bar Merging
In Bar Merging we merge another WebToolBar (let say WebToolBar2) from another page into PlaceHolderManager where WebToolBar1 resides.
WebToolBar1 (Parent)
WebToolBar2
Merged WebToolBar
- Command Merging
In Command Merging we merge another WebToolBar (let say WebToolBar2) from another page into WebToolBar1 CommandType which type of Container.
WebToolBar1 (Parent)
WebToolBar2
Merged WebToolBar
Docking
WebToolBar also has Docking Capability just like the common Desktop Application's ToolBar. To enable the Docking Capability we need to Integrate the WebToolBar with PlaceHolderManager (see PlaceHolderManager Concept).
Command Types
As you can see from the Architecture above, WebToolBar has built-in command types which use to imitate the original behavior of ToolBar in Desktop's Application. Those built-in command types are :
- Button
Button Type is the most common type in any ToolBar. It simply represent a button behavior in toolBar. - ToggleButton
ToggleButton is a button that has select and unselect state. This type of button can be either used in a group of toggle buttons (linked with Toggle's GroupName) or act in SingleMode.
Usually a SingleMode ToggleButton is used for as a flag to set active/inactive of certain state. On the other hand a GroupMode ToggleButton is used as a selection from several states that included in the Toggle Group. - DropDownButton
DropDown Button consist of sub items (Collection of WebMenuItem) where each of sub items then can have it owns action - SplitButton
Similar with DropDown Button, it consist sub items (Collection of WebMenuItem), however unlike DropDown Button, the SplitButton's parent command can also have it own action. - Custom
Using the ITemplate to design the custom command type for WebToolBar ensure the flexibility to use any control(s) to represent a command type in WebToolBar - Container
One of key features of WebToolBar is ability to merge two or more WebToolBars inside a given WebTolBar, this can be achieved using Container Type where it will act as the container for the merged WebToolbar