PREV NEXT

Generic Logic, Inc. www.genlogic.com


7 GLG Graphics Builder Menus

This chapter presents descriptions of all the options of the GLG Graphics Builder's menus. They are organized by menu name, in the same order as they appear in the Builder's menu bar:

This chapter describes all menu options available in the Enterprise Edition of the Graphics Builder. Some options are not present in the Basic and Professional Editions.

The toolbar below the menu bar provides convenient shortcuts for accessing the most often used menu choices. To see the tooltip showing the function of a toolbar's button, hold the mouse inside the button until the tooltip appears.

File

The File menu provides options to let you load and save drawing files, export/import strings and tags, print drawings, generate images, and close the GLG Graphics Builder.

New

The New submenu provides options to create widgets and subdrawings with various resize policies. The entries with the Resizable option use the world coordinate system; they stretch or change the size of objects in the drawing accordingly when the drawing is resized. The entries with the Fixed Scale option use the screen coordinate system and objects in the drawing do not change their size when the drawing is resized. Instead, more or less of the drawing area is shown when the window is resized. If the grid is ON, the grid interval is adjusted to match the selected Resizable or Fixed Scale option.

Widget (Resize and Stretch)

The Widget (Resize and Stretch) menu provides options for creating a resizable widget that scales the graphics when the widget is resized. If the aspect ratio of the widget's window changes, the graphics will also be stretched. Several options are provided to target screens with different aspect ratios:

1:1 Width/Height Ratio
4:3 Width/Height Ratio
16:9 Width/Height Ratio
Width/Height Ratio From Config File

The last option uses the aspect ratio defined by the CustomSpanX and CustomSpanY parameters in the glg_config file.

Selecting any of these options starts a new resizable drawing by creating a new widget and placing editing focus into it. The Stretch XY attribute of the viewport screen may be used to control stretching behavior when the widget is resized in a way that changes its width/height ratio. Refer to the Options For Creating New Drawings section on page 272 for detailed discussion about all options that preserve the X/Y ratio of the drawing.

If the drawing area already contains objects, they are not saved. The Builder asks if you want to discard the current drawing, but it does not prompt you to save any changes to the current drawing. You must explicitly save the drawing using File, Save.

A new drawing area contains two objects: MMDrawingArea and MMAxisIcon, which are visible in the Resource Browser and Properties Dialog of the drawing area. MMDrawingArea represents the drawing area itself, and MMAxisIcon displays the three axes to shows the orientation of the view. MMAxisIcon is only displayed when the drawing area's Axis attribute is turned on. These objects are not part of the drawing, but part of the Builder.

To create objects, use the buttons in the object palette or the choices in the Object, Create submenu. To use pre-built objects, use the Palette menu to load the palettes. When the drawing is saved, the Builder will bring the editing focus back to the top level of the hierarchy, showing the $Widget viewport it created for the new widget.

Widget (Resize No Stretch)

Same as the Widget (Resize and Stretch) menu, it provides options for creating a resizable widget that scales the graphics when the widget is resized. However, the widget preserves the aspect ratio of the graphics by adding padding areas on the sides of the drawing as needed.

Widget (Fixed Scale)

The Widget (Fixed Scale) menu provides options for creating fixed scale widgets. When the widget is resized, its drawing area shows more or less without changing the size of the objects drawn in it. Since the drawing is not stretched, the objects in the drawing always keep their X/Y ratio. The following options are provided:

Custom Size
allows creating a fixed scale drawing of an arbitrary size specified via a popup dialog.
Size From Config File
creates a fixed scale viewport with the size specified in the glg_config file (glg_hmi_config for the HMI Configurator).
SubDrawing (Resizable)

New, SubDrawing (Resizable) is used to create a resizable drawing which is later used as a template of a resizable subdrawing object.

SubDrawing (Fixed Scale)

New, SubDrawing (Fixed Scale) is used to create a non-resizable drawing to be used as a template of a fixed-size subdrawing object.

Empty Drawing (Resizable)

New, Empty Drawing (Resizable) creates a new resizable drawing without creating a widget. When the drawing is resized, all objects in the drawing are resized as well.

Before drawing objects, we recommend that you create a viewport using Object, Create, Viewport, open it using Traverse, Hierarchy Down, or use the New Widget option to create a new viewport automatically.

To create objects, use the buttons in the object palette or the choices in the Object, Create submenu. To use pre-built objects, use the Palettes menu to load the palettes. Ctrl-clicking on the palette's icons loads the corresponding widget as a new drawing.

Empty Drawing (Fixed Scale)

New, Empty Drawing (Fixed Scale) is the same as New, Empty Drawing (Resizable), but creates a non-resizable drawing where objects do not change their size when the drawing is resized. Instead, more or less of the drawing area is shown in the window. Since the drawing is not stretched, the objects in the drawing always keep their X/Y ratio.

Reset Drawing

Reset Drawing initializes the current drawing. The Builder rebuilds each object in the drawing, updating the Builder's representation to match the current information in the object hierarchy.

For composite objects such as series, references, polylines and polysurfaces, Reset Drawing ensures that the instance objects reflect any changes to the template. This means that any changes made to series instances are lost when the drawing is reset.

All attribute values of instances are also lost when the drawing is reset. The old instances are destroyed and a new set is replicated with values from the template.

Adjust $Widget Size

Adjust $Widget Size adjusts dimensions of the $Widget viewport after the Builder is resized to take all space available in the drawing area while maintaining its width/height ratio. This option is active only at the top level of the hierarchy.

Open

Open loads a drawing from a file.

When you select Open, the Builder prompts you to select a file name, using the standard file selection dialog. The Builder can open a drawing saved in any of its own formats; see page 416.

If a drawing is already open, Open discards the current drawing. The Builder asks if you want to discard the current drawing, but it does not prompt you to save the changes.

To load more than one drawing into the drawing area, use File, Load Object; see page 351.

Open URL

Open URL loads a drawing from a URL. In the Unix environment, the GLG_WGET_PATH environment variable must be set to point to the wget utility executable to enable this option.

Load Template

This option is similar to the Open option for loading a drawing. However, Load Template doesn't allow the user to save the modified drawing back to the same file, to avoid accidentally overwriting a drawing that is used as a template for creating other drawings.

Recent Drawings

Recent Drawings displays a list of the recently edited drawings. Select one of the recent drawings from the list to load it.

If a drawing is already open, loading a recent drawing discards the current drawing. The Builder asks if you want to discard the current drawing, but it does not prompt you to save the changes.

Save

Save saves the current drawing to a file.

The first time you save a drawing, the Builder prompts you for a file name, using the standard file selection dialog. If the drawing has been saved before, it asks if you want to overwrite the existing file.

The Builder can save files in three different formats:

There is also an option for saving compressed drawings. Compressed drawings are smaller but load slower.

The default format for saving drawings is compressed ASCII. To change the format, use Options, Save Format and Save Compressed; see page 416.

SaveAs

Save As saves the current drawing to a different file.

When you select Save As, the Builder prompts you to enter a file name, using the standard file selection dialog. The usual file name extension for a GLG drawing is .g though it is not required.

The default format for saving drawings is compressed ASCII. To change the format, use Options, Save Format and Save Compressed; see page 416.

Load Object

Load Object loads an object from a file into an existing drawing. The object is loaded into the current place in the object hierarchy. If the editing focus is inside a viewport or a group, the loaded object will be added to that viewport or group.

When you select Load Object, the Builder prompts you to select a file name, using the standard file selection dialog. The Builder can open any drawing saved in any GLG format. If the input drawing contains more than one object, they appear together in a newly created group in the existing drawing.

To clear the drawing area before loading a drawing, use File, Open; see page 350.

To save a drawing to a file, use either File, Save or File, Save Object; see page 351.

Recent Objects

Recent Objects displays a list of the recently edited objects. Select one of the recently accessed objects from the list to load it into an existing drawing. Similar to Load Object, the object is loaded into the current place in the object hierarchy.

Save Object

Save Object saves the currently selected object to a file. Save Object differs from File, Save because it lets you save a selected part of a drawing. For example, by including objects in a group and then using Save Object on the group object, you can isolate part of an object hierarchy.

When you select an object and then select Save Object, the Builder prompts you to enter a file name, using the standard file selection dialog. The usual file name extension for a GLG drawing is .g though it is not required.

To add a saved object into an existing drawing, use File, Load Object; see page 351. To edit the saved object, use File, Open to open the saved object as a separate drawing file; see page 350.

The object is saved using the same format as for File, Save; to change the format for saving drawings and objects, use Options, Save Format; see page 416.

Print

For Linux/UNIX users, Print saves a PostScript image of the current drawing into a file.

For Windows users, Print sends the current drawing to the printer, using the standard Windows print facilities. Use Export PostScript to save a PostScript image of the drawing to a file. The Print toolbar button can be configured to perform either task using the ToolbarPrint configuration file variable.

Print uses the print configuration set by the File, Print Configuration options. If editing focus is set, it prints the focus viewport instead of the whole drawing. If the editing focus is in a light viewport, the content of the closest parent viewport will be printed.

Export PostScript

Export PostScript (Windows only) saves a PostScript image of the current drawing (in its current state) to a file. On Unix/Linux, the Print option performs the same task.

Export PostScript uses the print configuration set by the File, Print Configuration options. If editing focus is set, it generates PostScript for the focus viewport instead of the whole drawing.

Print Configuration

The Print Configuration submenu provides options to let you set up the printer.

Page Layout

Page Layout specifies how to map the drawing to the printed page.

Page Layout presents a viewport that corresponds to the printed area. The position and size of the viewport relatively to the Drawing Area define the position and size of the area in which the drawing will be printed relatively to the page.

Resize the page layout viewport with the mouse to define the printing area. Delete the viewport when you have finished.

This option applies to both PostScript and Windows printing.

Stretch

Stretch prints the drawing using the full area of the page. The drawing is scaled to fill the printing area, so the proportions of the printed drawing may not correspond to the drawing's actual proportions. Using the appropriate orientation (portrait or landscape) can help reduce distortion; to preserve the drawing ratio, turn Stretch off.

This option applies to both PostScript and Windows printing.

PostScript Level

For PostScript printing and export, PostScript Level specifies which version of PostScript the Builder sends to the printer. Level 3 is required for proper PostScript printing of images with transparent background.

PostScript Orientation

For PostScript printing and export, PostScript Orientation determines whether the drawing is printed in portrait mode (across the width of the page) or in landscape mode (down the height of the page).

For Windows printing, the page orientation is set in the Print dialog.

Portrait and Landscape Orientations

Save Image

Save Image saves the image of the visible part of the drawing area into a file in either the JPEG or PNG format. The format of the image is defined by the SaveImageFormat variable in the glg_config file. If the editing focus has been moved into a viewport, the image of that viewport will be saved instead of the main drawing area. If the editing focus is in a light viewport, the image of the closest parent viewport will be saved.

Save Image Full

Save Image Full saves an unclipped image of the whole drawing into a file in either the JPEG or PNG format. The format of the image is defined by the SaveImageFormat variable in the glg_config file. If the editing focus has been moved into a viewport, the image of that viewport will be saved instead of the main drawing area. If the editing focus is in a light viewport, the image of the closest parent viewport will be saved.

Save Direct OpenGL Image

Save Direct OpenGL Image (Windows only) saves a visible part of the drawing into a file by taking an OpenGL snapshot of an image displayed in a viewport. This technique improves the rendering quality of the generated image by getting around the Windows' OpenGL driver, which uses a software renderer with poor anti-aliasing for off-screen rendering.

This option may be used only for viewports with the OpenGL rendering, and it does not work with children viewports.

Export Strings

Export Strings exports all strings defined in the drawing into a file. Refer to Localization Support on page 230 for information about the string translation file format.

Import Strings

Import Strings imports strings from a strings file, replacing matching strings in the drawing. Refer to Localization Support on page 230 for information about the string translation file format.

Export Tags

Export Tags exports all tag names defined in the drawing into a file. Refer to Tag Export and Import Features for Run-Time Tag Mapping on page 234 for information about the tag file format.

Import Tags

Import Tags imports tag names from a tag translation file, replacing matching tag names in the drawing. Refer to Tag Export and Import Features for Run-Time Tag Mapping on page 234 for information about the tag file format.

Exit

Exit closes the GLG Graphics Builder.

If a drawing is already open, the Builder asks if you want to discard the current drawing, but it does not prompt you to save the changes. You must explicitly save the drawing using File, Save before exiting the GLG Graphics Builder.

Palettes

The Palettes menu provides access to palettes of widgets and other pre-built objects. By default, only the Custom Objects and Custom Widget Samples palettes are installed. Other palettes are optional and will be installed only if selected. Possible palettes include Real-Time Charts, 2D Graphs, 3D Graphs, Controls, Avionics, Process Control Symbols, Electrical and Electronic Circuit Symbols, and Special Widgets palettes.

The Palettes Menu lists all available palettes of pre-built objects. To display a palette, select it from the palettes list. To add an object from a palette into the drawing, click on its icon in the palette. The Builder will insert a copy of the object into the drawing. Give the object a name for accessing its resources and adjust its shape using the resize box. Use the Object, Public Properties menu option to edit predefined properties of the widget.

To create a 3D pipe widget with multiple segments, select the Fixed Width Pipe from the 3D Pipes palette, then click in the drawing to define the pipe's control points. This behavior is supported for other linear widgets, such as various line widgets in the Pipes and Lines palette.

To load an object or widget from a palette as a new drawing, Ctrl-click on the widget's icon in the palette. The current drawing will be discarded (after a prompt) and the widget's drawing will be loaded. The run command will also be set to match the widget's resources. This is a convenient way to create a drawing containing just one widget. The widget's viewport is named $Widget by default, so the drawing may be saved and used with a GLG program. The drawing also contains a small icon viewport used by the Builder when the widget is shown in the palette. This icon will be ignored at run time, since only the $Widget viewport will be used.

Some palette items, such as process control symbols, define a collection of graphical objects without a viewport. Such drawings do not define the $Widget viewport and can not be displayed by themselves, they need to be inserted into a viewport to be displayed.

When no optional palettes are installed, the Palette Menu provides the Custom Objects, Custom Widget Samples, Read Palette and Read Directory options.

Manual Widget Positioning

Manual Widget Positioning controls how widgets from the widget palettes are positioned in the drawing. If the toggle is checked, selecting a widget from the palette and clicking in the drawing will insert the widget at the position of the mouse click. If the option is unchecked, the widget will be positioned in the center of the drawing area. To change the default setting, set the ManualWidgetPositioning variable in the glg_hmi_config configuration file.

Make Widget Viewports Transparent

The Make Widget Viewports Transparent option may be used to add dials and gauges with a transparent background. If it is checked, adding a viewport-based widget from the palette converts it to use a light viewport with a transparent background. If the option is not checked, a viewport object with non-transparent background is used. A non-transparent widget may be made transparent at a later time by converting it to a light viewport using the Arrange, Convert Viewport, Viewport
-> Light Viewport
menu option and editing the light viewport's background to make it transparent.

