Release 10.1A: OpenEdge Development:
Progress Dynamics Getting Started

> ## Creating item categories

> | To build the toolbar:

> 1. Choose Build Toolbar and Menu Designer from the AppBuilder main window. The ToolBar and Menu Designer appears:

> For this sample application, you use the Toolbar and Menu Designer to define some menu items and insert them into your menu window. You can browse a bit through the toolbar buttons and menu items that are part of the framework tools themselves by expanding the Item Categories, Bands, and SmartToolbar nodes in the tree.

> 2. Select ds-general in the Module combo box. There are many predefined menu elements already in the Repository for the framework’s use. Filtering the TreeView to a single module improves its performance. This also ensures that your menu elements are conveniently grouped when they are stored in the Repository.

> The first subnode under Toolbar & Menu Designer is Item Categories. Items are all the individual elements of a Menu and/or Toolbar. In a menu, an item can be visualized as a menu item with a label. It can also simply be a label or a separator. In a toolbar, an item is represented as a button with either a text label or a bitmap. If an item is not just a label or a separator, it is associated with an action that occurs when it is selected. Categories are just a way of organizing items so that you can find them more easily. The framework organizes its items under categories such as Navigation and Commit.

> 3. Right-click the Item Categories node and choose Add Category from the pop-up menu that appears. A Category update page appears on the tab folder, as shown:

> t

> 4. Set the values in the following table on the update page, and leave the other settings at their default values:

> Field | Value
> --- | ---
> Category label | DynSports
> Description | DynSports menu items
> System owned | Unselected

> You should leave the System Owned option checked only for items that the framework itself depends on. This option prevents anyone from changing the behavior of the tools without special user privileges. Clear this option for all other menu objects, as shown:

> The update page is just a tab folder window like those you created. The dynamic windows you have built are realized at run time by one procedure (`rydyncontw.w`). This procedure reads all the related records out of the Repository and builds a dynamic window based on them.

> The TreeView layout has its own dynamic window builder procedure (`rydyntreew.w`). The procedure reads the same data out of the Repository and builds a different visualization from it, in this case a frame that appears inside the larger TreeView window. This is an example of the flexibility of a Repository-based application: different programs can render the same data differently without needing any changes to the data itself. Your application can take on a new look just by creating a new procedure to interpret the data.

> 5. Choose Save.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095