# NOMADS Graphical Application

NOMADS Development |

A graphical user interface is a graphical display that contains devices or controls that enable users to perform interactive tasks in an application. Arguably, a well-designed graphical user interface is quite often the most compelling feature of an application, at least from the users' perspective.

One of the more popular aspects of PxPlus is its ability to incorporate a rich variety of graphical components, such as panels (forms), menus, tool bars, buttons, radio buttons, check boxes, list boxes, and scrollbars - just to name a few. The easiest way to design and build PxPlus graphical user interface functionality is to use NOMADS, the Non-procedural Object Module Application Development System.

#### Important Note:
If you are running a version of PxPlus that is higher than your activation, you will not be allowed to process any NOMADS panels due to potential compatibility issues.

NOMADS is an easy-to-learn, easy-to-use, programming environment for the development and implementation of PxPlus graphical user interface applications. NOMADS employs a top-down approach that streamlines and simplifies graphical development tasks, optimizes system resources, and saves time.

It provides an interactive, visually oriented framework for creating panels (forms, windows or dialogues), populating them with controls, and then associating logic with these controls. The NOMADS Development Environment provides all the tools you need to build these components, which are automatically generated for you in PxPlus using a powerful built-in run-time engine, *winproc.

Development Environment

NOMADS is comprised of a Session Manager and a Design/Development Toolset for building graphical user interface components. It provides an efficient, creative environment for:

- Separating data, logic, presentation text, and images into reusable components.
- Designing event-driven applications.
- Localizing and simplifying modifications.
- Integrating NOMADS-built applications with other types of PxPlus applications.

The system features a common data manager for consistent access to a variety of data files. It also facilitates the conversion from character-based to graphical user interface functionality by allowing you to run graphical and character-based application components concurrently.

Graphical User Interface Components

NOMADS assembles groups of interrelated components to define the panels, dialogues and windows used in your graphical user interface application. The object definitions for these components are stored in keyed data files called libraries. See Library Object Selection.

#### Note:
The terms object and control are often used interchangeably. In this documentation, an object may refer to any component associated with a graphical user interface application. Control (or control object) is reserved only for the graphical elements that have user functionality associated with them (buttons, list boxes, scrollbars, etc.).

NOMADS Engine

At the heart of NOMADS is a powerful run-time engine, *winproc, the central controller that operates in PxPlus behind the scenes. It processes the information stored in library objects, generates graphical user interface components and executes associated event-handling logic.

Your PxPlus application requires a PROCESS directive to run NOMADS-based components. At run time, PxPlus converts this statement into a CALL to *winproc, which then generates the graphical user interface for your PxPlus application. See Invoking a Panel from an Application.

Program Interface

There are several ways to incorporate NOMADS graphical user interface components and set up event-handling logic to be processed within your PxPlus application.

A list of reserved NOMADS Variables is available for use in your program. NOMADS components can be managed and controlled through use of the PxPlus Object-Oriented Programming (OOP) interface. Using the PxPlus COM interface allows you to incorporate ready-made (third party) Windows components directly into your NOMADS panels.

See Program Interaction.

## Design/Development Toolset

NOMADS includes a set of tools and utilities for building graphical components and defining how your graphical user interface will work with your application:

Tools and Utilities | Description
Library Object Selection | This is your central console for managing library objects once a library file has been selected for editing. It displays a list of the object definitions stored in the library. It is the primary launch point for all of the library object creation tools and maintenance utilities in NOMADS.
Panel Designer | The Panel Designer is the primary design interface for developing panels, drawing layouts, and creating various user controls with associated logic and data. It is fully integrated with the PxPlus Integrated Toolkit (IT) program editor. All of the details of your graphical user interface components are stored in a library file, which is then processed by *winproc at run time. For information on creating the different types of controls that can be added to panels, see Creating Panel Controls.
File Maintenance Generator | The File Maintenance Generator automatically generates new NOMADS panels and/or Webster+ HTML pages as file maintenance or inquiry-only panels with built-in editing and browse functionality, based on data files defined in a PxPlus Data Dictionary. Options are provided to create a single panel or a panel containing a folder with multiple tabs, to position edit and browse buttons on the panel, to determine whether acknowledgement and confirmation messages are to be displayed, and to determine what update logic should be used. (The File Maintenance Generator was added in PxPlus 2019.)
Query Subsystem | The Query Subsystem generates panels that display records from datasets and return a value associated with a record selected by the user. Query datasets can be based on an existing Data Dictionary definition, a PxPlus View, an ODBC data source, or a manually defined file with no embedded dictionary.
Smart Controls | Provides developers with the ability to make self-loading controls to display and select the contents of data files or database tables.
Security Manager | This feature allows you to control access to panel controls by setting up security classifications to match specific user IDs.
Message Library Maintenance | This utility allows you to create and maintain a set of text messages outside your program code and facilitates supporting multilingual environments.
System Maintenance Tools | Various tools are available for performing system-level housekeeping and administrative tasks.

