The Main Application View
 
Cuberry’s Main Application View consists of two main components the MainRegion and MainMenuControl which includes the Main Menu, the Sub Menu and the FindRegion:
  • The Main Region is a placeholder for the detail data with is controlled by the FindView
  • Main Menu Control with:
    • The Sub Menu Items (in a ListView)
    • The FindRegion
    • The Main Menu Items (as Buttons in a StackPanel)

The two regions (MainRegion and FindRegion) are dynamically filled with controls from the selected module. A sub menu item always represents one module.

 

The Main and Sub Menu
 
Each sub menu item is coupled with one module. Access permission is given on module base, so users see only those menu items to which they have access rights.

The sorting position of the menu items can be set up in the Module Manager module. Main and sub menu labels are customizable. This can also be done with the Module Manager or directly in the XAppResoucrces table.

The menu items are organized in two tables: MenuMainMenu and MenuSubMenu.
 
Sub menu icons are included in the P2.Cuberry.Framework.Layout assembly and can be configured in the MenuSubMenu table. Currently there are five icons available: Book.png, BookLila.png, Group.png, Reports.png and UserGroup.png.

User access rights which show or hide menu items are managed in the tables: XSecUser, XSecUserGroup and XSecUserRights. More details are described in the Security & Access Permission section.
 
 
The Standard Cuberry Module
 
Basically there is no standard Cuberry module as each module is a little different and has its specialty, but there are some basic components in most Cuberry modules.

Each module has three basic views: the FindView, the ListView and the DetailView.

The FindView

As the name already shows this view is used to set the search critiria which will show in the ListView. The standard FindView has three menu buttons: Find, Clear and Add.

There is also a standard behaviour: Find is fired when pressing the return button on the keyboard and the escape button on the keyboard fires the clear method. 

The add button is deactivated for users with read only permissions.

 

The ListView

The ListView is usually a GridView wich shows the results of the FindView's search critiria and is placed in the MainRegion.

 

The DetailView

The standard DetailView comes with many standard components. The menu bar with its standard menu buttons, showing and hiding user controls depending on the user access permission, the Status Strip and the input validation features.

The standard Menu Bar has five standard buttons: Save, Save & Close, Print, History and Information.

The information button shows who created this entity, when it was created and who updated it and when it was updated the last time.

The history button (not working yet) shows the tracked history of this entity. To activate this feature each field which should to be tracked must be defined first.

There is no limitation of placing user controls in any of  the regions, e.g. in the Reporting module the FindView was replaced by a list of report categories and in the Empty module the FindView is used to demonstrate how to replace the ListView.

 

Cuberry's Standard Components
 
Cuberry offers some helpful components which can be re-used, adapted or taken out of the modules.
 

The P2StatusStrip
 
The Status Strip is a part of each DetailView. It shows the status of the entity and gives feedback to the user when saving or perfoming any action.
The Status Strip is defined in the P2.Cuberry.Framework.Helper assembly.
 

The P2YellowDialog
 
This dialog is used when a user input is needed or if a message should pop up instead of showing it in the Status Strip.
This dialog can also be found in P2.Cuberry.Framework.Helper.
 

The P2TransactionMessage
 
When updating an entity more than just a feedback is needed, e.g. the information if an action was successfull or if it failed. Therefore the Transaction Message was created. With is we can transport more information in one object.
 
 
The P2TransactionStack
 
The Transaction Stack is a collection of Transaction Messages. It is used in all modules to collect the messages when changes are made to an entity.