<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (1.8.0_51) on Wed Sep 26 09:08:14 CEST 2018 -->
<title>EEFTabbedPropertyList</title>
<meta name="date" content="2018-09-26">
<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="EEFTabbedPropertyList";
        }
    }
    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};
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="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.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/eef/properties/ui/internal/page/propertylist/EEFPropertyListFocusListener.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyListColorHolder.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html" target="_top">Frames</a></li>
<li><a href="EEFTabbedPropertyList.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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.eef.properties.ui.internal.page.propertylist</div>
<h2 title="Class EEFTabbedPropertyList" class="title">Class EEFTabbedPropertyList</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.swt.widgets.Widget</li>
<li>
<ul class="inheritance">
<li>org.eclipse.swt.widgets.Control</li>
<li>
<ul class="inheritance">
<li>org.eclipse.swt.widgets.Scrollable</li>
<li>
<ul class="inheritance">
<li>org.eclipse.swt.widgets.Composite</li>
<li>
<ul class="inheritance">
<li>org.eclipse.eef.properties.ui.internal.page.propertylist.EEFTabbedPropertyList</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.swt.graphics.Drawable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">EEFTabbedPropertyList</span>
extends org.eclipse.swt.widgets.Composite</pre>
<div class="block">Shows the list of tabs in the tabbed property sheet page.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#INDENT">INDENT</a></span></code>
<div class="block">The number of spaces used to indent a tab.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#NONE">NONE</a></span></code>
<div class="block">This constant is used to indicate NONE (for example the index of the currently selected tab).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.swt.widgets.Control">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.swt.widgets.Control</h3>
<code>view</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/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#EEFTabbedPropertyList-org.eclipse.swt.widgets.Composite-org.eclipse.eef.common.ui.api.EEFWidgetFactory-">EEFTabbedPropertyList</a></span>(org.eclipse.swt.widgets.Composite&nbsp;parent,
                     <a href="../../../../../../../../org/eclipse/eef/common/ui/api/EEFWidgetFactory.html" title="class in org.eclipse.eef.common.ui.api">EEFWidgetFactory</a>&nbsp;widgetFactory)</code>
<div class="block">The constructor.</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>org.eclipse.swt.graphics.Point</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#computeSize-int-int-boolean-">computeSize</a></span>(int&nbsp;wHint,
           int&nbsp;hHint,
           boolean&nbsp;changed)</code></td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#computeTabsThatFitInComposite--">computeTabsThatFitInComposite</a></span>()</code>
<div class="block">Calculate the number of tabs that will fit in the tab list composite.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#deselectAll--">deselectAll</a></span>()</code>
<div class="block">Deselects all the elements in the list.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFBottomNavigationElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFBottomNavigationElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getBottomNavigationElement--">getBottomNavigationElement</a></span>()</code>
<div class="block">Return the bottomNavigationElement.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getBottomVisibleIndex--">getBottomVisibleIndex</a></span>()</code>
<div class="block">Return the bottomVisibleIndex.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyListColorHolder.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFTabbedPropertyListColorHolder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getColorHolder--">getColorHolder</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFListElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFListElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getElementAt-int-">getElementAt</a></span>(int&nbsp;index)</code>
<div class="block">Returns the element with the given index from this list viewer.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getFocus--">getFocus</a></span>()</code>
<div class="block">Return the focus.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getNumberOfElements--">getNumberOfElements</a></span>()</code>
<div class="block">Returns the number of elements in this list viewer.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getSelectionIndex--">getSelectionIndex</a></span>()</code>
<div class="block">Returns the zero-relative index of the item which is currently selected in the receiver, or -1 if no item is
 selected.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTopNavigationElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFTopNavigationElement</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getTopNavigationElement--">getTopNavigationElement</a></span>()</code>
