<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_201) on Thu Jul 23 15:58:25 CEST 2020 -->
<title>GridTreeViewer</title>
<meta name="date" content="2020-07-23">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="GridTreeViewer";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GridTreeViewer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTableViewer.html" title="class in org.eclipse.nebula.jface.gridviewer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridViewerColumn.html" title="class in org.eclipse.nebula.jface.gridviewer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html" target="_top">Frames</a></li>
<li><a href="GridTreeViewer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.eclipse.jface.viewers.StructuredViewer">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.eclipse.jface.viewers.AbstractTreeViewer">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.nebula.jface.gridviewer</div>
<h2 title="Class GridTreeViewer" class="title">Class GridTreeViewer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jface.viewers.Viewer</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jface.viewers.ContentViewer</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jface.viewers.StructuredViewer</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jface.viewers.ColumnViewer</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jface.viewers.AbstractTreeViewer</li>
<li>
<ul class="inheritance">
<li>org.eclipse.nebula.jface.gridviewer.GridTreeViewer</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.eclipse.jface.viewers.IInputProvider, org.eclipse.jface.viewers.IInputSelectionProvider, org.eclipse.jface.viewers.IPostSelectionProvider, org.eclipse.jface.viewers.ISelectionProvider</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">GridTreeViewer</span>
extends org.eclipse.jface.viewers.AbstractTreeViewer</pre>
<div class="block">A concrete viewer based on an Grid control.
 <p>
 This class is not intended to be subclassed outside the viewer framework. It
 is designed to be instantiated with a pre-existing Grid control and
 configured with a domain-specific content provider, label provider, element
 filter (optional), and element sorter (optional).
 <p>
 Content providers for grid tree viewers must implement the
 <code>ITreeContentProvider</code> interface.
 <p><b>The current implementation does not support lazy content providers.</b></p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.jface.viewers.StructuredViewer">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jface.viewers.StructuredViewer</h3>
<code>org.eclipse.jface.viewers.StructuredViewer.ColorAndFontCollector, org.eclipse.jface.viewers.StructuredViewer.ColorAndFontCollectorWithProviders</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.jface.viewers.AbstractTreeViewer">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jface.viewers.AbstractTreeViewer</h3>
<code>ALL_LEVELS</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.jface.viewers.Viewer">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jface.viewers.Viewer</h3>
<code>WIDGET_DATA_KEY</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#GridTreeViewer-org.eclipse.swt.widgets.Composite-">GridTreeViewer</a></span>(org.eclipse.swt.widgets.Composite&nbsp;parent)</code>
<div class="block">Creates a grid tree viewer on a newly-created grid control under the given
 parent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#GridTreeViewer-org.eclipse.swt.widgets.Composite-int-">GridTreeViewer</a></span>(org.eclipse.swt.widgets.Composite&nbsp;parent,
              int&nbsp;style)</code>
<div class="block">Creates a grid tree viewer on a newly-created grid control under the given
 parent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#GridTreeViewer-org.eclipse.nebula.widgets.grid.Grid-">GridTreeViewer</a></span>(<a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid">Grid</a>&nbsp;grid)</code>
<div class="block">Creates a grid tree viewer on the given grid control.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#addTreeListener-org.eclipse.swt.widgets.Control-org.eclipse.swt.events.TreeListener-">addTreeListener</a></span>(org.eclipse.swt.widgets.Control&nbsp;control,
               org.eclipse.swt.events.TreeListener&nbsp;listener)</code></td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.jface.viewers.ColumnViewerEditor</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#createViewerEditor--">createViewerEditor</a></span>()</code></td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#doGetColumnCount--">doGetColumnCount</a></span>()</code>
<div class="block">Returns the number of columns of this viewer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#doUpdateItem-org.eclipse.swt.widgets.Item-java.lang.Object-">doUpdateItem</a></span>(org.eclipse.swt.widgets.Item&nbsp;item,
            java.lang.Object&nbsp;element)</code></td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getAutoPreferredHeight--">getAutoPreferredHeight</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getChildren-org.eclipse.swt.widgets.Widget-">getChildren</a></span>(org.eclipse.swt.widgets.Widget&nbsp;o)</code></td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Widget</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getColumnViewerOwner-int-">getColumnViewerOwner</a></span>(int&nbsp;columnIndex)</code></td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>org.eclipse.swt.widgets.Control</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getControl--">getControl</a></span>()</code></td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getExpanded-org.eclipse.swt.widgets.Item-">getExpanded</a></span>(org.eclipse.swt.widgets.Item&nbsp;item)</code></td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid">Grid</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getGrid--">getGrid</a></span>()</code>
