<!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 (9) on Wed Jul 18 09:40:09 CEST 2018 -->
<title>IEEFSection</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="date" content="2018-07-18">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-1.10.2.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="IEEFSection";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="fixedNav">
<!-- ========= 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/api/EEFTypeMapper.html" title="class in org.eclipse.eef.properties.ui.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSectionDescriptor.html" title="interface in org.eclipse.eef.properties.ui.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/eef/properties/ui/api/IEEFSection.html" target="_top">Frames</a></li>
<li><a href="IEEFSection.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>
<ul class="navListSearch">
<li><span>SEARCH:&nbsp;</span>
<input type="text" id="search" value=" " disabled="disabled">
<input type="reset" id="reset" value=" " disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="../../../../../../org/eclipse/eef/properties/ui/api/package-summary.html">org.eclipse.eef.properties.ui.api</a></div>
<h2 title="Interface IEEFSection" class="title">Interface IEEFSection</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../../../../../org/eclipse/eef/properties/ui/api/AbstractEEFPropertySection.html" title="class in org.eclipse.eef.properties.ui.api">AbstractEEFPropertySection</a></code>, <code><a href="../../../../../../org/eclipse/eef/properties/ui/api/AbstractEEFSection.html" title="class in org.eclipse.eef.properties.ui.api">AbstractEEFSection</a></code>, <code><a href="../../../../../../org/eclipse/eef/properties/ui/legacy/internal/legacy2eef/EEFLegacySection.html" title="class in org.eclipse.eef.properties.ui.legacy.internal.legacy2eef">EEFLegacySection</a></code>, <code><a href="../../../../../../org/eclipse/eef/ide/ui/properties/api/EEFSection.html" title="class in org.eclipse.eef.ide.ui.properties.api">EEFSection</a></code></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IEEFSection</span></pre>
<div class="block">Represents a section of properties for a given input.
 <p>
 The lifecycle of an IEEFSection is as follows:
 <ul>
 <li><code>IEEFSection.createControls()</code></li>
 <li><code>IEEFSection.setInput()</code></li>
 <li><code>IEEFSection.aboutToBeShown()</code></li>
 <li><code>IEEFSection.refresh()</code></li>
 <li><code>IEEFSection.aboutToBeHidden()</code></li>
 <li><code>IEEFSection.dispose()</code></li>
 </ul>
 </p>
 <p>
 Implementors of this class should be aware that a section instance might be reused for different input objects (as
 long as they are valid section inputs). It means that <code>IEEFSection.setInput</code> can be called at any time
 between <code>IEEFSection.createControls</code> and <code>IEEFSection.dispose</code>.
 </p>
 <p>
 When an input change event occurs, such as a tab selection or a workbench selection change, an IEEFSection is sent:
 <ul>
 <li><code>IEEFSection.setInput()</code></li>
 <li><code>IEEFSection.refresh()</code></li>
 </ul>
 </p>
 <p>
 When an part activation event occurs, such as the contributor part activation event, an IEEFSection is sent:
 <ul>
 <li><code>IEEFSection.setInput()</code></li>
 <li><code>IEEFSection.aboutToBeShown()</code></li>
 <li><code>IEEFSection.refresh()</code></li>
 <li><code>IEEFSection.setInput()</code></li>
 <li><code>IEEFSection.refresh()</code></li>
 </ul>
 This is because both a tab selection event and an input selection event have occurred.
 </p>
 <p>
 This interface should not be extended or implemented. New section instances should be created using
 <code>AbstractEEFPropertySection</code>.
 </p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ISection</code></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#aboutToBeHidden--">aboutToBeHidden</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Notifies the section that its controls are about to be hidden.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#aboutToBeShown--">aboutToBeShown</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Notifies the section that its controls are about to be shown.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#createControls-org.eclipse.swt.widgets.Composite-org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage-">createControls</a></span>&#8203;(org.eclipse.swt.widgets.Composite&nbsp;parent,
              <a href="../../../../../../org/eclipse/eef/properties/ui/api/EEFTabbedPropertySheetPage.html" title="class in org.eclipse.eef.properties.ui.api">EEFTabbedPropertySheetPage</a>&nbsp;tabbedPropertySheetPage)</code></th>