Custom Objects

The Custom Objects palette displays samples of pre-built objects that can be used in a drawing. It contains buttons, sliders and other objects, described in more detail in the GLG Builder and Animation Tutorial.

You can add your own objects to the Custom Object Palette. To do so, simply save it in the widgets/custom_objects directory. The object will be automatically added to the Custom Objects Palette when the builder is restarted or the palette is re-opened.

Custom Widget Samples

The Custom Widget Samples palette displays samples of HMI components that use application-specific public properties. These components are used with HMI Configurator, where public properties are used for simplified editing of a component.

Click on a component in the palette to add it to the drawing, then use Object, Public Properties to display its public properties.

Read Palette

The Read Palette option can be used to load a palette into the Builder. A palette is defined by a Palette Description File with the .pal extension. This file provides information about the palette and the objects it contains. Refer to the Palette Description File Format section and the Adding Custom Palettes to the Builder section for more information.

To load a palette, select Read Palette, then select the palette's .pal file using the activated file browser.

Read Directory

The Read Directory option can be used to scan a directory containing GLG drawings and display a palette containing all drawings in the directory. To read a directory, select Read Directory, then select a directory to read with the activated file browser.

Adding Custom Widgets and Custom Palettes

Naming Conventions for Palette Drawings

Each drawing file defines one palette item. A drawing may contain special graphics to be used as a palette icon, as well as the graphical object to be used in the Builder. The following describes the naming conventions used to annotate the icon and the graphical object to be used.

$Icon

By default, the complete content of the each drawing is added to the palette, which may take a considerable amount of memory and CPU time to load and render.

To make the process faster, each drawing can contain a $Icon resource, optimized in size and appearance for being displayed as a small palette item. If this resource exists in the drawing, it will be displayed as a palette icon. The icon will be used as is, without scaling, and must have a proper size and position to be displayed properly. The icons of the drawings supplied with the Toolkit define icons in a separate small viewport, so that they appear in the drawing the same way they will look like in the palette.

Alternatively, a D custom property named $GlgScaleIconToFit may be added to the icon and set to 1 to enable icon fitting, in which case the icon will be automatically scaled and positioned inside its palette slot. Icon scaling may not be very precise for icons that contain text objects, since the text objects do not scale well.

If the $Icon resource is absent, the whole drawing will be used as an icon. The drawing will be scaled to fit the icon area in the palette.

$Drawing and $Widget

The $Drawing or $Widget resource may be defined in the drawing to annotate the object or part of the drawing to insert when the palette icon is selected. If these resources are absent, the content of the whole drawing will be inserted.

The $Widget resource name is used for components that are contained in a viewport and may be used as a widget in a stand-alone way. $Drawing is used for components without a viewport. Such components must be placed in a viewport in order to be displayed.

To define a linear widget, such as a pipe that can contain multiple segments, the $PointList resource can be defined to specify the point array to add points to when the widget is created by selecting it from the widget palette. For example, if a widget is a polygon, its PointArray can be named $PointList. The $PointList resource must be visible on the widget level; an alias can be used to define the resource if needed. Up to four $PointListN resources can be used ($PointList2, $PointList3, etc.) to facilitate creating widgets that contain several constrained polygons, such as fixed pipe with flow in the 3D Pipes palette. When a widget containing multiple $PointList resources is created, constrained points are added to each of the point arrays on each click in the drawing.

Palette Description File Format

The Palette Description File (.pal extension) provides information about the palette and the objects it contains. Each line of the palette description file contains a key word and a value, separated with the "=" sign. The following keywords are supported:

title
Specifies a mandatory title for the palette, which is displayed in the Builder's Palettes Menu.
num columns
Defines an optional number of columns displayed in the palette. The default value is 4.
num rows
Defines an optional number of visible rows displayed in the palette. By default, the palettes height is extended to accommodate as many rows as required to display all palette objects. If this parameter is set to a smaller value, for example 4, the palette will show only 4 rows and will include a scroll bar to scroll the rest of the palette objects.
background color
Specifies the palette's optional background color. This color is defined by supplying an RGB value in the range from 0 to 1. For example, use "background color=1. 1. 1." to define a white background. The default color is the color of the template.
directory
An optional directory parameter. If defined, all drawing files from the directory are displayed in the palette. Each drawing file defines one palette item and may contain the $Icon, $Drawing or $Widget resources (as described in the Read Directory section) to specify the icon to display and the object to insert in the drawing when the palette icon is selected. If the directory is not defined, the entries parameter is used. The Builder's Custom Objects Palette uses the directory parameter to define its entries.
entries
Specifies the drawing files to display in the palette. The entries parameter should be the last in the file and should contain nothing on the right side of the "=" sign. The drawing files are listed one per line on the lines following the entries key word.

Each drawing file defines one palette item and may contain the $Icon, $Drawing or $Widget resources (as described in the Read Directory section) to specify the icon to display and the object to insert in the drawing when the palette icon is selected. File names may include directory path relative to the location of the palette description file.

The palette file may also contain comments (lines starting with the "#" character).

Adding Custom Palettes to the Builder

The Builder uses the palettes.pls file located in GLG's widgets directory to detect installed palettes during start up. This file contains a list of palettes to be added to the Builder's Palettes Menu. To add a new custom palette to the Builder, create its palette description file and add it to the palettes.pls file. After restarting the Builder, the new palette will show up in the Builder's palette list.

Each line of the palettes.pls file contains the file name of a palette description file, including a path name relative to the location of palettes.pls. The file may also contain separator lines (lines that have just the "-" symbol) as well as comments (lines starting with the "#" character).

By default, on Unix, the Builder searches for the palettes.pls file in the GLG's "widgets" directory by using the "../widgets" path relative to the Builder's directory, or relatively to the current directory. On both Unix and Windows, the value of the GLG_DIR environment variable, if it is set, is used as a name of the directory that contains the "widgets" directory. You can change the default place where the Builder searches for the palettes.pls file by setting the GLG_PALETTES_LOCATION environment variable to point to either a new palette file name or a new directory where the palettes.pls file is located.

Edit

The Edit Menu provides options that let you make and manipulate copies of objects.

These options operate on the selected object. To operate on several objects at the same time, use the menu options for selecting multiple objects, then use editing options.

The Cut, Copy, and Paste options add and remove objects. The Clone options let you position and transform the added objects as they are created.

Select Multiple Objects

Select Multiple Objects is equivalent to using Ctrl-click. It starts multiple object selection without the need to hold the Ctrl key. After the option is selected, click on the objects in the drawing to add or delete them from the selection.

Select Rectangular Area

Select Rectangular Area is equivalent to clicking and dragging the mouse in the drawing to define the selection rectangle. It provides a convenient option for starting a rectangular selection for cases when all drawing area is covered with objects and there is no free space to click and drag the mouse without selecting some object. After the option is selected, click and drag the mouse anywhere in the drawing area to define the selection rectangle. All objects that are either completely or partially enclosed by the rectangle will be selected.

Select Object Inside Group

Select Object Inside Group is used to select an object inside a permanent group for editing in-place. To select an object inside the selected permanent group, select this menu option, then click on an object in the group. This activates what is called "group zooming". To select other objects in the group with the group zooming active, simply click on them with the mouse. To abort group zooming, press Escape or click on an empty area in the drawing. The Ctrl-Shift-click shortcut may also be used as a faster alternative. Refer to the the Select Next section on page 370 for more information.

Select All

Select All selects all objects in the drawing.

Cut

Cut removes the selected object from the drawing and places it on the clipboard. The cut object remains on the clipboard until you replace it by performing another Edit, Cut or an Edit, Copy operation.

You can retrieve the cut object by using Edit, Paste.

Copy

Copy places a full copy of the selected object on the clipboard without removing it from the drawing. The copied object remains on the clipboard until you replace it by performing an Edit, Cut or Edit, Copy operation.

You can retrieve the copied object by using Edit, Paste.

Paste

Paste gets a cut or copied object from the clipboard and adds it to the current drawing. Pasting an object does not delete the object from the clipboard, so you can paste the same object repeatedly. If an object is cut and then pasted repeatedly, the first paste places the object itself, preserving all constraints. Any consequent paste operations place a full copy of the object, removing any constraints.

The pasted object is added at the position of the current editing focus. For example, if an editing focus is inside a viewport, the new object appears inside the viewport. If it's inside a group, the new object becomes a member of the group.

Delete

Delete removes the selected object from the drawing. The deleted object is irrevocably discarded; it is not placed on the clipboard.

To remove an object from the drawing and place it on the clipboard, use Edit, Cut. This allows you to move an object from one part of the drawing to another.

Define Clone Offset

Define Clone Offset determines a linear offset used for the placement of a clone with respect to the original object.

When you select Define Clone Offset, the Builder prompts you to click on two points that define the clone path. The clone path specifies the distance and direction from the origin of the original object to the origin of the clone, using the object's coordinate system.

The Builder uses a default offset of 50 units to the Southeast for all objects unless you redefine the offset.

To clone an object, use the clone options on the Edit menu (Full Clone, Strong Clone, Weak Clone and Constrained Clone).

Define Clone Transformation

Define Clone Transformation specifies a transformation to be used for positioning a cloned object. The original object is copied and transformed to produce the clone.

By default, the Builder applies the default linear clone offset. The Define Clone Transformation option may be used to define any transformation to offset the copies, for example rotate or scale.

To create the clones, use the clone options on the Edit menu (Full Clone, Strong Clone, Weak Clone and Constrained Clone).

To disable the clone transformation, select any object and use Define Clone Transformation, setting the parameters of the transformation so that they have a neutral effect. For example, for a move transformation you would set the move distance parameters to zero.

The clone transformation is applied to copies using Transform Points, changing the coordinates of their control points irrevocably, without attaching a transformation object to the clone. However, some objects such as circles, arcs and reference objects are treated differently for Scale and Rotate transformations. Cloning a circle using a rotate transformation attaches a static matrix transformation to the cloned object to position it.

When Constrained Clone is used, the control points of the clone are constrained to the points of the original object, and Transform Points would transform both the clone and the original. To avoid that, Constrained Clone attaches a static matrix transformation to the cloned object to position it and sets the clone's MoveMode to MoveByXform.

Full Clone

Full Clone creates a copy of the selected object. The copy has all the characteristics of the original object, including transformations, attributes, resources and internal constraints between its attributes. The Full Clone removes any attribute constraints to external objects.

The copy is created in the position specified by the current clone offset setting. If you specified a transformation using Edit, Define Clone Transformation, it is applied before the clone is drawn.

Weak Clone

Weak Clone creates a copy of the selected object preserving any internal constraints between the object's attributes. The Weak Clone also handles global attributes. The attributes of the object whose Global flag is set to GLOBAL are considered to be global attributes, and the corresponding attributes of the copy are constrained to the attributes of the original object.

The copy is created in the position specified by the current clone offset setting. If you specified a transformation using Edit, Define Clone Transformation, it is applied before the clone is drawn.

Strong Clone

Strong Clone creates a copy of the selected object. It also handles global attributes, but, unlike the weak clone, any attribute whose Global attribute is set to either GLOBAL or SEMI-GLOBAL is considered to be a global, and the corresponding attributes of the clone are constrained to the attributes of the original object.

The copy is created in the position specified by the current clone offset setting. If you specified a transformation using Edit, Define Clone Transformation, it is applied before the clone is drawn.

Constrained Clone

Constrained Clone creates a copy of the selected object. All the copy's attributes are constrained to the original object, so it has the same characteristics of the original, including transformations, attributes, and resources.

The copy is created in the position specified by the current clone offset setting. If you specified a transformation using Edit, Define Clone Transformation, it is applied before the clone is drawn. Because of the constraint, the offset and transformation are attached to the copy as static transformations.

When Constrained Clone is used, the control points of the clone are constrained to the points of the original object, and Transform Points would transform both the clone and the original. To avoid that, Constrained Clone attaches a static matrix transformation to the cloned object to position it and sets the clone's MoveMode to MoveByXform.

When you create a constrained clone, all the clone's attributes are constrained to the original object, regardless of the Global attribute settings. See page 308 for more information on the Global attribute.

Edit Group Elements

Provides options for editing multiple objects in a group via resources. A selected editing operation, such as Set D Resource, can be applied to the elements of the group, skipping the elements that do not have the specified resource. If the Recursive option is selected, the editing operation will be also applied to the sub-elements inside each group element.

Set D Resource

Traverses all objects in the group and sets the value of a specified resource of D (double) type.

Set G Resource

Traverses all objects in the group and sets the value of a specified resource of G type (XYZ coordinate or color RGB).

Set S Resource

Traverses all objects in the group and sets the value of a specified resource of S (String) type.

Set Resource from Mark0

Traverses all objects in the group and sets the value of a specified resource to the value of the first marked resource (Mark0).

Constrain All to Mark0

Traverses all objects in the group and constrains the specified resource to the first marked resource (Mark0) using Constrain All.

Constrain One to Mark0

Traverses all objects in the group and constrains the specified resource to the resource marked as Mark0. The constraining is done using Constrain One operation.

Unconstrain One

Traverses all objects in the group and unconstrains the specified resource.

Recursive

Controls traversing of subobjects inside group elements that are containers, such as groups, viewports and light viewports. If the Recursive option is set, the editing operation will be applied to the elements of the group, as well as sub-elements inside each container element. If the option is unset, the editing operation will be applied only to the top-level elements of the group. The Stop Recursion on HasResources option further controls recursion inside container elements.

Stop Recursion on HasResources

Controls recursion inside group elements that are containers, such as groups, viewports and light viewports. If the option is selected (default), the editing operation will be applied to the container elements themselves, but will skip traversing the subobjects inside them. If the option is not selected, the editing operation will be applied to the container elements, as well as the subobjects inside them. This option is enabled by default to prevents indiscriminate application of the editing operation to all objects inside predefined widgets which have the HasResources flag set.

Reset Scaling Xform

For a reference object, Reset Scaling Xform resets the internal transformation the reference object uses to stretch its instance, when the bounding box is stretched with the mouse. Selecting Reset Scaling Xform restores the original, unstretched appearance of the instance.

Add Attachment Points

Adds an attachment point to a reference object. The Options, Selection Options, Show Attachment Points menu option must be selected to see the attachment point after it has been added. Refer to the Attachment Points section on page 114 for more information.

Move Attachment Points

Defines what happens when the attachment point is moved. If the option is unset, the reference object is moved when its attachment point is moved. If the option is set, moving the attachment point changes its position relatively to the reference object.

Add or Use Marked Object

Provides options for reusing rendering and text Box attributes, chart label and plot line attributes, as well as viewport's font tables and other objects. The menu becomes active when the objects to be reused are marked by selecting the Mark button in the Object Properties dialog. The Attribute Clone Type option of the Options menu controls the constrain type of the added copies. When a group is selected, adding a marked object adds copies of it to all objects in the group.

