Visual Studio Interfaces

This topic describes the common Visual Studio tool windows used by System Modeler. Refer to the Visual Studio Online Help for more information on the development environment.

Use the View menu to display these windows in your Visual Studio environment.

Solution Explorer

Solution Explorer displays a tree structure view of all the versionable files in your model and project files of the AB Suite Client Framework applications such as, the DataModels project for all the client technologies, DataViewModels, Data Sources, and Views project for the WPF Client technology.

When an element is versionable, it means that it can be stored under Source Control in the Source Control Bank.

Versionable elements are model elements that can be added to a Source Control Bank, and be maintained under source control. To leverage Visual Studio Source Control Services, you must use Team Foundation Server (TFS).

From Solution Explorer you can rename a version file and elements. Use the refresh button to refresh the state of the items in the selected project or solution.

Class View

Class View displays the elements in the application you are developing. You can open Class View from the View menu. There are two panes in the Class View; an upper Objects pane and a lower Members pane.

Objects pane: It contains an expandable tree of classes whose top-level node represents the model database. The Classes, Folders, Diagrams, Primitive Classes, and Dictionaries are displayed in the Objects Pane. To expand a node selected in the tree, click the plus (+) sign or press the plus (+) key on the keypad.

Members pane: It displays the other elements, Attributes, Profiles, Methods on selection of the owner from the Object pane.

Although Attributes appear in the Members pane, they can appear in the Object pane (as a Class), which have the Primitive property set as Class and when any of the following conditions are met:

The elements in the class view are sorted or grouped based on Name, Kind, and Visibility using the right-click shortcut menu options, Sort Alphabetically, Sort By Object Type, Sort By Object Access. The members of the classes can also be organized based on Name, Kind, or Visibility properties.

You can use Class View to add, delete, and open the elements in the editor and navigate to them directly.

Class View Toolbar Options

The Class View toolbar allows you to navigate within the Objects and Members panes. You can select a particular view of hierarchy tree and specify the elements that you want to display in Class View using Class View Settings menu. The following options are available in Class View Toolbar:

Refresh

This option ensures that the latest details of an element are retrieved from the model database.

New Folder

This option creates a new folder or subfolder into which you can drag other elements for easy access. It is useful for organizing frequently used elements.

Refer to Exploring the Agile Business Suite Elements for more information on working with folders.

Back

This option allows you to navigate to the previously selected element. Keep clicking this button to navigate through previously selected elements until you reach the first element browsed. The Back button moves through a history list of previously browsed elements in Class View.

Forward

This option is activated when you click the Back button. It allows you to navigate to the next element selected. Keep clicking this button to return to the most recent element selected. The Forward button moves through a history list of previously browsed elements in Class View.

Class View Settings

The Class View Settings option on the Class View toolbar displays a menu from where you can choose a particular view of the hierarchy tree for the model database, and specify which of the available elements will be displayed. Following options are available in Class View Settings. Some of these options are also available from shortcut menus in the Objects and Members panes.

Class View Panes

The members of the class view are organized across two panes:

Objects Pane

The Objects pane displays an expandable tree of classes whose top-level nodes represent the model database. If you select an element in the Objects pane, its members are displayed in the Members pane, and details of the element appear in the Description pane. Refer to Object Browser for more information on Description pane. Expanding a class node lists the classes that are defined within it.

The elements that are displayed in Objects pane are:

Objects Pane Shortcut Menu

If you right-click an element in the Class View, the Objects pane shortcut menu is displayed. In addition to the System Modeler options, the following options can appear on this menu, depending upon the element selected.

Members Pane

Members Pane displays the members of the element selected in the Objects pane. The details of the elements selected in the Members pane appear in the Description pane. The elements that are displayed in the Members Pane are:

Members Pane Shortcut Menu

If you right-click a member in the Members pane, its shortcut menu is displayed. This menu allows you to search, sort, and copy members independently from their parent elements. Following are some of the options available in this shortcut menu.

Working with Class View

All elements in the Class View are represented by an icon indicating its kind and visibility. To expand an element and display its members, click the plus (+) sign next to the icon. The elements, when selected display their properties in the Properties window. You can view or edit these properties.

Note: To select multiple elements simultaneously with the Class View, press the SHIFT or CTRL keys as you click on them. This allows you to drag-and-drop groups of elements.

Synchronizing an element with the Class View

The Class View updates its contents automatically to reflect the changes. This enables you to select any element in the editor and locate it instantly in the Class View hierarchy.

