<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="03-tools.css" type="text/css" title="VisualWorks Tools" charset="UTF-8"?>
<XML>
<TITLE> </TITLE><Heading1>
<A ID="pgfId-1523744"></A>
<A ID="VisualWorks Tools"></A>
VisualWorks Tools</Heading1>
<Heading2>
<A ID="pgfId-1523746"></A>
<A ID="Launcher"></A>
Launcher</Heading2>
<Body1>
<A ID="pgfId-1523750"></A>
The VisualWorks Launcher is the main window from which you perform operations in the development environment. The Launcher also displays the <A href="dev-transcript.xml#id(System Transcript)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">System Transcript</A> view, a running list of informational messages generated by VisualWorks or your code.</Body1>
<Body1>
<A ID="pgfId-1040247"></A>
The Launcher is displayed when you start VisualWorks, and a copy of it remains open until you exit the VisualWorks development environment.</Body1>
<Body1>
<A ID="pgfId-1216856"></A>
Launcher window menu bar:
<UI-Label>
<A href="03-tools.xml#id(Launcher File Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">File</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Launcher System Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">System</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Launcher Browse Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Browse</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Launcher Tools Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Tools</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Launcher Window Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Window</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Launcher Help Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Help</A></UI-Label>
.</Body1>
<Heading3>
<A ID="pgfId-1216858"></A>
<A ID="Launcher File Menu"></A>
File Menu</Heading3>
<DefItem>
<A ID="pgfId-1682745"></A>
<UILabel-Table>
File Browser</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682758"></A>
Open a <A href="03-tools.xml#id(File Browser)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">File Browser</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1725860"></A>
<UILabel-Table>
Open File...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1725861"></A>
Prompt for the name of a file, and open it in a <A href="03-tools.xml#id(Workspace)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Workspace</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1216859"></A>
<UILabel-Table>
Save Image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762651"></A>
Saves the image with its current name.</DefDscrp>
<DefItem>
<A ID="pgfId-1762652"></A>
<UILabel-Table>
Save Image As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040269"></A>
Prompt for an image filename. The name of the current image is provided as a default. Save the entire working environment in the named image file. To create a new image file, keeping the previously saved image safe, enter a new name.</DefDscrp>
<DefItem>
<A ID="pgfId-1040271"></A>
<UILabel-Table>
Perm Save Image As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040273"></A>
Prompt for an image filename, without the &#34;<PlatformElement-Table>
.im</PlatformElement-Table>
&#34; extension. The name of the current image is provided as a default. Save the entire working environment in the named image file. When the image file is restarted, all objects currently in <Smalltalk-Code-Table>
Old Space</Smalltalk-Code-Table>
 will be promoted to <Smalltalk-Code-Table>
Perm Space</Smalltalk-Code-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1040275"></A>
<UILabel-Table>
Perm Undo As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682763"></A>
Prompt for an image filename, without the &#34;<PlatformElement-Table>
.im</PlatformElement-Table>
&#34; extension. The name of the current image is provided as a default. Save the entire working environment in the named image file. When the image file is restarted, all objects currently in <Smalltalk-Code-Table>
Perm Space</Smalltalk-Code-Table>
 will be promoted to <Smalltalk-Code-Table>
Old Space</Smalltalk-Code-Table>
; this is the opposite of the command <UILabel-Table>
Perm Save As...</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1771374"></A>
<UILabel-Table>
Save Headless As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1771375"></A>
Prompts for an image name, then saves the image set to run in headless mode. Splash screen and sound are disabled. Refer to the <BookTitle>
Application Developer&#39;s Guide</BookTitle>
 for setup information. </DefDscrp>