Rendering Attributes

Adds a copy of a marked rendering attributes object.

Box Attributes

Adds a copy of a marked text box attributes object.

Font Table

Adds a copy of a marked font table.

Light Attributes

Adds a copy of a light attributes object.

Background Attributes

Replaces chart background attributes with a copy of the marked attributes.

Grid Attributes

Replaces chart grid attributes with a copy of the marked attributes.

Cross-Hair Attributes

Replaces chart cross-hair cursor attributes with a copy of the marked attributes.

Tick Attributes

Replaces axis tick attributes with a copy of the marked attributes.

Line Attributes

Replaces attributes of a chart's plot or level line with a copy of the marked attributes.

Tick/Legend Label Attributes

Replaces axis or legend tick attributes with a copy of the marked attributes.

Axis Label Attributes

Replaces axis label attributes with a copy of the marked attributes.

Undo

Undo

Undo reverts the effect of the last editing operation, such as changing geometry or an attribute value of an object or group of objects, changes to object's control points, layout and alignment operations, zooming and panning and others. The undo button displays the last editing operation that can be undone and changes its label to Redo after performing the Undo operation. Some advanced editing operations, such as exploding, constraining and some others, cannot be undone.

Undo History

Undo History displays a list of recent editing actions and allows selecting individual actions to undo or redo. Some geometry editing actions require the drawing's viewing state (pan and zoom) to be unchanged in order to be reverted properly. The changes to the drawing's viewing state are listed in the Undo History list and can be undone as well.

View

The View Menu provides options to let you change the appearance of the drawing. These options have no effect on the underlying drawing, but just alter its appearance within the drawing area.

Set View

The Set View submenu provides options to let you change the projection used to display the drawing.

Main

In this view, the X axis points to the right, the Y axis points up, and the Z axis points toward the viewer.

Back

In this view, the X axis points to the left, the Y axis points up, and the Z axis points away from the viewer.

Left

In this view, the X axis points away from the viewer, the Y axis points up, and the Z axis points to the right.

Right

In this view, the X axis points toward the viewer, the Y axis points up, and the Z axis points to the left.

Top

In this view, the X axis points to the right, the Y axis points toward the viewer, and the Z axis points down:

Bottom

In this view, the X axis points to the right, the Y axis points away from the viewer, and the Z axis points up.

Adjust View

Adjust View defines and applies a transformation to the view of the drawing, letting you transform the view incrementally.

The view transformations are defined and applied in the same way as object and clone transformations; see GLG Objects for transformation descriptions. A viewing transformation does not affect the drawing's content; it only adjusts the viewing projection used to present the drawing.

To return to one of the predefined projections, select a view from the View, Set submenu.

When the view is adjusted in the Builder, the result of the adjustment is stored in the viewport's Zoom transformation. If you want to transform the view from a program, attach a parametric view transformation to the viewport object. See the Viewport section of GLG Objects for more information on Zoom and View transformations.

Load View Transformation

Load View Transformation applies a saved view transformation to the current drawing. The transformation does not affect the drawing itself, just the way it is presented.

When you select Load View Transformation, the Builder prompts you to enter a file name, using the standard file selection dialog.

To save a view projection, use View, Save View Transformation.

Save View Transformation

Save View Transformation writes the definition for the current view projection to a file. A saved view transformation is useful if you frequently use a particular projection that is not among the standard views. You can configure your projection once, save it, and then load it whenever you want to view a drawing using that projection.

When you select Save View Transformation, the Builder prompts you to enter a file name, using the standard file selection dialog.

To apply a saved view projection, use View, Load View Transformation.

Coordinate System

The Coordinate System submenu provides options to let you view the drawing using different coordinate systems. The effect of these options depends on the relationships among the objects in the drawing. If the objects share the same coordinate system, the options have no effect on the appearance of the drawing.

Changing the viewing coordinate system does not affect the objects or their relationships to one another. It affects only the Rotation and Scaling axes and the way the Builder interprets numerical values of coordinates. For information about the various coordinate systems relevant to a GLG drawing, please see Structure of a GLG Drawing.

View

View lets you edit the drawing using the coordinate system of the viewport, before view transformations are applied.

Drawing

Drawing lets you edit the drawing using the coordinate system for the drawing, after view transformations are applied.

Parent

Parent lets you edit the drawing using the coordinate system of the selected object's parent.

Object

Object lets you edit the drawing using the selected object's coordinate system.

Zooming

The Zooming submenu provides options to let you change the scale of the view. The changes in scale affect your view of the drawing, not the drawing itself, and are saved with the viewport. All the zooming options use the drawing's coordinate system. The Builder's Control Panel also provides zooming controls.

Zoom In

Zoom In increases the scale of the drawing, so the objects look bigger. Zooming into a drawing enlarges the objects in the center of the drawing, but objects near the edges of the drawing may be clipped.

To control the degree of scaling, use View, Zooming, Set Zoom Factor.

Zoom Out

Zoom Out decreases the scale of the drawing, so the objects look smaller.

To control the degree of scaling, use View, Zooming, Set Zoom Factor.

Zoom To

Zoom To zooms into a specified area of the drawing. When you select this option, the Builder prompts you to specify two points that define a bounding box for the zoom area.

To recover your view of the excluded area, use View, Zooming, Zoom Out.

Set Zoom Factor

Set Zoom Factor controls the scale factor to be applied when you zoom using the Zoom In and Zoom Out buttons of the Control Panel or the menu options. The Builder prompts you for a scaling factor (for example, 2 to scale up or 0.5 to scale down).

Reset Zoom

Reset Zoom returns to the normal scale for the view (100% zoom), and resets any changes in the projection.

Pan To

Pan To moves the center of the view to another part of the drawing area.

After you select this option, click on a spot to use as the new center of the view.

Scroll by Dragging

Starts dragging mode. Click and drag the mouse after selecting this option to scroll the drawing with the mouse.

Scrolling the drawing with the mouse may also be performed by the Ctrl-click-drag sequence in any empty area of the drawing. However, if the drawing area is completely occupied by objects, this menu option provides an alternative.

Traverse

The Traverse Menu provides options to let you work with the object hierarchy.

Hierarchy Down

Hierarchy Down shows the members of the object hierarchy below the selected object. The effect of this option depends on the selected object:

For non-composite objects, this option is grayed.

This menu option is equivalent to the Hierarchy Down button at the left side of the Builder window.

To navigate back up through the object hierarchy, use Traverse, Up.

Transformation Down

For a transformed object, Transformation Down shows the original object before its transformation.

To return to a view of the transformed object, use Traverse, Up.

Up

Up undoes the effect of Traverse, Hierarchy Down, returning to a higher level of the object hierarchy. It also undoes the effect of Traverse, Transformation Down, returning to a view of the transformed object.

Set Focus

Set Focus enters a mode that makes a viewport's contents available for editing without filling the whole Builder window. This lets you edit the contents of a viewport in the context of the surrounding drawing, unlike Hierarchy Down, which excludes from the drawing area any objects not within the selected branch of the object hierarchy. When the focus is set to a viewport different from the main drawing area, Traversing Down is disabled until the focus is returned to the main drawing.

To set the focus, use this menu option (or click on the Set Focus button on the Control Panel). The Builder prompts you to select a viewport to set the focus into. Ctrl-Shift-clicking on a viewport also moves focus into it, acting as a convenient shortcut for Set Focus. If a viewport is part of a group, the first Ctrl-Shift-click on a viewport selects it, and the second Ctrl-Shift-click moves focus inside the viewport.

To return to the default editing mode, use Traverse, Main Focus, or click on the Main Focus button.

Main Focus

Main Focus returns focus to the main drawing area. Ctrl-Shift-clicking on a top-level viewport of the drawing area also moves focus into it.

Main Focus terminates the Set Focus mode. To edit the contents of the selected viewport, use Traverse, Hierarchy Down.

This option is grayed out until you use Traverse, Set Focus to change the viewport editing mode.

Select Next

When you select a member of a group with a mouse click, you select the entire group. If you want to edit only one member of the group, you can use Select Next to select it. This option selects members of a group that exist at the next lower level of the object hierarchy. That is, if one of the members of the group is itself a group, when you choose Select Next and then click on a member of that sub-group, you select the entire sub-group. If you are editing nested groups, you can use Select Bottom to select objects at the bottom of the hierarchy of nested groups. When a permanent group is selected, the Ctrl-Shift-click on an object in the group selects the object, acting as a shortcut for Select Next. When an object inside the group is selected using Select Next, the boundaries of its parent group are highlighted with a dotted line to provide visual feedback for the traversal of the group hierarchy.

To change attributes that are common to all the members of a group, use Traverse, Edit All, or the Edit All button on the group's Properties dialog.

To delete a group object and separate its members for independent editing, select the group and use Arrange, Explode, Object.

Alternatively, you can select the group, and use Traverse, Hierarchy Down to move to the hierarchy level that shows the individual objects in the group. At this level, you can select and edit each member of the group independently. To return to the hierarchy level that shows the group object, use Traverse, Up.

This option is equivalent to the Select Next button in the Selected Object Properties dialog for a group object.

Select Next mode is aborted when an object outside of the group is selected.

Select Bottom

When you select a member of a group with a mouse click, you select the entire group. If you want to edit only one member of the group, you can use Select Bottom to select it. This option selects members of a group that exist at the lowest visible level of the object hierarchy. That is, if one of the members of the group is itself a group, when you choose Select Bottom and then click on a member of that sub-group, you select only the object on which you clicked. If you want to select the entire sub-group instead, you can use Select Next to select objects at the next lower level of the hierarchy of nested groups. When an object inside the group is selected using Select Bottom, the boundaries of its parent group are highlighted with a dotted line to provide visual feedback for the traversal of the group hierarchy.

To change attributes that are common to all the members of a group, use Traverse, Edit All, or the Edit All button on the group's Properties dialog.

To delete a group object and separate its members for independent editing, select the group and use Arrange, Explode, Object.

Alternatively, you can select the group, and use Traverse, Hierarchy Down repeatedly to move to the lowest level of the hierarchy. At this level, you can select and edit each member of the group independently. To return to the hierarchy level that shows the group object, use Traverse, Up.

This option is equivalent to the Select Bottom button in the Selected Object Properties dialog for a group object.

Select Bottom mode is aborted when an object outside of the group is selected.

Edit All (First)

For a group object, Edit All (First) starts editing the attributes of objects in the group by using the first object in the group to select a set of attributes for editing. This is a convenient option for fast editing of groups that contain objects of the same type.

For groups that contain objects of different types, the Edit All (Select) option allows you to select a set of attributes to edit. For example, if the group contains both the polygon and text objects, the Edit All (Select) option allows you to select the polygon or text attributes to be edited.

If a Font Table, Color Table, Rendering Attributes or Box Attributes are added to an object in a group in the Edit All mode, constrained copies are added. Changing any attribute will affect all copies. Individual or all attributes of added copies may be unconstrained. Use the Unconstrain button in the Attribute dialog to unconstrain selected attributes of the constrained objects (in Edit All mode, the attribute will be unconstrained from all copies).

Edit All (Select)

For a group object, Edit All (Select) allows you to choose a set of attributes to edit. This may be convenient when the group contains objects of different types with different sets of attributes.

When you select this option, the Builder prompts you to select an object that has the attributes you want to change. The changes you make to an attribute in the Properties dialog apply to all the objects in the group that have the attribute.

For example, consider a group that contains two circles, a parallelogram, and a fixed text object. Select Edit All (Select) and then select a circle. The Properties dialog shows the attributes for a circle object. Resetting the Resolution affects both circles. Resetting the LineWidth affects both of the circles and the parallelogram. However, the text object doesn't have a LineWidth attribute and is not affected.

If a Font Table, Color Table, Rendering Attributes or Box Attributes are added to an object in a group in the Edit All mode, constrained copies are added. Changing any attribute will affect all copies. Individual or all attributes of added copies may be unconstrained. Use the Unconstrain button in the Attribute dialog to unconstrain selected attributes of the constrained objects (in Edit All mode, the attribute will be unconstrained from all copies).

Arrange

The Arrange Menu provides options to let you change the relationships between objects.

Create Permanent Group

Create Permanent Group creates a group object, which is a container for objects. A group is an object that organizes the objects it contains, letting you apply actions to all the objects at once. A group can contain any object, including other groups.

When you use this option, the Builder prompts you to click and drag the mouse in the drawing to define a rectangle that touches or encloses all the objects to be included in the group. A group object does not appear as a visible shape, but the control points of objects in a group appear as hollow squares. Clicking on any member of a group selects the group. This option is equivalent to the Group icon on the Object Palette.

To remove an object from a group, use the options on the Arrange, Explode submenu.

To edit a single object in a group, use the options on the Traverse menu (Edit Next, Edit Bottom, and Edit All; see page 371). Alternatively, use Traverse, Hierarchy Down to edit the members of the group; see page 369. The Ctrl-Shift-Click on an object in a group may be used as a shortcut for getting access to objects inside the group.

Create Temporary Group

Create Temporary Group is equivalent to Select Rectangular Area described on page 359.

Select Multiple Objects

Select Multiple Objects is equivalent to Select Multiple Objects described on page 359.

Add Object to Group

Add Object to Group adds an object to the selected group object. It may be used with both temporary and permanent groups.

Use the following procedure:

1. Select the group.
2. Select Arrange, Add Object to Group.
3. Click on the first object to add to the group.
4. Click on the next object to add to the group.
5. When you have added all the objects to the group, use the Esc key or the right mouse button to complete the operation.

The status bar at the bottom of the Builder window provides prompts to guide you through the procedure.

This option is equivalent to the Add Object button in the Selected Object Properties dialog for a group object.

Delete Object from Group

Delete Object from Group removes a single object from the selected group. The option may be used with both temporary and permanent groups.

Use the following procedure:

1. Select the group.
2. Select Arrange, Delete Object from Group.
3. Click on the first object to remove from the group.
4. Click on the next object to remove from the group.
5. When you have removed the objects from the group, use the Esc key or the right mouse button to complete the operation.

The status bar at the bottom of the Builder window provides prompts to guide you through the procedure.

This option is equivalent to the Remove Object button in the Selected Object Properties dialog for a group object.

Add or Delete Object from Group

Add or Delete Object from Group adds an object to the group if the object is not part of the group, or deletes the object from the group if the object is a part of the group.The option may be used with both temporary and permanent groups.

Use the following procedure:

1. Select the group.
2. Select Arrange, Add or Delete Object from Group.
3. Click on the first object to add or delete from the group.
4. Click on the next object to add or delete from the group.
5. When you have removed the objects from the group, use the Esc key or the right mouse button to complete the operation.

The status bar at the bottom of the Builder window provides prompts to guide you through the procedure.

For temporary groups, the same action can be accomplished by Ctrl-clicking on the object with the mouse.

Select Next

Select Next is equivalent to Select Next on page 370.

Select Bottom

Select Bottom is equivalent to Select Bottom on page 371.

Edit All (First)

Same as the corresponding option of the Traverse menu.

EditAll (Select)

Same as the corresponding option of the Traverse menu.

Permanent Group

Permanent Group toggles the type of the selected group object between temporary and permanent. The current group type is displayed as the state of this toggle button.

Explode

The Explode submenu provides options to let you separate the objects in a composite object such as a group or series, so that they become independent objects.

The effect of Explode depends on what kind of object is selected. In general, it simplifies the object's representation by removing one level of the object hierarchy:

When an object other than a group is exploded, any actions and custom properties attached to the object are transferred to the object used as a replacement.

Object

Object explodes the selected object. If the selected object is a group or series, this option only affects the top level of the association. Use Arrange, Explode, Sub-Objects to explode the sub-objects.

If the selected object is a group with attached transformations, the transformations are copied to the resulting objects. The Builder prompts you for the type of cloning used to copy the transformations.

Sub-Objects

For objects that are contained in a group, Sub-Objects lets you explode the sub-objects without affecting the group.

Xform

When you select this option, the Builder prompts you to choose between transforming the points in each object or adding the transformation to each object's control points. If you choose to add the transformation to the control points, the Builder prompts you for the type of cloning used to copy the transformations.

This option is grayed if the selected group object has no transformations.

Sub-Object Xforms

Sub-Object Xforms parallels the function of Xform, affecting the sub-objects in the group.

Delete Data Tags

Deletes all data tags of the selected object.

Delete Public Properties

Deletes all public properties of the selected object.

Reorder

The Reorder submenu provides options to let you change the drawing order of objects. Unless the parent viewport or group has the DepthSort attribute turned on, the last object drawn appears to be in front of any other overlapping objects. This is true regardless of the spatial positions of the objects, with the exception of the viewports which are windows and always appear on top of graphical objects.

Move to Back

Move to Back moves the selected object behind other objects in the drawing. All overlapping objects appear to be in front of the selected object.

Bring to Front

Bring to Front moves the selected object in front of other objects in the drawing. All overlapping objects appear to be behind the selected object.

Move Backward

Move Backward changes the selected object's place in the rendering list, moving the object back in the list by one position every time Move Backward is selected (the Ctrl-+ accelerator may also be used).

Move Forward

Move Forward changes the selected object's place in the rendering list, moving the object forward in the list by one position every time Move Forward is selected (the Ctrl-- accelerator may also be used).

Convert Viewport

Contains options for converting viewports.

Viewport -> Light Viewport

Converts a selected viewport to a light viewport.

Light Viewport -> Viewport

Converts a selected light viewport to a viewport.

Viewport -> SubWindow

Replaces the currently selected viewport with a SubWindow object that uses the same control points as the original viewport. The operation preserves any constraints on the control points. The Source attribute of the subwindow is set to INCLUDED and the original viewport is assigned as the subwindow's template. To use the subwindow for displaying viewports form drawing files, change its Source to FILE and set the Source Path to the filename of a drawing to be displayed in the subwindow.

UTF8 Conversions

Convert Strings from Current Local to UTF8

Converts string attributes (such as TextString of a text object) of all objects in the drawing from the current locale to UTF8 and sets the UTF8Encoding flag of each attribute to YES.

Convert UTF8 Strings to Current Locale

Converts string attributes (such as TextString of a text object) of all objects in the drawing from UTF8 encoding to the current locale and sets the UTF8Encoding flag of each attribute to NO.

Polygon Points

Contains options for reordering or adding points to a polygon.

Inverse Polygon Points

Inverts the order of the polygon's control points. This does not change the polygon's appearance, but the first point in the list of the polygon's points (annotated in the drawing with the small black square) becomes the last point in the list. The list of the polygon points may be edited by pressing the Point List button in polygon's Properties dialog. Inverting the points' order may be convenient when merging polygons.

Add Polygon Points

This submenu provides options for merging polygons. To merge polygons, all points of one polygon are first marked and then added to another polygon. To mark polygon's points for merging, select the polygon, display its Properties dialog, press the Point List button to display its point list and press Mark List.

       Add To Beginning

Adds the marked list of points at the beginning of the point list of the selected polygon.

       Add To Beginning Reversed

Adds the marked list of points at the beginning of the point list of the selected polygon, reversing the order of points of the marked point list so that the first point is added last.

       Add To End

Adds the marked list of points at the end of the point list of the selected polygon.

       Add To End Reversed

Adds the marked list of points at the end of the point list of the selected polygon, reversing the order of points of the marked point list so that the first point is added last.

Template

Provides options for managing templates of subdrawings, subwindows and series objects.

Mark Template

Stores a template of the selected SubDrawing or SubWindow object to be reused. The option is enabled only for SubDrawing and SubWindow objects that use included templates.

Use Marked Template

Replaces a template of the selected SubDrawing or SubWindow object with the template marked with the Mark Template option. The template will be shared between all subdrawings or subwindows that use this option. The option is enabled only for SubDrawing and SubWindow objects that use included templates.

Replace Parent's Template

For a series or reference object, Replace Parent's Template lets you use a different object as a template. Use the following procedure:

1. Select Traverse, Hierarchy Down to open the series object.
2. Select or create a new template object.
3. Select Traverse, Replace Parent's Template.

When you go back up the hierarchy, the series or reference is drawn with the new template object. The old template is discarded.

If the template is a simple object (a polygon, for example), this option may be used to add more objects to the template by replacing the polygon with the group containing other objects as well.

Legend

Contains options for managing chart legends.

Mark Legend

Marks the selected legend object.

Set Chart Legend

Sets a previously marked legend object as a legend of the selected chart.

Reset Chart Legend

Resets a legend of the selected chart object.

GIS Zoom Mode

Provides options for setting the zoom mode of a viewport to the GIS Zoom Mode.

Set as Parent Viewport's GIS Object

Sets the GIS Zoom Mode of the GIS Object's parent viewport by setting the currently selected GIS Object as the parent viewport's GIS Object. In the GIS Zoom Mode, the zoom and pan controls of the viewport zoom and pan the map displayed in the GIS Object instead of zooming and panning the viewport's drawing. The GIS Zoom Mode is persistent and is stored with the drawing. To unset the GIS Zoom Mode, use the Unset GIS Zoom Mode option described below.

Unset GIS Zoom Mode

Resets the GIS Zoom Mode of the selected viewport to the Drawing Zoom Mode.

Chart Zoom Mode

Provides options for setting the zoom mode of a viewport to the Chart Zoom Mode.

Set as Parent Viewport's Chart Object

Sets the Chart Zoom Mode of the chart's parent viewport by setting the currently selected chart object as the parent viewport's chart object. In the Chart Zoom Mode, the zoom and pan controls of the viewport zoom and scroll the data displayed in the chart object. The Chart Zoom Mode is persistent and is stored with the drawing. To unset the Chart Zoom Mode, use the Unset Chart Zoom Mode option described below.

Unset Chart Zoom Mode

Resets the Chart Zoom Mode of the selected viewport to the Drawing Zoom Mode.

Layout

The Layout Menu provides options to align and layout objects in the drawing. It may also be used to view or set the objects' width and height using the Layout Toolbox option.

Layout Toolbox

This option activates the Layout Toolbox which contains icons and controls for performing various align and layout operations. See Object Layout and Alignment on page 284 for more information.

Position in Drawing

This submenu provides options for positioning an object in its parent viewport. The Layout, Align To Viewport Span menu option controls the area used for alignment: either the viewport span or the currently visible area of the viewport.

At Left Edge

Aligns the left edge of the selected object with the left edge of the viewport.

Center Horizontally

Positions the selected object in the center of the viewport in the horizontal direction.

At Right Edge

Aligns the right edge of the selected object with the right edge of the viewport.

At Top Edge

Aligns the top edge of the selected object with the top edge of the viewport.

Center Vertically

Positions the selected object in the center of the viewport in the vertical direction.

At Bottom Edge

Aligns the bottom edge of the selected object with the bottom edge of the viewport.

Set Width/Height

The Set Width/Height submenu provides options for setting an object's width and height.

World Coordinates

Provides options for setting an object's width and height in world coordinates.

Set Width
Set Height

Opens the Layout Toolbox dialog and selects options for setting width or height of the selected object in world coordinates. The current width or height is displayed in the dialog and can be changed be entering a new value.

Set Group Element Width
Set Group Element Height

Opens the Layout Toolbox dialog and selects options for setting width or height of all elements of the selected group in world coordinates. The dialog displays width or height of the first element of the group. The width or height of all group elements may be changed by entering a new value.

Pixels

Provides options for setting an object's width and height in pixels.

Set Width
Set Height
Set Group Element Width
Set Group Element Height

These options are the same as the corresponding options for setting width/height in world coordinates, except that they use pixels instead of world coordinates.

Set Space/Distance

The Set Space/Distance submenu provides options for setting space or distance between group elements. The distance is measured between the objects' centers, while space is measured between the objects' extents.

The Align Points option controls how an object's extent is determined, using either an object's bounding box or its control points.

World Coordinates

Provides options for setting space or distance between group elements in world coordinates.

Set Horiz. Space
Set Vert. Space
Set Horiz. Center Distance
Set Vert. Center Distance

Opens the Layout Toolbox dialog and selects options for setting space or distance between elements of the selected group in world coordinates. The space or distance can be changed by replacing the default value displayed in the dialog with the desired value.

Pixels

Provides options for setting space or distance between objects in a group in pixels.

Set Horiz. Space
Set Vert. Space
Set Horiz. Center Distance
Set Vert. Center Distance

These options are the same as the corresponding options for setting space/distance in world coordinates, except that they use pixels instead of world coordinates.

Align

The Align submenu provides options for aligning objects.

Align Left

Aligns the left edge of each selected object with the left edge of the anchor object. If no anchor object is selected, the left most selected object is used as an anchor.

Align Horiz. Center

Aligns the center of each selected object with the center of the anchor object horizontally. If no anchor object is selected, the left most selected object is used as an anchor.

Align Right

Aligns the right edge of each selected object with the right edge of the anchor object. If no anchor object is selected, the right most selected object is used as an anchor.

Align Top

Aligns the top edge of each selected object with the top edge of the anchor object. If no anchor object is selected, the highest selected object is used as an anchor.

Align Vert. Center

Aligns the center of each selected objects with the center of the anchor object vertically. If no anchor object is selected, the highest selected object is used as an anchor.

Align Bottom

Aligns the bottom of each selected object with the bottom of the anchor object. If no anchor object is selected, the lowest selected object is used as an anchor.

Make Same Size

Make Same Size submenu provides options for setting size of selected objects to be the same.

Width

Sets the width of each selected object to be the same as the width of the anchor object. If no anchor object is selected, the left most selected object is used as an anchor.

Height

Sets the height of each selected object to be the same as the height of the anchor object. If no anchor object is selected, the left most selected object is used as an anchor.

Both

Sets both the width and height of each selected object to be the same as the width and height of the anchor object. If no anchor object is selected, the left most selected object is used as an anchor.

Distribute

Distribute submenu provides options for distributing objects in the selected group, leaving no spaces between the objects.

Across

Distributes objects horizontally leaving no extra spaces between the object's extents.

Down

Distributes objects vertically leaving no extra spaces between the object's extents.

Space Evenly

Space Evenly submenu provides options for evenly distributing spaces between objects in the selected group.

Across

Distributes objects horizontally with equal spaces between the object's extents.

Down

Distributes objects vertically with equal spaces between the object's extents.

Distribute Evenly

Distribute Evenly submenu provides options for evenly distributing objects in the selected group using objects' centers.

Across

Distributes objects horizontally with equal distance between the objects' centers.

Down

Distributes objects vertically with equal distance between the objects' centers.

Select Anchor

Select Anchor defines the anchor object. Select this option, then click on the object with the mouse to define it to be the anchor. The anchor selection will be preserved until the currently selected group is unselected.

Align Points

When this toggle is checked, the objects' control points are used to align objects. If the toggle is unchecked, the objects' extents will be used.

When setting sizes of text objects with more than one control point, control points are always used regardless of the settings. When setting sizes of objects with a single control point, such as arcs and reference objects, objects' extents are always used.

Align To Viewport Span

When this toggle is checked, the viewport span is used as the drawing extent when positioning an object. If the toggle is unchecked, the currently visible area of the viewport's window is used as the drawing extent.

For resizable viewports, the span is defined by the SpanX and SpanY attributes of the viewport's screen object. For fixed scale viewports, the span is the viewport size in pixels. By default, the span extent is annotated with a different color and span marks at the corners of the span.

For resizable viewports with stretch, as well as fixed scale viewports, the difference between the span and the current visible area is noticeable only when the viewport is zoomed or edited by using Hierarchy Down.

More

This option is equivalent to the Layout Toolbox option: it brings the Layout Toolbox for more alignment and layout options.

Object

The Object Menu provides options to let you create and manipulate objects within the drawing.

Create

The options under the Create option let you add new objects to the drawing.

Most of the options under the Create submenu correspond to the buttons in the Object Palette on the left side of the Builder window. You can create the object by choosing its type from this menu, or by clicking on the corresponding button in the palette.

If an object has an icon in the drawing primitives palette, the icon is shown next to the object description. If an icon is not displayed, the object may be created only by using the Object, Create main menu.

See page 273 for basic instructions on drawing objects.

Polygon

The Polygon options let you create the following kinds of polygons:

To create any type of polygon, click on each point to be used as a vertex, then click the right mouse button (or use the Esc key) to complete the polygon. For the closed and filled polygons, the Builder joins the first and last vertices, closing the polygon.

Rectangle

The Rectangle options let you create the following kinds of rectangles:

Although the GLG object set does not include a rectangle object, the Rectangle options are provided for convenience. Drawing a rectangle actually creates a specialized parallelogram with perpendicular sides. The sides are not constrained to remain perpendicular, though they remain parallel unless you explode the object.

To create a rectangle, click on two points to define the diagonal corners of the rectangle.

Rounded Rectangle

The Rounded Rectangle options let you create the following kinds of rectangles:

To create a rounded rectangle, click on two points to define the diagonal corners of the rectangle. It creates a parallelogram with perpendicular sides and rounded corners. The size of the rounded corners is controlled by the object's Radius1 and Radius2 attributes.

Parallelogram

The Parallelogram options let you create the following kinds of parallelograms:

To create a parallelogram, click on one point, and then click on two other points. The second and third points define two vectors from the first point; they specify the angles and lengths of the opposing sides. The opposing sides of the parallelogram remain parallel when the object's control points are moved. To remove this constraint, explode the object.

Arc

The Arc options let you create the following kinds of arcs:

An arc is a many-sided regular polygon, like a circle; however, an arc does not encompass 360. A simple arc is just the segment of a circle's perimeter connecting the points you choose. A chord arc closes the shape with a straight line from one end of the arc to the other. A segment arc closes the shape with two straight lines from each end of the arc to the center, like a wedge of pie.