The Class View is synchronized with a selected element in another view such as the Members list, Search result List, and Diagrams, which displays elements.

To synchronize a selected element, perform the following:

  1. Right-click the selected element in the editor.

  2. Select Synchronize Class View option.

The element is selected in the Class View.

You can also select Synchronize Class View option from the Edit menu.

Notes:

  • The Synchronize Class View option is also available in the Quick Navigator window when you right-click an element.

  • If an element exists in multiple Folders or Dictionaries, then the instance of the element is highlighted in the folder in which it appears.

Finding all References of an Element

To find all references of a selected element, perform the following:

  1. Right-click the selected element in the class view.

  2. Select the Find All References option.

    The list of the possible result is displayed in the Find Symbol Results window.

  3. From the Find Symbol Results window, you can view the following results:

    • Dependencies – Displays the elements that are dependent on the selected element.

    • Inheritance – Displays all the elements that are inherited from the selected element.

    • Logic Reference – Displays all the logic referenced to the selected element.

    When you click on the item in the displayed list, it navigates to the desired location. For example:

    • Dependencies – Navigates to the dependencies tab of the selected element. Simultaneously the selected element is synchronized in the class view.

    • Inheritance – Navigates to default tab of the inherited element. The inherited element is simultaneously synchronized in the class view.

    • Logic Reference – Navigates to the logic editor and highlights the selected element.

Note: The following restriction applies to the use of this feature: When you search for all the references of an instantiated class by selecting it in the Class View or logic editor, the number of records (result) displayed in the Find Symbol Results window is less than the actual number of occurrences that an instantiated class member is used in the logic editor. For example, if Segment1 contains Group2 with Multiplicity = 1, Group3 with Multiplicity =1, and has a method, Method1 added to it, the Find Symbol Results window displays one record when you include the following logic statements in Method1 and try to use the feature by selecting Group2:

Move Group2.Attribute1 Group2.Attribute2
Move Group2.Attribute1 Group3.Attribute1
But, if you select the instantiated class member, Attribute1 in the Class View or Group2.Attribute1 in the logic editor and then use the feature, the Find Symbol Results window displays both the records.

Searching an Element by Name

The Class View enables you to search an element by name.

To search by name, perform the following:

  1. Select a previous search string or type full or part of the search string in the Search String field of the Class View toolbar (or Object Browser toolbar).

  2. Click Search.

    The search result displays the elements whose names match the Search String. The search string is highlighted in each name where the name has matched.

  3. Click Clear Search to clear the search or delete the string from the Search String field.

    This synchronizes the Class View with the selected string.

Displaying Inheritance structure

Inheritance structure helps you to view, explore, and analyze the class and its generalization relationship. This feature is available through Class View and the Object Browser. It enables you to view the superclass and its derived classes of the currently selected class in the Class View tree or Object Browser. It also enables you to view the inherited members of the currently selected superclass.

To display superclass (base class), perform either of the following:

  1. Open your model database in the integrated development environment (IDE).

  2. In Class View, click on the Class View Settings menu.

  3. Select Show Base Types.

Or

  1. Open your model database in the integrated development environment (IDE).

  2. In the Object Browser, click on the Object Browser Settings menu.

  3. Select Show Base Types.

For each node in the tree that is a class, a Base Types sub node appears that contains a list of all its base classes.

A derived class inherits the members from the base class. To display derived classes, perform either of the following:

  1. Open your model database in the IDE.

  2. In Class View, click on the Class View Settings menu.

  3. Select Show Derived Types.

Or

  1. Open your model database in the IDE.

  2. In the Object Browser, click on the Object Browser Settings menu.

  3. Select Show Derived Types.

To display inherited members, perform either of the following:

  1. Open your model database in the IDE.

  2. In Class View, click on the Class View Settings menu.

  3. Select Show Inherited Members.

Or

  1. Open your model database in the IDE.

  2. In the Object Browser, click on the Object Browser Settings menu.

  3. Select Show Inherited Members.

When you select a class in the tree, the inherited members are displayed in the members pane along with the members defined within that class.

Displaying Inheritance Graphs

This feature is available through Class View and the Object Browser. It enables you to view the base types and derived types of the current type that is selected in the Class View tree or Object Browser. It also enables you to view inherited members of the currently selected type.

To display base types, perform the either of the following:

  1. In Class View, click on the Class View Settings menu.

  2. Select Show Base Types.

Or

  1. In the Object Browser, click on the Object Browser Settings menu.

  2. Select Show Base Types.