<div class="block">Returns the underlying <a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid"><code>Grid</code></a> Control.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getItemAt-org.eclipse.swt.graphics.Point-">getItemAt</a></span>(org.eclipse.swt.graphics.Point&nbsp;point)</code></td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getItemCount-org.eclipse.swt.widgets.Control-">getItemCount</a></span>(org.eclipse.swt.widgets.Control&nbsp;control)</code></td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getItemCount-org.eclipse.swt.widgets.Item-">getItemCount</a></span>(org.eclipse.swt.widgets.Item&nbsp;item)</code></td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getItems-org.eclipse.swt.widgets.Item-">getItems</a></span>(org.eclipse.swt.widgets.Item&nbsp;item)</code></td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getParentItem-org.eclipse.swt.widgets.Item-">getParentItem</a></span>(org.eclipse.swt.widgets.Item&nbsp;item)</code></td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getSelection-org.eclipse.swt.widgets.Control-">getSelection</a></span>(org.eclipse.swt.widgets.Control&nbsp;control)</code></td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected org.eclipse.jface.viewers.ViewerRow</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#getViewerRowFromItem-org.eclipse.swt.widgets.Widget-">getViewerRowFromItem</a></span>(org.eclipse.swt.widgets.Widget&nbsp;item)</code></td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.swt.widgets.Item</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#newItem-org.eclipse.swt.widgets.Widget-int-int-">newItem</a></span>(org.eclipse.swt.widgets.Widget&nbsp;parent,
       int&nbsp;style,
       int&nbsp;index)</code></td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#remove-java.lang.Object-int-">remove</a></span>(java.lang.Object&nbsp;parentOrTreePath,
      int&nbsp;index)</code>
<div class="block">Removes the element at the specified index of the parent.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#removeAll-org.eclipse.swt.widgets.Control-">removeAll</a></span>(org.eclipse.swt.widgets.Control&nbsp;control)</code></td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#setAutoPreferredHeight-boolean-">setAutoPreferredHeight</a></span>(boolean&nbsp;autoPreferredHeight)</code>
<div class="block">When set to true, this grid viewer will ensure that each of
 the grid's items is always automatically sized to its preferred
 height.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#setExpanded-org.eclipse.swt.widgets.Item-boolean-">setExpanded</a></span>(org.eclipse.swt.widgets.Item&nbsp;item,
           boolean&nbsp;expand)</code></td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#setRowHeaderLabelProvider-org.eclipse.jface.viewers.CellLabelProvider-">setRowHeaderLabelProvider</a></span>(org.eclipse.jface.viewers.CellLabelProvider&nbsp;rowHeaderLabelProvider)</code>
<div class="block">Label provider used by calculate the row header text</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#setSelection-java.util.List-">setSelection</a></span>(java.util.List&nbsp;items)</code></td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#showItem-org.eclipse.swt.widgets.Item-">showItem</a></span>(org.eclipse.swt.widgets.Item&nbsp;item)</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.AbstractTreeViewer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jface.viewers.AbstractTreeViewer</h3>
<code>add, add, addSelectionListener, addTreeListener, assertContentProviderType, associate, buildLabel, collapseAll, collapseToLevel, createChildren, createTreeItem, disassociate, doFindInputItem, doFindItem, doUpdateItem, expandAll, expandAll, expandToLevel, expandToLevel, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, getChild, getChildren, getExpandedElements, getExpandedState, getExpandedTreePaths, getNextItem, getParentElement, getPreviousItem, getRawChildren, getSelection, getSelectionFromWidget, getSortedChildren, getStructuredSelection, getTreePathFromItem, getVisibleExpandedElements, handleDoubleSelect, handleTreeCollapse, handleTreeExpand, hookControl, indexForElement, inputChanged, insert, internalAdd, internalCollapseToLevel, internalExpand, internalExpandToLevel, internalFindItems, internalGetWidgetToSelect, internalInitializeTree, internalIsInputOrEmptyPath, internalRefresh, internalRefresh, internalRefresh, internalRemove, internalRemove, isExpandable, isSameSelection, labelProviderChanged, remove, remove, remove, removeTreeListener, reveal, scrollDown, scrollUp, setAutoExpandLevel, setContentProvider, setExpandedElements, setExpandedState, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren, updatePlus</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.ColumnViewer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jface.viewers.ColumnViewer</h3>
<code>applyEditorValue, cancelEditing, checkBusy, editElement, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, update</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.StructuredViewer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jface.viewers.StructuredViewer</h3>
<code>addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSorter, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSelection, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, usingElementMap</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.ContentViewer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jface.viewers.ContentViewer</h3>
<code>getContentProvider, getInput, getLabelProvider</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.Viewer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jface.viewers.Viewer</h3>
<code>addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jface.viewers.ISelectionProvider">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jface.viewers.ISelectionProvider</h3>
<code>addSelectionChangedListener, removeSelectionChangedListener, setSelection</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="GridTreeViewer-org.eclipse.swt.widgets.Composite-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GridTreeViewer</h4>
<pre>public&nbsp;GridTreeViewer(org.eclipse.swt.widgets.Composite&nbsp;parent)</pre>
<div class="block">Creates a grid tree viewer on a newly-created grid control under the given
 parent. The grid control is created using the SWT style bits
 <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>. The
 viewer has no input, no content provider, a default label provider, no
 sorter, and no filters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent control</dd>
