Builder Xcessory 5.0 Reference Manual

Builder Xcessory 5.0

Reference Manual

Copyright © 1998 Integrated Computer Solutions, Inc.
Integrated Computer Solutions, Inc.
Trademarks

 

 

Table of Contents

Documentation: 

ASCIZ Table Editor

Allows you to specify a list of ASCIZ values for a resource.

ASCIZ Table Editor


Note: You must specify each asciz value on a separate line.

For example, the following:

column_1
column_2
column_3
column_4

is output as

asciz_table("column_1", "column_2", "column_3", "column_4");

 

Documentation: 

Any Editor

Allows you to change resources of the WML data type "Any". In particular, this allows you to provide a value to the userData resource on OSF/Motif widgets.

Any Editor

Click the arrow button to the right of the Type text field to display all the types defined for your interface. Constants, identifiers, and actual values are legitimate data values, but expressions are not supported.

Matching parameters

When Builder Xcessory encounters a parameter in the Any Editor, it searches for a match in the following order:

· Identifier

· Constant

If no match is found, Builder Xcessory prompts you to declare the parameter as an identifier.

 

Documentation: 

Application Manager

Allows you to add work procedures and timer procedures to your application. These procedures are useful if your application requires tasks beyond processing events from the user.

Displaying the Application Setup dialog

Select Application from the Browser Managers menu to display the Application Setup dialog:

Application Setup Dialog

Work Procedures

A work procedure is a callback function that provides a limited form of background processing. The work procedure is invoked by the Xt Intrinsics whenever no other events are pending. That is, when X is idle (not drawing to the display or responding to user actions), the work procedure is called.

Adding a work procedure

Use a work procedure to specify a function to call when no other events are pending. Once called, a work procedure monopolizes the CPU. Therefore, a work procedure should be a function that executes quickly. Otherwise, the display stops responding to the user while the work procedure executes. For example, to perform a long calculation with work procedures, set up the calculation as an iterative process. Then, a small portion of the calculation can be done each time the work procedure is called. This approach avoids freezing the display.

Adding a work procedure by hardcoding

To add a work procedure by hardcoding, use the following function:

XtAppAddWorkProc(app_context, proc, client_data)

This function returns an ID that identifies the work procedure. The client_data parameter specifies application-defined data that is passed to the work procedure.

Adding a new work procedure using the Application Work Procedure Editor

To add a work procedure:

1. Click on the "..." button next to the Work Procedures input field in the Application Manager to display the Application Work Procedures Editor:

Work Procedures Extended Editor

2. Click on New.

3. Enter the name of the work procedure to call in the Work Procedure field.

4. Enter the parameter type in the Parameter Type field.

5. Enter the parameter (client_data) in the Parameter field

6. Click on Apply to add the work procedure.

All current work procedures are displayed in the scrolled window above these fields.

Removing a work procedure

To remove a work procedure:

1. Select the procedure from the list displayed in the Application Work Procedures Editor.

2. Click on Delete.

The procedure is removed from the list and from your application.

Timer Procedures

A timer procedure is a callback procedure that you register. A timer procedure is invoked by the Xt Intrinsics when the interval of time that you specified elapses. When a timeout event occurs, the Intrinsics invokes the timer callback procedure, and the Intrinsics automatically removes the callback. Timeout events are invoked only once.

When generating ViewKit code, Timers are implemented using the VkPeriodic class. VkPeriodic invokes the timer repeatedly until it is explicitly stopped.

Registering a timer procedure

Use a timer procedure for an event that you want to happen periodically, but not continuously. When the timer procedure is registered, Xt first waits for at least the interval you specified, and then calls the timer procedure.

Use the following function to register a timer procedure by hardcoding:

XtAppAddTimeOut(app_context, interval, proc, client_data)

and specify the interval of time that should elapse before this function is invoked. The interval of time is specified in milliseconds. After this interval elapses, the proc callback function is invoked by Xt Intrinsics. The client_dataparameter specifies client data passed to proc . XtAppAddTimeOut returns an ID that identifies the timer procedure.


Note: To call proc repeatedly, you must re-register the timeout within the proc procedure.

Application Timer Procedure Editor

To register a timer procedure using Builder Xcessory, click on the "..." button next to the Timer Procedures input field in the Application Manager to display the Application Timer Procedures Editor:

Application Timer Procedures Editor

Registering a new timer procedure

To register a new timer procedure:

1. Click on New.

2. Enter the name of the timer procedure to call after the interval expires in the Timer Proc Name field.

3. Enter the interval in the Interval field.

4. Enter the parameter type in the Parameter Type field.

5. Enter the parameter (data) in the Parameter field.

6. Click on Apply to register the timer procedure.

Current timer procedures are displayed in the window above these fields.

Removing a timer procedure

To remove a timer procedure:

1. Select the procedure from the list displayed in the Application Timer Procedures Editor.

2. Click on Delete.

The procedure is removed from the list and from your application.

The information you enter in the input fields is used to create the XtAppAddTimeOut function in the code generated from Builder Xcessory.

 

Documentation: 

Application Timer Procedure Editor

Allows you to add timer procedures to your application. Timer procedures allow you to specify the specific amount of time before this procedure is called. Use a timer procedure for an event that you want to happen periodically, but not continuously.

Displaying the application timer procedure editor

Click the (...) button to the right of the Timer Procedure input field on the Application Manager to display the Application Timer Procedure Editor. Refer to Application Manager .

Application Timer Procedures Editor

The display area lists the Timer Proc Name, Interval, Parameter Type, and Parameter of each timer procedure that has been added to the application.

Selecting, adding, and deleting a timer procedure

Select, add, and delete work procedures using the following methods:

· Select a timer procedure by clicking on its name in the list. All appropriate fields are updated for the selected timer procedure.

· Add a timer procedure to the list by clicking New and entering the Timer Proc Name and any necessary parameter data in the appropriate text fields.

· Delete a timer procedure by selecting it in the list and clicking the Delete button.

When changing or adding a timer procedure to the list, you can choose a procedure name from the list displayed by clicking on the arrow to the right of the Timer Proc Name label, or you can create a new procedure by typing its name in the Timer Proc Name text field. Builder Xcessory prompts you to confirm a new procedure name.

Parameter
type values

New procedures are created with a default Parameter Type of Undeclared in the Application Timer Procedure Editor, indicating that parameter values of any type are accepted in the Parameter field. Other valid values include:

· Pre-defined types

· User-defined types

· None (Indicates that the timer procedure does not take any value as its client data.)

To display a list, click on the arrow to the right of the Parameter Type label in the Application Timer Procedure Editor.

Declaring additional user-defined types

You can declare additional user-defined types in the Application Timer Procedure Editor by entering the new type name in the Parameter Type field. Builder Xcessory prompts you to confirm a new user-defined type.

The Parameter Type field is insensitive if the timer procedure specified in the Timer Proc Name field is referenced by a widget or style resource in your interface. The procedure's parameter type cannot be changed in the Application Timer Procedure Editor, unless all references to the procedure are removed from the interface.

Matching parameters from the application timer

When Builder Xcessory encounters a parameter in the Application Timer Procedure Editor, it searches for a match in the following order:

· Identifier

· Constant

If no match is found, Builder Xcessory prompts you to declare the parameter as an identifier.

Parameter values

The Parameter field accepts the following values as the client data value to pass to the callback procedure:

· Constants

· Identifiers

· Boolean

· Integer

· Floating point

· String values


Note: String values must be double-quoted.

The type of the value must correspond to the type listed in the Parameter Type field. If the text entered into the Parameter field is not a constant, identifier, or actual value, then Builder Xcessory prompts you to declare the value as an identifier of the appropriate type.


Note: Although Builder Xcessory allows you to define a series of work procedures, the X Toolkit Intrinsics execute only the most recently added procedure until that procedure is removed from the set of work procedures. Refer to your Xt documentation for more detailed information on how work procedures operate and how to write work procedures effectively.

 

Application Work Procedure Editor

Allows you to add work procedures to your application. This allows you to specify a function to call when there are no other X events pending.

Displaying the application manager

Click the (...) button to the right of the Work Procedure input field on the Application Manager to display Application Work Procedure Editor. Refer to Application Manager .

Application Work Procedures Editor

The display area lists the Work Procedure name, Parameter Type, and Parameter of each work procedure that has been added to the application.

Selecting, adding, and deleting work procedures

Select, add, and delete work procedures using the following methods:

· Select a work procedure by clicking on its name in the list. All appropriate fields are updated for the selected work procedure.

· Add a work procedure to the list by clicking New and entering the Work Procedure name and any necessary parameter data in the appropriate text fields.

· Delete a work procedure by selecting it in the list and clicking the Delete button.

Declaring additional user-defined types

You can declare additional user-defined types in the Application Work Procedure Editor by entering the new type name in the Parameter Type field.


Note: Builder Xcessory prompts you to confirm a new procedure name.

Parameter type values

New procedures are created with a default Parameter Type of Undeclared in the Application Work Procedure Editor, indicating that parameter values of any type are accepted in the Parameter field. Other valid values include:

· Pre-defined types

· User-defined types

· None

None indicates that the work procedure takes no value as its client data. Click on the arrow to the right of the Parameter Type label in the Application Work Procedure Editor for a list of available value.

The Parameter Type field is grayed out if the work procedure specified in the Work Procedure field is referenced by a widget or style resource in your interface. The procedure's parameter type cannot be changed in the Application Work Procedure Editor, unless you remove all references to the procedure from the interface.

Matching parameters in application work procedure editor

When Builder Xcessory encounters a parameter in the Application Work Procedure Editor, it searches for a match in the following order:

· Identifier

· Constant

If no match is found, Builder Xcessory prompts you to declare the parameter as an identifier.

Parameter values

The Parameter field accepts the following values as the client data value to pass to the callback procedure:

· Constants

· Identifiers

· Boolean

· Integer

· Floating point

· String values


Note: String values must be double-quoted.

The type of the value must correspond to the type listed in the Parameter Type field.

If the text entered into the Parameter field is not a constant, identifier, or actual value, then Builder Xcessory prompts you to declare the value as an identifier of the appropriate type.

 

Documentation: 

Boolean Editor

Allows you to change the value of a Boolean resource (for example, autoUnmanage).

Boolean Editor

Set the resource value using the True and False radio buttons.

 

Documentation: 

Browser Display Modes

The Browser hierarchy has two display modes:

· Instances view (default)

· Classes view

The following sections describe the Browser display modes in more detail.

Browser in Instances View

In Instances View, the Browser displays the object instance hierarchy of your interface.

Entering Instances View

To enter Instances View, select Instances from the Instance/Classes view combination box on the left side of the Browser.

The following figure displays an example of the Browser in Instances view:

Object Instance Hierarchy

Displaying and hiding topLevelShells

A list of all topLevelShells in your interface is displayed below the combination box in a scrolled list. Click on a member of this list to toggle its display on the Browser. Highlighted members are displayed, and un-highlighted members are hidden.


Note: Hiding a topLevelShell decreases startup time and saves screen space (which facilitates browsing large interfaces). Hiding a topLevelShell does not affect code generation.

In Instances View, the Resource Editor displays different information depending on whether the currently selected object is a class instance or widget instance. Refer to Resource Editor for more detailed information about the Resource Editor.

Browser in Classes View

In Classes View, the Browser displays the class instance hierarchy of your interface. Refer to Classes and Methods in the Builder Xcessory User's Guide for more detailed information about using classes.

Entering Classes View

To enter Classes View, select Classes from the Instance/Classes view combination box on the left side of the Browser. The Browser displays the object instance hierarchy of all classes in your interface:

Class Instance Hierarchy

Changes that you apply to a class are applied to all instances of that class in your interface. Although you might not observe these changes until you return to Instances View, these changes happen immediately. For example, if you change the membership of a class and generate code while still in Classes View, the generated files reflect this change.


Note: If a class contains an object unavailable in the selected language, the class is not displayed. For example, a class which contains a Java object is not displayed if you selected C as your language.

Depending on whether the currently selected object is a class, widget instance, or class instance, the Resource Editor displays different information in Classes View. For more detailed information, refer to Resource Editor .

 

Documentation: 

Browser Edit Menu

The Browser Edit menu allows you to cut, copy, add an interface object to the Palette, paste, delete, raise or lowerinstances on the display, resize an instance to its natural size, make an instance larger, align multiply-selected widget instances, make (and unmake) classes, and designate a widget instance in a class as a receptor.

Select Edit from the Browser menu bar to display the following menu:

Browser Edit Menu

You can also select several object instances, and execute Cut, Copy, Paste, or Delete on that group as if it were a single widget instance.

Cut (Ctrl+X)

Removes the selected instance and its descendants from the display and places them along with their resources in the instance paste buffer, overwriting any existing contents of the buffer. Use Cut with Paste to move the new instance or collection to a new location. You may Cut and Paste an object from one work space to another.


Note: You can paste only the instance most recently cut or copied.

Using drag and drop to cut and paste

Use drag and drop to Cut and Paste objects in the object instance hierarchy tree. Dropping instance name A on top of instance name B will Cut instance A and all of its descendants, along with their resources, from the interface and Paste them as descendants of widget B.

Dropping an instance name on an empty portion of the object instance hierarchy in the Browser display will Cut the instance and all of its descendants, along with their resources, from the interface and Paste the instance as the first child of a new topLevelShell. Dragging and dropping in this manner does not affect the instance paste buffer.


Note: The instance paste buffer and style paste buffer are entirely separate. For example, a Cut operation on a resource style will not affect the contents of the instance paste buffer.

Deleting groups

To cut several instances, you can save time by selecting those instances as a group and cutting the entire group, instead of cutting each individual instance.

When you cut multiple widget instances, each widget and its descendents are placed in the cut buffer. If the widgets are all from different widget trees (for example, different top level shells), they are placed in the buffer in the order selected. When you Paste a group of instances, those instances are pasted in the same order in which you selected them.

You can drag and drop either a single widget instance or a group of widget instances.

Copy (Ctrl+C)

Places a copy of the selected instance and its descendants, along with their resources, in the instance paste buffer, overwriting any existing contents of the buffer. Use Copy with Paste to copy the contents of the instance paste buffer in a new location. You may Copy an instance from one work space to another.

Using drag and drop to copy and paste

Use one of the following drag and drop methods to copy and paste objects in the instance hierarchy displayed as a tree:

· Drop instance name A on top of instance name B while depressing the Ctrl key to copy instance A and all of its descendants (along with their resources) from the interface, and Paste them as descendants of instance B.

· Drop an instance name on an empty portion of the object instance hierarchy while depressing the Ctrl key to Copy the instance as the first child of a new topLevelShell.

These drag and drop operations do not affect the instance paste buffer.

Copying groups

To save time, you can select several widget instances and then copy the entire group. Just as when you cut a group, each widget instance and its descendents are placed in the cut buffer. If the widgets are all from different widget trees, they are placed in the buffer in the order selected.


Note: When you Paste a group, instances are pasted in the same order in which you selected them.

Copy To Palette (Ctrl+E)

Copies the selected instance and all of its descendants, along with their resources, to the User Collections group on the Palette.

Instances and collections which are copied to the Palette will persist, with all their resources, from session to session until specifically removed.

Using drag and drop for Palette additions

You can also add instances and collections to the Palette using drag and drop, as follows:

1. Position the cursor over either the instance or its instance name on the Browser.

2. Press MB2.

3. While continuing to hold down the mouse button, drag the object to the Palette and drop it onto the desired group.

Paste (Ctrl+V)

Places the contents of the instance paste buffer. An outline of the contents of the instance paste buffer appears. Add this collection to the interface by placing the collection in the desired position. Use Paste in conjunction with Copy to copy an object, or with Cut to move an object.


Note: Because Paste does not clear the instance paste buffer, multiple Paste operations are possible.

When you paste a group of widget instances, each instance (and its descendents) is pasted in the order in which you selected it. The result is the same as cutting and pasting each instance separately.

Delete

Permanently removes the selected instance and all of its descendants. Delete does not copy the object to the instance paste buffer. By default, a confirmation box is displayed for the Delete operation. To turn the confirm delete prompt off, use the User Preference option from the Browser Options menu. See Behavior for more detailed information about this option.


Note: Deleted instances are not recoverable unless they are specified in a UIL file which can be read back into Builder Xcessory.

When you delete a group of widget instances, each instance (and its descendents) is deleted in the order in which you selected it. The result is the same as deleting each instance separately.

Revert

Reverts the UIL file to a previously saved version, or the last autosaved version.


Hint: You can change the number of button and key actions between automatic back-ups by editing the Autosave Interval field on the General tab of the User Preferences dialog. Refer to section General for more detailed information.

Raise (Ctrl+R)


Note: Raise is a "sequence of child" operation (not a window operation) that changes the layout in some manager (container) objects.

Moves the selected instance above the sibling directly above it. Use Raise to change the order of menu items, or items in row column or radio boxes.

Example

For example, assume a menu has three push button children, pushButton1, pushButton2, and pushButton3, from top to bottom:

1. Select the bottom-most button, pushButton3.

2. Select Raise from the Browser Edit menu to raise pushButton3 above pushButton2 on the menu.

Lower (Ctrl+L)


Note: Raise is a "sequence of child" operation (not a window operation) that changes the layout in some manager (container) objects.

Moves the selected instance below the sibling directly below it. Use Lower to change the order of menu items, or items in row column or radio boxes.

Example

For example, assume that a menu has three push button children, pushButton1, pushButton2, and pushButton3, from top to bottom:

1. Select the top-most button, pushButton1.

2. Select Lower from the Browser Edit menu to lower pushButton1 below pushButton2 on the menu.

Natural Size (Ctrl+Z)

Removes the height and width resources for the selected instance, causing the instance to calculate its own geometry. (In the placement option menu, None is selected for the height and width resources.) For example, if you change the font size of a label, the widget instance will resize to accommodate that change.

Enlarge (Ctrl+W)

Increases the size of the selected instance. Each time you select Enlarge for an instance, it increments in size.

Align

Displays a menu of the following secondary choices:


Note: The following choices, except Alignment Editor, are insensitive if only one object or no object is selected.

Left

Aligns the left edges of all selected objects with the left edge of the left-most selected object.

Right

Aligns the right edges of all selected objects with the right edge of the right-most selected object.

Top

Aligns the top edges of all selected objects with the top edge of the top-most selected object.

Bottom

Aligns the bottom edges of all selected objects with the bottom edge of the bottom-most selected object.

Horizontal Center

Distributes the centers of all selected objects between the center of the left-most selected object and the center of the right-most selected object.

Vertical Center

Distributes the centers of all selected objects between the center of the top-most selected object and the center of the bottom-most selected object.

Alignment Editor

Displays the Alignment Editor, which allows you to align and distribute multiply-selected objects.

Alignment Editor


Note: OK and Apply are insensitive if one object or no object is selected.

Align

The following table describes how to align objects:


Note: As Is does not align.

Left/Right

Part of Selected Object

Aligned With

Left

Left edge

Left edge of left-most selected widget.

Center

Horizontal center

Midpoint between horizontal centers of left-most and right-most selected widgets.

Right

Right edge

Right edge of right-most selected widget.

Top/Bottom

Top

Top edge

Top edge of top-most selected widget.

Center

Vertical center

Midpoint between vertical centers of top-most and bottom-most selected widgets.

Bottom

Bottom edge

Bottom edge of bottom-most selected widget.

Distribute

The following table describes how to distribute objects:


Note: As Is does not distribute.

Horizontal

Distribute

Between

And

Centers

Centers of all selected widgets

Center of left-most selected widget

Center of right-most selected widget

Edges

Edges of all selected widgets

Left edge of left-most selected widget

Right edge of right-most selected widget

Edge Gap

Same as Horizontal Edges, but you specify distribution amount (such as "1 cm") in the input field that appears when you click on this option. All edges are spaced apart by the amount you specify.

Vertical

Distribute

Between

And

Centers

Centers of all selected widgets

Center of top-most selected widget

Center of bottom-most selected widget

Edges

Edges of all selected widgets

Top edge of top- most selected widget

Bottom edge of bottom-most selected widget

Edge Gap

Same as Vertical Edges, but you specify distribution amount (such as "1 cm") in the input field that appears when you click on this option. All edges are spaced apart by the amount you specify.

Edge Gap

When you select Edge Gap, the Spacing Between Edges text field is displayed. Enter both the number and the unit in this field. The following table lists valid units for defining the edge gap:

Unit

Acceptable Abbreviations

pixel

"pix", "pixel", or "pixels"

inches

"in", "inch", or "inches"

centimeters

"cm", "centimeter", or "centimeters"

millimeters

"mm", "millimeter", or "millimeters"

points

"pt", "point", or "points"

font units

"fu", "font_unit", or "font_units"

If you do not specify a unit for Edge Gap, the default unit is pixels. For example:

"5 cm" = 5 centimeters
"10 inches" = 10 inches
"40" = 40 pixels

When you click on an option, the sample alignment on the Alignment Editor shows you what the option does. The sample alignment always has the same four widget outlines.


Note: This is not meant to be an exact representation of your interface.

Show Example

The Show Example button toggles the display of the sample alignment on and off.

Make/Unmake Class (Ctrl I/Q)


Note: This dialog is automatically displayed when you click on some objects (VkWindow or VkSimpleWindow in ViewKit and when you click on Dialog or FileDialog in Java) from the Palette.

Make Class

Displays a dialog that prompts you for a class name.

Make Class Dialog

When you enter a name and press return or click the OK button, Builder Xcessory creates a new class comprised of the currently selected object and all of its descendants. The class is represented on the Browser as a single element, with the Class Instance Icon to the left of the class instance name.


Note: This option is insensitive if you select multiple objects.

Unmake Class

Unmake Class is available when a class instance is selected. Displays a dialog prompt to confirm that you want to unmake the instance of the class. If this is the only instance of the class in your interface, displays a warning that unmaking the instance might destroy the class.

Unmake Class Warning Dialog

Make/Unmake Subclass (Ctrl+Y/Q)


Note: Only available when the Browser is in Classes View, and a class is selected.

Make Subclass

Displays a dialog that prompts you for a class name:

Make Class Dialog

When you enter a name and press return or click the OK button, Builder Xcessory creates a new class comprised of the currently-selected class. The subclass is represented on the Browser as a single element, with the Class Icon to the left of the subclass name. The class from which the subclass was made is displayed as a single element to the right of the subclass on the Browser. A colon appears before the class name, indicating that it has been subclassed.

Adding widgets/class instances to a subclass

When you create subclasses, designate one widget instance on the superclass as a receptor (see the next section, Make/Unmake Receptor (Ctrl+T) ). You can then add widget and/or class instances to the subclass. Any instances you add to the subclass appears on the Browser as children of the element representing the class from which the subclass was created.

Unmake Subclass

Available when the subclass is selected. Unmakes the subclass.

Make/Unmake Receptor (Ctrl+T)

Make Receptor

Designates one container widget instance within a class as the receptor of that class. Any subclass of this class can accept children parented to this receptor widget. When you add a widget to the subclass, the new widget is placed automatically as the child of the receptor, regardless of where you place the widget.

Designating a container widget as the receptor

To designate a container widget instance as that class's receptor:

1. Set the Browser to Classes (instead of Instances) view. The object hierarchy of that class is now displayed in the Browser.

2. Select the container that you want to designate as the receptor.

3. Select Make Receptor from the Browser Edit menu. A square-within-a-square icon indicates which container widget instance has been designated as the receptor.

Unmake Receptor

When you select a receptor widget, this menu option changes to Unmake Receptor. If you then select Unmake Receptor, the selected widget will no longer be the receptor widget for this class. If any subclasses of this class have used this receptor widget (for example, if you have added children to this widget), you cannot unmake the widget.


Note: A class may contain only one receptor.

 

Documentation: 

Browser File Menu

Allows you to create new files, open files, merge other files with your project, save your interface, save and load classes, import GIL files, generate code, print, or exit Builder Xcessory. Select File from the Browser menu bar, either with the mouse or with a mnemonic, to display the following menu:

Browser File Menu (with C as the Selected Language)

The following sections describe the items available from the File menu.

New (Ctrl+N)

Clears all current objects and switches to the default language. If any pixmaps, styles, procedures, identifiers, user-defined types or constants will be destroyed by the clear operation, Builder Xcessory displays the following warning message dialog:

Retain After New Warning Dialog

Retain

If you set the Retain toggle, Builder Xcessory retains the listed items while clearing the interface. If your interface changed since your last save, the following dialog is displayed:

New Interface Warning Dialog

Clicking the Yes button prompts you to save your interface. Clicking the No button discards any changes to the interface since the last save. Click Cancel to return to Builder Xcessory and discontinue the new operation.

Open (Ctrl+O)


Note: Available only when an interface is not present on your display (for example, when you first startup Builder Xcessory, or when you select New).

Displays the File Selection dialog:

File Selection Dialog

Using the File Selection dialog

You can use the File Selection dialog to specify the following UIL files:

· UIL file generated by Builder Xcessory

· Existing UIL file written by hand

· Existing UIL files written with another user interface design tool


Note: When you open a UIL file not generated by Builder Xcessory 4.0 or later, the current language becomes the language associated with the UIL file.

Filter field

By default, the Filter field of the File Selection dialog contains the name of the directory from which you are running Builder Xcessory.

Directories box

To display the contents of a different directory, enter the directory name in the Filter field and click the Filter button. You can specify match strings using regular expressions. For example, *.uil will list only files ending in characters .uil. Click OK to open the specified file or Cancel to remove the File Selection dialog.

Files box

The Files box lists the files in the directory which match the file filter, set to *.uil by default.

Selection field

Enter the full pathname in this field to select a file.

Selecting a File

To select a file, click on the file name in the File box or enter the full pathname in the Selection field.

If you open a file from a directory different from the one in which you started Builder Xcessory executable, Builder Xcessory changes to the current working directory.

Open imports a UIL file along with information specific to Builder Xcessory, such as generated code routine names and routine generation status. For example, if you change the Main file from main-c.c to mymain.c, this information is imported along with the file. If you disable code generation of a file, this information is also incorporated. However, this information is not imported during a Read operation.


Note: Builder Xcessory does not change to the new directory when you "Read" files.

Name conflict warning dialog

When Builder Xcessory attempts to Open the selected file, it may display a warning dialog with the message "Name conflict between loaded style and new style". A resource style that exists currently in the Builder Xcessory Style Manager has the same name as a different resource style defined for the file that you are attempting to open.

The three push buttons perform the following operations:

· Use Loaded

Overrides the style in the file being opened with the information in the style that already exists in the Builder Xcessory Style Manager.

· Rename New

Allows you to rename the style in the new file. Rename Style dialog is displayed. Enter the new style name in the text field. Click Cancel Read to cancel the opening of the new file without renaming any styles. Click OK to rename the style and remove the Rename Style dialog. If the new style name also conflicts with an existing style name, the Rename Style dialog is displayed again.

· Cancel Read

Cancels the opening of the file. Has same function as Cancel Read push button on the Rename Style dialog. Any styles, constants, procedures, identifiers, and types in the new file are added to their respective managers. Refer to Managers for more detailed information.

Read (Ctrl+F)

Displays the same File Selection dialog as shown in Open (Ctrl+O) . However, invoking the File Selection dialog from Read allows the following option and additional operations:

· You can add the interface specified in the UIL file to an existing interface on your display.

· Builder Xcessory classes, styles, constants, procedures, identifiers, and types in the new file are added to their respective managers.

· The contents of the read file are added to the current UIL file, and the read file is subsumed by the current UIL file.


Note: When Builder Xcessory attempts to Open the selected file, a warning dialog with the message "Name conflict between loaded style and new style" might be displayed. Refer to Name conflict warning dialog for more detailed information.

Differences between Read and Open

Read differs from Open in the following ways:

· Read does not change the current working directory.

· All code generation options stored in the Read file are overridden by the current settings in Builder Xcessory.

· Read merges the UIL file into the currently opened project. Any association to the original UIL file is not maintained.

Save (Ctrl+S)

Writes your interface to the currently specified UIL file. Select one of the following options to display and edit the directory path and file name:

· Save As from the Browser File menu.