For each node in the tree that is a type, a Base Types sub node, that appears, contains a list of all the base types of a type.

To display derived types, perform the either of the following:

  1. In Class View, click on the Class View Grouping menu.

  2. Select Show Derived Types.

Or

  1. In the Object Browser, click on the Object Browser Settings menu.

  2. Select Show Derived Types.

For each node in the tree that is a type, a Derived Types sub node, that appears, contains a list of all the derived types of a type.

To display inherited members, perform the either of the following:

  1. In Class View, click on the Class View Grouping menu.

  2. Select Show Inherited Members.

Or

  1. In the Object Browser, click on the Object Browser Settings menu.

  2. Select Show Inherited Members.

When you select a type in the tree, inherited members are displayed in the members pane along with the members defined within that type.

Note: The entries Show Project References and Show Hidden Types and Members are not applicable for an AB Suite project.

Object Browser

Like Class View, the Object Browser enables you to view all the elements in your model. However, you cannot perform any updates. This browser has three panes:

Properties Window

The Properties window displays the properties of a selected element and enables you to modify those properties, unless they are read-only. It also enables you to select multiple elements and displays the common properties. Refer to Setting Properties for more information on specific element properties.

Document window

The document window hosts the various designers that make up the Developer specific interfaces. A document window is displayed for each open element. The available designers for the System Modeler specific interfaces change according to the kind of element that is opened, and its properties.

When you double-click an element in Class View, Object Browser, or the Members tab,  a Visual Studio document window is displayed for that element. At the bottom of this window are a number of tabs, which differ according to the kind of element selected. You can also display the window by right-clicking the element in the Class View or Members tab and then clicking Open. Both these methods open the element in the window which is set as the default for the particular type of element.

Alternatively you can right-click the element and click Open With, to choose an available window in which to open the selected element.

To change the default window for a type of element, perform the following:

  1. Right-click the element in Class View or Members tab.

  2. Select Open With and click Set Default….

  3. Select the required window from the list of windows in the dialog box and click Set as Default.

    All subsequently opened elements are displayed in the chosen default window. The list contains only windows that are appropriate for the selected element type. For a list of these windows, refer to Document Windows in Developer.

Note: In case of methods, the Logic Editor opens as a separate Microsoft Visual Studio document window and other tabs such as, Members, Translations, Dependencies, and Documentation open in another document window. You can open both these windows at the same time.

The following are the various document windows in System Modeler:

Logic Editor Window

The Logic Editor is used to create, edit, save, and validate logic for all methods within System Modeler.

Common Tabs

When you open an element a document window is displayed for that element. At the bottom of this window are a number of tabs as listed below, which differ according to the kind of element selected.

Dependencies

This displays the dependencies of the selected element.

Documentation

The Documentation tab is common to all System Modeler elements. It is a rich text editor that enables you to document the elements in your system. It supports all the common text formatting and functions.

Member

The Member tab is displayed for those elements that contain child elements that are accessible from their owner. This tab displays all the children of the selected element. You can open the member elements, add new items, add existing items to folders, and delete member elements from this tab.

Element Specific Tabs

Conditions

The Conditions tab is specific to profiles. It is a text editor used to edit, save, and validate conditions that determine the records selected by the profile.

Keys

The Keys tab is specific to profiles. It displays attributes that are defined as keys for the selected profile.

Overrides

The Overrides tab is specific to classes. It displays the methods of the selected class that override methods in its super class (including framework methods).

Painter

The Painter tab is available for those elements whose PresentationType property is set to any value other than None. This tab enables you to design the user interface of an AB Suite application.

Note: You cannot access the Painter tab when you are creating an AB Suite User Experience mode model. You must design the user interface separately from the AB Suite User Experience mode model by using the development tool of your chosen technology. For example, you can use the WPF Designer for WPF/Extensible Application Markup Language (XAML) desktop applications. However, both the AB Suite and WPF projects can exist in the same solution to impart an integrated development experience.

Reservations

The Reservations tab displays a list of all the elements within the model that are reserved, and their corresponding users.

Translations

The Translations tab displays a split window. One view shows all the captions and string that are capable of being translated into other languages. The other view displays all the defined languages available, and allows you to add other languages.

Class Diagram

The Class Diagram tab is specific to diagrams. It allows you to view and manipulate the existence and nature of static relationships between member classes.

Value-Checking

The Value-Checking tab is specific to all primitive objects (attributes, variables and parameters) and classes. It is a text editor used to edit, save, and validate constraints that restrict the values that an attribute or type can have.