To create any type of arc, click on the center point, a point to define the radius, and a point to define the angle of the sector.

You can convert an arc to a circle by editing its StartAngle or EndAngle attributes.

The control points of an arc or a circle are unusual for graphical objects. See the description of a circle (below) for an explanation.

Circle

The Circle options let you create the following kinds of circles:

A circle is a many-sided regular polygon. Its Resolution attribute specifies the number of sides used to render the circle. At low Resolution values, the shape no longer resembles a circle; for example, a circle with a Resolution of 5 is a pentagon.

To define a circle, click on the center point, then on a point to define the radius.

In GLG, both circles and arcs are rendered using an Arc object type. A circle is a special case of an arc with a StartAngle of 0 and an EndAngle of 360.

Circles and arcs have an arrangement of control points different from other graphical objects. Each circle has two control points that initially appear superimposed at the center of the circle. (The move point is moved slightly away from the center to avoid confusion.) The two points define a line to which the circle is perpendicular. The length of the line is ignored. This means that you can grab one of the control points, and tilt the circle by moving it. However, a circle has no control points on its perimeter for resizing it; to change its radius, change its Radius attribute or use the Resize Box.

The Control Points of a Circle
Ellipse

The Ellipse options let you create the following kinds of ellipses:

An ellipse is a rounded rectangle with rounded corners taking the whole extent of the rectangle. Its Resolution attribute specifies the number of segments used to render each corner of the ellipse. At low Resolution values, the shape no longer resembles an ellipse; for example, an ellipse with a Resolution of 2 is a hexagon.

To create an ellipse, click on two points to define the diagonal corners of the ellipse's bounding rectangle.

Spline

The Spline options let you create a multi-point Bezier cubic spline used to render curves in 2D or 3D space:

To create a spline, click in the drawing area to define the number of spline control points, then click the middle or right mouse buttons (or use the Esc key) to complete the spline. The spline will render a smooth curve defined by the control points. The shape of the curve may be changed by moving the control points.

Marker

A marker is an object that indicates the position of a single point. Markers are made by selecting one or more shapes from a set of predefined shapes such as squares, crosses, and circles. Unlike other graphical objects, marker objects do not change their size when the viewport is resized.

To create a marker, select Object, Create, Marker and then specify the point.

Since markers are always drawn the same size, they are not affected by transformations. To change a marker's size, change its Size attribute.

Image

An image object may be used to display an image in GIF, JPEG, PNG or BMP (on Windows only) formats. The Image options let you create the following kinds of images:

To create an image, select the type of the image: fixed size or scalable, define its position (one control point for the fixed image and two points for the scalable image), and select the image file.

For images of fixed size, the Anchoring attribute may be used to control the image's position relative to its control point.

Text

A text object is a graphical object that displays a text string. The Text options let you create the following kinds of text objects:

The text's control points define its position and boundaries. The text object's attributes define a string that appears in the drawing and the way it is displayed. The TextScaling attribute can be used to activate text scaling, see page 70.

You can transform the text object itself using the transformations that apply to geometric data; the transformations affect the control points that define the text's position and bounding box. You can transform the text object's String attribute using any of the transformations that apply to string data; they can be used to display a numeric value or another string. For a complete list of transformations and details on text object types, see GLG Objects.

Font Availability

All the text objects can display any font that is available in the GLG Graphics Builder. The final appearance of the string depends on the font table attributes of the viewport that contains the text object. To set the font table attributes:

1. Select the viewport and use Object, Properties to see the viewport's attributes.
2. In the Selected Object Properties dialog for the Viewport object, click on the ellipsis button for More, to see the attributes of the Screen object.
3. In the Selected Object Properties dialog for the Screen object, set the Default Fonts attribute to NO, and click on the ellipsis button for Fonts, to see the attributes of the Fonttable object.
4. In the Selected Object Properties dialog for the Fonttable object, use the buttons to set the attributes for the Fonttable object. This object refers to a font table, which is an array of data that includes the font specification and available sizes.
5. To see the fonts in the selected font table, click on the ellipsis button for the Fonts attribute and edit Font objects in the font table. Each font object allows defining fonts for both Windows, Unix, Java and JavaScript run-time environments, as well as for PostScript printing.
GIS Object

A GIS Object provides a way to embed GIS maps generated with the GLG Map Server into GLG drawings. It automatically handles all aspects of the low-level interaction with the Map Server to display, zoom and pan GIS map data. The GIS Object provides attributes to control projection, center and extent of the map.

To create a GIS Object:

1. Select Object, Create, GIS Object and choose rectangular or orthographic projection to create the GIS Object.
2. Click on two points to define a rectangular area to use for the map display.
3. When prompted, select a dataset file that describes the GIS data to render.

The GIS Object will display the map specified by the dataset file. The map may be positioned by changing the GISCenter and GISExtent attributes of the object. The GIS Zoom mode of the drawing's Integrated Zoom feature may be used at run time to zoom and pan the map. Refer to the Viewport section of GLG Objects on page 82 for details.

Group

A group is a container for other objects. It lets you manipulate all members of the group as if they were a single object.

To define a group, select Object, Create, Group and drag a rectangle through the objects you want to include in the group. Any object touched by the defining rectangle is included in the group. The groups created using this method are permanent. Refer to Multiple Selection on page 276 for information about temporary groups.

The Arrange and Traverse menus provide options to let you work with a group object. The Arrange, Create Permanent Group option is equivalent to the Object, Create, Group option.

You can use the Builder to create groups of graphical objects, but groups can contain any objects, graphical or not. The polygon, for example, contains a group of point coordinates. It is not uncommon to see non-graphical objects grouped using the GLG API.

Container

A container object is a wrapper around a group of objects; it encapsulates a collection of objects in a single entity and provides a single control point for positioning it in the drawing. A container's Template holds the objects drawn in the container. If the container is copied, the contained template object is copied as well, so that each copy of the container has its own independent template. The container draws its template directly, without creating any additional instances of it.

Containers may be used to implement node/edge functionalities. If a container is used as a node, the container's single control point may be conveniently used for positioning or attaching connectors to. Containers may also be used to preserve center of rotational dynamics when objects are moved.

To create a container:

1. Select an object to use as a template.
2. Select Object, Properties to set the attributes of the template object so that its instance will inherit the appropriate settings. Name the object.
3. Click on the button, or select Object, Create, Container menu option to place the selected object in a container, then click in the drawing to define the container's position.

When you create a container, the Builder places it at the current level of the hierarchy. The container's template appears in the resource hierarchy as the Template resource; it is also visible in the resource hierarchy under its original name.

When you copy a container, each copy will store its own copy of the template. If containers are used to represent connected nodes, a container's control point may be used for constraining connecting lines that represent edges.

To edit the container's template object, use Traverse, Hierarchy Down. When finished, use Traverse, Up to go back to the top level.

Viewport

A viewport is a GLG encapsulation of a window that is used as a drawing surface for other graphical objects. The viewport may also be used as a widget in different run-time environments.

To create a viewport object, select the Viewport icon , then click on two points to define the diagonal corners of the viewport. To place objects inside the viewport, use Traverse, Hierarchy Down to open the viewport, or use View, Set Focus; see page 370.

A drawing can contain multiple viewports, viewports nested within viewports, or no viewports at all. However, to use the drawing as a widget, the drawing must contain a viewport named $Widget that contains all the objects in the drawing; see Integrating GLG Drawings into a Program.

Note: Due to features of the Windows graphical environment, there could be an inconsistency when moving or resizing a viewport with a native widget type (such as a button or scrollbar). The native widgets may intercept mouse events, so an extra mouse click may be required to finish when dragging the viewport with the mouse.

Light Viewport

A light viewport is a lightweight version of the viewport object that does not use a native window and supports semi-transparency and a transparent background. Tho create a light viewport, select the Viewport icon , select Light Viewport from the viewport type popup menu and click on two points to define the diagonal corners of the viewport.

To place objects inside the light viewport, use Traverse, Hierarchy Down, or use View, Set Focus; see page 370. A light viewport may contain nested light viewports as well as regular viewport objects.

SubDrawing

A subdrawing is used to replicate a template in one drawing or in multiple drawings. When the template is changed, all subdrawings that use the template will change as well. The template may be included in the same drawing or stored in a separate drawing file. By using the subdrawing, you can make a drawing file smaller than it might be otherwise, since only one copy of the template is saved. You can also edit a template in one place to change all of its copies in the drawing.

The subdrawing object can also be used to implement object dynamics, changing the object that is displayed.

There are three types of subdrawing objects that differ in the way they store their template:

To create an included subdrawing:

1. Select an object to use as a template.
2. Select Object, Properties to set the attributes of the template object so that its instance will inherit the appropriate settings. Name the object.
3. Click on the button, or select Object, Create, SubDrawing, SubDrawing From Object menu option, then click in the drawing to select the subdrawing's anchor point.
4. If the template contains several named objects used as icons for object dynamics, enter two colon-separated resource paths, to one of the objects (ObjectPath) and its anchor point (OriginPath), and press OK. To display the whole template, press OK without entering ObjectPath.

To create a file subdrawing:

1. Click on the button, or select Object, Create, SubDrawing, SubDrawing From File menu option, then click in the drawing to define the subdrawing's position.
2. Select the drawing file to use. This drawing may contain $Widget or $Drawing resource to specify the object in the drawing to be used as a template.
3. If the drawing contains several named objects used as icons for object dynamics, enter two colon-separated resource paths, to one of the objects (ObjectPath) and its anchor point (OriginPath), and press OK. To display the whole template drawing, press OK without entering ObjectPath.

To create a palette subdrawing:

1. Select Object, Create, SubDrawing, SubDrawing From Palette and click in the drawing to define the subdrawing's position.
2. If the palette contains several named objects used as icons for object dynamics, enter two colon-separated resource paths, to one of the objects (ObjectPath) and its anchor point (OriginPath), and press OK. To display the whole palette, press OK without entering ObjectPath.
3. Edit subdrawing's properties and enter palette object's resource path in the SourcePath attribute.