· Code Generation Preferences from the Browser Options menu.

Save As (Ctrl+A)

Displays a File Selection dialog:

Save As File Selection Dialog

The Directory Path field is non-editable. You can rename the UIL file, or re-specify the directory path.

Editing the Filter text field

To edit the Filter text field, use one of the following methods:

· Double-click with the Directories list to navigate up and down directory paths.

· Click the Filter button to update the Directories list for the directory specified in the Directory Path field (which simply echoes what you specified in the Filter text field).


Note: Edits to the File Name text field change the name of the UIL file.

Class

Displays the following menu:

Class Option Menu from the Browser File Menu

Read Class

Reads in a class already created and saved as an include file by using the Save Class menu item.

When you select Read Class, a File Selection dialog is displayed. Specify the include file name or re-specify the directory path and click on the OK button in the File Selection dialog.

Builder Xcessory reads in the include file and adds it to the Palette.

Save Class

Writes out a selected class in your application to a separate UIL include file. If you Save, the class definition is saved into an include file instead of the application's UIL file, allowing you to easily add the class to other projects.


Note: The dialog displays the name of the class with .uil by default

Use Save Class when you have a class that you want to share with other developers or use in more than one application. Once you write a class to its own include file, other users can read that class into Builder Xcessory using Read Class.

Using Save Class

To use Save Class, use the following procedure:

1. Switch to Classes View in the Browser to display all current classes.

2. Select one class, then select Save Class.

The first time you save a class, a File Selection dialog is displayed for you to specify the path and filename of the include file in which that class will be saved.

3. Enter a filename for the include file in the File Name text field at the bottom of the dialog, and click OK.

The class is then written to the UIL include file you specified and can be read into Builder Xcessory by other users.

Loading a class automatically at startup

To save a class that will automatically be loaded into your Builder Xcessory at startup:

1. Select the class in Classes View

2. Select Save Class (see Save Class )

3. Drag icon of the class from its current location (probably Project Classes) on the Palette to a Private Classes group

Loading a class automatically at startup for a group

To save a class that will automatically be loaded into everyone's Builder Xcessory at startup, drag the icon of that class from its current location (probably Project Classes) on the Palette to a Public Classes group.

Once you save a class, you can rename the file using Save Class As, described in the following section.


Note: You must have write permission for the {BX}/XCESSORY/classes directory to drag the icon onto the Group. If you do not have write permission, ask someone with the proper permissions to move the file to the {BX}/xcessory/classes directory.

Save Class As

Displays a File Selection dialog:

File Selection Dialog


Note: The dialog displays the name of the class with .uil by default

You can rename the include file which contains a class that you saved separately from your application. You can also specify the directory path.

Lock Class

Makes the selected class read-only (you cannot edit the class). You must select a class before you click on this option. Builder Xcessory displays a warning dialog asking if you want to save the class before locking it:

1. Click OK to display a File Selection dialog (if you have not yet saved the class).

2. Enter the pathname of the file and click OK.


Note: Once you lock a class, a lock symbol is displayed in the Resource Editor when you click on any object in class. The lock symbol indicates that you cannot edit any attributes of the class or its constituent parts.

When you save your application, this file will not be overwritten.

Removing a lock

To remove the lock:

1. Reselect the class.

2. Click on the Class option of the File menu.

The Lock Class option now reads Unlock Class. Select Unlock Class to remove the lock.


Note: The Browser must be in Classes View to enable the Lock Class feature. See Browser in Classes View for more information.

Refer to Classes and Methods in the Builder Xcessory User's Guide for more detailed information about using classes.

Import

Displays a menu that contains only the Import Gil option.

Import GIL

Displays the same File Selection dialog as shown in Open (Ctrl+O) and Read (Ctrl+F). See Open (Ctrl+O) for more detailed information about the File Selection dialog. The File Selection dialog filter defaults to a .G file suffix.

The File Selection dialog allows you to add the interface specified in a GIL (Guide Interface Language) file to an existing interface on your display. You can set certain options before importing a GIL file. See the section GIL Import Preferences for more detailed information.


Note: Builder Xcessory does not generate GIL files.This option is intended as an aid for OPEN LOOK to Motif interface conversions.

Generate {Lang} (Ctrl+G)

Writes the files for your application. {Lang} is the language you selected for this particular project file, or the language you selected as your default language at the beginning of your Builder Xcessory session. If you want to choose a different language, refer to Choose A Language for more detailed instructions.

Once you save your application, you can generate your application code outside Builder Xcessory in scripts or makefiles with the following command on the command line:

cgx50 -gen {lang} -path {BX}/XCESSORY -file {file.uil}

The following sections describe how files are generated in each available language.

Generate C++

Writes the C++ files for your application. Additional files are generated if you included classes in your interface. See Code Generation Preferences for more detailed information about filenames and options for the files to be generated.


Note: Builder Xcessory only generates files which have changed since the last code generation. For example, for the class MyClass, the files MyClass. C and MyClass.h are regenerated only if they are different from the previous code generation.

Files generated
for C++

The following list describes the C++ files generated by Builder Xcessory when you select Generate C++, or execute the cgx50 -gen CXX command on the command line (default names are in parentheses):

· Imakefile (Imakefile)

Imakefile that specifies C++ imake information.

· Makefile (makefile-C)

C++ makefile.

· Class Tree Root (UIComponent)

Contains the root class from which all C++ classes created in Builder Xcessory are derived.

· Main (main-C.C)

Initializes the Motif toolkit and calls the Widget creation routine. Builder Xcessory creates an unrealized applicationShell and creates all topLevelShell children for all top-level windows.

· Constants (defs-C.h)

Contains pixmaps, declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities (bxutils-C.C)

Contains convert functions.

· Callbacks (callbacks-C)

Contains any callback information for non-class widgets.

· App Defaults (app-defaults)

File that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit

· A header file and source file for every class in the interface

Generate ViewKit

Writes the C++ files that use the IRIS ViewKit/ViewKit ObjectPak classes for your application.

To generate your application code outside Builder Xcessory, use the following flag in the cgx50 command on the command line:

cgx50 -gen VK -file <filename>

Files generated
for ViewKit

The following list describes the ViewKit files generated by Builder Xcessory when you select Generate ViewKit, or execute the cgx50 -gen VK command on the command line (default names are in parentheses):

· Imakefile (Imakefile)

Imakefile that specifies ViewKit imake information.

· Makefile (makefile-vk)

ViewKit makefile for the current platform.

· Main (main-vk)

Initializes the toolkit and creates the Window classes.

· Constants (defs-vk)

Contains any pixmaps, declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities (bxutils-vk)

Contains convert functions.

· Callbacks (callbacks-vk)

Contains any callback information for non-class widgets.

· App Defaults (app-defaults)

File that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or using the -xrmflag on the applications command line.

· A header file and source file for every class in the interface.

Generate C

Writes the C files for your application. To generate your application code outside Builder Xcessory, use the following flag in the cgx command:

cgx50 -genC -file >filename>

Files generated
for C

The following list describes the C files generated by Builder Xcessory when you select Generate C, or execute the cgx50 -gen C command on the command line (default names are in parentheses):

· Imakefile ( Imakefile )

Imakefile that specifies C imake information.

· Makefile ( makefile-c )

C makefile for the current platform.

· Main ( main-c.c )

Initializes the toolkit and calls the Widget Creation routine.

· Creation ( creation-c.c )

Contains code to create the widget hierarchy. Functions in this file are called by the Main file.

· Callbacks ( callbacks-c.c )

Contains any callback stubs for any callbacks defined in Builder Xcessory. When you write out the Callbacks file to a directory with an existing file of the same name, Builder Xcessory scans the existing file for the names of functions, and appends callback stubs for undefined callbacks only. Callbacks are never removed from this file and are never overwritten. Stubs for timers, event handlers, and work procedures are also output in this file.

· Constants ( creation-c.h )

Contains any pixmaps, declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities ( bxutil-c.c )

Contains convert functions, predefined callback code, and required xpm functions.

· App Defaults (app-defaults)

Includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit.

Generate UIL

Generates code for your application using a combination of C and UIL. Builder Xcessory generates your interface in a set of UIL files specified with the UIL File Manager. Other files are generated to compile, invoke, and run your UIL from outside Builder Xcessory.

Files generated
for UIL

The following list describes the UIL files generated by Builder Xcessory when you select Generate UIL, or execute thecgx50 -gen C_UIL command (default names are in parentheses):

The following lists the C files generated by Builder Xcessory when you select Generate C, or execute the cgx50 -gen C_UIL command on the command line (default names are in parentheses):

· Imakefile ( Imakefile )

· Imakefile that specifies both UIL and C imake information. Makefile ( makefile-uil )

Makefile for the current platform. Has targets for UIL as well as the associated C files.

· Main ( main-uil.c )

Initializes the toolkit, initializes Mrm, and makes Mrm calls in order to create widgets. This file is intended as a template to enable you to immediately compile the interface output from Builder Xcessory, it will not be adequate for all applications. In particular, Builder Xcessory creates an unrealized applicationShell and creates all topLevelShell children for all top-level windows, as recommended in Asente, Converse, and Swick's X Window System Toolkit.

Note: You can modify this file within the specified user code blocks. However, changes made outside these blocks are not preserved between code generation sessions.

· UIL File ( uil.uil )

Contains a description of the widgets. Compiled to a .uid file which is then read by the Mrm calls at run-time to create the interface. Builder Xcessory generates a backup file whenever it overwrites an existing UIL file. Automatic backup is provided for the default filename uil.uil or any customized filename. If, for example, you write the renamed UIL file new_uil.uil, and a copy of this file already exists, Builder Xcessory generates the backup file new_uil.uil~. These UIL files are identical to the files generated when you select Save from the Browser File menu.

· Callbacks (callbacks-uil.c)

Contains callback stubs. When you write out the Callbacks file to a directory with an existing file of the same name, Builder Xcessory scans the existing file for the names of functions and appends callback stubs for undefined callbacks only. Callbacks are never removed from this file and are never overwritten. Stubs for timers, event handlers, and work procedures are also output in this file.

· Constants (main-uil.h)

Contains declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities (bxutil-uil.c)

Contains convert functions and predefined callback code.

· App Defaults (app-defaults)

File that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit

You can change any filename, and disable or enable the generation of a particular file from the File Names tab of the Code Generation Preferences dialog (Browser Options menu). Any changes made in the Output File Names dialog will be reflected in subsequent generation of code.

Generate Java

Writes the Java files for your application.

To generate your application code outside Builder Xcessory, use the following flag in the cgx50 command:

-cgx50 -gen JAVA

Files generated
for Java

The following list describes the Java files generated by Builder Xcessory when you select Generate Java, or execute the cgx50 -gen JAVA command on the command line (default names are in parentheses):

· A source file for every user-defined class and top-level object in your interface (name_of_class.java and
name_of_top_level_object.java)

· Makefile (makefile-java)

Java makefile for current platform.

· Main (MainApp)

Main file which instantiates all top level objects,

Note: If you have only one top level object you might want to unset file generation of the main file on the File Names tab of the Generation Preferences dialog.

· HTML (MainApp)

HTML file for the MainApp Class that allows the application to run in a browser or an applet viewer.

· Constants (Def)

Contains any pixmaps, declarations of constants, and global instances of objects or classes used in the interface.

Print Setup

Displays the Print Setup dialog:

Print Setup Dialog

The toggles set on this dialog specify the options which are used when you select Print Hierarchy from the Browser File menu.

Destination

The radio buttons in the Destination field adjust whether the output of Print Hierarchy will go to a file, a viewer window, or a printer.

· To File

Allows you to print to a file. Enter the name of the file or select the name in a file selection box accessed by clicking the (...) button.

· To Window

Allows you to print to a viewer window. When you select Print Hierarchy, the print viewer window is displayed and the hierarchy is printed to that window:

Print Viewer

Clear this window, save as an ASCII file, or print it.

· To Printer

Allows you to print a hierarchy using the Print Command specified at the bottom of the dialog.

Options

The toggles in the Options field adjust the format and content of the print output:

· Include Instance Names

Includes the name of each object instance in the output.

· Include Class Names

Includes the class name of each object instance in the output.

· Expand Classes

Includes information for the full membership of classes in the output; if unset, only information about the class itself is included.

· Append Output to Window

Specifies not to clear the viewer between outputs. If unset, the viewer will be overwritten with each output.

· Indent Offset

Number of spaces each level of the hierarchy is indented (text field).

Hierarchy View

The toggles in Hierarchy View allow you to print either the Browser or the XtIntrinsic view of the widget hierarchy:

· Browser View

Mirrors the contents of the Browser, showing the logical hierarchy of the objects in the interface.

· Xt Intrinsic View

Shows the literal hierarchy from the Xt perspective.

Note: When using Java as the code generation language, the Xt Intrinsics View option will display the widget hierarchy that Builder Xcessory uses to emulate the Java AWT objects. This is not always useful.

Example

For example, the Browser hierarchy for a menu bar with a pulldown menu child is the following:

topLevelShell (TopLevelShell)
menuBar (XmMenuBar)
cascadeButton (XmCascadeButton)
pulldownMenu (XmPulldownMenu)
pushButton (XmPushButton)

The Xt hierarchy for the same collection is the following:

topLevelShell (TopLevelShell)
menuBar (XmRowColumn)
cascadeButton (XmCascadeButton)
pulldownMenuMenuShell (XmMenuShell)
pulldownMenu (XmRowColumn)
pushButton (XmPushButton)

Selection

· Selected

Allows you to print only the tree whose root is the currently selected object.

· All

Allows you to print the entire interface.

Print Command

Specifies the printer command appropriate for your system.

Print Hierarchy

Executes the print command as specified by the options in the Print Setup dialog.

Exit

Exits the Builder Xcessory. If you have made changes to your interface since last writing out the UIL file, Builder Xcessory displays a warning dialog that allows you to save your changes, quit your changes, or cancel the exit operation.


Note: Exiting Builder Xcessory does not initiate an exit of any development environment tools started from Builder Xcessory.

 

Documentation: 

Browser Managers Menu

Managers help you keep track of the many procedures, types, identifiers, constants, and resource styles that you define in a large, complex interface. The Browser Manger menu allows you to view Builder Xcessory managers. Select Managers from the Browser menu bar, to display the following menu:

Browser Managers Menu

The managers accessible from this menu allow you create, edit, and delete elements of callback and creation routines. Changes entered in the Callbacks Editor or the Creation Routine dialog are reflected in the managers, and vice-versa.

Refer to Managers  for detailed information about each of the Builder Xcessory managers.

 

Browser Managers Menu

The following menu is displayed when you selecting Managers from the Browser menu bar:

Browser Managers Menu

The available menu choices allow you create, edit, and delete styles, constants, procedures, identifiers, types, and files. Changes entered in the Callbacks Editor or the Creation Routine dialog are reflected in the managers, and vice-versa.

The following sections describe the Browser Managers menu options.

 

Browser Options Menu

The Browser Options menu allows you to change the default language, modify the default language settings, set various user preferences, change information relating to the makefile integration with other tools, internationalization, and the importing of GIL files.

Choose Options from the Browser menu bar to display the following menu:

Browser Options Menu

Choose A Language

Displays the Language dialog:

Language Dialog

You can select the language for each application or change the default language at any time during your Builder Xcessory session.

Save As Default

Saves the selected language as the default language. The language is saved to the .bxrc file and becomes the default language when you perform a New operation or when you restart Builder Xcessory.


Note: The following Language Dialog is displayed at startup during your first Builder Xcessory session only.

Language Dialog at Startup

Code Generation Preferences

Displays the Generation Preferences dialog for the currently specified language. For each tab panel, you can choose the settings for the current project, or save the settings as default values (Save As Default) that are written to your .bxrc file. The default settings appear when you perform a New operation or restart Builder Xcessory.


Note: The Code Generation Preferences are saved with your application in the UIL file. When you open a UIL file, the settings change to the settings for that particular UIL file.

The following sections describe the Code Generation Preferences dialog for each available language.

C++ Code Generation Preferences

The C++ Generation Preferences dialog is divided into four tabs:

· File Names

· Include Info

· Makefile

The following sections describe the options for each tab panel.

C++ File Names

Click on the File Names tab to display the File Names menu of the C++ Generation Preferences dialog:

File Names Panel on the C++ Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the file setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Directory Path

The Directory Path field allows you to specify the directory into which generated files will be written.


Note: Changing the directory here changes the directory throughout Builder Xcessory. Builder Xcessory uses only one directory at a time.

File Output Names

The File Output Names field specifies the following files (defaults are in parentheses):

· Imakefile (Imakefile) is the imakefile that specifies C++ imake information.

· Makefile (makefile-C) is the C++ makefile.

· Class Tree Root (UIComponent) contains the root class from which all classes created in Builder Xcessory are derived.

· Main (main-C.C) initializes the Motif toolkit and creates your application's shell widgets and classes. Changing this allows you to use a different base class for your application components. Builder Xcessory creates an unrealized applicationShell and creates all topLevelShell children for all top-level windows. To modify the main-C.C file for your application, make your changes in the user code blocks. Any changes made outside the user code blocks will be overwritten in subsequent generations. To write your own main routine, disable subsequent file generation by unsetting the toggle.

· Constants (defs-C.h) contains pixmaps, declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities (bxutils-C.C) contains convert functions.

· Callbacks (callbacks-C) contains any callback information for non-class widgets.

· App Defaults (app-defaults) is the file that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit option -xrm on the command line.

File Extensions

The File Extensions field specifies the following file extensions:

· C++ Source Extension contains the value appended to the source file name after a dot. The default is C.

· C++ Header Extension contains the value appended to the header file after a dot. The default is h.

C++ Application

Click on the Application tab to display the Application menu of the C++ Generation Preferences dialog:

Application Panel on the C++ Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the code setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Application Class

The Application Class resource field allows you to enter a class name for the application. Xt uses the Application Class name to find and load application resources, and the application defaults file. When you install your application, the app-default file name should be the same as the application class name.

Application Name

The Application Name resource field allows you to assign a name to your current application. Xt uses the Application Name to resolve precedence of resource specifications.

Toggle options

You can set the following toggle options:

· User-Specified Main Loop specifies a function to call rather than XtAppMainLoop.

· Initialize Localization Support supports whether or not to generate a call to XtSetLanguageProc in the application initialization. Calling this function enables support in X and Motif for non-English locales.

· Generate Derived Files generates an additional subclass for each user-defined class. If set, all application code must be written in the derived file. Default name is "class name"Derived.C.

· (Parented) Dialog Shell Initially Unmanaged toggles to manage Dialog Shells, such as XmDialogShell, in the main-C.C file.

· Use Old Style Constructor for backward compatibility. In previous versions of Builder Xcessory, constructors for user-defined classes created the interface, and the parent widget ID was passed as a parameter.

· Remove Overridden Exposed Callbacks removes the class callbacks when overridden. Otherwise both methods will be called.

· Don't Create Unmanaged Windows delays creation of unmanaged windows.

· Ignore Geometry Resources on Shells does not print shell geometry (x, y, width, height) in the output code.

· Delete Nested Classes in Destructor deletes nested classes created with a New operation inside the create method in the destructor.

C++ Include Info

Click on the Include Info tab to display the Include Info panel of the C++ Generation Preferences dialog:

Include Info Panel on C++ Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the include setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

C++ Output Include Information

Any headers or comments you enter in the C++ Output Include Information text field are included at the head of each file generated, under the commented heading User Supplied Include Files.

C++ Makefile

Click on the Makefile tab to display the Makefile panel of the C++ Generation Preferences dialog:

Makefile Panel on the C++ Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the make setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Make Target

Name of the target of the make executed when Make Application is selected from the Browser Project menu (default is main-C).

CC

Name of the C++ compiler.

CFLAGS

C++ compiler flags.

LIBS

X, Motif, and any other widget libraries.

Toggle option

Setting the toggle option Don't Include Ungenerated Class Files excludes classes for which you disabled code generation (see Generate Class ) from the list of source and object files that comprise your application. This is useful if you collected classes into a library, and want to link your application with this library.

Makefile Information

Include additional Makefile comments and information in this text area.

ViewKit Code Generation Preferences

The ViewKit Generation Preferences dialog is divided into the following five tabs:

· File Names

· Application

· Include Info

· Classes

· Makefile Options

The following sections describe the options for each tab panel.

ViewKit File Names

Click on the File Names tab panel to display the File Names menu of the ViewKit Generation Preferences dialog:

File Names Panel on the ViewKit Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the file setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Directory Path

The Directory Path field allows you to specify the directory into which generated files will be written.


Note: Changing the directory here changes the directory throughout Builder Xcessory. Builder Xcessory uses only one directory at a time.

File Output Names

The File Output Names field specifies the following files:

· Imakefile (Imakefile)

Imakefile that specifies ViewKit imake information.

· Makefile (makefile-vk)

ViewKit makefile for the current platform.

· Main (main-vk)

Initializes the application and instantiates the Window components.

· Constants (defs-vk)

Contains any pixmaps, declarations of constants used in the interface.

· Utilities (bxutils-vk)

Contains convert functions.

· Callbacks (callbacks-vk)

Contains any callback information for non-class objects.

· App Defaults (app-defaults)

File that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit.

File Extensions

The File Extensions field specifies the following file extensions:

· ViewKit Source Extension contains the value appended to the ViewKit source file name after a dot. The default is C.

· ViewKit Header Extension contains the value appended to the ViewKit header file after a dot. The default is h.

ViewKit Application

Click on the Application tab to display the Application panel of the ViewKit Generation Preferences dialog:

Application Panel on the ViewKit Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the app setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Application Class

The Application Class resource field allows you to enter a class name for the application. Xt uses the Application Class name to find and load application resources, and the application defaults file When you install your application, the app-default file name should be the same as the application class name.

Application Name

The Application Name resource field allows you to assign a name to your current application. Xt uses the Application Name to resolve precedence of resource specifications .

Toggle options

You can set the toggles for the following options:

· Custom Event Processing allows you to specify that name of a function to pass to VkApp::run(). ViewKit will call this function for every X event received. Builder Xcessory will also generate a stub for this function in main-vk.C .

· UseVkApp Subclass allows you to specify a subclass of VkApp to use in main-vk.C .

VkApp Subclass Include

Allows you to specify the include file for the VkApp subclass specified when you set the UseVkApp Subclass toggle

Toggle options

You can set the following toggle options:

· Remove Overridden Exposed Callbacks removes the class callbacks when overridden. Otherwise both methods will be called.

· Delete Nested Classes in Destructor deletes nested classes created with a New operation inside the create method in the destructor.


Note: The create method must be called to avoid causing an error.

· Initialize Fallback Resources inserts code and a user code block in main-vk.C where you can insert you application's fallback errors.

· (Parented) Dialog Shell Initially Unmanaged toggles whether dialogs initially should be hidden regardless of their state in Builder Xcessory.

· Use VkRunOnce allows you to specify that only one single instance of an application can be run on any system at any one time. Also allows you to pass arguments to the running version of the application. Selecting this option will cause an instance of VkRunOne2 to be created in main-vk.C .

· UseToolTalk uses VkMsgApp (instead of VkApp) which sets up a ToolTalk session. All windows are subclassed from the VkMsgWindow instead of VkWindow, and VkMsgComponent is used instead of VkComponent. In cases where you specify your own subclasses of VkApp or VkComponent, the generated code assumes they are subclasses of VkMsgApp or VkMsgComponent, respectively.

ViewKit Classes

Click on the ViewKit Classes tab to display the Classes panel of the ViewKit Generation Preferences dialog:

Classes Panel on the ViewKit Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the app setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Toggle options

You can set the following toggle options:

· Generate UIAppDefaults Structure controls whether code for resource defaulting is generated in each class. It is selected by default, largely for backward compatibility. In most cases, the ViewKit supported defaultResources is sufficient and you can deselect this option.

· Remove Overridden Exposed Callbacks removes the class callbacks when overridden. Otherwise both methods will be called.

· Delete Nested Classes in Destructor deletes nested classes created with a New operation inside the create method in the destructor.

· Ignore Geometry Resources on Shells does not print shell geometry (x, y, width, height) in the output code.

· Generate VkTabbedDeck Source Code allows you to choose to have source code for the VkTabbedDeck class generated into you working directory.


Note: Previous ViewKit versions (prior to version 1.3). did not include VkTabbedDeck class.

ViewKit Include Info

Click on the Include Info tab to display the Include Info panel of the ViewKit Generation Preference dialog:

Include Info Panel on the ViewKit Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the make setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

ViewKit Output Include Information

Any headers or comments you enter in the ViewKit Output Include Information text field are included at the head of each file generated, under the commented heading User Supplied Include Files.

ViewKit Makefile

Click on the Makefile tab to display the Makefile panel of the ViewKit Generation Preferences dialog:

Makefile Panel on the ViewKit Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the make setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Make Target

Name for the command make executed when Make Application is selected from the Browser Project menu. Default is main-vk.

CC

Name of the C++ compiler.

CFLAGS

C++ compiler flags.

LIBS

X, Motif, ViewKit and any other widget libraries.

Toggle option

Setting the toggle option Don't Include Ungenerated Class Files causes all classes for which you chose not to generate code to be excluded from the makefile with the assumption that they are part of a library listed in the LIBS section.

Makefile Information

Include additional Makefile comments and information in this text area.

C Code Generation Preferences

The C Generation Preferences dialog is divided into four tabs:

· File Names

· Application

· Include Info

· Makefile

The following sections describe the options for each tab panel.

C File Names

Click on the File Names tab to display the File Names panel of the C Generation Preferences dialog:

File Names Panel on the C Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the file setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Directory Path

The Directory Path field allows you to specify the directory into which generated files will be written.


Note: Changing the directory here changes the directory throughout Builder Xcessory. Builder Xcessory uses only one directory at a time.

File Output Names

The File Output Names field specifies the following files:

· Imakefile ( Imakefile )

Imakefile that specifies C imake information.

· Makefile ( makefile-c )

C makefile for the current platform.

· Main ( main-c.c )

Initializes the toolkit and calls the Widget Creation routine.

· Creation ( creation-c.c )

Contains code to create the widget hierarchy. The functions in this file are called by the Main file.

· Callbacks ( callbacks-c.c )

Contains any callback stubs for any callbacks defined in Builder Xcessory. When you write the Callbacks file to a directory with an existing file of the same name, Builder Xcessory scans the existing file for the names of functions and appends callback stubs for undefined callbacks only. Callbacks are never removed from this file or overwritten. Stubs for timers, event handlers, and work procedures are also output in this file.

· Constants ( creation-c.h )

Contains any pixmaps, declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities ( bxutil-c.c )

Contains convert functions, predefined callback code, and the necessary xpm functions.

· App Defaults (app-defaults)

Includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit.

C Application

Click on the Application tab to display the Application panel of the C Generation Preferences dialog:

Application Panel on the C Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the code setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Application Class

The Application Class resource field allows you to enter a class name for the application. Xt uses the Application Class name to find and load application resources, and the application defaults file.

Application Name

The Application Name resource field allows you to assign a name to your current application. Xt uses the Application Name to resolve precedence of resource specifications .

Toggle options

You can set the following options:

· User-Specified Main Loop specifies a function to call in place of the call to XtAppMainLoop.

· Generate ANSI C

When unset, Builder Xcessory generates standard K&R C code. When set, generates ANSI C. Set by default.

· Initialize Localization Support supports whether or not to generate a call to XtSetLanguageProc in the application initialization. Calling this function enables support in X and Motif for non-English locales.

· (Parented) Dialog Shell Initially Unmanaged toggles to manage Dialog Shells, such as XmDialogShell, in the main-c.c file.

· Put (Unparented) Dialog Shells in Creation Routines generates code to create the XmDialogShell in the creation-c.c file when a dialog shell that is the child of the root is encountered.

· Reverse Order of (Parented) Dialog Shells reverses the order of Dialog Shells that were not children of the root.

· Remove Overridden Exposed Callbacks removes the class callbacks when overridden. Otherwise both methods will be called.

· Don't Create Unmanaged Windows delays creation of unmanaged windows.

C Include Info

Click on the Include Info tab to display the Include Info panel of the C Generation Preferences dialog:

