| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html><head> |
| <title></title> |
| <style type="text/css"> |
| <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> |
| </style> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
| </head><body> |
| |
| |
| <!-- ======================================================== --> |
| <!-- = Java Sourcecode to HTML automatically converted code = --> |
| <!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --> |
| <!-- = Further information: http://www.java2html.de = --> |
| <div align="left" class="java"> |
| <table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff"> |
| <tr> |
| <!-- start source code --> |
| <td nowrap="nowrap" valign="top" align="left"> |
| <code> |
| <font color="#7f0055"><b>package </b></font><font color="#000000">oclastview.views;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">oclastview.visitors.XMLforOCL;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">oclastview.visitors.arithSimp.OCLArithSimplifier;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.core.runtime.IAdaptable;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EAnnotation;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EClassifier;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EModelElement;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EObject;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EOperation;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EStructuralFeature;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.action.Action;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.action.IMenuListener;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.action.IMenuManager;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.action.MenuManager;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.action.Separator;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.dialogs.MessageDialog;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.viewers.DoubleClickEvent;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.viewers.IDoubleClickListener;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.viewers.ISelection;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.viewers.IStructuredSelection;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.jface.viewers.TreeViewer;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.OCLExpression;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.swt.SWT;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.swt.graphics.Color;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.swt.widgets.Composite;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.swt.widgets.Menu;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.ISelectionListener;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.ISharedImages;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.IWorkbenchActionConstants;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.IWorkbenchPart;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.PlatformUI;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.part.DrillDownAdapter;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ui.part.ViewPart;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.jdom.Element;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">util.JDomContentProvider;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">util.JDomLabelProvider;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>public class </b></font><font color="#000000">OCLASTView </font><font color="#7f0055"><b>extends </b></font><font color="#000000">ViewPart </font><font color="#7f0055"><b>implements </b></font><font color="#000000">ISelectionListener </font><font color="#000000">{</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public static final </b></font><font color="#000000">String oclNsUri = </font><font color="#2a00ff">"http://www.eclipse.org/ocl/examples/OCL"</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// but the real one is Environment.OCL_NAMESPACE_URI;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">TreeViewer viewer;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">DrillDownAdapter drillDownAdapter;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Action action1;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Action action2;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Action doubleClickAction;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Element invisibleXml = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">/**</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* The constructor.</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">OCLASTView</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">/**</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* This is a callback that will allow us to create the viewer and initialize</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* it.</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">createPartControl</font><font color="#000000">(</font><font color="#000000">Composite parent</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer = </font><font color="#7f0055"><b>new </b></font><font color="#000000">TreeViewer</font><font color="#000000">(</font><font color="#000000">parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">drillDownAdapter = </font><font color="#7f0055"><b>new </b></font><font color="#000000">DrillDownAdapter</font><font color="#000000">(</font><font color="#000000">viewer</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// create the content provider</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.setContentProvider</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">JDomContentProvider</font><font color="#000000">())</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// create the label provider</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">JDomLabelProvider lp = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JDomLabelProvider</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.setLabelProvider</font><font color="#000000">(</font><font color="#000000">lp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// set initial content</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">invisibleXml = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#2a00ff">"invisible_root"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.setInput</font><font color="#000000">(</font><font color="#000000">invisibleXml</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// set background and text colors</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">setColors</font><font color="#000000">(</font><font color="#000000">parent, viewer</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">makeActions</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">hookContextMenu</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">hookDoubleClickAction</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// add myself as a global selection listener</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">getSite</font><font color="#000000">()</font><font color="#000000">.getPage</font><font color="#000000">()</font><font color="#000000">.addSelectionListener</font><font color="#000000">(</font><font color="#7f0055"><b>this</b></font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// prime the selection</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">selectionChanged</font><font color="#000000">(</font><font color="#000000">null, getSite</font><font color="#000000">()</font><font color="#000000">.getPage</font><font color="#000000">()</font><font color="#000000">.getSelection</font><font color="#000000">())</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">hookContextMenu</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">MenuManager menuMgr = </font><font color="#7f0055"><b>new </b></font><font color="#000000">MenuManager</font><font color="#000000">(</font><font color="#2a00ff">"#PopupMenu"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">menuMgr.setRemoveAllWhenShown</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">menuMgr.addMenuListener</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">IMenuListener</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">menuAboutToShow</font><font color="#000000">(</font><font color="#000000">IMenuManager manager</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">OCLASTView.</font><font color="#7f0055"><b>this</b></font><font color="#000000">.fillContextMenu</font><font color="#000000">(</font><font color="#000000">manager</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">})</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Menu menu = menuMgr.createContextMenu</font><font color="#000000">(</font><font color="#000000">viewer.getControl</font><font color="#000000">())</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.getControl</font><font color="#000000">()</font><font color="#000000">.setMenu</font><font color="#000000">(</font><font color="#000000">menu</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">getSite</font><font color="#000000">()</font><font color="#000000">.registerContextMenu</font><font color="#000000">(</font><font color="#000000">menuMgr, viewer</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">fillContextMenu</font><font color="#000000">(</font><font color="#000000">IMenuManager manager</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">manager.add</font><font color="#000000">(</font><font color="#000000">action1</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">manager.add</font><font color="#000000">(</font><font color="#000000">action2</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">manager.add</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">Separator</font><font color="#000000">())</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">drillDownAdapter.addNavigationActions</font><font color="#000000">(</font><font color="#000000">manager</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// Other plug-ins can contribute there actions here</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">manager.add</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">Separator</font><font color="#000000">(</font><font color="#000000">IWorkbenchActionConstants.MB_ADDITIONS</font><font color="#000000">))</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">makeActions</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action1 = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Action</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">showMessage</font><font color="#000000">(</font><font color="#2a00ff">"Action 1 executed"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action1.setText</font><font color="#000000">(</font><font color="#2a00ff">"Action 1"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action1.setToolTipText</font><font color="#000000">(</font><font color="#2a00ff">"Action 1 tooltip"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action1.setImageDescriptor</font><font color="#000000">(</font><font color="#000000">PlatformUI.getWorkbench</font><font color="#000000">()</font><font color="#000000">.getSharedImages</font><font color="#000000">()</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.getImageDescriptor</font><font color="#000000">(</font><font color="#000000">ISharedImages.IMG_OBJS_INFO_TSK</font><font color="#000000">))</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action2 = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Action</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">showMessage</font><font color="#000000">(</font><font color="#2a00ff">"Action 2 executed"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action2.setText</font><font color="#000000">(</font><font color="#2a00ff">"Action 2"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action2.setToolTipText</font><font color="#000000">(</font><font color="#2a00ff">"Action 2 tooltip"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">action2.setImageDescriptor</font><font color="#000000">(</font><font color="#000000">PlatformUI.getWorkbench</font><font color="#000000">()</font><font color="#000000">.getSharedImages</font><font color="#000000">()</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.getImageDescriptor</font><font color="#000000">(</font><font color="#000000">ISharedImages.IMG_OBJS_INFO_TSK</font><font color="#000000">))</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">doubleClickAction = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Action</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ISelection selection = viewer.getSelection</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Object obj = </font><font color="#000000">((</font><font color="#000000">IStructuredSelection</font><font color="#000000">) </font><font color="#000000">selection</font><font color="#000000">)</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.getFirstElement</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">showMessage</font><font color="#000000">(</font><font color="#2a00ff">"Double-click detected on " </font><font color="#000000">+ obj.toString</font><font color="#000000">())</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">hookDoubleClickAction</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.addDoubleClickListener</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">IDoubleClickListener</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">doubleClick</font><font color="#000000">(</font><font color="#000000">DoubleClickEvent event</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">doubleClickAction.run</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">})</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">showMessage</font><font color="#000000">(</font><font color="#000000">String message</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">MessageDialog.openInformation</font><font color="#000000">(</font><font color="#000000">viewer.getControl</font><font color="#000000">()</font><font color="#000000">.getShell</font><font color="#000000">()</font><font color="#000000">,</font><br /> |
| <font color="#ffffff"> </font><font color="#2a00ff">"OCL AST View"</font><font color="#000000">, message</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">/**</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* Passing the focus request to the viewer's control.</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setFocus</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.getControl</font><font color="#000000">()</font><font color="#000000">.setFocus</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>static public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setColors</font><font color="#000000">(</font><font color="#000000">Composite parent, TreeViewer viewer</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Color back = parent.getDisplay</font><font color="#000000">()</font><font color="#000000">.getSystemColor</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">SWT.COLOR_INFO_BACKGROUND</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Color front = parent.getDisplay</font><font color="#000000">()</font><font color="#000000">.getSystemColor</font><font color="#000000">(</font><font color="#000000">SWT.COLOR_DARK_BLUE</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.getTree</font><font color="#000000">()</font><font color="#000000">.setBackground</font><font color="#000000">(</font><font color="#000000">back</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.getTree</font><font color="#000000">()</font><font color="#000000">.setForeground</font><font color="#000000">(</font><font color="#000000">front</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">selectionChanged</font><font color="#000000">(</font><font color="#000000">IWorkbenchPart part, ISelection selection</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">clearView</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EObject context = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">!</font><font color="#000000">(</font><font color="#000000">selection </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">IStructuredSelection</font><font color="#000000">)) {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IStructuredSelection sel = </font><font color="#000000">(</font><font color="#000000">IStructuredSelection</font><font color="#000000">) </font><font color="#000000">selection;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">sel != </font><font color="#7f0055"><b>null </b></font><font color="#000000">&& !sel.isEmpty</font><font color="#000000">()) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Object selected = sel.getFirstElement</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">selected </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">EObject</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">context = </font><font color="#000000">(</font><font color="#000000">EObject</font><font color="#000000">) </font><font color="#000000">selected;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else if </b></font><font color="#000000">(</font><font color="#000000">selected </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">IAdaptable</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">context = </font><font color="#000000">(</font><font color="#000000">EObject</font><font color="#000000">) ((</font><font color="#000000">IAdaptable</font><font color="#000000">) </font><font color="#000000">selected</font><font color="#000000">)</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.getAdapter</font><font color="#000000">(</font><font color="#000000">EObject.</font><font color="#7f0055"><b>class</b></font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">context == </font><font color="#7f0055"><b>null </b></font><font color="#000000">|| !</font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">EModelElement</font><font color="#000000">)) {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EModelElement me = </font><font color="#000000">(</font><font color="#000000">EModelElement</font><font color="#000000">) </font><font color="#000000">context;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#000000">Object oea : me.getEAnnotations</font><font color="#000000">()) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EAnnotation ea = </font><font color="#000000">(</font><font color="#000000">EAnnotation</font><font color="#000000">) </font><font color="#000000">oea;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">ea.getSource</font><font color="#000000">()</font><font color="#000000">.toLowerCase</font><font color="#000000">()</font><font color="#000000">.equals</font><font color="#000000">(</font><font color="#000000">oclNsUri.toLowerCase</font><font color="#000000">())) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element tree = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#2a00ff">"tree"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#000000">Object key : ea.getDetails</font><font color="#000000">()</font><font color="#000000">.keySet</font><font color="#000000">()) {</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">key </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">String</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">String strKey = </font><font color="#000000">(</font><font color="#000000">String</font><font color="#000000">) </font><font color="#000000">key;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">key.equals</font><font color="#000000">(</font><font color="#2a00ff">"invariant"</font><font color="#000000">)) {</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// the EClassifier, not the EOperation</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">context = context.eContainer</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Object val = ea.getDetails</font><font color="#000000">()</font><font color="#000000">.get</font><font color="#000000">(</font><font color="#000000">key</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element xmlNode = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">val </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">String</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlNode = displayOCL</font><font color="#000000">((</font><font color="#000000">String</font><font color="#000000">) </font><font color="#000000">val, context, strKey</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">tree.addContent</font><font color="#000000">(</font><font color="#000000">xmlNode</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">openViewOn</font><font color="#000000">(</font><font color="#000000">tree</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Element displayOCL</font><font color="#000000">(</font><font color="#000000">String expression, EObject context, String key</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.ocl.OCL ocl = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.ocl.helper.OCLHelper helper = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element res = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#000000">key</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setAttribute</font><font color="#000000">(</font><font color="#2a00ff">"textualInput"</font><font color="#000000">, expression</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.NamedElement</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ocl = org.eclipse.ocl.uml.OCL.newInstance</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else </b></font><font color="#000000">{</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ocl = org.eclipse.ocl.ecore.OCL.newInstance</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper = ocl.createOCLHelper</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// set our helper's context object to parse against it</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">((</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.emf.ecore.EClass</font><font color="#000000">)</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">|| </font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.Classifier</font><font color="#000000">)) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper.setContext</font><font color="#000000">(</font><font color="#000000">context</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.emf.ecore.EOperation</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EOperation eOp = </font><font color="#000000">(</font><font color="#000000">EOperation</font><font color="#000000">) </font><font color="#000000">context;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper.setOperationContext</font><font color="#000000">(</font><font color="#000000">eOp.getEContainingClass</font><font color="#000000">()</font><font color="#000000">, eOp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.Operation</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.uml2.uml.Operation op = </font><font color="#000000">(</font><font color="#000000">org.eclipse.uml2.uml.Operation</font><font color="#000000">) </font><font color="#000000">context;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper.setOperationContext</font><font color="#000000">(</font><font color="#000000">op.getOwner</font><font color="#000000">()</font><font color="#000000">, op</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.emf.ecore.EStructuralFeature</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EStructuralFeature sf = </font><font color="#000000">(</font><font color="#000000">EStructuralFeature</font><font color="#000000">) </font><font color="#000000">context;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper.setAttributeContext</font><font color="#000000">(</font><font color="#000000">sf.getEContainingClass</font><font color="#000000">()</font><font color="#000000">, sf</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.Property</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.uml2.uml.Property p = </font><font color="#000000">(</font><font color="#000000">org.eclipse.uml2.uml.Property</font><font color="#000000">) </font><font color="#000000">context;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">helper.setAttributeContext</font><font color="#000000">(</font><font color="#000000">p.getOwner</font><font color="#000000">()</font><font color="#000000">, p</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">OCLExpression<EClassifier> oclExp = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element xmlAST = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>try </b></font><font color="#000000">{</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">oclExp = helper.createQuery</font><font color="#000000">(</font><font color="#000000">expression</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>catch </b></font><font color="#000000">(</font><font color="#000000">Exception e</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlAST = reportException</font><font color="#000000">(</font><font color="#000000">e</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.addContent</font><font color="#000000">(</font><font color="#000000">xmlAST</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">XMLforOCL xfo = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// OCLArithSimplifier simplifier = null; </font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">context </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.NamedElement</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xfo = XMLforOCL.getUML2Version</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// simplifier = OCLArithSimplifier.getUML2Version();</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>else </b></font><font color="#000000">{</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xfo = XMLforOCL.getEcoreVersion</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// simplifier = OCLArithSimplifier.getEcoreVersion();</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>try </b></font><font color="#000000">{</font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// oclExp = (OCLExpression) oclExp.accept(simplifier);</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlAST = </font><font color="#000000">(</font><font color="#000000">Element</font><font color="#000000">) </font><font color="#000000">oclExp.accept</font><font color="#000000">(</font><font color="#000000">xfo</font><font color="#000000">)</font><font color="#000000">; </font><font color="#3f7f5f">// </font><br /> |
| <font color="#ffffff"> </font><font color="#000000">} </font><font color="#7f0055"><b>catch </b></font><font color="#000000">(</font><font color="#000000">Exception e</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlAST = reportException</font><font color="#000000">(</font><font color="#000000">e</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.addContent</font><font color="#000000">(</font><font color="#000000">xmlAST</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#000000">Element reportException</font><font color="#000000">(</font><font color="#000000">Exception e</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">String elemName = e.getClass</font><font color="#000000">()</font><font color="#000000">.getName</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element xmlAST = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#000000">elemName</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">String msg = e.getMessage</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">msg == </font><font color="#7f0055"><b>null</b></font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">msg = </font><font color="#2a00ff">"NULL"</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlAST.setAttribute</font><font color="#000000">(</font><font color="#2a00ff">"msg"</font><font color="#000000">, msg</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>int </b></font><font color="#000000">counter = </font><font color="#990000">0</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">StackTraceElement</font><font color="#000000">[] </font><font color="#000000">sttr = e.getStackTrace</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#000000">StackTraceElement ste : sttr</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">String string = ste.toString</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element eL = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#2a00ff">"line_" </font><font color="#000000">+ counter</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">eL.setAttribute</font><font color="#000000">(</font><font color="#2a00ff">"elem"</font><font color="#000000">, string</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">xmlAST.addContent</font><font color="#000000">(</font><font color="#000000">eL</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">counter++;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">xmlAST;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">clearView</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.setInput</font><font color="#000000">(</font><font color="#000000">invisibleXml</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.refresh</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.expandAll</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">/**</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* Opens this view showing </font><font color="#7f7f9f"><code></font><font color="#3f5fbf">tree</font><font color="#7f7f9f"></code></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* </font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">elem</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">openViewOn</font><font color="#000000">(</font><font color="#000000">Element tree</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Element root = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Element</font><font color="#000000">(</font><font color="#2a00ff">"root"</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">root.addContent</font><font color="#000000">(</font><font color="#000000">tree</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.setInput</font><font color="#000000">(</font><font color="#000000">root</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.refresh</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">viewer.expandAll</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#000000">}</font></code> |
| |
| </td> |
| <!-- end source code --> |
| </tr> |
| </table> |
| </div> |
| <!-- = END of automatically generated HTML code = --> |
| <!-- ======================================================== --> |
| |
| |
| </body></html> |