<DefItem>
<A ID="pgfId-1682779"></A>
<UILabel-Table>
Set VisualWorks Home...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682780"></A>
Prompt for a directory path. Assign this path as the current &#34;home&#34; directory for VisualWorks.</DefDscrp>
<DefItem>
<A ID="pgfId-1040295"></A>
<UILabel-Table>
Exit VisualWorks...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040297"></A>
Exit the VisualWorks environment, closing all windows. Prompt to save the current image.</DefDscrp>
<Heading3>
<A ID="pgfId-1682789"></A>
<A ID="Launcher System Menu"></A>
System Menu</Heading3>
<DefItem>
<A ID="pgfId-1682790"></A>
<UILabel-Table>
Parcel Manager</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682791"></A>
Open a <A href="03-tools.xml#id(Parcel Manager)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Parcel Manager</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1762678"></A>
<UILabel-Table>
Load Parcel Named...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762679"></A>
Prompt for the name of a parcel and load it into the current image. Specify only the name of the parcel (omitting the &#34;<PlatformElement-Table>
.pcl</PlatformElement-Table>
&#34; extension). The parcel loader will search on the current directory path.</DefDscrp>
<DefItem>
<A ID="pgfId-1762680"></A>
<UILabel-Table>
Unload Parcel Named...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762681"></A>
Prompt with a list of all currently loaded parcels, and unload all parcels that are selected on the list (selected parcels are indicated with a check mark next to the name).</DefDscrp>
<DefItem>
<A ID="pgfId-1682913"></A>
<UILabel-Table>
Changes-&gt;Change Sets</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682917"></A>
Open a <A href="03-tools.xml#id(Change Set Browser)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Change Set Browser</A> on all change sets in the current image. The active change set will be highlighted.</DefDscrp>
<DefItem>
<A ID="pgfId-1682874"></A>
<UILabel-Table>
Changes-&gt;Condense Changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682875"></A>
Condense the system changes file to eliminate all but the most recent change for each class or method. All duplicates will be permanently purged from the file.</DefDscrp>
<DefItem>
<A ID="pgfId-1682876"></A>
<UILabel-Table>
Changes-&gt;Open Override List</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682877"></A>
Open an empty Override List tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1682878"></A>
<UILabel-Table>
Changes-&gt;Browse System Overrides</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682879"></A>
Open an Override List tool displaying all overrides currently in the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1682798"></A>
<UILabel-Table>
Collect Garbage</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682799"></A>
Invoke the compacting garbage collector to reclaim all unused memory. All memory managed by the <A href="help-glossary.xml#id(object engine)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">object engine</A> is compacted, except for the zone known as <Smalltalk-Code-Table>
Perm Space</Smalltalk-Code-Table>
. To compact the entire object memory, use <UILabel-Table>
Collect All Garbage</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1682803"></A>
<UILabel-Table>
Collect All Garbage</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682804"></A>
Invoke the global garbage collector to reclaim all unused memory. All memory managed by the <A href="help-glossary.xml#id(object engine)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">object engine</A> is compacted, including for the zone known as <Smalltalk-Code-Table>
Perm Space</Smalltalk-Code-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1682815"></A>
<UILabel-Table>
Clear Transcript</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1682816"></A>
Clear the contents of the Transcript window.</DefDscrp>
<DefItem>
<A ID="pgfId-1762664"></A>
<UILabel-Table>
Settings</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762668"></A>
Open the <A href="env-settings.xml#id(Environment Settings Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Environment Settings</A> Tool.</DefDscrp>
<Body1>
<A ID="pgfId-1682891"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1682932"></A>
<A href="env-settings.xml#id(Environment Settings Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Environment Settings</A></Bullet1>
<Bullet1>
<A ID="pgfId-1682895"></A>
<A href="dev-changes.xml#id(Changes and Change Sets)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Changes and Change Sets</A></Bullet1>
<Heading3>
<A ID="pgfId-1287593"></A>
<A ID="Launcher Browse Menu"></A>
Browse Menu</Heading3>
<DefItem>
<A ID="pgfId-1287541"></A>
<UILabel-Table>
System</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1287542"></A>
Open a new <A href="03-tools.xml#id(System Browser)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">System Browser</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1515143"></A>
<UILabel-Table>
Class/Variable/Name Space...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1515144"></A>
Prompt for a class, variable, or name space name and open a specialized browser on that object. The wildcard character &#34;<UI-Entry>
*</UI-Entry>
&#34; may be used to select from a group of names.</DefDscrp>
<DefItem>
<A ID="pgfId-1287547"></A>
<UILabel-Table>
Senders of Selector...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1287548"></A>
Prompt for a selector, and open a list browser on all methods referencing it. Equivalent to the <UILabel-Table>
Senders</UILabel-Table>
 command in the <A href="03-tools.xml#id(System Browser)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">System Browser</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1287549"></A>
<UILabel-Table>
Implementors of Selector...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1287550"></A>
Prompt for a selector, and open a list browser on all its implementors. Equivalent to the <UILabel-Table>
Implementors</UILabel-Table>
 command in the <A href="03-tools.xml#id(System Browser)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">System Browser</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1287551"></A>
<UILabel-Table>
References to Variable...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1287552"></A>
Prompt for the name of a shared variable, and open a list browser on all methods referencing it. All name spaces will be searched.</DefDscrp>
<DefItem>
<A ID="pgfId-1717325"></A>
<UILabel-Table>
Ambiguous References</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1717326"></A>
Open a browser on any ambiguous references that are the result of a parcel load or file-in to the image. I.e., code that references shared variables in two different name spaces but which have the same name.</DefDscrp>
<Body1>
<A ID="pgfId-1387320"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1762697"></A>
<A href="env-settings.xml#id(Set options for browsing)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Set options for browsing</A></Bullet1>
<Heading3>
<A ID="pgfId-1762703"></A>
<B>
</B>
<A ID="Launcher Debug Menu"></A>
Debug Menu</Heading3>
<DefItem>
<A ID="pgfId-1762716"></A>
Disable/Enable Probes</DefItem>
<DefDscrp>
<A ID="pgfId-1762769"></A>
Toggles processing of software probes.</DefDscrp>
<DefItem>
<A ID="pgfId-1762717"></A>
Remove All Probes...</DefItem>
<DefDscrp>
<A ID="pgfId-1762770"></A>
Removes all software probes from the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1762718"></A>
Remove Unused Watch Windows...</DefItem>
<DefDscrp>
<A ID="pgfId-1762771"></A>
Discards all open watch windows that are no longer in use.</DefDscrp>
<DefItem>
<A ID="pgfId-1762719"></A>
Remove Unused Debug Variables...</DefItem>
<DefDscrp>
<A ID="pgfId-1762772"></A>
Removes all debug variables that are no longer in use.</DefDscrp>
<DefItem>
<A ID="pgfId-1762720"></A>
Browse Probes</DefItem>
<DefDscrp>
<A ID="pgfId-1762773"></A>
Opens a method browser on all methods containing probes.</DefDscrp>
<DefItem>
<A ID="pgfId-1762721"></A>
Inspect Debug Variables</DefItem>
<DefDscrp>
<A ID="pgfId-1762774"></A>
Opens a variable browser on all debug variables.</DefDscrp>
<DefItem>
<A ID="pgfId-1762722"></A>
Probe Library -&gt; Load...</DefItem>
<DefDscrp>
<A ID="pgfId-1762775"></A>
Opens a file dialog to select and load externally saved probe definitions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762748"></A>
Probe Library -&gt; Save...</DefItem>
<DefDscrp>
<A ID="pgfId-1762776"></A>
Opens a file dialog to save the current probes into an external file.</DefDscrp>
<DefItem>
<A ID="pgfId-1762749"></A>
Watch Library -&gt; Load...</DefItem>
<DefDscrp>
<A ID="pgfId-1762779"></A>
Opens a file dialog to select and load externally saved watch expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762750"></A>
Watch Library -&gt; Save...</DefItem>
<DefDscrp>
<A ID="pgfId-1762792"></A>
Opens a file dialog to save the current watch expressions into an external file.</DefDscrp>
<DefItem>
<A ID="pgfId-1762739"></A>
Watch Library -&gt; Inspect</DefItem>
<DefDscrp>
<A ID="pgfId-1762799"></A>
Opens an inspector on curernt watch expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762740"></A>
Watch Library -&gt; Clear...</DefItem>
<DefDscrp>
<A ID="pgfId-1762800"></A>
Clears all current watch expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762755"></A>
Test Library -&gt; Load...</DefItem>
<DefDscrp>
<A ID="pgfId-1762816"></A>
Opens a file dialog to select and load externally saved conditional breakpoint expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762756"></A>
Test Library -&gt; Save...</DefItem>
<DefDscrp>
<A ID="pgfId-1762811"></A>
Opens a file dialog to save the current conditional breakpoint expressions into an external file.</DefDscrp>
<DefItem>
<A ID="pgfId-1762757"></A>
Test Library -&gt; Inspect</DefItem>
<DefDscrp>
<A ID="pgfId-1762806"></A>
Opens an inspector on curernt conditional breakpoint expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762758"></A>
Test Library -&gt; Clear...</DefItem>
<DefDscrp>
<A ID="pgfId-1762801"></A>
Clears all current conditional breakpoint expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1762753"></A>
Open Process Monitor</DefItem>
<DefDscrp>
<A ID="pgfId-1762835"></A>
Opens the process monitor.</DefDscrp>
<Heading3>
<A ID="pgfId-1762699"></A>
<B>
Tools Menu</B>
<A ID="Launcher Tools Menu"></A>
</Heading3>
<DefItem>
<A ID="pgfId-1762700"></A>
<UILabel-Table>
Workspace</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683035"></A>
Open a new <A href="03-tools.xml#id(Workspace)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Workspace</A> window.</DefDscrp>
<DefItem>
<A ID="pgfId-1683041"></A>
<UILabel-Table>
Change List</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683045"></A>
Open a new <A href="03-tools.xml#id(Change List)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Change List</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1734446"></A>
<UILabel-Table>
Advanced-&gt;Profiles-&gt;Time</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734447"></A>
Open a new Time Profiler (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1734434"></A>
<UILabel-Table>
Advanced-&gt;Profiles-&gt;Allocations</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734435"></A>
Open a new Allocations Profiler (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1734439"></A>
<UILabel-Table>
Advanced-&gt;Profiles-&gt;Benchmark Runner</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734440"></A>
Open a new System Benchmark Runner (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1734463"></A>
<UILabel-Table>
Advanced-&gt;Class Reports</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734464"></A>
Open a new Class Reporter (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1734479"></A>
<UILabel-Table>
Advanced-&gt;Benchmarks</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734480"></A>
Open a new Benchmarks Runner (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1734484"></A>
<UILabel-Table>
Advanced-&gt;Full Browser</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734485"></A>
Open a Full System Browser (only if Advanced Tools parcel is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1654037"></A>
<UILabel-Table>
DLL and C Connect</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1374212"></A>
Open a new DLL and C Connect Finder window (only if DLLCC is loaded).</DefDscrp>
<DefItem>
<A ID="pgfId-1683057"></A>
<UILabel-Table>
Database-&gt;Ad Hoc SQL</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683058"></A>
Open an Ad Hoc SQL Tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1683059"></A>
<UILabel-Table>
Database-&gt;Data Modeler</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683060"></A>
Open a new Data Modeler.</DefDscrp>
<DefItem>
<A ID="pgfId-1683061"></A>
<UILabel-Table>
Database-&gt;Canvas Composer</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683062"></A>
Open a new Canvas Composer.</DefDscrp>
<DefItem>
<A ID="pgfId-1683063"></A>
<UILabel-Table>
Database-&gt;New Data Form...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683064"></A>
Create a new Data Form, providing the opportunity to define a canvas for it.</DefDscrp>
<DefItem>
<A ID="pgfId-1683065"></A>
<UILabel-Table>
Database-&gt;New Database Application...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683066"></A>
Create a new Database application and then open a User-Interface Painter on its canvas.</DefDscrp>
<Body1>
<A ID="pgfId-1387309"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1451193"></A>
<A href="dev-changes.xml#id(Changes and Change Sets)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Changes and Change Sets</A></Bullet1>
<Heading3>
<A ID="pgfId-1040424"></A>
<A ID="Launcher Window Menu"></A>
<B>
Window Menu</B>
</Heading3>
<DefItem>
<A ID="pgfId-1683090"></A>
<UILabel-Table>
Toolbar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1683091"></A>
Toggle the appearance of the Launcher&#39;s tool bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1040432"></A>
<UILabel-Table>
Refresh All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040434"></A>
Refresh all VisualWorks windows.</DefDscrp>
<DefItem>
<A ID="pgfId-1632754"></A>
<UILabel-Table>
Collapse All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1632755"></A>
Collapse all open windows.</DefDscrp>
<DefItem>
<A ID="pgfId-1040436"></A>
<UILabel-Table>
Restore All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040438"></A>
Restore all collapsed windows to their full size.</DefDscrp>
<DefItem>
<A ID="pgfId-1040448"></A>
<UILabel-Table>
New Launcher</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040450"></A>
Close the current Launcher window and re-open a new one. Reset the contents of the System Transcript.</DefDscrp>
<Heading3>
<A ID="pgfId-1113378"></A>
<A ID="Launcher Help Menu"></A>
<B>
Help Menu</B>
</Heading3>
<DefItem>
<A ID="pgfId-1734497"></A>
<UILabel-Table>
Load Help</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762850"></A>
Loads help. Only displayed if help is not yet loaded.</DefDscrp>
<DefItem>
<A ID="pgfId-1762849"></A>
<UILabel-Table>
Launcher Help</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1734498"></A>
View Help topics for the Launcher window.</DefDscrp>
<DefItem>
<A ID="pgfId-1762841"></A>
<UILabel-Table>
Topics</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1762842"></A>
Open a Help Browser on all available topics.</DefDscrp>
<DefItem>
<A ID="pgfId-1040466"></A>
<UILabel-Table>
Rebuild Help Library</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040468"></A>
Rebuild the Help Browser database.</DefDscrp>
<DefItem>
<A ID="pgfId-1040470"></A>
<UILabel-Table>
Object Reference</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040472"></A>
Open a Help Browser containing reference information on every class in the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1624220"></A>
<UILabel-Table>
Installation Workspace...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1624221"></A>
Open a Workspace containing step by step installation instructions.</DefDscrp>
<DefItem>
<A ID="pgfId-1624225"></A>
<UILabel-Table>
System Workspace...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1624226"></A>
Open the System Workspace.</DefDscrp>
<DefItem>
<A ID="pgfId-1040474"></A>
<UILabel-Table>
About VisualWorks...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040476"></A>
Open a window containing version information about the current image. In addition to the version ID, display any patches that have been made, and any parcels that are loaded.</DefDscrp>
<Body1>
<A ID="pgfId-1040478"></A>
</Body1>
<Body1>
<A ID="pgfId-1374219"></A>
</Body1>
<Heading2>
<A ID="pgfId-1030473"></A>
<A ID="Workspace"></A>
Workspace</Heading2>
<Body1>
<A ID="pgfId-1028767"></A>
A Workspace is a window in which you can test Smalltalk code by evaluating Smalltalk expressions. More than one Workspace can be open at one time. Further, a single workspace can have multiple workspace pages, each holding a different workspace.</Body1>
<Body1>
<A ID="pgfId-1028780"></A>
Use the Workspace&#39;s menus to edit text and evaluate Smalltalk expressions.</Body1>
<Body1>
<A ID="pgfId-1043301"></A>
Workspace menu bar: <UI-Label>
<A href="03-tools.xml#id(Workspace Operate Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">&lt;Operate&gt; Menu</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Workspace Page Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Page</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Workspace Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Workspace Smalltalk Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Smalltalk</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Workspace Options Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Options</A></UI-Label>
.</Body1>
<Heading3>
<A ID="pgfId-1028783"></A>
<A ID="Workspace Operate Menu"></A>
&lt;Operate&gt; Menu</Heading3>
<DefItem>
<A ID="pgfId-1043346"></A>
<UILabel-Table>
Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043347"></A>
Keep the last change.</DefDscrp>
<DefItem>
<A ID="pgfId-1040092"></A>
<UILabel-Table>
Format Selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043355"></A>
Applies source code formatting to the selection.</DefDscrp>
<DefItem>
<A ID="pgfId-1043361"></A>
<UILabel-Table>
Do it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043362"></A>
Execute the highlighted text as a Smalltalk expression.</DefDscrp>
<DefItem>
<A ID="pgfId-1043363"></A>
<UILabel-Table>
Print it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043364"></A>
Same as <UILabel-Table>
do it</UILabel-Table>
, except a description of the resulting object is inserted in the text. The printed string becomes the current selection, so it can be deleted easily.</DefDscrp>
<DefItem>
<A ID="pgfId-1043365"></A>
<UILabel-Table>
Inspect it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043366"></A>
Same as <UILabel-Table>
do it</UILabel-Table>
, except an inspector is opened on the resulting object.</DefDscrp>
<DefItem>
<A ID="pgfId-1043367"></A>
<UILabel-Table>
Debug it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043368"></A>
Open a debugger on the selected expression before evaluating.</DefDscrp>
<DefItem>
<A ID="pgfId-1043354"></A>
<UILabel-Table>
File it In</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043376"></A>
File in the selected code.</DefDscrp>
<DefItem>
<A ID="pgfId-1043375"></A>
<UILabel-Table>
Explain</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043381"></A>
Display an explanation of the selected expression.</DefDscrp>
<DefItem>
<A ID="pgfId-1043385"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043386"></A>
Delete the selection and place on the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1043387"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043388"></A>
Leave in place, but place the selection on the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1043389"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043390"></A>
Insert from the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1043380"></A>
<UILabel-Table>
Find</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040099"></A>
Find the next occurrence of a specified string.</DefDscrp>
<DefItem>
<A ID="pgfId-1040102"></A>
<UILabel-Table>
Replace</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040163"></A>
Replace the next occurrence of a string with a specified string.</DefDscrp>
<DefItem>
<A ID="pgfId-1043398"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043399"></A>
Print this workspace.</DefDscrp>
<DefItem>
<A ID="pgfId-1040185"></A>
<UILabel-Table>
Cancel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040190"></A>
Reverse the last change.</DefDscrp>
<Heading3>
<A ID="pgfId-1040085"></A>
<A ID="Workspace Page Menu"></A>
Page Menu</Heading3>
<DefItem>
<A ID="pgfId-1039963"></A>
<UILabel-Table>
New</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040036"></A>
Create a new workspace on a new page.</DefDscrp>
<DefItem>
<A ID="pgfId-1040037"></A>
<UILabel-Table>
Open</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040044"></A>
Open another workspace on a new page.</DefDscrp>
<DefItem>
<A ID="pgfId-1040045"></A>
<UILabel-Table>
Save</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040052"></A>
Save all changes to this workspace</DefDscrp>
<DefItem>
<A ID="pgfId-1040055"></A>
<UILabel-Table>
Save As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040058"></A>
Save this workspace page under a new name.</DefDscrp>
<DefItem>
<A ID="pgfId-1040061"></A>
<UILabel-Table>
Rename</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040066"></A>
Rename this workspace page.</DefDscrp>
<DefItem>
<A ID="pgfId-1040068"></A>
<UILabel-Table>
Tear Off</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040073"></A>
Remove this page from this multipage workspace and open it in a single-page workspace.</DefDscrp>
<DefItem>
<A ID="pgfId-1040075"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040080"></A>
Close this workspace page. If changes have been, made you are given the chance to save before closing.</DefDscrp>
<Heading3>
<A ID="pgfId-1039950"></A>
<A ID="Workspace Edit Menu"></A>
Edit Menu</Heading3>
<DefItem>
<A ID="pgfId-1028791"></A>
<UILabel-Table>
Undo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1039965"></A>
Reverse the last change.</DefDscrp>
<DefItem>
<A ID="pgfId-1039964"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028793"></A>
Delete the selection and place on the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1028795"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028797"></A>
Leave in place, but place the selection on the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1028799"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028801"></A>
Insert from the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1043403"></A>
<UILabel-Table>
Find</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043404"></A>
Find the next occurrence of a specified string.</DefDscrp>
<DefItem>
<A ID="pgfId-1043405"></A>
<UILabel-Table>
Replace</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043406"></A>
Replace the next occurrence of a string with a specified string.</DefDscrp>
<DefItem>
<A ID="pgfId-1028815"></A>
<UILabel-Table>
Select All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1039982"></A>
Select all text in the workspace.</DefDscrp>
<DefItem>
<A ID="pgfId-1043409"></A>
<UILabel-Table>
Encoding</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043416"></A>
Options to set the encoding for the text.</DefDscrp>
<DefItem>
<A ID="pgfId-1043417"></A>
<UILabel-Table>
Boss In...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043425"></A>
Load code from an existing BOSS file.</DefDscrp>
<DefItem>
<A ID="pgfId-1043418"></A>
<UILabel-Table>
Boss Out...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043426"></A>
Save code out to a BOSS file.</DefDscrp>
<Heading3>
<A ID="pgfId-1039985"></A>
<A ID="Workspace Smalltalk Menu"></A>
Smalltalk Menu</Heading3>
<DefItem>
<A ID="pgfId-1039981"></A>
<UILabel-Table>
Do it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028817"></A>
Execute the highlighted text as a Smalltalk expression.</DefDscrp>
<DefItem>
<A ID="pgfId-1028819"></A>
<UILabel-Table>
Print it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028821"></A>
Same as <UILabel-Table>
do it</UILabel-Table>
, except a description of the resulting object is inserted in the text. The printed string becomes the current selection, so it can be deleted easily.</DefDscrp>
<DefItem>
<A ID="pgfId-1028823"></A>
<UILabel-Table>
Inspect it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040001"></A>
Same as <UILabel-Table>
do it</UILabel-Table>
, except an inspector is opened on the resulting object.</DefDscrp>
<DefItem>
<A ID="pgfId-1040002"></A>
<UILabel-Table>
Debug it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040012"></A>
Open a debugger on the selected expression before evaluating.</DefDscrp>
<DefItem>
<A ID="pgfId-1040003"></A>
<UILabel-Table>
File it In</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043428"></A>
Load code into the workspace from a selected file-out file.</DefDscrp>
<DefItem>
<A ID="pgfId-1043427"></A>
<UILabel-Table>
Namespaces...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040014"></A>
Select which namespaces to import into the workspace environment.</DefDscrp>
<Heading3>
<A ID="pgfId-1040015"></A>
<A ID="Workspace Options Menu"></A>
Options Menu</Heading3>
<DefItem>
<A ID="pgfId-1040013"></A>
<UILabel-Table>
Toolbar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028829"></A>
Toggle the tool buttons display On or Off.</DefDscrp>
<DefItem>
<A ID="pgfId-1028831"></A>
<UILabel-Table>
Status Bar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028833"></A>
Toggle the status bar On or Off.</DefDscrp>
<Body1>
<A ID="pgfId-1029452"></A>
</Body1>
<Body1>
<A ID="pgfId-1039922"></A>
</Body1>
<Body1>
<A ID="pgfId-1039923"></A>
</Body1>
<Heading2>
<A ID="pgfId-1028404"></A>
<A ID="System Browser"></A>
System Browser</Heading2>
<Body1>
<A ID="pgfId-1041420"></A>
The System Browser is the principal programming tool in VisualWorks. Use it for &#34;browsing&#34; the code library, defining new classes, name spaces or parcels, as well as for editing, compiling and printing any selected portion of source code.<CharFmt>
</CharFmt>
</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-1.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1043066"></A>
To display categories, parcels, or packages in the upper-left view of the navigator, choose the corresponding item from the <UI-Label>
Browser</UI-Label>
 menu.</Body1>
<Body1>
<A ID="pgfId-1042843"></A>
When packages or parcels are shown, condition indicators are used to indicate their state (<B>
see: </B>
 <A href="03-tools.xml#id(Component condition indicators)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Component condition indicators</A>; and <A href="03-tools.xml#id(Component source code indicators)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Component source code indicators</A>).</Body1>
<Body1>
<A ID="pgfId-1041944"></A>
System Browser menus:<UI-Label>
<A href="03-tools.xml#id(System Browser Browser Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">
Browser</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Find Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Find</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">View</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Category Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Category</A></UI-Label>
, <UI-Label>
<A href="tools-browser.xml#id(System Browser Package Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Package</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Parcel Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Parcel</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Class Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Class</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(System Browser Protocol Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Protocol</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(System Browser Method Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Method</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1041520"></A>
Each view in the System Browser also has a pop-up &lt;Operate&gt; menu that duplicates the functionality of the menu bar.</Body1>
<Body1>
<A ID="pgfId-1030465"></A>
Specialized browsers are available for examining individual categories, classes, protocols, and methods. Each specialized browser provides a subset of the functionality of the System Browser. Use <UI-Label>
Spawn</UI-Label>
 from the &lt;Operate&gt; menu to open a specialized browser.</Body1>
<Body1>
<A ID="pgfId-1041366"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1042610"></A>
<A href="lang-smalltalk.xml#id(Browse a class category)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Browse a class category</A></Bullet1>
<Bullet1>
<A ID="pgfId-1041368"></A>
<A href="lang-smalltalk.xml#id(Browse a class)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Browse a class</A></Bullet1>
<Bullet1>
<A ID="pgfId-1041369"></A>
<A href="lang-smalltalk.xml#id(Browse a protocol)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Browse a protocol</A></Bullet1>
<Bullet1>
<A ID="pgfId-1041370"></A>
<A href="lang-smalltalk.xml#id(Browse a method)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Browse a method</A></Bullet1>
<Bullet1>
<A ID="pgfId-1043439"></A>
<A href="env-settings.xml#id(Set options for browsing)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Set options for browsing</A></Bullet1>
<Body1>
<A ID="pgfId-1041621"></A>
</Body1>
<Heading3>
<A ID="pgfId-1048466"></A>
Menus</Heading3>
<Heading4>
<A ID="pgfId-1047836"></A>
<A ID="System Browser Browser Menu"></A>
Browser Menu</Heading4>
<DefItem>
<A ID="pgfId-1047843"></A>
<UILabel-Table>
Undo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047850"></A>
Undo the last action.</DefDscrp>
<DefItem>
<A ID="pgfId-1047856"></A>
<UILabel-Table>
Redo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047857"></A>
Redo the last action.</DefDscrp>
<DefItem>
<A ID="pgfId-1047837"></A>
<UILabel-Table>
Refresh</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047838"></A>
Update all views to reflect changes made by other open browsers.</DefDscrp>
<DefItem>
<A ID="pgfId-1047867"></A>
<UILabel-Table>
Category</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047868"></A>
Set the navigator to display the system using class categories.</DefDscrp>
<DefItem>
<A ID="pgfId-1047872"></A>
<UILabel-Table>
Package</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047886"></A>
Set the navigator to display the system using packages. (Note: Store must be loaded for this option).</DefDscrp>
<DefItem>
<A ID="pgfId-1047877"></A>
<UILabel-Table>
Parcel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047890"></A>
Set the navigator to display the system using parcels.</DefDscrp>
<Heading4>
<A ID="pgfId-1041622"></A>
<A ID="System Browser Edit Menu"></A>
Edit Menu</Heading4>
<DefItem>
<A ID="pgfId-1041573"></A>
<UILabel-Table>
Find</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041574"></A>
Prompt for a string of text. Scan the contents of the code tool and highlight the next occurrence of the search string.</DefDscrp>
<DefItem>
<A ID="pgfId-1041575"></A>
<UILabel-Table>
Replace</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041576"></A>
Open a dialog prompting for find and replace strings. Scan the contents of the code tool, replacing each occurrence of the <UILabel-Table>
Find:</UILabel-Table>
 text with that of the <UILabel-Table>
Replace:</UILabel-Table>
 text. Options are provided to start at the beginning of the view, at the position of the current selection, and to scan forward or backward.</DefDscrp>
<DefItem>
<A ID="pgfId-1041577"></A>
<UILabel-Table>
Undo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041578"></A>
Reverse the most recent cut or paste in the code tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1041579"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041580"></A>
Place a copy of the highlighted text in memory.</DefDscrp>
<DefItem>
<A ID="pgfId-1041581"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041582"></A>
Place a copy of the highlighted text in the paste buffer, then delete the original.</DefDscrp>
<DefItem>
<A ID="pgfId-1041583"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041584"></A>
Delete the highlighted text (if any), then place a copy of the most recently copied or cut selection in that location. To open a dialog presenting the five most recent text segments that have been copied or cut, hold down &lt;Shift&gt; while selecting <UILabel-Table>
Paste</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1041585"></A>
<UILabel-Table>
Do It</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041586"></A>
Execute the highlighted text as a Smalltalk expression. The scope of execution is the selected class, so class variables can be used in the expressions, and <Smalltalk-Code-Table>
self</Smalltalk-Code-Table>
 refers to the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1041587"></A>
<UILabel-Table>
Print It</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041588"></A>
Execute the highlighted text as a Smalltalk expression and insert the resulting object in the text. The printed string becomes the current selection, so it can be deleted easily.</DefDscrp>
<DefItem>
<A ID="pgfId-1041589"></A>
<UILabel-Table>
Inspect It...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041590"></A>
Same as <UILabel-Table>
Do It</UILabel-Table>
, except an inspector is opened on the resulting object.</DefDscrp>
<DefItem>
<A ID="pgfId-1047912"></A>
<UILabel-Table>
Debug It...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047913"></A>
Same as <UILabel-Table>
Do It</UILabel-Table>
, except a debugger is opened on the code before it is evaluated.</DefDscrp>
<DefItem>
<A ID="pgfId-1041591"></A>
<UILabel-Table>
Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041592"></A>
Compile the code and, assuming no errors are found, place it in the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1041593"></A>
<UILabel-Table>
Cancel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041594"></A>
Restore the entire text to its condition when it was last compiled (with <UILabel-Table>
Accept</UILabel-Table>
).</DefDscrp>
<DefItem>
<A ID="pgfId-1041595"></A>
<UILabel-Table>
Format</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041596"></A>
Impose standard font characteristics and indentation conventions on the code.</DefDscrp>
<DefItem>
<A ID="pgfId-1041599"></A>
<UILabel-Table>
Explain</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041600"></A>
Insert an explanation of the selected literal or variable. The explanation frequently contains a Smalltalk expression that you can execute (using <UILabel-Table>
Do It</UILabel-Table>
) to get more details.</DefDscrp>
<DefItem>
<A ID="pgfId-1041601"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041602"></A>
Print a copy of the text or code on paper. To save hard-copy to a file, use the Settings Tool.</DefDscrp>
<Body1>
<A ID="pgfId-1042421"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1042425"></A>
<A href="env-settings.xml#id(Environment Settings Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Environment Settings</A></Bullet1>
<Heading4>
<A ID="pgfId-1047924"></A>
<A ID="System Browser Find Menu"></A>
Find Menu</Heading4>
<DefItem>
<A ID="pgfId-1050441"></A>
<UILabel-Table>
Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050442"></A>
Prompt for a package, and display its definition in the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047925"></A>
<UILabel-Table>
Name Space...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047926"></A>
Prompt for a name space, and display its definition in the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047944"></A>
<UILabel-Table>
Class...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047945"></A>
Prompt for a class name, and display its definition in the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047951"></A>
<UILabel-Table>
Shared Variable...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047952"></A>
Prompt for a shared variable, and display its definition in the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047956"></A>
<UILabel-Table>
Method...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047957"></A>
Prompt for a method, and display its definition in the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047971"></A>
<UILabel-Table>
References to Symbol...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047972"></A>
Prompt for a symbol, and find all references to it within the current scope of the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047984"></A>
<UILabel-Table>
Classes Defining Variable...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047985"></A>
Prompt for a variable, and find all classes that define it within the current scope of the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1047997"></A>
<UILabel-Table>
Implementors Matching...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1047998"></A>
Prompt for a selector, and find all implementors whose selector matches it within the current scope of the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1048012"></A>
<UILabel-Table>
Methods with Strings Matching...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048013"></A>
Prompt for a string, and find all methods that contain it, within the current scope of the browser. </DefDscrp>
<DefItem>
<A ID="pgfId-1048025"></A>
<UILabel-Table>
Reference Path to...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048026"></A>
Prompt for a block, and inspect the path from root to an object for which the specified block answers true. </DefDscrp>
<DefItem>
<A ID="pgfId-1048044"></A>
<UILabel-Table>
All Reference Paths to...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048045"></A>
Prompt for a class name, and inspect the path from root to any instance of this class. </DefDscrp>
<Heading4>
<A ID="pgfId-1041616"></A>
<A ID="System Browser View Menu"></A>
View Menu</Heading4>
<DefItem>
<A ID="pgfId-1041548"></A>
<UILabel-Table>
New</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042184"></A>
Create a new view on the current method.</DefDscrp>
<DefItem>
<A ID="pgfId-1041981"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041987"></A>
Delete the currently selected view.</DefDscrp>
<DefItem>
<A ID="pgfId-1041982"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041990"></A>
Spawn a new browser.</DefDscrp>
<Heading4>
<A ID="pgfId-1041619"></A>
<A ID="System Browser Parcel Menu"></A>
Parcel Menu</Heading4>
<DefItem>
<A ID="pgfId-1041751"></A>
<UILabel-Table>
New...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041752"></A>
Define a new parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1041756"></A>
<UILabel-Table>
Load</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041757"></A>
Prompt for a parcel to load into the image. A list of all parcels available on the current parcel path will be displayed.</DefDscrp>
<DefItem>
<A ID="pgfId-1041628"></A>
<UILabel-Table>
Save</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041629"></A>
Open a dialog for saving the parcel. Prompt for a filename (do not include the &#34;<Platform>
.pcl</Platform>
&#34; extension) and save options. Store the parcel in the specified file, selecting options to control parcel sources and loading behavior.</DefDscrp>
<DefItem>
<A ID="pgfId-1048114"></A>
<UILabel-Table>
Rename</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048115"></A>
Prompt for a new parcel name. Replace the current parcel name with the new one.</DefDscrp>
<DefItem>
<A ID="pgfId-1048116"></A>
<UILabel-Table>
Unload</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048117"></A>
If no parcel is selected, open a multi-select dialog to select parcels for unload. If a parcel is selected, unload the current parcel without disturbing the current change set. Check for dangling references (methods extending defined classes or classes inheriting from defined classes) before proceeding to unload.</DefDscrp>
<DefItem>
<A ID="pgfId-1048118"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048119"></A>
Like <UI-Label>
Unload</UI-Label>
, but also record removals in the current change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1041640"></A>
<UILabel-Table>
Discard</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041641"></A>
Discard the parcel leaving the code defined by the parcel in the system. Discard any overridden extensions or uninstalled code. Useful when constructing a deployment image that does not require parcels.</DefDscrp>
<DefItem>
<A ID="pgfId-1041642"></A>
<UILabel-Table>
Empty</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041643"></A>
Move all code out of the selected parcel but keep the code and the parcel in the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1041644"></A>
<UILabel-Table>
Build-&gt;Add File-In</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041645"></A>
File-in a file and add the filed-in code to the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1041646"></A>
<UILabel-Table>
Build-&gt;Add Changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041647"></A>
Add the contents of the current change set to the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1041648"></A>
<UILabel-Table>
Build-&gt;Remove Changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041649"></A>
Remove the contents of the current change set from the selected parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1041650"></A>
<UILabel-Table>
Build-&gt;Add to Changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041651"></A>
Add the contents of the selected parcel to the current change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1041652"></A>
<UILabel-Table>
Build-&gt;Remove from Changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041653"></A>
Remove the contents of the parcel from the current change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1041654"></A>
<UILabel-Table>
Build-&gt;Make Remove Script</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1041655"></A>
Prompt for a file name. Make a script that removes the parcel&#39;s code from the system and save it in the specified file. The file contains a series of Smalltalk expressions; it may be evaluated using the <UI-Label>
File in</UI-Label>
 command.</DefDscrp>
<DefItem>
<A ID="pgfId-1048138"></A>
<UILabel-Table>
Browse-&gt;Unparcelled methods used exclusively</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048139"></A>
Compute the set of messages sent from within the selected parcel and nowhere else in the image. Open a Parcel method list browser on the result. Note: may take some time.</DefDscrp>
<DefItem>
<A ID="pgfId-1048140"></A>
<UILabel-Table>
Browse-&gt;Unparcelled methods in defined classes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048141"></A>
Open a Parcel method list browser on methods in classes defined by the parcel but not in the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1048147"></A>
<UILabel-Table>
Browse-&gt;Extension methods</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048148"></A>
Open a Parcel method list browser on methods in parcel on classes not defined by the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1050465"></A>
<UILabel-Table>
Browse-&gt;Overrides of Others...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050466"></A>
Open a method list browser on those methods overridden by the current selection.</DefDscrp>
<DefItem>
<A ID="pgfId-1050476"></A>
<UILabel-Table>
Browse-&gt;Overridden by Others...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050477"></A>
Open a method list browser on those methods defined by the selected parcel that have been overridden by other components.</DefDscrp>
<DefItem>
<A ID="pgfId-1050493"></A>
<UILabel-Table>
Browse-&gt;Changed methods</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050494"></A>
Open a method list browser on methods in parcel that have changed since last the parcel was saved.</DefDscrp>
<DefItem>
<A ID="pgfId-1042157"></A>
<UILabel-Table>
Browse-&gt;Overridden extensions</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042158"></A>
Open a Change List on the original overridden versions, and a method list browser on the current versions of methods overridden by the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1050510"></A>
<UILabel-Table>
Find Name Space...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050511"></A>
Prompt for a name space, and display its definition in the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1050512"></A>
<UILabel-Table>
Find Class...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050513"></A>
Prompt for a class name, and display its definition in the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1050514"></A>
<UILabel-Table>
Find Shared Variable...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050515"></A>
Prompt for a shared variable, and display its definition in the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1043316"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043317"></A>
Spawn a new browser on the currently selected parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1048125"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048126"></A>
Prompt for a filename. Store a description of each class and method in the selected parcel, in a form that enables the class (including all of its methods) and any extension methods to be placed in another VisualWorks image with the <UI-Label>
File In</UI-Label>
 command. Does not file out the parcel itself.</DefDscrp>
<Body1>
<A ID="pgfId-1043424"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048164"></A>
<A href="dev-parcel-browser.xml#id(Managing Parcels)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Managing Parcels</A></Bullet1>
<Heading4>
<A ID="pgfId-1041541"></A>
<A ID="System Browser Category Menu"></A>
Category Menu</Heading4>
<DefItem>
<A ID="pgfId-1028450"></A>
<UILabel-Table>
New...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028452"></A>
Prompt for a new category name. Add the new category immediately above the currently selected category (if one is selected) or at the bottom of the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1048212"></A>
<UILabel-Table>
Move-&gt;to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048216"></A>
Prompt for a target parcel, and move the currently selected category into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1050527"></A>
<UILabel-Table>
Move-&gt;to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050528"></A>
Prompt for a target package, and move the currently selected category into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1028454"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028456"></A>
Prompt for a new name, then replace the currently selected category name, both in the list and in all class definitions under that category. An existing category name cannot be duplicated.</DefDscrp>
<DefItem>
<A ID="pgfId-1028458"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028460"></A>
Delete the currently selected category. If the category still contains one or more classes, confirm, then delete the classes also. References to the classes remain intact.</DefDscrp>
<DefItem>
<A ID="pgfId-1050536"></A>
<UILabel-Table>
Refresh</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050537"></A>
Update all views to reflect changes made by other open browsers.</DefDscrp>
<DefItem>
<A ID="pgfId-1050541"></A>
<UILabel-Table>
Find Name Space...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050542"></A>
Prompt for a name space, and display its definition in the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1028470"></A>
<UILabel-Table>
Find Class...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028472"></A>
Prompt for a class name. Highlight the specified class in the class view (and its category, in the category view). If a wildcard character is used, display a dialog of all classes with matching names. For example, the pattern <Smalltalk-Code-Table>
C*View</Smalltalk-Code-Table>
 displays a list of all classes beginning with &#34;<Smalltalk-Code-Table>
C</Smalltalk-Code-Table>
&#34; and ending in &#34;<Smalltalk-Code-Table>
View</Smalltalk-Code-Table>
.&#34;</DefDscrp>
<DefItem>
<A ID="pgfId-1050550"></A>
<UILabel-Table>
Find Shared Variable...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050551"></A>
Prompt for a shared variable, and display its definition in the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1048207"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048208"></A>
Open a new browser on just the classes in the selected category (a Category Browser).</DefDscrp>
<DefItem>
<A ID="pgfId-1048193"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048194"></A>
Prompt for a filename. Store a description of each class in the selected category, in a form that enables the class (including all of its methods) to be loaded into another VisualWorks image with the <UILabel-Table>
File In</UILabel-Table>
 command.</DefDscrp>
<DefItem>
<A ID="pgfId-1048198"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048199"></A>
Print a hard-copy description of each class in the selected category.</DefDscrp>
<Body1>
<A ID="pgfId-1039980"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1041380"></A>
<A href="lang-smalltalk.xml#id(Class Categories)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Class Categories</A></Bullet1>
<Heading4>
<A ID="pgfId-1040838"></A>
<A ID="System Browser Class Menu"></A>
Class Menu</Heading4>
<DefItem>
<A ID="pgfId-1028514"></A>
<UILabel-Table>
New-&gt;Class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042292"></A>
Display a template for creating a new fixed-size class which contains instance variables. Edit the template and select <UILabel-Table>
Accept</UILabel-Table>
 to create the class.</DefDscrp>
<DefItem>
<A ID="pgfId-1042299"></A>
<UILabel-Table>
New-&gt;Indexed Class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042511"></A>
Display a template for creating a new, variable-length class which contains variables that are pointers to other objects. Edit the template and select <UILabel-Table>
Accept</UILabel-Table>
 to create the class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048265"></A>
<UILabel-Table>
New-&gt;Byte Indexed Class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042519"></A>
Display a template for creating a new, variable-length class containing indexable byte-sized fields. Edit the template and select <UILabel-Table>
Accept</UILabel-Table>
 to create the class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048271"></A>
<UILabel-Table>
New-&gt;Name Space</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048272"></A>
Display a definition template (in the code tool) for creating a new namespace. Edit the template and select <UI-Label>
Accept</UI-Label>
 to create the name space.</DefDscrp>
<DefItem>
<A ID="pgfId-1048273"></A>
<UILabel-Table>
New-&gt;Shared Variable</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048274"></A>
Display a definition template (in the code tool) for creating a new shared variable. Edit the template and select <UI-Label>
Accept</UI-Label>
 to create the variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1050555"></A>
<UILabel-Table>
New-&gt;Extension in Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050556"></A>
Create an extension of a class or name space in a new package.</DefDscrp>
<DefItem>
<A ID="pgfId-1048290"></A>
<UILabel-Table>
References</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048291"></A>
Open a browser on all methods that refer to the currently selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048297"></A>
<UILabel-Table>
Initialize</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048298"></A>
If a class is selected, send the message <Smalltalk-Code-Table>
initialize</Smalltalk-Code-Table>
 to it. If a shared variable is selected, and it has an initializer, initialize its value using the initializer.</DefDscrp>
<DefItem>
<A ID="pgfId-1048312"></A>
<UILabel-Table>
Create Subclass...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048313"></A>
Prompt for the name of a new class, then create and insert the class into the class hierarchy under the currently selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048339"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048517"></A>
Prompt for a new class name. Rename the class and update a methods containing references to it.</DefDscrp>
<DefItem>
<A ID="pgfId-1048518"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048342"></A>
Prompt for confirmation, then delete the selected class and its methods.</DefDscrp>
<DefItem>
<A ID="pgfId-1048351"></A>
<UILabel-Table>
Safe Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048359"></A>
Remove the selected class, first checking for any references to it.</DefDscrp>
<DefItem>
<A ID="pgfId-1048556"></A>
<UILabel-Table>
Move-&gt;to Category...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048557"></A>
Prompt for a target category, and move the currently selected class into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1048530"></A>
<UILabel-Table>
Move-&gt;to Name Space...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048531"></A>
Prompt for a target name space, and move the currently selected class into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1050624"></A>
<UILabel-Table>
Move-&gt;Definition to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050625"></A>
Prompt for a target parcel, and move the currently selected definition into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1050566"></A>
<UILabel-Table>
Move-&gt;Selection to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050573"></A>
Prompt for a target parcel, and move the currently selected class into it. Only the parts of the class that are within the current package are moved. If multiple packages are selected, all parts of the class within all selected packages are moved to the parcel. If the navigator is set to view categories, the complete class (methods and shared variables) are moved to the parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1050604"></A>
<UILabel-Table>
Move-&gt;All to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050605"></A>
Prompt for a target parcel, and move the currently selected class into it. The complete definition, including shared variables, is moved.</DefDscrp>
<DefItem>
<A ID="pgfId-1050633"></A>
<UILabel-Table>
Move-&gt;Definition to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050634"></A>
Prompt for a target package, and move the currently selected class into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1050611"></A>
<UILabel-Table>
Move-&gt;Selection to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050612"></A>
Prompt for a target package, and move the currently selected class into it. Only the parts of the class that are within the current package are moved. If multiple packages are selected, all parts of the class within all selected packages are moved to the package. If the navigator is set to view categories, the complete class (methods and shared variables) are moved.</DefDscrp>
<DefItem>
<A ID="pgfId-1050615"></A>
<UILabel-Table>
Move-&gt;All to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050616"></A>
Prompt for a target package, and move the currently selected class into it. The complete definition, including shared variables, is moved.</DefDscrp>
<DefItem>
<A ID="pgfId-1048747"></A>
<UILabel-Table>
Override-&gt;in Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048751"></A>
Prompt for a <A href="help-glossary.xml#id(parcel)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">parcel</A> name. Create an override for the selected class in the specified parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1048772"></A>
<UILabel-Table>
Override-&gt;in Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048776"></A>
Prompt for a package name. Create an override for the selected class in the specified package.</DefDscrp>
<DefItem>
<A ID="pgfId-1048788"></A>
<UILabel-Table>
Override-&gt;Restore...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048789"></A>
Restore an override from the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1048793"></A>
<UILabel-Table>
Override-&gt;Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048794"></A>
Remove an override from the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1048818"></A>
<UILabel-Table>
Store-&gt;Browse Versions...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048819"></A>
Browse all versions of the selected class in the repository.</DefDscrp>
<DefItem>
<A ID="pgfId-1048828"></A>
<UILabel-Table>
Store-&gt;Browse Removed Methods...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048829"></A>
Browse all methods stored in the repository for this class that are not loaded.</DefDscrp>
<DefItem>
<A ID="pgfId-1048833"></A>
<UILabel-Table>
Store-&gt;Compare with...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048834"></A>
Browse differences between the loaded class and a version in the repository.</DefDscrp>
<DefItem>
<A ID="pgfId-1048852"></A>
<UILabel-Table>
Other-&gt;Convert to Sibling</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048853"></A>
Create an abstract class and make the selected class a sibling with its subclasses under the new abstract class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048871"></A>
<UILabel-Table>
Other-&gt;Inspect All Instances</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048872"></A>
Inspect all instances of the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048879"></A>
<UILabel-Table>
Other-&gt;Browse Methods with Source Matching...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048880"></A>
Open a browser on all methods of the selected class matching a pattern.</DefDscrp>
<DefItem>
<A ID="pgfId-1048881"></A>
<UILabel-Table>
Other-&gt;Find Reference Path to an Instance...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048882"></A>
Inspect the path of references from Root to any instance of this class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048883"></A>
<UILabel-Table>
Other-&gt;Find All Reference Paths to an Instance...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048884"></A>
Inspect all reference paths from Root to any instance of this class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048885"></A>
<UILabel-Table>
Other-&gt;Check Protocols...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048875"></A>
Verify that both the selected class and its superclass use the same protocols.</DefDscrp>
<DefItem>
<A ID="pgfId-1049062"></A>
<UILabel-Table>
Instance Variables -&gt;References</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049067"></A>
Browse all methods referencing the instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049068"></A>
<UILabel-Table>
Instance Variables -&gt;Readers</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049073"></A>
Browse all methods accessing the instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049074"></A>
<UILabel-Table>
Instance Variables -&gt;Writers</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049079"></A>
Browse all methods modifying the instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049080"></A>
<UILabel-Table>
Instance Variables -&gt;Add...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049081"></A>
Add an instance variable to the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1049082"></A>
<UILabel-Table>
Instance Variables -&gt;Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049273"></A>
Rename an instance variable and all its references.</DefDscrp>
<DefItem>
<A ID="pgfId-1049084"></A>
<UILabel-Table>
Instance Variables -&gt;Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049085"></A>
Remove an instance variable if it is not referenced.</DefDscrp>
<DefItem>
<A ID="pgfId-1049086"></A>
<UILabel-Table>
Instance Variables -&gt;Push Up...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049087"></A>
Move the instance variable definition to the selected class' superclass.</DefDscrp>
<DefItem>
<A ID="pgfId-1049088"></A>
<UILabel-Table>
Instance Variables -&gt;Push Down...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049089"></A>
Move the instance variable's definition to the subclasses that reference it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049090"></A>
<UILabel-Table>
Instance Variables -&gt;Create Accessors...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049091"></A>
Create accessing methods for the selected instance variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1049092"></A>
<UILabel-Table>
Instance Variables -&gt;Abstract...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049093"></A>
Create accessing methods for an instance variable and change all direct variable references to use them.</DefDscrp>
<DefItem>
<A ID="pgfId-1049094"></A>
<UILabel-Table>
Instance Variables -&gt;Protect...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049095"></A>
Convert from indirect to direct instance variable access, removing all accessing methods that are no longer used.</DefDscrp>
<DefItem>
<A ID="pgfId-1049096"></A>
<UILabel-Table>
Class Instance Variables -&gt;References</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049101"></A>
Browse all methods referencing the class instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049106"></A>
<UILabel-Table>
Class Instance Variables -&gt;Readers</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049107"></A>
Browse all methods accessing the class instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049112"></A>
<UILabel-Table>
Class Instance Variables -&gt;Writers</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049113"></A>
Browse all methods modifying the class instance variable within the current scope of the browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1049114"></A>
<UILabel-Table>
Class Instance Variables -&gt;Add...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049115"></A>
Add a class instance variable to the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1049116"></A>
<UILabel-Table>
Class Instance Variables -&gt;Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049117"></A>
Rename a class instance variable and all its references.</DefDscrp>
<DefItem>
<A ID="pgfId-1049118"></A>
<UILabel-Table>
Class Instance Variables -&gt;Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049119"></A>
Remove a class instance variable if it is not referenced.</DefDscrp>
<DefItem>
<A ID="pgfId-1049120"></A>
<UILabel-Table>
Class Instance Variables -&gt;Push Up...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049121"></A>
Move the class instance variable definition to the selected class' superclass.</DefDscrp>
<DefItem>
<A ID="pgfId-1049122"></A>
<UILabel-Table>
Class Instance Variables -&gt;Push Down...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049123"></A>
Move the class instance variable's definition to the subclasses that reference it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049124"></A>
<UILabel-Table>
Class Instance Variables -&gt;Create Accessors...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049125"></A>
Create accessing methods for the selected instance variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1049126"></A>
<UILabel-Table>
Class Instance Variables -&gt;Abstract...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049127"></A>
Create accessing methods for a class instance variable and change all direct variable references to use them.</DefDscrp>
<DefItem>
<A ID="pgfId-1049128"></A>
<UILabel-Table>
Class Instance Variables -&gt;Protect...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049057"></A>
Convert from indirect to direct class instance variable access, removing all accessing methods that are no longer used.</DefDscrp>
<DefItem>
<A ID="pgfId-1048246"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048247"></A>
Open a new browser on the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1048248"></A>
<UILabel-Table>
Spawn Hierarchy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048249"></A>
Open a new browser on the currently selected class and its superclasses and subclasses.</DefDscrp>
<DefItem>
<A ID="pgfId-1048250"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048251"></A>
Prompt for a filename. Store a description of the currently selected class, in a form that enables the class (including all of its methods) to be loaded into another VisualWorks image with the <UI-Label>
File In</UI-Label>
 command.</DefDscrp>
<DefItem>
<A ID="pgfId-1048252"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048253"></A>
Print a hard-copy description of the class.</DefDscrp>
<Body1>
<A ID="pgfId-1041382"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1028549"></A>
<A href="lang-smalltalk.xml#id(Classes)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Classes</A></Bullet1>
<Heading4>
<A ID="pgfId-1040841"></A>
<A ID="System Browser Protocol Menu"></A>
Protocol Menu</Heading4>
<DefItem>
<A ID="pgfId-1049542"></A>
<UILabel-Table>
New...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049543"></A>
Prompt for the name of a new protocol, then add that name in the protocol view. Add the new protocol immediately above the currently selected one (if one is selected) or at the bottom of the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1049565"></A>
<UILabel-Table>
Move-&gt;to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049566"></A>
Prompt for a target parcel, and move the currently selected protocol into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049567"></A>
<UILabel-Table>
Move-&gt;to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049568"></A>
Prompt for a target package, and move the currently selected protocol into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1028576"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028578"></A>
Prompt for a new name, then update the protocol view.</DefDscrp>
<DefItem>
<A ID="pgfId-1028580"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028582"></A>
Prompt for confirmation, and delete the selected protocol and its methods. To resolve references, use the <UILabel-Table>
Senders</UILabel-Table>
 command before you delete a protocol.</DefDscrp>
<DefItem>
<A ID="pgfId-1028588"></A>
<UILabel-Table>
Find Method...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028590"></A>
Display a dialog that lists all of the instance methods (if the instance switch is selected) or class methods of the currently selected class. Select a method name to display its code in the code view.</DefDscrp>
<DefItem>
<A ID="pgfId-1049556"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049557"></A>
Open a new browser (a message category browser) on the methods in the currently selected protocol.</DefDscrp>
<DefItem>
<A ID="pgfId-1049558"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049559"></A>
Prompt for a filename. Store a description of the methods in the currently selected protocol, in a form that enables the methods to be loaded into another VisualWorks image with the <UILabel-Table>
File In</UILabel-Table>
 command.</DefDscrp>
<DefItem>
<A ID="pgfId-1049560"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049561"></A>
Print a hard-copy description of the methods in the currently selected protocol.</DefDscrp>
<Body1>
<A ID="pgfId-1041392"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1041396"></A>
<A href="lang-smalltalk.xml#id(Protocols)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Protocols</A></Bullet1>
<Heading4>
<A ID="pgfId-1028594"></A>
<A ID="System Browser Method Menu"></A>
Method Menu</Heading4>
<DefItem>
<A ID="pgfId-1028614"></A>
<UILabel-Table>
Senders</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028616"></A>
Open a browser (a Method Browser) on all methods that send the currently selected message. Use the fold-out menu to browse senders of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1028618"></A>
<UILabel-Table>
Implementors</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028620"></A>
Open a browser (a Method Browser) on all methods that implement the currently selected message (i.e., methods having the same name that exist in other classes as well as this one). Use the fold-out menu to browse implementors of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1028622"></A>
<UILabel-Table>
Hierarchy Senders</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028624"></A>
Open a browser (a Method Browser) on all methods that send the currently selected message. Only search methods in the current class hierarchy. Use the fold-out menu to browse senders of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1028626"></A>
<UILabel-Table>
Hierarchy Implementors</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028628"></A>
Open a browser (a Method Browser) on all methods that implement the currently selected message (i.e., methods having the same name that exist in other classes as well as this one). Only search methods in the current class hierarchy. Use the fold-out menu to browse implementors of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1050660"></A>
<UILabel-Table>
Local Senders</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050661"></A>
Open a browser (a Method Browser) on all methods that send the currently selected message. Use the fold-out menu to browse senders of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1050662"></A>
<UILabel-Table>
Local Implementors</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050663"></A>
Open a browser (a Method Browser) on all methods that implement the currently selected message (i.e., methods having the same name that exist in other classes as well as this one). Use the fold-out menu to browse implementors of other messages in the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1049604"></A>
<UILabel-Table>
Move-&gt;to Protocol...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049605"></A>
Prompt for a target protocol, and move the currently selected method(s) into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049606"></A>
<UILabel-Table>
Move-&gt;to Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049617"></A>
Prompt for a target parcel, and move the currently selected method(s) into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049623"></A>
<UILabel-Table>
Move-&gt;to Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049624"></A>
Prompt for a target package, and move the currently selected method(s) into it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049632"></A>
<UILabel-Table>
Move-&gt;to Component...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049633"></A>
Move the body of the currently selected method to another component, leaving a forwarder and thereby not changing the external interface of the class that contains the original method.</DefDscrp>
<DefItem>
<A ID="pgfId-1049652"></A>
<UILabel-Table>
Override-&gt;in Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049656"></A>
Prompt for a <A href="help-glossary.xml#id(parcel)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">parcel</A> name. Create an override for the selected method(s) in the specified parcel.</DefDscrp>
<DefItem>
<A ID="pgfId-1049657"></A>
<UILabel-Table>
Override-&gt;in Package...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049658"></A>
Prompt for a package name. Create an override for the selected method(s) in the specified package.</DefDscrp>
<DefItem>
<A ID="pgfId-1049659"></A>
<UILabel-Table>
Override-&gt;Restore...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049660"></A>
Restore an override from the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1049661"></A>
<UILabel-Table>
Override-&gt;Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049662"></A>
Remove an override from the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1049678"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049679"></A>
Prompt for a new class name. Replace the name in the system dictionary and update the class view.</DefDscrp>
<DefItem>
<A ID="pgfId-1049680"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049681"></A>
Prompt for confirmation, then delete the selected class and its methods.</DefDscrp>
<DefItem>
<A ID="pgfId-1049682"></A>
<UILabel-Table>
Safe Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049683"></A>
Remove the selected class, first checking for any references to it.</DefDscrp>
<DefItem>
<A ID="pgfId-1049689"></A>
<UILabel-Table>
Store-&gt;Browse Versions...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049690"></A>
Browse all versions of the selected method in the repository.</DefDscrp>
<DefItem>
<A ID="pgfId-1049700"></A>
<UILabel-Table>
Store-&gt;Compare with...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049701"></A>
Browse differences between the loaded method and a version in the repository.</DefDscrp>
<DefItem>
<A ID="pgfId-1049691"></A>
<UILabel-Table>
Store-&gt;Revert</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049692"></A>
Load the version of the method stored in the repository for this package version.</DefDscrp>
<DefItem>
<A ID="pgfId-1049715"></A>
<UILabel-Table>
Visibility-&gt;Show Only In Selected Package</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049716"></A>
Show only methods and shared variables within the selected parcels/packages.</DefDscrp>
<DefItem>
<A ID="pgfId-1049736"></A>
<UILabel-Table>
Visibility-&gt;Show Only In Selected Package</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049737"></A>
Show only methods and shared variables within the selected parcels/packages.</DefDscrp>
<DefItem>
<A ID="pgfId-1050071"></A>
<UILabel-Table>
Visibility-&gt;Show All Inherited</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050072"></A>
Display all methods inherited from superclasses.</DefDscrp>
<DefItem>
<A ID="pgfId-1050082"></A>
<UILabel-Table>
Visibility-&gt;Show All Except for Object</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050083"></A>
Display all methods inherited from superclasses, with the exception of those in class <Code>
Object</Code>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1050087"></A>
<UILabel-Table>
Visibility-&gt;Show No Inherited</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050088"></A>
Display only methods belonging to the currently selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1049741"></A>
<UILabel-Table>
Shared Variable-&gt;References</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049742"></A>
Browse all references to a shared variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1049754"></A>
<UILabel-Table>
Shared Variable-&gt;Initailize</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049755"></A>
Initialize a shared variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1049770"></A>
<UILabel-Table>
Refactoring-&gt;Add Parameter...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049771"></A>
Add a parameter to the selected method and change all senders to pass a default argument.</DefDscrp>
<DefItem>
<A ID="pgfId-1049772"></A>
<UILabel-Table>
Refactoring-&gt; Remove Paramter</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049773"></A>
Remove an argument from the method if all implementors of the method do not use the argument.</DefDscrp>
<DefItem>
<A ID="pgfId-1049774"></A>
<UILabel-Table>
Refactoring-&gt;Inline All Self Sends</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049775"></A>
Inline the selected method into all senders of self, removing the method if there are no senders.</DefDscrp>
<DefItem>
<A ID="pgfId-1049776"></A>
<UILabel-Table>
Refactoring-&gt;Push Up</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049777"></A>
Move the selected method to the selected class' superclass.</DefDscrp>
<DefItem>
<A ID="pgfId-1049778"></A>
<UILabel-Table>
Refactoring-&gt;Push Down</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049649"></A>
Move the selected method to the selected class' subclasses.</DefDscrp>
<DefItem>
<A ID="pgfId-1049585"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049586"></A>
Open a new browser (a Method Browser) on the currently selected method.</DefDscrp>
<DefItem>
<A ID="pgfId-1049587"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049588"></A>
Prompt for a filename. Store a description of the currently selected method, in a form that enables the method to be loaded into another VisualWorks image with the <UILabel-Table>
File In</UILabel-Table>
<UILabel1>
 </UILabel1>
command.</DefDscrp>
<DefItem>
<A ID="pgfId-1049589"></A>
<UILabel-Table>
Hardcopy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1049590"></A>
Print a hard-copy of the method source.</DefDscrp>
<DefItem>
<A ID="pgfId-1050105"></A>
<UILabel-Table>
Inspect...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1050106"></A>
Open an Inspector on the currently selected method / shared variable.</DefDscrp>
<Body1>
<A ID="pgfId-1041404"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1041408"></A>
<A href="lang-smalltalk.xml#id(Methods)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Methods</A></Bullet1>
<Body1>
<A ID="pgfId-1040700"></A>
</Body1>
<Heading4>
<A ID="pgfId-1048594"></A>
Tools Menu</Heading4>
<DefItem>
<A ID="pgfId-1048595"></A>
<UILabel-Table>
Zoom</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048596"></A>
Expand/contract the code view.</DefDscrp>
<DefItem>
<A ID="pgfId-1048633"></A>
<UILabel-Table>
Source</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048634"></A>
Display the source code tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1048642"></A>
<UILabel-Table>
Comment</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048643"></A>
Display the comment code tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1048647"></A>
<UILabel-Table>
Hierarchy Diagram</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048648"></A>
Display the hierarchy diagram code tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1048652"></A>
<UILabel-Table>
Rewrite</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048653"></A>
Display the rewrite editor tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1048657"></A>
<UILabel-Table>
Code Critic</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048658"></A>
Display the code critic tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1048662"></A>
<UILabel-Table>
Set Undo Count</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048663"></A>
Set the size of the undo buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1048699"></A>
<UILabel-Table>
Set Default Name Space</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048700"></A>
Set the default name space to be displayed when a browser is opened.</DefDscrp>
<DefItem>
<A ID="pgfId-1048720"></A>
<UILabel-Table>
Toolbar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048721"></A>
Toggle the toolbar on all browsers.</DefDscrp>
<DefItem>
<A ID="pgfId-1048737"></A>
<UILabel-Table>
Status Bar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1048738"></A>
Toggle the status bar on all browsers.</DefDscrp>
<Body1>
<A ID="pgfId-1048745"></A>
</Body1>
<Heading3>
<A ID="pgfId-1042882"></A>
<A ID="Component condition indicators"></A>
Component condition indicators</Heading3>
<Body1>
<A ID="pgfId-1042883"></A>
In the parcels view, individual parcels appear with characters following their name to indicate the parcel&#39;s state:</Body1>
<DefItem>
<A ID="pgfId-1042797"></A>
<UILabel-Table>
*</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042798"></A>
Parcel is &#34;dirty&#34;; it has been modified in some way.</DefDscrp>
<DefItem>
<A ID="pgfId-1042799"></A>
<UILabel-Table>
&lt;</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042800"></A>
Parcel has been loaded.</DefDscrp>
<DefItem>
<A ID="pgfId-1042801"></A>
<UILabel-Table>
!</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042802"></A>
Parcel has uninstalled (partially loaded) code.</DefDscrp>
<DefItem>
<A ID="pgfId-1042803"></A>
<UILabel-Table>
+</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042805"></A>
Parcel has overridden methods on loading.</DefDscrp>
<Body1>
<A ID="pgfId-1042806"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048381"></A>
<A href="03-tools.xml#id(Component source code indicators)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Component source code indicators</A></Bullet1>
<Heading3>
<A ID="pgfId-1048384"></A>
<A ID="Component source code indicators"></A>
<A ID="System Browser Parcel Code Indicators"></A>
Component source code indicators</Heading3>
<Body1>
<A ID="pgfId-1048385"></A>
The Browser uses special text formatting to indicate the status of code with respect to parcels:</Body1>
<DefItem>
<A ID="pgfId-1042815"></A>
<UILabel-Table>
Bold</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042816"></A>
Used to mark any class or method that contains something defined by the selected component.</DefDscrp>
<DefItem>
<A ID="pgfId-1042821"></A>
<UILabel-Table>
Red</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1042822"></A>
Used to indicate items defined in more than one component. This indicates a warning about potential conflicts.</DefDscrp>
<Body1>
<A ID="pgfId-1042823"></A>
Text is displayed in any combination of the above emphases as appropriate.</Body1>
<Body1>
<A ID="pgfId-1042824"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1042828"></A>
<A href="03-tools.xml#id(Component condition indicators)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Component condition indicators</A></Bullet1>
<Body1>
<A ID="pgfId-1042737"></A>
</Body1>
<Heading3>
<A ID="pgfId-1049900"></A>
Browser Icons</Heading3>
<Body1>
<A ID="pgfId-1049901"></A>
The browser&#39;s navigator uses a number of special icons to distinguish code components, special system classes, as well as the condition of individual methods.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-2.gif" show="embed" actuate="auto"/>
</DIV>
<Heading2>
<A ID="pgfId-1028404"></A>
<A ID="System Browser"></A>
System Browser Tools</Heading2>
<Body1>
<A ID="pgfId-1049005"></A>
In addition to its basic browsing functionality, the VisualWorks browser includes additional features for use by experienced developers.</Body1>
<Body1>
<A ID="pgfId-1049003"></A>
The browser provides a framework for adding special-purpose code tools. Standard tools are available for editing component properties, code checking, automated code rewriting, and unit testing.</Body1>
<Body1>
<A ID="pgfId-1048504"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1049130"></A>
<A href="03-tools.xml#id(Component Properties Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Component Properties Tool</A></Bullet1>
<Bullet1>
<A ID="pgfId-1049134"></A>
<A href="03-tools.xml#id(Code Rewrite Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Code Rewrite Editor</A></Bullet1>
<Bullet1>
<A ID="pgfId-1049138"></A>
<A href="03-tools.xml#id(Code Critic)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Code Critic</A></Bullet1>
<Bullet1>
<A ID="pgfId-1049145"></A>
<A href="03-tools.xml#id(Refactorings)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Refactorings</A></Bullet1>
<Body1>
<A ID="pgfId-1048756"></A>
</Body1>
<Heading3>
<A ID="pgfId-1048542"></A>
<A ID="Component Properties Tool"></A>
Component Properties Tool</Heading3>
<Body1>
<A ID="pgfId-1048987"></A>
When viewing a package, bundle or parcel, click on the browser&#39;s Properties tab to view the selected component&#39;s properties.</Body1>
<Heading4>
<A ID="pgfId-1048548"></A>
<A ID="Deployment Prerequisites"></A>
Deployment Prerequisites</Heading4>
<Body1>
<A ID="pgfId-1048607"></A>
Deployment prerequsites are an array of prerequisite components.  Each individual prerequisite is a name, version pair.</Body1>
<Body1>
<A ID="pgfId-1048780"></A>
In the case of parcels, the parcel loader searches along the parcel path for &quot;<Platform>
.pcl</Platform>
&quot; files that have the required name and attempts to load them. All parcels have a version which is an arbitrary string, that defaults to an empty string. Each parcel can also define a prerequisite version block which it can use to select appropriate versions of prerequisite parcels.</Body1>
<Body1>
<A ID="pgfId-1048797"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048801"></A>
<A href="03-tools.xml#id(Prerequisite Version Action)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Prerequisite Version Action</A></Bullet1>
<Heading4>
<A ID="pgfId-1048549"></A>
<A ID="Development Prerequisites"></A>
Development Prerequisites</Heading4>
<Body1>
<A ID="pgfId-1048606"></A>
Development prerequisites are used when loading from Store. Each prerequisite is an array with a type (<Code>
#parcel</Code>
 <Code>
#package</Code>
 <Code>
#bundle</Code>
 or <Code>
#any</Code>
), a name and a version string. Developement prerequisites are usually a superset of the deployment prerequisities.</Body1>
<Body1>
<A ID="pgfId-1048819"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048823"></A>
<A href="03-tools.xml#id(Deployment Prerequisites)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Deployment Prerequisites</A></Bullet1>
<Heading4>
<A ID="pgfId-1048550"></A>
<A ID="Warning Suppression Action"></A>
Warning Suppression Action</Heading4>
<Body1>
<A ID="pgfId-1048617"></A>
Components may specify a <I>
warning suppression action</I>
. This must be a block taking one argument, the name of a prerequisite component being loaded. The block should answer true if  warnings caused by loading the prerequisite should be suppressed.</Body1>
<Body1>
<A ID="pgfId-1048605"></A>
The warning suppression block is run before any of the component&#39;s code is loaded. Consequently, it cannot and should not mention any code in the component to which it belongs.</Body1>
<Heading4>
<A ID="pgfId-1048551"></A>
<A ID="Prerequisite Version Action"></A>
Prerequisite Version Action</Heading4>
<Body1>
<A ID="pgfId-1048625"></A>
Components may specify a <I>
prerequisite version action</I>
. This must be a block taking three arguments, the name of a prerequisite component being loaded, its version string, and the version string defined in the component&#39;s list of prerequisites. </Body1>
<Body1>
<A ID="pgfId-1048604"></A>
The block should answer true if the prerequisite's version is acceptable, and should be loaded. Otherwise the loader will continue to search for another component of the same name with a different version.</Body1>
<Heading4>
<A ID="pgfId-1048552"></A>
<A ID="Pre-read Action"></A>
Pre-read Action</Heading4>
<Body1>
<A ID="pgfId-1048603"></A>
A component's <Code>
preReadAction</Code>
 is a zero argument block, which is run before any of the component is read, but after any of its prerequisites are loaded. The block should answer true if loading is to continue; any other return value will abort the load.</Body1>
<Heading4>
<A ID="pgfId-1048553"></A>
<A ID="Pre-load Action"></A>
Pre-load Action</Heading4>
<Body1>
<A ID="pgfId-1048637"></A>
Loading actions are one argument blocks that take the package / parcel being loaded as an argument.</Body1>
<Body1>
<A ID="pgfId-1048639"></A>
In the case of parcels, the <Code>
preLoadAction</Code>
 is run after all the code from a parcel has been parsed but before the code has been installed in the system.  Hence the <Code>
preLoadAction</Code>
 may happen too late to do things that affect the contents of a parcel. Use the <Code>
preReadAction</Code>
 if you want an action that runs before the parcel's contents are parsed.</Body1>
<Body1>
<A ID="pgfId-1048641"></A>
In the case of packages, code is currently compiled definition by definition so the pre-read and pre-load actions are run immediately consecutively.</Body1>
<CodeSample>
<A ID="pgfId-1048643"></A>
preReadAction
&lt;code parsed from parcel and built&gt;
preLoadAction
&lt;code installed into the system&gt;
postLoadAction</CodeSample>
<Body1>
<A ID="pgfId-1048875"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048879"></A>
<A href="03-tools.xml#id(Pre-read Action)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Pre-read Action</A></Bullet1>
<Heading4>
<A ID="pgfId-1048554"></A>
<A ID="Post-load Action"></A>
Post-load Action</Heading4>
<Body1>
<A ID="pgfId-1048660"></A>
Loading actions are one argument blocks that take the package / parcel being loaded as an argument.</Body1>
<Body1>
<A ID="pgfId-1048662"></A>
In the case of parcels, the postLoadAction is run after all the code from a parcel has been parsed but before the code has been installed in the system. Hence the postLoadAction may happen too late to do things that affect the contents of a parcel. Use the <Code>
preReadAction</Code>
 if you want an action that runs before the parcel's contents are parsed.</Body1>
<Body1>
<A ID="pgfId-1048664"></A>
In the case of packages, code is currently compiled definition by definition so the pre-read and pre-load actions are run immediately consecutively.</Body1>
<CodeSample>
<A ID="pgfId-1048666"></A>
preReadAction
&lt;code parsed from parcel and built&gt;
preLoadAction
&lt;code installed into the system&gt;
postLoadAction</CodeSample>
<Body1>
<A ID="pgfId-1048908"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1048912"></A>
<A href="03-tools.xml#id(Pre-read Action)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Pre-read Action</A></Bullet1>
<Heading4>
<A ID="pgfId-1048555"></A>
<A ID="Pre-unload Action"></A>
Pre-unload Action</Heading4>
<Body1>
<A ID="pgfId-1048691"></A>
Unloading actions are actions run when unloading a package or parcel.  The preUnloadAction is run before unloading commences. It is a one-argument block that takes the package or parcel being unloaded as an argument. The postUnloadAction is a zero-argument block run after the package or parcel has been unloaded and discarded.</Body1>
<CodeSample>
<A ID="pgfId-1048693"></A>
preUnloadAction
&lt;code removed from system&gt;
postUnloadAction</CodeSample>
<Heading4>
<A ID="pgfId-1048556"></A>
<A ID="Post-unload Action"></A>
Post-unload Action</Heading4>
<Body1>
<A ID="pgfId-1048708"></A>
Unloading actions are actions run when unloading a package or parcel.  The preUnloadAction is run before unloading commences.  It is a one-argument block that takes the package or parcel being unloaded as an argument. The postUnloadAction is a zero-argument block run after the package or parcel has been unloaded and discarded.</Body1>
<CodeSample>
<A ID="pgfId-1048710"></A>
preUnloadAction
&lt;code removed from system&gt;
postUnloadAction</CodeSample>
<Heading4>
<A ID="pgfId-1048557"></A>
<A ID="Pre-save Action"></A>
Pre-save Action</Heading4>
<Body1>
<A ID="pgfId-1048725"></A>
Save actions are one argument blocks that take the package / parcel being saved as an argument.</Body1>
<CodeSample>
<A ID="pgfId-1048598"></A>
preSaveAction</CodeSample>
<Heading4>
<A ID="pgfId-1048558"></A>
<A ID="Component Properties"></A>
Component Properties</Heading4>
<Body1>
<A ID="pgfId-1048736"></A>
Component properties are stored in an <Code>
IdentityDictionary</Code>
, and what you see in the properties inspector is something that should have the same type of behavior as a normal DictionaryInspector. </Body1>
<Body1>
<A ID="pgfId-1048738"></A>
You can add any key-&gt;value pair as a property. For example, one might want to add a <Code>
Author</Code>
 property.  To do so, use the &lt;Operate&gt; menu from the left pane of the inspector and select <UI-Label>
Add field...</UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1048972"></A>
To <UI-Label>
Apply</UI-Label>
 changes, you must first <UI-Label>
Accept</UI-Label>
 them using the &lt;Operate&gt; menu in the inspector's right pane.</Body1>
<Body1>
<A ID="pgfId-1048543"></A>
Any properties with a value of nil will be removed.</Body1>
<Heading3>
<A ID="pgfId-1048544"></A>
<A ID="Code Rewrite Editor"></A>
Code Rewrite Editor</Heading3>
<Body1>
<A ID="pgfId-1049079"></A>
The rewrite rule editor enables you to create search and replace patterns that work at the method&#39;s structural level. Unlike simple string matching, these patterns are applied to the method&#39;s parse tree.</Body1>
<Body1>
<A ID="pgfId-1049052"></A>
The rewrite tool uses a special syntax to specify a transformation rule. When a transformation rule is applied, it affects the method(s) selected in the browser&#39;s navigator. You may specify a single method, or any number of methods, protocols, or classes as the target of a single transformation.</Body1>
<Body1>
<A ID="pgfId-1049089"></A>
Open the rewrite editor by selecting the <UI-Label>
Rewrite</UI-Label>
 tab of the browser&#39;s code tool.</Body1>
<Body1>
<A ID="pgfId-1049083"></A>
For details, see the <Emphasis>
VisualWorks Tools Guide</Emphasis>
.</Body1>
<Body1>
<A ID="pgfId-1049002"></A>
</Body1>
<Heading3>
<A ID="pgfId-1049025"></A>
<A ID="Code Critic"></A>
Code Critic</Heading3>
<Body1>
<A ID="pgfId-1049026"></A>
Use the Code Critic to screen application code for over sixty common types of bugs.</Body1>
<Body1>
<A ID="pgfId-1049060"></A>
The Code Critic also provides a mechanism for applying a set of pre-defined transformation rules to your application code. These rules express &#34;best practices&#34; for code development, and are almost always safe to apply.</Body1>
<Body1>
<A ID="pgfId-1049061"></A>
Open the Code Critic by selecting the <UI-Label>
Code Critic</UI-Label>
 tab of the browser&#39;s code tool.</Body1>
<Body1>
<A ID="pgfId-1049062"></A>
For details, see the <Emphasis>
VisualWorks Tools Guide</Emphasis>
.</Body1>
<Body1>
<A ID="pgfId-1048502"></A>
</Body1>
<Heading3>
<A ID="pgfId-1049105"></A>
<A ID="Refactorings"></A>
Refactorings</Heading3>
<Body1>
<A ID="pgfId-1049112"></A>
The VisualWorks browser provides full functionality for code refactoring. Over two-dozen distinct refactoring operations are available for manipulating classes, methods, and individual statements within a method.</Body1>
<Body1>
<A ID="pgfId-1049152"></A>
For details, see the <Emphasis>
VisualWorks Tools Guide</Emphasis>
.</Body1>
<Body1>
<A ID="pgfId-1049113"></A>
</Body1>
<Body1>
<A ID="pgfId-1049106"></A>
</Body1>
<Heading2>
<A ID="pgfId-1039713"></A>
<A ID="Inspector"></A>
Inspector</Heading2>
<Body1>
<A ID="pgfId-1039714"></A>
An inspector window allows you to examine objects by exploring their constituent objects, the values of the object&#39;s instance variables. You can also edit values, reorder collections, browse methods relevant to the object under inspection, and perform a variety of other operations. </Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-3.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1029952"></A>
Use the menus to manipulate the variables and their values. In the values pane, use <UI-Label>
Accept</UI-Label>
 on the &lt;Operate&gt; menu to save a change to the object being inspected.</Body1>
<Body1>
<A ID="pgfId-1043528"></A>
Inspector menus: <UI-Label>
<A href="03-tools.xml#id(Inspector Object Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Object</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Inspector Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Inspector Go Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Go</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Inspector History Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">History</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Inspector Options Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Options</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1040171"></A>
Every object in the VisualWorks environment understands the message <Code>
inspect</Code>
; for example:</Body1>
<CodeSample>
<A ID="pgfId-1040186"></A>
OrderedCollection new inspect.</CodeSample>
<Body1>
<A ID="pgfId-1040232"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1040238"></A>
<A href="dev-debugger.xml#id(Debugging Techniques)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Debugging Techniques</A></Bullet1>
<Body1>
<A ID="pgfId-1040174"></A>
</Body1>
<Heading3>
<A ID="pgfId-1040245"></A>
<A ID="Inspector Object Menu"></A>
Object Menu</Heading3>
<DefItem>
<A ID="pgfId-1040175"></A>
<UILabel-Table>
Refresh</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040274"></A>
Update the values displayed.</DefDscrp>
<DefItem>
<A ID="pgfId-1040275"></A>
<UILabel-Table>
Browse</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040286"></A>
Open a Class Browser on the selected item&#39;s class.</DefDscrp>
<DefItem>
<A ID="pgfId-1040285"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040288"></A>
Open a new Inspector on the selected item.</DefDscrp>
<DefItem>
<A ID="pgfId-1040287"></A>
<UILabel-Table>
Spawn Owners</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040311"></A>
Open a new Inspector on the collection of owners of the selected item.</DefDscrp>
<Heading3>
<A ID="pgfId-1040314"></A>
<A ID="Inspector Edit Menu"></A>
Edit Menu</Heading3>
<DefItem>
<A ID="pgfId-1040315"></A>
<UILabel-Table>
Undo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040333"></A>
Reverse the last edit.</DefDscrp>
<DefItem>
<A ID="pgfId-1040331"></A>
<UILabel-Table>
Select All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040341"></A>
Select all items in the variable list.</DefDscrp>
<DefItem>
<A ID="pgfId-1040334"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040344"></A>
Copy the value of the selected variable to the clipboard/buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1040337"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040345"></A>
Paste the value from the clipboard/buffer to the selected variable.</DefDscrp>
<DefItem>
<A ID="pgfId-1040338"></A>
<UILabel-Table>
Add</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040350"></A>
Add a new variable to the list with the value as entered into the prompter.</DefDscrp>
<DefItem>
<A ID="pgfId-1040339"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040351"></A>
Remove the selected variable.</DefDscrp>
<Heading3>
<A ID="pgfId-1040357"></A>
<A ID="Inspector Go Menu"></A>
Go Menu</Heading3>
<DefItem>
<A ID="pgfId-1040340"></A>
<UILabel-Table>
Dive</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040368"></A>
Inspect the selected variable in the same inspector.</DefDscrp>
<DefItem>
<A ID="pgfId-1040367"></A>
<UILabel-Table>
Back</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040366"></A>
Return to the previously inspected item.</DefDscrp>
<DefItem>
<A ID="pgfId-1040365"></A>
<UILabel-Table>
Forward</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040370"></A>
Return to the inspected item you just returned from.</DefDscrp>
<DefItem>
<A ID="pgfId-1040369"></A>
<UILabel-Table>
To Class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040379"></A>
Inspect the class of the selected item.</DefDscrp>
<DefItem>
<A ID="pgfId-1040378"></A>
<UILabel-Table>
To All Instances</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040383"></A>
Inspect the collection of all instances of the currently viewed class.</DefDscrp>
<DefItem>
<A ID="pgfId-1040380"></A>
<UILabel-Table>
To New Instance</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040385"></A>
Inspect a new instance of the currently viewed class.</DefDscrp>
<Heading3>
<A ID="pgfId-1040395"></A>
<A ID="Inspector History Menu"></A>
History Menu</Heading3>
<Body1>
<A ID="pgfId-1040390"></A>
This menu displays a list of items previously inspected in this Inspector.  Select any item to return to that one.</Body1>
<Heading3>
<A ID="pgfId-1040409"></A>
<A ID="Inspector Options Menu"></A>
Options Menu</Heading3>
<DefItem>
<A ID="pgfId-1040384"></A>
<UILabel-Table>
Toolbar</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040416"></A>
Toggle the button toolbar On/Off.</DefDscrp>
<DefItem>
<A ID="pgfId-1040403"></A>
<UILabel-Table>
Evaluation Pane</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040415"></A>
Open/close the evaluation pane, which is a workspace for this Inspector.</DefDscrp>
<Body1>
<A ID="pgfId-1040140"></A>
</Body1>
<Heading2>
<A ID="pgfId-1010361"></A>
<A ID="File Browser"></A>
File Browser</Heading2>
<Body1>
<A ID="pgfId-1082658"></A>
Use a File Browser to view the contents of any directory or file, to edit a file, and to create new files or directories on the host&#39;s file system.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-4.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1090614"></A>
Enter the pathname of a directory or file using the <Emphasis>
pattern field</Emphasis>
. To display the contents of a file or directory entered in this field,  press &lt;Return&gt;. The asterisk &#34;<Platform>
*</Platform>
&#34; serves as a wildcard character.</Body1>
<Body1>
<A ID="pgfId-1090533"></A>
The <Emphasis>
directory view</Emphasis>
 shows a hierarchical list of all volumes and directories available in the host&#39;s file system.</Body1>
<Body1>
<A ID="pgfId-1014454"></A>
The <Emphasis>
names view</Emphasis>
 displays the list of directories and files that match the pattern view&#39;s search string. To display the contents of a file, select it in the <Emphasis>
names view</Emphasis>
.</Body1>
<Body1>
<A ID="pgfId-1014621"></A>
The <Emphasis>
contents view</Emphasis>
 is a file editor with which you can modify the contents of a file and save the new version. Use the tab controls to view the properties of a file, or its contents in the following formats: text, binary, VisualWorks source code, or structured XML.</Body1>
<Body1>
<A ID="pgfId-1022689"></A>
File Browser menus: <UI-Label>
<A href="03-tools.xml#id(File Browser Directory View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Directory</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(File Browser File View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">File</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(File Browser Contents View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">View</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1082810"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1082814"></A>
<A href="env-files.xml#id(Files)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Files</A></Bullet1>
<Heading3>
<A ID="pgfId-1022692"></A>
<A ID="File Browser Directory View Menu"></A>
Directory View Menu</Heading3>
<DefItem>
<A ID="pgfId-1090577"></A>
<UILabel-Table>
Create...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090603"></A>
Create a new directory.</DefDscrp>
<DefItem>
<A ID="pgfId-1090578"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090604"></A>
Rename the selected directory.</DefDscrp>
<DefItem>
<A ID="pgfId-1090579"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090605"></A>
Delete the selected directory.</DefDscrp>
<DefItem>
<A ID="pgfId-1090580"></A>
<UILabel-Table>
Refresh</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090606"></A>
Refresh the File Browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1090581"></A>
<UILabel-Table>
Copy Name</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090687"></A>
Place a copy of the selected directory name in the paste buffer. Include the full path of the directory name.</DefDscrp>
<DefItem>
<A ID="pgfId-1090582"></A>
<UILabel-Table>
Inspect</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090608"></A>
Open an Inspector window on the currently selected directory object.</DefDscrp>
<DefItem>
<A ID="pgfId-1090583"></A>
<UILabel-Table>
Go to...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090609"></A>
Prompt for a directory name, and display the contents of the specified directory in the File Browser.</DefDscrp>
<DefItem>
<A ID="pgfId-1090584"></A>
<UILabel-Table>
Go to Default</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090612"></A>
Go to the VisualWorks default directory. This is typically the VisualWorks &#34;home&#34; directory.</DefDscrp>
<DefItem>
<A ID="pgfId-1090585"></A>
<UILabel-Table>
File Dialog Directories-&gt;Go to Default Open Location</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090650"></A>
Go to the default location for opening files (if specified).</DefDscrp>
<DefItem>
<A ID="pgfId-1090586"></A>
<UILabel-Table>
File Dialog Directories-&gt;Go to Default Save Location</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090652"></A>
Go to the default location for saving files (if specified).</DefDscrp>
<DefItem>
<A ID="pgfId-1090587"></A>
<UILabel-Table>
File Dialog Directories-&gt;Make this Default Open Location</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090640"></A>
Specify the default location for opening files using a file dialog.</DefDscrp>
<DefItem>
<A ID="pgfId-1090575"></A>
<UILabel-Table>
File Dialog Directories-&gt;Make this Default Save Location</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090643"></A>
Specify the default location for saving files using a file dialog.</DefDscrp>
<Heading3>
<A ID="pgfId-1022737"></A>
<A ID="File Browser File View Menu"></A>
File View Menu</Heading3>
<DefItem>
<A ID="pgfId-1022745"></A>
<UILabel-Table>
Rename...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022747"></A>
Rename the currently selected file.</DefDscrp>
<DefItem>
<A ID="pgfId-1022749"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022751"></A>
Delete the currently selected file.</DefDscrp>
<DefItem>
<A ID="pgfId-1022753"></A>
<UILabel-Table>
Copy Name</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022755"></A>
Place a copy of the selected file name in the paste buffer. Include the full path of the file name.</DefDscrp>
<DefItem>
<A ID="pgfId-1022757"></A>
<UILabel-Table>
Inspect</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022759"></A>
Open an Inspector on the selected file object.</DefDscrp>
<DefItem>
<A ID="pgfId-1022761"></A>
<UILabel-Table>
Edit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022763"></A>
Open a Workspace on the selected file.</DefDscrp>
<DefItem>
<A ID="pgfId-1090746"></A>
<UILabel-Table>
Open in Change List</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090747"></A>
Open a Change List on the selected Smalltalk source file.</DefDscrp>
<DefItem>
<A ID="pgfId-1090756"></A>
<UILabel-Table>
Compare with System</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090757"></A>
Open a Change List on the selected Smalltalk source file, comparing its contents with that of the current image.</DefDscrp>
<DefItem>
<A ID="pgfId-1090761"></A>
<UILabel-Table>
File in...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090781"></A>
Compile the contents of the selected Smalltalk source file into the current image .</DefDscrp>
<DefItem>
<A ID="pgfId-1090766"></A>
<UILabel-Table>
File into New Change Set</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090767"></A>
Create a new Change Set and then compile the contents of the selected Smalltalk source file into the current image, placing the definitions into the new Change Set.</DefDscrp>
<DefItem>
<A ID="pgfId-1090795"></A>
<UILabel-Table>
Load</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090796"></A>
Load the currently selected parcel into the current image.</DefDscrp>
<Heading3>
<A ID="pgfId-1090718"></A>
<A ID="File Browser Contents View Menu"></A>
Contents View Menu</Heading3>
<DefItem>
<A ID="pgfId-1090719"></A>
<UILabel-Table>
Refresh All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028942"></A>
Refresh all views.</DefDscrp>
<DefItem>
<A ID="pgfId-1028944"></A>
<UILabel-Table>
Zoom</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1028946"></A>
Expand/contract the contents view.</DefDscrp>
<Body1>
<A ID="pgfId-1010193"></A>
</Body1>
<Heading2>
<A ID="pgfId-1010361"></A>
<A ID="Parcel Manager"></A>
Parcel Manager</Heading2>
<Body1>
<A ID="pgfId-1082658"></A>
Use a Parcel Manager to view, load or unload parcels from the current image.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-5.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1090533"></A>
The left-hand view presents the current <Emphasis>
parcel path</Emphasis>
. Use the <UI-Label>
Suggestions</UI-Label>
 tab to see a pre-defined set of recommended parcels. </Body1>
<Body1>
<A ID="pgfId-1090859"></A>
Click on the <UI-Label>
Directories</UI-Label>
 tab, to view the parcel paths as a directory tree. Selecting a particular directory displays all the parcels contained within it. Select the <UI-Label>
Loaded</UI-Label>
 tab to view all parcels that are currently loaded into your working image.</Body1>
<Body1>
<A ID="pgfId-1091003"></A>
By selecting a particular category, you may view a list of recommended parcels in the <Emphasis>
names</Emphasis>
 view. Select a parcel in the names view to view its properties.</Body1>
<Body1>
<A ID="pgfId-1090875"></A>
To load a parcel, select it from the names view, and choose <UI-Label>
Load</UI-Label>
 from the &lt;Operate&gt; menu.</Body1>
<Body1>
<A ID="pgfId-1022689"></A>
To browse a selected parcel that has already been loaded in the image, select <UI-Label>
Browse</UI-Label>
 from the &lt;Operate&gt; menu.</Body1>
<Body1>
<A ID="pgfId-1090889"></A>
Parcel Manager menus: <UI-Label>
<A href="03-tools.xml#id(Parcel Manager File Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">File</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Parcel Manager Parcel Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Parcel</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1082810"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1082814"></A>
<A href="dev-parcel-browser.xml#id(Managing Parcels)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Managing Parcels</A></Bullet1>
<Heading3>
<A ID="pgfId-1022692"></A>
<A ID="Parcel Manager File Menu"></A>
File Menu</Heading3>
<DefItem>
<A ID="pgfId-1090924"></A>
<UILabel-Table>
Load Parcel File...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090925"></A>
Prompt for the name of a parcel file, and load it into the current image.</DefDscrp>
<DefItem>
<A ID="pgfId-1090577"></A>
<UILabel-Table>
Close</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090603"></A>
Close the Parcel Manager.</DefDscrp>
<Heading3>
<A ID="pgfId-1022737"></A>
<A ID="Parcel Manager Parcel Menu"></A>
Parcel Menu</Heading3>
<DefItem>
<A ID="pgfId-1022745"></A>
<UILabel-Table>
Select All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022747"></A>
Select all parcels in the current category / directory.</DefDscrp>
<DefItem>
<A ID="pgfId-1090953"></A>
<UILabel-Table>
Load</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090954"></A>
Load the currently selected parcel into the current image.</DefDscrp>
<DefItem>
<A ID="pgfId-1090958"></A>
<UILabel-Table>
Unload</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090959"></A>
Unload the currently selected parcel from the current image.</DefDscrp>
<DefItem>
<A ID="pgfId-1090965"></A>
<UILabel-Table>
Browse</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1090966"></A>
Browse the currently selected parcel. The action is only available for parcels that are presently loaded in the image.</DefDscrp>
<Body1>
<A ID="pgfId-1010193"></A>
</Body1>
<Heading2>
<A ID="pgfId-1011178"></A>
<A ID="Change List"></A>
Change List</Heading2>
<Body1>
<A ID="pgfId-1083230"></A>
Use the Change List to view all changes made to the image since the last time it was saved, and to reload these changes selectively. These features allow you to see the evolution of a change or revert code back to prior versions.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-6.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1082996"></A>
The Change List enables you to compare several groups of changes and analyze their differences. Use these features when you want to make comparisons or check for conflicts between changes in the image, changes made since the last time the image was saved, or changes saved in files or parcels. Changes from any available source (in the image, from a file, or from a parcel) can be analyzed and cross-compared.</Body1>
<Body1>
<A ID="pgfId-1083062"></A>
Change List tool menus:
<UI-Label>
<A href="03-tools.xml#id(Change List File Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">File</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Change List Replay Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Replay</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Change List Remove Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Remove</A></UI-Label>
, <UI-Entry>
<A href="03-tools.xml#id(Change List Forget Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Forget</A></UI-Entry>
, <UI-Label>
<A href="03-tools.xml#id(Change List Find Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Find</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Change List Conflicts Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Conflicts</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Change List Show Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Show</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1022876"></A>
The list view also contains a pop-up &lt;Operate&gt; menu with the following commands: <A href="03-tools.xml#id(View Pop-Up Menu)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">View &lt;Operate&gt; Menu</A>.</Body1>
<Body1>
<A ID="pgfId-1083356"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1083360"></A>
<A href="dev-changes.xml#id(Changes and Change Sets)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Changes and Change Sets</A></Bullet1>
<Bullet1>
<A ID="pgfId-1083367"></A>
<A href="dev-changes.xml#id(Recovering Changes)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Recover changes</A></Bullet1>
<Body1>
<A ID="pgfId-1022879"></A>
</Body1>
<Heading3>
<A ID="pgfId-1083438"></A>
<A ID="View Pop-Up Menu"></A>
View &lt;Operate&gt; Menu</Heading3>
<DefItem>
<A ID="pgfId-1022890"></A>
<UILabel-Table>
file in/out-&gt;read file/directory...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022892"></A>
Prompt for a file- or pathname. Add the Smalltalk expressions contained in the designated file to the list being displayed. If a directory pathname is supplied, add the contents of all files (presumed to be Smalltalk code) in the directory to the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1022897"></A>
<UILabel-Table>
file in/out-&gt;write file...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022899"></A>
Prompt for a filename. Store the code indicated by the displayed change entries in that file. Do not save entries on the list that are marked for removal.</DefDscrp>
<DefItem>
<A ID="pgfId-1022904"></A>
<UILabel-Table>
file in/out-&gt;recover last changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022906"></A>
Display all changes made to the system since the last snapshot was made (i.e., the last image save operation).</DefDscrp>
<DefItem>
<A ID="pgfId-1022911"></A>
<UILabel-Table>
file in/out-&gt;display system changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022913"></A>
Add the contents of the currently active Change Set to the displayed list of changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1022918"></A>
<UILabel-Table>
replay all-&gt;from here</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022920"></A>
Execute every change entry in the list from the current selection to the end. Only change entries that are not marked for removal will be executed. If there is no current selection, replay from the top.</DefDscrp>
<DefItem>
<A ID="pgfId-1022925"></A>
<UILabel-Table>
replay all-&gt;from the top</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022927"></A>
Execute every change that is displayed in the list (and not marked for removal). If an exception occurs during the replay, the selection is left at the item which caused it.</DefDscrp>
<DefItem>
<A ID="pgfId-1022929"></A>
<UILabel-Table>
remove all</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022931"></A>
Mark all displayed entries for removal. Use <UILabel-Table>
forget</UILabel-Table>
 to delete marked entries.</DefDscrp>
<DefItem>
<A ID="pgfId-1022933"></A>
<UILabel-Table>
restore all</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022935"></A>
Unmark all displayed entries so they won&#39;t be affected by a <UILabel-Table>
forget</UILabel-Table>
 operation.</DefDscrp>
<DefItem>
<A ID="pgfId-1022937"></A>
<UILabel-Table>
spawn all...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022939"></A>
Open a new Change List window containing only the displayed entries (i.e., with all filter switches set to off but retaining the effect of the filters).</DefDscrp>
<DefItem>
<A ID="pgfId-1022941"></A>
<UILabel-Table>
forget</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022943"></A>
Delete every entry that has been marked for removal by a <UILabel-Table>
remove</UILabel-Table>
 operation.</DefDscrp>
<DefItem>
<A ID="pgfId-1022945"></A>
<UILabel-Table>
replay selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022947"></A>
Execute the selected change entry.</DefDscrp>
<DefItem>
<A ID="pgfId-1022949"></A>
<UILabel-Table>
remove selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022951"></A>
Mark the selected entry for deletion.</DefDscrp>
<DefItem>
<A ID="pgfId-1022953"></A>
<UILabel-Table>
restore selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022955"></A>
Unmark the selected entry.</DefDscrp>
<DefItem>
<A ID="pgfId-1022957"></A>
<UILabel-Table>
spawn selection...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022959"></A>
Open a Method browser on the current system definition of the selected method. If there is no difference between the selected change entry and the definition in the system, do nothing. If the class or method doesn&#39;t exist in the system, open a text view on the changed method definition.</DefDscrp>
<DefItem>
<A ID="pgfId-1022964"></A>
<UILabel-Table>
conflicts-&gt;check conflicts, save as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022966"></A>
Prompt for an output filename. Find each change entry in the list that affects the same class or method as another change entry, then save all versions of the affected code in the designated file.</DefDscrp>
<DefItem>
<A ID="pgfId-1022971"></A>
<UILabel-Table>
conflicts-&gt;check with system, save as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022973"></A>
Prompt for an output filename. Find change entries in which the code differs from the system&#39;s current version and save both versions of the affected code in the designated file.</DefDscrp>
<Heading3>
<A ID="pgfId-1083015"></A>
<A ID="Change List File Menu"></A>
File Menu</Heading3>
<DefItem>
<A ID="pgfId-1083016"></A>
<UILabel-Table>
Read file/directory...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022988"></A>
Prompt for a file- or pathname. Add the Smalltalk expressions contained in the designated file to the list being displayed. If a directory pathname is supplied, add the contents of all files (presumed to be Smalltalk code) in the directory to the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1022990"></A>
<UILabel-Table>
Read different source from file/directory...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022992"></A>
Prompt for a file- or pathname. Read changes from file(s) and compare the full source code for any differences with the code in the system. Add to the list each code change in the source file that differs. Perform a full source comparison, flagging any changes to formatting or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1022994"></A>
<UILabel-Table>
Read different code from file/directory...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1022996"></A>
Prompt for a pathname. Read changes from file(s) and analyze the code for any differences with the code in the system. Add to the list each code change in the source file that differs. Perform a code comparison only, ignoring changes to formatting or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1022998"></A>
<UILabel-Table>
Write file...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023000"></A>
Prompt for a filename. Store the code indicated by the displayed change entries in that file. Do not save entries on the list marked for removal.</DefDscrp>
<DefItem>
<A ID="pgfId-1023002"></A>
<UILabel-Table>
Recover last changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023004"></A>
Display all changes made to the system since the last snapshot was made (i.e., the last image save operation).</DefDscrp>
<DefItem>
<A ID="pgfId-1023006"></A>
<UILabel-Table>
Display system changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023008"></A>
Add the contents of the current Change Set to the displayed list of changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1023010"></A>
<UILabel-Table>
Display all system changes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023012"></A>
Add all the changes in the system (not just those in the current Change Set) to the displayed list of changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1023014"></A>
<UILabel-Table>
Display Parcel...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023016"></A>
Prompt with a list of loaded parcels. Read changes from the selected parcel, and display them in the change list.</DefDscrp>
<Heading3>
<A ID="pgfId-1083023"></A>
<A ID="Change List Replay Menu"></A>
Replay Menu</Heading3>
<DefItem>
<A ID="pgfId-1023027"></A>
<UILabel-Table>
This change</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023029"></A>
Execute the selected change entry.</DefDscrp>
<DefItem>
<A ID="pgfId-1023031"></A>
<UILabel-Table>
All from the top</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023033"></A>
Execute every change that is displayed in the list (and not marked for removal). If an exception occurs during the replay, the selection is left at the item which caused it.</DefDscrp>
<DefItem>
<A ID="pgfId-1023035"></A>
<UILabel-Table>
All from here on down</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023037"></A>
Execute every change entry in the list from the current selection to the end. Do not execute change entries that are marked for removal. If there is no current selection, replay from the top.</DefDscrp>
<Heading3>
<A ID="pgfId-1083026"></A>
<A ID="Change List Remove Menu"></A>
Remove Menu</Heading3>
<DefItem>
<A ID="pgfId-1023049"></A>
<UILabel-Table>
Selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023051"></A>
Mark the selected entry for deletion. Entries marked for removal are displayed with struck text.</DefDscrp>
<DefItem>
<A ID="pgfId-1023053"></A>
<UILabel-Table>
All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023055"></A>
Mark all displayed entries for removal. Use <UILabel-Table>
forget</UILabel-Table>
 to delete marked entries. Entries marked for removal are displayed with struck text.</DefDscrp>
<DefItem>
<A ID="pgfId-1023057"></A>
<UILabel-Table>
All above</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023059"></A>
Remove all changes above the currently selected change.</DefDscrp>
<DefItem>
<A ID="pgfId-1023061"></A>
<UILabel-Table>
All below</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023063"></A>
Remove all changes below the currently selected change.</DefDscrp>
<DefItem>
<A ID="pgfId-1023065"></A>
<UILabel-Table>
Exchange removed</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023067"></A>
Exchange the sets of removed and unremoved changes. Unmark all entries in the list that are marked for removal and vice versa.</DefDscrp>
<DefItem>
<A ID="pgfId-1023069"></A>
<UILabel-Table>
Same code as system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023071"></A>
Remove those changes that have the same code as the system, ignoring changes to formatting or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1023073"></A>
<UILabel-Table>
Same source as system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023075"></A>
Remove those changes that have exactly the same source as the system. Perform a source comparison, flagging any changes to code, formatting, or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1023077"></A>
<UILabel-Table>
Different code to system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023079"></A>
Analyze each change in the list for differences from the code in the system, ignoring any changes in formatting or comments. Remove those changes that differ in effect from the system&#39;s versions.</DefDscrp>
<DefItem>
<A ID="pgfId-1023081"></A>
<UILabel-Table>
Different source to system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023083"></A>
Remove those changes that are not exactly the same as the system&#39;s versions. Perform a full source comparison, removing methods containing any changes to code, formatting, or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1023085"></A>
<UILabel-Table>
Classes not in system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023087"></A>
Remove those changes that have no class in the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1023089"></A>
<UILabel-Table>
Methods not in system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023091"></A>
Remove those method changes that have no corresponding method in the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1023093"></A>
<UILabel-Table>
Old versions</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023095"></A>
Remove any conflicting changes in the list, leaving only the latest version of each change. Determine conflicts by comparing the code of the successive changes. If there is a selection in the list, only remove conflicting changes that occur before the selected item. If the left &lt;Shift&gt; key is pressed while selecting this action, remove later changes to leave only the earliest change.</DefDscrp>
<DefItem>
<A ID="pgfId-1023097"></A>
<UILabel-Table>
Exact duplicates</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023099"></A>
Remove any duplicate changes in the list to leave only one version of each change. Perform a full source comparison on each change to identify duplicates. If the left &lt;Shift&gt; key is pressed while selecting this action, only remove duplicates later in the list; otherwise, remove duplicates earlier in the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1023101"></A>
<UILabel-Table>
Conflicts</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023103"></A>
Remove all changes in the list that conflict with other changes in the list (even if they&#39;re duplicates).</DefDscrp>
<DefItem>
<A ID="pgfId-1023105"></A>
<UILabel-Table>
Changes containing string...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023107"></A>
Prompt for a string, and remove all changes that contain text matching the string (the comparison is case-insensitive.)</DefDscrp>
<Heading3>
<A ID="pgfId-1083031"></A>
<A ID="Change List Forget Menu"></A>
Forget Menu</Heading3>
<DefItem>
<A ID="pgfId-1023119"></A>
<UILabel-Table>
Forget these</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023121"></A>
Forget changes that have been marked on the list for removal. This command is useful in conjunction with the various filters used to restrict the list to a single class, method, type, &amp;c.</DefDscrp>
<DefItem>
<A ID="pgfId-1023123"></A>
<UILabel-Table>
Forget all</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023125"></A>
Forget every entry that has been marked for removal by a <UILabel-Table>
remove</UILabel-Table>
 operation.</DefDscrp>
<DefItem>
<A ID="pgfId-1023127"></A>
<UILabel-Table>
Restore selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023129"></A>
Unmark the selected entry.</DefDscrp>
<DefItem>
<A ID="pgfId-1023131"></A>
<UILabel-Table>
Restore all</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023133"></A>
Unmark all displayed entries so they won&#39;t be affected by a <UILabel-Table>
forget</UILabel-Table>
 operation.</DefDscrp>
<DefItem>
<A ID="pgfId-1023135"></A>
<UILabel-Table>
Restore changes containing string</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023137"></A>
Prompt for a string, and restore all changes that contain text matching the string (the comparison is case-insensitive.)</DefDscrp>
<Heading3>
<A ID="pgfId-1083036"></A>
<A ID="Change List Find Menu"></A>
Find Menu</Heading3>
<DefItem>
<A ID="pgfId-1023149"></A>
<UILabel-Table>
Find file...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023151"></A>
Prompt for a file name, and search for all changes in that file. Select and display these changes, enabling the <UILabel-Table>
file</UILabel-Table>
 filter.</DefDscrp>
<DefItem>
<A ID="pgfId-1023153"></A>
<UILabel-Table>
Find type...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023155"></A>
Prompt for a string, and search for all changes of that type (e.g., class definition, method definition, &amp;c). Select and display these changes, enabling the <UILabel-Table>
type</UILabel-Table>
 filter.</DefDscrp>
<DefItem>
<A ID="pgfId-1023157"></A>
<UILabel-Table>
Find class...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023159"></A>
Prompt for a string, and search for all changes to that class. Select and display these changes, enabling the <UILabel-Table>
class</UILabel-Table>
 filter.</DefDscrp>
<DefItem>
<A ID="pgfId-1023161"></A>
<UILabel-Table>
Find protocol...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023163"></A>
Prompt for a string, and search for all changes to that protocol. Select and display these changes, enabling the <UILabel-Table>
protocol</UILabel-Table>
 filter.</DefDscrp>
<DefItem>
<A ID="pgfId-1023165"></A>
<UILabel-Table>
Find selector...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023167"></A>
Prompt for a string, and search for all changes to that selector. Select and display these changes, enabling the <UILabel-Table>
selector</UILabel-Table>
 filter.</DefDscrp>
<DefItem>
<A ID="pgfId-1023169"></A>
<UILabel-Table>
Spawn selection</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023171"></A>
Open a Method Browser on the current system definition of the same method. If there is no difference between the selected change entry and the definition in the system, do nothing. If the class or method doesn&#39;t exist in the system, open a text view on the changed method definition.</DefDscrp>
<DefItem>
<A ID="pgfId-1023173"></A>
<UILabel-Table>
Spawn all</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023175"></A>
Open a new Change List window containing only the displayed entries (i.e., with all filter switches set to off but retaining the effect of the filters).</DefDscrp>
<DefItem>
<A ID="pgfId-1023177"></A>
<UILabel-Table>
Spawn changes containing string</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023179"></A>
Prompt for a string, and spawn a Change List on those changes that match the string (the comparison is case-insensitive).</DefDscrp>
<DefItem>
<A ID="pgfId-1023184"></A>
<UILabel-Table>
Class matching-&gt;Instance and class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023186"></A>
Ignore the distinction between class and metaclass changes. Show both class and instance method changes in the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1023191"></A>
<UILabel-Table>
Class matching-&gt;Selected class only</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023193"></A>
Recognize the distinction between class and metaclass changes. Do not show both class and instance method changes. If a class method is currently selected in the change list, the list will be refreshed to eliminate instance methods; if an instance method is currently selected, the filter will be set to ignore class methods.</DefDscrp>
<DefItem>
<A ID="pgfId-1023195"></A>
<UILabel-Table>
Same file</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023197"></A>
Toggle the filter for displaying entries contained in the same file as the selected item. This action has the same effect as clicking on the <UILabel-Table>
file</UILabel-Table>
 filter switch.</DefDscrp>
<DefItem>
<A ID="pgfId-1023199"></A>
<UILabel-Table>
Same type</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023201"></A>
Toggle the filter for displaying entries of the same type as the selected item. This action has the same effect as clicking on the <UILabel-Table>
type</UILabel-Table>
 filter switch.</DefDscrp>
<DefItem>
<A ID="pgfId-1023203"></A>
<UILabel-Table>
Same class</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023205"></A>
Toggle the filter for displaying entries of the same class as the selected item. This action has the same effect as clicking on the <UILabel-Table>
class</UILabel-Table>
 filter switch.</DefDscrp>
<DefItem>
<A ID="pgfId-1023207"></A>
<UILabel-Table>
Same protocol</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023209"></A>
Toggle the filter for displaying entries of the same protocol as the selected item. This action has the same effect as clicking on the <UILabel-Table>
protocol</UILabel-Table>
 filter switch.</DefDscrp>
<DefItem>
<A ID="pgfId-1023211"></A>
<UILabel-Table>
Same selector</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023213"></A>
Toggle the filter for displaying entries with the same method selector as the selected item. This action has the same effect as clicking on the <UILabel-Table>
selector</UILabel-Table>
 filter switch</DefDscrp>
<DefItem>
<A ID="pgfId-1023215"></A>
<UILabel-Table>
Same change</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023217"></A>
Toggle the filter for displaying entries with the same properties as the selected item. This action has the same effect as clicking on the <UILabel-Table>
same</UILabel-Table>
 filter switch.</DefDscrp>
<Heading3>
<A ID="pgfId-1083041"></A>
<A ID="Change List Conflicts Menu"></A>
Conflicts Menu</Heading3>
<DefItem>
<A ID="pgfId-1023232"></A>
<UILabel-Table>
conflicts-&gt;check conflicts, save as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023234"></A>
Prompt for an output filename. Find each change entry in the list that affects the same class or method as another change entry, then save all versions of the affected code in the designated file.</DefDscrp>
<DefItem>
<A ID="pgfId-1023239"></A>
<UILabel-Table>
conflicts-&gt;check with system, save as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023241"></A>
Prompt for an output filename. Find change entries in which the code differs from the system&#39;s current version and save both versions of the affected code in the designated file.</DefDscrp>
<DefItem>
<A ID="pgfId-1023243"></A>
<UILabel-Table>
Remove conflicts</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023245"></A>
Remove all conflicting changes from the list (even if they&#39;re duplicates).</DefDscrp>
<DefItem>
<A ID="pgfId-1023247"></A>
<UILabel-Table>
Remove conflicts with system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023249"></A>
Remove those changes that differ in effect from the system&#39;s versions. Analyze each change for any differences with the code in the system, ignoring changes to formatting or comments.</DefDscrp>
<DefItem>
<A ID="pgfId-1023251"></A>
<UILabel-Table>
Add system conflicts</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023253"></A>
Add to the list new change entries for all messages in the list that conflict with the system.</DefDscrp>
<DefItem>
<A ID="pgfId-1023255"></A>
<UILabel-Table>
Add original versions</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023257"></A>
Add to the list new change entries for all changes in the list that are also found in the sources files.</DefDscrp>
<DefItem>
<A ID="pgfId-1023259"></A>
<UILabel-Table>
Add to change set</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023261"></A>
Add to the current change set those changes that correspond to the currently listed changes. Do not compile the contents of the change list into the system; modify only the contents of the current change set. Use the commands on the <UILabel-Table>
Replay</UILabel-Table>
 menu to integrate the changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1023263"></A>
<UILabel-Table>
Remove from change set</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023265"></A>
Remove from the current change set those changes that correspond to the currently listed changes. Do not compile the contents of the change list into the system; modify only the contents of the current change set. Use the commands on the <UILabel-Table>
Replay</UILabel-Table>
 menu to integrate the changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1023267"></A>
<UILabel-Table>
Build script to system</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1023269"></A>
Spawn a new Change List window containing changes necessary to convert the contents of this change list to that of the current system. It is assumed that the current Change List contains complete code for one or more classes from some other foreign system which differs from the running image.</DefDscrp>
<Heading3>
<A ID="pgfId-1083046"></A>
<A ID="Change List Show Menu"></A>
Show Menu</Heading3>
<DefItem>
<A ID="pgfId-1026175"></A>
<UILabel-Table>
Show file</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026177"></A>
Toggle the display to list the file that contains each change item on the list. The format of each item in the list will be changed as long as this option is selected.</DefDscrp>
<DefItem>
<A ID="pgfId-1026179"></A>
<UILabel-Table>
Show protocol</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026181"></A>
Toggle the display to list the protocol of each change item on the list. The format of each item in the list will be changed as long as this option is selected.</DefDscrp>
<DefItem>
<A ID="pgfId-1026183"></A>
<UILabel-Table>
Show conflicts</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026185"></A>
Toggle the lower view of the Change List window to display two parallel panes. When this option is enabled, it is possible to see a source-level analysis of conflicts between methods.</DefDscrp>
<DefItem>
<A ID="pgfId-1026190"></A>
<UILabel-Table>
Conflicts-&gt;Vertical view</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026192"></A>
Display the parallel conflict sub-views in a vertical arrangement. This option only works when <UILabel-Table>
Show conflicts</UILabel-Table>
 has been enabled.</DefDscrp>
<DefItem>
<A ID="pgfId-1026197"></A>
<UILabel-Table>
Conflicts-&gt;Horizontal view</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026199"></A>
Display the parallel conflict sub-views in an horizontal arrangement. This option only works when <UILabel-Table>
Show conflicts</UILabel-Table>
 has been enabled.</DefDscrp>
<DefItem>
<A ID="pgfId-1026204"></A>
<UILabel-Table>
Conflicts-&gt;Source differences</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026206"></A>
Emphasize (highlight) differences in the source text of conflicting changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1026211"></A>
<UILabel-Table>
Conflicts-&gt;Code differences</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026213"></A>
Emphasize (highlight) only the differences in the code of conflicting changes.</DefDscrp>
<DefItem>
<A ID="pgfId-1026218"></A>
<UILabel-Table>
Conflicts-&gt;Emphasize in list</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026220"></A>
Toggle the emphasis of the items on the list of changes. When list items are emphasized, bold face is used to indicate changes, while italics are used to indicate no change.</DefDscrp>
<DefItem>
<A ID="pgfId-1026225"></A>
<UILabel-Table>
Conflicts-&gt;Indicate same methods</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026227"></A>
Toggle the indication of methods which are the same. The text <UILabel-Table>
(same)</UILabel-Table>
 will appear next to appropriate items on the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1026232"></A>
<UILabel-Table>
Line-end treatment-&gt;As in file</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026234"></A>
Do not normalize line-endings. When comparing source files that are produced on different platforms, the Change List automatically normalizes all line-endings. Use this command to toggle this process of normalization.</DefDscrp>
<DefItem>
<A ID="pgfId-1026240"></A>
<UILabel-Table>
Line-end treatment-&gt;Converted to CRs</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1083302"></A>
Normalize line-endings. When comparing source files that are produced on different platforms, the Change List automatically normalizes all line-endings. Use this command to toggle this process of normalization.</DefDscrp>
<Body1>
<A ID="pgfId-1083304"></A>
</Body1>
<Body1>
<A ID="pgfId-1010193"></A>
</Body1>
<Heading2>
<A ID="pgfId-1082020"></A>
<A ID="Change Set Browser"></A>
Change Set Browser</Heading2>
<Body1>
<A ID="pgfId-1082511"></A>
Change sets are listed in the <Glossary>
Project Browser</Glossary>
 window. There is always a <UI-Label>
Default</UI-Label>
 change set list. If no change set is selected, or if <UI-Label>
Default</UI-Label>
 is selected in the Project Browser, all changes are recorded in the default change set. An empty change set is indicated with a &#34;<UI-Label>
-</UI-Label>
&#34; character following the name; a change set containing unsaved changes is indicated with a &#34;<UI-Label>
*</UI-Label>
&#34; character following the name.</Body1>
<Body1>
<A ID="pgfId-1082023"></A>
Selecting a change set in the Project Browser makes it the active or &#34;current&#34; change set. All subsequent changes you make to the image will be saved in that change set.</Body1>
<Body1>
<A ID="pgfId-1026247"></A>
The Project Browser has a menu bar with a single drop-down <UI-Label>
<A href="03-tools.xml#id(ChangeSet Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">ChangeSet</A></UI-Label>
 menu; it is identical to a pop-up &lt;Operate&gt; menu.</Body1>
<Body1>
<A ID="pgfId-1082563"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1082567"></A>
<A href="dev-changes.xml#id(Changes and Change Sets)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Changes and Change Sets</A></Bullet1>
<Bullet1>
<A ID="pgfId-1082570"></A>
<A href="dev-changes.xml#id(Recovering Changes)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Recover changes</A></Bullet1>
<Heading3>
<A ID="pgfId-1026258"></A>
<A ID="ChangeSet Menu"></A>
ChangeSet Menu</Heading3>
<DefItem>
<A ID="pgfId-1026266"></A>
<UILabel-Table>
Add...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026268"></A>
Prompt for a name. Create a new change set using the name provided.</DefDscrp>
<DefItem>
<A ID="pgfId-1026270"></A>
<UILabel-Table>
File in from...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026272"></A>
Prompt for an input file. Open the named file and file it into the current change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026274"></A>
<UILabel-Table>
File out as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026276"></A>
Prompt for a filename. Store all changes in the current change set in the specified file.</DefDscrp>
<DefItem>
<A ID="pgfId-1026281"></A>
<UILabel-Table>
File out all...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026283"></A>
Prompt for the name of a directory. Store all change sets in that directory, saving each set in a separate file.</DefDscrp>
<DefItem>
<A ID="pgfId-1026288"></A>
<UILabel-Table>
Package out as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026290"></A>
Prompt for a filename. Package and store all changes in the current change set in the specified file.</DefDscrp>
<DefItem>
<A ID="pgfId-1026295"></A>
<UILabel-Table>
Rename as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026297"></A>
Prompt for a name. Rename the current change set using the name provided.</DefDscrp>
<DefItem>
<A ID="pgfId-1026302"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026304"></A>
Delete the selected change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026309"></A>
<UILabel-Table>
Bin out as...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026311"></A>
Prompt for the name of a BOSS &#34;<Platform>
.bst</Platform>
&#34; file. Store all changes in the current change set in the specified file.</DefDscrp>
<DefItem>
<A ID="pgfId-1026316"></A>
<UILabel-Table>
Remove Project Code</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026318"></A>
Expunge the code in the currently selected project.</DefDscrp>
<DefItem>
<A ID="pgfId-1026323"></A>
<UILabel-Table>
Remove Script</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026326"></A>
Note: No longer supported.</DefDscrp>
<DefItem>
<A ID="pgfId-1026331"></A>
<UILabel-Table>
Import Script</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1082599"></A>
Note: No longer supported.</DefDscrp>
<DefItem>
<A ID="pgfId-1026425"></A>
<UILabel-Table>
Empty...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026427"></A>
Empty the active change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026421"></A>
<UILabel-Table>
Browse</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026423"></A>
Open a method browser for all the changes in the selected change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026417"></A>
<UILabel-Table>
Edit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026419"></A>
Open a Change Set Editor on the selected change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026413"></A>
<UILabel-Table>
Inspect</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026415"></A>
Open an Inspector on the selected change set.</DefDscrp>
<DefItem>
<A ID="pgfId-1026409"></A>
<UILabel-Table>
senders...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026411"></A>
Prompt for a selector. Open a list browser on all methods in the selected change set that reference the provided selector.</DefDscrp>
<DefItem>
<A ID="pgfId-1026405"></A>
<UILabel-Table>
implementors...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026407"></A>
Prompt for a selector. Open a list browser on all methods in the selected change set that implement the provided selector.</DefDscrp>
<DefItem>
<A ID="pgfId-1026401"></A>
<UILabel-Table>
Find class...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026403"></A>
Prompt for a class name. Highlight the next change set in the Project Browser that refers to specified class.</DefDscrp>
<DefItem>
<A ID="pgfId-1026397"></A>
<UILabel-Table>
Find selector...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1026399"></A>
Prompt for a selector. Highlight the next change set in the Project Browser that refers to specified selector.</DefDscrp>
<DefItem>
<A ID="pgfId-1082605"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1082606"></A>
Close the Change Set browser.</DefDscrp>
<Body1>
<A ID="pgfId-1010193"></A>
</Body1>
<Body1>
<A ID="pgfId-1082521"></A>
</Body1>
<Body1>
<A ID="pgfId-1082522"></A>
</Body1>
<Heading2>
<A ID="pgfId-1028985"></A>
<A ID="Debugger"></A>
Debugger</Heading2>
<Body1>
<A ID="pgfId-1028989"></A>
The Debugger enables you to look at the methods that are waiting for a return value when a program interrupt occurs. Use it to examine the values of variables in each context, dynamically change a value or a method, insert breakpoints, and restart execution at a chosen location with new values and new code experimentally in place.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-7.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1028992"></A>
The <I>
execution stack</I>
 lists the message-sends that were waiting for a return at the time of the error. Use the stack view&#39;s &lt;Operate&gt; menu to proceed with the program&#39;s execution at the desired pace, and to expand the depth of the listing.</Body1>
<Body1>
<A ID="pgfId-1043588"></A>
The <I>
stack inspector</I>
 allows inspecting  the selected expression&#39;s intermediate stack values.</Body1>
<Body1>
<A ID="pgfId-1028993"></A>
Select a message-send in the stack view to display the corresponding method in the code view. Within the method, the current point of execution is automatically highlighted.</Body1>
<Body1>
<A ID="pgfId-1028994"></A>
Use the two <I>
inspector views</I>
 to examine and modify instance and temporary variables. The variables are updated as you choose different positions in the execution stack. Variables can be modified (using <UI-Label>
Accept</UI-Label>
).</Body1>
<Body1>
<A ID="pgfId-1040294"></A>
 The Debugger window has several menus: <UI-Label>
<A href="03-tools.xml#id(Stack View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Stack</A></UI-Label>
 view, <A href="03-tools.xml#id(Method menu)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Method menu</A>, <A href="03-tools.xml#id(Execute menu)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Execute menu</A>, <A href="03-tools.xml#id(Correct menu)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Correct menu</A>,  and <UI-Label>
<A href="03-tools.xml#id(Code View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Code</A></UI-Label>
 views.</Body1>
<Body1>
<A ID="pgfId-1040423"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1040427"></A>
<A href="03-tools.xml#id(Notifier)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Notifier</A></Bullet1>
<Bullet1>
<A ID="pgfId-1040431"></A>
<A href="dev-debugger.xml#id(Debugging Techniques)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Debugging Techniques</A></Bullet1>
<Bullet1>
<A ID="pgfId-1040453"></A>
<A href="dev-debugger.xml#id(Inspect and change a variable)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Inspect and change a variable</A></Bullet1>
<Heading3>
<A ID="pgfId-1040298"></A>
<A ID="Stack View Menu"></A>
Stack View Menu</Heading3>
<DefItem>
<A ID="pgfId-1043613"></A>
<UILabel-Table>
Copy Stack Report</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043614"></A>
Copies the context list to the clipboard so it can be pasted into a document or workspace.</DefDscrp>
<DefItem>
<A ID="pgfId-1043615"></A>
<UILabel-Table>
Show More Stack</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043616"></A>
This command adds more contexts to the context list. Under normal conditions the debugger opens with the stack size set to 500, so this command is seldom needed.</DefDscrp>
<DefItem>
<A ID="pgfId-1043617"></A>
<UILabel-Table>
Filter Stack</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043618"></A>
When selected, filters out debugger process messages. Also enables highlighting stack entries according to patterns set up in Settings tool, on the Debugger page.</DefDscrp>
<DefItem>
<A ID="pgfId-1043619"></A>
<UILabel-Table>
Use Short Class Names</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043620"></A>
When selected, displays only the class names, without the dotted-name prefix for classes that are not visible outside the Smalltalk name space.</DefDscrp>
<DefItem>
<A ID="pgfId-1043621"></A>
<UILabel-Table>
Select Home Context</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043622"></A>
Searches the stack and selects the home context of the currently selected context. If the home context is not on the stack, a dialog will inform the user of the situation.</DefDscrp>
<DefItem>
<A ID="pgfId-1043623"></A>
<UILabel-Table>
Inspect Context</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043624"></A>
Opens an inspector on the method context.</DefDscrp>
<DefItem>
<A ID="pgfId-1043625"></A>
<UILabel-Table>
Bookmark Context</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043626"></A>
Highlights the stack item (context) and adds it as an item on the Stack /  Bookmark menu, for easy access to this context.</DefDscrp>
<DefItem>
<A ID="pgfId-1043630"></A>
<UILabel-Table>
Clear Bookmark</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043631"></A>
Clears the bookmark for this context.</DefDscrp>
<Heading3>
<A ID="pgfId-1043702"></A>
<A ID="Method menu"></A>
Method menu</Heading3>
<Body1>
<A ID="pgfId-1043703"></A>
These items on this menu are the same as in the System Browser, with this addition:</Body1>
<DefItem>
<A ID="pgfId-1043704"></A>
<UILabel-Table>
Recompile with Full Blocks</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043705"></A>
Recompiles the method so that all the blocks are full blocks. This also has the effect of causing the method to be reentered, i.e., the execution state of the method is reset. An <UI-Label>
Accept</UI-Label>
 command also causes the method to be reentered. This method is a temporary method and disappears when a method return is executed.</DefDscrp>
<Heading3>
<A ID="pgfId-1043733"></A>
<A ID="Execute menu"></A>
Execute menu</Heading3>
<DefItem>
<A ID="pgfId-1043734"></A>
<UILabel-Table>
Step Into</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043735"></A>
The most detailed stepping operation. When a message send is selected, it sends the message and displays the resulting context. Otherwise, it steps through the method, stepping into blocks along the way.</DefDscrp>
<DefItem>
<A ID="pgfId-1043736"></A>
<UILabel-Table>
Step</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043737"></A>
Steps through the method, stepping into blocks along the way.</DefDscrp>
<DefItem>
<A ID="pgfId-1043738"></A>
<UILabel-Table>
Step Over</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043739"></A>
Steps through the method, stepping over blocks as they occur.</DefDscrp>
<DefItem>
<A ID="pgfId-1043740"></A>
<UILabel-Table>
Restart</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043741"></A>
Initializes the selected context and restarts execution at beginning of its method, as if the debugger had just stepped into it. The method may be either a <Code>
CompiledMethod</Code>
 or a <Code>
CompiledBlock</Code>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1043742"></A>
<UILabel-Table>
Return</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043743"></A>
Allows the selected method or block to discontinue further execution and return immediately to its sender.</DefDscrp>
<DefItem>
<A ID="pgfId-1043744"></A>
<UILabel-Table>
Run to caret</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043745"></A>
Advances to the caret, either into or out of a block closure. This is limited to full block closures. If a return is encountered within the selected context before the caret is reached, execution will stop before executing the return. However, if the return is within a block closure the method may return, at which point execution will stop.</DefDscrp>
<DefItem>
<A ID="pgfId-1043746"></A>
<UILabel-Table>
Jump to caret</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043747"></A>
Jumps over code to the next caret, without execution. It causes the execution point to be positioned at the beginning of the statement containing the caret. A jump to caret into or out of a block closure cannot be performed. However, it is possible to jump into and out of conditional blocks, because they have been optimized by the compiler and are not real block closures. Also, it is not possible to jump into a loop, even if it has been optimized by the compiler. </DefDscrp>
<DefItem>
<A ID="pgfId-1043748"></A>
<UILabel-Table>
Run</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043749"></A>
Continues execution from the current location.</DefDscrp>
<DefItem>
<A ID="pgfId-1043750"></A>
<UILabel-Table>
Run with Break on Return</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043751"></A>
This command and the next are useful for debugging loops. This command is similar to Run, except that an implicit breakpoint is set to be triggered upon return from the current context. Also, the debugger remains open. Execution stops either upon return from the context, or if another breakpoint is encountered before then. Execution is guaranteed to stop, so runaway loops can be interrupted.</DefDscrp>
<DefItem>
<A ID="pgfId-1043752"></A>
<UILabel-Table>
Run with Break Again</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043753"></A>
Like <UI-Label>
Run with Break on Return</UI-Label>
, except that it does not establish a breakpoint to be triggered on return. This option becomes available only after a breakpoint has been set up by <UI-Label>
Run with Break on Return</UI-Label>
. </DefDscrp>
<DefItem>
<A ID="pgfId-1043760"></A>
<UILabel-Table>
Terminate</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043761"></A>
Terminates the process being debugged and closes the debugger. This is the same action that occurs when the window is closed using a window close command.</DefDscrp>
<DefItem>
<A ID="pgfId-1043762"></A>
<UILabel-Table>
Abort</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043763"></A>
This command is activated when the code is running, during one of the <UI-Label>
Step</UI-Label>
 commands or <UI-Label>
Run with Break on Return</UI-Label>
. The step has to take a significant time to run before you will notice that the command is available. </DefDscrp>
<Heading3>
<A ID="pgfId-1043764"></A>
<A ID="Correct menu"></A>
Correct menu</Heading3>
<DefItem>
<A ID="pgfId-1043765"></A>
<UILabel-Table>
Define method</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043766"></A>
Activated when when the top context is a MNU, this command inserts a new method definition for the not understood selector, which simply calls <Code>
halt</Code>
. The message is defined in <Code>
UndefinedObject</Code>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1043767"></A>
<UILabel-Table>
Correct selector</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030268"></A>
Activated when when the top context is a MNU, this command presents a list of suggested correct spellings of the not understood message selector. If the correct selector is in the list, select it, and the command corrects the source code, recompiles the method, then does the send.</DefDscrp>
<Heading3>
<A ID="pgfId-1043775"></A>
<A ID="Code View Menu"></A>
Code View Menu</Heading3>
<DefItem>
<A ID="pgfId-1030276"></A>
<UILabel-Table>
Find...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030278"></A>
Prompt for a string of text. Scan the contents of the code view and highlight the next occurrence of the search string.</DefDscrp>
<DefItem>
<A ID="pgfId-1030280"></A>
<UILabel-Table>
Replace...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030282"></A>
Open a dialog prompting for find and replace strings. Scan the contents of the code view, replacing each occurrence of the <UILabel-Table>
Find:</UILabel-Table>
 text with that of the <UILabel-Table>
Replace:</UILabel-Table>
 text. Options are provided to start at the beginning of the view, at the position of the current selection, and to scan forward or backward.</DefDscrp>
<DefItem>
<A ID="pgfId-1030284"></A>
<UILabel-Table>
Undo</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030286"></A>
Reverse the most recent cut or paste.</DefDscrp>
<DefItem>
<A ID="pgfId-1030288"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030290"></A>
Place a copy of the highlighted text in memory.</DefDscrp>
<DefItem>
<A ID="pgfId-1030292"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030294"></A>
Place a copy of the highlighted text in the paste buffer, then delete the original.</DefDscrp>
<DefItem>
<A ID="pgfId-1030296"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030298"></A>
Delete the highlighted text (if any), then place a copy of the most recently copied or cut selection in that location. To open a dialog presenting the five most recent text segments that have been copied or cut, hold down &lt;Shift&gt; while selecting <UILabel-Table>
Paste</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1030300"></A>
<UILabel-Table>
Do it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030302"></A>
Execute the highlighted text as a Smalltalk expression. The scope of execution is the selected class, so class variables can be used in the expressions, and <Smalltalk-Code-Table>
self</Smalltalk-Code-Table>
 refers to the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1030304"></A>
<UILabel-Table>
Print it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030306"></A>
Execute the highlighted text as a Smalltalk expression and insert the resulting object in the text. The printed string becomes the current selection, so it can be deleted easily.</DefDscrp>
<DefItem>
<A ID="pgfId-1030308"></A>
<UILabel-Table>
Inspect it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030310"></A>
Same as <UILabel-Table>
do it</UILabel-Table>
, except an inspector is opened on the resulting object.</DefDscrp>
<DefItem>
<A ID="pgfId-1043945"></A>
<UILabel-Table>
Debug it</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043946"></A>
Opens a debugger on the expression allowing you to step through the execution.</DefDscrp>
<DefItem>
<A ID="pgfId-1030312"></A>
<UILabel-Table>
Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030314"></A>
Compile the code and, assuming no errors are found, place it in the image.</DefDscrp>
<DefItem>
<A ID="pgfId-1030316"></A>
<UILabel-Table>
Cancel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030318"></A>
Restore the entire text to its condition when it was last compiled (with <UILabel-Table>
Accept</UILabel-Table>
).</DefDscrp>
<DefItem>
<A ID="pgfId-1030320"></A>
<UILabel-Table>
Format</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030322"></A>
Impose standard font characteristics and indentation conventions on the code.</DefDscrp>
<DefItem>
<A ID="pgfId-1030328"></A>
<UILabel-Table>
Explain</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030330"></A>
Insert an explanation of the selected literal or variable. The explanation frequently contains a Smalltalk expression that you can execute to get more details.</DefDscrp>
<DefItem>
<A ID="pgfId-1043998"></A>
<UILabel-Table>
Insert breakpoint</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043999"></A>
Inserts a breakpoint probe.</DefDscrp>
<DefItem>
<A ID="pgfId-1044000"></A>
<UILabel-Table>
Insert probe...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1043995"></A>
Opens a probe editor to add a new probe.</DefDscrp>
<DefItem>
<A ID="pgfId-1043986"></A>
<UILabel-Table>
Modify probe</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1044003"></A>
Opens a probe editor to modify the selected probe.</DefDscrp>
<DefItem>
<A ID="pgfId-1043987"></A>
<UILabel-Table>
Remove probe</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1044004"></A>
Provides submenu items to remove the selected or all probes.</DefDscrp>
<Heading3>
<A ID="pgfId-1040469"></A>
<A ID="Notifier"></A>
Notifier</Heading3>
<Body1>
<A ID="pgfId-1040470"></A>
A notifier window opens when a program error occurs. The notifier displays the last five message-sends on the execution stack, indicating the message-sends that were waiting for a return when the exception occurred.</Body1>
<Body1>
<A ID="pgfId-1040471"></A>
The <UI-Label>
Terminate</UI-Label>
 button closes the notifier and aborts the context stack that raised the error.</Body1>
<Body1>
<A ID="pgfId-1040472"></A>
The <UI-Label>
Proceed</UI-Label>
 button closes the notifier and continues execution. This is advisable only when the error is a warning.</Body1>
<Body1>
<A ID="pgfId-1040476"></A>
The <UI-Label>
Debug</UI-Label>
 button closes the notifier and opens a <A href="03-tools.xml#id(Debugger)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Debugger</A> to examine the conditions that led to the failure more closely.</Body1>
<Body1>
<A ID="pgfId-1040477"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1040481"></A>
<A href="dev-debugger.xml#id(Debugging Techniques)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Debugging Techniques</A></Bullet1>
<Body1>
<A ID="pgfId-1029452"></A>
</Body1>
<Heading2>
<A ID="pgfId-1029127"></A>
<A ID="Resource Finder"></A>
Resource Finder</Heading2>
<Body1>
<A ID="pgfId-1036376"></A>
Use the Resource Finder to browse and create <A href="help-glossary.xml#id(resource method)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">resource method</A>s. It may be used in conjunction with the <A href="03-tools.xml#id(User Interface Painter)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">User Interface Painter</A> to build application models. To open a Resource Finder, select <UI-Label>
Browse-&gt;Resources</UI-Label>
 in the VisualWorks <A href="03-tools.xml#id(Launcher)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Launcher</A> window. </Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-8.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1036402"></A>
Select an application class in the left-hand view to display all corresponding <I>
resource methods</I>
 belonging to that class.</Body1>
<Body1>
<A ID="pgfId-1035837"></A>
The buttons below the menu options of the Resource Finder enable you to <UI-Label>
Browse</UI-Label>
 the code for a selected class, <UI-Label>
Start</UI-Label>
 the main interface (by sending open to the class), <UI-Label>
Add</UI-Label>
 a blank resource to a new or existing class, <UI-Label>
Remove</UI-Label>
 a resource, and <UI-Label>
Edit</UI-Label>
 a resource.</Body1>
<Body1>
<A ID="pgfId-1035838"></A>
To open a resource in a specialized editor, double-click on the list item or select it and click on the <UI-Label>
Edit</UI-Label>
 button. </Body1>
<Body1>
<A ID="pgfId-1029147"></A>
The Resource Finder has a menu bar with three menus:
<UI-Label>
<A href="03-tools.xml#id(Resource Finder View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">View</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Resource Finder Class Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Class</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Resource Finder Resources Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Resources</A></UI-Label>
. </Body1>
<Body1>
<A ID="pgfId-1035955"></A>
The &lt;Operate&gt; menus in the class and resource views contain commands that are identical to the commands available in the drop-down menus.</Body1>
<Body1>
<A ID="pgfId-1036503"></A>
</Body1>
<Heading3>
<A ID="pgfId-1029150"></A>
<A ID="Resource Finder View Menu"></A>
View Menu</Heading3>
<DefItem>
<A ID="pgfId-1029158"></A>
<UILabel-Table>
All Classes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029160"></A>
Filter and display all classes that contain resource methods. This includes <A href="03-tools.xml#id(User Interface Painter)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">User Interface Painter</A> canvas resources, Lens Data models and the application classes that use them.</DefDscrp>
<DefItem>
<A ID="pgfId-1029162"></A>
<UILabel-Table>
User Classes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029164"></A>
Filter and display only those classes that are not a part of the base VisualWorks image.</DefDscrp>
<DefItem>
<A ID="pgfId-1029166"></A>
<UILabel-Table>
System Classes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029168"></A>
Filter and display only those classes containing resources that are a part of the base VisualWorks image.</DefDscrp>
<DefItem>
<A ID="pgfId-1029170"></A>
<UILabel-Table>
Recently Visited Classes</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029172"></A>
Filter and display only those classes that have been recently visited.</DefDscrp>
<DefItem>
<A ID="pgfId-1029174"></A>
<UILabel-Table>
Classes By Category...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029176"></A>
Display a list of class categories that contain resource-bearing classes. Filter and display only those classes that belong to the category selected from the list.</DefDscrp>
<DefItem>
<A ID="pgfId-1029178"></A>
<UILabel-Table>
Sort By Name</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029180"></A>
Sort the list of resources (right-hand view in the Finder) by name.</DefDscrp>
<DefItem>
<A ID="pgfId-1029182"></A>
<UILabel-Table>
Sort By Type</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029184"></A>
Sort the list of resources (right-hand view in the Finder) by type.</DefDscrp>
<DefItem>
<A ID="pgfId-1029186"></A>
<UILabel-Table>
Update</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029188"></A>
Update the contents of the Resource Finder.</DefDscrp>
<DefItem>
<A ID="pgfId-1029190"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029192"></A>
Exit the Resource Finder.</DefDscrp>
<Heading3>
<A ID="pgfId-1029195"></A>
<A ID="Resource Finder Class Menu"></A>
Class Menu</Heading3>
<DefItem>
<A ID="pgfId-1029203"></A>
<UILabel-Table>
Start</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029205"></A>
Open the application currently selected. The model must implement the instance method <Smalltalk-Code-Table>
open</Smalltalk-Code-Table>
, or adhere to the conventions for subclasses of <Smalltalk-Code-Table>
ApplicationModel</Smalltalk-Code-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1029207"></A>
<UILabel-Table>
Browse</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029209"></A>
Open a Hierarchy Browser or Class Browser (depending on your Settings preferences) on the selected model class.</DefDscrp>
<DefItem>
<A ID="pgfId-1029211"></A>
<UILabel-Table>
Show Data Forms</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029213"></A>
Open a <Smalltalk-Code-Table>
LensApplicationStructureView</Smalltalk-Code-Table>
 on the selected class. It works for any kind of class, but it&#39;s most useful when the selected class is a Data Form or a <Smalltalk-Code-Table>
LensMainApplication</Smalltalk-Code-Table>
. The opened window is a slave of the Finder.</DefDscrp>
<DefItem>
<A ID="pgfId-1029215"></A>
<UILabel-Table>
File Out As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029217"></A>
Prompt for a file name and file out the selected class.</DefDscrp>
<DefItem>
<A ID="pgfId-1029219"></A>
<UILabel-Table>
Rename As...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029221"></A>
Prompt for a new class name. Replace the name in the system dictionary and update the class view. </DefDscrp>
<DefItem>
<A ID="pgfId-1029223"></A>
<UILabel-Table>
Remove...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029225"></A>
Prompt for confirmation, then delete the selected class and its methods.</DefDscrp>
<DefItem>
<A ID="pgfId-1029227"></A>
<UILabel-Table>
Add...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029229"></A>
Prompt for a new class name and create a new application class. If the new class created understands the message <Smalltalk-Code-Table>
windowSpec</Smalltalk-Code-Table>
, then the <A href="03-tools.xml#id(User Interface Painter)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">User Interface Painter</A> is opened using that method.</DefDscrp>
<Heading3>
<A ID="pgfId-1029233"></A>
<A ID="Resource Finder Resources Menu"></A>
Resources Menu</Heading3>
<DefItem>
<A ID="pgfId-1029241"></A>
<UILabel-Table>
New Canvas</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029243"></A>
Open a Canvas Tool on a new canvas object.</DefDscrp>
<DefItem>
<A ID="pgfId-1029245"></A>
<UILabel-Table>
New Menu</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029247"></A>
Open a Menu Editor on a new menu object.</DefDscrp>
<DefItem>
<A ID="pgfId-1029249"></A>
<UILabel-Table>
New Image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029251"></A>
Open an Image Editor on a new image object.</DefDscrp>
<DefItem>
<A ID="pgfId-1029253"></A>
<UILabel-Table>
New Query</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029255"></A>
Open a Query Editor on a new query object.</DefDscrp>
<DefItem>
<A ID="pgfId-1029257"></A>
<UILabel-Table>
New Data Model</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029259"></A>
Open a Data Modeler on a new data model.</DefDscrp>
<DefItem>
<A ID="pgfId-1029261"></A>
<UILabel-Table>
Edit...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029263"></A>
Edit the currently selected resource using the appropriate editing tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1029265"></A>
<UILabel-Table>
Senders</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029267"></A>
Open a new browser (a Method Browser) on all methods that invoke the currently selected resource.</DefDscrp>
<DefItem>
<A ID="pgfId-1029269"></A>
<UILabel-Table>
Remove</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1029271"></A>
Remove the currently selected resource.</DefDscrp>
<Body1>
<A ID="pgfId-1032131"></A>
</Body1>
<Heading2>
<A ID="pgfId-1036909"></A>
<A ID="User Interface Painter"></A>
User Interface Painter</Heading2>
<Body1>
<A ID="pgfId-1036910"></A>
Use the UI Painter  to create <New-Term>
visual specifications</New-Term>
 for windows. The Painter  provides a <A href="help-glossary.xml#id(canvas)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">canvas</A>, on which you arrange widgets, a <Emphasis>
Palette Tool</Emphasis>
 containing widgets and commands for arranging them, and a <Emphasis>
GUI Painter Tool</Emphasis>
, in you set window and widget properties.</Body1>
<Body1>
<A ID="pgfId-1036917"></A>
You &#34;paint&#34; on the blank <A href="help-glossary.xml#id(canvas)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">canvas</A> by placing and arranging widgets on it to design the <A href="help-glossary.xml#id(window)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">window</A> you want in your <A href="help-glossary.xml#id(application)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">application</A>. When you <NewTerm>
install</NewTerm>
 the canvas, the UI Painter  produces a <A href="help-glossary.xml#id(specification)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">specification</A> for the canvas and saves it as a <A href="help-glossary.xml#id(resource method)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">resource method</A> in the <A href="help-glossary.xml#id(application model)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">application model</A>.</Body1>
<Body1>
<A ID="pgfId-1036933"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1036994"></A>
<A href="03-tools.xml#id(Canvas)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Canvas</A></Bullet1>
<Bullet1>
<A ID="pgfId-1037012"></A>
<A href="03-tools.xml#id(GUI Painter Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">GUI Painter Tool</A></Bullet1>
<Bullet1>
<A ID="pgfId-1036941"></A>
<A href="03-tools.xml#id(Palette)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Palette</A></Bullet1>
<Bullet1>
<A ID="pgfId-1036945"></A>
<A href="03-tools.xml#id(Image Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Image Editor</A></Bullet1>
<Bullet1>
<A ID="pgfId-1036949"></A>
<A href="03-tools.xml#id(Menu Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Menu Editor</A></Bullet1>
<Heading3>
<A ID="pgfId-1036960"></A>
<A ID="Canvas"></A>
Canvas</Heading3>
<Body1>
<A ID="pgfId-1035987"></A>
The Canvas represents a window in your UI while you are adding and arranging visual components (widgets). It is initially blank, except for the title bar.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-9.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1037022"></A>
To populate the canvas, you select a widget on the Palette and drop it on the Canvas.  You can then move the widget around to place it relative to the other widgets.</Body1>
<Body1>
<A ID="pgfId-1040382"></A>
The Canvas includes an &lt;Operate&gt; menu that duplicates much of the functionality available in the <A href="03-tools.xml#id(GUI Painter Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">GUI Painter Tool</A>.</Body1>
<Heading3>
<A ID="pgfId-1040394"></A>
Canvas &lt;Operate&gt; Menu</Heading3>
<DefItem>
<A ID="pgfId-1037034"></A>
<UILabel-Table>
Edit-&gt;Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037035"></A>
Place a copy of the selected widget(s) in the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1037036"></A>
<UILabel-Table>
Edit-&gt;Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037037"></A>
Place a copy of the selected widget(s) in the paste buffer, then delete the original(s).</DefDscrp>
<DefItem>
<A ID="pgfId-1037038"></A>
<UILabel-Table>
Edit-&gt;Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037039"></A>
Delete the selected element(s), then place a copy of the most recently copied or cut selection in that location.</DefDscrp>
<DefItem>
<A ID="pgfId-1037040"></A>
<UILabel-Table>
Edit-&gt;Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037041"></A>
Preserve the current state of the canvas. This does not update the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1037044"></A>
<UILabel-Table>
Edit-&gt;Cancel-&gt;confirm</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037045"></A>
Revert the contents of the canvas to the last saved state.</DefDscrp>
<DefItem>
<A ID="pgfId-1037046"></A>
<UILabel-Table>
Edit-&gt;Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037050"></A>
Open a new <A href="03-tools.xml#id(User Interface Painter)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">User Interface Painter</A> on a copy of the current canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1037062"></A>
<UILabel-Table>
Tools-&gt;Image Editor</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037066"></A>
Open a new <A href="03-tools.xml#id(Image Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Image Editor</A>. If the canvas has been installed, look for a corresponding image resource in the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1037067"></A>
<UILabel-Table>
Tools-&gt;Menu Editor</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037215"></A>
Open a new <A href="03-tools.xml#id(Menu Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Menu Editor</A>. If the canvas has been installed, look for a corresponding menu resource in the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1037230"></A>
<UILabel-Table>
Tools-&gt;Hot_Regions_Editor</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037234"></A>
Open a new Hot Regions Editor.</DefDscrp>
<DefItem>
<A ID="pgfId-1037093"></A>
<UILabel-Table>
Layout-&gt;Fixed</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037094"></A>
Set the currently selected widget to have a fixed size and position, relative to the top-left corner of the window. Use this command to set relative offsets to zero and make the widget size constant no matter how large the window is.</DefDscrp>
<DefItem>
<A ID="pgfId-1037095"></A>
<UILabel-Table>
Layout-&gt;Relative</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037096"></A>
Set the currently selected widget to have a size and placement that is relative to the dimensions of the window.</DefDscrp>
<DefItem>
<A ID="pgfId-1037097"></A>
<UILabel-Table>
Layout-&gt;Constrained...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037098"></A>
Open a positioning dialog for the currently selected widget(s). Set the specified percentages and pixel offsets for the four sides of the widget. For more precise control, use the <UILabel-Table>
Position</UILabel-Table>
 page in the <A href="03-tools.xml#id(GUI Painter Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">GUI Painter Tool</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1037102"></A>
<UILabel-Table>
Layout-&gt;Be Bounded</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037103"></A>
Convert the selected widget from an unbounded (variable-width) to a bounded (fixed-width) type.</DefDscrp>
<DefItem>
<A ID="pgfId-1037104"></A>
<UILabel-Table>
Layout-&gt;Be Unbounded</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040429"></A>
Convert the selected widget from a bounded (fixed-width) to an unbounded (variable-width) type.</DefDscrp>
<DefItem>
<A ID="pgfId-1040432"></A>
<UILabel-Table>
Arrange-&gt;Snap To Grid</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037113"></A>
Align the currently selected widget(s) with the grid. Each element is aligned with the nearest grid point. Use the <UILabel-Table>
Grid</UILabel-Table>
 menu to display or change the current grid settings.</DefDscrp>
<DefItem>
<A ID="pgfId-1037114"></A>
<UILabel-Table>
Arrange-&gt;Group</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037115"></A>
Group the selected widgets into a single composite element.</DefDscrp>
<DefItem>
<A ID="pgfId-1037116"></A>
<UILabel-Table>
Arrange-&gt;Ungroup</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037117"></A>
Ungroup the selected composite element into a group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1037118"></A>
<UILabel-Table>
Arrange-&gt;Bring To Front</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037119"></A>
Bring the currently selected element to the front.</DefDscrp>
<DefItem>
<A ID="pgfId-1037120"></A>
<UILabel-Table>
Arrange-&gt;Bring Forward</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037121"></A>
Bring the currently selected element forward one layer.</DefDscrp>
<DefItem>
<A ID="pgfId-1037122"></A>
<UILabel-Table>
Arrange-&gt;Send To Back</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037123"></A>
Move the currently selected element behind all other elements on the canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1037124"></A>
<UILabel-Table>
Arrange-&gt;Send Backward</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037125"></A>
Move the currently selected element one layer closer to the back.</DefDscrp>
<DefItem>
<A ID="pgfId-1037126"></A>
<UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037127"></A>
Open the Alignment dialog for positioning the currently selected group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1037128"></A>
<UILabel-Table>
Arrange-&gt;Distribute...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037129"></A>
Open the Distribute dialog for positioning the currently selected group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1037130"></A>
<UILabel-Table>
Arrange-&gt;Equalize...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1040443"></A>
Open the Equalization dialog for adjusting the size of the currently selected group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1040447"></A>
<UILabel-Table>
Special-&gt;Define Menu as Query</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037189"></A>
Open a Menu Query Editor. Use this command when building Database applications (Note: Only available when the <PlatformElement-Table>
Database</PlatformElement-Table>
 parcel is loaded.)</DefDscrp>
<DefItem>
<A ID="pgfId-1037264"></A>
<UILabel-Table>
Painter Tool</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037295"></A>
Opens or brings to front the GUI Painter Tool.</DefDscrp>
<DefItem>
<A ID="pgfId-1037272"></A>
<UILabel-Table>
Palette</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037296"></A>
Opens or brings to front the Palette.</DefDscrp>
<DefItem>
<A ID="pgfId-1037276"></A>
<UILabel-Table>
Install...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037297"></A>
Open the Install dialog for the current canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1037280"></A>
<UILabel-Table>
Define...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037298"></A>
Open the Define dialog for the current canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1037284"></A>
<UILabel-Table>
Browse...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037299"></A>
Open a class browser on the current application.</DefDscrp>
<DefItem>
<A ID="pgfId-1037288"></A>
<UILabel-Table>
Open</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1037300"></A>
Opens the current canvas as an application window.</DefDscrp>
<Body1>
<A ID="pgfId-1036814"></A>
</Body1>
<Body1>
<A ID="pgfId-1036436"></A>
</Body1>
<Heading2>
<A ID="pgfId-1029872"></A>
<A ID="Palette"></A>
Palette</Heading2>
<Body1>
<A ID="pgfId-1029873"></A>
The Palette is the source of the interface components (widgets) that you add to a <A href="help-glossary.xml#id(canvas)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">canvas</A>. The Palette is opened automatically when you open a canvas. </Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-10.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1036158"></A>
To place multiple copies of one type of widget on the canvas, use the <UI-Label>
repeat</UI-Label>
 switch (upper-right corner). As a shortcut to place the Palette in <UI-Label>
repeat</UI-Label>
 mode, hold down the &lt;Shift&gt; key while selecting a widget.</Body1>
<Body1>
<A ID="pgfId-1036382"></A>
Use the <New-Term>
<A href="tools-UI-palette.xml#id(Canvas Tool Buttons)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">alignment</A></New-Term>
 buttons to position the horizontal and vertical alignment of the selected widgets on the canvas. Use the <New-Term>
<A href="tools-UI-palette.xml#id(Canvas Tool Buttons)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">equalize</A></New-Term>
 and <New-Term>
distribute</New-Term>
 buttons to position the spacing and size of widgets on the canvas.</Body1>
<Heading3>
<A ID="pgfId-1036156"></A>
Palette Components</Heading3>
<Body1>
<A ID="pgfId-1029915"></A>
The following widgets are available in the Palette Tool:</Body1>
<DefItem>
<A ID="pgfId-1029920"></A>
<UILabel-Table>
Action Button</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-11.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029921"></A>
Triggers a short action, such as printing, saving, deleting, or opening a dialog window.</DefDscrp>
<DefItem>
<A ID="pgfId-1029925"></A>
<UILabel-Table>
Check Box</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-12.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029926"></A>
A toggle that enables the user to turn on or turn off some attribute in the application.</DefDscrp>
<DefItem>
<A ID="pgfId-1029930"></A>
<UILabel-Table>
Click Widget</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-13.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036561"></A>
A holder of a graphical image that can be clicked on in various areas, defined using the Hot Regions Editor, to make selections.</DefDscrp>
<DefItem>
<A ID="pgfId-1036560"></A>
<UILabel-Table>
Combination Box</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-14.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029931"></A>
A user-modifiable <NewTerm>
input field</NewTerm>
 with a drop-down list of standard field entries. The application user can select from among the standard entries or fill in a nonstandard one. A combo box is similar to a <NewTerm>
menu button</NewTerm>
, except that a menu button does not provide an input field for nonstandard entries.</DefDscrp>
<DefItem>
<A ID="pgfId-1029935"></A>
<UILabel-Table>
Dataset</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-15.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029936"></A>
A <NewTerm>
table</NewTerm>
 with extra features such as in-column editing, dynamic resizing of column widths, and easy reordering of columns while the dataset is being added to the interface. In addition, any column in the dataset can be specified to be read-only, an <NewTerm>
input field</NewTerm>
, a <NewTerm>
combo box</NewTerm>
, or a <NewTerm>
check box</NewTerm>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1029941"></A>
<UILabel-Table>
Divider</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-16.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029942"></A>
A line segment that can be used to provide visual connection or separation between widgets. A divider is one pixel thick.</DefDscrp>
<DefItem>
<A ID="pgfId-1036554"></A>
<UILabel-Table>
Group Box</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-17.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029952"></A>
A rectangle that surrounds groups of related widgets. The sides of the group box are one pixel thick. The group box optionally has a <NewTerm>
label</NewTerm>
 embedded in its top border.</DefDscrp>
<DefItem>
<A ID="pgfId-1036474"></A>
<UILabel-Table>
Hierarchical List</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-18.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036481"></A>
A list that indents list items to show hierarchical relationships.</DefDscrp>
<DefItem>
<A ID="pgfId-1029956"></A>
<UILabel-Table>
Input Field</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-19.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029957"></A>
A region for presenting and/or entering data that is only one line long, such as a filename or other string.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1029958"></A>
An input field provides a customizable pop-up menu for searching and editing the input data. The user activates this menu using the &lt;Operate&gt; mouse button. Input fields can be made read-only, so that text can be displayed but not entered.</DefDscrp>
<DefItem>
<A ID="pgfId-1029962"></A>
<UILabel-Table>
Label</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-20.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029963"></A>
A single line of text or a graphic image used as general titles, or in conjunction with another widget, such as a field, to describe that widget&#39;s purpose. For a multiline label, use a read-only <NewTerm>
text editor</NewTerm>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1029972"></A>
<UILabel-Table>
List</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-21.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029973"></A>
A list widget is useful for displaying any collection of objects. As an input device, the list enables the user to select one or more elements in the list as targets for operations such as browsing.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1029974"></A>
Lists have a built-in search ability, so the user can type the beginning letters of an item to find it in a large list (&lt;Escape&gt; starts a new search).</DefDscrp>
<DefItem>
<A ID="pgfId-1029978"></A>
<UILabel-Table>
Menu Button</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-22.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029979"></A>
Provides the user with a well-defined set of options. A menu button can present a menu of commands or a menu of values. It is similar to a submenu in a menu bar, with two advantages: it can be placed anywhere on the canvas, and its <NewTerm>
label</NewTerm>
 can change to reflect the current selection. A menu button is more visible to the user than a pop-up menu, but it uses space in the canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1029983"></A>
<UILabel-Table>
Notebook</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-23.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029984"></A>
A means of presenting a hierarchy of information. The hierarchy may have one or two tiers, which are called the notebook&#39;s <New-Term>
major</New-Term>
 and <New-Term>
minor</New-Term>
 keys, respectively.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1029985"></A>
The minor keys either refine the subdivision imposed by the major keys or filter the information along a separate dimension. They may be connected to the major keys in such a way that each major key may display a different set of minor keys.</DefDscrp>
<DefItem>
<A ID="pgfId-1029989"></A>
<UILabel-Table>
Percent Done Bar</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-24.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036559"></A>
A bar used to graphically represent the percentage of a task completed.</DefDscrp>
<DefItem>
<A ID="pgfId-1036558"></A>
<UILabel-Table>
Radio Button</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-25.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029990"></A>
Enables the user to make a single selection from a limited list of choices. Selecting a radio button causes any other button in its group to be deselected.</DefDscrp>
<DefItem>
<A ID="pgfId-1029995"></A>
<UILabel-Table>
Region</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-26.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1029996"></A>
A shape that surrounds a group of widgets. A region may be rectangular or elliptic. Its borders can be one of four thicknesses, and its interior can be filled with a color.</DefDscrp>
<DefItem>
<A ID="pgfId-1030000"></A>
<UILabel-Table>
Resizing Splitter</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-27.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036563"></A>
A divider that can be selected and moved to resize the panes or widgets to either side. Used to make resizable window panes. </DefDscrp>
<DefItem>
<A ID="pgfId-1036562"></A>
<UILabel-Table>
Slider</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-28.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1030001"></A>
A device for selecting and displaying a value from a range of values, such as the volume setting for a music program.</DefDscrp>
<DefItem>
<A ID="pgfId-1036463"></A>
<UILabel-Table>
Spin Button</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-29.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036473"></A>
A widget for cycling through selectable options.</DefDscrp>
<DefItem>
<A ID="pgfId-1030005"></A>
<UILabel-Table>
Subcanvas</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-30.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1030006"></A>
An interface that has been included or embedded in another interface. A subcanvas can itself include another subcanvas, nesting as many levels as desired within the parent interface.</DefDscrp>
<DefItem>
<A ID="pgfId-1030011"></A>
<UILabel-Table>
Tab Control</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-31.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036557"></A>
An alternative notebook widget with folder style tabs </DefDscrp>
<DefItem>
<A ID="pgfId-1036556"></A>
<UILabel-Table>
Table</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-32.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1030012"></A>
A means of displaying data that can be organized usefully in rows and columns. By default, a table is bordered and has both vertical and horizontal scroll bars.</DefDscrp>
<DefItem>
<A ID="pgfId-1030016"></A>
<UILabel-Table>
Text Editor</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-33.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1030017"></A>
A <NewTerm>
region</NewTerm>
 for displaying and editing text. Built-in facilities are provided for line wrapping, changing the text style, cutting, copying, pasting, searching and replacing, undoing, and optionally executing Smalltalk expressions.</DefDscrp>
<DefItem>
<A ID="pgfId-1030021"></A>
<UILabel-Table>
Tree View</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-34.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1036565"></A>
An expandable/contractable, hierarchical list.</DefDscrp>
<DefItem>
<A ID="pgfId-1036564"></A>
<UILabel-Table>
View Holder</UILabel-Table>
</DefItem>
<DIV>
<IMAGE xml:link="simple" href="03-tools-35.gif" show="embed" actuate="auto"/>
</DIV>
<DefDscrp>
<A ID="pgfId-1030022"></A>
A means of including a graphic image in an interface.</DefDscrp>
<Body1>
<A ID="pgfId-1032131"></A>
</Body1>
<Heading2>
<A ID="pgfId-1036639"></A>
<A ID="GUI Painter Tool"></A>
GUI Painter Tool</Heading2>
<Body1>
<A ID="pgfId-1036640"></A>
Use the GUI Painter Tool to set the properties of each widget on a canvas. The set of properties varies with each type of widget. For example, an input field can have a menu while a check box cannot.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-36.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1037023"></A>
The widgets on the current canvas are listed in the Tree View on the left. Grouped  widgets are indicated an indented sub-list, or branch.  By ordering widgets in the list, you set the tab order of widgets, from top to bottom.</Body1>
<Body1>
<A ID="pgfId-1031145"></A>
Use <UI-Label>
Apply</UI-Label>
 or press &lt;Return&gt; to apply the properties to the widget. The <UI-Label>
Prev</UI-Label>
 and <UI-Label>
Next</UI-Label>
 buttons can be used to move the tool&#39;s focus to another widget in the canvas, saving you the trouble of shifting the focus via the mouse.</Body1>
<Body1>
<A ID="pgfId-1036444"></A>
Widget properties are organized in these categories:
<UI-Label>
<A href="03-tools.xml#id(Basic)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Basic</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Details)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Details</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Validation)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Validation</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Notification)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Notification</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Color)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Color</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Position)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Position</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Drop Source)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Drop Source</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Drop Target)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Drop Target</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1036556"></A>
<B>
Note:</B>
 not all types of widgets have all these properties.</Body1>
<Body1>
<A ID="pgfId-1037007"></A>
The menu bar contains the following menus:
<UI-Label>
<A href="03-tools.xml#id(Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Tools Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Tools</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Layout Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Layout</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Arrange Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Arrange</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Grid Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Grid</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Look Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Look</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Special Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Special</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1036963"></A>
</Body1>
<Body1>
<A ID="pgfId-1036545"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1036549"></A>
<A href="fwks-UI-models.xml#id(Defining user interface support)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Defining user interface support</A></Bullet1>
<Heading3>
<A ID="pgfId-1036447"></A>
<A ID="Basic"></A>
Basic Properties</Heading3>
<DefItem>
<A ID="pgfId-1031232"></A>
<UILabel-Table>
Aspect</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031234"></A>
Name of the method that the widget uses to fetch its value holder from the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1031236"></A>
<UILabel-Table>
Label</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031238"></A>
Either the text that identifies the widget and forms a part of it, or the name of a method that supplies a graphic (provided that the Label Is Image property is also selected.</DefDscrp>
<DefItem>
<A ID="pgfId-1031282"></A>
<UILabel-Table>
Label Is Image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031284"></A>
Specifies that the widget is to be identified by a graphic used in place of a textual label. The method that supplies the graphic must be specified in the Label property.</DefDscrp>
<DefItem>
<A ID="pgfId-1031278"></A>
<UILabel-Table>
ID</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031302"></A>
A symbol used to reference the widget programmatically.</DefDscrp>
<Heading3>
<A ID="pgfId-1031318"></A>
<A ID="Details"></A>
Details Properties</Heading3>
<DefItem>
<A ID="pgfId-1031326"></A>
<UILabel-Table>
Font</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031404"></A>
The font used for text in the widget&#39;s label or for any other text displayed by the widget. You can choose:</DefDscrp>
<DefDscrp>
<A ID="pgfId-1031405"></A>
<UILabel-Table>
System</UILabel-Table>
, which provides the font that matches the current platform&#39;s system font, if there is one.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1031406"></A>
<UILabel-Table>
Default</UILabel-Table>
, which provides the font that is currently selected on the <UILabel-Table>
Text</UILabel-Table>
 page of the Settings Tool.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1031407"></A>
<UILabel-Table>
Large</UILabel-Table>
, which provides a font that is slightly larger than the default.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1031328"></A>
<UILabel-Table>
Small</UILabel-Table>
, which provides a font that is slightly smaller than the default.</DefDscrp>
<DefDscrp>
<A ID="pgfId-1031444"></A>
<UILabel-Table>
Fixed</UILabel-Table>
, which provides a fixed-width font (useful for aligning text in columns).</DefDscrp>
<DefItem>
<A ID="pgfId-1031330"></A>
<UILabel-Table>
Bordered</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031332"></A>
Specifies whether the widget is to be surrounded by a solid box.</DefDscrp>
<DefItem>
<A ID="pgfId-1031334"></A>
<UILabel-Table>
Opaque</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031336"></A>
Specifies that the widget obscures any portion of any other widget it overlaps. Use this property used with passive widgets (such as regions, group boxes, dividers, etc.) for artistic effect.</DefDscrp>
<DefItem>
<A ID="pgfId-1031338"></A>
<UILabel-Table>
Can Tab</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031341"></A>
Specifies that the user can transfer focus to the widget by tabbing. When a widget has focus, any keyboard input is directed to it.</DefDscrp>
<DefItem>
<A ID="pgfId-1031362"></A>
<UILabel-Table>
Initially Disabled</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031364"></A>
Specifies that the widget is disabled when the interface is opened, overriding the focus policy.</DefDscrp>
<DefItem>
<A ID="pgfId-1031358"></A>
<UILabel-Table>
Initially Invisible</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031360"></A>
Specifies that the widget is invisible when the interface is opened.</DefDscrp>
<Heading3>
<A ID="pgfId-1036312"></A>
<A ID="Validation"></A>
Validation Properties</Heading3>
<DefItem>
<A ID="pgfId-1031469"></A>
<UILabel-Table>
Entry</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031476"></A>
Symbolic name for the widget&#39;s entry validation callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031478"></A>
<UILabel-Table>
Change</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031480"></A>
Symbolic name for the widget&#39;s change validation callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031482"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031484"></A>
Symbolic name for the widget&#39;s exit validation callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031486"></A>
<UILabel-Table>
D. Click</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036579"></A>
Symbolic name for the widget&#39;s double-click validation callback. This property appears with <Smalltalk-Code-Table>
List</Smalltalk-Code-Table>
 and <Smalltalk-Code-Table>
Table</Smalltalk-Code-Table>
 widgets only.</DefDscrp>
<Heading3>
<A ID="pgfId-1036583"></A>
<A ID="Notification"></A>
Notification Properties</Heading3>
<DefItem>
<A ID="pgfId-1036584"></A>
<UILabel-Table>
Entry</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036585"></A>
Symbolic name for the widget&#39;s entry notification callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031753"></A>
<UILabel-Table>
Change</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031763"></A>
Symbolic name for the widget&#39;s change notification callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031755"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031527"></A>
Symbolic name for the widget&#39;s exit notification callback.</DefDscrp>
<DefItem>
<A ID="pgfId-1031757"></A>
<UILabel-Table>
D. Click</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031802"></A>
Symbolic name for the widget&#39;s double-click notification callback. This property appears with the <Smalltalk-Code-Table>
List</Smalltalk-Code-Table>
 and <Smalltalk-Code-Table>
Table</Smalltalk-Code-Table>
 widgets only.</DefDscrp>
<Heading3>
<A ID="pgfId-1036288"></A>
<A ID="Color"></A>
Color Properties</Heading3>
<DefItem>
<A ID="pgfId-1031556"></A>
<UILabel-Table>
V</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031558"></A>
Value of the selected color.</DefDscrp>
<DefItem>
<A ID="pgfId-1031560"></A>
<UILabel-Table>
S</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031562"></A>
Saturation of the selected color.</DefDscrp>
<DefItem>
<A ID="pgfId-1031564"></A>
<UILabel-Table>
H</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031566"></A>
Hue of the selected color.</DefDscrp>
<DefItem>
<A ID="pgfId-1031568"></A>
<UILabel-Table>
Read</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031570"></A>
Displays the colors that are currently assigned to the four color zones for the selected widget on the canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1031572"></A>
<UILabel-Table>
Foregrnd</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031574"></A>
Specifies whether to assign the selected color to the widget&#39;s foreground color zone. Clicking on the <UILabel-Table>
Foregrnd</UILabel-Table>
 button toggles between assigning the selected color and assigning no color (<UILabel-Table>
none</UILabel-Table>
).</DefDscrp>
<DefItem>
<A ID="pgfId-1031576"></A>
<UILabel-Table>
Backgrnd</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031578"></A>
Specifies whether to assign the selected color to the widget&#39;s background color zone. Clicking on the <UILabel-Table>
Backgrnd</UILabel-Table>
 button toggles between assigning the selected color and assigning no color (<UILabel-Table>
none</UILabel-Table>
).</DefDscrp>
<DefItem>
<A ID="pgfId-1031820"></A>
<UILabel-Table>
Selection Foregrnd</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031822"></A>
Specifies whether to assign the selected color to the widget&#39;s selection foreground color zone. Clicking on the <UILabel-Table>
Selection Foregrnd</UILabel-Table>
 button toggles between assigning the selected color and assigning no color (<UILabel-Table>
none</UILabel-Table>
).</DefDscrp>
<DefItem>
<A ID="pgfId-1031816"></A>
<UILabel-Table>
Selection Backgrnd</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031818"></A>
Specifies whether to assign the selected color to the widget&#39;s selection background color zone. Clicking on the <UILabel-Table>
Selection Backgrnd</UILabel-Table>
 button toggles between assigning the selected color and assigning no color (<UILabel-Table>
none</UILabel-Table>
).</DefDscrp>
<Heading3>
<A ID="pgfId-1031588"></A>
<A ID="Position"></A>
Position Properties</Heading3>
<DefItem>
<A ID="pgfId-1031596"></A>
<UILabel-Table>
L</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031890"></A>
Positioning choices (proportion and offset) for the left edge of the selected widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1031600"></A>
<UILabel-Table>
T</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031602"></A>
Positioning choices (proportion and offset) for the top edge of the selected widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1031604"></A>
<UILabel-Table>
R</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031606"></A>
Positioning choices (proportion and offset) for the right edge of the selected widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1031608"></A>
<UILabel-Table>
B</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031610"></A>
Positioning choices (proportion and offset) for the bottom edge of the selected widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1031612"></A>
<UILabel-Table>
Proportion</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031614"></A>
Fraction of the window&#39;s width or height that precedes the widget&#39;s edge. Specify a value from 0 (the position of the left or upper window edge) to 1 (the position of the right or lower window edge). The proportionally-determined position can be further adjusted by the <UILabel-Table>
offset</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1031616"></A>
<UILabel-Table>
Offset</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031618"></A>
Number of pixels to adjust the widget&#39;s edge from the proportionally determined starting position. A positive offset adjusts the edge rightward or downward from the proportional setting. A negative offset adjusts leftward or upward from a nonzero proportion. An offset of 0 causes the position of the widget edge to be determined entirely by the proportion.</DefDscrp>
<Heading3>
<A ID="pgfId-1031630"></A>
<A ID="Drop Source"></A>
Drop Source Properties</Heading3>
<DefItem>
<A ID="pgfId-1031638"></A>
<UILabel-Table>
Drag Ok</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031640"></A>
Symbolic name for the message that queries whether to initiate a drag and drop from the widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1031642"></A>
<UILabel-Table>
Drag Start</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031644"></A>
Symbolic name for the message that initiates the drag and drop.</DefDscrp>
<DefItem>
<A ID="pgfId-1031646"></A>
<UILabel-Table>
Select on Down</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1032070"></A>
Specifies the effect of pressing the mouse button down in a drop source list. Enable this property to allow the user to perform drag and drop as a single gesture.</DefDscrp>
<Heading3>
<A ID="pgfId-1036249"></A>
<A ID="Drop Target"></A>
Drop Target Properties</Heading3>
<DefItem>
<A ID="pgfId-1031677"></A>
<UILabel-Table>
Entry</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031679"></A>
Symbolic name for the message to be sent by the <Smalltalk-Code-Table>
DragDropManager</Smalltalk-Code-Table>
 when the user drags the mouse pointer into the widget&#39;s bounds.</DefDscrp>
<DefItem>
<A ID="pgfId-1031681"></A>
<UILabel-Table>
Over</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031683"></A>
Symbolic name for the message sent by the <Smalltalk-Code-Table>
DragDropManager</Smalltalk-Code-Table>
 while the user moves the mouse pointer within the widget&#39;s bounds.</DefDscrp>
<DefItem>
<A ID="pgfId-1031685"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031687"></A>
Symbolic name for the message that is sent by the <Smalltalk-Code-Table>
DragDropManager</Smalltalk-Code-Table>
 when the user moves the mouse pointer out of the widget&#39;s bounds.</DefDscrp>
<DefItem>
<A ID="pgfId-1031689"></A>
<UILabel-Table>
Drop</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1031691"></A>
Symbolic name for the message that is sent by the <Smalltalk-Code-Table>
DragDropManager</Smalltalk-Code-Table>
 when the user releases the mouse button with the pointer inside the widget&#39;s bounds.</DefDscrp>
<Heading3>
<A ID="pgfId-1036700"></A>
<A ID="Edit Menu"></A>
Edit Menu</Heading3>
<DefItem>
<A ID="pgfId-1036701"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036702"></A>
Place a copy of the selected widget(s) in the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1036703"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036704"></A>
Place a copy of the selected widget(s) in the paste buffer, then delete the original(s).</DefDscrp>
<DefItem>
<A ID="pgfId-1036705"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036706"></A>
Delete the selected element(s), then place a copy of the most recently copied or cut selection in that location.</DefDscrp>
<DefItem>
<A ID="pgfId-1036707"></A>
<UILabel-Table>
Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036708"></A>
Preserve the current state of the canvas. This does not update the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1036709"></A>
<UILabel-Table>
Cancel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036710"></A>
No effect--use <UILabel-Table>
Cancel-&gt;confirm</UILabel-Table>
.</DefDscrp>
<DefItem>
<A ID="pgfId-1036711"></A>
<UILabel-Table>
Cancel-&gt;confirm</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036712"></A>
Revert the contents of the canvas to the last saved state.</DefDscrp>
<DefItem>
<A ID="pgfId-1036713"></A>
<UILabel-Table>
Spawn</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036717"></A>
Open a new copy of the current canvas.</DefDscrp>
<Heading3>
<A ID="pgfId-1036723"></A>
<A ID="Tools Menu"></A>
Tools Menu</Heading3>
<DefItem>
<A ID="pgfId-1036724"></A>
<UILabel-Table>
Palette</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036728"></A>
Bring the Palette to the front.</DefDscrp>
<DefItem>
<A ID="pgfId-1036729"></A>
<UILabel-Table>
Image Editor</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036733"></A>
Open a new <A href="03-tools.xml#id(Image Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Image Editor</A>. If the canvas has been installed, look for a corresponding image resource in the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1036734"></A>
<UILabel-Table>
Menu Editor</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036738"></A>
Open a new <A href="03-tools.xml#id(Menu Editor)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Menu Editor</A>. If the canvas has been installed, look for a corresponding menu resource in the application model.</DefDscrp>
<DefItem>
<A ID="pgfId-1036739"></A>
<UILabel-Table>
Reusable Data Form Components</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036743"></A>
Open a Palette with widgets that are predefined for use in data forms.</DefDscrp>
<Heading3>
<A ID="pgfId-1036749"></A>
<A ID="Layout Menu"></A>
Layout Menu</Heading3>
<DefItem>
<A ID="pgfId-1036750"></A>
<UILabel-Table>
Window-&gt;Fixed Size</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036751"></A>
Fix the size of the window specification to always open with the dimensions of the current canvas. Make sure no widgets are selected when you issue this command. Use the <UILabel-Table>
Install...</UILabel-Table>
 command to save the setting.</DefDscrp>
<DefItem>
<A ID="pgfId-1036752"></A>
<UILabel-Table>
Window-&gt;Min Size</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036753"></A>
Constrain the minimum size of the window specification to always open with at least the dimensions of the current canvas. Make sure no widgets are selected when you issue this command. Use the <UILabel-Table>
Install...</UILabel-Table>
 command to save the setting.</DefDscrp>
<DefItem>
<A ID="pgfId-1036754"></A>
<UILabel-Table>
Window-&gt;Preferred Size</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036755"></A>
Set the preferred size of the window specification to be the dimensions of the current canvas. Make sure no widgets are selected when you issue this command. Use the <UILabel-Table>
Install...</UILabel-Table>
 command to save the setting.</DefDscrp>
<DefItem>
<A ID="pgfId-1036756"></A>
<UILabel-Table>
Window-&gt;Max Size</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036757"></A>
Constrain the maximum size of the window specification to be at most the dimensions of the current canvas. Make sure no widgets are selected when you issue this command. Use the <UILabel-Table>
Install...</UILabel-Table>
 command to save the setting.</DefDscrp>
<DefItem>
<A ID="pgfId-1036758"></A>
<UILabel-Table>
Window-&gt;Clear All</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036759"></A>
Reset all size preferences in the window specification. By default, the minimum size of the window is 40 by 20 pixels, the preferred size is set to the current canvas size, and there is no maximum size constraint.</DefDscrp>
<DefItem>
<A ID="pgfId-1036760"></A>
<UILabel-Table>
Fixed</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036761"></A>
Set the currently selected widget to have a fixed size and position, relative to the top-left corner of the window. Use this command to set relative offsets to zero and make the widget size constant no matter how large the window is.</DefDscrp>
<DefItem>
<A ID="pgfId-1036762"></A>
<UILabel-Table>
Relative</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036763"></A>
Set the currently selected widget to have a size and placement that is relative to the dimensions of the window.</DefDscrp>
<DefItem>
<A ID="pgfId-1036764"></A>
<UILabel-Table>
Constrained...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036765"></A>
Open a positioning dialog for the currently selected widget(s). Set the specified percentages and pixel offsets for the four sides of the widget. For more precise control, use the <UILabel-Table>
Position</UILabel-Table>
 page in the <A href="03-tools.xml#id(GUI Painter Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">GUI Painter Tool</A>.</DefDscrp>
<DefItem>
<A ID="pgfId-1036769"></A>
<UILabel-Table>
Be Bounded</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036770"></A>
Convert the selected widget from an unbounded (variable-width) to a bounded (fixed-width) type.</DefDscrp>
<DefItem>
<A ID="pgfId-1036771"></A>
<UILabel-Table>
Be Unbounded</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036772"></A>
Convert the selected widget from a bounded (fixed-width) to an unbounded (variable-width) type.</DefDscrp>
<Heading3>
<A ID="pgfId-1036778"></A>
<A ID="Arrange Menu"></A>
Arrange Menu</Heading3>
<DefItem>
<A ID="pgfId-1036779"></A>
<UILabel-Table>
Snap To Grid</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036780"></A>
Align the currently selected widget(s) with the grid. Each element is aligned with the nearest grid point. Use the <UILabel-Table>
Grid</UILabel-Table>
 menu to display or change the current grid settings.</DefDscrp>
<DefItem>
<A ID="pgfId-1036781"></A>
<UILabel-Table>
Group</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036782"></A>
Group the selected widgets into a single composite element.</DefDscrp>
<DefItem>
<A ID="pgfId-1036783"></A>
<UILabel-Table>
Ungroup</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036784"></A>
Ungroup the selected composite element into a group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1036785"></A>
<UILabel-Table>
Bring To Front</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036786"></A>
Bring the currently selected element to the front.</DefDscrp>
<DefItem>
<A ID="pgfId-1036787"></A>
<UILabel-Table>
Bring Forward</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036788"></A>
Bring the currently selected element forward one layer.</DefDscrp>
<DefItem>
<A ID="pgfId-1036789"></A>
<UILabel-Table>
Send To Back</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036790"></A>
Move the currently selected element behind all other elements on the canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1036791"></A>
<UILabel-Table>
Send Backward</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036792"></A>
Move the currently selected element one layer closer to the back.</DefDscrp>
<DefItem>
<A ID="pgfId-1036793"></A>
<UILabel-Table>
Align...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036794"></A>
Open the Alignment dialog for positioning the currently selected group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1036795"></A>
<UILabel-Table>
Distribute...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036796"></A>
Open the Distribute dialog for positioning the currently selected group of widgets.</DefDscrp>
<DefItem>
<A ID="pgfId-1036797"></A>
<UILabel-Table>
Equalize...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036798"></A>
Open the Equalization dialog for adjusting the size of the currently selected group of widgets.</DefDscrp>
<Heading3>
<A ID="pgfId-1036804"></A>
<A ID="Grid Menu"></A>
Grid Menu</Heading3>
<DefItem>
<A ID="pgfId-1036805"></A>
<UILabel-Table>
On</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036806"></A>
Enable the widget alignment grid.</DefDscrp>
<DefItem>
<A ID="pgfId-1036807"></A>
<UILabel-Table>
Off</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036808"></A>
Disable the widget alignment grid.</DefDscrp>
<DefItem>
<A ID="pgfId-1036809"></A>
<UILabel-Table>
X Only</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036810"></A>
Enable only the vertical grid lines.</DefDscrp>
<DefItem>
<A ID="pgfId-1036811"></A>
<UILabel-Table>
Y Only</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036812"></A>
Enable only the horizontal grid lines.</DefDscrp>
<DefItem>
<A ID="pgfId-1036813"></A>
<UILabel-Table>
Hide</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036814"></A>
Hide the widget alignment grid.</DefDscrp>
<DefItem>
<A ID="pgfId-1036815"></A>
<UILabel-Table>
Show</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036816"></A>
Show the widget alignment grid. Note that the grid may be displayed even if it is not active.</DefDscrp>
<DefItem>
<A ID="pgfId-1036817"></A>
<UILabel-Table>
Show If On</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036818"></A>
Only display the grid when it is enabled. When <UILabel-Table>
X Only</UILabel-Table>
 or <UILabel-Table>
Y Only</UILabel-Table>
 settings are enabled, only display the corresponding lines.</DefDscrp>
<DefItem>
<A ID="pgfId-1036819"></A>
<UILabel-Table>
Grid Size 2</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036820"></A>
Set the grid resolution to be 2 canvas points.</DefDscrp>
<DefItem>
<A ID="pgfId-1036821"></A>
<UILabel-Table>
Grid Size 4</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036822"></A>
Set the grid resolution to be 4 canvas points.</DefDscrp>
<DefItem>
<A ID="pgfId-1036823"></A>
<UILabel-Table>
Grid Size 8</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036824"></A>
Set the grid resolution to be 8 canvas points.</DefDscrp>
<DefItem>
<A ID="pgfId-1036825"></A>
<UILabel-Table>
Grid Size ...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036826"></A>
Open a dialog and prompt for the grid resolution.</DefDscrp>
<DefItem>
<A ID="pgfId-1036827"></A>
<UILabel-Table>
Keep In Window</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036828"></A>
Toggle a fence around the edge of the canvas, preventing any element from being dragged outside its bounding box.</DefDscrp>
<Heading3>
<A ID="pgfId-1036834"></A>
<A ID="Look Menu"></A>
Look Menu</Heading3>
<DefItem>
<A ID="pgfId-1036835"></A>
<UILabel-Table>
Auto Select</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036836"></A>
Set the current canvas to automatically select its look to be appropriate for the target platform.</DefDscrp>
<DefItem>
<A ID="pgfId-1036837"></A>
<UILabel-Table>
OS/2 CUA</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036838"></A>
Set the look of the canvas to the OS/2 CUA style.</DefDscrp>
<DefItem>
<A ID="pgfId-1036839"></A>
<UILabel-Table>
Default Look</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036840"></A>
Set the look of the canvas to that of the current platform.</DefDscrp>
<DefItem>
<A ID="pgfId-1036841"></A>
<UILabel-Table>
OSF Motif</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036842"></A>
Set the look of the canvas to the OSF Motif style.</DefDscrp>
<DefItem>
<A ID="pgfId-1036843"></A>
<UILabel-Table>
MS Windows 3</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036844"></A>
Set the look of the canvas to the MS-Windows 3.x style.</DefDscrp>
<DefItem>
<A ID="pgfId-1036845"></A>
<UILabel-Table>
Macintosh</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036846"></A>
Set the look of the canvas to the Macintosh System 7.x style.</DefDscrp>
<DefItem>
<A ID="pgfId-1036847"></A>
<UILabel-Table>
MS Windows 4</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036849"></A>
Set the look of the canvas to the MS-Windows 95/NT style.</DefDscrp>
<Heading3>
<A ID="pgfId-1036854"></A>
<A ID="Special Menu"></A>
Special Menu</Heading3>
<DefItem>
<A ID="pgfId-1036855"></A>
<UILabel-Table>
Define Menu as Query</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036856"></A>
Open a Menu Query Editor. Use this command when building Database applications (Note: Only available with the <PlatformElement-Table>
Database</PlatformElement-Table>
 parcel is loaded.)</DefDscrp>
<Heading3>
<A ID="pgfId-1036862"></A>
<A ID="Canvas Tool Buttons"></A>
Canvas Tool Buttons</Heading3>
<DefItem>
<A ID="pgfId-1036863"></A>
<UILabel-Table>
[Icon: Align Through Top]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036864"></A>
Align the selected widgets along a horizontal line. Compute the alignment position as the top edge of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036865"></A>
<UILabel-Table>
[Align Through Middle]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036866"></A>
Align the selected widgets along a horizontal line. Compute the alignment position as the middle of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036867"></A>
<UILabel-Table>
[Align Through Bottom]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036868"></A>
Align the selected widgets along a horizontal line. Compute the alignment position as the bottom of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036869"></A>
<UILabel-Table>
[Align Through Left]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036870"></A>
Align the selected widgets along a vertical line. Compute the alignment position as the left edge of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036871"></A>
<UILabel-Table>
[Align Through Center]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036872"></A>
Align the selected widgets along a vertical line. Compute the alignment position as the middle of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036873"></A>
<UILabel-Table>
[Align Through Right]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036874"></A>
Align the selected widgets along a vertical line. Compute the alignment position as the right of the merged bounding box of all selected elements. For more precise control, use the <UILabel-Table>
Arrange-&gt;Align...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036875"></A>
<UILabel-Table>
[Distribute Top to Bottom Edges]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036876"></A>
Evenly space the selected widgets in a column. Compute the spacing between the edges of the widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Distribute...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036877"></A>
<UILabel-Table>
[Distribute Top to Bottom Centers]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036878"></A>
Evenly space the selected widgets in a column. Compute the spacing between the centers of the widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Distribute...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036879"></A>
<UILabel-Table>
[Distribute Left to Right Edges]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036880"></A>
Evenly space the selected widgets in a row. Compute the spacing between the edges of the widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Distribute...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036881"></A>
<UILabel-Table>
[Distribute Left to Right Centers]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036882"></A>
Evenly space the selected widgets in a row. Compute the spacing between the centers of the widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Distribute...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036883"></A>
<UILabel-Table>
[Equalize Height]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036884"></A>
Equalize the height of the selected widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Equalize...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036885"></A>
<UILabel-Table>
[Equalize Width]</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036886"></A>
Equalize the width of the selected widgets. For more precise control, use the <UILabel-Table>
Arrange-&gt;Equalize...</UILabel-Table>
 command on the menu bar.</DefDscrp>
<DefItem>
<A ID="pgfId-1036889"></A>
<UILabel-Table>
Install...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036890"></A>
Create an interface specification for the current canvas and install it as a resource method in the application model. A dialog prompts for the class of the application model and the selector of the resource method, allowing you to create new ones.</DefDscrp>
<DefItem>
<A ID="pgfId-1036891"></A>
<UILabel-Table>
Define...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036892"></A>
Define an instance variable and accessor method for each selected widget. Prompt with a dialog listing the names of aspects and actions to be created in the application model. Toggle the check marks next to each aspect to prevent overwriting the existing accessor method in the model class.</DefDscrp>
<DefItem>
<A ID="pgfId-1036893"></A>
<UILabel-Table>
Browse...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036894"></A>
If a widget is selected, open a method list browser on all methods in the application model that refer to the widget&#39;s value model. If no widget is selected, and if the canvas has an application model, open a hierarchy browser on the application model class.</DefDscrp>
<DefItem>
<A ID="pgfId-1036895"></A>
<UILabel-Table>
Open</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036896"></A>
Start the application. Equivalent to selecting <UILabel-Table>
open</UILabel-Table>
 in the canvas &lt;Operate&gt; menu.</DefDscrp>
<Body1>
<A ID="pgfId-1036495"></A>
</Body1>
<Body1>
<A ID="pgfId-1032131"></A>
</Body1>
<Heading2>
<A ID="pgfId-1036276"></A>
<A ID="Image Editor"></A>
Image Editor</Heading2>
<Body1>
<A ID="pgfId-1036277"></A>
Use the Image Editor to create and modify simple bitmap illustrations and masks. To open an Image Editor, select <UI-Label>
Tools-&gt;Image Editor</UI-Label>
 either from the VisualWorks <A href="03-tools.xml#id(Launcher)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Launcher</A> window, or from the <A href="03-tools.xml#id(GUI Painter Tool)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">GUI Painter Tool</A>.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-37.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1030102"></A>
The Image Editor has a menu bar with three menus: <UI-Label>
<A href="03-tools.xml#id(Image Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Image</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Draw Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Draw</A></UI-Label>
.</Body1>
<Heading3>
<A ID="pgfId-1030145"></A>
<A ID="Image Menu"></A>
Image Menu</Heading3>
<DefItem>
<A ID="pgfId-1030153"></A>
<UILabel-Table>
Capture</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030155"></A>
Prompt for a region of the screen and capture it in the editor window.</DefDscrp>
<DefItem>
<A ID="pgfId-1030229"></A>
<UILabel-Table>
Load...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030231"></A>
Prompt for the name of a resource method (class &amp; selector name) and load its contents into the image editor. Default to the application model currently being edited in the User-Interface Painter.</DefDscrp>
<DefItem>
<A ID="pgfId-1030225"></A>
<UILabel-Table>
Install...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030227"></A>
Prompt for the name of a resource method (class &amp; selector name) and install the current image, overwriting the selected method. Install a mask if the Store B&amp;W Mask setting is enabled.</DefDscrp>
<DefItem>
<A ID="pgfId-1030221"></A>
<UILabel-Table>
Read</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030223"></A>
Read an image from the currently selected widget on the current active canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1030217"></A>
<UILabel-Table>
Apply</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030219"></A>
Install the image directly onto the current (single) selection on the currently active canvas. Create an appropriate resource method for the class that holds the canvas. The selected widget must accept a label property.</DefDscrp>
<DefItem>
<A ID="pgfId-1030213"></A>
<UILabel-Table>
Store B&amp;W Mask</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030215"></A>
Toggle the setting that controls storing the image as a black &amp; white mask. The image will be converted to a mask when it is installed.</DefDscrp>
<DefItem>
<A ID="pgfId-1030209"></A>
<UILabel-Table>
Store Cached Image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030211"></A>
Toggle whether a <Smalltalk-Code-Table>
CachedImage</Smalltalk-Code-Table>
 is used to hold the image. Enable the use of a <Smalltalk-Code-Table>
CachedImage</Smalltalk-Code-Table>
 to speed up image display.</DefDscrp>
<DefItem>
<A ID="pgfId-1030205"></A>
<UILabel-Table>
Resize Image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030207"></A>
Specify a new shape and size for the image being edited; prompt for a rectangle which can both clip and overlap the current image.</DefDscrp>
<Heading4>
<A ID="pgfId-1030168"></A>
<A ID="Edit Menu"></A>
</Heading4>
<Heading3>
<A ID="pgfId-1036049"></A>
Edit Menu</Heading3>
<DefItem>
<A ID="pgfId-1030176"></A>
<UILabel-Table>
Cancel</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030178"></A>
Cancel any changes, reverting the image to last state preserved with the <UILabel-Table>
Accept</UILabel-Table>
 command.</DefDscrp>
<DefItem>
<A ID="pgfId-1030254"></A>
<UILabel-Table>
Accept</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030256"></A>
Preserve a copy of the current state of the image being edited.</DefDscrp>
<DefItem>
<A ID="pgfId-1030250"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030252"></A>
Prompt for a rectangular region of the image editor and copy it to the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1030246"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030248"></A>
Prompt for a rectangular region of the image editor and remove it, saving a copy in the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1030242"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030244"></A>
Prompt for a coordinate and copy the contents of the paste buffer to the image.</DefDscrp>
<Heading4>
<A ID="pgfId-1030186"></A>
<A ID="Draw Menu"></A>
</Heading4>
<Heading3>
<A ID="pgfId-1036046"></A>
Draw Menu</Heading3>
<DefItem>
<A ID="pgfId-1030194"></A>
<UILabel-Table>
Fill Rectangle</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030196"></A>
Prompt for a rectangular region of the image editor and fill it with the selected color.</DefDscrp>
<DefItem>
<A ID="pgfId-1030262"></A>
<UILabel-Table>
Replace Color</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030264"></A>
Prompt for a color from the image and replace it with the currently selected color. Replace every occurrence of the color.</DefDscrp>
<DefItem>
<A ID="pgfId-1030258"></A>
<UILabel-Table>
Color to B&amp;W</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030260"></A>
Produce a mask by substituting black for any non-white colors in the current image.</DefDscrp>
<Body1>
<A ID="pgfId-1035883"></A>
<B>
See also:</B>
</Body1>
<Bullet1>
<A ID="pgfId-1036324"></A>
<A href="lib-images.xml#id(Images, Cursors, and Icons)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Images, Cursors, and Icons</A></Bullet1>
<Body1>
<A ID="pgfId-1032131"></A>
</Body1>
<Body1>
<A ID="pgfId-1036262"></A>
</Body1>
<Body1>
<A ID="pgfId-1036263"></A>
</Body1>
<Heading2>
<A ID="pgfId-1030266"></A>
<A ID="Menu Editor"></A>
Menu Editor</Heading2>
<Body1>
<A ID="pgfId-1030275"></A>
Use the Menu Editor to create and edit menus, and to install menu specifications in application models. To open a new Menu Editor, select <UI-Label>
Tools-&gt;Menu Editor</UI-Label>
 in the VisualWorks <A href="03-tools.xml#id(Launcher)" xml:link="simple" show="replace" actuate="user" CLASS="XRef">Launcher</A> window.</Body1>
<DIV>
<IMAGE xml:link="simple" href="03-tools-38.gif" show="embed" actuate="auto"/>
</DIV>
<Body1>
<A ID="pgfId-1034968"></A>
By selecting a menu item in the left-hand view, all <Emphasis>
properties</Emphasis>
 that belong to it are displayed in the right-hand view. The three groups of menu properties (<UI-Label>
<A href="03-tools.xml#id(Basic Properties)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Basic</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Details Properties)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Details</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Default Properties)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Default</A></UI-Label>
) may be selected using the tabs along the bottom of the properties view.</Body1>
<Body1>
<A ID="pgfId-1035022"></A>
The iconic buttons are short-cuts for various commands on the menu bar.</Body1>
<Body1>
<A ID="pgfId-1036603"></A>
The Menu Editor has a menu bar with five menus: <UI-Label>
<A href="03-tools.xml#id(Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Menu</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Edit Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Edit</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(Move Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Move</A></UI-Label>
, <UI-Label>
<A href="03-tools.xml#id(View Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">View</A></UI-Label>
, and <UI-Label>
<A href="03-tools.xml#id(Test Menu)" xml:link="simple" show="replace" actuate="user" CLASS="Hypertext">Test</A></UI-Label>
.</Body1>
<Body1>
<A ID="pgfId-1036414"></A>
</Body1>
<Heading3>
<A ID="pgfId-1030442"></A>
<A ID="Menu"></A>
Menu</Heading3>
<DefItem>
<A ID="pgfId-1030450"></A>
<UILabel-Table>
New</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030452"></A>
Clear the Menu Editor of the current menu and prepares for a new menu.</DefDscrp>
<DefItem>
<A ID="pgfId-1030454"></A>
<UILabel-Table>
Load...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030456"></A>
Load a menu from a specified class and selector into the Menu Editor.</DefDscrp>
<DefItem>
<A ID="pgfId-1030458"></A>
<UILabel-Table>
Install...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030460"></A>
Prompt for the method selector and class name where menu specifications are stored.</DefDscrp>
<DefItem>
<A ID="pgfId-1030462"></A>
<UILabel-Table>
Read</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030464"></A>
Edit a menu that has been applied to a selected widget.</DefDscrp>
<DefItem>
<A ID="pgfId-1030466"></A>
<UILabel-Table>
Apply...</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030468"></A>
Apply the menu in the Menu Editor to an associated canvas.</DefDscrp>
<DefItem>
<A ID="pgfId-1030470"></A>
<UILabel-Table>
Exit</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030472"></A>
Quit the Menu Editor.</DefDscrp>
<Heading3>
<A ID="pgfId-1036007"></A>
<A ID="Edit Menu"></A>
Edit Menu</Heading3>
<DefItem>
<A ID="pgfId-1030552"></A>
<UILabel-Table>
New Item</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030554"></A>
Create a new top-level menu item. If a sub-level menu item is selected, the Menu Editor creates a new item at the selected level.</DefDscrp>
<DefItem>
<A ID="pgfId-1030556"></A>
<UILabel-Table>
New Submenu Item</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030558"></A>
Create a new submenu item.</DefDscrp>
<DefItem>
<A ID="pgfId-1030560"></A>
<UILabel-Table>
Add Line</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030562"></A>
Insert a divider line between two menu items.</DefDscrp>
<DefItem>
<A ID="pgfId-1030564"></A>
<UILabel-Table>
Cut</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030566"></A>
Delete the selected menu item and place it into the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1030568"></A>
<UILabel-Table>
Copy</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030570"></A>
Copy the selected menu item into the paste buffer.</DefDscrp>
<DefItem>
<A ID="pgfId-1030572"></A>
<UILabel-Table>
Paste</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030574"></A>
Place a cut or copied menu item after the selected menu item.</DefDscrp>
<DefItem>
<A ID="pgfId-1030581"></A>
<UILabel-Table>
Delete</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030583"></A>
Delete the selected menu item.</DefDscrp>
<Heading3>
<A ID="pgfId-1030637"></A>
<A ID="Move Menu"></A>
Move Menu</Heading3>
<DefItem>
<A ID="pgfId-1030645"></A>
<UILabel-Table>
Up</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030647"></A>
Move the selected menu item (and all its submenus) one level up in the hierarchy of the menu.</DefDscrp>
<DefItem>
<A ID="pgfId-1030649"></A>
<UILabel-Table>
Down</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030651"></A>
Move the selected menu item (and all its submenus) one level down in the hierarchy of the menu.</DefDscrp>
<DefItem>
<A ID="pgfId-1030653"></A>
<UILabel-Table>
Right</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030655"></A>
Make the selected menu item a submenu of the item above it.</DefDscrp>
<DefItem>
<A ID="pgfId-1030657"></A>
<UILabel-Table>
Left</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030659"></A>
Move the selected menu item out one level in a hierarchical menu structure.</DefDscrp>
<Heading3>
<A ID="pgfId-1036378"></A>
<A ID="View Menu"></A>
View Menu</Heading3>
<DefItem>
<A ID="pgfId-1030682"></A>
<UI-Label>
Sample Menu Bar</UI-Label>
</DefItem>
<DefDscrp>
<A ID="pgfId-1036382"></A>
Open a window that contains a test version of the menu bar that is currently entered in the Menu Editor.</DefDscrp>
<Heading3>
<A ID="pgfId-1030765"></A>
<A ID="Test Menu"></A>
Test Menu</Heading3>
<Body1>
<A ID="pgfId-1036385"></A>
Display the appearance of the menu currently entered in the Menu Editor.</Body1>
<Heading3>
<A ID="pgfId-1030799"></A>
<A ID="Basic Properties"></A>
Basic Properties</Heading3>
<DefItem>
<A ID="pgfId-1030807"></A>
<UILabel-Table>
Label (Default)</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030911"></A>
Text of the menu item&#39;s label. Placing an <Platform>
&amp;</Platform>
 before a character creates a mnemonic key for that menu item. Mnemonic keys allow menu actions to be executed by keyboard keystrokes. To execute a mnemonic, press and hold the &lt;Alt&gt; key while pressing the mnemonic key.</DefDscrp>
<DefItem>
<A ID="pgfId-1030811"></A>
<UILabel-Table>
Value</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030813"></A>
Name of the method that will perform the menu item&#39;s action.</DefDscrp>
<DefItem>
<A ID="pgfId-1030815"></A>
<UILabel-Table>
ID</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030817"></A>
An identification for programmatic manipulation of the menu item. It specifies a Smalltalk symbol that you can use to reference the menu item.</DefDscrp>
<Heading3>
<A ID="pgfId-1036196"></A>
<A ID="Details Properties"></A>
Details Properties</Heading3>
<DefItem>
<A ID="pgfId-1030855"></A>
<UILabel-Table>
Shortcut character</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030857"></A>
The keyboard shortcut (or accelerator key) for the specified menu item. Press and hold the &lt;Alt&gt; key while pressing the shortcut character to execute the menu item command.</DefDscrp>
<DefItem>
<A ID="pgfId-1030859"></A>
<UILabel-Table>
Label image</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030861"></A>
The graphic image used in place of, or in combination with a textual label for the menu item.</DefDscrp>
<Heading3>
<A ID="pgfId-1036190"></A>
<A ID="Default Properties"></A>
Default Properties</Heading3>
<DefItem>
<A ID="pgfId-1030881"></A>
<UILabel-Table>
On/Off Indicator</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030883"></A>
Prefix a check box as a toggle indicator to the menu item if the <UILabel-Table>
Initially on</UILabel-Table>
 or <UILabel-Table>
Initially off</UILabel-Table>
 radio buttons are selected.</DefDscrp>
<DefItem>
<A ID="pgfId-1030885"></A>
<UILabel-Table>
Initially enabled</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030887"></A>
Enable or disable the menu item.</DefDscrp>
<DefItem>
<A ID="pgfId-1030889"></A>
<UILabel-Table>
Initially hidden</UILabel-Table>
</DefItem>
<DefDscrp>
<A ID="pgfId-1030891"></A>
Visually remove the menu item when this switch is turned on.</DefDscrp>
<Body1>
<A ID="pgfId-1030869"></A>
</Body1>
<Body1>
<A ID="pgfId-1036563"></A>
</Body1>
<Body1>
<A ID="pgfId-1032131"></A>
</Body1>
</XML>