C Include Info Tab on the C Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the include setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

C Output Include Information

Any headers or comments you enter in the C Output Include Information text field are included at the head of each file generated, under the commented heading User Supplied Include Files.

C Makefile

Click on the Makefile tab to display the Makefile panel of the C Generation Preferences dialog:

C Makefile Tab on the C Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the make setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Make Target

Name of the target of the make executed when Make Application is selected from the Browser Project menu (default is main-c).

CC

Name of the C compiler.

CFLAGS

C compiler flags.

LIBS

X, Motif, and any other widget libraries.

Toggle option

Setting the toggle option Don't Include Ungenerated Class Files excludes classes for which you disabled code generation (see Generate Class ) from the list of source and object files that comprise your application. This is useful if you collected classes into a library, and want to link your application with this library.

Makefile Information

Include additional Makefile comments and information in this text area.

UIL Code Generation Preferences

The UIL Generation Preferences dialog is divided into four tabs:

· File Names

· Application

· Include Info

· Makefile Option


Note: When you select UIL as your language, Builder Xcessory generates UIL to implement the interface and C code to implement the application.

The following sections describe the options for each tab panel.

UIL File Names

Click on the File Names tab to display the File Names panel of the UIL Generation Preferences dialog:

File Names Menu on the UIL Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the file setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Directory Path

The Directory Path field allows you to specify the directory into which generated files will be written.


Note: Changing the directory here changes the directory throughout Builder Xcessory. Builder Xcessory uses only one directory at a time.

File Output Names

The File Output Names field specifies the following files:

· Imakefile ( Imakefile )

Imakefile that specifies both UIL and C imake information.

· Makefile ( makefile-uil )

Makefile for the current platform. Has targets for UIL as well as the associated C files.

· Main ( main-uil.c )

Initializes the toolkit, initializes Mrm, and makes Mrm calls in order to create widgets. Although this file is intended as a template to enable you to immediately compile the interface output from Builder Xcessory, it will not be adequate for all applications. In particular, Builder Xcessory creates an unrealized applicationShell and creates all topLevelShell children for all top-level windows, as recommended in Asente, Converse, and Swick's X Window System Toolkit.

Note: You can modify this file within the specified user code blocks, but changes made outside these blocks will not be preserved between code generation sessions.

· UIL File ( uil.uil )

Contains a description of the widgets. Compiled to a .uid file which is then read by the Mrm calls at run-time to create the widgets. Builder Xcessory generates a backup file whenever it overwrites an existing UIL file. Automatic backup is provided for the default filename uil.uil or any customized filename. If, for example, you write the renamed UIL file new_uil.uil, and a copy of this file already exists, Builder Xcessory generates the backup file new_uil.uil~. These UIL files are identical to the files generated when you select Save from the Browser File menu.

· Callbacks (callbacks-uil.c)

Contains callback stubs. When you write out the Callbacks file to a directory with an existing file of the same name, Builder Xcessory scans the existing file for the names of functions and appends callback stubs for undefined callbacks only. Callbacks are never removed from this file and are never overwritten. Stubs for timers, event handlers, and work procedures are also output in this file.

· Constants (main-uil.h)

Contains declarations of constants, and global instances of widgets or classes used in the interface.

· Utilities (bxutil-uil.c)

Contains convert functions and predefined callback code.

· App Defaults (app-defaults)

File that includes all resources with app-defaults value set to App. The user can change an app-default resource value by editing the app-defaults resource file, overriding the file from a local resource file, or entering the toolkit

UIL Application

Click on the Application tab to display the Application panel of the UIL Generation Preferences dialog:

Application Panel on the UIL Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the app setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Application Class

The Application Class resource field allows you to enter a class name for the application. Xt uses the Application Class name to find and load application resources, and the application defaults file.

Application Name

The Application Name resource field allows you to assign a name to your current application. Xt uses the Application Name to resolve precedence of resource specifications .

Toggle options

You can set the following options:

· User-Specified Main Loop specifies a main loop to replace XtAppMainLoop.

· Generate ANSI C

When unset, Builder Xcessory generates standard K&R C code. When set, generates ANSI C. Set by default.

· Don't Create Unmanaged Windows delays creation of unmanaged windows.

· Ignore Geometry Resources on Shells does not print shell geometry
(x, y, width, height) in the output code.

UIL Include Info

Click on the Include Info tab to display the Include Info menu of the UIL Generation Preferences dialog:

Include Info Panel on the UIL Generation Preferences Dialog

C Output Include Information

Any headers or comments you enter in the C Output Include Information text field are included at the head of each file generated, under the heading User Supplied Include Files.

UIL Makefile

Click on the Makefile tab to display the Makefile panel of the UIL Generation Preferences dialog:

Makefile Panel on the UIL Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the include setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Make Target

Make Target (main-uil) is the name of the target of the make command executed when you select Make Application from the Browser Project menu.

CC

Name of the C compiler.

CFLAGS

C compiler flags.

LIBS

X, Motif, and any other widget libraries.

Makefile Information

Include additional Makefile comments and information in this text area.

Java Code Generation Preferences

The Java Generation Preferences dialog is divided into three tabs:

· File Names

· Application

· Makefile

The following sections describe the options for each tab panel.

Java File Names

Click on the File Names tab to display the File Names menu of the Java Generation Preferences dialog:

File Names Panel on the Java Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the file setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Directory Path

Allows you to specify the directory into which to write generated files.


Note: Changing the directory here changes the directory throughout Builder Xcessory (Builder Xcessory uses only one directory at a time).

File Output Names

The File Output Names field specifies the following files:

· Makefile (makefile-java)

Java makefile for current platform.

· Main (MainApp)

Main file which instantiates all top level objects,

Note: If you have only one top level object, you can deselect the Main toggle on the File Names tab of the Generation Preferences dialog.

· HTML (MainApp)

HTML file for the MainApp Class that allows the application to run in a browser or an applet viewer.

· Constants (Def)

Contains any pixmaps, declarations of constants, and global instances of objects or classes used in the interface.

Java Application

Click on the Application tab to display the Application panel of the Java Generation Preferences dialog:

Application Menu on the Java Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: Displays a warning dialog with the message "This will save the app setting(s) to the BX application resources." Click OK to continue, Cancel to cancel.

Toggle options

You can set the following toggle options:

· Make Main File An Applet

Makes the main class into an applet rather than an application.

· Applets Implement Runnable toggles whether generated applets will implement the runnable interface for threading. All applets or subclasses of applets will Implement Runnable. Off by default.

· Generate HTML files for all valid classes

Creates an HTML file for all classes created in Builder Xcessory, which can be run in a browser or applet viewer.

· Dialog Shells Initially Unmanaged

Toggles to manage Dialog Shells in the MainApp file.

Note: Only classes derived from Applets, Frames, or Dialogs can be run in a browser or Applet viewer.

Java Makefile

Click on the Makefile tab to display the Makefile Menu of the Java Generation Preferences dialog:

Java Makefile Panel on the Java Generation Preferences Dialog

Save As Default

Saves the specified settings on this menu as the default settings. The settings are saved to the .bxrc file and appear when you perform a New operation or when you restart Builder Xcessory.


Note: A warning dialog with the message "This will save the make setting(s) to the BX application resources." is displayed. Click OK to continue, Cancel to cancel.

Compiler Flags

Compiler flags. Builder Xcessory default is -verbose.

Toggle option

Setting the toggle option Don't Include Ungenerated Class Files excludes classes for which you disabled code generation (see Generate Class ) from the list of source and object files that comprise your application. This is useful if you collected classes into a library, and want to link your application with this library.

Makefile Information

Include additional Makefile comments and information in this text area.

User Preferences

Displays the User Preferences dialog. The User Preferences dialog is divided into the following five tabs:

· General

· Toolbars

· Behavior

· Save File

· Shells

The following sections describe the options for each tab panel.

General

Click on the General tab of the User Preferences dialog to display the General panel:

General Panel of the User Preferences Dialog

Grid Units

Allows you to change the placement grid dimensions. Enter the width of a grid square in pixels in the Grid Units text field. Default value is 10.

Motif Version

Allows you to specify the version of Motif. Default value is 1.2.

Panner Timeout

Allows you to specify the speed (in milliseconds) of the automatic panning of the Browser display. Default value is 1000.

Autosave Interval

Allows you to specify the interval, in button and key actions, between automatic backups of the UIL file. Default value is 100.

Toolbars

Click on the Toolbars tab of the User Preferences dialog to display the Toolbars panel:

Toolbars Panel of the User Preferences Dialog

Toolbars options

Controls the display of both the Browser and the Resource Editor Toolbars. You can set the following toggle options:

· Icons and Labels

· Icons Only

· Labels Only

Behavior

Click on the Behavior tab of the User Preferences dialog to display the Behavior panel:

Behavior Panel of the User Preferences Dialog

Behavior toggle options

You can set the following toggle options:

· Save Window State on Exit

Saves the size, position, and icon state of Builder Xcessory windows between sessions. When set, the window state of your current Builder Xcessory session will be used the next time you start Builder Xcessory.

· Auto Dismiss Startup Panel

Dismisses the ICS Window after Builder Xcessory finishes loading. Unset by default.

· Confirm Delete Actions

When set, all deletions must be confirmed by the user. Set by default.

· Auto Menu Popup

When set, the children of a menu are displayed on the interface when you click on the menu parent, and when you create a menu. Set by default.

· Strict Dialogs

According to the OSF/Motif Style Guide, only those objects which inherit from the XmBulletinBoard widget class may be children of an XmDialogShell. When Strict Dialogs is set, Builder Xcessory complies with that recommendation. When Strict Dialogs is unset, Builder Xcessory permits you to create any object as the child of an XmDialog Shell. Set by default.

Note: This option is not available for Java.

· Delay Shell Realize

Unset by default. When set, each top level shell of an interface read into or opened by Builder Xcessory is initially deselected in the Browser list, and the widget tree is not realized until the top level shell is selected. This feature allows you to read or open very large interfaces more efficiently.

· Tree Initially Closed

When unset, the descendants of an object created along with that object are displayed on the Browser object instance hierarchy. The top level shell or parent's folder defaults to Open. When Tree Initially Closed is set, the descendants of an object created along with that widget are hidden on the Browser object instance hierarchy. (The top level shell or parent's folder defaults to Closed.) Unset by default.

· Center Browser Tree

When set, the object instance hierarchy display on the Browser is automatically centered around the currently selected object. Unset by default.

· Raise Resource Editor

When unset, the Resource Editor remains where it is on your display (even iconified) when you double-click on an object to update the Resource Editor. When set, the Resource Editor is raised to the top of your display (and deiconified as necessary) when you double-click on an object to update the Resource Editor. Unset by default.

· Single Class View

When set, shows only one class at a time. Clicking on another class in the list hides the current class and shows the new class. Useful for browsing large collections of classes. Unset by default.

· Start with EPak Widgets

When set, the Palette includes the members of the ICS Motif EnhancementPak on startup. Unset by default in Builder Xcessory. Set by default in BX PRO.

Save File

Click on the Save File tab of the User Preferences dialog to display the Save File panel:

Save File Panel of the User Preferences Dialog

Save File toggle options

You can set the following toggle options:

· Always Generate Pixmaps generates code for any pixmaps loaded into Builder Xcessory, even if unused. Typically, Builder Xcessory will generate only code for pixmaps used in the application. Unset by default.

· Generate Special UIL

When set, Builder Xcessory outputs user-defined widgets to compile with the standard UIL compiler (without rebuilding). Unset by default.

Note: This option is not applicable in Java.

· Xt Name Compliant

When unset, allows instance names of widgets to begin with an upper case letter. When set, forces a lowercase letter. Capitalized widget names might cause problems with the proper inheritance of application defaults resource values and conflicts with Xt specifications. Set by default.

Shells

Click on the Shells tab of the User Preferences dialog to display the Shells Panel:

Shells Panel of the User Preferences Dialog

Button One Shell

This menu allows you to select the kind of shell created when you drag and drop an object from the Palette with MB1. The shell options on the scroll menu include the following:

· ApplicationShell

· TopLevelShell

· XmDialogShell

· TransientShell

Default value is TopLevelShell.


Note: These menu options are not applicable in Java.

Button Three Shell

This menu allows you to select which kind of shell is created when you drag and drop an object from the Palette with MB3. The shell options on the scroll menu include the following:

· ApplicationShell

· TopLevelShell

· XmDialogShell

· TransientShell

Default value is XmDialogShell.


Note: These menu options are not applicable in Java.

Tools Preferences

Displays the Tools Customization dialog. The Tools Customization dialog is divided into the following tabs:

· Source Code Control

· Debugger & Build Manager

· Editor

· Test Tools

The following sections describe the options for each tab panel.


Note: Some of the tab options are available only when you configure Builder Xcessory to use a development environment tool.

Source Code Control

Click on the Source Code Control tab of the Tools Customization dialog to display the Source Code Control panel:

Source Code Controls Panel of the Tools Customization Dialog

Allows you to reset the value of several resources related to the following options (available based on the supported environments and platforms).

Select one of the available systems, including your environment's source code control system. RCS (Revision Control System), SCCS (Source Code Control System), and other source code control systems allow you to manage code in a multi-developer environment.

Typically, the program forces you to check out a file to modify it, and prevents other users from modifying the file until it is checked back in. Source code control programs also keep track of the revisions made between subsequently checked-in files, to allow quick reconstruction of a previous version of a file. Consult your source code control documentation for more detailed information.

The source code menu allows you to select your source code control system. If you start Builder Xcessory from within your development environment, select the Use Environment Manager option to use your environment's system.

Scroll menu options

If your environment does not have a source code control system, or you want to use another system, select one of the following options:

· Unset

Completely disables the use of source code control within Builder Xcessory. The Check Out and Check In options in the File menu become insensitive, and Builder Xcessory does not query whether a file should be checked out.

Note: If your development environment supports integration with its source code control tool, this option might be listed as an option to use your environment's source code control tool.

· Use RCS

F ills the text fields below the option menu with the default RCS commands for locking a file, checking out a file, cancelling a check out, and checking in a file. You can edit any of these text fields.

· Use SCCS

Fills the text fields below the option menu with the default SCCS commands for checking out and locking a file, checking out a file, cancelling a check out, and checking in a file. You can edit any of these text fields.

· Use ClearCase

Fills the text fields below the option menu with the default ClearCase commands for checking out and locking a file, checking out a file, cancelling a check out, and checking in a file. You can edit any of these text fields.

· User Specified

Clears the text fields. You must supply command strings for each field. If you do not enter a command string in a field, its associated action will not be available through the Check Out and Check In dialogs.

Source Code Control text fields

The following text fields are available on the Source Code Control menu (defaults depend on whether you selected RCS, SCCS, Clear Case or User Specified):

· Check Out Locked Command

Checks file out from source code control system, makes the file editable, and locks it.

· Check Out Unlocked Command

Gets a read-only version of the most recent version of the file.

· Cancel Check Out Command

Cancels a check-out command. Any changes you make to the checked-out file are ignored. The original file remains intact and checked in.

· Check In Command

Checks the edited file back in.

· Header Keywords

Revision control for RCS, SCCS, Clear Case or User Specified. Allows you to insert identification keywords in Builder Xcessory .uil file. The default for RCS is $ID$. The default for SCCS is %W% %D% %T%. The other tools default to blank. Consult the appropriate source code control documentation for more information.

Options syntax in Builder Xcessory

Builder Xcessory executes many of the source code control commands by constructing a command as it would be entered at a shell prompt. The command lines for the various commands use symbolic representations for the various user-specified command line options.

Builder Xcessory substitutes the appropriate value for the representation when it builds the command line. In general, the options syntax is as follows:

%option_name[actual_option_flag]

Everything within the brackets "[ ]" is substituted for the option name in the command line. Most options may also include "%s" within the brackets "[ ]", indicating where to insert dynamically determined text, (such as a file name or a line number).

Example

For example, assume a command to check out a file from source code control was "checkout" and it takes the name of the file to check out as an argument. The following is entered:

checkout %file[%s]

If the filename argument must follow the flag "-f", the command is entered as follows:

checkout %file[-f%s]

Note: Items outside an option description, that is, not within the brackets "[ ]", are added verbatim in the command line.

Command line option substitutions

The following list describes the command line option substitutions available for source code control commands:


Note: None of these options are required.

· %file

Indicates the filename for the source code control operation. You can use %s within the brackets "[ ]".

· %version

Specifies file version string. You can use %s within the brackets "[ ]".

· %comments

Specifies any comments to be associated with a particular revision of a file. You can use %s within the brackets "[ ]".

· %overwrite

Boolean flag used for checking out files. If True, the contents of the brackets "[ ]" are substituted on the command line. If False, nothing is added.

· %keep

Boolean flag used when checking in files. If True, the contents of the brackets "[ ]" are substituted on the command line. If False, nothing is added.

Debugger & Build Manager

Displays the Debugger & Build Manager dialog:

Debugger & Build Manager Panel of the Tools Customization Dialog


Note: The Debugger & Builder dialog is available only when you configure Builder Xcessory to use a development environment tool.

Scroll menu options

The Debugger & Build Manager menu allows you to select your debugger, as follows:

· Use Environment Tools

Use your environment's debugger. If you start Builder Xcessory from within your development environment, the debugger option allows you to choose this option.

· Use CenterLine Tools

Use CenterLine's debugger. Choose this option if you use either CodeCenter or ObjectCenter for application development and debugging.

Note: The selected debugger becomes the default in your next Builder Xcessory session. For example, if you start Builder Xcessory from within your environment and select Use Environment Tools, the default debugger option is Use Environment Tools when you start your next Builder Xcessory session from within your environment. If you start Builder Xcessory outside your environment (on the command line), the Use Environment option becomes the Unset option.

· Unset

Unsets the debugger option.

· Execute CenterLine Command toggle

Instructs Builder Xcessory to try to start the selected CenterLine debugger. This toggle button is insensitive unless you choose Use CenterLine Tools. If unset, Builder Xcessory assumes that the Centerline debugger is already running and tries to connect.

CenterLine Options

You can set the following Centerline options:

· C++ Message

Commands to send to CenterLine to start a debug session on C++ code.

· C Message

Commands to send to CenterLine to start a debug session on C code.

· Reset Message

Commands sent when Builder Xcessory switches from Debug Mode to Build or Play Mode.

· C++ Command

Command used to start CenterLine debugger if necessary. The default is objectcenter-motif. This command is used with C++ code.

· C Command

Command used to start CenterLine debugger if necessary. The default is xcodecenter. This command is used with C code.

Editor

Click on the Editor tab to display the Editor panel of the Tools Customization dialog:

Editor Panel of the Tools Customization dialog

The following table describes the available editors and their respective command line options:

Editor

Command Line Options

Unset

Indicates no editor is selected.

Environment editor

Uses your development environment's editor.

Emacs

emacsclient %line[+%s] %file[%s]

VI

xterm -e vi %line[+%s] %file[%s]

User Specified

Enter the command of your choice according to the option specifications described in the following section, Options syntax in Builder Xcessory .

Using emacsclient

Builder Xcessory uses the tool emacsclient to tell Emacs to load a file and display the buffer. Emacs must be running. Builder Xcessory issues a request of this "Edit Server". By default, Emacs is not configured to run as a server. In order for the emacsclient tool to work, you must add the following Emacs Lisp command to your .emacs file (the file that emacs runs at startup):

(server-start)

Enter this line exactly as shown, including parentheses. Once Emacs loads and executes the .emacs file again (usually when it starts), it recognizes edit requests from emacsclient .

Running Emacs with emacsclient requires that the emacsclient executable and Emacs executable be run on the same machine. The socket that emacsclient uses to communicate with emacs is a local socket.

Using gnuclient

To enable emacs to run on one system and the client program to make edit requests from another system, you can usegnuclient. gnuclient works similarly to emacsclient , but also includes the following features:

· The -q option forces gnuclient to send its edit request but not wait for the request to complete. The gnuclientprocess exits as soon as it sends the edit request.

· The gnuclient software includes the ability to specify another host on which emacs is running and to make the edit request on that machine.

The gnuclient software is available with FTP from most GNU Emacs Lisp archive sites. To use gnuclient /gnuserv , include the following in the .emacs file:

(load "gnuserv")
(server-start)

Options syntax in Builder Xcessory

Builder Xcessory executes the text editor commands by constructing a command as it would be entered at a shell prompt. The command lines for the various commands use symbolic representations for the various user-specified command line options.

Builder Xcessory substitutes the appropriate value for the representation when it builds the command line. In general, the options syntax is as follows:

%option_name[actual_option_flag]

Everything within the brackets "[ ]" is substituted for the option name in the command line. Most options may also include "%s" within the brackets "[ ]", indicating where to insert dynamically determined text, (such as a file name or a line number).

Example

For example, assume a command to edit a file was "editor" and it takes the name of the file to edit as an argument. This is entered as the following:

editor %file[%s]

If the filename argument must follow the flag "-f", the command is entered as

editor %file[-f %s]

Command line option substitutions

The following list describes the command line option substitutions available for text editor commands:

· %line

Specifies the line of the specified file to go to when the file is opened. %s indicates the line number to which to move the cursor.

· %file

Specifies the name of the file to open. %s indicates the position of the filename.

Test Tools

Click on the Test Tools tab of the Tools Customization dialog to display the Test Tools panel:

Test Tools Panel of the Tools Customization Dialog

XRunner Library

Setting the XRunner Library toggle specifies the library that your application is linked to for XRunner to communicate with the application.

When you compile, append xrunner to the standard make command, as follows:

make -f <makefile> xrunner

When using Imakefiles generated by Builder Xcessory, enter make xrunner (uses the last generated Makefile):

When the toggle is set, XRunner targets are added to makefile, so that the XRunner libraries are built into the executable. When you run XRunner outside of Builder Xcessory, XRunner will query your application according to this setting.


Note: XRunner integration is supported for versions of XRunner up to and including 2.0.

Purify Command

Setting Purify Command specifies the command which Builder Xcessory places in front of the compile line in the generated C or C++ Makefile for the application. When you compile, append pure to the standard make command, as follows:

make -f <makefile> pure

For the correct Imakefile enter make pure (uses the most recent Makefile generated from the Imakefile):

When the toggle is set, the "pure" targets is added to makefile, so that the Purify commands are built into the executable. The application validates memory use and reports when a memory violation occurs. Purify will also report any leaked memory.

MemAdvisor

Setting MemAdvisor Command specifies the command which Builder Xcessory places in front of the compile line in the generated C or C++ Makefile for the application. When you compile, append pure to the standard make command, as follows:

make -f <makefile> pure

For the correct Imakefile enter make pure (uses the most recent Makefile generated by Imakefile):

When the toggle is set, MemAdvisor targets are added to makefile, so that the MemAdvisor commands are built into the executable. The application validates memory use and reports when a memory violation occurs. MemAdvisor will also report any leaked memory.

GIL Import Preferences

Displays the GIL Customization dialog.

GIL Customization Dialog of the Options Menu

Interface files created with Devguide may be imported into Builder Xcessory, allowing you to incorporate existing GIL(Guide Interface Language) interfaces into interfaces you create with Builder Xcessory.

The GIL Customization dialog allows you to set the following GIL to UIL converter options:

Look and Feel

Set the converter to produce either Motif or OpenLook appearance and behavior. Set to Motif by default.

Reposition

When set to Yes, the converter will attempt to reposition objects where appropriate. When set to No, reposition is not attempted. Set to Yes by default.

 

Documentation: 

Browser Overview

The Browser displays the hierarchical structure of your interface, and is the principle window used to control Builder Xcessory actions. This chapter includes the following sections:

Documentation: 

Browser Project Menu

The Browser Project menu allows you to construct your interface in Build Mode, test look and feel in Play Mode, run and debug generated code in Debug Mode using your environment's debugger, launch a build of the application you are building in Builder Xcessory, check files in and out of your environment's source code control system, and edit files.

Select Project from the Browser menu bar to display the following menu:

Browser Project Menu

Build Mode (Ctrl+B)


Note: Default mode of Builder Xcessory.

Allows you to use the Palette, Browser, and Resource Editor to create interface objects and edit their resource values.

Play Mode (Ctrl+P)

Allows interface objects to appear as if you compiled and linked your interface, without connected callback structures. All widgets behave normally, and menus, accelerators, mnemonics, and geometry management function as they will in the completed application. The Palette and Resource Editor are withdrawn. Pre-defined callbacks are invoked while Builder Xcessory is in Play Mode. Other callbacks display a message in the Browser Message Window.

If you change resource values while in Play Mode, these values are not necessarily retained when you return to Build Mode (thus allowing you to experiment without changing the values in your interface).


Note: Geometry resource changes are reflected in the interface when you return to Build Mode.

All resource values listed in the Resource Editor (except those for which Placement is set to None) will be Saved or Generated.

Debug Mode (Ctrl+D)

Allows you to launch a build-and-debug session with your environment's debugger. If your environment's build tool is not an integral part of the debugging tool, selecting Debug Mode first launches a build, waits for the build to complete successfully, and loads the debugger with the just compiled application.

Builder Xcessory can make use of the following debuggers.

Development Environment

Debugger

Version Number

Platform

Any environment

CodeCenter

4.x

SunOS, Solaris, and HP-UX

Any environment

ObjectCenter

2.x

SunSoft Workshop

debugger

2.0, 3.0

SunOS and Solaris

SGI Developer Magic

Debugger

2.3 and higher

IRIX

Builder Xcessory actions in Debug Mode

When you select Debug Mode, Builder Xcessory performs the following operations:

· Generates code for your interface.

If you changed your interface since the last code generation, Builder Xcessory automatically regenerates your source code depending on your currently selected language.

· Builds the interface code, as necessary.

Builder Xcessory causes the source code to be compiled. If your build tool is an integral part of you debugger, the build is performed by the debugger. Otherwise, the separate tool is used.

· Starts your debugger, as necessary.

Upon successful compilation, Builder Xcessory starts your debugger (if not already running) using the start command on the Tools Customization dialog.

Note: You can edit the start command on the Debugger & Build tab of the Tools Customization dialog. Refer to Debugger & Build Manager .
When your debugger starts up, the Builder Xcessory main windows are withdrawn, although you may still make selections from the Browser menus.

· Connects to your debugger.

You can manage or modify the connection between Builder Xcessory and your debugger on the Debugger & Build tab of the Tools Customization dialog. Refer to Debugger & Build Manager .

· Unmaps Builder Xcessory product windows.

· Passes control to your debugger, which runs your interface.

Run, test, and debug your interface. Return to Builder Xcessory to continue development by selecting Build Mode or Play Mode from the Browser Project menu. If you return to Builder Xcessory while your debugger is running your program, Builder Xcessory sends a reset command which might interrupt program run without ending the session.


Note: You can set this reset command for the CenterLine debuggers.

Returning to Builder Xcessory

When you return to Builder Xcessory in either Play Mode or Build Mode, the session remains active. At any time, you can automatically load your interface program back into the debugger/interpreter by selecting Debug Mode from the Browser Project menu.

Changing interfaces

If you are using CodeCenter/ObjectCenter with one interface already loaded, and you want to load an entirely different interface from Builder Xcessory, follow these steps:

1. On CodeCenter/ObjectCenter's command line, enter the following

unload user

2. Select Debug Mode from the Browser Project menu to load and run the new interface.


Note: You must select the Use CenterLine Tools debugger option on the Debugger & Build tab of the Tools Customization dialog. See Debugger & Build Manager .

If you initiate a session from Builder Xcessory and then Exit the Builder Xcessory, the session remains running.

Exiting CodeCenter/
ObjectCenter

To exit CodeCenter/ObjectCenter, enter:

quit

at the CodeCenter/ObjectCenter command line.

Make Application

Launches a build of the application for which you are constructing an interface. Builder Xcessory generates code for the application, and causes your environment's build tool to build the application, as shown in the following table:

Platform

Build Tool

Version

Platform

SunSoft Workshop

MakeTool

2.0 and 3.0

SunOS and Solaris

FUSE

Builder

2.0 and higher

DEC UNIX

Developer Magic

Build View

2.3 and higher

IRIX

Any Environment

Code/ObjectCenter

