summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin')
-rw-r--r--src/com/vaadin/event/ItemClickEvent.java39
-rw-r--r--src/com/vaadin/ui/Table.java7
-rw-r--r--src/com/vaadin/ui/Tree.java6
3 files changed, 47 insertions, 5 deletions
diff --git a/src/com/vaadin/event/ItemClickEvent.java b/src/com/vaadin/event/ItemClickEvent.java
index ab8d652c6e..6ec1c59be6 100644
--- a/src/com/vaadin/event/ItemClickEvent.java
+++ b/src/com/vaadin/event/ItemClickEvent.java
@@ -88,7 +88,10 @@ public class ItemClickEvent extends ClickEvent implements Serializable {
*
* @link {@link Container} interface may support emitting
* {@link ItemClickEvent}s.
+ *
+ * @deprecated Use {@link ItemClickNotifier} instead.
*/
+ @Deprecated
public interface ItemClickSource extends Serializable {
/**
* Register listener to handle ItemClickEvents.
@@ -110,4 +113,40 @@ public class ItemClickEvent extends ClickEvent implements Serializable {
public void removeListener(ItemClickListener listener);
}
+ /**
+ * The interface for adding and removing <code>ItemClickEvent</code>
+ * listeners. By implementing this interface a class explicitly announces
+ * that it will generate an <code>ItemClickEvent</code> when one of its
+ * items is clicked.
+ * <p>
+ * Note: The general Java convention is not to explicitly declare that a
+ * class generates events, but to directly define the
+ * <code>addListener</code> and <code>removeListener</code> methods. That
+ * way the caller of these methods has no real way of finding out if the
+ * class really will send the events, or if it just defines the methods to
+ * be able to implement an interface.
+ * </p>
+ *
+ * @since 6.5
+ * @see ItemClickListener
+ * @see ItemClickEvent
+ */
+ public interface ItemClickNotifier extends Serializable {
+ /**
+ * Register a listener to handle {@link ItemClickEvent}s.
+ *
+ * @param listener
+ * ItemClickListener to be registered
+ */
+ public void addListener(ItemClickListener listener);
+
+ /**
+ * Removes an ItemClickListener.
+ *
+ * @param listener
+ * ItemClickListener to be removed
+ */
+ public void removeListener(ItemClickListener listener);
+ }
+
}
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java
index 12f69ec606..56662112e3 100644
--- a/src/com/vaadin/ui/Table.java
+++ b/src/com/vaadin/ui/Table.java
@@ -30,6 +30,7 @@ import com.vaadin.event.Action.Handler;
import com.vaadin.event.DataBoundTransferable;
import com.vaadin.event.ItemClickEvent;
import com.vaadin.event.ItemClickEvent.ItemClickListener;
+import com.vaadin.event.ItemClickEvent.ItemClickNotifier;
import com.vaadin.event.ItemClickEvent.ItemClickSource;
import com.vaadin.event.MouseEvents.ClickEvent;
import com.vaadin.event.dd.DragAndDropEvent;
@@ -69,11 +70,11 @@ import com.vaadin.terminal.gwt.client.ui.dd.VLazyInitItemIdentifiers;
* @VERSION@
* @since 3.0
*/
-@SuppressWarnings("serial")
+@SuppressWarnings({ "serial", "deprecation" })
@ClientWidget(VScrollTable.class)
public class Table extends AbstractSelect implements Action.Container,
- Container.Ordered, Container.Sortable, ItemClickSource, DragSource,
- DropTarget {
+ Container.Ordered, Container.Sortable, ItemClickSource,
+ ItemClickNotifier, DragSource, DropTarget {
private static final Logger logger = Logger
.getLogger(Table.class.getName());
diff --git a/src/com/vaadin/ui/Tree.java b/src/com/vaadin/ui/Tree.java
index 2deb0bab1f..79ce7cf47f 100644
--- a/src/com/vaadin/ui/Tree.java
+++ b/src/com/vaadin/ui/Tree.java
@@ -26,6 +26,7 @@ import com.vaadin.event.Action;
import com.vaadin.event.DataBoundTransferable;
import com.vaadin.event.ItemClickEvent;
import com.vaadin.event.ItemClickEvent.ItemClickListener;
+import com.vaadin.event.ItemClickEvent.ItemClickNotifier;
import com.vaadin.event.ItemClickEvent.ItemClickSource;
import com.vaadin.event.Transferable;
import com.vaadin.event.dd.DragAndDropEvent;
@@ -57,10 +58,11 @@ import com.vaadin.tools.ReflectTools;
* @VERSION@
* @since 3.0
*/
-@SuppressWarnings("serial")
+@SuppressWarnings({ "serial", "deprecation" })
@ClientWidget(VTree.class)
public class Tree extends AbstractSelect implements Container.Hierarchical,
- Action.Container, ItemClickSource, DragSource, DropTarget {
+ Action.Container, ItemClickSource, ItemClickNotifier, DragSource,
+ DropTarget {
/* Private members */