20.6 Performing operations on objects
There are a large number of operations you can perform on any object selected in the graph of either the layouts view or the menus view. These operations allow you to refine the design of the current interface.
The techniques described in this section apply to an object selected in either the layouts view or the menus view. Any changes made are automatically reflected in both the Interface Builder and the interface skeleton.
20.6.1 Editing the selected object
As in any other tool in the LispWorks IDE , you can use the commands in the
menu to edit the object currently selected in any graph of the Interface Builder. See Performing editing functions for full details on the commands available.
20.6.2 Browsing the selected object
As in other tools, you can transfer any object selected in the graph into a number of different browsers for further examination. The standard action commands that let you do this are available in the
menu. See Performing operations on selected objects for details.
20.6.3 Rearranging components in an interface
Rearranging the components of an interface in the most appropriate way is an important part of interface design. This might involve rearranging the layouts and window elements in an interface, or it might involve rearranging the menu system.
The main way to rearrange the components of an interface (either the layouts or the menu components) is to use the cut, copy and paste functions available, as described below.
To move any object (together with its children, if there are any):
Select the object in a graph in the Interface Builder (either the layouts view or the menus view, depending on the type of objects you are rearranging).
Edit > Cut
The selected object, and any children, are transferred to the clipboard. The objects are removed from the graph in the Interface Builder, and the interface skeleton.
Select the object that you want to be the parent of the object you just cut.
You must make sure you select an appropriate object. For instance, in the Layouts view you must make sure you do not select a window element such as a button panel or output window, since window elements cannot have children. Instead, you should probably select a layout.
Edit > Paste
The objects that you transferred to the clipboard are pasted back into the interface design as the children of the newly selected object. The change is immediately visible in both the graph and the interface skeleton.
You can copy whole areas of the design, rather than moving them, by selecting
Edit > Copy
Edit > Paste
. This is useful if you have a number of similar areas in your design.
The menu commands
Object > Raise
Object > Lower
can be used to raise or lower the position of an element in the interface. This effects the position of the element in the interface skeleton, the layout or menu hierarchy, and the source code definition of the interface. Note that these commands are available from the menu bar in the Interface Builder, rather than from the podium.
20.6.4 Setting the attributes for the selected object
Object > Attributes
from the Interface Builder's menu bar to display the Attributes dialog for the selected object. This is shown in Setting the attributes of the selected object. You can also double-click on an object to display this dialog.
The Attributes dialog lets you set any of the attributes available to the selected object, such as symbol names, titles, and callbacks. This gives you a high degree of control over the appearance of any object in the interface.
Figure 20.7 Setting the attributes of the selected object
The precise list of attributes displayed in the dialog depends on the class of the object that you selected in the graph of the Interface Builder.
To set an attribute, type its value into the appropriate text box in the Attributes dialog. Click
to dismiss the Attributes dialog when you have finished setting attribute values.
Because of the large number of attributes which can be set for any class of object, the Attributes dialog shows the attributes in six general categories, as follows:
188.8.131.52 Basic attributes
These are the attributes that you are most likely to want to specify new values for. This includes the following information, depending on the class of the selected object:
The name of the object.
The items available (for list panels).
The orientation and borders (for layouts).
The text representation (for menu items).
184.108.40.206 Advanced attributes
This category lets you specify more advanced attributes of the selected object, such as its property list.
220.127.116.11 Title attributes
This category lets you specify the title attributes of the selected object. These attributes affect the way an object is titled on-screen.
18.104.22.168 Callbacks attributes
This category lets you specify any of the callback types available for the selected object. Many objects do not require any callbacks, and many require several.
22.214.171.124 Geometry attributes
This category lets you control the geometry of the selected object, by specifying any of the available height and width attributes. Geometry attributes are not available for menu objects.
126.96.36.199 Style attributes
This category lets you specify advanced style settings for the selected object. This includes the following attributes:
The font used to display items in a list.
The background and foreground colors of an object.
The mnemonic used for a menu item.
LispWorks IDE User Guide (Unix version) - 12 Feb 2015