4.x and 2.x

SunOS, Solaris, and HP-UX


Note: The Browser message window displays reports of the build status.

Check Out Source

Displays the Check Out dialog.

Check Out Dialog

Allows you to check out any file from your environment's source code control system. The default directories and files displayed at the top of the dialog are those in the current working directory. To select a directory and display its files, double-click on the directory name. To select a file, click on the file name.

Selection

The Selection input box displays the currently selected file.

Changing the displayed file

You can change the displayed file by selecting a new file, or by performing the following steps:

1. Click in the input box.

2. Delete its contents.

3. Enter the full pathname of the file you want to check out.

Check Out Options

Use the Check Out Options to determine how the file will be checked out:

· Check Out Locked

Allows you to lock the file. Another user cannot check out the file until you check it back in.

· Check Out Read Only

Allows you to check out a read-only version of the file. This checks out the file without locking it.

· Cancel Lock

Removes a lock. Use this option if you locked a file and no longer need to keep the lock.

· Specify Version String

Allows you to request a specific version number of the file, if more than one version exists. Enter the version number in the input box.

· Overwrite Existing File

Allows you to overwrite a read-write version of a currently checked out file.

Note: Before checking out a file, you must select your source code control system. See Tools Preferences for more information about selecting a system.

Check In Source

Displays the Check In dialog:

Check In Dialog

Allows you to check a file back into your environment's source code control system. The default directories and files displayed at the top of the dialog are those in the current working directory.

To select a directory and display its files, double-check on the directory name. To select a file, click on the file name.

Selection

The Selection input box displays the currently selected file.

Changing the displayed file

You can change the displayed file by selecting a new file, or by performing the following steps:

1. Click in the input box.

2. Delete its contents.

3. Enter the full pathname of the file you want to check in.

Check In Options

Use the Check In Options to determine how the file will be checked in.

· Specify Version String

Allows you to assign a new version number or name to the file, if more than one version exists. Enter the version number in the input box.

· Keep File Copy

Allows you to maintain a read-only copy of the file you are checking back into the source code control system.

· Comments

Add comments describing your modifications.

Note: Before checking a file in, select your source code control system. See Tools Preferences .

Edit File


Note: You must select an editor from the Tools Customization dialog before using this options. See Tools Preferences for more information about selecting editors.

Allows you to select a file to edit. Select Edit file to display the Edit File file selection dialog:

Edit File Dialog

Filter field

By default, the Filter field of the File Selection dialog contains the name of the directory from which you are running Builder Xcessory.

Files box

The Files box lists the files in the directory which match the file filter, set to "*" by default.

Directories box

To display the contents of a different directory, enter the directory name in the Filter field and click the Filter button. You can specify match strings using regular expressions. For example, *.uil lists only files ending in the characters .uil. Click OK to open the specified file or Cancel to remove the File Selection dialog.

Selection field

To select a file, click on the file name in the File box, or enter the full pathname in the Selection field.

 

Documentation: 

Browser View Menu

Select View from the Browser menu bar to display the following menu:

Browser View Menu

The following sections describe each option.

Show Compound Children (Ctrl+J)

Allows you to edit certain resource values of the compound children of compound widgets. Compound children are sub-widgets of an automatically created widget. (For example, if you create a file selector box, it automatically creates buttons.) You can alter the appearance or behavior of the child widgets that comprise a compound widget.

Compound widget view

Selecting Show Compound Children changes the view of any compound widget in the Browser. The Browser displays the compound children (usually hidden) as the children of the compound widget. An icon is displayed next to the children to identify them as special children.

Updating the Resource Editor

You can then select a compound child as you would any other widget, and update the Resource Editor. The Resource Editor displays a subset of the compound child's resources.

Editing resources

Although most resources of a compound child are not available because they are overridden by the containing compound widget, you can edit any displayed resources. Once a compound child's resources are displayed, you can use the Resource Editor to can change resources, hide/show the object, and so forth. Refer to Resource Editor for more detailed information about the Resource Editor.


Note: You cannot use the Browser to cut, copy, or paste a compound child.

Show Menu Children (Ctrl+U)

Allows you to access the contents of menus directly on your interface.


Note: Show Menu Children is insensitive for any currently selected widget other than a cascade button, option menu, or popup menu.

Setting the Show Menu Children toggle for a cascade button or menu displays the associated menu. You can then manipulate the children as you manipulate a typical interface object, for example, using drag and drop operations. Unsetting the Show Menu Children toggle for a given menu hides all of its descendants, and automatically unsets Show Menu Children for any descendant menus.

Select Parent (Ctrl+H)

Selects the parent of the currently-selected instance and makes the parent the currently-selected instance. Select Parent is especially helpful when a parent is not easily selectable on an interface.

Keep Parent (Ctrl+K)