When you create a subdrawing, the Builder places it at the current level of the hierarchy. There are two resources within the subdrawing. The first one, called Instance, is a copy of the original template (or of it's subobject if ObjectPath is defined) and is also visible in the resource hierarchy under its original name. The second resource, called Template, is the original template object. For containers, the template is drawn directly and both objects refer to the template. For file subdrawings, the Template refers to a loaded instance of the subdrawing. This instance is cached and is used by all instances of the subdrawing.

You can use a subdrawing to create a set of objects that refer to the same template, but can be positioned independently. To create additional subdrawing instances, select and copy the first subdrawing object, positioning created copies as desired. All copies will share the same template object. Subdrawing's bindings may be used to assign local values and change behavior of attributes of a particular instance.

If subdrawing objects are used to represent connected nodes, the subdrawing's control point may be used for constraining connecting lines that represent edges.

To edit the subdrawing's template object, use Traverse, Hierarchy Down. When finished, use Traverse, Up to go back to the top level.

SubWindow

SubWindow is a special type of a subdrawing used to switch drawings displayed in the SubWindow object. SubWindow has two control points that define an area in which the template drawing is displayed, and its template must be a viewport object.

To create a subwindow:

1. Click on the button, or select Object, Create, SubWindow, SubWindow From File menu option, then click on two points in the drawing to define the subwindow's position.
2. Select the drawing file to use. This drawing may contain $Widget resource to specify the viewport object in the drawing to be used as a template.
3. If the drawing contains several named viewports, enter resource paths to one of the viewports and press OK. To display the $Widget viewport, press OK without entering ObjectPath.

A subwindow may be used as a subdrawing with two control points, which is useful for interface objects such as buttons, icons and menus: if a button template changes, instances of the button in all drawings will change as well. Bindings may be used to specify unique attribute values for each instance of the subwindow, such as a button label or a custom action ID.

To edit the subwindow's template object, use Traverse, Hierarchy Down. When finished, use Traverse, Up to go back to the top level.

Connector

This option creates a connector object which may be used to connect other objects in the drawing. It is useful when implementing node and edge functionality or connecting objects in a diagram.

There are two types of connectors:

To create a connector, select the connector type, then click in the drawing to define its shape. For the arc connector, select 3 points to define the arc. For the recta-linear connector, select any number of points to define one or more recta-linear segments and press the Esc key or the middle mouse button to finish.

Series

A series object is a set of dynamically created copies of a template object. Typically, you use a series object to create a set of entities with identical, or at least very similar, characteristics, such as the bars in a chart. A series object consists of a template, a factor indicating the number of copies, a path along which to arrange them, and a set of generated instances.

To create a series:

1. Select an object to use as a template.
2. Select Object, Properties to set the attributes of the template object so that its instances will inherit appropriate characteristics. Name the object.
3. Select Object, Create, then select Line Series or Path Series to create the instance objects.
4. Click on two points to define a line path for a Line Series, on which to arrange the series instances. For a Path Series, define a transformation to be used for replicating instances.
5. Enter a factor to specify the number of instances to create.

When you create a series object, the Builder names the instances using the template object name and an index; for example, a template named Rect with a factor of 3 creates three instances named Rect0, Rect1, and Rect2.

To edit the template object, use Traverse, Hierarchy Down. When you finish editing, use Traverse, Up to see the instance objects.

Square Series

A square series is a special type of series object, which presents the instances of its template in rows and columns. The number of rows and columns in the square series determines the number of instances in the series. A square series object consists of a template and a set of generated instances.

To create a square series:

1. Select an object to use as a template.
2. Select Object, Properties to set the attributes of the template object so that its instances will inherit appropriate characteristics. Name the object.
3. Select Object, Create, Square Series to create the instance objects.
4. Click on the center point for the square series, and click on two points to define two vectors from the first point; they specify the arrangement of the series instances.
5. When prompted, enter the number of rows, then the number of columns. These values specify the number of instances to create.

When you create a square series object, the Builder names the instances using the template object name and an index. The names are ordered in a simple sequence, even though there are two dimensions to the series. For example, a template named Rect with two rows and two columns creates four instances named Rect0, Rect1, Rect2, and Rect3.

To edit the template object, use Traverse, Hierarchy Down. When you finish editing, use Traverse, Up to see the instance objects.

Polyline

A polyline is a specialized series that can be used to draw line graphs. Like a series object, a polyline consists of templates and a set of instances. For the polyline, the instances are the line and the markers at each point of the line. A polyline can rendered as a single polygon or as a collection of individual segments, depending on the value of the Segments attribute.

To create a polyline, click on two points to define the beginning and end of the polyline. The Builder prompts you for the factor, which controls the number of data points along the line.

By default, the polyline has Marker and Polygon resources that contain the template marker object and the template polygon from which the line segment characteristics are derived. If the DrawMarkers and Segments attributes are turned on, two groups, Markers and Polygons, appear among the resources of the polyline. These contain the instances of the template objects.

In order to control a polyline, you must name the control point of the template marker. Use Traverse, Hierarchy Down to edit the marker template. This creates a third group of resources within the polyline, called Points, which contains the instances of the marker control point. The coordinates of these points control the position of the polyline's points.

Polysurface

A polysurface is a specialized three-dimensional object that can be used to anchor a set of objects along its surfaces. It is used primarily for patching of curved surfaces. Like a square series object, a polysurface consists of a template and a set of instances; for the poly-surface, the instances are polygons arranged in rows and columns.

To create a polysurface, click on a point to define the center of the polysurface, and click on two points to define two vectors from the center point. The Builder prompts you for the number of rows and columns in the surface; these values control the number of surface polygons.

By default, the polysurface has a Marker, and a Polygon resource, that contain the template marker object and the template polygon from which the instance polygons' characteristics are derived. You only see the instances of the polysurface templates if those objects are named. The template objects of a polysurface are named by default. If the objects are named, two groups, Markers and Polygons, appear among the resources of the polysurface. These contain the instances of the template objects.

In order to control a polysurface, the control point of the template marker must also be named. The default name is Point. Use Traverse, Hierarchy Down to edit the marker template if you want to change its name or other characteristics. The instances of the marker control point are found in a third group of resources within the polysurface, called Points. The coordinates of these points control the position of the polysurface's points.

Frame

A frame object organizes other objects in a specified arrangement. The points on the frame act as anchors, so other objects can be constrained to them. These are the frame points. There are five frame types:

Because the control points of the frame coincide with the anchor points, use Options, Show Frame Points to get access to the anchor points of the frame. You can move the anchor points of the frame by moving its control points.

Edit Toolbox

This option activates the Edit Toolbox for fast access to the selected objects' properties. Refer to Edit Toolbox on page 277 for more information.

Properties

Properties displays a dialog that lists the attributes of the selected object and provides access to their transformations, alarms and tags. Note that, within the context of the GLG Toolkit, properties and attributes are synonymous.

The generic properties common for all GLG objects, such as object name or HasResources, are displayed at the top of the dialog, and the properties that depend on the type of an object are listed below. For explanations of the generic object properties and attributes of specific object types, see GLG Objects.

The buttons at the bottom of the dialog provide access to adding and editing geometrical dynamics attached to the object, such as move, scale or rotate. The Custom Props button at the top of the dialog provides a shortcut for accessing custom properties attached to the object. The selection buttons in the top right corner of the dialog may be used to rotate selection in case when several objects are selected by the mouse.

The Properties Dialogs

When you select an object and then use Object, Properties, the Builder displays a dialog that shows the properties (attributes) of the object.

A text box on the right side of the attribute row shows the value of the attribute. For attributes that are also objects, the Selected Object Properties dialog presents an ellipsis button that lets you edit the attribute value using a palette or a menu. Clicking on the ellipsis button displays the Attribute dialog; see below.

For attributes of S (String) type that contain multi-line strings, the text box will be read-only and the "[...]" suffix will be shown at the end of the displayed string. An ellipsis button can be used to bring the Attribute dialog with a text edit box for editing the multi-line string.

If an attribute has dynamics, alarms or tags attached, the `X', `A' and/or `T' buttons will be displayed on the right side of the attribute row to provide a quick access to the corresponding transformation, alarm or tag object.

For attributes that are not objects in themselves, the Builder does not present a separate dialog. Such attributes include the Name, the HasResources flag, and the Global attribute.

If all object attributes do not fit on the first page, a More button provides access to the remaining attributes on the second page, and a Back button may be used to return to the first page.

The contents of the dialog depend on the type of the object (e.g. polygon, group, polyline). Here are some of the object-specific features of the Selected Object Properties dialogs:

The Attribute Dialog

Some objects are both attributes and objects. For these objects, the Selected Object Properties dialog for the object includes ellipsis buttons that let you edit the attribute objects. Clicking on the button displays the Attribute dialog.

The Attribute dialog displays the following attributes:

The Dynamics buttons at the bottom of the Attribute dialog provide the only method of attaching a transformation to the attribute. The Add/Edit Tag button at the top of the dialog can be used to add a tag for database connectivity.

The Control Point Dialog

You edit a control point's attributes by Shift+clicking over the point. The Control Point dialog is similar to the Attribute dialog. However, it includes a set of arrow buttons for positioning the point, and a Position text entry box showing the position of the control point after all transformations have been applied. This field may also be used for setting its position using different coordinate systems. You can reposition the point by typing in the Value or Position text entry box, or clicking on the arrow buttons.

Public Properties

Public Properties display user-defined public properties of an object. Public properties are used to simplify editing of the most frequently used properties of a component. A component's public properties can be edited via the Public Properties dialog, eliminating a need to use the resource browser. The OEM version of the GLG Graphics Builder is used to define an object's public properties. The Public Properties menu option and the corresponding toolbar button can be used to browse public properties of an object in either version of the Graphics Builder.

The Public Properties dialog displays public properties of the selected object in a way similar to the way attributes are displayed in the Properties dialog. A scrollbar to scroll the list of properties is automatically activated if required.

Each property has an ellipsis button that brings the Property Object dialog for editing the property value using an appropriate palette or a menu. The Property Object dialog is the same as the Attribute dialog described in the previous section.

A button in the upper right corner of the dialog may be used to switch display between public properties and object properties.

Resources

Resources displays a Resource Browser that shows resources of the selected object. If no object is selected, resources of the whole drawing (at the current level of the hierarchy) are shown. Selecting a different object updates the Resource Browser to display the object's resources.

For a discussion of the basics of object resources, see Structure of a GLG Drawing.

The Resource Browser Dialog

The Resource Browser dialog lists resources of the drawing. Clicking on any resource entry activates dialogs for editing attributes of the selected resource.

All resources are organized hierarchically, in a way similar to a file and directory structure. You can navigate between the levels by double-clicking on the entries.

Composite resources that contain other resources are annotated with the >> suffix after a resource name. Double-clicking on such a resource enters another level of hierarchy, listing all resources inside the selected composite resource.

The following special entries may also be present in the Resource Browser dialog and may be used for navigation:

/ represents the top level viewport (Drawing Area of the Builder).
. represents the object which is currently selected in the Builder (if any).
~ represents the viewport with the editing focus, if it is different from the Drawing Area.
.. represents the previous level (relatively to the currently selected resource).

The resource browser also provides three toggles which can be used to control what resources are displayed in the browser: named resources, default resources, aliases or any combination of them. By default, all three resource categories are displayed.

For a discussion of the basics of object resources, see Structure of a GLG Drawing.

Tags

Tags brings a Tag Browser that shows a list of tags of the selected object, or of the whole drawing if no object is selected. Selecting a different object updates the Tag Browser to display the object's tags.

The Tag Browser Dialog

The Tag Browser dialog displays a list of tags defined in the drawing or the selected object. Tags are global and have a flat hierarchy, therefore all tags of either the whole drawing or the selected object will be listed in the tag browser. Each tag entry shows the tag's TagName and TagSource attributes separated by the `/' character.

Tags are attached to the data resources to enable an application to access data via tags. When a tag entry in the tag browser is selected with the mouse, two dialogs are displayed: one to edit the attributes of the tag object and another to edit the resource object the tag is attached to.

The Sort by toggle of the tag browser may be used to sort the tags by the value of their TagName or TagSource attributes. The Filter field may be used to display only a subset of tags matching a regular expression that may contain the ? (any character) and * (any sequence of characters) wild cards. The regular expression will be applied to either the tag names or tag sources as controlled by the Source/Names toggle on the right side of the Filter field. The toggle also controls the Selection field, allowing the user to select a tag by typing its TagName or TagSource.

The Display Both/One toggle switches the view to display both the TagName and TagSource, or just one of them based on the current sorting setting. If tags are sorted by the tag name, the TagName is shown in the Display One mode. If tags are sorted by the tag source, the TagSource is displayed.

The Unique Tag Sources/Names toggle controls the display of tags with identical tag sources (when sorting by tag sources) or tag names (when sorting by tag names). By default, the toggle is unchecked and all instances of tags with the same tag source or tag name will be displayed in the tag browser. If the toggle is checked, only the first instances of tags with the same tag source or tag name will be displayed.

To add a tag, click on the Add Tag button in the Attribute or Resource Object dialog. To delete a tag, click on the Delete button in the Data Tag dialog.

For a discussion of the basics of attribute tags, see Tags for Data Connectivity on page 41 and Tag-Based Data Access and Data Connectivity on page 232.

Alarms

Alarms opens an AlarmBrowser that shows a list of alarms attached to the selected object or all alarms of the whole drawing if no object is selected. Selecting a different object updates the Alarm Browser to display the object's alarms.

The Alarm Browser Dialog

The Alarm Browser dialog displays a list of alarms attached to the attributes of the selected object to monitor their values. If no object is selected, all alarms defined in the whole drawing will be displayed. Each alarm entry shows the alarm's AlarmLabel attribute.

Alarms are attached to object attributes to monitor their values. When an alarm entry in the alarm browser is selected with the mouse, two dialogs are displayed: one to edit the attributes of the alarm object and another to edit the attribute the alarm is attached to.

The Filter field may be used to display only a subset of alarms whose AlarmLabel matches a regular expression that may contain the ? (any character) and * (any sequence of characters) wild cards. The Selection field may be used to select an alarm by typing its AlarmLabel.

For a discussion of the basics of attribute alarms, see Alarms on page 50 and Integrated Alarms for Value Monitoring on page 235.

Object Dynamics

The Object Dynamics submenu provides options for adding and editing geometrical dynamics.

Add Dynamics

Add Dynamics adds geometrical dynamics (such as move, scale or rotate) to the selected object. The dynamics are attached in the form of a dynamic transformation.

For an explanation of the difference between "static" and "dynamic" and a description of the possible transformations, see Transformation Object on page 167.

You can animate a drawing by attaching a dynamic transformation to a named object, and naming the factor for the transformation. (Entering a name in the Variable Name field in the Add Dynamics dialog assigns it to the Factor attribute in the Edit Dynamics dialog.) When you use Run, Start to execute the animation, specify the named factor in the command line; see page 413.

To add dynamics to object attributes (such as visibility or color dynamics), use the Add Dynamics button of the Attribute dialog. Refer to Adding Attribute Dynamics on page 292 for details.

The Add Dynamics Dialog

The Add Dynamics dialog lets you define a parametric (dynamic) transformation to attach to the selected object.

To specify the transformation, use the Transformation Type option, which lists the geometrical transformations. See GLG Objects for specifications of these transformations. When you select a transformation, the content of the dialog changes, providing appropriate text entry boxes and buttons for defining the transformation.

To switch from defining a dynamic transformation to transforming points or defining a static transformation, use the Action option.

Some of the text entry boxes are paired with buttons; for these values, you can specify these values by typing values or by clicking with the mouse. Clicking on a button and then in the drawing area records the mouse position in the corresponding text entry box. For example, clicking on the Distance X In Drawing button and clicking on two points in the drawing calculates and records the distance between the points in the X direction. When using buttons for defining transformation's geometry in the drawing, notice the prompt at the bottom of the drawing area that provides information on the number of points to select with the mouse.

For most transformations, a Reverse button provides a way to reverse a transformation by inverting its parameters.

Use the Variable Name text entry box to name the controlling parameter of the dynamic transformation. The range parameters may be used to map the range of the input data to the range of the required change of the transformation's factor. If the default range parameters are modified, a Range Conversion transformation will be attached to the dynamics' Factor and the name entered in Variable Name will be assigned to the Input Value of the Range Conversion transformation.

For the Path transformation, the dialog provides several ways of defining the path points. The Points In Drawing button can be used to define the path points with the mouse. Use Object uses points of an object (such as polygon, arc, or spline) selected with the mouse. Constrain To Polygon constrains points of the path to the points of the selected polygon; if polygon's points change their position, the path changes accordingly. However, adding or deleting points from the polygon after using the Constrain To Polygon button does not affect the path. Finally, Select Path can be used to select the path object ID, so that adding or deleting points from the object is reflected in the path. Select Path can also be used to use objects other than polygons, such as arcs, connectors or splines.

For the Use Marked transformation type option, the dialog provides the Clone Type option that controls if the parameters of the added transformation copy are constrained to the corresponding parameters of the original transformation.

Use the Apply button when you have finished specifying the transformation.

Edit Dynamics

Edit Dynamics lets you change the values of a dynamic transformation.

This option is equivalent to selecting the Edit Dynamics button from the Properties dialog. It is grayed when the selected object has no dynamic transformations.

The Edit Dynamics Dialog

The Edit Dynamics dialog lets you change parameters of dynamic transformations attached to the object, change their order and delete selected transformations from any position in the list.

A list of transformations attached to the object is displayed on the left side of the dialog. Selecting a transformation in the list displays its properties.

For stock transformations, the attributes are listed in the dialog, the same way as object attributes are listed in the Properties dialog described on page 398.

For predefined transformations, their public properties are listed, the same way an object's public properties are listed in the Public Properties dialog described on page 400. A button in the upper right corner of the dialog may be used to switch display between the public properties and the full display of the predefined dynamics.

Each attribute or property row has an ellipsis button that provides access to editing the attribute or property, as well as adding tags, alarms and second-level transformations to it. For convenience of editing, the dialog also lists a name of each attribute or public property.

The Up and Down buttons on the right of the transformation list allow the user to change the order of the transformations by moving the selected transformation up or down the list. The Mark Object and Mark List buttons may be used to mark the dynamics for reuse. The Mark Object button marks the selected transformation, while Mark List marks the whole list in case if it has more than one transformation. To reuse the marked dynamics, use the Use Marked option when adding dynamics to an object.

The Back button may be used to return from recursive editing of the second-level transformations attached to the attributes of the main transformation. When editing transformations attached to the attributes of the main transformation, the title of the Edit Dynamics dialog displays the level of the transformation being edited.

Delete Dynamics

The Delete Dynamics submenu provides options to let you remove static or dynamic transformations from the object or it's subobjects.

This option is grayed when neither the selected object no its subobjects have transformations attached.

Delete Object's Transformation

Delete Object's Transformation removes either the first or last transformation in the list from the selected object. If you are using the object's coordinates to view the drawing (see page 367), the last transformation in the list is deleted. Otherwise, the first transformation in the list is deleted. Note that this order applies even if the Edit Dynamics dialog is open and a different transformation is selected.

Delete Sub-Object's Transformation

For a group or other composite object, Delete Sub-Object's Transformation removes a transformation from an individual object in the group.

Transform Points

Transform Points changes the coordinates of the control points of the selected object.

Transforming an object's points changes the object permanently by changing the coordinates that define its points. This kind of transformation is not saved as part of the object, but is applied immediately. Therefore, it will not appear in the object's transformation list.

If the object's MoveMode is set to STICKY MODE, this operation also changes the control points of any geometrical transformations attached to the object. If the object's MoveMode is set to
MOVE BY XFORM, the operation adds a static transformation to the object instead of changing its coordinates, see page 61.

The Transform Points Dialog

The Transform Points dialog lets you define the transformation to apply to the selected object's points. Keep in mind that transforming an object's points irrevocably changes the object; such a transformation cannot be edited or deleted.

To specify the transformation, use the Transformation Type option, which lists the transformations for geometric data. See GLG Objects for specifications of these transformations. When you select a transformation, the content of the dialog changes, providing appropriate text entry boxes and buttons for defining the transformation, which are the same as in the Add Dynamics dialog described on page 402.

To switch from transforming points to defining a static or dynamic transformation, use the Action option.

For most transformations, a Reverse button provides a way to "undo" a transformation. It inverts the parameters of the last transformation you applied, which has the effect of restoring the object to its untransformed state when the inverse transformation is applied.

The Variable Name, InLow, InHigh, OutLow, and OutHigh options are not available; these options apply only to dynamic transformations.

Use the Apply button when you have finished specifying the transformation.

Add Static Transformation

Add Static Transformation creates and applies a matrix (static) transformation to the selected object. The transformation is saved as part of the object. You can delete a static transformation using Object, Delete Dynamics; see page 403.

A matrix transformation cannot be edited directly. If several matrix transformations are applied, they are merged in a single matrix transformation that has a combined effect of all applied matrix transformations. Therefore, the only way to change a matrix transformation is to modify its matrix by applying another matrix transformation.

To see the object without transformations, use Traverse, Transformation Down; see page 369. For an explanation of the difference between "static" and "dynamic" and a description of the possible transformations, see GLG Objects.

The Matrix Transformation Dialog

The Matrix Transformation dialog lets you define a matrix (static) transformation to attach to the selected object. Keep in mind that a matrix transformation cannot be edited directly.

To specify the transformation, use the Transformation Type option, which lists the transformations for geometric data. See GLG Objects for specifications of these transformations. When you select a transformation, the content of the dialog changes, providing appropriate text entry boxes and buttons for defining the transformation, which are the same as in the Add Dynamics dialog described on page 402.

To switch from defining a static transformation to transforming points or defining a dynamic transformation, use the Action option.

For most of the transformations, a Reverse button provides a way to "undo" a transformation. It inverts the parameters of the last transformation you applied, which has the effect of negating the effect of the previously applied static transformation when the inverted transformation is applied.

The Variable Name, InLow, InHigh, OutLow, and OutHigh options are not available; these options apply only to dynamic transformations.

Use the Apply button when you have finished specifying the transformation.

Tooltip

The Tooltip submenu provides options for adding and editing object tooltips.

Add Tooltip

Add Tooltip attaches a tooltip action to the selected object and opens the action's Properties dialog for entering the tooltip string as a value of the action's Tooltip attribute.

To activate tooltip processing, the ProcessMouse attribute of the viewport containing the object (or a parent viewport) has to include the Tooltip mask. The Run mode of the Builder may be used to test the tooltips.

Edit Tooltip

Edit Tooltip opens the Properties dialog for editing the Tooltip action attached to the selected object.

Use the Object, Custom Properties, Edit Custom Properties menu option to edit old-style (prior to v. 3.5) tooltips defined as named TooltipString resources.

Delete Tooltip

Delete Tooltip deletes a tooltip action attached to the selected object.

Use the Object, Custom Properties, Edit Custom Properties menu option to delete old-style (prior to v. 3.5) tooltips defined as named TooltipString resources.

Actions

The Actions submenu provides options for adding or editing actions and commands attached to objects in the drawing.

Add Command

Add Command attaches a command action to the selected object. It prompts the user to select a type of command from a list of available commands, then opens a dialog for specifying values of the command's parameters.

The Back button may be used to return to the action's Properties dialog after the command data has been entered. The action properties specify the event that triggers the command's execution. Refer to Action Object on page 198 for more information.

Add Custom Mouse Event

Add Custom Mouse Event attaches a custom event action to the selected object and opens the Properties dialog for editing the action's attributes. The action's properties specify the type of the mouse event that triggers the custom event. Refer to Action Object on page 198 for more information.

Add Mouse Feedback

Add Mouse Feedback attaches a mouse feedback action to the selected object and opens the Properties dialog for editing the action's attributes. The action's properties specify the type of the feedback, as well as the mouse event that triggers it. Refer to Action Object on page 198 for more information.

Add Input Command

Add Input Command attaches an input command action to the selected input object. It uses the same user interface as the Add Command option described above, but is active only when an input object, such as a button, a toggle or a slider, is selected.

Add Input Action

Add Input Action attaches an input action, such as a custom event, to the selected input object. It uses the same user interface as the Add Custom Event option described above, but is active only when an input object, such as a button, a toggle or a slider, is selected.

Edit Actions

Edit Actions opens an Action List dialog for editing actions attached to the selected object. The dialog provides an interface for editing attributes, reordering or deleting individual actions. Refer to Action Object on page 198 for more information.

The Actions button in the Status Panel at the bottom of the drawing area may be used as a shortcut.

Delete All Actions

Delete All Actions deletes all actions attached to the selected object. To delete individual actions, use the Edit Actions option, select an action to be deleted, then press the Delete button.

Mark Actions

Mark Actions stores a copy of the selected object's actions in the clipboard to subsequently add them to other objects in the drawing. To select individual actions instead of the list of all actions attached to the object, use the Mark Object button in the action's properties dialog.

Add Marked Actions

Add Marked Actions adds a copy of the previously marked actions to the selected object.

Add Tooltip (3.4)

Add MouseClick Event (3.4)

Add MouseOver Event (3.4)

Edit/Delete Tooltip Or Event (3.4)

Options for adding or editing the old-style (prior to v. 3.5) tooltips and custom events. These options are disabled by default, but may be enabled by setting the value of the DisablePre3-5Menus property to 0 in the glg_config file.

Custom Properties

This button brings the Custom Properties sub-menu with the options listed below.

Add Custom Property

Add Custom Property attaches a custom property to an object. Custom properties are saved with the drawing and may be used to associate application-specific data with objects. Custom properties other then data may be attached to objects programmatically using the Extended API.

The presence of custom properties is indicated by the Data indicator in the Status Panel when an object with custom properties is selected.

To edit custom properties, select the object to which the custom properties are attached and use Object, Edit Properties, or click on the Data indicator in the Status Panel. Alternatively, display the object's Properties dialog and click on the Custom Props button.

Add D Property

Creates a D data property for holding a double-precision value.

Add S Property

Creates a G data property for holding a triplet of XYZ or RGB values.

Add G Property

Creates an S data property for holding a text string.

Add D List

Creates a list of custom properties containing a single D data property and adds the list into the objects' list of custom properties. This is different from simply adding a custom property of a D type: selecting Add D List creates a list of lists. The new list entry appears as an "Unnamed >>" in the list of object's custom properties. The ">>" symbols indicate that the list can be opened for editing by double-clicking on it with the left mouse button. When the list is opened, it can be given a name and its content can be edited as well. To add more D properties to the list, press the Add button at the bottom of the list dialog. To edit lists' elements, select an element and edit it using the displayed Attribute dialog. To get back to the object's custom properties list, double-click on the ".." entry.

Add S List

Same ad Add D List, but adds a list of S properties.

Add G List

Same ad Add D List, but adds a list of G properties.

Add Predefined Set

Adds the selected predefined custom property set from a list of available custom data sets. Refer to the Custom Data Sets and Custom Commands section on page 340 for information on customizing the Builder to add new custom data sets.

Add Marked List

Adds a marked list of custom properties to object's custom property list. This is different from Add Marked Properties below which adds all properties of the list, but not the list itself. A custom property list may be marked by pressing the Mark List button in the list editing dialog.

Edit Custom Properties

Edit Custom Properties lets you change the names and values of custom properties associated with the object, as well as delete selected custom properties from a list.

When you use the Edit Custom Properties option, the Builder displays a list of custom properties attached to the object. Selecting a property in the list brings up the Attribute dialog for editing it.

The List Name field can be used to name the custom property list. The HasResources toggle controls the corresponding flag of the list, which may be used to make the named properties of the list to appear as resources of the list instead of resources of the object the list is attached to. The Mark List buttons marks the list for reuse with the Object, Custom Properties, Add Marked List menu option.

The ">>" suffix is displayed if a property itself is a list that contains other properties. Double-clicking on such a property opens it for editing and displays a list of properties it contains. When editing a list property, List Name, HasResources and Mark List control the attributes of the list property itself instead of the attributes of the custom property list attached to an object.

The buttons at the bottom of the Custom Properties dialog may be used to delete or add properties to the list. The Delete button deletes the currently selected property, while the Add button adds a new property to the list.

An option menu to the right of the Add button defines the type of the custom property to add. By default (Default option), it adds a property of the same type as the currently selected property, inheriting the selected property's name and value (change the name of the newly added property to avoid name conflicts). The option menu also has options for adding new custom properties of D, S and G data types, as well as adding lists of properties containing D, S and G properties inside them. The last option (Marked) may be used to add a previously marked list of properties.

When a list of properties is added, double-click on it to get access to the properties inside it. The added list becomes the sublist of the object's custom property list. The sublist may contain other sublists inside, with no restrictions on the sublist depth. When editing sublists, the level of the sublist is displayed in the title of the Custom Properties dialog.

NOTE: Programmatically attached custom properties other then data properties can't be edited in the Builder.

Delete All Custom Properties

Delete All Aliases destroys all custom properties attached to the object. The Delete button of the Edit Custom Properties dialog may be used to delete individual properties.

Mark Custom Properties

Marks all custom properties attached to the selected object.

Add Marked Properties

Adds custom properties marked with Mark Custom Properties to the custom property list of the selected object.

Aliases

This button pops up the Aliases sub-menu with the options listed below.

Add Alias

Add Alias creates an alias object.

An alias object provides a way to assign logical names to arbitrary resource hierarchies. The resource can then be accessed using the alias instead of the hierarchical resource path.

An alias object is not visible and does not appear in the drawing. Its presence is indicated by the Alias indicator in the Status Panel when an object with aliases is selected.

To edit an alias, select the object to which the alias is attached and use Object, Edit Aliases, or click on the Alias indicator in the Status Panel.

The Alias List Dialog

Adding an alias opens an Alias List dialog. The left part of the dialog contains a list of aliases attached to the object; alias properties of the selected alias are displayed on the right.

A new alias is created with both Alias and Path attributes set to "Alias". Change the Alias attribute to the alias name you want to assign, then enter the resource path to be aliased in the Path attribute, or press the ellipsis button next to the Path attribute to define the path using the Resource Browser.

The Up and Down buttons to the right of the alias list may be used to reorder aliases in the list when an object has more than one alias attached. The Name field at the top of the dialog may be used to define a name of the alias object itself, in case if an application needs to access the alias object programmatically.

The Mark Object and Mark List buttons in the Alias List dialog may be used to mark the currently selected alias object or the whole alias list for reuse. To add marked aliases to a different object, select the object and use Object, Aliases, Add Marked Aliases from the main menu.

To delete the currently selected alias from the alias list, use the Delete button at the bottom of the dialog.

Edit Aliases

Edit Aliases lets you change the attributes of an alias after it has been added, as well as delete selected alias from a list.

When the Edit Alias option is used, the Builder displays a list of aliases attached to the object. Selecting an alias in the list shows its parameters. The Alias parameter specifies the logical name to use, and the Path parameter specifies the resource path. The ellipsis button next to Path activates the Resource Browser for selecting the resource. Refer to the previous section for a detailed description of the Alias List dialog.

Delete All Aliases

Delete All Aliases destroys all aliases attached to the object. The Delete button of the Edit Aliases dialog may be used to delete individual alias objects from a list.

Mark Aliases

Marks all aliases attached to the selected object.

Add Marked Aliases

Adds aliases marked with Mark Aliases to the alias list of the selected object.

History

This button pops up the History sub-menu with the options listed below.

Add History

Add History attaches a history object to the selected object.

A history object provides scrolling functionality, such as scrolling behavior of GLG graphs. History provides a mechanism to animate resources that use sequential numbers in their resource names. It provides an access to these resources via a single entry point and scrolls resource values according to the specified scrolling type.

For example, a history object may be attached to a group that contains a set of rectangles named Rectangle0, Rectangle1, Rectangle2 and Rectangle3. It can also be used with series objects, since series name their instances by adding a sequential number at the end of each instance's name. For example, if a template of a series object is named DataSample, the series' instances will be named DataSample0, DataSample1, DataSample2 and so on.

A history object is not visible; it does not appear in the drawing and only appears in the resource hierarchy if you explicitly name it. Its presence is generally indicated by a resource named EntryPoint in the resource hierarchy and by the History indicator in the Status Panel when the object is selected. To animate the object containing the history object, you provide input data to the EntryPoint resource.

To edit a history object, select the object the history is attached to and use Object, Edit History, or click on the History button in the Status Panel.

The Add History Dialog

The Add History dialog lets you specify the resource to animate. It prompts you to enter the resource name that will be used as a template for accessing all sequential resources controlled by the history object.

Specify the constant part of the resource name, substituting a percent sign (%) for the variable part of the name. You can specify a "path" to a child object, using forward slashes (/) as you would in a UNIX path specification.

For example, for a series named Series1 with HasResources=YES and a template named Triangle, the instances are named Triangle0, Triangle1, Triangle2, and Triangle3. To animate the fill color, select Series1 and use Object, Add History. In the Add History dialog, specify Triangle%/FillColor in the Resource Name text entry box. The resulting EntryPoint object is defined at the same level as the Triangle object ($Widget/Series1/EntryPoint).

The entered resource path is used as a template to access all sequential resources controlled by the history. The location of the percent sign in the resource path tells the history object where to add sequential numbers to form sequential resource names. The numbers always start with 0. If the percent sign is omitted, the history will add numbers at the end of the resource path template.

Edit History

Edit History lets you change the attributes of a history object, as well as delete selected history objects from the list of attached history objects.

When you use the Edit History option, the Builder displays the History List dialog with a list of history objects attached to the selected object. Selecting a history object in the list shows its attributes, so you can edit them. Refer to the History section on page 154 for information on the History object's attributes.

Delete All Histories

Delete All Histories destroys all attached history objects. The Delete button of the Edit History dialog may be used to delete individual history objects from the list.

If you explode an object with a history object, the group that remains after exploding it retains the history object. Exploding that group discards the history object.

Run

The Run Menu provides options to let you test the animation of drawings. The simplest way to test a drawing is by using the test data generated by the GLG datagen program.

Start

Start invokes a process to animate a drawing. The process executes the command or commands given it in the dialog presented when you select Start. The default animation program is $datagen, a test program that is part of the GLG Toolkit; see GLG Programming Tools and Utilities.

To animate a drawing, use Run, Start, specifying a named resource as part of the command.

For example, to animate an object named valve1 with a dynamic transformation that has a named factor (variable name) of rotate, use this command line:

$datagen -sin d 0 1 valve1/rotate

The $datagen is a GLG shortcut that prevents the initiation of another process and uses an internal data generator. See the The Data Generation Utility section of GLG Programming Tools and Utilities for more information on data generation options.

If no command is given the run process, or if an error is encountered when trying to execute the command, the Builder searches the drawing for a string resource called "$DatagenString", and uses it as a run command.

When a new drawing containing "$DatagenString" resource is loaded, the resource value is used to initialize the animation command. The Store Run Command option may be used to store the current animation command in the existing "$DatagenString" resource of the drawing.

In the Run mode, the Builder activates the Run Toolbar that contains the following controls:

Many of the Builder's menu options and buttons become unavailable in the Run mode. To terminate the animation, use Run, Stop.

Stop

Stop halts the animation of a drawing, killing the process started with the Start command.

To restore the original appearance of the drawing, use File, Reset Drawing.

Restore Values on Stop

Restore Values on Stop controls the behavior of the data generator. If the option is checked, the resource values animated with the data generator will be restored to the values they had before animation started.

This option does not restore the state of the graph's history: reset the drawing using File, Reset to reset the graphs.

Store Run Command

Store Run Command stores the current animation command in the existing "$DatagenString" resource of the drawing. The value of the resource is used to initialize the default animation command when a drawing containing "$DatagenString" resource is loaded.

To create a "$DatagenString" resource in the drawing, create a text object outside of the widget at the top of the drawing hierarchy, and name it's String resource "$DatagenString".

Options

The Options Menu provides options to let you customize the operation of the Builder. The glg_config Builder configuration file can be used to specify default values of various options.

Draw Grid

The Draw Grid submenu provides options to let you display grid lines with a drawing. The grid is displayed at a selected grid interval in the GLG world coordinates. In addition to the constant grid spacing options, two adaptive options are provided. The Adaptive (Constant Space) option automatically selects a grid interval to maintain approximately constant visual grid spacing, while Adaptive (Constant Number) maintains a constant number of grid lines. The Custom option allows the user to specify a custom grid interval in world coordinates. To disable grid, use the No Grid option.

The grid is not saved as part of the drawing. It is just a convenience for editing a drawing. To save the grid as part of the drawing, specifying a value for the viewport's GridValue attribute.

To position objects relative to the grid, use Options, Snap To, Grid.

Snap To

The Snap To submenu provides options to let you align objects. Snapping places objects by rounding their coordinates as you draw them.

The options on the Snap To submenu specify the resolution of the alignment grid in the GLG world coordinates. If you specify Snap to Grid, the Builder snaps to the grid and also to the midpoints of the grid. The 0 (No snapping) option is used to disable snapping, and 1 (Round to integer) option is used to get rid of the fractional coordinate values, which is almost the same as no snapping, but with integer coordinates. The Custom option allows the user to specify a custom rounding value.

The Snap To submenu only affects the placement of points and objects with the mouse. Other means of specifying points, such as entering coordinate values or using existing values, are not affected by the Snap To option.

Show Axis

Show Axis shows or hides the axis icon. The axis icon indicates the center and orientation of the current view and coordinate system.

To change the view projection and the coordinate system used to view the drawing, use the options on the View menu.

Show Coordinates

Show Coordinates shows or hides the mouse coordinate display window in the lower right corner of the Builder. Both the screen (S) and world (W) coordinates in the selected coordinate system are displayed. To change coordinate system, use View, Coordinate System.

Show Span

Span Marks

Shows or hides red markers that display the extent of the drawing area in the unzoomed state.

Span Area

Enables or disables a color annotation of the extent of the drawing area in the unzoomed state.

Top-Level Span Area

Enables or disables a color annotation of the drawing area extent of the top-level drawing.

Save Format

Save Format determines the format the Builder uses to save a drawing to a file. The Builder can save files in three different formats:

The default format for the saved drawing is ASCII. This is the recommended format that works not only across all hardware platforms, but also across all GLG deployment options: C/C++/ActiveX, Java, C#/.NET and JavaScript.

Save Compressed

Save Compressed enables or disables saved drawing compression. When the drawing compression is enabled, drawings are saved using gzip-compression. The saved file extension is not changed when the drawing is saved compressed. This option controls only saving operations: on loading, the drawing format is recognized and handled automatically. The editor can also load drawings compressed outside of the editor using gzip utility.

The default is Save Compressed. Disable the drawing compression if the drawing will be used for code generation.

SaveImageFormat

SaveImage Format specifies the image format to use when saving images via the Save Image menu option. Supported formats are JPEG and PNG.

Convert Strings to UTF8 on Save

When this option is checked, all string attributes (such as TextString of a text object) are automatically converted from the current locale to UTF8 when the drawing is saved. This is especially convenient when using localized strings on Windows in a drawing that will be used on the web with the JavaScript. JavaScript supports a limited number of character sets, using UTF8 as a default character set, while the UTF8 system locale is not supported on Windows. The Convert Strings to UTF8 on Save option provides a convenient way to save the drawing in the UTF8 locale without a need to use external converters.

The Arrange, UTF8 Conversions menu provides options for converting all strings in the drawing from the current locale to UTF8 and from UTF8 to the current locale. These options may be used to verify the converted drawing before saving it.

When a string attribute is converted to UTF8, its UTF8Encoding flag is set to YES.

Selection Options

Show Attachment Points

Enables or disables display of attachment points of the selected reference object.

Disable Dynamics For Editing

Disable Dynamics For Editing disables geometrical dynamics (such as move, scale or rotate) when the object is selected. When the option is set, the object will appear in its untransformed state with dynamics disabled. This is convenient for editing such objects as needles of dial controls, so that the editing is performed in the object's initial state, with the needle pointing along the X axis. This makes it easier to stretch the object in X or Y direction, as well as enter coordinate values or use snapping to the grid.

The option disables only the geometrical dynamics attached to the object. It does not disable dynamics attached to the object's control points.

Selection Display

Selection Display toggles between three modes of displaying the selection:

Control Points Display

The Control Points Display toggles between three modes for displaying control points:

Reference Resizing

This option controls the reference resizing modes when the reference object is stretched using the resize box:

Show Frame Points

For a selected frame object, Show Frame Points toggles between its control points and its frame points. Only one of the two sets of points is available to be selected at any time, because several of these points may coincide on a frame (all of them for a free frame or a point frame).

This option also affects the recta-linear connector object, displaying the control or constrained points.

If you want to move or resize a frame or connector object, use their control points. If you need to constrain other objects to the frame or to the middle point of a recta-linear path, they should be constrained to the constrained points.

Edit Action Data as List

Edit Action Data as List toggles the way action and command data of the SEND_COMMAND and SEND_EVENT actions are displayed for editing: as a Public Properties dialog, or a Custom Properties dialog that allows individual properties to be added or removed. A button in the upper right corner of the Action Properties dialog provides a convenient shortcut.

Trace / Highlight

Trace Tags, Resources & Constraints

When activated, Trace Tags, Resources & Constraints highlights all objects in the drawing that depend on a tag selected in a Tag Browser, a resource selected in a Resource Browser or an attribute displayed in the Attribute Object dialog.

Trace Attribute Constraints for Mark0

Trace Attribute Constraints for Mark0 enables or disables constraints tracing for the attribute marked as Mark0 using the Mark, Mark0 buttons in the Attribute or Resource dialogs. Refer to the Constraints Tracing section on page 288 for mode information.

Highlight Widgets

Controls tracing behavior. If Highlight Widgets is unchecked, the first found drawable parent of the traced object will be highlighted. If it is checked, the parent that has the IsWidget resource will be highlighted.

Highlight Top Level Objects

Controls tracing behavior. If Highlight Top Level Objects is unchecked, the first found drawable parent of the traced object will be highlighted. If it is checked, the parent that is a direct child of the Drawing Area that has editing focus will be highlighted.

Highlight Control Points

When this option is checked and the user activates the Constrain to Point or Use Point point creation mode, the editor highlights all control and attachment points that can be used or constrained to.

Color Options

Swap Color Palettes

Swap Color Palettes toggles the displayed color palette between the default color palette and custom color palette. The color palette may also be swapped by Ctrl-clicking on the color palette.

Refer to the Custom Color Palettes section on page 333 for information on defining a custom color palette.

Pastel Colors

Pastel Colors toggles the displayed color palette between the standard and pastel colors. Pastel colors may also be activated and deactivated by Shift-clicking on the color palette.

255 Color Display

255 Color Display toggles the range of the color RGB values between the default [0;1] range and the [0;255] range familiar to the Windows users. The color display range changes only the color RGB display in the Builder. The run-time color RGB values and the values saved in the drawing still use the default [0;1] range.

Dynamics Options

Full Display of Predefined Dynamics

Full Display of Predefined Dynamics controls the way predefined dynamics are displayed. If the option is not checked (default), the Edit Dynamics dialog displays public properties of predefined dynamics for convenient editing. If the option is checked, the dialog displays all attributes of the dynamics for advanced editing.

Show Predefined Dynamics First

Show Predefined Dynamics First controls the choices of dynamics presented in the attribute dynamics menu. If the option is checked (default), the predefined dynamics options are shown first to provide intuitive attribute dynamics, and stock dynamics are shown when the Stock Dynamics button located at the end of the list is pressed. If the option is unchecked, the stock dynamics options are shown first, and the Predefined Dynamics at the end of the list provides access to the predefined dynamics.

Data Browser Options

Browse Tag Names
Browse Tag Sources

Control the usage of the Data Browser. If Browse Tag Sources is selected, the tag string selected in the Data Browser is assigned to the TagSource attribute of the tag being edited, otherwise it is assigned to the tag's TagName attribute.

Attribute Clone Type

Attribute Clone Type defines the clone type to use when multiple copies of an attribute object are added. For example, when a Rendering object is added to all objects in a group using the group's Edit All option with the default Constrained Clone setting of the clone type, all attributes of rendering objects attached to objects in the group will be constrained. If a rendering attribute of one object is changed, all objects will change. If the clone type is set to Full Clone, each object will have its own, unconstrained copy of the rendering attributes. If the clone type is changed to Strong Clone, all attributes that are Global or SemiGlobal will be constrained to the corresponding attributes of the original Rendering object.

Attribute Clone Type controls adding Rendering, Box Attributes, Light, Font Table and Color Table objects to all objects in a group using the Edit All option. It also controls constraining of attributes of an attribute transformation when the attribute the transformation is attached to is unconstrained. If the clone type is set to Constrained Clone, the attribute itself will be unconstrained, but the attributes of the transformation attached to it will still be constrained. The Attribute Clone Type also controls constraints of the transformations added to an object's control points when the object's transformation is exploded using the Add Copy To Points option.

Refer to the GlgCloneObject method on page 181 of the GLG Programming Reference Manual for more details on the clone types.

Paste Clone Type

Paste Clone Type defines the clone type to use when copies of an object are pasted into the drawing using the Copy/Paste or Clone operations. For the Copy/Paste sequence, the clone type must be set before Copy.

The default setting is Full Clone and the attributes of the pasted copies are not constrained. If the setting is changed to Strong Clone, all attributes of the pasted object that are Global or SemiGlobal will be constrained to the corresponding attribute of the original object.

Refer to the GlgCloneObject method on page 181 of the GLG Programming Reference Manual for more details on the clone types.

Subdrawing Traversal

Subdrawing Traversal controls the interface for loading and saving subdrawings when the subdrawing is entered using the Hierarchy Down button and exited using Hierarchy Up. By default, it is set to Verbose (Save Prompt), which displays confirmation dialogs when loading and saving the modified subdrawing. The Silent (Auto-Save) option eliminates confirmation dialogs to automatically load and save the subdrawing. It may be used to simplify the process for beginner users.

Enable ConstrainOne

Enable ConstrainOne enables or disables the Constrain One button in the Attribute Dialog. The Constrain One button is disabled by default and may be enabled for advanced use. The EnableConstrainOne option in the glg_config file may be used to define the default setting for the Graphics Builder.

BaseWidth Warning

BaseWidth Warning enables or disables a warning message about an unset viewport BaseWidth. The unchecked state allows setting a text object's TextScaling attribute to RESIZE while BaseWidth of all parent viewports is unset. If checked, a warning is generated if BaseWidth is not set to a positive value, preventing the setting of the TextScaling attribute. The BaseWidthWarning option in the glg_config file may be used to define a default setting for the Graphics Builder.

Appearance

Detach Palettes

Detach Palettes frees the button palettes from the main Builder window. Detaching the palettes increases the available area for viewing a drawing. The palettes can be iconized and resized independently of the main Builder window. Detaching the palettes does not affect the content of the drawing.

To reattach the palettes to the Builder window, select Detach Palettes again.

Scrollbars

Scrollbars shows or hides the scrollbars in the GLG Graphics Builder window.

Toolbar

Toolbar shows or hides the toolbar at the top of the GLG Graphics Builder window.

Modal Dialogs

This option controls modality of the dialogs. If dialogs aren't modal, clicking in the drawing selects an object and may close the currently displayed dialog. This option enables fast navigation and is intended for expert users.

If dialogs are modal, clicking in the drawing area is allowed only for some operations. This setting helps learning the Builder and is recommended for novice users.

Force File Extensions

If checked, automatically adds ".g" extension when saving drawings if a specified filename has no extension.

Display OpenGL Info

This option displays diagnostic information about the status of the OpenGL driver. If the driver has been successfully initialized, it also displays the OpenGL renderer and vendor information to assist in troubleshooting the OpenGL driver setup problems.

The -verbose command-line option may be used to display extended diagnostic information on Linux/Unix, or to record the information in the glg_error.log file on Windows. The location of the file is determined by the GLG_LOG_DIR and GLG_DIR environment variables as described in the Error Processing and Debugging section on page 49 of the GLG Programming Reference Manual.

Save Layout

Save Layout saves the drawing that defines the layout and appearance of the of the Builder. This drawing can be edited like any other drawing. When you select this option, the layout drawing is saved in a file. The objects in the drawing correspond to the entities in the Builder window. You can now load and edit the drawing like you would any other.

Although you can freely change all the objects in the Builder's drawing, you should exercise caution because drastic changes can prevent the Builder from working properly.

To use the modified layout drawing, set the GLG_EDITOR_LAYOUT environment variable to the name of the file you saved.

If the Builder does not work properly and you want to revert to the previous layout, unset the GLG_EDITOR_LAYOUT environment variable.

This option is not available in the Basic Edition of the Builder.

Save HMI Layout

Save HMI Layout is similar to Save Layout, but is available only in the OEM version of the Builder and saves the drawing that defines the layout and appearance of the of the HMI Configurator.

To use the layout drawing, set the GLG_HMI_EDITOR_LAYOUT environment variable to the name of the HMI layout file.

Help

Online Reference

Online Reference starts a browser with the GLG Online Documentation page.

About GLG Toolkit

About GLG Toolkit displays a dialog with the GLG Toolkit version information.


Generic Logic, Inc.
www.genlogic.com
PREV NEXT