<td class="colLast">
<div class="block">Creates the controls for the section.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#dispose--">dispose</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Dispose this section.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#getMinimumHeight--">getMinimumHeight</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Returns the minimum height needed by this section.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#refresh--">refresh</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Refresh the contents of the controls displayed in this section.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#setInput-org.eclipse.ui.IWorkbenchPart-org.eclipse.jface.viewers.ISelection-">setInput</a></span>&#8203;(org.eclipse.ui.IWorkbenchPart&nbsp;part,
        org.eclipse.jface.viewers.ISelection&nbsp;selection)</code></th>
<td class="colLast">
<div class="block">Notifies the section that the workbench selection has changed.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSection.html#shouldUseExtraSpace--">shouldUseExtraSpace</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Determine whether this section would like extra height space in case there is some left.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="createControls-org.eclipse.swt.widgets.Composite-org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createControls</h4>
<pre>void&nbsp;createControls&#8203;(org.eclipse.swt.widgets.Composite&nbsp;parent,
                    <a href="../../../../../../org/eclipse/eef/properties/ui/api/EEFTabbedPropertySheetPage.html" title="class in org.eclipse.eef.properties.ui.api">EEFTabbedPropertySheetPage</a>&nbsp;tabbedPropertySheetPage)</pre>
<div class="block">Creates the controls for the section.
 <p>
 Clients should take advantage of the widget factory provided by the framework to achieve a common look between
 property sections.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent composite for the section.</dd>
<dd><code>tabbedPropertySheetPage</code> - the tabbed property sheet page.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/eef/properties/ui/api/EEFTabbedPropertySheetPage.html#getWidgetFactory--"><code>EEFTabbedPropertySheetPage.getWidgetFactory()</code></a></dd>
</dl>
</li>
</ul>
<a name="setInput-org.eclipse.ui.IWorkbenchPart-org.eclipse.jface.viewers.ISelection-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInput</h4>
<pre>void&nbsp;setInput&#8203;(org.eclipse.ui.IWorkbenchPart&nbsp;part,
              org.eclipse.jface.viewers.ISelection&nbsp;selection)</pre>
<div class="block">Notifies the section that the workbench selection has changed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>part</code> - The active workbench part.</dd>
<dd><code>selection</code> - The active selection in the workbench part.</dd>
</dl>
</li>
</ul>
<a name="aboutToBeShown--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aboutToBeShown</h4>
<pre>void&nbsp;aboutToBeShown&#8203;()</pre>
<div class="block">Notifies the section that its controls are about to be shown. It is expected that sections enable domain related
 functions in this method, most commonly add listeners.
 <p>
 Since the controls are not visible, the section should wait for the refresh() before updating the section
 controls.
 </p></div>
</li>
</ul>
<a name="aboutToBeHidden--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aboutToBeHidden</h4>
<pre>void&nbsp;aboutToBeHidden&#8203;()</pre>
<div class="block">Notifies the section that its controls are about to be hidden. It is expected that sections disable domain
 related functions in this method, most commonly remove listeners.</div>
</li>
</ul>
<a name="dispose--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>void&nbsp;dispose&#8203;()</pre>
<div class="block">Dispose this section.</div>
</li>
</ul>
<a name="getMinimumHeight--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinimumHeight</h4>
<pre>int&nbsp;getMinimumHeight&#8203;()</pre>
<div class="block">Returns the minimum height needed by this section. A return value of <code>SWT.DEFAULT</code> indicates that no
 minimum height is defined.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum height needed by this section.</dd>
</dl>
</li>
</ul>
<a name="shouldUseExtraSpace--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseExtraSpace</h4>
<pre>boolean&nbsp;shouldUseExtraSpace&#8203;()</pre>
<div class="block">Determine whether this section would like extra height space in case there is some left. Normally this is true
 when the section is the last to be displayed on a tab or is the only section on a tab.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this section would like extra height space.</dd>
</dl>
</li>
</ul>
<a name="refresh--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>refresh</h4>
<pre>void&nbsp;refresh&#8203;()</pre>
<div class="block">Refresh the contents of the controls displayed in this section.</div>
</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/api/EEFTypeMapper.html" title="class in org.eclipse.eef.properties.ui.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/eef/properties/ui/api/IEEFSectionDescriptor.html" title="interface in org.eclipse.eef.properties.ui.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/eef/properties/ui/api/IEEFSection.html" target="_top">Frames</a></li>
<li><a href="IEEFSection.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>