<div class="block">Return the topNavigationElement.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getTopVisibleIndex--">getTopVisibleIndex</a></span>()</code>
<div class="block">Return the topVisibleIndex.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#getWidestLabelIndex--">getWidestLabelIndex</a></span>()</code>
<div class="block">Returns zero-relative index of the widest item, or -1 if this list is empty.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#isDownScrollRequired--">isDownScrollRequired</a></span>()</code>
<div class="block">Determine if a downward scrolling is required.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#isUpScrollRequired--">isUpScrollRequired</a></span>()</code>
<div class="block">Determine if an upward scrolling is required.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#layoutTabs--">layoutTabs</a></span>()</code>
<div class="block">Layout the tabs.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#removeAll--">removeAll</a></span>()</code>
<div class="block">Remove all the elements from this list.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#select-int-">select</a></span>(int&nbsp;index)</code>
<div class="block">Selects one of the elements in the list.</div>
</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/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#setBottomVisibleIndex-int-">setBottomVisibleIndex</a></span>(int&nbsp;bottomVisibleIndex)</code>
<div class="block">Sets the bottomVisibleIndex.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#setDynamicImageCount-java.util.Map-">setDynamicImageCount</a></span>(java.util.Map&lt;<a href="../../../../../../../../org/eclipse/eef/properties/ui/api/IEEFTabItem.html" title="interface in org.eclipse.eef.properties.ui.api">IEEFTabItem</a>,java.lang.Integer&gt;&nbsp;map)</code>
<div class="block">Sets a map containing an IEEFTabItem as key and number of dynamic images as value.</div>
</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/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#setElements-java.lang.Object:A-">setElements</a></span>(java.lang.Object[]&nbsp;children)</code>
<div class="block">Sets the new list elements.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#setFocus-boolean-">setFocus</a></span>(boolean&nbsp;focus)</code>
<div class="block">Sets the focus.</div>
</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/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html#setTopVisibleIndex-int-">setTopVisibleIndex</a></span>(int&nbsp;topVisibleIndex)</code>
<div class="block">Sets the topVisibleIndex.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.swt.widgets.Composite">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.swt.widgets.Composite</h3>
<code>changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.swt.widgets.Scrollable">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.swt.widgets.Scrollable</h3>
<code>computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.swt.widgets.Control">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.swt.widgets.Control</h3>
<code>addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.swt.widgets.Widget">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.swt.widgets.Widget</h3>
<code>addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString</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, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.swt.graphics.Drawable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.swt.graphics.Drawable</h3>
<code>isAutoScalable</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="NONE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NONE</h4>
<pre>public static final&nbsp;int NONE</pre>
<div class="block">This constant is used to indicate NONE (for example the index of the currently selected tab).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../../constant-values.html#org.eclipse.eef.properties.ui.internal.page.propertylist.EEFTabbedPropertyList.NONE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INDENT">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INDENT</h4>
<pre>public static final&nbsp;int INDENT</pre>
<div class="block">The number of spaces used to indent a tab.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../../constant-values.html#org.eclipse.eef.properties.ui.internal.page.propertylist.EEFTabbedPropertyList.INDENT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="EEFTabbedPropertyList-org.eclipse.swt.widgets.Composite-org.eclipse.eef.common.ui.api.EEFWidgetFactory-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EEFTabbedPropertyList</h4>
<pre>public&nbsp;EEFTabbedPropertyList(org.eclipse.swt.widgets.Composite&nbsp;parent,
                             <a href="../../../../../../../../org/eclipse/eef/common/ui/api/EEFWidgetFactory.html" title="class in org.eclipse.eef.common.ui.api">EEFWidgetFactory</a>&nbsp;widgetFactory)</pre>
<div class="block">The constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - The parent composite</dd>
<dd><code>widgetFactory</code> - The widget factory</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="removeAll--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAll</h4>
<pre>public&nbsp;void&nbsp;removeAll()</pre>
<div class="block">Remove all the elements from this list.</div>
</li>
</ul>
<a name="computeTabsThatFitInComposite--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeTabsThatFitInComposite</h4>
<pre>protected&nbsp;void&nbsp;computeTabsThatFitInComposite()</pre>
<div class="block">Calculate the number of tabs that will fit in the tab list composite.</div>
</li>
</ul>
<a name="getNumberOfElements--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfElements</h4>
<pre>public&nbsp;int&nbsp;getNumberOfElements()</pre>
<div class="block">Returns the number of elements in this list viewer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of elements</dd>
</dl>
</li>
</ul>
<a name="getElementAt-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElementAt</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFListElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFListElement</a>&nbsp;getElementAt(int&nbsp;index)</pre>
<div class="block">Returns the element with the given index from this list viewer. Returns <code>null</code> if the index is out of
 range.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - the zero-based index</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the element at the given index, or <code>null</code> if the index is out of range</dd>
</dl>
</li>
</ul>
<a name="getSelectionIndex--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectionIndex</h4>
<pre>public&nbsp;int&nbsp;getSelectionIndex()</pre>
<div class="block">Returns the zero-relative index of the item which is currently selected in the receiver, or -1 if no item is
 selected.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the index of the selected item</dd>
</dl>
</li>
</ul>
<a name="getWidestLabelIndex--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWidestLabelIndex</h4>
<pre>public&nbsp;int&nbsp;getWidestLabelIndex()</pre>
<div class="block">Returns zero-relative index of the widest item, or -1 if this list is empty.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>zero-relative index of the widest item, or -1 if this list is empty.</dd>
</dl>
</li>
</ul>
<a name="setDynamicImageCount-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDynamicImageCount</h4>
<pre>public&nbsp;void&nbsp;setDynamicImageCount(java.util.Map&lt;<a href="../../../../../../../../org/eclipse/eef/properties/ui/api/IEEFTabItem.html" title="interface in org.eclipse.eef.properties.ui.api">IEEFTabItem</a>,java.lang.Integer&gt;&nbsp;map)</pre>
<div class="block">Sets a map containing an IEEFTabItem as key and number of dynamic images as value. It is used to calculate the
 width of the widest tab by setting aside enough space (16 pixels per image) for displaying the dynamic images.
 Individual dynamic images are displayed/removed from a tab by using the showDynamicImage() and hideDynamicImage()
 methods on the tab's ListElement object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - The new map of tabs to dynamic image count</dd>
