<!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:46 CEST 2020 -->
<title>IPageChangedListener</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="IPageChangedListener";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":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";
</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/IPageChangedListener.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/widgets/pagination/AbstractSortColumnSelectionListener.html" title="class in org.eclipse.nebula.widgets.pagination"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageContentProvider.html" title="interface in org.eclipse.nebula.widgets.pagination"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/widgets/pagination/IPageChangedListener.html" target="_top">Frames</a></li>
<li><a href="IPageChangedListener.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>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 ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.nebula.widgets.pagination</div>
<h2 title="Interface IPageChangedListener" class="title">Interface IPageChangedListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/pagination/AbstractPageControllerComposite.html" title="class in org.eclipse.nebula.widgets.pagination">AbstractPageControllerComposite</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/AbstractPaginationWidget.html" title="class in org.eclipse.nebula.widgets.pagination">AbstractPaginationWidget</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/table/forms/FormPageableTable.html" title="class in org.eclipse.nebula.widgets.pagination.table.forms">FormPageableTable</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/tree/forms/FormPageableTree.html" title="class in org.eclipse.nebula.widgets.pagination.tree.forms">FormPageableTree</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/renderers/navigation/NavigationPageComboRenderer.html" title="class in org.eclipse.nebula.widgets.pagination.renderers.navigation">NavigationPageComboRenderer</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/renderers/navigation/NavigationPageScaleRenderer.html" title="class in org.eclipse.nebula.widgets.pagination.renderers.navigation">NavigationPageScaleRenderer</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/table/PageableTable.html" title="class in org.eclipse.nebula.widgets.pagination.table">PageableTable</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/tree/PageableTree.html" title="class in org.eclipse.nebula.widgets.pagination.tree">PageableTree</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageChangedAdapter.html" title="class in org.eclipse.nebula.widgets.pagination">PageChangedAdapter</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/renderers/pagesize/PageSizeComboRenderer.html" title="class in org.eclipse.nebula.widgets.pagination.renderers.pagesize">PageSizeComboRenderer</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/renderers/navigation/ResultAndNavigationPageGraphicsRenderer.html" title="class in org.eclipse.nebula.widgets.pagination.renderers.navigation">ResultAndNavigationPageGraphicsRenderer</a>, <a href="../../../../../org/eclipse/nebula/widgets/pagination/renderers/navigation/ResultAndNavigationPageLinksRenderer.html" title="class in org.eclipse.nebula.widgets.pagination.renderers.navigation">ResultAndNavigationPageLinksRenderer</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IPageChangedListener</span></pre>
<div class="block">Classes which implement this interface provide methods that deal with the
 events that are generated when page selection, sort changed, total changed
 occurs in a page controller <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.
 <p>
 After creating an instance of a class that implements this interface it can
 be added to a page controller using the <code>addPageChangedListener</code>
 method and removed using the <code>removePageChangedListener</code> method.
 When page selection, sort changed, total changed occurs in a page controller
 the appropriate method will be invoked.
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/nebula/widgets/pagination/PageChangedAdapter.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageChangedAdapter</code></a></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" 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="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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageChangedListener.html#localeChanged-java.util.Locale-java.util.Locale-org.eclipse.nebula.widgets.pagination.PageableController-">localeChanged</a></span>(java.util.Locale&nbsp;oldLocale,
             java.util.Locale&nbsp;newLocale,
             <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;paginationController)</code>
<div class="block">Sent when locale changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageChangedListener.html#pageIndexChanged-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">pageIndexChanged</a></span>(int&nbsp;oldPageIndex,
                int&nbsp;newPageIndex,
                <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</code>
<div class="block">Sent when page changed in the page controller <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</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/nebula/widgets/pagination/IPageChangedListener.html#pageSizeChanged-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">pageSizeChanged</a></span>(int&nbsp;oldPageSize,
               int&nbsp;newPageSize,
               <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</code>
<div class="block">Sent when page size changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageChangedListener.html#sortChanged-java.lang.String-java.lang.String-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">sortChanged</a></span>(java.lang.String&nbsp;oldPopertyName,
           java.lang.String&nbsp;propertyName,
           int&nbsp;oldSortDirection,
           int&nbsp;sortDirection,
           <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</code>
<div class="block">Sent when sort changed in the page controller <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageChangedListener.html#totalElementsChanged-long-long-org.eclipse.nebula.widgets.pagination.PageableController-">totalElementsChanged</a></span>(long&nbsp;oldTotalElements,
                    long&nbsp;newTotalElements,
                    <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</code>
<div class="block">Sent when total elements changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</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="pageIndexChanged-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pageIndexChanged</h4>
<pre>void&nbsp;pageIndexChanged(int&nbsp;oldPageIndex,
                      int&nbsp;newPageIndex,
                      <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</pre>
<div class="block">Sent when page changed in the page controller <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldPageIndex</code> - old page index.</dd>
<dd><code>newPageIndex</code> - new page index.</dd>
<dd><code>controller</code> - the page controller which have sent this event.</dd>
</dl>
</li>
</ul>
<a name="totalElementsChanged-long-long-org.eclipse.nebula.widgets.pagination.PageableController-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalElementsChanged</h4>
<pre>void&nbsp;totalElementsChanged(long&nbsp;oldTotalElements,
                          long&nbsp;newTotalElements,
                          <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</pre>
<div class="block">Sent when total elements changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldTotalElements</code> - old total elements.</dd>
<dd><code>newTotalElements</code> - new total elements.</dd>
<dd><code>controller</code> - the page controller which have sent this event.</dd>
</dl>
</li>
</ul>
<a name="sortChanged-java.lang.String-java.lang.String-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortChanged</h4>
<pre>void&nbsp;sortChanged(java.lang.String&nbsp;oldPopertyName,
                 java.lang.String&nbsp;propertyName,
                 int&nbsp;oldSortDirection,
                 int&nbsp;sortDirection,
                 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</pre>
<div class="block">Sent when sort changed in the page controller <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldPopertyName</code> - old property name.</dd>
<dd><code>propertyName</code> - new property name.</dd>
<dd><code>oldSortDirection</code> - old sort direction : <code>SWT.UP</code>, <code>SWT.DOWN</code>.</dd>
<dd><code>sortDirection</code> - new sort direction : <code>SWT.UP</code>, <code>SWT.DOWN</code>.</dd>
<dd><code>controller</code> - </dd>
</dl>
</li>
</ul>
<a name="pageSizeChanged-int-int-org.eclipse.nebula.widgets.pagination.PageableController-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pageSizeChanged</h4>
<pre>void&nbsp;pageSizeChanged(int&nbsp;oldPageSize,
                     int&nbsp;newPageSize,
                     <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;controller)</pre>
<div class="block">Sent when page size changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldPageSize</code> - old page size.</dd>
<dd><code>newPageSize</code> - new page size.</dd>
<dd><code>controller</code> - the page controller which have sent this event.</dd>
</dl>
</li>
</ul>
<a name="localeChanged-java.util.Locale-java.util.Locale-org.eclipse.nebula.widgets.pagination.PageableController-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>localeChanged</h4>
<pre>void&nbsp;localeChanged(java.util.Locale&nbsp;oldLocale,
                   java.util.Locale&nbsp;newLocale,
                   <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination">PageableController</a>&nbsp;paginationController)</pre>
<div class="block">Sent when locale changed in the page controller
 <a href="../../../../../org/eclipse/nebula/widgets/pagination/PageableController.html" title="class in org.eclipse.nebula.widgets.pagination"><code>PageableController</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldLocale</code> - old locale.</dd>
<dd><code>newLocale</code> - new locale.</dd>
<dd><code>paginationController</code> - </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/IPageChangedListener.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/widgets/pagination/AbstractSortColumnSelectionListener.html" title="class in org.eclipse.nebula.widgets.pagination"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/nebula/widgets/pagination/IPageContentProvider.html" title="interface in org.eclipse.nebula.widgets.pagination"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/nebula/widgets/pagination/IPageChangedListener.html" target="_top">Frames</a></li>
<li><a href="IPageChangedListener.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>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>
