Nodes in a project

A project consists of nodes. These nodes may include (but are not limited to) group, application, library and package nodes. Project source files are saved within a node.

Figure: Nodes in the Projects view


The Projects view visually displays a project file (4pw) as a tree. At the top of the project tree is the Main Project node, identified by the inclusion of the .4pw extension in its node name. The Main Project node holds one or more Group nodes, which can then hold additional nodes, allowing for easy organization and management of the project source files.

The Projects view is a logical representation of the files in your project. It does not indicate the underlying directory structure. To see the underlying directories on disk, right-click on a file in the Projects views and select Locate in File Browser or Locate in System File Browser.

Table 1. Project Nodes
Node Description
Main Project

The root node. There is only one main project node. In the interface, it displays as the file name of the project, complete with the .4pw extension.

Group

Organizes the other nodes that make the project. Many of the properties defined for the Group node (with the exception of dynamic properties, label and description) are inherited by the child nodes; it is common practice to set properties such as Target directory and Language at the Group level.

Application

Generates an executable program (42r).

A single application node creates a single executable. Only one of the files may have a MAIN statement. The name of the application node is used as the name of the 42r file, therefore it must be unique and can only contain characters allowed by the file system.
Tip: Take care not to use special characters in the file name or path; the use of special characters can make the project non-portable. You may want to create a naming convention that takes into account your environments; for example playing with lowercase and uppercase can make the project fail on Windows.
so it must be unique and can only contain characters allowed by the file system.

The default application is shown in boldface. Use the Toolbar icon or the Set as Default Application menu item to set an application as the default. The options on the Build menu execute for the default application.

Library

Groups binary files into a single library and generate a library file (42x). The name of the library node is used as the name of the 42x file, so it must be unique and can only contain characters allowed by the file system.

Libraries should be used when creating a set of features having a common goal, such as the logic of an application or a library of mathematical functions. A library can also be used to group other project files together (images, styles, or other resources).

If a library node contains no 4gl file, no 42x is built.

A library from a different project can be added to a project using the context menu option Add External Project.
Important: A library must be linked to any application in which it will be used. Right-click the application node, select Advanced Properties, dependencies, and select the checkbox for any required library.
External Project Provides access to another project by including that other project as a node within the current project. The other project is read-only. Adding an external project is an easy way to include external libraries in your own project, however you need to ensure that the dependencies are set between your project and the external project.
Virtual folder

Organizes the files under an application, library, or other virtual folder node. Virtual folders can contain files or other folders. They exist only in the logical view in Project Manager, not in the physical file structure.

Package

Packages an application for deployment to a mobile device or for distribution to users. See Packaging, deploying, and distributing apps.

Intermediate Files Contains files that are created based on commands defined in the build rules for the file type and language. These files are typically intermediary files, needed to complete the build process.

For example, if you are using the Business Application Modeler and your model contains a Program entity (with a .4prg extension), by default the BAM will generate two intermediate files (a .4gl and an .xml file) during the build process. These files are then used to build the program module (.42m). These two generated files are visible in (and accessible from) an Intermediate Files node.

Directory

Organizes the files under a package node.

File A link to the file in the file system that has the same name as the node. Renaming a File node also renames the file that is stored on the disk. Project Manager will accept any type of file. Opening a file opens the corresponding Genero Studio module, such as Code Editor. If there is no corresponding Genero Studio module, it asks the operating system to open it.