01: /* Paginal.java
02:
03: {{IS_NOTE
04: Purpose:
05:
06: Description:
07:
08: History:
09: Thu Aug 17 15:27:03 2006, Created by tomyeh
10: }}IS_NOTE
11:
12: Copyright (C) 2006 Potix Corporation. All Rights Reserved.
13:
14: {{IS_RIGHT
15: }}IS_RIGHT
16: */
17: package org.zkoss.zul.ext;
18:
19: import org.zkoss.zk.ui.WrongValueException;
20: import org.zkoss.zk.ui.event.EventListener;
21:
22: /**
23: * Represents a component that is used to control how to display
24: * other components in multiple pages.
25: * It is used to provide an abstract contract between controller and controllee.
26: * For example, {@link org.zkoss.zul.Paging} is a paging controller
27: * while {@link org.zkoss.zul.Grid} is a paging controllee.
28: * In other words, {@link org.zkoss.zul.Grid} (contains long content)
29: * can be controlled by {@link org.zkoss.zul.Paging}.
30: *
31: * <p>The paging controller must implement this interface, while
32: * the paging controllee shall access only this interface (rather than
33: * {@link org.zkoss.zul.Paging} or so).
34: *
35: * <p>Note: If a component supports multiple pages but it cannot
36: * be controlled by a paging controller, it shall implement
37: * {@link Pageable} instead.
38: * Example, {@link org.zkoss.zul.Treechildren}
39: * is {@link Pageable} but not controllable by {@link Paginal}.
40: *
41: * @author tomyeh
42: * @see Pageable
43: */
44: public interface Paginal extends Pageable {
45: /** Returns the total number of items.
46: */
47: public int getTotalSize();
48:
49: /** Sets the total number of items.
50: */
51: public void setTotalSize(int size) throws WrongValueException;
52:
53: /** Returns the number of page anchors shall appear at the client.
54: *
55: * <p>Default: 10.
56: */
57: public int getPageIncrement();
58:
59: /** Sets the number of page anchors shall appear at the client.
60: */
61: public void setPageIncrement(int pginc) throws WrongValueException;
62:
63: /** Returns whether to show the detailed info, such as {@link #getTotalSize}.
64: */
65: public boolean isDetailed();
66:
67: /** Sets whether to show the detailed info, such as {@link #getTotalSize}.
68: */
69: public void setDetailed(boolean detailed);
70:
71: /** Adds an event listener to specified event for this component.
72: * The second registration is ignored and false is returned.
73: *
74: * <p>The onPaging event is sent with an instance of
75: * {@link org.zkoss.zul.event.PagingEvent} to notify which page
76: * is selected.
77: *
78: * @param evtnm what event to listen (never null)
79: * @return whether the listener is added; false if it was added before
80: * @see org.zkoss.zul.event.PagingEvent
81: */
82: public boolean addEventListener(String evtnm, EventListener listener);
83:
84: /** Removes an event listener.
85: * @return whether the listener is removed; false if it was never added.
86: */
87: public boolean removeEventListener(String evtnm,
88: EventListener listener);
89: }
|