Browser Edit Menu

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

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

Browser Edit Menu

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

Cut (Ctrl+X)

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


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

Using drag and drop to cut and paste

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

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


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

Deleting groups

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

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

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

Copy (Ctrl+C)

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

Using drag and drop to copy and paste

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

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

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

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

Copying groups

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


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

Copy To Palette (Ctrl+E)

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

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

Using drag and drop for Palette additions

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

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

2. Press MB2.

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

Paste (Ctrl+V)

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


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

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

Delete

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


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

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

Revert

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


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

Raise (Ctrl+R)


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

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

Example

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

1. Select the bottom-most button, pushButton3.

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

Lower (Ctrl+L)


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

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

Example

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

1. Select the top-most button, pushButton1.

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

Natural Size (Ctrl+Z)

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

Enlarge (Ctrl+W)

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

Align

Displays a menu of the following secondary choices:


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

Left

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

Right

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

Top

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

Bottom

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

Horizontal Center

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

Vertical Center

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

Alignment Editor

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

Alignment Editor


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

Align

The following table describes how to align objects:


Note: As Is does not align.

Left/Right

Part of Selected Object

Aligned With

Left

Left edge

Left edge of left-most selected widget.

Center

Horizontal center

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

Right

Right edge

Right edge of right-most selected widget.

Top/Bottom

Top

Top edge

Top edge of top-most selected widget.

Center

Vertical center

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

Bottom

Bottom edge

Bottom edge of bottom-most selected widget.

Distribute

The following table describes how to distribute objects:


Note: As Is does not distribute.

Horizontal

Distribute

Between

And

Centers

Centers of all selected widgets

Center of left-most selected widget

Center of right-most selected widget

Edges

Edges of all selected widgets

Left edge of left-most selected widget

Right edge of right-most selected widget

Edge Gap

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

Vertical

Distribute

Between

And

Centers

Centers of all selected widgets

Center of top-most selected widget

Center of bottom-most selected widget

Edges

Edges of all selected widgets

Top edge of top- most selected widget

Bottom edge of bottom-most selected widget

Edge Gap

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

Edge Gap

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

Unit

Acceptable Abbreviations

pixel

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

inches

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

centimeters

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

millimeters

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

points

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

font units

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

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

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

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


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

Show Example

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

Make/Unmake Class (Ctrl I/Q)


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

Make Class

Displays a dialog that prompts you for a class name.

Make Class Dialog

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


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

Unmake Class

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

Unmake Class Warning Dialog

Make/Unmake Subclass (Ctrl+Y/Q)


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

Make Subclass

Displays a dialog that prompts you for a class name:

Make Class Dialog

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

Adding widgets/class instances to a subclass

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

Unmake Subclass

Available when the subclass is selected. Unmakes the subclass.

Make/Unmake Receptor (Ctrl+T)

Make Receptor

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

Designating a container widget as the receptor

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

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

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

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

Unmake Receptor

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


Note: A class may contain only one receptor.

 

Documentation: