| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en"> |
| <HEAD> |
| |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| |
| <LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> |
| <TITLE> |
| Editors |
| </TITLE> |
| |
| <link rel="stylesheet" type="text/css" HREF="../book.css"> |
| </HEAD> |
| <BODY BGCOLOR="#ffffff"> |
| <h1>Editors</h1> |
| <P > |
| We have seen how plug-ins can contribute an editor to the workbench, but we |
| haven't yet looked at the implementation of an editor.</P> |
| <P >There is no "typical" implementation pattern for an editor, because editors usually provide application-specific semantics. |
| A tool that edits and manages a particular content type will |
| provide customized behavior for manipulating the data represented by the resource.</P> |
| <P >Editors can come in all shapes and sizes. If a plug-in's editor is text-based, then the editor can either use the existing default text editor, or create a customized text editor |
| by using the facilities provided in the platform. The latter approach is used by the |
| Java example editor.</P> |
| <p > |
| <img src="images/javaeditor.png" alt="Java text editor" border="0" > </p> |
| <p > |
| If a plug-in's editor is not text based, then a custom editor must be implemented by the plug-in. There are several approaches for building |
| custom editors, all of which depend on the look and behavior of the editor.</p> |
| <ul> |
| <li> |
| |
| Form-based editors can layout controls in a fashion similar to a dialog or wizard. |
| The Plug-in Development Environment (PDE) uses this approach in building its |
| manifest editors. </li> |
| <li> |
| |
| Graphics intensive editors can be written using SWT level code. For |
| example, an editor could create its own SWT window for displaying the |
| information, or it could use a custom SWT control that is optimized for the |
| application.</li> |
| <li> |
| |
| List-oriented editors can use JFace list, tree, and table viewers to manipulate |
| their data.</li> |
| </ul> |
| <P > |
| Once the implementation model for the editor has been determined, implementing the editor is much like programming a stand-alone JFace or SWT application. |
| Platform extensions are used to add actions, preferences, and wizards needed to |
| support the editor. But the internals of the editor are largely dependent |
| on your application design principles and internal model. |
| </P> |
| |
| </BODY> |
| </HTML> |