</dl>
</li>
</ul>
<a name="GridTreeViewer-org.eclipse.swt.widgets.Composite-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GridTreeViewer</h4>
<pre>public&nbsp;GridTreeViewer(org.eclipse.swt.widgets.Composite&nbsp;parent,
                      int&nbsp;style)</pre>
<div class="block">Creates a grid tree viewer on a newly-created grid control under the given
 parent. The grid control is created using the given SWT style bits. The
 viewer has no input, no content provider, a default label provider, no
 sorter, and no filters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent control</dd>
<dd><code>style</code> - the SWT style bits used to create the grid.</dd>
</dl>
</li>
</ul>
<a name="GridTreeViewer-org.eclipse.nebula.widgets.grid.Grid-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GridTreeViewer</h4>
<pre>public&nbsp;GridTreeViewer(<a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid">Grid</a>&nbsp;grid)</pre>
<div class="block">Creates a grid tree viewer on the given grid control. The viewer has no
 input, no content provider, a default label provider, no sorter, and no
 filters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>grid</code> - the grid control</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getGrid--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGrid</h4>
<pre>public&nbsp;<a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid">Grid</a>&nbsp;getGrid()</pre>
<div class="block">Returns the underlying <a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html" title="class in org.eclipse.nebula.widgets.grid"><code>Grid</code></a> Control.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>grid control.</dd>
</dl>
</li>
</ul>
<a name="getItemAt-org.eclipse.swt.graphics.Point-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItemAt</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item&nbsp;getItemAt(org.eclipse.swt.graphics.Point&nbsp;point)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getItemAt</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="createViewerEditor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createViewerEditor</h4>
<pre>protected&nbsp;org.eclipse.jface.viewers.ColumnViewerEditor&nbsp;createViewerEditor()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>createViewerEditor</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="addTreeListener-org.eclipse.swt.widgets.Control-org.eclipse.swt.events.TreeListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addTreeListener</h4>
<pre>protected&nbsp;void&nbsp;addTreeListener(org.eclipse.swt.widgets.Control&nbsp;control,
                               org.eclipse.swt.events.TreeListener&nbsp;listener)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>addTreeListener</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getChildren-org.eclipse.swt.widgets.Widget-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildren</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item[]&nbsp;getChildren(org.eclipse.swt.widgets.Widget&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getChildren</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getExpanded-org.eclipse.swt.widgets.Item-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpanded</h4>
<pre>protected&nbsp;boolean&nbsp;getExpanded(org.eclipse.swt.widgets.Item&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getExpanded</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getItemCount-org.eclipse.swt.widgets.Control-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItemCount</h4>
<pre>protected&nbsp;int&nbsp;getItemCount(org.eclipse.swt.widgets.Control&nbsp;control)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getItemCount</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getItemCount-org.eclipse.swt.widgets.Item-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItemCount</h4>
<pre>protected&nbsp;int&nbsp;getItemCount(org.eclipse.swt.widgets.Item&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getItemCount</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getItems-org.eclipse.swt.widgets.Item-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItems</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item[]&nbsp;getItems(org.eclipse.swt.widgets.Item&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getItems</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getParentItem-org.eclipse.swt.widgets.Item-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentItem</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item&nbsp;getParentItem(org.eclipse.swt.widgets.Item&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getParentItem</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getSelection-org.eclipse.swt.widgets.Control-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelection</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item[]&nbsp;getSelection(org.eclipse.swt.widgets.Control&nbsp;control)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getSelection</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="newItem-org.eclipse.swt.widgets.Widget-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newItem</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Item&nbsp;newItem(org.eclipse.swt.widgets.Widget&nbsp;parent,
                                               int&nbsp;style,
                                               int&nbsp;index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>newItem</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="removeAll-org.eclipse.swt.widgets.Control-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAll</h4>
<pre>protected&nbsp;void&nbsp;removeAll(org.eclipse.swt.widgets.Control&nbsp;control)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>removeAll</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="setExpanded-org.eclipse.swt.widgets.Item-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExpanded</h4>
<pre>protected&nbsp;void&nbsp;setExpanded(org.eclipse.swt.widgets.Item&nbsp;item,
                           boolean&nbsp;expand)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setExpanded</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="setSelection-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSelection</h4>
<pre>protected&nbsp;void&nbsp;setSelection(java.util.List&nbsp;items)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setSelection</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="showItem-org.eclipse.swt.widgets.Item-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>showItem</h4>
<pre>protected&nbsp;void&nbsp;showItem(org.eclipse.swt.widgets.Item&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>showItem</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getControl--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getControl</h4>
<pre>public&nbsp;org.eclipse.swt.widgets.Control&nbsp;getControl()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getControl</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.Viewer</code></dd>
</dl>
</li>
</ul>
<a name="getViewerRowFromItem-org.eclipse.swt.widgets.Widget-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getViewerRowFromItem</h4>
<pre>protected&nbsp;org.eclipse.jface.viewers.ViewerRow&nbsp;getViewerRowFromItem(org.eclipse.swt.widgets.Widget&nbsp;item)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getViewerRowFromItem</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="getColumnViewerOwner-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnViewerOwner</h4>
<pre>protected&nbsp;org.eclipse.swt.widgets.Widget&nbsp;getColumnViewerOwner(int&nbsp;columnIndex)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getColumnViewerOwner</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="doGetColumnCount--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doGetColumnCount</h4>
<pre>protected&nbsp;int&nbsp;doGetColumnCount()</pre>
<div class="block">Returns the number of columns of this viewer.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>doGetColumnCount</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of columns</dd>
</dl>
</li>
</ul>
<a name="setAutoPreferredHeight-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAutoPreferredHeight</h4>
<pre>public&nbsp;void&nbsp;setAutoPreferredHeight(boolean&nbsp;autoPreferredHeight)</pre>
<div class="block">When set to true, this grid viewer will ensure that each of
 the grid's items is always automatically sized to its preferred
 height. The default is false.
 <p>
 Since this mechanism usually leads to a grid with rows of
 different heights and thus to a grid with decreased performance,
 it should only be applied if that is intended.  To set the
 height of all items to a specific value, use <a href="../../../../../org/eclipse/nebula/widgets/grid/Grid.html#setItemHeight-int-"><code>Grid.setItemHeight(int)</code></a>
 instead.
 <p>
 When a column with activated word wrapping is resized
 by dragging the column resizer, the items are only auto-resized
 properly if you use <a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridViewerColumn.html" title="class in org.eclipse.nebula.jface.gridviewer"><code>GridViewerColumn</code></a> to create the
 columns.
 <p>
 When this method is called, existing rows are not resized to their 
 preferred height.  Therefore it is suggested that this method be called
 before rows are populated (i.e. before setInput).</div>
</li>
</ul>
<a name="getAutoPreferredHeight--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoPreferredHeight</h4>
<pre>public&nbsp;boolean&nbsp;getAutoPreferredHeight()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this grid viewer sizes its rows to their
          preferred height</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html#setAutoPreferredHeight-boolean-"><code>setAutoPreferredHeight(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="doUpdateItem-org.eclipse.swt.widgets.Item-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doUpdateItem</h4>
<pre>protected&nbsp;void&nbsp;doUpdateItem(org.eclipse.swt.widgets.Item&nbsp;item,
                            java.lang.Object&nbsp;element)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>doUpdateItem</code>&nbsp;in class&nbsp;<code>org.eclipse.jface.viewers.AbstractTreeViewer</code></dd>
</dl>
</li>
</ul>
<a name="remove-java.lang.Object-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove(java.lang.Object&nbsp;parentOrTreePath,
                   int&nbsp;index)</pre>
<div class="block">Removes the element at the specified index of the parent.  The selection is updated if required.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parentOrTreePath</code> - the parent element, the input element, or a tree path to the parent element</dd>
<dd><code>index</code> - child index</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.3</dd>
</dl>
</li>
</ul>
<a name="setRowHeaderLabelProvider-org.eclipse.jface.viewers.CellLabelProvider-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setRowHeaderLabelProvider</h4>
<pre>public&nbsp;void&nbsp;setRowHeaderLabelProvider(org.eclipse.jface.viewers.CellLabelProvider&nbsp;rowHeaderLabelProvider)</pre>
<div class="block">Label provider used by calculate the row header text</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rowHeaderLabelProvider</code> - the provider</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GridTreeViewer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridTableViewer.html" title="class in org.eclipse.nebula.jface.gridviewer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/jface/gridviewer/GridViewerColumn.html" title="class in org.eclipse.nebula.jface.gridviewer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/jface/gridviewer/GridTreeViewer.html" target="_top">Frames</a></li>
<li><a href="GridTreeViewer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.eclipse.jface.viewers.StructuredViewer">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.eclipse.jface.viewers.AbstractTreeViewer">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
