The Proto Environment: Part 2: The Builder
An in-depth look at the Builder and its various elements
This article provides an introductory look at Proto. It is part of a three-part series, which also includes Part 1: Introducing Proto and Part 3: The Viewer.
Introduction
This article, along with the other two parts in this series, are intended to provide a quick introduction to the Proto environment and its basic elements. This article will explain the Builder window in greater detail.
The Builder is the main window used to create and edit custom modules by assembling basic and custom modules and making connections between them. The Builder window can be minimized, maximized, moved, resized and closed normally. Closing the Builder window when a custom module’s associated Viewer window is also closed will close the custom module entirely. This will cause Proto to exit if no other Proto windows are open. The Builder window contains the Builder area, the Guide, the Status Bar, and the Toolbar, each of which is explained in more detail below.
The Builder Area
The Builder area is the main area that comprises most of the Builder window. This is where all modules are assembled and connected. On the left and right side of the Builder area, there is the custom module input connector and custom module input connector respectively. Use these connectors when dictating the data path for messages to travel in and out of this custom module when it is embedded in another custom module. Throughout the documentation, this area will be referenced interchangeably with the term “Builder.” See the Custom Module feature for more information about how to use the custom module input and output connectors.
The Guide
The Guide is the window that runs along the right side of the Builder. It provides contextual help according to the location and activity of the mouse. Pause the mouse pointer on an element in the Builder window to see a short description of that element. The Guide provides information about the specific data type compatibilities of each module’s input and output connectors when they are highlighted in the module’s input and output menu. Some of the Guide’s descriptions will provide links to other Proto documentation. A link will open as an .html pages in a new browser window. In order to click the links in the Guide, you must freeze its contents so that when you move the mouse pointer away from an element that is being displayed, the Guide’s information does not change. To freeze the contents of the Guide, hold down the F key. The Guide will remain frozen until the F key is released.
The Status Bar
The status bar at the bottom of the Builder window provides execution feedback. The status bar displays the current state of execution: whether of not Proto is “Ready” and “Executing.” “Ready” is the default state; “Executing” means that the custom module is processing data. This is especially useful for knowing when a custom module is performing computationally intensive calculations or when interacting with Excel. When an error occurs in the execution flow, an alert message is displayed in the status bar. Clicking on the error message in the status bar will display a ToolTip that provides more information on the error.
The Module Counter
The module counter is displayed next to the status bar in the lower right corner of the Builder window. The module counter displays the total number of modules in the custom module that is currently open. This count includes embedded custom modules and any modules that they contain as well. If an embedded custom module’s tab is selected in the Builder, the module counter will display the number of modules in the embbedded custom module followed by a slash followed by the total number of modules.
The Toolbar
The toolbar displays all basic modules represented by their icon and enables quick insertion of those modules into the Builder. It is initially docked at the top of the Builder window but you can drag the dotted edge of the toolbar and position it to be floating anywhere on the screen. You can also resize the toolbar to display the modules in any rectangular configuration by dragging one if its its edges or corners. Double-click the dotted edge of the toolbar on the left when it is docked to to cause it to float. Double-click the title bar at the top of the toolbar when it is floating to dock it.
To insert a module from the toolbar:
- Click on the module’s icon in the toolbar.
- Drag the module’s icon from the toolbar on to the Builder area.
Menus
Located at the top of the Builder, the menus allow you to perform common program tasks. This is a description of the menus in the Builder. The shortcut keys for menu commands are listed in parentheses.
The File menu:
- New (CTRL+N): Opens a new, empty custom module with its own Builder and Viewer windows.
- Open… (CTRL+O): Displays the Open Custom Module window, which allows you to browse your repository and open a saved custom module.
- Close (CTRL+W): Closes the active Builder window. The custom module will remain open if its Viewer window is still open.
- Close Document (ALT+F4): Closes the custom module’s Builder and Viewer windows.
- Save (CTRL+S): Saves the current state of the custom module. Opens the Save As window if the custom module is not currently contained in the repository.
- Save As… (CTRL+SHIFT+S): Allows you to provide a name, description, and permissions for this custom module and have it stored in the current repository.
- Publish New Version…: Saves a new version of this custom module while retaining the previously saved versions in the repository. For more details, see the Versioning section of the Managing Custom Modules article.
- Manage Resources → Custom Modules…: Opens the Manage Custom Modules window, which allows you to save, version, open, import, export, and set permissions for custom modules. For more details, see the Managing Custom Modules feature.
- Manage Resources → ProtoDBs…: Opens the Database Repository Manager window, which allows you to perform all ProtoDB management functionality. For more details, see the Managing ProtoDB article.
- Export Module…: Allows you to save this custom module as a .proto file anywhere on your computer. For more details, see the Managing Custom Modules article.
- Import Module…: Opens the Import Module window, which allows you to open any .proto file saved on your computer in a new Builder and Viewer window. For more details, see the Managing Custom Modules article.
- Manage Repository…: Opens the Repository Manager window. For more details, see the Repository feature.
- Exit: Exits Proto by closing all custom modules and Proto windows.
The View menu:
- Viewer (CTRL+~): Switches to the Viewer window that corresponds to this Builder.
- Show/Hide Toolbar: Shows or hides the toolbar.
The Tools menu:
- Options…: Opens the Options window which allows you to enter the web login and toggle the dialog displayed when Proto starts.
The Help menu:
- Getting Started: Displays a short guide to the documentation in your default web browser.
- Help Contents: Opens the documentation contents page in your default web browser.
- Proto on the Web: Opens Proto’s home page on the Internet in your default web browser.
- Get Updates: Opens your web browser to the page on the Proto website that displays the latest update to Proto.
- About: Shows the About window, which contains information about which version of Proto you are running.
Reusing Custom Modules
The Builder allows you to reuse custom modules inside other custom modules in different combinations. This is achieved by embedding a new or extant custom module into another custom module and connecting it as if it were a basic module. This configuration allows messages to flow into and out of an embedded custom module exactly as if the embedded custom module’s contained modules were themselves contained directly in the parent module. Utilizing custom modules prevents you from needing to rebuild common module configurations or to create an identical combination of modules multiple times inside a single custom module. For more information about embedding modules, please see the Reusing Custom Modules feature.
Inserting, Deleting, and Connecting Modules
Building a custom module involves inserting, configuring, and connecting basic modules and other custom modules in the Builder. Modules can be combined and recombined to perform a specific, desired task, or to create an interactive control. For more information about the different types of connections and how to make them, please see the Connections article.
To insert a module into the Builder:
- In the toolbar click on a module’s icon or or drag the module’s icon on to the Builder.
- Right-click on the background of the Builder and select a basic module from the Insert menu. Select New Custom Module to embed a new custom module or Browse… to embed an already built module from the repository.
To delete a module from the Builder:
- Click a single module to select it or select multiple modules and press the DELETE key.
- Right-click a module and select Delete.
Configuring Modules
Each module—basic and custom—has a Property Panel that allows you to configure how that instance of the module looks and functions. Individual modules’ Property Panels are described in the module documentation.
To open a module’s Property Panel in the Builder or Viewer:
- Double-click on the module.
- Right-click on the module and select Properties….