</dl>
</li>
</ul>
<a name="setElements-java.lang.Object:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setElements</h4>
<pre>public&nbsp;void&nbsp;setElements(java.lang.Object[]&nbsp;children)</pre>
<div class="block">Sets the new list elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>children</code> - The children</dd>
</dl>
</li>
</ul>
<a name="select-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>public&nbsp;void&nbsp;select(int&nbsp;index)</pre>
<div class="block">Selects one of the elements in the list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - the index of the element to select.</dd>
</dl>
</li>
</ul>
<a name="deselectAll--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deselectAll</h4>
<pre>public&nbsp;void&nbsp;deselectAll()</pre>
<div class="block">Deselects all the elements in the list.</div>
</li>
</ul>
<a name="computeSize-int-int-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeSize</h4>
<pre>public&nbsp;org.eclipse.swt.graphics.Point&nbsp;computeSize(int&nbsp;wHint,
                                                  int&nbsp;hHint,
                                                  boolean&nbsp;changed)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>computeSize</code>&nbsp;in class&nbsp;<code>org.eclipse.swt.widgets.Composite</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Composite.computeSize(int, int, boolean)</code></dd>
</dl>
</li>
</ul>
<a name="isDownScrollRequired--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDownScrollRequired</h4>
<pre>public&nbsp;boolean&nbsp;isDownScrollRequired()</pre>
<div class="block">Determine if a downward scrolling is required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if downward scrolling is required.</dd>
</dl>
</li>
</ul>
<a name="isUpScrollRequired--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUpScrollRequired</h4>
<pre>public&nbsp;boolean&nbsp;isUpScrollRequired()</pre>
<div class="block">Determine if an upward scrolling is required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if upward scrolling is required.</dd>
</dl>
</li>
</ul>
<a name="layoutTabs--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>layoutTabs</h4>
<pre>public&nbsp;void&nbsp;layoutTabs()</pre>
<div class="block">Layout the tabs.</div>
</li>
</ul>
<a name="getColorHolder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColorHolder</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyListColorHolder.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFTabbedPropertyListColorHolder</a>&nbsp;getColorHolder()</pre>
</li>
</ul>
<a name="getTopVisibleIndex--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTopVisibleIndex</h4>
<pre>public&nbsp;int&nbsp;getTopVisibleIndex()</pre>
<div class="block">Return the topVisibleIndex.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the topVisibleIndex</dd>
</dl>
</li>
</ul>
<a name="setTopVisibleIndex-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTopVisibleIndex</h4>
<pre>public&nbsp;void&nbsp;setTopVisibleIndex(int&nbsp;topVisibleIndex)</pre>
<div class="block">Sets the topVisibleIndex.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topVisibleIndex</code> - the topVisibleIndex to set</dd>
</dl>
</li>
</ul>
<a name="getBottomVisibleIndex--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBottomVisibleIndex</h4>
<pre>public&nbsp;int&nbsp;getBottomVisibleIndex()</pre>
<div class="block">Return the bottomVisibleIndex.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the bottomVisibleIndex</dd>
</dl>
</li>
</ul>
<a name="setBottomVisibleIndex-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBottomVisibleIndex</h4>
<pre>public&nbsp;void&nbsp;setBottomVisibleIndex(int&nbsp;bottomVisibleIndex)</pre>
<div class="block">Sets the bottomVisibleIndex.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bottomVisibleIndex</code> - the bottomVisibleIndex to set</dd>
</dl>
</li>
</ul>
<a name="getTopNavigationElement--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTopNavigationElement</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTopNavigationElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFTopNavigationElement</a>&nbsp;getTopNavigationElement()</pre>
<div class="block">Return the topNavigationElement.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the topNavigationElement</dd>
</dl>
</li>
</ul>
<a name="getBottomNavigationElement--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBottomNavigationElement</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFBottomNavigationElement.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist">EEFBottomNavigationElement</a>&nbsp;getBottomNavigationElement()</pre>
<div class="block">Return the bottomNavigationElement.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the bottomNavigationElement</dd>
</dl>
</li>
</ul>
<a name="getFocus--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFocus</h4>
<pre>public&nbsp;boolean&nbsp;getFocus()</pre>
<div class="block">Return the focus.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the focus</dd>
</dl>
</li>
</ul>
<a name="setFocus-boolean-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setFocus</h4>
<pre>public&nbsp;void&nbsp;setFocus(boolean&nbsp;focus)</pre>
<div class="block">Sets the focus.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>focus</code> - the focus to set</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="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.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/eef/properties/ui/internal/page/propertylist/EEFPropertyListFocusListener.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyListColorHolder.html" title="class in org.eclipse.eef.properties.ui.internal.page.propertylist"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/eclipse/eef/properties/ui/internal/page/propertylist/EEFTabbedPropertyList.html" target="_top">Frames</a></li>
<li><a href="EEFTabbedPropertyList.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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>