Forces any widget you subsequently create automatically to become the child of the currently selected widget (saving time in constructing the interface.


Note: Widgets that cannot be legal children of the currently selected widget are desensitized on the Palette. For example, a push button cannot have children. If a push button is the selected widget, and Keep Parent is set, the entire Palette is desensitized.

While Keep Parent is set, you select a new parent widget by clicking on the widget or its instance name. You can create a child of the current parent by double-clicking on any legal object in the Palette.

Snap To Grid

Forces each widget that you subsequently resize, move, or create to align itself with the underlying placement grid. Theplacement grid is invisible, and you can adjust the grid by selecting User Preferences from the Options menu. Snap To Grid remains set until you unset it. Setting or unsetting Snap To Grid does not move any existing widgets.

Show Messages (Ctrl+M)

Toggles the display of the Browser Message window. If Builder Xcessory sends a warning or error when the window is hidden, the Message window is restored and the message displayed. Informational messages, such as confirmations of file generation, do not automatically restore the Message window.

Click the Hide push button to the left of the Message window to hide the Browser Message window.

Show Search/Select

Displays the Select input field. The Select input field is displayed at the bottom of the Browser.

You can search on either a an Instance of an object (an instance name, such as "pushbutton") or a Class Instance of an object (a class name, such as "XmPushButton"). To search:

1. Choose either Instance or Class from the option menu next to Select.

2. Enter the name in the Select input field (such as "pushbutton").

Every instance that contains that name (such as "pushbutton", "pushbutton1", "pushbutton2", etc.) is selected.

Alternatively, to search for a specific instance that has not been renamed, search on the instance or class name, and use the arrow buttons to walk through one instance at a time.

Show Toolbar

Displays the Browser Toolbar. The Browser Toolbar is displayed immediately under the Browser menu bar.

Browser Toolbar

Adding menu items to the Toolbar

To add menu items to the Toolbar, hold down the Shift key and select the item from its menu. For example, to add Raise to the Toolbar:

1. Confirm that the Toolbar is being displayed. If not, set Show Toolbar on the Browser View menu.

2. Hold down the Shift key and select Raise from the Browser Edit menu.

Certain menu items, such as the Windows menu entries, which are automatically entered, cannot be added to the Toolbar. A warning dialog is displayed if you attempt to do so.

Removing menu items from the Toolbar

To remove an item from Toolbar, hold down the Shift key and select either the appropriate icon on the Toolbar or the item on the menu. For example, to remove Raise from the Toolbar, hold the Shift key and select Raise on the Toolbar.


Note: Unselecting Show Toolbar hides the Browser Toolbar.

Show Class Hierarchy

Displays a window that shows the superclass-subclass hierarchy you created in your interface. This window provides an easy method for viewing the organization of your classes.

Clear Messages

Clears any messages currently displayed on the Browser Message window. If Builder Xcessory sends a warning or error when the message window is hidden, the Message window is restored and the message displayed. Informational messages, such as confirmations of file generation, do not automatically restore the Message window.


Note: Click the Hide push button to the left of the Message window to hide the Browser Message window.

 

Documentation: 

Builder Xcessory 5.0 Reference Manual: Table of Contents

 

Notation Conventions

Definitions

Prerequisite Knowledge

Starting Builder Xcessory

Startup Panel

Language Dialog

Builder Xcessory Main Windows

Palette

Browser

Resource Editor

Palette Objects

Motif Widgets

EnhancementPak Widgets

ViewKit ObjectPak Classes

Java AWT Objects

Palette Groups

Motif Groups

ViewKit ObjectPak Groups

EnhancementPak Groups

Java AWT Groups

Reference Count

Adding and Moving Palette Collections

Hiding and Displaying Palette Groups

Palette Mnemonics

Palette Menus

Palette Menu

Catalog Menu

Edit Menu

MB3 Quick Access Menu

Adding User-defined Widgets and Objects

Browser

Object Instance Hierarchy

Browser Display Modes

Browser in Instances View

Browser in Classes View

Selecting Objects

Panning the Browser

Browser File Menu

New (Ctrl+N)

Open (Ctrl+O)

Read (Ctrl+F)

Save (Ctrl+S)

Save As (Ctrl+A)

Class

Import

Generate {Lang} (Ctrl+G)

Generate C++

Generate ViewKit

Generate C

Generate UIL

Generate Java

Print Setup

Print Hierarchy

Exit

Browser Edit Menu

Cut (Ctrl+X)

Copy (Ctrl+C)

Copy To Palette (Ctrl+E)

Paste (Ctrl+V)

Delete

Revert

Raise (Ctrl+R)

Lower (Ctrl+L)

Natural Size (Ctrl+Z)

Enlarge (Ctrl+W)

Align

Make/Unmake Class (Ctrl I/Q)

Make/Unmake Subclass (Ctrl+Y/Q)

Make/Unmake Receptor (Ctrl+T)

Browser View Menu

Show Compound Children (Ctrl+J)

Show Menu Children (Ctrl+U)

Select Parent (Ctrl+H)

Keep Parent (Ctrl+K)

Snap To Grid

Show Messages (Ctrl+M)

Show Search/Select

Show Toolbar

Show Class Hierarchy

Clear Messages

Browser Project Menu

Build Mode (Ctrl+B)

Play Mode (Ctrl+P)

Debug Mode (Ctrl+D)

Make Application

Check Out Source

Check In Source

Edit File

Browser Options Menu

Choose A Language

Code Generation Preferences

C++ Code Generation Preferences

ViewKit Code Generation Preferences

C Code Generation Preferences

UIL Code Generation Preferences

Java Code Generation Preferences

User Preferences

Tools Preferences

GIL Import Preferences

Browser Managers Menu

Updating the Resource Editor

Resource Editor for a Widget Instance

Resource Editor Text Fields for a Widget Instance

Resource Settings for a Widget Instance

Widget Instance Resources

Resource Editor for Class Instances and Classes

Resource Editor Text Fields for Class Instances

Class Widget Resources

Resource Editor Text Fields for Classes

Resource Editor for Multiple Widgets or Class Instances

Resource Editor Text Fields for Multiple Widgets or Class Instances

Resource Settings

Class Member Editor

Component Menu

Hide/Show

Make Gadget/Widget

Storage Location

Creation Routine

Class Source File

Generate Class

Include By Reference

View Menu

Update

Show Search Bar(Ctrl+F)

Show Toolbar (Ctrl+T)

Show Header Data (Ctrl+I)

All Resources

Simple Resources

Programmer Resources

Modified Resources

Not Equal Resources

Options Menu

Automatic Update

Alphabetical Order

Type Order

Default Resource Placement (Ctrl + M)

Form Constraint Editor

Attachment Symbols

Expressions

Browser Managers Menu

Application Manager

Work Procedures

Timer Procedures

Styles

Style Manager

Style Hierarchy

Style Manager File Menu

Style Manager Edit Menu

Style Manager View Menu

Style Manager Apply Menu

Style Editor

Constants

Constant Manager

Constant Manager File Menu

Constant Manager Edit Menu

Constant Editor

Procedures

Procedure Manager

Procedure Manager File Menu

Procedure Manager Edit Menu

Procedure Editor

Identifiers

Identifier Manager

Identifier Manager File Menu

Identifier Manager Edit Menu

Identifier Editor

Types

Type Manager

Type Manager File Menu

Type Manager Edit Menu

File Placement

UIL File Manager

UIL File Manager File Menu

UIL File Manager Edit Menu

UIL File Manager View Menu

UIL File Manager Apply Menu

Using Extended Editors

Extended Editor Buttons

Identifying the Resource in the Editor Title Bar

Updating the Resource Editor Automatically

Displaying Editor Title Bars

Any Editor

Application Timer Procedure Editor

Application Work Procedure Editor

ASCIZ Table Editor

Boolean Editor

Callback Editor

Predefined Callbacks

Code Generation

Color Editor

Using the Color Sliders

Using the Color List

Color Table Editor

Compound String Editor

Compound String List Editor

Event Editor

Event Handler Editor

Font List Editor

Options

Integer Editor

Integer Table Editor

List Editor

Multiline Editor

One of Many Editor

Pixmap Editor

Pixmap Chooser

Editing a Pixmap

Translation Table Editor

Widget Editor

Builder Xcessory Resources

Builder Xcessory Application Resource Defaults

Builder Xcessory Resource Command Line Options

Resources Modifiable from Builder Xcessory

Palette Objects

Motif Xm Widgets

ViewKit ObjectPak Vk Classes

EnhancementPak Xi Widgets

Java Awt Objects

DEC DXm Widgets

SGI Sgm Widgets

CDE Dt Widgets

Flexible License Manager

Man Pages

Pre-existing Copies of the License Manager

Installing the License Manager

Installing license.dat

Editing license.dat

Starting the License Manager Daemon

Using the -c Option

Using LM_LICENSE_FILE

Obtaining the Activation Key

Installing the Activation Key

Obtaining a License

License Manager and Builder Xcessory

Client Server Model

License Manager Software

Builder Xcessory Client Files

Contents of the License File

Overview of FLEXlm

License Manager Daemon (lmgrd)

Vendor Daemon

License File

Application

Getting Started Checklist

License File

Specifying Location of the License File

License File Format

Anatomy of a License File

Types of License Files

Combining License Files

Using the Same Server Node

Using a Different Server Node

Selecting Server Nodes

Resources Used by the Server

Diskless Nodes and Remote Mounted Disks

Redundant Servers

Options File

Creating an Options File

Customizing the Options File

Understanding Options Files

Daemon Log File

Informational Messages

Configuration Problem Messages

Daemon Software Error Messages

Troubleshooting FLEXlm

General Debugging Hints

Contacting Support

Problem Description Format

Hostid Problems

Connection Problems

Other Client Problems

Other Server Problems

Troubleshooting Topics

Hostids for FLEXlm-Supported Machines

User Commands

lmdown (1)

lmgrd (1)

lmhostid (1)

lmstat (1)

lmremove (1)

lmreread (1)

license.dat (5)

license.opt (5)

 

Documentation: 

Builder Xcessory Application Resource Defaults

The following table alphabetically lists the default values for Builder Xcessory application resources:

Resource  

Default

actionCounts

100

alphabeticOrder

True

alwaysGeneratePixmaps

True

autoDismissStartup

False

autoMenuPopup

True

browserState

":normal"

brwsrToolbar

"open, save, cut, copy, paste, delete"

buttonOneShellString

"TopLevelShell"

buttonThreeShellString

"XmDialogShell"

clearcaseCCOCommand

You can access these statements from the Source Code Control tab of the Browser Tools Customization dialog.(Select Use ClearCase) 

(These are very long, complicated statements that do not fit in this table.)

clearcaseCICommand

clearcaseCOUCommand

clearcaseCommand

debug

False

debugger

"environment"

defaultBxType

"Undeclared"

defaultLanguage

""

defaultGilArgs

-motif -reposition -converticons -motif12 -bx30

defaultGilTranslator

giltouil

defaultPlacement

""

delayShellRealize

False

demo

False

directoryPath

Dynamic 1

editor

"Environment"

emacsCommand

"emacsclient %line[+%s] %file[%s]"

file

Dynamic 2

firstNodeStateClosed

True

force

False

generateUnmodifiedDefaults

False

gilLookFeel

Motif

gilReposition

Yes

gridUnit

10

hierarchyAutopanTimeout

1000

identifierLegalChars`

"_ $ . ( ) [ ] & - > < :"

installErrorHandlers

True

integratePurify

False

integrateXrunner

False

lieToWindowManager

True

load

False

loadDEC

True

loadICS

False

localDirectory

${HOME}/.builderXcessory

matchPaletteColors

False

memoryTool

"PURIFY"

minimumWidgetHeight

20

minimumWidgetWidth

20

motifVersion

1.2

newMrmStyle

True

objectcenterCommandLine

objectcenter -motif

pixmapBackground

#ccc

pixmapForeground

black

pixmapMode

BEST_FIT

printAppendText

False

printClassNames

True

printCommand

"lp"

printExpandUserClasses

False

printIndentAmount

4

printInstanceNames

True

printSelected

True

printToPrinter

False

printToWidget

True

printXtHierarchy

False

procLegalChars

"_$<>:"

purifyCommand

purify

raiseRscShellOnDoubleClick

False

rcsCCOCommand

ci -q %overwrite[-f] %keep[-u]] 
%version[-r%s]

rcsCICommand

ci -q %overwrite[-f]%keep[-u] %version[-r%s]

rcsCommand

co -q -l %overwrite[-f] 
%version[-r%s]%fkile[%s]

rscCOUCommand

co -q %overwrite[-f] 
%version[-r%s] %file[%s]

rscHDRInfo

"$Id: ref_4f.htm,v 1.1 2008/06/20 15:22:14 mmcclure Exp $"

removeNewline

True

resourceEditorAutoUpdate

False

resourceEditorView

simple

reToolbar

"update"

rscEditorState

":normal"

saberCMessage

directory | make -f %makefile codecenter | run

saberCPlusMessage

directory| make -f %makefile objectcenter | run

saberCommandLine

codecenter -motif

saberExec

False

saberResetMessage

reinit | reset

sccCCOCommand

""

sccCICommand

""

sccCommand

""

sccCOUCommand

""

sccHDRInfo

""

sccsCCOCommand

sccs unedit %file[%s]

sccsCIcommand

sccs delta -s %comments[-y\"%s\"]
%file[%s] %keep[;sccs get -s %file[%s]]

sccsCommand

sccs get -e -s %version[-r%s] %file[%s]

sccsCOUCommand

sccs get -s %version[-r%s] %file[%s]

sccsHDRInfo

"%W% %D% %T%"

sentinelCommand

"memadvise"

setPortholeLocation

False

showBrowserToolbar

True

showCompositeChildren

False

showInstanceData

True

showMessages

False

showRscEdSearch

True

showRscEdToolbar

True

showWidgetSearch

False

snapToGrid

True

sourceCodeControl

"ENV"

strictDialogs

True

symbolicUIL

True

system

False

systemDirectory

/usr/lib/X11/builderXcessory

toolEnvironment

"None"

toolbarButtonMode

XiIconLeft

typeLegalChars

"_$<>&"

typeOrder

False

uilIncludePath

/usr/lib/X11/builderXcessory

uilPixmapBehavior

True

uilWrapLines

True

uniqueSubclassNames

True

useOpenGL

False

userDefinedUIL

False

userEditorCommand

""

userMemCommand

""

viCommand

xterm -e vi %line[+%s] %file[%s]

viewSingleClass

False

wmPositionIsFrame

False (on IRIX)

True (elsewhere)

xrunnerCommand

"$(M_ROOT)/arch/X11.5/Xm1.2/mic_xm.o"

xtInstanceNameCompliant

True


1. Value set to the directory where the project file is read from or written to.

2. Ibid.

 

Documentation: 

Builder Xcessory Main Windows

Once you select a default language, you can access the three main windows of Builder Xcessory:

Builder Xcessory Main Windows

Tear-off menus

All Builder Xcessory menus are tear-off menus that you can manipulate as separate windows. With the menu displayed, select the dotted line at the top of the menu. Tear-off menus are iconified and de-iconified with their parent window.

Palette

Depending upon the default language, the Palette displays labeled, iconic representations of the following objects:

· Entire set of Motif Xm interface widgets

· ViewKit ObjectPak Vk objects

· Subset of the EnhancementPak Xi widget set

· Java Awt objects

· Platform-specific objects

The Palette can also include user-created collections of objects, other widget sets, and user-created classes.

Refer to Palette for a complete description of the Palette and to Resources for detailed information about the Palette icon objects.

BX PRO users

If you are running Builder Xcessory PRO, you can use and compile the EnhancementPak widgets and ViewKit objects in your interface.


Note: By default, the BX PRO Palette includes the EnhancementPak widgets.

Builder Xcessory users

If you are running Builder Xcessory (not BX PRO), you can use the EnhancementPak widgets and ViewKit objects in your interface, but you must purchase the respective libraries to compile any interface built with the EnhancementPak widgets or ViewKit objects. Contact your Sales Representative for more information.


Note: Start with EPak Widgets must be set on the Behavior tab of the User Preferences dialog to display the EnhancementPak icons. Refer to Behavior toggle options for more detailed information.

Browser

The Browser, the principle window used to control Builder Xcessory actions, displays the hierarchical structure of your interface.

Display modes

The Browser has the following two display modes:

· Instances View (the default)

· Classes View

Refer to Browser for a complete description of the Browser.

Resource Editor

The Resource Editor displays the resources (such as height, sensitivity, background) of the currently selected object. You can set the Resource Editor to display all resources of the selected object, or some subset of these resources, by selecting the items on the Resources menu. The Resource Editor defaults to display the Simple Resources subset of resources.

Refer to Resource Editor for a complete description of the Resource Editor.

 

Documentation: 

Builder Xcessory Resource Command Line Options

The following table alphabetically lists the available command line options for Builder Xcessory application resources:

Builder Xcessory Resource 

Command Line Option

debug

-debug

demo

-demo

file

-file <filename>

force

-force

installErrorHandlers

-core

load

-load

localDirectory

-local_directory <path>

system

-system

systemDirectory

-system_directory <path>

toolEnvironment

-fuse

-devmagic

-workshop

useOpenGL

-openGL/+openGL

(no resource)

-version

wmPositionIsFrame

-positionFrame/+positionFrame

Table Key

The following table defines the key for Resources Modifiable from Builder Xcessory :

Symbol

Description

B

Browser Menu Bar

DRT

Default Resource Type Dialog

CGP

Code Preferences Dialog

PR

Print Setup Dialog

RE

Resource Editor Menu Bar

TP

Tools Preferences Dialog

UP

User Preferences Dialog

 

Documentation: 

Builder Xcessory Resources

actionCounts

Specifies the number of Button/Key actions to count between automatic saves of the interface. Setting this value to 0 disables the autosave feature. (Autosave Interval text field located on the General tab of the Browser User Preferences menu.)

alphabeticOrder

Specifies whether resources in the Resource Editor will be listed in alphabetical order. If True, the resources are displayed in alphabetical order sorted by their resource names. If False, the resources are displayed in the widget internal order. (Alphabetical Order toggle on the Options menu of the Resource Editor.)

alwaysGeneratePixmaps

Specifies whether pixmaps will always be output, even if none are referenced in the generated application. If True, all pixmaps are output always, whether referenced or not. If False, all pixmaps are generated only if at least one of them is referenced in the generated application. (Always Generate Pixmaps on the Save File tab of the Browser User Preferences menu.)

autoCheckOut

Specifies Builder Xcessory's response when you attempt to Open or Read a UIL file which has read-only file permissions, If True, you are prompted to check the file out from the version control system before reading it into Builder Xcessory. If False, Builder Xcessory reads the file and marks it as read-only.

autoDismissStartup

Automatically dismisses the Startup Panel when you start Builder Xcessory. Set on the User Preferences Behavior tab from the Browser Options menu.

autoMenuPopup

Specifies whether or not the associated menu will pop up when you select a Cascade Button, Option Menu, or Popup Menu. If True, the menu pops up automatically, as if the Show Menu command had been executed. If False, the menu does not pop up.

browserState

Specifies the geometry and iconification state of the Browser to use the next time Builder Xcessory runs. The string has the following format:

<width>x<height>+<x>+<y>:[normal|iconic]

brwsrToolbar

Specifies a list of items to place on the Browser tool bar. The list is comma separated and also specifies the order of placement. Unrecognized items are silently ignored. The last occurrence of a duplicate entry is used. Valid values include the following:

alignbtm

class

gilpref

open

saveclass

aligned

classhier

helpindex

palette

saveclassas

alignhctr

clearmsgs

i18npref

paste

selparent

alignlft

compchild

iconify

play

settings

alignrgt

constmgr

identmgr

print

showlists

aligntop

copy

importgil

printset

showtree

alignvctr

cut

keepparent

procmgr

snapgrid

appmgr

debug

lockclass

raise

stylemgr

apppref

deiconify

lower

read

subclass

brwssearch

delete

mainbrowser

readclass

toolpref

btoolbar

editfile

makeapp

receptor

topal

build

enlarge

menus

revert

typemgr

checkin

exit

messsages

rsceditor

unclass

checkout

filemgr

natural

save

unlockclass

chooselang

gencode

new

saveas

userpref

buttonOneShellString

Specifies the shell type to use when a widget is placed outside any parent using MB1. Valid options are ApplicationShell, TopLevelShell, TransientShell, and XmDialogShell.

buttonThreeShellString

Specifies the shell type to use when a widget is placed using MB3. Valid options are ApplicationShell, TopLevelShell, TransientShell, and XmDialogShell.

centerDialogs

Specifies whether the Builder Xcessory message dialogs should popup under the cursor or in the center of the screen.

clearcaseCCOCommand

The command to issue when the user requests a Cancel Check Out and configured the Source Code Control to ClearCase.

clearcaseCICommand

ClearCase Check In command.

clearcaseCOUCommand

ClearCase Check Out Unlocked command.

clearcaseCommand

ClearCase Check Out Locked command.

clearcaseHDRInfo

String to insert into all UIL files for ClearCase logging identification. Default is " ".

confirmWidgetDeletes

If True (default), displays a dialog requesting confirmation for a delete operation on the interface. If False, confirmation is not required to delete an object.

debug

Specifies whether the Builder Xcessory outputs additional debugging information.

debugger

Specifies the debugger and application build tool to use when you select Debug Mode or Build Application in the Browser.

The following are the possible values:

Environment-- user's development environment debugger

CenterLine-- CenterLine debugging environment (CodeCenter/ObjectCenter)

defaultBxType

Specifies the default type when you create an identifier in the Identifier Manager.

defaultGilArgs

When importing a GIL file, specifies the arguments passed to the GIL translator.

defaultGilTranslator

When importing a GIL file, specifies the GIL code translator.

defaultLanguage

Specifies the language selected in the Language dialog of the Browser Options menu

defaultPlacement

Specifies the list of resource data types that default to App placement. A comma-separated list of resource data type names (all lowercase) is supplied to the data.

delayShellRealize

If False, all shells of an interface are displayed when it is loaded; the hierarchy of every shell is displayed in the Browser. If True, the shells and their hierarchies are not displayed. Instead, the shell names are listed on the Browser, and you must click on each shell name to display it. This is most useful when you are working with a complex interface and need to conserve screen real estate. When true, the interface will also load faster.

demo

When the Builder Xcessory starts, it searches for the license data file. If it cannot find the license data file, it will not allow the user to save any work. This option allows Builder Xcessory to forego the search and run in demo mode. In demo mode, UIL code generation, autosave, and the Save/Save As features are disabled.

directoryPath

Specifies the directory where files will be written. This is initially the directory from where Builder Xcessory is started, but will change as UIL files are opened. It can also be changed explicitly.

editor

Specifies which editor to use: Vi, Emacs, or User Environment.

emacsCommand

The command to use when the editor is Emacs.

file

Specifies the file to load immediately after initialization. This is most useful when used with its command line variant.

firstNodeStateClosed

Specifies whether the Browser tree will start any hierarchy with the node closed. This is a useful setting when reading large hierarchies as it helps improve the Builder Xcessory startup time.

force

This resource is used only in conjunction with the load resource. Specifies that Builder Xcessory should generate Palette entries for any and all user defined widgets, even if they already appear in a WML file.

generateUnmodifiedDefaults

When Builder Xcessory is asked to place a resource value in the application defaults file, on rare occasions, it is unable to supply a valid string for the output value. If this resource is set to False, Builder Xcessory will skip over the resource specification. If it is set to True, Builder Xcessory will print a resource specification to the app-defaults file without a value string following the colon.

gilLookFeel

Sets Builder Xcessory to import GIL interface objects as having a Motif or OPENLOOK look and feel.

gilReposition

Specifies whether Builder Xcessory lays out the interface based on size changes encountered in Motif version of OPENLOOK objects.

gridUnit

Specifies the size, in pixels, of the grid to be used when snapToGrid is True.

hierarchyAutopanTimeout

Specifies the time in milliseconds before the Panner will automatically pan during a drag and drop operation on an object instance hierarchy in the Browser.

identifierLegalChars

The set of non-alphanumeric characters to accept as valid in identifier names. Default "_$.()[]&-><:"

installErrorHandlers

Specifies whether Builder Xcessory should install its catastrophic error handlers which try to save the interface in progress when a catastrophic error occurs. This is only useful if a core file is the desired end product. Specifying False for this resource will turn off the error handlers and produce a core file on a catastrophic error. If False, the interface will not be saved on catastrophic error.

integratePurify

Specifies whether memory test targets should be added to the various makefiles and imakefiles.

integrateXrunner

Specifies whether Xrunner targets should be added to the Makefile.

lieToWindowManager

Specifies whether Builder Xcessory uses USPosition to set x and y values. This is technically incorrect, but is necessary for most window managers to place the windows correctly.

load

Specifies whether Builder Xcessory should try to create a WML file and Palette entries for any user defined widgets.

loadDEC

Specifies whether or not to load the DEC widgets (if they are available) onto the Palette during Builder Xcessory startup.

loadICS

Specifies whether or not to load the EnhancementPak widgets onto the Palette during startup.


Note: The EnhancementPak widget set is a separate product. Please consult your ICS sales representative for further information.


localDirectory

Specifies the directory that Builder Xcessory uses for individual additions to the Palette, such as user collections. This directory must be writable.

matchPaletteColors

If True, Palette and toolbar pixmaps use the symbolic background and foreground colors. If False, the Palette and toolbar pixmaps are displayed with individual background colors.

memoryTool

Specifies which memory tool options to add to the application makefile: PURIFY, SENTINEL, or USER.

minimumWidgetHeight

Specifies the minimum height a widget can have when created.

minimumWidgetWidth

Specifies the minimum width a widget can have when created.

motifVersion

Specifies the version of the Motif toolkit for which Builder Xcessory will generate code. The Builder Xcessory will read in code written in any version of UIL.

newMrmStyle

Specifies how MRMRegisterArg is output and initialized in code when outputting UIL code. If True, MRMRegisterArg is output as an uninitialized array and is initialized in code. If False, MRMRegisterArg is output and initialized as a static array.

objectcenterCommandLine

Specifies the command line to start ObjectCenter.

paletteState

Specifies the geometry, iconification, view mode and catalog file of each Palette to display when Builder Xcessory is next executed. The string has the following format:

<width>x<height>+<x>+<y>:[normal|iconic]:<catalog>:[outline|tab]:[IconOnly|IconNone|IconTop],...

pixmapBackground

Specifies the color to use in the Palette and toolbar pixmaps for the symbolic background color.

pixmapForeground

Specifies the color to use in the Palette and toolbar pixmaps for the symbolic foreground color.

pixmapMode

Specifies which set of pixmaps, if any, are used on the Palette. May be either BEST_FIT, FORCE_BW, or FORCE_COLOR. When pixmapMode is set to BEST_FIT, Builder Xcessory uses either the black and white pixmaps or the color pixmaps depending on the display. When pixmapMode is set to FORCE_BW, Builder Xcessory uses the black and white pixmaps. When pixmapMode is set to FORCE_COLOR, Builder Xcessory uses the color pixmaps.

printAppendText

When an object instance hierarchy is printed to the screen, this resource determines how the text will be displayed in the output window. When True, the text from the hierarchy will be appended to the output window. If False, the text will replace the current text in the output window.

printClassNames

When an object instance hierarchy is printed. this resource determines whether or not the class names of widgets will be printed. When True, the class names will be printed. If False, they will not.

printCommand

This resource determines what command is used to print an object instance hierarchy to your printer. By default, the print command is lp.

printExpandUserClasses

When an object instance hierarchy is printed to the screen. this resource determines how much information about class instances is printed. If True, information about all of the widgets that make up any user-defined class is printed. If False, only information about the class instance is printed

printIndentAmount

When an object instance hierarchy is printed to the screen. this resource determines how many spaces to indent for each child level. The default value is 4.

printInstanceNames

When an object instance hierarchy is printed. this resource determines whether or not the instance names of the objects in the hierarchy should be printed. When True, the instance names are printed. If False, they are not.

printSelected

When an object instance hierarchy is printed. this resource determines how many of the objects in the Browser window are printed. When True, only the selected object(s) and their descendents are printed. If False, all objects that are currently displayed on the Browser are printed.

printToPrinter

When an object instance hierarchy is printed, determines the result of selecting Print Hierarchy from the File menu on the Browser. If True, the hierarchy is printed by your printer. If False, it is not.

printToWidget

Determines the result of selecting Print Hierarchy from the File menu on the Browser. If True, the object instance hierarchy is printed to an output window. If False, it is not.

printXtHierarchy

When an object instance hierarchy is printed. this resource determines the format in which the hierarchy is printed. When False, the hierarchy is printed as interpreted by Builder Xcessory. If True, the hierarchy is printed as it is implemented in Xt.

procLegalChars

The set of non-alphanumeric characters to accept as valid in procedure names. Default: "_$<>:"

purifyCommand

Specifies the command used to make a memory test target in the application makefile.

raiseRscShellOnDoubleClick

Specifies whether the Resource Editor should be raised to the top of the stacking order whenever a widget is updated.

rcsCCOCommand

Specifies the command line for the RCS Cancel Check Out command.

rcsCICommand

Specifies the command line for the RCS Check In command.

rcsCommand

Specifies the command line for the RCS Check Out Locked command.

rcsCOUCommand

Specifies command line for RCS Check Out Unlocked command.

rcsHDRInfo

String to insert into all UIL files for RCS source code control login identification. Default is "$ID$"

removeNewline

Specifies whether the Resource Editor will remove the last newline at the end of a string, typically typed in accidentally.

resourceEditorAutoUpdate

Specifies whether the Resource Editor will be in Automatic Update mode or not. If True, the Resource Editor will update its display automatically each time a widget instance is selected. If False, the editor will only be updated on request. The default value is False.

resourceEditorView

Specifies the Resource Editor view. This setting determines which group of resources is displayed--all resources are displayed by default. Other settings include simple, programmer, modified, and not equal (for use with multiply-selected instances). You usually select these from the Resource Editor Resources menu.

reToolbar

This resource is a list of the items to place on the Resource Editor tool bar. The list is comma separated and also specifies the order of placement. Unrecognized items are silently ignored. The last occurrence of a duplicate entry is used. Valid values include the following:

allform

dfltplace

modform

search

update

alphabetic

gad

neqform

simpleform

wid

autoupdate

gen_class

progform

storage

classfile

header

ref_class

typed

creation

manage

retoolbar

unmanage

rscEditorState

Specifies the geometry and iconification state of the Resource Editor the next time Builder Xcessory executes. The string has the following format:

<width>x<height>+<x>+<y>:[normal|iconic]

saberCMessage

Specifies the message Builder Xcessory sends to CodeCenter when CenterLine Mode is invoked.

saberCPlusMessage

Specifies the message Builder Xcessory sends to ObjectCenter when Centerline Mode is invoked.

saberCommandLine

Specifies the command line Builder Xcessory uses to invoke CodeCenter.

saberExec

Specifies whether Builder Xcessory should execute CodeCenter when CenterLine mode is invoked.

saberResetMessage

Specifies the message Builder Xcessory sends to CodeCenter to reset CenterLine Mode.

saberUILMessage

Specifies the message Builder Xcessory sends to ObjectCenter when Centerline Mode is invoked.

saveState

Specifies whether Builder Xcessory should save Browser, Resource Editor, and Palette states on exit. Valid values are SaveState or UseDefault.

sccCCOCommand

Specifies the command line for the User Specified Cancel Check Out command.

sccCICommand

Specifies the command line for the User Specified Check In command.

sccCommand

Specifies the command line for the User Specified Check Out Locked command.

sccCOUCommand

Specifies the command line for the User Specified Check Out Unlocked command.

sccHDRInfo

String to insert into all UIL files for user-defined source code control logging identification. Default is " ".

sccsCCOCommand

Specifies the command line for the SCCS Cancel Check Out command.

sccsCICommand

Specifies the command line for the SCCS Check In command.

sccsCommand

Specifies the command line for the SCCS Check Out Locked command.

sccsCOUCommand

Specifies the command line for the SCCS Check Out Unlocked command.

sccsHDRInfo

String to insert into all UIL files for RCS logging identification. Default: "%W % %D% %T%"

sentinelCommand

Memory test command to use when the memory tool is set to SENTINEL.

setPortholeLocation

When True, this resource will cause Builder Xcessory to center the Browser tree to center automatically about the selected object node. When False, the tree will not be moved when an object is selected.

showBrowserToolbar

If True, specifies that the Browser Toolbar should be displayed at start up time. If False, the Browser Toolbar will be hidden initially.

showCompositeChildren

When True, the compound children of any compound widgets are displayed in the Browser tree hierarchy. If False, compound children will not be displayed.

showInstanceData

If True, specifies that the Resource Editor Instance Data Field header should be shown at start up. If False, the Resource Editor Instance Data Field Header is hidden initially.

showMessages

When True, this resource will cause Builder Xcessory to start with the message window in the Browser displayed rather than hidden.

showRscEdSearch

If True, specifies that the Resource Editor Search Field should be shown at start up. If False, the Resource Editor Search Field is hidden initially.

showRscEdToolbar

If True, specifies that the Resource Editor Instance Data Field header should be shown at start up. If False, the Resource Editor Instance Data Field Header is initially hidden.

showWidgetSearch

If True, specifies that the Browser Widget Search/Select Field be shown at start up. If False, the Browser Widget Search/Select Field is initially hidden.

snapToGrid

Specifies whether widgets are placed in accordance with the grid. See also gridUnit.

sourceCodeControl

Specifies which Source Code Control (or version control) system to use for Check In and Check Out requests.

Possible values include the following:

ENV

Use the user's development environment source code control tool.

RCS

Use RCS source code control commands.

SCCS

Use SCCS source code control commands.

USER

Use User-specified source code control commands.

strictDialogs

Specifies whether Builder Xcessory should allow only widgets that are subclasses of XmBulletinBoard to be the child of an XmDialogShell.

symbolicUIL

Specifies whether Builder Xcessory should use symbolic names when generating UIL code. If True, and motifVersion is 1.0, the output UIL file will include the file XmAppl.uil. If False, this file will not be included and Builder Xcessory will generate the actual constant values instead of the symbolic names.

system

When load is True, specifies that the WML file and Palette entries should be put in the system directory instead of the local directory. Typically, root privileges are necessary for this option.

systemDirectory

Specifies the directory that Builder Xcessory searches for its system initialization files.

toolEnvironment

Specifies that the Builder Xcessory integration with a development environment should be used. Valid values include:

None

do not communicate with an IDE.

SUNTT

communicate with SunSoft WorkShop (version 2 or 3)

SGITT

communicate with SGI Developer Magic


Note: Communication with the DEC FUSE environment will only work when Builder Xcessory is started from the DEC FUSE Control Panel.


toolbarButtonMode

Specifies how the buttons in both the Browser and Resource Editor Toolbars should be displayed.

Possible values include the following:

· XiIconLeft--Display both labels and icons

· XiIconNone--Display labels only

· XiIconOnly--Display icons only

typeLegalChars

The set of non-alphanumeric characters to accept as valid in type names. Default values are "_ $ < > &"

typeOrder

Specifies whether resources in the Resource Editor will be listed in order of their type. If True, the resources are ordered according to their resource type. If alphabeticOrder is also True, then the resources are ordered alphabetically within each resource of the same type.

uilIncludePath

Specifies the directory or directories that Builder Xcessory searches for files included by the uil include directive. Additional include directories may be specified by separating with a comma.

uilPixmapBehavior

This resource affects the generation of icon values in UIL code. If True, the icon's color table will be generated in a separate value statement immediately preceding the icon value to which it applies. If False, the icon's color table will be generated as a part of the icon value. This is a legal UIL value specification, but most UIL compilers flag this syntax as an error or do not compile it correctly.

uniqueSubclassNames

If True, prepends the subclass name and an underscore (_) to all subclass widget names in order to make them unique from their corresponding superclass widgets. If False, allows subclass widgets to have the same names as their corresponding superclass widgets--you must then rename the subclass widgets yourself.

useOpenGL


Note: Valid on SGI Platforms only.


If True, load the OpenGL Drawing Area widget on the Palette. If False (default), load the IRIS GL Drawing Area widget on the Palette.

userDefinedUIL

Useful for users generating UIL code and unable to extend the UIL compiler to understand new widgets. Set to True only when generating the UIL file that will be compiled because the resulting UIL file becomes much larger and more confusing.

If True, writes UIL files with all non-motif widgets fully specified as user-defined UIL objects.

If False (default), writes UIL files treating all widgets as if defined to the UIL compiler.

userEditorCommand

Specifies the command to use for a user-defined editor.

userMemCommand

Specifies the command to use for a user-specified memory test tool.

viCommand

Specifies the format of the command to use for the vi editor.

viewSingleClass

If True, shows only one class at a time in the Browser and Class Hierarchy, when in Classes view. If False, show any number of classes at the same time in the Browser and Class Hierarchy.

uilWrapLines

Specifies whether or not long strings should be broken into shorter lines during UIL code generation. Some compilers cannot handle lines longer than 132 or 256 characters, a limit often exceeded by font lists or multi-font label strings. This option lets the user break these into multiple lines separated with a backslash and return character sequence.

wmPositionIsFrame

Specifies whether the window manager interprets X, Y locations relative to the window decorations. By default, most window managers take a window's X and Y location as relative to the decorations. Change this value if you notice that the main Builder Xcessory windows are not restoring their positions correctly from session to session.

xrunnerCommand

Specifies the libraries used to make an Xrunner object.

xtI nstanceNameCompliant

If False, allows instance names of widgets to begin with an upper case letter. If True, forces a lower case letter. Capitalized widget names may cause problems with the proper inheritance of application defaults resource values and conflicts with Xt specifications.

Documentation: 

CDE Dt Widgets

Common Desktop Environment (CDE) widgets are included on the Palette when you run Builder Xcessory on any platform with CDE and Builder Xcessory CDE support (except on SunOS platforms). The following sections provide descriptions of each CDE widget in alphabetical order (refer to your CDE Programmer's Guide for more detailed information):

Combination Box

Description

The DtComboBox widget combines a value display field and a list box in a control that displays one of many valid choices for the text field.

Notes

The value display can be editable or not editable, which restricts the user options to the contents of the popup list

Editor

Description

The DtEditor widget supports creating and editing text files, and provides a consistent method for editing text data to applications running in the desktop environment.

Notes

Very useful for providing text edit functions in an application that also integrates automatically with the CDE Drag and Drop model.

Help Dialog

Description

The DtHelpDialog widget provides users with the capability for viewing and navigating structured online help information (CDE help volumes). Functionality includes text and graphics rendering, embedded hypertext links and various navigation methods to move through online help information. Supports rendering of CDE help volumes, system manual pages, text files, and character string values.

Notes

Use this dialog when displaying the complete help system for an application that is to be integrated onto the CDE desktop.

Help Quick Dialog

Description

The DtHelpQuickDialog widget provides users with a constrained set of functionality for viewing and navigating structured online information (CDE help volumes). Functionality includes text and graphics rendering, embedded hypertext links and limited navigation methods to move through online help information. Supports rendering of CDE help volume, system manual pages, text file, and character string values.

Notes

Use this dialog for context sensitive help items.

Menu Button

Description

The DtMenuButton widget is a command widget that provides menu cascading capability outside of a menu pane.

Notes

· Complements the menu cascading functionality of an XmCascadeButton widget.

· Can only be instantiated outside a MenuBar, Pulldown, or Popup (use XmCascadeButton widget inside a MenuPane.)

Spin Box

Description

The DtSpinBox widget is a user interface control used to increment and decrement an arbitrary text or numeric field. Use to progress through a list of text items, for example, to cycle through the months of the year or days of the month, or increment and decrement a numeric entry.

Notes

DtSpinBox is a subclass of the XmManager class and is used to display a text field and two arrows.

Terminal Emulator

Description

The DtTerm widget, part of the runtime environment, is a window that behaves as a terminal, enabling access to traditional terminal-based applications from within the desktop. Provides the functionality required to emulate an ANSI X3.64-1979-style terminal emulator (specifically a DEC VT220-like terminal with extensions).

Notes

· Use Common Desktop Environment Motif widgets to add display enhancements to a terminal emulator in your application, such as pop-up menus and scroll bars.

· Widget library, libDtTerm, provides DtTerm widget for use in adding a terminal emulator window to a GUI.

 

Documentation: 

Callback Editor

Allows you to connect objects in your interface with the application. Callbacks are routines executed in response to user and program actions. The Callback Editor allows the Builder Xcessory to support callback lists (a single action results in the execution of a number of routines).

Click the (...) button to the right of any callback resource on the Resource Editor to pop up the Callback Editor.

Callback Editor

The display area lists the Procedure Name, Parameter Type, and Parameter Value of each callback for the resource for which the Callback Editor has been called.

Selecting, adding, and deleting callbacks

Select, add, and delete work procedures using the following methods:

· Select a callback by clicking on its name in the Callback List. All appropriate fields are updated for the selected callback.

· Add a callback to the list by clicking New and entering the Procedure Name and any necessary parameter data in the appropriate text fields.

· Edit

· Delete a callback by selecting it in the list and clicking the Delete button.


Note: Builder Xcessory prompts you to confirm a new procedure name.

Parameter type values

New procedures are created with a default Parameter Type of Undeclared in the Callback Editor, indicating that parameter values of any type are accepted in the Parameter Value field. Other valid values include:

· Pre-defined types

· User-defined types

· None

None indicates that the callback procedure takes no value as its client data. All other types are listed in the Type Manager. A duplicate list is available by clicking on the arrow to the right of the Parameter Type label in the Callback Editor.

Declaring additional user-defined types

Additional user-defined types can be declared in the Callback Editor by entering the new type name in the Parameter Type field. Builder Xcessory prompts you to confirm a new user-defined type.

The Parameter Type field is grayed out if the callback specified in the Procedure Name field is referenced by a widget or style resource in your interface. The procedure's parameter type cannot be changed, in either the Callback Editor or the Procedure Editor, unless all references to the procedure are removed from the interface.

Matching parameters in the callback editor

When Builder Xcessory encounters a parameter in the Callback Editor, it searches for a match in the following order:

· Identifier

· Constant

If no match is found, Builder Xcessory prompts you to declare the parameter as an identifier.

Parameter values

The Parameter Value field accepts the following values as the client data value to pass to the callback operation:

· Constants

· Identifiers

· Boolean

· Integer

· Floating point

· String values


Note: String values must be double-quoted.

The type of the value must correspond to the type listed in the Parameter Type field.

If the text entered into the Parameter Value field is not a constant, identifier, or actual value, then Builder Xcessory prompts you to declare the value as an identifier of the appropriate type.

An extended editor for the parameter value is accessible by pressing the (...) button to the right of the Parameter Value field.

Predefined Callbacks

Click the arrow button to the right of the Callback Editor's Procedure Name text field to display the following list of predefined callbacks (in the following table, the parameter widget list refers to a string of widget names delimited by commas: widget1, widget2, widget3...):

Predefined Callback

Parameter

Description

BxDestroyCB

Widget list

Calls XtDestroyWidget for each widget in the widget list client data parameter.

BxExitCB

Integer

Calls exit with integer parameter client data passed as the exit code.

BxHelpCB

String

Creates a dialog with a text widget and a dismiss button. The text passed as client_data is displayed in the text widget. The dialog is destroyed when the dismiss button is selected.

BxManageCB

Widget list

Calls XtManageChild for each widget in the widget list client data parameter.

BxMapCB

Widget list

Calls XtMapWidget for each widget in the widget list client data parameter.

Gadgets and other non-widget objects are not legal parameter data.

BxPopdownCB

Widget list

Calls XtPopdown for each shell in the widget list client data parameter.

BxPopupCB

Widget list

Calls XtPopup, with grab set to XtGrabNone, for each shell in the widget list client data parameter.

BxSetInsensitiveCB

Widget list

Calls XtSetSensitive with Boolean parameter set to False for each widget in the widget list client data parameter.

BxSetSensitiveCB

Widget list

Calls XtSetSensitive with Boolean parameter set to True for each widget in the widget list client data parameter.

BxSetValuesCB

String

Passes any string of the following form:

"<widget_name>.<resource>=
<value>

<widget_name>.<resource>=
<value>
.
.
.

<widget_name>.<resource>=<value>"

For example:

"pushButton.background=red

form.foreground=yellow"

Rename widgets with unique names. Widgets assigned default names in one Builder Xcessory session (for example, pushButton, pushButton1,... pushButtonN) are not guaranteed to have the same names when the interface is saved and re-opened in a subsequent Builder Xcessory session.

Wildcard characters are not permitted in the string.

BxSystemCB

String

Passes a string from the client data parameter to the
system system call.

BxUnmanageCB

Widget list

Calls XtUnmanageChild for each widget in the widget list client data parameter.

BxUnmapCB

Widget list

Calls XtUnmapWidget for each widget in the widget list client data parameter.

Gadgets and other non-widget objects are not legal parameter data.

BxVerifyNumericCB

None

Checks for non-numeric text input and disallows text input that contains anything other than digits. For example, this callback does not allow input of signs ("+", "-") or decimal points. Intended as the modifyVerify callback on an XmText or XmTextField widget.

Code Generation

When the callbacks-c.c file is written out, the file includes the fully commented code for the predefined callback.

 

Documentation: 

Class Member Editor

In Classes View, the Resource Editor displays the Class Members of the currently selected class instead of resources. Class Members are distinguished by their type (Data or Method) and scope (Public, Private, or Protected). Use the Class Member Editor to specify multiple members in each category, and add or edit Members.

Click the (...) button to the right of the Class Methods and Data text field to display the Class Member Editor:

Class Member Editor for a Class Method

Data and Method toggles

Use these toggles at the top of the Class Member Editor to select Data or Method mode.

Other fields and toggles allow you to assign the type, name, and other attributes such as the member's scope.


Note: The attribute selections available on the Scope, Polymorphism, and Other Attributes tab panels vary depending on the currently selected code generation language.

Some cross-checking of selections occurs so that inappropriate selections are disabled. For example, if you are using C++ code generation, an initial static value is unavailable for methods and is disabled.

Parameter fields

Parameter fields are available only when you select Method mode. For Data mode, the parameter fields are hidden. Static data members can provide initial values. For methods, the parameter fields allow you to enter argument types, parameter names, and, for C++ code generation, default values.


Note: The Class Member Editor is a valuable tool for specifying language-specific attributes to each added class member. However, although some cross-checking is performed to confirm the compatibility of your selections, the cross-checking is not exhaustive and is not intended to be a robust language checker.

User Code Blocks, methods, and data members

Member methods and data can also be inserted directly into the User Code Blocks of the class file. These edits are not visible or editable in the Resource Editor. Because they are inside User Code Blocks, they are retained when the files are regenerated.

 

Documentation: 

Color Editor

Allows you to change any color resource.The Color Editor has two modes:

Color editor modes

· Red, green, and blue color sliders allow you to mix your own custom color.

· A color list allows you to select a named color, generated from /usr/lib/X11/rgb.txt.

If you run out of color cells on your display, the Color Editor displays a message. The correct value is assigned to the resource, and the closest existing color is used for the display.

Using the Color Sliders

Click the (...) button to the right of a color resource (for example, background) to display the Builder Xcessory Color Editor.

Color Editor Displaying Color Sliders

The Color Sliders option is the default. Move the red, green, and blue sliders to mix the color you wish. The color in the Color box changes as you move the sliders. When you click Apply, the selected color is recorded in the Resource Editor and represented as a six-digit hexadecimal number preceded by the pound (#) symbol.


Note: In versions of Motif before 1.1, UIL does not support hexadecimal representation. Using a custom color results in a run-time error in your compiled UIL program. You can write custom colors to app-defaults files.

If you are using Motif version 1.1 or later, you can include custom colors in your UIL files.

Using the Color List

Click the Color List option on the Color Editor to display a scrolled list of available color names:

Color Editor Displaying a Color List

Clicking on a color selects the color and changes the Color box. Some colors are represented in both lower-case and mixed-case. You can select either representation.

 

Documentation: 

Color Table Editor

Allows you to specify a color, as well as a character that represents the color when using the icon function. The keywords background and foreground are also recognized and output appropriately.

 

Color Table Editor

 

Note: You must specify each color/character pair on a separate line. For example, the following:

red a
background b
green c

are output as

color_table(color('red') = 'a',
background color = 'b',
color('green') = 'c');

 

Documentation: 

Combining License Files

Many vendors choose FLEX lm as their license manager, and it is likely that you must administer licenses from more than one vendor, or multiple products from the same vendor.

Preventing licensing conflicts

Use one of the following methods to avoid licensing conflicts during installation when running FLEX lm -licensed products from multiple vendors:

· Multiple license servers; each running one lmgrd and one license file

· One license server running one lmgrd and one license file

· One license server running multiple lmgrd s and multiple license files


Note: Each lmgrd can only control a single license file.

Running separate lmgrd s and license files simplifies initial installation and can increase daily administration of your licenses. For multiple license servers, you have more license servers to monitor. For the one license server, you have only one server, but multiple lmgrd s to administer.

Your product's license file (or files) define the license server (or servers) by hostname and hostid in the SERVER line (or lines) in the license file. If the license files for two or more products contain identical SERVER lines, then see Using the Same Server Node . If the license files for two products contain different SERVER lines, then the license servers for those products will run on different nodes.

Using the Same Server Node

If you have two or more products with license servers run on the same node (as specified by the SERVER lines in the license files), you may be able to combine the license files into a single license file. If the SERVER lines in those files have identical hostids, then you can combine the files into a single file. If the SERVER lines have different hostids, then you must keep the license files separate.

Combining two license files

You can combine two license files under the following conditions:

1. The number of SERVER lines in each file is the same.

2. The hostid field of each SERVER line in one file exactly matches the hostid field of each SERVER line in the other file.

Incompatibility of license files

Under the following conditions, some license files are not compatible:

· License files are set up to run on different server nodes, so hostids are different.

· One file is set up for single server (has only one SERVER line), the other is set up for redundant servers (has multiple SERVER lines).

· One vendor uses a custom hostid algorithm, so the hostids on the SERVER lines are different even though the files are for the same machine.

If your license files are compatible you can combine license files and run a single lmgrd , as described in Combining license files for multiple vendors .

If the license files are not compatible, you must keep the license files separate, and run separate copies of lmgrd for each license file, as described in Using Separate license files on the same server node .


Note: Combining compatible license files is not required. You always have the option of running separate lmgrd s as described in Using Separate license files on the same server node .

Combining license files for multiple vendors

If your license files are compatible (i.e., use the same server nodes), you can combine them with any text editor. To combine license files, read all of the compatible license files into one file, then edit out the extra SERVER lines so that only one set of SERVER lines remains. Write out this data, and you have your combined license file. If you write the data to license.dat in the default location, you will generally not need to set the LM_LICENSE_FILE environment variable. If you write the data out elsewhere, or if you were able to combine some but not all of your license files, then you must set the LM_LICENSE_FILE variable (unless your application uses another method to find the license file).

FLEX lm license manager component compatibility

When you combine license files for two different FLEX lm -licensed products, those products might not use the same version of FLEX lm . FLEX lm is designed to handle this situation, and has two basic compatibility rules for FLEX lm:

1. A newer lmgrd can be used with an older vendor daemon, but a newer vendor daemon might not work properly with an older lmgrd .

2. A newer vendor daemon (or lmgrd ) can be used with an older client program (such as an application or utility programs like lmstat ), but a newer client program might not work properly with an older vendor daemon.

Selecting administration tools

From these two compatibility rules comes the simple rules for selecting which version of administration tools to use:

1. Always use the newest version of lmgrd and the newest version of each vendor daemon.

2. If you have FLEX lm v3.0 utilities, use these; otherwise use the most recent version of the utility programs (such aslmstat ) which can connect to all of the vendor daemons.

For specific application programs, you can use either the new or the old version (with the assumption that the vendor daemon that goes with that application is at least as new as the application).

Exceptions

There are a couple of details and exceptions to go with the above rules:

1. Products using version 2.0 of FLEX lm may not be combined in one license file with products using version 1.5 or earlier of FLEX lm . In this case, you must use separate license files (see Using Separate license files on the same server node ).

2. If you combine a product using version 2.1 or later of FLEX lm with a product using version 1.5 or earlier of FLEXlm , you must use the"-b" (for backwards compatibility) command line option to lmgrd . You can always use a version of lmgrd that is newer than the one provided by your software vendor, as long as you are careful to use the "-b" switch if replacing v1.x lmgrd with a v2.1 or later lmgrd .


Note: FLEX lm v2.4 and later versions of lmgrd default to "-b". Do not use the "-b" option if you are using FLEX lmv2.4 or later.

Using Separate license files on the same server node

If you have incompatible license files, you must run a separate copy of lmgrd for each license file. (You can also do this even if your license files are compatible.) When you run lmgrd separately for each license file, there are two details to remember:

1. The port number on the SERVER line of each license file must be unique. You can use a standard text editor to change the port number in each license file so that they are all different.

2. You must make sure that you are using a compatible version of lmgrd when you start it up for a particular license file. This can be done by either using an explicit path to lmgrd , or by renaming lmgrd to something specific for that product (some vendors do this to make it easier to identify the lmgrd they ship with their product).

When running client programs (such as a licensed application), you can set the LM_LICENSE_FILE environment variable to point to multiple license files. For example, you may have a license file from vendor ABC and a license file from vendor XYZ with incompatible servers. You can place the license file from vendor ABC into:

/usr/flexlm/abc.dat

and the license file from vendor XYZ into:

/usr/flexlm/xyz.dat

then set the LM_LICENSE_FILE environment variable to point to both of them. Each name in LM_LICENSE_FILE should be separated by a colon ":". In the C shell:

setenv LM_LICENSE_FILE \ /usr/flexlm/abc.dat:/usr/flexlm/xyz.dat

In the Korn and Bourne shells:

LM_LICENSE_FILE =/usr/flexlm/abc.dat:/usr/flexlm/
   xyz.dat export 
LM_LICENSE_FILE

Note: LM_LICENSE_FILE can point to only one license file for FLEX lm v1.x applications.

Using a Different Server Node

If products use different license server nodes, each set of license servers requires separate license files. (When multiple software vendors use the same set of license server nodes, the technique described above in Using the Same Server Node can be used to combine license files.) The resulting (multiple) license files can be installed in convenient locations, and you would set the LM_LICENSE_FILE environment variable as follows:

setenv LM_LICENSE_FILE lfpath1:lfpath2:....:lfpathN

lfpath1 Path to the first license file

lfpath2 Path to the second license file.

.

.

.

lfpathN Path to the last (Nth) license file

Each application queries each license file in the order listed in the LM_LICENSE_FILE path. If the license server serving the license file listed in lfpath1 was unreachable, perhaps due to an NFS problem, changing the LM_LICENSE_FILEwould allow a user to obtain a license from another server.

For more information about LM_LICENSE_FILE and setting the location of the license file, see Specifying Location of the License File .

 

Documentation: 

Component Menu

Allows you to hide or show an object, make a widget into a gadget, rename the topLevelShell's creation routine, and re-specify the creation routine parameters.

Select Component from the Resource Editor menu bar to display the Component menu:

Component Menu

Hide/Show

The object is displayed during your Builder Xcessory session. By default, Show is set. When you select Hide, the object is immediately removed from your display. A hidden object will not be shown in the generated code.

Make Gadget/Widget

Allows you to toggle between the widget and gadget variants of various Motif Primitives. The Class Name, as it appears on the Resource Editor, is updated dynamically.


Note: Make Gadget is insensitive if Java is the selected language.

Storage Location


Note: This feature is applicable for C only. In C++, object instances will be protected data members of a C++ class.

Builder Xcessory allows you to declare widgets outside the scope of the creation file. These widgets are accessible from anywhere within your program. While this is not recommended programming practice, we recognize that there are instances in which this capability is useful.

Select Storage Location from the Component menu of the Resource Editor to display the Storage Location dialog:

Storage Location Dialog from the Component Menu

Scope

Set the Scope text field to one of the following:

· Local

Default Widget ID Scope type. The widget is declared within the scope of the creation routine and is accessible only within the scope of the creation routine.

· Global

Creates a globally defined widget ID for simple instances or a widget structure for class instances. The declaration is placed outside of the creation routine in a definition file, allowing you to access the widget ID from anywhere else within the program.
Definitions are written to the definition file, creation-c.h for C, or main-uil.h for UIL. You can then include these files in other modules requiring access to these widget IDs.

· Other

Assumes that your entry in the Widget ID Scope text field (with the widget instance name again the default) is defined in outside of the creation file. Also assumes that the value is accessible from within the creation routine.
For example, setting Widget ID Scope type to Other and specifying param->one in the Widget ID Scope text field outputs a declaration of the form:
param->one = XtCreateWidget(...)
where param is assumed to be a pointer to a structure with member one of type Widget. Using this method, you can pass a pointer to a structure of all your widget IDs to the creation routine and make direct assignments to the structure members.

Widget

Specify widget ID names in the Widget text field for widget instances. The widget instance name is used as the default.

Class instances

For class instances, the Widget label changes to the name of a structure that contains all widget IDs in that class instance. You can specify any ID name in the Widget text field.The class instance name is used as the default.


Note: When editing classes in Classes View, Storage Location is insensitive. You are editing a template for a hierarchy of widgets rather than the widgets themselves. You must set Storage Location on a class instance in Instances View.

Storage location buttons

The following table lists and describes the buttons on the Storage Location dialog:

Button

Description

OK

Sets the specified storage location and widget ID name for the currently selected widget, and dismisses the dialog.

Apply

Sets the specified storage location and widget ID name for the currently selected widget.

Reset

Reads the last widget ID and storage location for the currently selected widget into the dialog.

Dismiss

Removes the Storage Location dialog.

C++, ViewKit, and Java Generation

Changing Storage Location does not alter the C++, ViewKit, or Java code generated by Builder Xcessory. All widget instances are automatically declared as protected members of the class and are accessible from within class instances. If you want to access these widget instances, add a public method to the class definition.

C Generation

When you set Storage Location for a class instance, if you generate C code, the structure itself is passed for types Local and Global. A pointer to the structure is passed for type Other (the location must be valid).

UIL Generation

In contrast to C generation, no structure is generated for class instances when you generate UIL. Only the widget ID of the uppermost widget instance in the class instance is stored. You can access other widgets using the XtNameToWidget call. Widget instances which are not within classes are generated just as in C.

Creation Routine

Select Creation Routine on the Component menu of the Resource Editor to display the Creation Routine dialog:

Creation Routine Dialog from the Component Menu


Note: The Creation Routine dialog is only available for children of topLevelShells.

A widget's Creation Routine is the routine in the creation-c.c file, called by the main-c.c routine, which creates the widget. You can rename this routine and specify the type and name of the parameter passed to the routine.

Procedure Name

Click the arrow button to the right of the Procedure Name text field to view a combination box containing all currently defined procedure names. Enter the name into the Procedure Name text field.

Parameter Type

If you enter a new Procedure Name, the default parameter type is None. If you choose an existing routine, the Parameter Type field displays the type assigned to the routine in the Procedure Manager. To change this type, the following conditions must apply:

· The procedure is not already referenced elsewhere.

· The type has not been applied to the widget.

Parameter Name

The Parameter assigned to the Creation Routine can be an identifier or an actual value corresponding to the Parameter Type. New identifiers entered in the Parameter text field will be created and displayed in the Identifier Manager with the appropriate Parameter Type. Constants are not valid Creation Routine parameter values.

Creation Routine dialog buttons

The following buttons are on the Creation Routine dialog:

· Apply

Sets the procedure as the creation routine.

· Delete

Clears the contents of the Creation Routine dialog text fields.

· Reset

Reads the last applied values back into the Creation Routine dialog.

· Dismiss

Removes the Creation Routine dialog.

Example

For example, if you specify the following for the child of a topLevelShell:

Creation Routine Example

A Creation Routine with these values generates the following function declaration:

Widget CreateWids(Widget parent, AStruct* a_param)

You can use the Creation Routine dialog to specify parameters which pass widget IDs between callbacks.

Class Source File


Note: In Java, you cannot edit this field because the file name must match the class name.

Click on Class Source File on the Component menu of the Resource Editor to display the Class Source File dialog:

Class Source File Dialog

Base Class File

Base name to which the C++ and C source and header suffixes will be appended. Set to the Base Class Name by default. For example, files generated from Base Class File "Foo" will be Foo.C (for the source file) and Foo.h (for the header file).

Derived Class File

Base name to which the derived class C++ source and header files will be appended. The default value is the Derived Class. For example, files generated from Derived Class File "foo" will have the default names FooDerived.C (for the source file) and FooDerived.h (for the header file). By default, not displayed.


Note: Builder Xcessory generates and displays derived files only if you set Generate Derived Files on the Code Generation tab of the C++ Language Settings dialog (from the Browser Options menu).

Generate Class

Select Generate Class to generate source code for the selected class. Set on by default. When linking a class into your application from a library, you can turn off source code generation.

Include By Reference

Select Include By Reference to forward reference a class without including its header files. Set on by default. If set off, includes the header of nested classes.


Note: This feature is available only when you select C++ or ViewKit as your current language.

 

Documentation: 

Compound String Editor

Allows you to change a resource of type XmString (for example, labelString).

Compound String Editor

Compound string editor components

The Compound String Editor contains the following components:

· A combination box displaying the Font Tag. The default font tag value is FONTLIST_DEFAULT_TAG_STRING. The other tags are retrieved from the associated fontList resource if you are editing a widget resource (Styles are not supported).

· An arrow button, indicating in which direction the selected text is read. The default is left-to-right (arrow points right).


Note: Vertical text is not supported.

· The Show Output toggle. When the toggle is set, the compound string is displayed in a window underneath the text entry field. Any changes made in the Compound String Editor are reflected in this window before the contents are applied to the currently selected widget resource using the OK button.

· The upper text entry field in which you edit the string and apply different font tags to different segments of the string.

· The lower text field in which the string is displayed when the Show Output toggle is set.

 

Documentation: 

Compound String List Editor

Allows you to specify a list for a resource of type XmString (such as items).

Compound String List Editor

Compound String List Editor components

The Compound String List Editor contains the following components:

· A combination box displaying the Font Tag. The default font tag value is FONTLIST_DEFAULT_TAG_STRING. The other tags are retrieved from the associated fontList resource if you are editing a widget resource (Styles are not supported).

· An arrow button, indicating in which direction the selected text is read. The default is left-to-right (arrow points right).


Note: Vertical text is not supported.

· The Show Output toggle. When the toggle is set, the compound string is displayed in a window underneath the text entry field. Any changes made in the Compound String Editor are reflected in this window before the contents are applied to the currently selected widget resource using the OK button.

· The text entry field in which you edit the string and apply different font tags to different segments of the string.

· The text field in which the string is displayed when The Show Output toggle is set.

· The String field, in which each string in the list is displayed in its string format. The New and Delete buttons to the right of this field allow you to manipulate the list of strings, while the up and down arrow buttons allow you to reorder the strings.

The Compound String Table Editor allows you to use Shift+Return to do a New operation.

 

Documentation: 

Constant Manager

Allows you to view constants to help you apply resource values to objects. Select Constants from the Browser Managers menu to display the Constant Manager:

Constant Manager

Constant Manager File Menu

Select File from the Constant Manager menu bar, either with the mouse or with a mnemonic, to display the Constant Manager File menu:

Constant Manager File Menu

Dismiss

Allows you to dismiss the Constant Manager.

Constant Manager Edit Menu

Select Edit from the Constant Manager menu bar, either with the mouse or with a mnemonic, to display the Constant Manager Edit menu:

Constant Manager Edit Menu

The following sections describe the options available from the Edit menu.

Cut

Removes the currently selected constant and puts it into the constant buffer. You are not permitted to Cut a constant which is referenced in your interface.

Copy

Copies the currently selected constant into the constant buffer.

Paste

Adds the contents of the constant buffer as a new constant.

Create Constant

Adds a constant. The default name is constant and the default type is Integer.

Edit Constant

Displays the Constant Editor for the currently selected constant. You may also display the Constant Editor by double-clicking on the constant in the Constant Manager.

Constant Editor

Select Edit Constant from the Constant Manager Edit menu to display the Constant Editor:

Constant Editor

Name

Specify the name of a constant in the Name text field.

Type

Specify the type of the constant using the Type text field and its associated combination box. You may specify any of the following UIL data types:

Asciz Table

Font

Single Float

Boolean

Font List

String

Color

Integer

String Table

Color Table

Integer Table

Translation Table

Compound String

Keysym

Float

Pixmap


Note: Respective C data types are listed in the Type Manager.

Value

Specify the resource value of the constant in the Value text field, or by using the associated extended editor (accessible by pressing the (...) button).

Reference Count

Reference Count enumerates the number of times the constant is referenced in the current interface and in the Builder Xcessory. The type of the constant may not be changed as long as this value is greater than zero. The notation Palette = n means that there are n references to the constant in collections on the Palette.

UIL Scope

Set the scope of the constant to either Private or External in the UIL output file:

· Private

Can only be referenced in the UIL module containing the constant value declaration. The value is directly incorporated into anything in the UIL module that references the declaration.

· External

Stored in the UID (compiled UIL) file as a named resource, and therefore can be referenced by name in other UIL files. This is the same as an "exported" UIL value.

Note: Scope affects only UIL files generated by Builder Xcessory.

Output File Option Menu

The Output File Option Menu allows you to specify the file to which the constant will be written when Builder Xcessory generates UIL. See File Placement for more detailed information.

Using constants

You use constants in different ways, depending on whether you are generating UIL or C code.

Generating UIL

When generating UIL code, you can use constants to fetch the resource value at runtime. UIL automatically translates the data type of the constant to that of the resource value. This saves you the trouble of explicitly specifying the X, Xt, and Motif calls in the code.

For example, if you create a constant named COLOR_CONSTANT with the value "RED", the defs-c.h file will contain the line:

#define COLOR_CONSTANT "RED"

while the UIL file would contain the line:

value COLOR_CONSTANT = color("RED")

If you wanted to fetch the value in the file main-uil.c, you would include in that file the line:

MrmFetchConstant (file, "COLOR_CONSTANT")

Generating C

When generating C, you can use constants for the following tasks:

· Define named resources up front, similar to the definition of constants in the header of a program.

· Share resource definitions.

Referencing constants

Constants which have been defined may be referenced in various places in the Builder Xcessory.

Resource Editor

Enter a constant as a resource value in a resource's text field, or from the Const pop-down list off the resource placement options menu, in the Resource Editor. Refer to Resource Editor for a detailed description of the Resource Editor.

If a widget's resource value depends on a constant that is subsequently Cut from the Constant Manager, then the widget's resource is changed from Constant to Code, and the resource value is set to the current value of the constant.

Styles

Use a constant as part of a style definition by entering the constant name in the appropriate text field on the Style Editor. Refer to Style Editor for detailed information.

Extended Editors

Select a constant from any of the Builder Xcessory extended editors. Selecting the Constant radio button displays a combination box which contains the names of all constants of the appropriate type. Refer to Extended Editors for a description of each of the extended editors.

Expressions

In the previous sections, a constant of type Integer may be used as part of an expression. For more information, refer to Expressions .

Example

This example describes how to apply a constant to the background resources of the widget instances in your interface:

Creating the constant

To create the constant, perform the following steps:

1. Select Constants from the Browser Managers menu.

2. Select Create Constant from the Constant Manager Edit menu.

3. Double-click on the new constant to bring up the Constant Editor.

4. In the Constant Editor, enter the name OK_LABEL in the Name text field.

5. Click the arrow button to display the Type combination box, and select Compound String. Click the (...) button to the right of the Value textfield to display the Compound String Editor.

6. Specify the value "OK" (without quotation marks) in the Compound String Editor text area. Refer to Compound String Editor for more detailed information about the Compound String Editor.

7. Click the Apply button on the Compound String Editor to apply the string value to the constant. Dismiss the Compound String Editor. The value is entered in the Constant Editor Value text field.

8. Click the Constant Editor Apply button to create the constant OK_LABEL, displayed in the Constant Manager.

Referencing the constant

To reference the constant, perform the following steps:

1. Create a push button and update the Resource Editor.

2. Click the (...) button to the right of the labelString resource to display the Compound String Editor.

3. Click the Constant toggle to the right of Resource Placement at the bottom of the Compound String Editor. This displays a dialog with a textfield and an arrow button.

4. Click the arrow button to the right of the Constant Name text field to view all existing constants of the same type as the resource labelString (type: compoundString).

5. Select OK_LABEL and click the Apply button at the bottom of the dialog to apply the constant as the value of the push button's labelString resource. If you go back to the Constant Editor, you will notice that the Reference Count for OK_LABEL has been changed.


Note: If the Constant Editor is visible when the constant is applied to or deleted from a resource, then the Reference Count will be updated by clicking the Constant Editor Reset button.

 

Documentation: 

Constants

Constants are defined, viewed, and manipulated using the Constant Manager. The Builder Xcessory constants allow you to perform the following tasks:

· Assign a constant name to a value. The constant name is then referenced when you use the value in a resource. This behavior is equivalent to a style containing a single value.

· Fetch the resource value referenced by a constant at runtime using the routine call MrmFetchConstant orMrmFetchSetValue.


Note: You can use Constants of type Integer in expressions. Refer to Expressions for more detailed information on expressions.

Documentation: 

DEC DXm Widgets

Digital Equipment Corporation (DEC) DXm widgets are included on the Palette when you run Builder Xcessory on a DEC platform. The following sections provide descriptions of each DEC widget in alphabetical order (refer to your DEC documentation for more detailed information):

Color Mixer

Description

The DXmColorMixer widget allows the user to create or choose a color using one of several models, including choosing a name and generating a value within the HLS or RGB color models.

CSText

Description

Use the DXmCSText widget when you need a multi-line or single-line text entry area that can edit text as a Motif compound string (XmString).

Notes

· The user can edit the text in-line.

· Automatically supports Motif Drag and Drop.

Help

Description

The DXmHelp widget allows the user to request Help information on a topic and traverse through additional related Help topics.

Notes

Forms a complete help subsystem.

Print Box

Description

The DXmPrintBox widget provides a convenient method of specifying how one or more files should be printed, in one of several formats and with several printing options.

Notes

Forms a complete printing subsystem.

Svn

Description

The DXmSvn widget displays a hierarchical structure of information.

Notes

· Displays the information in a way that lets the user navigate within and select from that structure.

· Supports outline, tree, and column formats.

 

Documentation: 

Daemon Log File

The daemons all generate log files in the following format.

mm/dd hh:mm (DAEMON NAME) message

mm/dd hh:mm Time that the message was logged.

DAEMON NAME Either "license daemon" or the string from the DAEMON line that describes your daemon. In the case where a single copy of the daemon cannot handle all of the requested licenses, an optional "_" followed by a number indicates that this message comes from a forked daemon.

message Text of the message.

Uses of log files

The log files can be used to:

· Inform users when they need to purchase additional application software licenses.

· Diagnose configuration problems.

· Diagnose daemon software errors.

Informational Messages

Informational Message  

Description

Connected to node

This daemon is connected to its peer on node "node."

CONNECTED, master is name

The license daemons log this message when a quorum is up and everyone has selected a master.

DEMO mode supports only one
SERVER host!

An attempt was made to configure a demo version of the software for more than one server host.

DENIED: N feature to user 
(mm/dd/yy hh:mm)

"user" was denied access to "N" licenses of "feature".

EXITING DUE TO SIGNAL nnn

EXITING with code nnn

All daemons list the reason that the daemon has exited.

EXPIRED: feature

"feature" has passed its expiration date.

IN: feature by user (N licenses) 
(used: d:hh:mm:ss)

"user" has checked back in "N" licenses of "feature" at mm/dd/yy hh:mm.

IN server died: feature by user 
(number licenses) (used: d:hh:mm:ss)

"user" has checked in "N" licenses by virtue of the fact that his server died.

License Manager server started

The license daemon was started.

Lost connection to host

A daemon can no longer communicate with its peer on node "host", which can cause the clients to reconnect, or cause the number of daemons to go below the minimum number, in which case clients may start exiting. If the license daemons lose the connection to the master, vendor daemons will shut themselves down.

Lost quorum

The daemon lost quorum, and will process only connection requests from other daemons.

MASTER SERVER died due to signal nnn

The license daemon received fatal signal nnn.

MULTIPLE xxx servers running.

Please kill, and restart license daemon

The license daemon has detected that multiple copies of vendor daemon "xxx" are running. The user should kill all "xxx" daemon processes and re-start the license daemon.

OUT: feature by user (N licenses) 
(mm/dd/yy hh:mm)

"user" has checked out "N" licenses of "feature" at mm/dd/yy hh:mm

Removing clients of children

The top-level daemon logs this message when one of the child daemons dies.

RESERVE feature for HOST name

RESERVE feature for USER name

A license of "feature" is reserved for either user "name" or host "name".

REStarted xxx (internet port nnn)

Vendor daemon "xxx" was restarted at internet port "nnn".

Retrying socket bind (address in use)

The license servers try to bind their sockets for approximately 6 minutes if they detect "address in use" errors.

Selected (EXISTING) master node.

This license daemon has selected an existing master (node) as the master.

SERVER shutdown requested.

A daemon was requested to shut down via a user-generated kill command.

[NEW] Server started for: feature-list

A (possibly new) server was started for the features listed.

Shutting down xxx

The license daemon is shutting down the vendor daemon xxx.

SIGCHLD received. Killing child servers.

A vendor daemon logs this message when a shutdown was requested by the license daemon.

Started name

The license daemon logs this message whenever it starts a new vendor daemon.

Trying connection to node

The daemon is attempting a connection to "node".

Configuration Problem Messages

Configuration Problem Message  

Description

hostname: Not a valid server host, exiting

This daemon was run on an invalid hostname.

hostname: Wrong hostid, exiting

The hostid is wrong for "hostname."

BAD CODE for feature-name

The specified feature name has a bad encryption code.

CANNOT OPEN options file "file"

The options file specified in the license file could not be opened.

Couldn't find a master

The daemons could not agree on a master.

license daemon: lost all connections

This message is logged when all the connections to a server are lost, which often indicates a network problem.

lost lock, exiting

Error closing lock file

Unable to re-open lock file

The vendor daemon has a problem with its lock file, usually because of an attempt to run more than one copy of the daemon on a single node. Locate the other daemon that is running via a ps command, and kill it with kill -9.

NO DAEMON line for daemon

The license file does not contain a "DAEMON" line for "daemon."

No "license" service found

The TCP "license" service did not exist in /etc/services.

No license data for "feat",
feature unsupported

There is no FEATURE line for "feat" in the license file.

No features to serve!

A vendor daemon found no features to serve. This could be caused by bad data in the license file.

UNSUPPORTED FEATURE request: feature by user

The "user" has requested a feature that this vendor daemon does not support. This can happen for a number of reasons: the license file is bad, the feature has expired, or the daemon is accessing the wrong license file.

Unknown host: hostname

The hostname specified on a "SERVER" line in the license file does not exist in the network database (probably /etc/hosts).

lm_server: lost all connections

This message is logged when all the connections to a server are lost. This probably indicates a network problem.

NO DAEMON lines, exiting

The license daemon logs this message if there are no DAEMON lines in the license file. Since there are no vendor daemons to start, there is nothing to do.

NO DAEMON line for name

The license daemon logs this message if there are no DAEMON lines in the license file. Since there are no vendor daemons to start, there is nothing to do.

Daemon Software Error Messages

Daemon Software Error Message
 

Description

accept: message

An error was detected in the "accept" system call.

ATTEMPT TO START VENDOR DAEMON xxx with NO MASTER

A vendor daemon was started with no master selected. This is an internal consistency error in the daemons.

BAD PID message from nnn: pid: xxx (msg)

A top-level vendor daemon received an invalid PID message from one of its children (daemon number xxx).

BAD SCONNECT message: (message)

An invalid "server connect" message was received.

Cannot create pipes for server communication

The "pipe" call failed.

Can't allocate server table space

A malloc error. Check swap space.

Connection to node TIMED OUT

The daemon could not connect to "node."

Error sending PID to master server

The vendor server could not send its PID to the top-level server in the hierarchy.

f-do-notify called with no valid feature

This is an internal consistency error.

Illegal connection request to DAEMON

A connection request was made to "DAEMON", but this vendor daemon is not "DAEMON."

Illegal server connection request

A connection request came in from another server without a DAEMON name.

KILL of child failed, errno = nnn

A daemon could not kill its child.

No internet port number specified

A vendor daemon was started without an internet port.

Not enough descriptors to re-create pipes

The "top-level" daemon detected one of its sub-daemon's death. In trying to restart the chain of sub-daemons, it was unable to get the file descriptors to set up the pipes to communicate. This is a fatal error, and the daemons must be restarted.

read: error message

An error in a "read" system call was detected.

recycle_control BUT WE DIDN'T HAVE CONTROL

The hierarchy of vendor daemons has become confused over who holds the control token. This is an internal error.

return_reserved: can't find feature listhead

When a daemon is returning a reservation to the "free reservation" list, it could not find the listhead of features.

select: message

An error in a select system call was detected.

Server exiting

The server is exiting. This is normally due to an error.

SHELLO for wrong DAEMON

This vendor daemon was sent a "server hello" message that was destined for a different "DAEMON".

Unsolicited msg from parent!

Normally, the top-level vendor daemon sends no unsolicited messages. If one arrives, this message is logged. This is a bug.

WARNING: CORRUPTED options list (o->next == 0)

Options list TERMINATED at bad entry

An internal inconsistency was detected in the daemon's option list.

 

Documentation: 

Definitions

This document uses the following terms:

Click

Move the cursor over an object, press a mouse button, and immediately release the mouse button. When the button is unspecified, assume mouse button one (typically the left mouse button).

Collection

A group of related user interface objects saved to the Builder Xcessory Palette for reuse. Collections can include any UI object supported by Builder Xcessory, including widgets, gadgets, C++ classes, ViewKit components, or Java (AWT) classes.

Component

A user interface object, generally used in the context of ViewKit classes. ViewKit components generally consist of collections of Motif widgets along with code to implement general or specific functionality, encapsulated into a C++ class subclassed from an element of the ViewKit application framework.

Cursor

A graphical image appearing on the screen which reacts to the movements of a mouse or other pointing device. In the Builder Xcessory, the cursor appears as an angle bracket when creating a widget, and an arrow when selecting a pull-down menu or menu item. During a drag and drop operation, it appears as an icon reflecting the type of object dragged and the target over which it is positioned.

Drag

Press a mouse button, then move the mouse without releasing the button. Typically followed with a drop operation. The phrase, "drag on to" indicates a drag and drop operation. Use MB2 to perform a drag and drop operation, unless otherwise specified.

Drop

Release the mouse button after positioning the mouse (and screen object) as desired. Typically follows a dragoperation. The phrase, "drop on to" indicates a drag and drop operation. Use MB2 to perform a drag and drop operation, unless otherwise specified.

Enter

Type a new value and press the Enter key.

Gadget

A user interface object built upon the Xt Intrinsics (the X Toolkit). Similar to a widget, a gadget lacks certain data structures (such as a window) contained in a widget. The gadget maintains this data on the client side, rather than on the server, as does a widget. Although seldom used with today's server performance levels, gadgets remain supported by BX.

{lang}

Specifies the currently selected language for code generation.

MB1, MB2 and MB3

Mouse buttons one, two, and three. Typically, MB1 is the left-most button, MB3, the right-most. On a two-button mouse, MB2 is most commonly emulated by pressing both buttons simultaneously. For actions described as "click," assume MB1.

MB3 Quick Access menu

This menu is invoked by pressing MB3 while the mouse pointer is positioned over an object on the display. The contents of the menu depend on the type of object pointed to and the window in which you access the menu.

Object/
UI object

A reusable software entity with a user interface (UI), or visible, aspect. A generic term for the various objects that are manipulated with Builder Xcessory. UI objects include widgets, related collections of widgets, C++ classes, ViewKit components, and Java (AWT) classes. The term object and the term UI object are interchangeable.

Paste buffer

Cache into which a cut or copied object is placed. Also called a cut buffer.

Resize

To change the height and/or width of an object.

Resource

A user preference specification that controls elements of an application that can be customized by the user.

Select

To choose an object to be acted upon or an action to be performed; accomplished by clicking mouse button one on an object or menu item.

Session

A single, continuous working session, from the time you start Builder Xcessory from the command line, or from another tool, to the time you select Exit from the Browser's File menu.

Widget

A user interface object built upon the Xt Intrinsics (the X Toolkit). Motif user interface objects are widgets.

 

Documentation: 

Displaying Editor Title Bars

WmTitleBar

The Builder Xcessory uses the application resource useWmTitleBar, which takes a boolean value and is True by default. When the value is False, a label is displayed across the top of the extended editors with the same information that is in the window manager's title bar.


Note: This is useful for users who set up their window managers without title bars on transient windows. If the user sets this resource to False, and allows the window manager to set up title bars on transient windows, the displayed information is redundant.

Documentation: 

EnhancementPak Xi Widgets

BX PRO users

By default, the BX PRO Palette includes the EnhancementPak widgets.

Builder Xcessory users

Start with EPak Widgets must be set on the Behavior tab of the User Preferences dialog to display the EnhancementPak icons. See Behavior toggle options for more detailed information.

EnhancementPak widgets are displayed on the Palette for all platforms and for all languages except Java. The EnhancementPak widgets are grouped in the following folders:

· EPak Primitives

XiColorSelector, XiCombinationBox, XiExtended18List, XiFontSelector, XiIconButton, XiPanner, XiDataField, and XiPixmapEditor.

· EPak Containers

XiTree, XiIconBox, XiOutline, XiPaned, XiPorthole, XiStretch, 
XiTabStack, XiToolbar, XiButtonBox, and XiColumn.

· EPak Graphs

XiBarPlot, XiCallbackPlot, XiErrorPlot, XiFadePlot, XiHighLowPlot,
XiHistoPlot, XiImagePlot, XiLinePlot, XiPiePlot, XiTextPlot, and XiPlotter.

The following sections provide descriptions of each EnhancementPak widget in alphabetical order. Refer to the EnhancementPak for OSF/Motif Programmer's Reference and the ICS GraphPak for OSF/Motif Programmer's Reference manuals for more detailed information about these widgets.

Button Box

Description

The XiButtonBox widget positions children in a single row or column, with control over their spacing and sizing behavior.

Notes

· Attempts to preserve even spacing between objects

· Can also stretch its children to fill the available space

Color Selector

Description

The XiColorSelector widget allows the user to choose a color value by setting RGB values or selecting a name from a list of available colors.

Notes

The name or color value is dynamically displayed to the user.

Column

Description

The XiColumn widget displays its children stacked in a column, each with an optional associated label. Useful for displaying labeled data-entry fields.

Notes

· Offers several constraint resources that allow specification of characteristics of the label.

· Offers several resources for setting defaults for children that specify no specific values.

Combination Box

Description

The XiCombinationBox allows the user to select an item or items from a list of choices, or enter new values in the text field portion.

Notes

Displays a type-in area showing the current value and a popup list containing other possibilities.

Data Field

Description

The XiDataField widget handles display and entry of data as text, and intended for data entry applications.

Notes

A subclass of Motif XmTextField.

Internationalized Extended List

Description

The XiExtended18List widget allows you to display multi-column data and retrieve the selection.

Notes

· Displays a title for each column

· Displays the data so that columns are visibly separate

· Supports sorting on a particular column

· Supports searching through the data

Font Selector

Description

The XiFontSelector widget allows the user to choose a font by selecting the characteristics of the font.

Notes

Dynamically calculates the set of available fonts that match the specified characteristics.

Icon Box

Description

The XiIconBox widget allows you to position children in a grid at arbitrary cell locations.

Notes

Resizes each child to be the same size.

Icon Button

Description

The XiIconButton widget displays both simple text and a pixmap in several possible configurations.

Notes

Use when you want an object that has both the semantics of a Push Button or Toggle Button and the capability of displaying both simple text and a pixmap.

Outline

Description

The XiOutline widget shows the relationship of objects in a graphical, indented format.

Notes

· Each child is displayed as an entry in an outline, at various levels of indentation.

· User can open and close sub-trees to show or hide data.

Paned

Description

The XiPaned widget allows the user to resize various portions of the application interface, either horizontally or vertically.

Notes

Each child object that the Paned Window controls is associated with a sash that the user may move to change the size of the child.

Panner

Description

The XiPanner widget allows the user to scroll a third widget in two dimensions (easier than using two ScrollBars).

Notes

· Typically used in combination with the Porthole.

· The Panner's slider shows the location of the visible region of the third widget.

· The user moves the slider to move the visible region.

Pixmap Editor

Description

The XiPixmapEditor widget implements a simple editor for creating and modifying multicolor images.

Notes

· The Pixmap Editor is a simple color pixmap editor bundled into one widget.

· Includes operations for the drawing of simple shapes, and the movement and copying of areas.

Porthole

Description

The XiPorthole widget allows the user to scroll a third widget in two dimensions.

Notes

· Easier to use than using two ScrollBars.

· Usually used in combination with the Panner.

· Manages a single child, and displays a clipped portion of that child within its own bounds.

Stretch

Description

The XiStretch widget allows the user to dynamically change the size of the Stretch widget's single child by dragging the border.

Notes

Changes the size similar to how the window manager resizes a top-level window.

Tab Stack

Description

The XiTabStack widget manages a group of widgets such that only one widget in the group is visible at a time. Each child is associated with a tab that displays text and/or a pixmap. The user selects the tab, interactively determining which child is displayed. Tabs can be configured to appear above, below, and right or left of the work area, with the text oriented in any of the four cardinal directions.

Notes

· Allows user to select tabs, either by pointer or by keyboard traversal.

· When a tab is selected, the tab appears to be raised above the other tabs and the child associated with the tab is made visible.

· One tab is selected at all times.

Toolbar

Description

The XiToolbar widget manages groups of child widgets in either a single row or column. Any type of widget can be a Toolbar item, but the most common is the XiIconButton.

Notes

Supports the display of a popup label over each child widget.

Tree

Description

The XiTree widget shows the relationship of objects in a graphical tree format.

Notes

· Each child is displayed as part of a branch of a tree, at various depths.

· The user can open and close sub-trees to show or hide data.

 

Documentation: 

Event Editor

Note: This extended editor is available in Java only.

Allows you to specify a method to call when an event occurs. Click the button to the right of the actionEvent resource in the Resource Editor to pop up the Event Editor:

Event Editor (Java only)

Click on the Code or App toggle of the Resource Placement field. Enter the event name in the text field and click on Apply. Click on Edit to generate code.

 

Documentation: 

Event Handler Editor

Allows you to add event handlers to your application's widgets. Event handlers are attached to widgets and are accessed through the Resource Editor, much like callbacks. Event handlers are not application global. The purpose of event handlers is to let you specify functions to be called when widgets receive certain events.

Click the (...) button to the right of the eventHandler resource in the Resource Editor to pop up the Event Handler Editor:

Event Handler Editor

The display area lists the Handler Name, Event Mask, Non-Maskable setting, Parameter Type, and Parameter of each event handler that has been added to the application.

Selecting, adding, and deleting an event handler

· Select an event handler by clicking on its name in the list. All appropriate fields are updated for the selected event handler.

· Add an event handler to the list by clicking New and entering the Handler Name and any necessary parameter data in the appropriate text fields.

· Delete an event handler by selecting it in the list and clicking the Delete button.

When changing or adding an event handler to the list, you can choose a handler name from the list displayed by clicking on the arrow to the right of the Handler Name label, or you can create a new procedure by typing its name in the Handler Name text field. Builder Xcessory prompts you to confirm a new handler name.

When a widget gets a specified X event, the event handler is called. To specify the X event(s), you must do so in the Event Mask field. You can choose an event mask from the list displayed by clicking on the arrow to the right of the Event Mask label, or type its name in the Event Mask text field. You can choose one or more event masks, separating each mask name with a comma or a logical "or" (|).

New event handlers

New event handlers are created with a default Parameter Type of Undeclared in the Event Handler Editor, indicating that parameter values of any type are accepted in the Parameter field. Other valid values include all pre-defined types, user-defined types, and None. None indicates that the event handler takes no value as its client data. A list is available by clicking on the arrow to the right of the Parameter Type label in the Event Handler Editor.

Declaring additional user-defined types

Additional user-defined types can be declared in the Event Handler Editor by entering the new type name in the Parameter Type field. Builder Xcessory prompts you to confirm a new user-defined type.

The Parameter Type field is grayed out if the event handler specified in the Handler Name field is referenced by a widget or style resource in your interface. The procedure's parameter type cannot be changed, in the Event Handler Editor, unless all references to the handler are removed from the interface.

Matching parameters with the event handler editor

When Builder Xcessory encounters a parameter in the Event Handler Editor, it searches for a match in the following order:

· Identifier

· Constant

If no match is found, Builder Xcessory prompts you to declare the parameter as an identifier.

The Parameter field accepts the following values as client data values to pass to the callback procedure.:

· Constants

· Identifiers

· Boolean

· Integer

· Floating point

· String


Note: String values must be double-quoted.

The type of the value must correspond to the type listed in the Parameter Type field. A list of parameters is available by clicking on the arrow to the right of the Parameter label in the Event Handler Editor.

If the text entered into the Parameter field is not a constant, identifier, or actual value, then Builder Xcessory prompts you to declare the value as an identifier of the appropriate type.

 

Documentation: 

Expressions

You can use expressions to specify Integer values in the Resource Editor, the Style Editor, and the Integer Editor. Expression grammar in Builder Xcessory is as follows:

<expression> := <integer value> | <constant name>
| <expression> + <expression>
| <expression> - <expression>
| <expression> * <expression>
| <expression> / <expression>
| (<expression>)
| - <expression>

Expressions are evaluated from left to right. Standard order of precedence is enforced for binary operator expressions. The following conditions apply to expressions:

Expression conditions

· When an expression is entered in a resource or Style Editor text field, the expression is evaluated, and the result is assigned to the widget resource. The label to the right of the text field in the resource list is changed to Expr.

· To use an expression in the Integer Editor, select the Expr toggle. The string entered in the extended editor will be evaluated to a numeric value and that value assigned where appropriate.

· The calculated value will be re-evaluated for expressions that use constants if any of the constant values change. Any references throughout the interface will use the new value.

· If a widget or style resource value depends on an expression which includes a constant that is Cut from the Constant Manager, then the widget's resource will change from Expr to Code and its value will be set to the previously evaluated integer value.

 

Documentation: 

File Placement

Builder Xcessory allows you to place constants, widget resources, procedures, and styles in different UIL files. This feature is particularly useful when developing internationalized applications, because you can save language-specific information into separate files.

Documentation: 

Flexible License Manager

Obtaining your activation key

Builder Xcessory uses the GLOBEtrotter Software Inc. Flexible License Manager (FLEXlm). When you receive Builder Xcessory, contact ICS to obtain your activation key. Based on information about your server configuration, the activation key allows you to obtain a license to run Builder Xcessory. You can run the Builder Xcessory in demo mode without a license, but you must have a license to save a session's work by writing out UIL files.


Note: If you have Builder Xcessory 1.x, 2.x, or 3.x, you must request a new activation key .

Man Pages

Refer to User Commands for man pages related to the license manager.


Note: Builder Xcessory is distributed with version 3.0 of GLOBEtrotter Software's Flexible License Manager.

Pre-existing Copies of the License Manager

If another copy of the License Manager is already installed on your system, determine which of the following cases apply to you and proceed accordingly:

· In all cases, if license . dat or an equivalent file already exists, when requesting an activation key please provide us with the hostid (s) used in that file, even if they are different from the ones you get using lmhostid .

· If your existing copy of lmgrd is version 3.0 or later, proceed with the installation according to the BX PRO 5.0 Installation Notes .

· If your version of lmgrd is earlier than 3.0, before starting the installation script, move the old copy of lmgrd out of/etc or the directory in which you intend to place the license manager. Proceed with the installation according to the BX PRO 5.0 Installation Notes .

 

Documentation: 

Font List Editor

Allows you to select from a list of fonts and font families, specifying style, size, slant, and weight. A window displaying sample text is automatically updated to reflect your selections. The list of fonts is generated by the Builder Xcessory from the X11 fonts available on the display on which the Builder Xcessory is running. You cannot use the Font List Editor if you want to use a font other than those present on your development system, but you can type the font name directly into the Resource Editor.

Font List Editor with Options

Font List Editor fields and buttons

The Font List Editor contains the following fields and buttons:

· Family combination box, enabling you to specify the font family.

· Size combination box, for specifying the font size in points.

· Bold and Italic toggle buttons, to control the weight and slant of the font.

· Options button, which toggles between showing and hiding the additional options described below.

· Font Tag list, enabling you to apply the tag specified in the Font Tag text field to the font currently selected in the list. The New and Delete buttons to the right of this field allow you to manipulate the list of fonts, while the up and down arrow buttons allow you to reorder the list.

The Font List Editor dynamically removes choices that are inappropriate. This enables the user to freely experiment with different combinations and ensures that the selected font exists on the machine from which the Font List Editor is running.

Font list example

For example, if the Times Roman 14 point font is not available, and the user selects a point size of 14, then Times Roman will not be available in the family combination box. Likewise, if the user had chosen Times Roman from the family dialog box then a size of 14 would not be shown. To have all choices available choose a size and family of Any.

Options

The Font List Editor provides tremendous flexibility in font choices. Click the Options button to display an additional panel of controls. This allows the user to gain access to non-X Logical Font Description (XLFD) fonts, control the resolutions of the fonts chosen, choose from fixed or proportional fonts only, remove the use of font scaling, view non-iso8859-1 fonts, and see the XLFD name of the font which the Font List Editor is constructing.

Non-XLFD fonts

By choosing the Other Fonts toggle from the option panel, the family and size lists, as well as the bold and italic toggles, are replaced with a list of all non-XLFD fonts available on your system. This feature allows users to select non-XLFD fonts with the Font List Editor. The text field of the combination box may be edited by the user and any string entered is interpreted as a font name.


Note: XLFD names may be entered in this field. This feature allows the Font List Editor to be used to specify any font on the entire system.

Resolution control

The Font List Editor finds which of the two standard resolutions (in dots per inch--dpi) the current display is closest to and uses that as its default. To allow a wider range of choices, a user may choose to access fonts of a different resolution, or both 75 and 100 dpi resolutions.

Fixed or proportional

Some applications, such as terminal emulators, require a fixed-width font, although proportional fonts often look better. The Font List Editor allows users to limit the font choices to fixed-width or proportional, or to allow both.

Font scaling

The font scaling technology available in X11R5 uses bitmap scaling which often results in ugly fonts. To remove the scaled fonts from the list of choices, unset the Use Font Scaling toggle. You can set this value as a resource.

XLFD name display

Advanced users may desire to know which font the Font List Editor is constructing for them. By setting the Show Font Name toggle the XLFD name is shown to the user at the bottom of the Font List Editor as it is being constructed. Builder Xcessory uses wildcards when constructing a font name.

Encoding

Most English fonts have an encoding of iso8859-1. The Encoding options menu allows you to choose any of the character sets available in your interface. The character sets are loaded from your WML files.

 

Documentation: 

Form Constraint Editor

The Form Editor provides a graphical method of accessing the constraint resources of any child of a form widget. The editor is created with the form and exists as a transparent interface to the widget. When you place widgets as children of a form, the child widget's topAttachment, rightAttachment, bottomAttachment, and leftAttachment resources are represented by attachment icons on the widget's top, right, bottom, and left edges, respectively. For example, in the following figure, the right push button has the following attachments:

· topAttachment = XmATTACH_FORM

· rightAttachment = XmATTACH_NONE

· bottomAttachment = XmATTACH_NONE

· leftAttachment = XmATTACH_WIDGET

Form Editor

Editing attachment resources

Use the Form Editor to edit the child widget's attachment resources according to the following methods:

· Press MB3 on an attachment icon. A list of the possible values for that resource (for example, the values XmATTACH_POSITION and XmATTACH_OPPOSITE_FORM) is displayed. The toggle button for the current value is set, those for the other values are unset. Move the cursor over the desired value and release the mouse button. The attachment changes accordingly.

· Hold down Ctrl and press MB3 on an attachment icon. The current settings are displayed. Moving the cursor while holding Ctrl down allows you to change the offset or attach position.


Note: You can cancel the change by releasing the Ctrl key before the mouse button.

· Press the MB1 on an attachment and drag the cursor to the desired attachment. To attach to a widget, drag to the desired edge of the widget; to attach to the form, drag towards the edge of the form. Release the mouse button. The attachment changes accordingly.

· To set an attachment to XmATTACH_POSITION, drag MB1 from the attachment icon onto the widget itself.

· To modify an attachment's offset/position information, press Ctrl+MB3 on the attachment icon, drag to the desired location, and release Ctrl and MB3.

Attachment Symbols

In the Form Editor, the Builder Xcessory uses the following symbols to represent the various form attachment types:

Form Editor Symbols

The symbols are rotated to indicate the side to which they apply:

Rotated Symbols

Setting attachments

For many operations on the form and its children, you do not have to use the keyboard. Mouse buttons one and three are used for many operations on the form child constraints.

Setting Form Editor Attachments

All actions relating to the form attachments must be initiated on the attachment icons. When the cursor moves into the attachment icon, the cursor will change to indicate that you may perform attachment actions.

 

Documentation: 

Hostids for FLEX lm -Supported Machines

FLEX lm uses different machine identifications for different machine architectures. For example, all Sun Microsystems, Inc. machines have a unique hostid, but all DEC machines do not. The ethernet address is used on some machine architectures as the "Host ID". An ethernet address is a 6-byte quantity, with each byte specified as two hexadecimal digits. Specify all 12 hex digits when using an ethernet address as a hostid. For example, if the ethernet address is 8:0:20:0:5:ac, specify "0800200005AC" as the hostid.

The program lmhostid will print the exact hostid that FLEX lm expects to use on any given machine. The following table lists alternate methods to obtain the required hostid for each machine architecture.

Platform

Host ID

Enter This Command on the License Server

Example

Decstation

ethernet address

pfstat or arp hostname 1

080020005532

HP

32-bit hostid 2

echo `uname -i` 16o p | dc

778DA450

ethernet address

lanscan (use station address without leading "0x")

0000F0050185

"id module" 3

read ID typed on module, remove `A', and convert remainder to hex.

118CD098

SCO (FLEXlm  v.3.0)

Hostid String

uname -x (returns SCO00354), then prefix with "ID_STRING="

ID_STRING=SCO00354

SCO (FLEXlm  pre-3.0

uname -x (returns SCO00354), then remove any non hex proceeding letters from the serial number

00354

SGI

32-bit hostid

echo `/etc/sysinfo -s` 16o p | dc

69022F72

SUN

32-bit hostid

hostid

170a3472


1. The "arp hostname" (substitute the name of the desired host) command must be issued on another machine on the network, not on the target machine. Alternately, the ethernet address can be read at boot time on the machine console.

2. Default for FLEX lm v3.0 and above only. See lmhostid (1) .

3. Only for HP300. The id module is the default hostid for FLEX lm v2.21.

 

Documentation: 

Identifier Manager

Allows you to define, view, and manipulate identifiers available in your interface. Select Identifiers from the Browser Managers menu to display the Identifier Manager:

Identifier Manager

Using identifiers

The Identifier Manager allows you to create and edit the list of identifiers associated with a given interface. You can use these identifiers as follows:

· Parameters in callbacks accessible through the Callback Editor

· Parameters in the creation routine

· Variables which are defined at run-time

When you specify a new identifier in the Identifier Manager, Callback Editor, or Creation Routine dialog, Builder Xcessory adds the new identifier to the Identifier Manager.

Identifier Manager File Menu

Select File from the Identifier Manager menu bar (with the mouse or with a mnemonic) to display the Identifier Manager File menu:

Identifier Manager File Menu

Dismiss

Allows you to dismiss the Identifier Manager.

Identifier Manager Edit Menu

Select Edit from the Identifier Manager menu bar, with the mouse or with a mnemonic, to display the Identifier Manager Edit menu:

Identifier Manager Edit Menu

Cut

Cuts the currently selected identifier and places it in the identifier buffer, provided it is not referenced in the current interface.

Copy

Copies the currently selected identifier to the identifier buffer.

Paste

Pastes the contents of the identifier buffer.

Create Identifier

Creates a new identifier.

Edit Identifier

Displays the Identifier Editor for the currently selected identifier.

Identifier Editor

Select Edit Identifier from the Identifier Manager Edit menu to display the Identifier Editor:

Identifier Editor

Name

Specify the name of the identifier in the Name text field.

Type

Specify whether the Identifier Type is Predefined or User Defined using the toggle buttons to the right of the Type label.

· Predefined

Defined by default when Builder Xcessory starts up. Their UIL and C/C++ equivalents are listed in the Type Manager, and appear "locked" so that they may not be cut.

· User Defined

Appear unlocked in the Type Manager. A new type may be declared in the Identifier Editor by selecting the User Defined radio box and entering the new type in the Type text field. Builder Xcessory will prompt you for confirmation and then add the new type to the Type Manager.

Output File Option Menu

The Output File Option Menu allows you to specify the file to which the identifier will be written when Builder Xcessory generates UIL. See File Placement for more detailed information.

Click the arrow button to the right of the Type text field to view all types which are either Predefined or User Defined (depending on the toggle setting).

Predefined types

The following table lists Predefined types:

Asciz Table

Font

Single Float

Boolean

Font List

String

Color

Integer

String Table

Color Table

Integer Table

Translation Table

Compound String

Keysym

Undeclared

Float

Pixmap

None

The equivalent C data types are listed in the Type Manager.


Note: Identifiers cannot be type None.

User-defined types

The User-defined types are all types which you have specified in the Type Manager, Procedure Manager, Callback Editor, or Creation Routine dialog.

Identifiers of type Undeclared or of any user-defined type may be used for resources that have either a type of XtPointer or no obvious type (for example, XmNcolormap or XmNscreen).

Referencing identifiers in the Resource Editor

You can enter an identifier name of the appropriate type in a resource's text field, or choose one from the Ident pop-up list on the resource placement options menu, in the Resource Editor. See Resource Editor for more detailed information on the Resource Editor.


Note: Identifiers are not evaluated within the Builder Xcessory. The widget with a modified resource value retains its last resource value within the Builder Xcessory.

The identifier name is output as the resource value in the Builder Xcessory's generated code. You are responsible for assigning a valid value to the identifier elsewhere in your application code before your application attempts to evaluate the identifier at run-time.

When an identifier is referenced in the Builder Xcessory, you cannot cut the identifier from the Identifier Manager.

Referencing identifiers in styles

You can use an identifier as part of a style definition by entering the identifier name in the appropriate text field on the Style Editor. The identifier will remain un-evaluated. No value will be assigned to the widget resources affected by the style within the Builder Xcessory, but output code will reflect the correct value. See Styles for more detailed information.

Referencing identifiers in Extended Editors

You can select an identifier from any of the Builder Xcessory's extended editors. Selecting the Identifier radio button displays a combination box which contains the names of all identifiers of the appropriate type. Refer to Extended Editors for more detailed information about extended editors.

Example

This example describes how to apply an identifier to the value resource of a text widget instance in your interface.

Creating the identifier

To create the identifier, perform the following steps:

1. Select Identifiers from the Browser Managers menu.

2. Select Create Identifier from the Identifier Manager Edit menu.

3. double-click on the new identifier to bring up the Identifier Editor.

4. In the Identifier Editor, change the name of the identifier to "my_value" (without quotation marks).

5. Change the type of the identifier to the predefined type Compound String.

6. Click the Apply button on the Identifier Editor to update the identifier. Notice that the changes are displayed in the Identifier Manager.

Create a text widget and update the Resource Editor.

Setting the value resource to the identifier

Set the value resource of this widget to the identifier in one of the following ways:

· Click on the resource placement options menu to the right of the value resource text field, and select my_value.

· Use the following procedure:

1. Click the (...) button to the right of the value resource to display the Compound String Editor.

2. Click the Ident toggle to the right of Resource Placement at the bottom of the Compound String Editor. This updates the dialog to contain a text field and an arrow button.

3. Click the arrow button to the right of the Identifier Name text field to view all existing identifiers. Select my_value and click the Apply button at the bottom of this dialog.

· Enter my_value into the value resource text field on the Resource Editor and click OK.

These methods all assign the identifier name to the text widget's value resource in the code generated by the Builder Xcessory.


Note: The value within the Builder Xcessory does not change.

 

Documentation: 

Identifiers

Builder Xcessory identifiers are used for different purposes, depending on your target language.

Using identifiers in C

In C, use identifiers for the following:

· Parameters specified for callbacks and creation routines.

· Runtime values for resources.

In UIL, use identifiers for the following:

· To bind a UIL name to a value at run-time, rather than specifying the value in the code.

· Runtime values for resources.

Legal characters

Legal characters include alphanumeric characters, periods, parentheses, square brackets, ampersands, asterisks, underscores, and dollar signs: ".", "(", ")", "[", "]", "&", "*", "_", "$". The characters "->" are also legal, when used together to construct an arrow. The wide variety of characters allows you to declare identifiers such as foo[4], &foo[1], *foo[1], bar(), foo::bar, structure->field, my_ident, and my$ident.


Note: Identifiers are not evaluated directly by Builder Xcessory, but are placed in output code to allow you more control over variables.

 

Documentation: 

Installing the License Manager

Refer to the BX PRO 5.0 Installation Notes for a detailed description of the license manager installation script.

Setup script

When you run the setup script, the Builder Xcessory automatically starts the license manager installation script. To start the license manager script manually, enter the following on the command line:

sh setup

The license manager installation script prompts you for the following information:

· Location of license.dat

· Host name, host id, and TCP/IP port number of each machine that will act as a license server

Installing license.dat

Default directory

By default, license . dat is installed in the following local directory:

/usr/local/flexlm/licenses

However, the license.dat text file must be accessible to the Builder Xcessory license daemons, and must be available on every system that will run the Builder Xcessory, or act as a license server . We recommend that you NFS mount the directory in /usr/local/flexlm/licenses , which will then be accessible from any machine on your network.

If necessary, you may NFS mount the directory on another path, and establish a symbolic link back to/usr/local/flexlm/licenses by entering the following on the command line:

ln -s <path> /usr/local/flexlm/licenses

NFS mounting the directory to another path

If you NFS mount the directory on another path, and don't want to establish a symbolic link, use the -c flag for lmgrdand the LM_LICENSE_FILE environment variable.

If you use csh, enter:

setenv LM_LICENSE_FILE <path>/license.dat

If you use sh, enter:

LM_LICENSE_FILE = "<path>/license.dat";
export LM_LICENSE_FILE

Note: We do not recommend copying license . dat into the local directory of every machine because this makes updating the file difficult. However, if you choose to copy the file into the local directory and want to use a directory other than /usr/local/flexlm/licenses , you must establish a symbolic link to /usr/local/flexlm/licensesor use the -c flag for lmgrd and the LM_LICENSE_FILE environment variable, as shown above.

For additional information, see license.dat (5) .

Editing license.dat

The installation script uses your responses to the installation prompts and generates the license . dat text file. We recommend that you review this file to verify the information. The file is divided into the following three types of code:

· Server lines

The server lines contain the host name, host id, and TCP/IP service port for each server. You can edit the system name and port data as you change your system configuration. However , if you add, delete, or change a host id, your activation key will become invalid and you will be unable to obtain a license.


Important: If you add, delete, or change a host id, you must contact ICS with the updated information to get a new activation key.


· Daemon lines

The daemon lines contain the location at which your vendor daemons will be found. You may edit this data to reflect changes in your system.

· Feature lines

The feature lines contain information for the version of the Builder Xcessory that you are licensed to run. Each feature has a line of data that includes the word FEATURE , the feature name (for example, Builder Xcessory), the vendor daemon ( ICSBX ), the version number, the expiration date, the number of licenses that may be run simultaneously, the twenty character activation key, a string describing the feature, and a string which reads "DEMO " or null .


Warning: Editing the information in the feature lines invalidates your activation key.

 

Documentation: 

Integer Editor

Allows you to change integer resource values (such as border width).

Integer Editor

Type the new integer value into the text window.

 

Documentation: 

Integer Table Editor

Allows you to specify a list of integers for a resource.

Integer Table Editor

You must specify each integer value on a separate line. For example, value:

1
2
3
4

is output as

integer_table(1, 2, 3, 4);

 

Documentation: 

Java Awt Objects

Java Awt 1 objects are displayed on the Palette when you select Java as the current language. Palette Java objects are grouped in the following folders:

· Java AWT Primitives

Objects which cannot receive children: AwtButton, AwtLabel, AwtCheckbox, AwtChoice, AwtList, AwtScrollBar, AwtTextArea, 
AwtTextField, AwtCanvas, and AwtFileDialog.

· Java AWT Containers

Objects which can receive children: AwtFrame, AwtPanel, 
AwtApplet, and AwtScrollPane.

· Java AWT Menus

Objects used to build menus (menus can be contained within the Frame object only): AwtMenuBar, AwtMenu, AwtPopuMenu, AwtMenuItem, AwtCheckboxMenuItem, and AwtMenuSeparator.

Note: Only Java AWT objects are available on the Palette when you select Java as the current language.


Code generated objects

In some cases, non-visual objects are required to set resources. The following objects are not on the Palette, but are created when Builder Xcessory generates code:

· BorderLayout

· FlowLayout

· CardLayout

· GridLayout

· GridBagLayout

· GridBagConstraints

· CheckBoxGroup

These objects supply additional resources in the Resource Editor for the associated object.

The following sections provide descriptions of each Java object on the Palette, in alphabetical order. Refer to your Java AWT documentation for more detailed information.

Applet

Description

The AwtApplet object is a top level panel for applications designed to run within a Web browser (unlike a frame that pops up a separate window outside the Web browser)

Notes

· Subclassed from panel.

· Additional methods automatically called from browser.

· Can be run from a browser or Applet viewer.

· Default is FlowLayout.

Button

Description

The AwtButton class is a GUI button for which you can define an action that will happen when the button is pressed. Consists of a text label or pixmap surrounded by a border shadow.

Notes

When the button is selected, the object appears as if it has been pressed in.

Canvas

Description

The AwtCanvas class is general purpose component that allows you to paint or trap input events from the user.

Notes

· Can be used for creating graphics.

· Can be used as a base class that can be subclassed in order to create your own custom components.

Checkbox

Description

The AwtCheckbox class is a component that has an on/off state. Generates an event when state changes.

Notes

Maintains a Boolean state (whether checked or unchecked).

Checkbox Menu Item

Description

The AwtCheckboxMenuItem class is a checkbox with a text label in a GUI menu.

Notes

Maintains a Boolean state (whether checked or unchecked).

Choice

Description

The AwtChoice object is a menu of options that drops down from a button. The button displays an icon to indicate that a menu is available. Generates an event when a menu item is selected.

Notes

The button displays the currently selected option as its label.

Dialog

Description

The AwtDialog object is a top-level window used to create dialogs. Can be modal, that is, will allow only this window to receive input from the user.

Notes

· Dialog can have a title.

· Dialog can be resizable.

· Default layout is BorderLayout.


Note: The Make Class dialog is automatically displayed when you click on Dialog from the Palette.

File Dialog

Description

The AwtFileDialog object is a dialog that uses the native file chooser dialog to select a file from the file system

Notes

You can control which files are displayed in the dialog.


Note: The Make Class dialog is automatically displayed when you click on File Dialog from the Palette.

Frame

Description

The AwtFrame object is an optionally resizable top-level window that has a border and can also have an associated menu bar, title, cursor, or icon.

Notes

· Pops up a separate window outside the Web browser.

· When the Frame is no longer necessary, the dispose method must be called to allow the frame to release its window system resources for reuse.

· Default layout is BorderLayout.

Label

Description

The AwtLabel object is a component that displays a string at a certain location.

Notes

Constant values specify the text alignment within the component.

List

Description

The AwtList object scrolls strings. You can set the number of visible rows in the list and you can set whether the selection of more than one item is allowed.

Notes

· Strings can be added and removed from List.

· You can query the list.

· When the user double-clicks on an item, a List generates an event.

Menu

Description

The AwtMenu object contains a pulldown menu pane that appears when selected. Displays menu items.

Notes

Child of a menu bar.

Menu Bar

Description

The AwtMenuBar class is a menu bar that may be displayed within a Frame.

Notes

Can only be the child of a Frame.

Menu Separator

Description

The AwtMenuSeparator is used to separate new items in a pulldown menu.

Menu Item

Description

The AwtMenuItem is a menu item with a specific text label and can be added to a menu pane.

Panel

Description

The AwtPanel object is a container that can be used inside other containers. Allows you to make more intricate layouts by combining them with subpanels. It also can be subclassed to create custom containers.

Notes

· Does not create a separate window shell of its own.

· You can nest Panels to achieve a specific layout.

· Default layout is FlowLayout.

Popup Menu

Description

The AwtPopupMenu object displays popup menus and is used like AwtMenu.

Notes

Subclass of Menu.

Scrollbar

Description

The AwtScrollbar object is a scrollbar that can be used to build scrollable canvases.

Scroll Pane

Description

The AwtScrollPane container contains a single child component. Displays a fixed-size area of the child and provides horizontal and vertical scrollbars so the user can scroll the child component within the view of the Scroll Pane.

Notes

The child that Scroll Pane contains is usually larger than the Scroll Pane itself.

Text Area

Description

The AwtTextArea object is a simple text editing component.

Notes

Allows viewing and optional editing of multiline text.

Text Field

Description

The AwtTextField object is a single-line text component that can be used to build forms.


1. Abstract Window Toolkit (AWT) is a portable GUI library for stand-alone applications and/or applets. Refer to Java documentation for more detailed information.

 

Documentation: 

License File

The license file contains all site-specific information required by FLEX lm . This information includes:

· Server names and host IDs

· Vendor names and paths to vendor executables

· Feature information

The license file must be accessible to every machine that runs a FLEX lm -licensed application, and each machine designated as a license server. Before you can use the application you must start the license manager daemon ( lmgrd ) using the following syntax:

lmgrd [-c license_file_path] [-t connect_timeout]

-c license_file_path Full pathname to the license file. Only use this option if the license file is not installed in the default location " /usr/local/flexlm/licenses/license.dat ". See Specifying Location of the License File for information about using alternate locations.

connect_timeout Timeout, in seconds, for "connect" calls to other daemons if operating in multi-server mode.

License File Format describes the format of the license file. The section Anatomy of a License File includes sample license files.

Specifying Location of the License File

If your software vendor recommends a specific location for your license file, or if the default is not practical for you, use one of the following two methods to put the license file in another location:

· Set the path when you start lmgrd

· Set the path with an environment variable

When running the application on multiple nodes, you have three options for making your license file available on all the machines:

· Place the license file in a partition which is available (via NFS " ) to all nodes in the network that need the license file.

· Copy the license file to all of the nodes where it is needed.

· Read the license file data from lmgrd , by specifying LM_LICENSE_FILE as " port@host ", where host is the server hostname and port is the port number from the license file.


Note: port@host is only supported in FLEX lm v2.4 or later versions.

Since the vendor daemon keeps track of license usage, and since the license file contains encrypted data to protect it against modification, you may move and copy the license file as much as you want.


Note: If you are running redundant servers, you should have one copy of the license file (as well as copies of lmgrdand the vendor daemons) on each server node. If you do not do this, you lose all the advantages of having redundant servers, since the node holding these files becomes a single point of failure.

Before selecting an option you must install lmgrd (the license manager daemon) and the vendor daemon. Use the /etcdirectory a reasonable location, since the daemons will probably be used at boot time.

Setting the path at startup

To start the license manager daemon ( lmgrd ) become root and execute a command similar to the following.

C shell

If you are using the C shell:

nohup daemon_pathname/lmgrd -c >& \ log_pathname/license.log &

Korn or Bourne shell

If you are using the Korn or Bourne shell:

nohup daemon_pathname/lmgrd -c license_datafile_pathname \ > log_pathname/license.log 2>&1 &

Starting the daemon automatically

To start the lmgrd daemon automatically each time you reboot the license server, add a line similar to the following to either /etc/rc.boot, 
/etc/rc.local, or the appropriate startup file:

nohup daemon_location / lmgrd -c license_file_path > \ log_pathname /license.log 2>&1 &

daemon_location Full pathname to the lmgrd executable.

license_file_path Full pathname to the license file

log_pathname Full pathname to the license log file.

You must reboot your license server to start the daemon.

FLEX lm supports dozens of platforms. Consult your operating system's man pages for specific information about modifying startup files.

Setting the path with an environment variable

Use the environment variable LM_LICENSE_FILE to set the location of the license file. For example in the C shell:

setenv LM_LICENSE_FILE license_file_path

In the Korn and Bourne shells:

LM_LICENSE_FILE = license_file_path
export LM_LICENSE_FILE

license_file_path Full pathname to the license file.


Note: The "-c" option overrides the setting of the LM_LICENSE_FILE environment variable for lmgrd . See Combining License Files for more information about LM_LICENSE_FILE .

License File Format

The format of the license file is a SERVER line (or lines), followed by one or more DAEMON lines, followed by one or more FEATURE lines.

You can modify four data items in the license file:

· Node names on the SERVER line(s)

· Port numbers on SERVER line(s)

· Pathnames on the DAEMON line(s)

· Options file pathnames on DAEMON line(s)


Note: Everything else is used to compute the encryption code, and should be entered exactly as supplied by your software vendor. All data in the license file is case sensitive, unless otherwise indicated.

In the following sections, options modifiable by the system administrator are underlined.

SERVER lines

The SERVER line specifies the node name and hostid of the license server, and the port number of the license manager daemon ( lmgrd ). Normally a license file has one SERVER line. More than one SERVER line means that you are using redundant servers. For more information about redundant servers, see Selecting Server Nodes . The format of theSERVER line is:

SERVER nodename id [port-number]

nodename String returned by the Unix hostname or on some systems, name -n command.

id String returned by the lmhostid command.

port-number TCP port number to use (optional, but If not specified, then the FLEX lm TCP service must be present in the network services database.)

Example

SERVER enterprise 0122345 1701

DAEMON lines

The DAEMON line specifies the daemon name and path. The format of the DAEMON line is:

DAEMON daemon-name path [options]

daemon-name Name of the vendor daemon used to serve some feature(s) in the file.

path Pathname to the executable for this daemon.

options Full pathname of the end-user specified options file for this daemon. (See Options File ) FLEX lm does not require an options file.

Example

DAEMON mydaemon /usr/local/mydaemon \ /usr/local/options/options.dat

Note: "\" characters are only legal syntax in FLEX lm v3.0 and later. Previous versions required that all lines in the license file fit on one line.

FEATURE lines


Note: You cannot edit the FEATURE line. Use the FEATURE line exactly as supplied by your vendor.

The FEATURE line specifies the name of the feature to be licensed. A feature can be the name of a program, a program module, or option. Any amount of white space of any type (that is, tabs or spaces) can separate the components of a line. The FEATURE line is as follows:

FEATURE name daemon version expdate nlic code \ "vendor_string" [hostid]

name Name given to the feature by the vendor.

daemon Name of the vendor daemon; also found in the DAEMON line. The specified daemon serves this feature.

version Version of this feature that is supported by this license.

expdate Expiration date, for example, 7-may-1993 (if the year is 0, then the license does not expire).

nlic Number of concurrent licenses for this feature. If the number of users is set to 0, the licenses for this feature are uncounted and no lmgrd is required.

code Encrypted password for this FEATURE line. The start date is encoded into the code; thus identical codes created with different start dates will be different.

"vendor_string" Vendor-defined string, enclosed in double quotes. This string can contain any 64 characters except a quote. (White space is ignored.)

hostid String returned by lmhostid . Used only if the feature is to be bound to a particular host, whether its use is counted or not. (Numeric hostids are case insensitive). See Hostids for FLEXlm-Supported Machines for more information.

Example

FEATURE xyz_app xyzd 2.300 31-dec-1997 20\ 1234567890 "xyz"

FEATURESET lines


Note: You cannot edit FEATURESET line. Use the FEATURESET line exactly as supplied by your vendor.

The FEATURESET line is used to prevent FEATURE lines from being added to or removed from the license file.

The format of the FEATURESET line is as follows:

FEATURESET daemon-name code

daemon-name Name of the vendor daemon used to serve some feature(s) in the file.

code Encryption code for this FEATURESET line. This code encrypts the codes of all features this daemon supports, so no FEATURE lines can be removed, added to, or rearranged in this license file.

Example

FEATURESET xyzd code

Anatomy of a License File

The following example is a license file for single vendor with two features.

SERVER excellent_server 17007ea8 1700
DAEMON xyzd /etc/xyzd
FEATURE xyz_app1 xyzd 1.000 01-jan-1993 10 \ 1EF890030EABF324 ""
FEATURE xyz_app2 xyzd 1.000 01-jan-1993 10 \ 0784561FE98BA073 ""

This license file allows the license server excellent_server with the hostid 17007ea8 to serve 10 floating licenses forxyz_app1 and xyz_app2 to any user on the network.

Parameters of license file fields

This section lists the limits on end-user editable FLEX lm license file parameters:

Parameter

Length Limit

host names

32 characters (pre-FLEXlmv2.4)

64 characters (FLEX lm v2.4 or later)

license file lines

2048 character, with "\" as a continuation character (v3.0 or later)

user names

20 characters

Types of License Files

License files are created by the software vendor. License files can specify any of the following types of software access:

· Concurrent (floating) usage

· Node-locked

· Concurrent usage on a limited set of hosts

· Mixed node-locked and concurrent usage

Concurrent (floating) usage

Concurrent usage means anyone on the network can use the licensed software, up to the limit specified in the license file. (Also referred to as f loating licensing or n etwork licensing .) Concurrent usage licenses do not have hostids on the individual FEATURE lines. This configuration requires an lmgrd daemon because it is going to count the concurrent usage of the licenses.

Example

An example of a license file that provides concurrent usage is:

SERVER lulu 17001234 1700

DAEMON xyzd /etc/xyzd

FEATURE f1 xyzd 1.00 1-jan-95 2 code1 ""

FEATURE f2 xyzd 1.00 1-jan-95 6 code2 ""

FEATURE f3 xyzd 1.00 1-jan-95 1 code3 ""

This license file allows two copies of feature "f1", six copies of feature "f2", and one copy of feature "f3" to be run anywhere on the network that can access the license server "lulu".

Node-locking

Node-locking means the licensed software can only be used on one node. A node-locked license has a hostid on any FEATURE line that is node-locked to a particular host. There are two types of Node-locked licenses; uncounted and counted.

If the number of users is set to 0, then the licenses are uncounted and unlimited use is permitted on the specified node. This configuration does not require an lmgrd daemon because it is not going to count the concurrent usage of the features.

Example

The following license file allows unlimited usage of feature "f1" on the nodes with host IDs of 12001234 and 1700ab12:

FEATURE f1 xyzd 1.000 1-jan-95 0 code1 "" 12001234

FEATURE f1 xyzd 1.000 1-jan-95 0 code2 "" 1700ab12

If these are the only FEATURE lines in this license file, an lmgrd daemon is no necessary and you should not start one.

The following license file allows three copies of feature "f1" to be run, but only on the node with host ID 1300ab43. (In this case, run the daemons on the same node that runs the software.)

SERVER lulu 1300ab43 1700

DAEMON xyzd /etc/xyzy

FEATURE f1 zyzd 1.00 1-jan-95 3 code "" 1300ab43

Concurrent usage with limited availability

Another solution is a combination of the node-locked solution in Node-locking and the concurrent option described inConcurrent (floating) usage . This provides a fixed number of floating licenses for use on a set of servers only you define when you request your license.

In this configuration, the license file has one node-locked FEATURE line for each node that is to be able to run the software. Generally, the same number of licenses is specified on each FEATURE line. This configuration requires anlmgrd daemon because it counts the concurrent usage.

Example

For example, the following license file allows a total of two simultaneous licenses of a feature called, "f1" on any of the three nodes specified, with the daemons running on the license server "lulu":

SERVER lulu 17001234 1700

DAEMON xyzd /etc/xyzd

FEATURE f1 xyzd 1.00 1-jan-93 2 code1 "" 17001234

FEATURE f1 xyzd 1.00 1-jan-93 2 code2 "" 17002222

FEATURE f1 xyzd 1.00 1-jan-93 2 code3 "" 17003333

Node-locked and concurrent usage

You can mix uncounted node-locked and concurrent usage licenses in the same license file.

Example

The following license file allows unlimited use of feature "f1" to be used on nodes 17001111 and 17002222, while allowing two other copies of feature "f1" to be run anywhere else on the network:

SERVER lulu 17001234 1700

DAEMON xyzd /etc/xyzd

FEATURE f1 xyzd 1.00 1-jan-93 0 code1 "" 17001111

FEATURE f1 xyzd 1.00 1-jan-93 0 code2 "" 17002222

FEATURE f1 xyzd 1.00 1-jan-93 2 code3 ""

This configuration does require an lmgrd daemon because it is going to count the concurrent usage of the two licenses on the third FEATURE line.

 

Documentation: 

License Manager

This appendix describes how to start and use the License Manager, and includes the following sections:

Documentation: 

License Manager and Builder Xcessory

The following sections describe the workings of the license manager in detail.

Client Server Model

The license manager uses a client-server model. Builder Xcessory requests a license from one of the license servers installed on the network. The license server may run on the same system as Builder Xcessory.

When Builder Xcessory starts running, it attempts to connect to one of the servers located in the license file (usually/usr/local/flexlm/licenses/license.dat ) and requests authorization to start. If it is unable to find a system with the license server ( lmgrd ) running (including the local system if configured as a server), then Builder Xcessory reports an error and gives you the option of starting in demo mode.

In the following discussions, there are three server systems ( boston , chicago , and newyork ) and one client system ( houston ). The servers are running the license manager ( lmgrd ) and the vendor daemon ICSBX, the clients are running Builder Xcessory. Typically, servers would also act as clients and run Builder Xcessory, but for the sake of the discussion, assume that they are separate systems.

The following sections describe files that must be on the client and server systems for the license manager to operate properly. Other files that may be used with the license manager for debugging (described in the previous section) are not required to get it started.

License Manager Software

The following files should be accessible to any system designated as a Builder Xcessory license server:

· lmgrd

The license manager that is common to any software that uses GLOBEtrotter Software's Flexible License Manager.

· ICSBX

The vendor daemon that specifically handles requests for Builder Xcessory licenses.

· license . dat

The file containing the information used by the license manager to determine the types of licenses available and which other systems act as servers on the network. This file is created by the Builder Xcessory installation, specifically the program setup , and should not be modified unless you fuller understand its contents.

Builder Xcessory Client Files

The following files should be accessible to any system that will run Builder Xcessory:

· bx

The Builder Xcessory executable itself.

· license . dat

The file described in the previous section, used by Builder Xcessory to determine the types of licenses available and the servers to which to go for authorization.

Contents of the License File

Example

The license.dat file for our example would contain the following contents:

SERVER newyork 69021311 1700
SERVER chicago 08002b24d061 1700
SERVER boston 54008d92 1700
DAEMON ICSBX /usr/lib/X11/builderXcessory/bin/ICSBX
FEATURE BuilderXcessory ICSBX 3.000 01-jan-00 30 BBC420913292BCCF637F "ICS Builder Xcessory"

The license . dat file contains the database of available servers (the SERVER lines) and licenses (the FEATURE lines). Every copy of the license.dat file must be identical for each of the servers. Additionally, information is encrypted into the keys that reflect host ids, license information, and features. Editing the file manually most likely guarantees that the license manager will not grant a license.

SERVER line

The SERVER lines tell the names of each server that should be running the license manager daemons.

DAEMON line

The DAEMON line tells the name and the location of the vendor daemon (the actual program which communicates with Builder Xcessory running on the client systems).

FEATURE line

The FEATURE lines describe various licensed products, one of which is Builder Xcessory.

License manager daemon

When the servers boot, the license manager daemon, lmgrd , is started, typically from system boot scripts. The daemon looks for the license.dat file, and then starts all the vendor daemons listed in the license file. It also begins talking to other server systems on the network that are specified in the license.dat file.

license.dat file

When a user starts a copy of Builder Xcessory on a client system (in our example, houston) it reads its copy of thelicense.dat file and finds a feature line that corresponds to Builder Xcessory and finds a server to connect to. Then it looks for a server running the vendor daemon to get a valid license. A license will be granted only if a majority of the servers listed are actually running lmgrd and ICSBX . In our example, two out of the three network servers must be running. If a server cannot be found or the maximum number of licenses are currently in use, the license manager does not grant a license and gives you the option of starting in DEMO mode.

 

Documentation: 

List Editor

Allows you to create and maintain a list of strings or multibyte strings. Generally, you use the List Editor for prototypes, because the contents of a list are typically under the control of your application.

List Editor

 

Documentation: 

Motif Xm Widgets

Motif widgets are displayed on the Palette for all languages except Java and for all platforms. Initially, Motif widgets are grouped in the following folders:

· Primitives

XmToggleButton, XmPushButton, XmDrawnButton, XmArrowButton, XmLabel, XmSeparator, XmScrollBar, XmTextField, XmText, XmScrolledText, XmList, and XmScrolledList.

· Containers

XmMainWindow, XmScrolledWindow, XmPanedWindow, XmScale, XmForm, XmBulletinBoard, XmDrawingArea, XmRowColumn, 
XmRadioBox, and XmFrame.

· Menus

XmMenuBar, XmPulldownMenu, XmOptionMenu, 
and XmPopupMenu.

· Dialogs

XmSelectionBox, XmFileSelector, XmMessageBox, and XmCommand.

The following sections provide descriptions of each Motif widget in alphabetical order (refer to your Motif documentation for more detailed information).

Arrow Button

Description

The XmArrowButton consists of a directional arrow surrounded by a border shadow. When the widget is selected, the shadow changes and the Arrow Button appears to be depressed. When the Arrow Button is unselected, the shadow changes and the Arrow Button appears to be released. Callbacks notify the application when an Arrow Button is activated.

Notes

Use for application actions such as moving up in a text editor or searching forward through the text buffer.

Bulletin Board

Description

The XmBulletinBoard widget is a composite widget that provides simple geometry management for children. It does not force positioning on its children, but can be set to reject geometry requests that result in overlapping children. Bulletin Board is used as a general container widget.

Notes

· Use when your interface calls for exact positioning by specific location of the children objects.

· Positions children at the requested locations

· Can be set to move children out of its margins or so that they do not overlap one another

· Basis for Motif dialogs

Command

Description

The XmCommand widget is a special-purpose composite widget for command entry that provides a built-in command-history mechanism. Provides the user with a method for entering commands, while preserving a command history.

Notes

Includes the following:

· Command-line text-input field

· Command-line prompt

· Command-history list region

· Several auxiliary functions for better usability

Drawing Area

Description

The XmDrawingArea widget is an empty container easily adaptable to a variety of purposes. Does no drawing and defines no behavior except for invoking callbacks. Callbacks notify the application when graphics must be drawn through exposure and widget resize events and when the widget receives input from the keyboard or mouse.

Notes

· Use when your interface calls for an area containing graphics that you control.

· May also accept children.

· Uses geometry management rules similar to that of the Bulletin Board.

Drawn Button

Description

The XmDrawnButon widget consists of an empty window surrounded by a shadow border. It provides the application developer with a graphics area that can have Push Button input semantics. Callbacks notify the application when the widget is resized or receives an exposure event.

Notes

· Your application will be notified when it should draw particular graphics into the Drawn Button's window.

· Callbacks notify the application of exposure, resize, and so forth.

FileSelector

Description

The XmFileSelector widget allows the user to select files from a hierarchy of directories and to traverse directories, viewing the files in these directories, and selecting files. The widget contains: a directory mask that includes a filter label and input field used to specify the directory; a scrollable list of directories; a scrollable list of filenames; a text input field; and push buttons for control.

Notes

Displays the following;

· Scrolled list of filenames

· Scrolled list of subdirectories

· Text input field for regular-expression matching

· Modifiable labels

· Several buttons for indicating the selection

Form

Description

The XmForm widget is a container that exerts strong control over its children's geometry. Constraints are placed on children of the Form to define attachments for each of the child's four sides. These attachments determine the layout behavior of the children when the Form resizes.

Notes

· Use for complex layouts in which children need to be placed with respect to one another.

· You can change the Form resources that specify the constraints on the children and how the children should be resized when the size of the Form changes.

· Nesting Forms within forms can help manage setting constraints.

Frame

Description

The XmFrame widget is a simple manager used to enclose a single work area in a border. The Frame widget uses the Manager class resources for border drawing and performs geometry management. The Frame widget's size always matches its child's size plus the margins defined for it.Frame may also control a second "title" child that can be used for labeling the contents of the work area.

Notes

· Use to display an etched edge around a child, either with or without an attached label.

· Use this object to visually separate parts of the application's interface.

Label

Description

The XmLabel widget displays informational text or a pixmap image (which may optionally be surrounded by a margin).

Displays either text or pixmap and does not accept any button or keyboard input. Label widget receives enter and leave events and has a help callback.

Notes

· Text may be multi-line and multi-font.

· Does not respond to button or key input, and the text is not selectable.

List

Description

The XmList widget allows the user to choose one or more items from a group of text choices. Items are selected from the list using both the mouse and the keyboard. The currently selected items are highlighted. Clicking on the selected item activates a callback which receives information about the selected item. Several convenience routines are available.

Notes

Supports several interface styles that allow single or multiple selections of the items.

Main Window

Description

The XmMainWindow widget creates a main screen for an application that follows the Motif style guidelines.

Provides a Motif Style Guide compliant layout for the primary window of an application. This layout includes a Menu Bar, a Command window, a work region, a message window, and Scroll Bar widgets.

Notes

Manages the layout of a MenuBar, a command-entry area, a message area, a work region showing the main portion of the application, and scrollbars for displaying offscreen portions of the work region.

Menu Bar

Description

The XmMenuBar widget provides a permanent location for cascade buttons associated with the menus that appear either underneath the cursor or when the keyboard is used to invoke the menu system.

Notes

· Use in conjunction with several Pulldown Menus to create a Motif pulldown menu system.

· Menu Bar is a RowColumn widget with a specific resources set.

Message Box

Description

The XmMessageBox widget is a dialog class used for creating simple message dialogs. Convenience dialogs based on Message Box are provided for several common interaction tasks, which include giving information, asking questions, and reporting errors. A pixmap may be placed to the left of the message text to provide quick visual recognition of a familiar message.

The Template Dialog variant allows you to completely control the contents of the dialog (buttons, etc.) while maintaining compliance with the OSF/Motif Style Guide requirements on dialogs.

Notes

· Use for such tasks as reporting errors, supplying information, and asking simple questions.

· Contains the following a message symbol, message, and several buttons for indicating the response.

· Use the "dialogType" resource to change the display to the following:

Message Dialog (default)
Working Dialog
Question Dialog
Information Dialog
Error Dialog
Template Dialog

Option Menu

Description