| 27 |
</font></span></font></span></div> |
</font></span></font></span></div> |
| 28 |
<br> |
<br> |
| 29 |
<div style="margin-left: 40px;"><span style="font-weight: bold;">Summary<br> |
<div style="margin-left: 40px;"><span style="font-weight: bold;">Summary<br> |
| 30 |
</span>This document describes how the Eclipse 3.1 workbench works. It |
</span>This document describes how the Eclipse 3.1 workbench works. In |
| 31 |
describes the infrastructure that makes views and editors work. The |
particular, it |
| 32 |
|
describes the internal classes that manage views and editors. The |
| 33 |
goal is to make the reader familiar with important classes in the |
goal is to make the reader familiar with important classes in the |
| 34 |
workbench, and how they interact. It is assumed that the reader is |
workbench, and how they interact. It is assumed that the reader is |
| 35 |
already familiar with the workbench APIs, and with creating views, |
already familiar with using the workbench APIs and with creating views, |
| 36 |
editors, action sets.<br> |
editors, action sets, etc. <br> |
| 37 |
<br> |
<br> |
| 38 |
<span style="font-weight: bold;">Stefan Xenos, IBM</span><br> |
<span style="font-weight: bold;">Stefan Xenos, IBM</span><br> |
| 39 |
July 12, 2005<br> |
July 12, 2005<br> |
| 90 |
Introduction</span> |
Introduction</span> |
| 91 |
<br> |
<br> |
| 92 |
</h1> |
</h1> |
| 93 |
<span style="font-weight: bold;"></span> |
<span style="font-weight: bold;"></span> This document describes |
| 94 |
|
workbench internals and not API. The design of internals changes |
| 95 |
|
frequently. For information on newer Eclipse versions, the latest |
| 96 |
|
version of this document can be found on the <a |
| 97 |
|
href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/dev.html">UI |
| 98 |
|
development resources page</a>.<br> |
| 99 |
|
<br> |
| 100 |
<br> |
<br> |
| 101 |
<div style="text-align: center;"><span style="font-weight: bold;">Figure |
<div style="text-align: center;"><span style="font-weight: bold;">Figure |
| 102 |
1.0.1: Ownership of views and editors<br> |
1.0.1: Ownership of views and editors<br> |
| 176 |
allows the client code to communicate with the reference and manages |
allows the client code to communicate with the reference and manages |
| 177 |
services created for the implementation.<br> |
services created for the implementation.<br> |
| 178 |
<br> |
<br> |
| 179 |
WorkbenchPartReferences allocate SWT resources lazily as needed. |
WorkbenchPartReferences allocates SWT resources lazily as needed. |
| 180 |
Once created, the part reference must be explicitly disposed. Disposing |
Once created, the part reference must be explicitly disposed. Disposing |
| 181 |
the reference cleans up all of its resources (including the part |
the reference cleans up all of its resources (including the part |
| 182 |
implementation itself) and guarantees that the reference will never |
implementation itself) and guarantees that the reference will never |
| 990 |
of the above have happened successfully, it must not be possible to |
of the above have happened successfully, it must not be possible to |
| 991 |
reach the object through any API method.<br> |
reach the object through any API method.<br> |
| 992 |
<br> |
<br> |
| 993 |
Keep in mind that the may trigger other client code during its own |
Keep in mind that the object may trigger other client code during its |
| 994 |
|
own |
| 995 |
initialization, so it should not even be possible for an object to find |
initialization, so it should not even be possible for an object to find |
| 996 |
itself during construction.<br> |
itself during construction.<br> |
| 997 |
<h2><a class="mozTocH3" name="mozTocId959546"></a>4.2 No method may |
<h2><a class="mozTocH3" name="mozTocId959546"></a>4.2 No method may |