## NOMADS Session Manager

To get started on a graphical user interface development project in NOMADS, invoke the NOMADS Session Manager by running the PxPlus program "*nomads". Run this directly from the PxPlus Command line either by entering RUN "*nomads" or by simply entering nom. You can also use a shortcut that has been set up for this purpose. During installation, PxPlus for Windows places a NOMADS shortcut under the group PVX Plus Technologies > PxPlus, which can be accessed via the Windows Start menu.

A NOMADS session begins at the NOMADS Session Manager. All NOMADS development tools, system-level options and utilities, and any existing development projects are accessed initially via the Session Manager window.

The Session Manager menu bar consists of the following:

Library | Consists of options for creating, opening, and editing a graphical user interface development project (library) in NOMADS. See Opening a Library File.
Dictionary | Consists of options for defining and maintaining file definitions.
Maintenance | Invokes Data Dictionary Maintenance.
Classes | Invokes Data Classifications.
File Link Maintenance | Invokes File Link Maintenance.
Password | Invokes Data File Password Utility.
User Reserved Words Maintenance | Invokes User Reserved Words Maintenance. (User Reserved Words Maintenance was added in PxPlus 2020.)
Security | Used to set up security based on user IDs and security classes (used to identify the type of user and to control access to the system). See Security Manager.
Options | Consists of system-level configuration and maintenance options. See System Maintenance Tools.
Help | Displays NOMADS version number and copyright information.
Utilities | Access to various associated PxPlus utilities.
System | Invokes System Utilities.
Application Parameter Configuration | Invokes Application Parameter Configuration.
Views Data Source Definition | Invokes Data Source Maintenance.
Views Definition | Invokes View Maintenance.
Report Writer | Invokes Report Designer.
Library Language Translation | Invokes Library Language Translator.
CSV File Import | Invokes CSV File Import.
Chart Image Scheduler | Invokes Chart Image Generation Schedule Maintenance.
AutoChart File Maintenance | Invokes AutoChart Definition File Maintenance.
Query Profile Information Maintenance | Invokes Query Profile Information Maintenance.
Panel Conversion Utility | Invokes Panel Layout Utility.
Wizard Creation Wizard | Invokes Wizard Creation Wizard.
Library Bulk Edit | Invokes Library Bulk Edit and Search. (The Library Bulk Edit utility was added in PxPlus 2017 and renamed to Library Bulk Edit and Search in PxPlus 2023 Update 1.)
Calendar | Invokes Calendar Control Definition. (The Calendar utility was added to the Utilities menu in PxPlus 2022.)
Projects | Access to project-based tasks. (The Projects menu was added in PxPlus 2025.)
Set Project | Launches the Select Project dialog for selecting the current project when working within the NOMADS Session Manager. If you select a project and the working directory defined for the project is no longer accessible (e.g. directory was renamed), a message will display, and the current project will automatically be set to the Default project. In that case, edit the project to make the necessary corrections and then set this project again. This dialog consists of the following:
Project | Launches the Edit Project dialog, which shows information for the current project.
(Create New Project) | Button (beside Project drop box) launches the Create Project dialog for creating a new project.
OK | Sets the selected project as the current project. The name of the set project (shown in green below) displays to the right of the menu bar at the top of the NOMADS Session Manager:
Exit | Closes the Set Project dialog without saving any changes.
Create Project | Launches the Create Project dialog for creating a new project.
Edit Project | (Available only when a project has been set) Launches the Edit Project dialog for modifying the current project or a different project.
Delete Project | (Available only when a project has been set) Deletes the current project. Prior to deleting, a confirmation message will display. #### Note: The Default project cannot be deleted.
Copy Project | (Available only when a project has been set) Launches the Copy Project dialog (similar to the Edit Project dialog) for copying the current project (or a different project) to a new project, including its tasks and settings. Click the OK button to set the new (copied) project as the current project. The name of the set project displays to the right of the menu bar at the top of the NOMADS Session Manager.
Open Project Library | (Available only when a project has been set) This option uses the Default Library file defined for the current project to open Library Object Selection. If the current project does not have a Default Library defined, a message will display. To define a Default Library for a project, select Projects > Edit Project from the top menu bar.
Project Maintenance | Launches Project Maintenance for organizing and managing tasks for projects.
Quit | Exits NOMADS.

Development of a graphical user interface application in NOMADS usually begins with the Library option. You can create a new library, select an existing library for editing, as well as compare, merge, and edit object definitions from different libraries.

## See Also

Library Object Selection
Accessing Library Objects from IDE
Maintaining Library Objects