summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickListeners.gif (renamed from WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickHandlers.gif)bin3026 -> 3026 bytes
-rw-r--r--src/com/vaadin/ui/Table.java133
-rw-r--r--tests/src/com/vaadin/tests/components/table/FooterClick.java6
-rw-r--r--tests/src/com/vaadin/tests/components/table/HeaderClick.java8
-rw-r--r--tests/src/com/vaadin/tests/server/component/table/TestFooterClickHandlers.java83
-rw-r--r--tests/src/com/vaadin/tests/server/component/table/TestHeaderClickHandlers.java83
6 files changed, 50 insertions, 263 deletions
diff --git a/WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickHandlers.gif b/WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickListeners.gif
index cfe998f63f..cfe998f63f 100644
--- a/WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickHandlers.gif
+++ b/WebContent/VAADIN/themes/sampler/icons/sampleicons/75-TableClickListeners.gif
Binary files differ
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java
index 8162d72545..e86762f6b2 100644
--- a/src/com/vaadin/ui/Table.java
+++ b/src/com/vaadin/ui/Table.java
@@ -382,10 +382,6 @@ public class Table extends AbstractSelect implements Action.Container,
private MultiSelectMode multiSelectMode = MultiSelectMode.DEFAULT;
- private HeaderClickHandler headerClickHandler;
-
- private FooterClickHandler footerClickHandler;
-
/* Table constructors */
/**
@@ -3761,8 +3757,8 @@ public class Table extends AbstractSelect implements Action.Container,
static {
try {
// Set the header click method
- HEADER_CLICK_METHOD = HeaderClickHandler.class
- .getDeclaredMethod("handleHeaderClick",
+ HEADER_CLICK_METHOD = HeaderClickListener.class
+ .getDeclaredMethod("headerClick",
new Class[] { HeaderClickEvent.class });
} catch (final java.lang.NoSuchMethodException e) {
// This should never happen
@@ -3801,8 +3797,8 @@ public class Table extends AbstractSelect implements Action.Container,
static {
try {
// Set the header click method
- FOOTER_CLICK_METHOD = FooterClickHandler.class
- .getDeclaredMethod("handleFooterClick",
+ FOOTER_CLICK_METHOD = FooterClickListener.class
+ .getDeclaredMethod("footerClick",
new Class[] { FooterClickEvent.class });
} catch (final java.lang.NoSuchMethodException e) {
// This should never happen
@@ -3840,11 +3836,10 @@ public class Table extends AbstractSelect implements Action.Container,
}
/**
- * Interface for the handler listening to column header mouse click events.
- * The handleHeaderClick method is called when the user presses a header
- * column cell.
+ * Interface for the listener for column header mouse click events. The
+ * headerClick method is called when the user presses a header column cell.
*/
- public interface HeaderClickHandler extends Serializable {
+ public interface HeaderClickListener extends Serializable {
/**
* Called when a user clicks a header column cell
@@ -3853,15 +3848,14 @@ public class Table extends AbstractSelect implements Action.Container,
* The event which contains information about the column and
* the mouse click event
*/
- public void handleHeaderClick(HeaderClickEvent event);
+ public void headerClick(HeaderClickEvent event);
}
/**
- * Interface for the handler listening to column footer mouse click events.
- * The handleHeaderClick method is called when the user presses a footer
- * column cell.
+ * Interface for the listener for column footer mouse click events. The
+ * footerClick method is called when the user presses a footer column cell.
*/
- public interface FooterClickHandler extends Serializable {
+ public interface FooterClickListener extends Serializable {
/**
* Called when a user clicks a footer column cell
@@ -3870,102 +3864,61 @@ public class Table extends AbstractSelect implements Action.Container,
* The event which contains information about the column and
* the mouse click event
*/
- public void handleFooterClick(FooterClickEvent event);
+ public void footerClick(FooterClickEvent event);
}
/**
- * Sets the header click handler which handles the click events when the
- * user clicks on a column header cell in the Table.
+ * Adds a header click listener which handles the click events when the user
+ * clicks on a column header cell in the Table.
* <p>
- * The handler will receive events which contains information about which
+ * The listener will receive events which contain information about which
* column was clicked and some details about the mouse event.
* </p>
*
- * @param handler
+ * @param listener
* The handler which should handle the header click events.
*/
- public void setHeaderClickHandler(HeaderClickHandler handler) {
- if (headerClickHandler != handler) {
- if (handler == null && headerClickHandler != null) {
- // Remove header click handler
- removeListener(VScrollTable.HEADER_CLICK_EVENT_ID,
- HeaderClickEvent.class, headerClickHandler);
-
- headerClickHandler = handler;
- } else if (headerClickHandler != null) {
- // Replace header click handler
- removeListener(VScrollTable.HEADER_CLICK_EVENT_ID,
- HeaderClickEvent.class, headerClickHandler);
-
- headerClickHandler = handler;
-
- addListener(VScrollTable.HEADER_CLICK_EVENT_ID,
- HeaderClickEvent.class, headerClickHandler,
- HeaderClickEvent.HEADER_CLICK_METHOD);
- } else if (handler != null) {
- // Set a new header click handler
- headerClickHandler = handler;
- addListener(VScrollTable.HEADER_CLICK_EVENT_ID,
- HeaderClickEvent.class, headerClickHandler,
- HeaderClickEvent.HEADER_CLICK_METHOD);
- }
- }
+ public void addListener(HeaderClickListener listener) {
+ addListener(VScrollTable.HEADER_CLICK_EVENT_ID, HeaderClickEvent.class,
+ listener, HeaderClickEvent.HEADER_CLICK_METHOD);
}
/**
- * Sets the footer click handler which handles the click events when the
- * user clicks on a column footer cell in the Table.
- * <p>
- * The handler will recieve events which contains information about which
- * column was clicked and some details about the mouse event.
- * </p>
+ * Removes a header click listener
*
- * @param handler
- * The handler which should handle the footer click events
- */
- public void setFooterClickHandler(FooterClickHandler handler) {
- if (footerClickHandler != handler) {
- if (handler == null && footerClickHandler != null) {
- // Remove header click handler
- removeListener(VScrollTable.FOOTER_CLICK_EVENT_ID,
- FooterClickEvent.class, footerClickHandler);
- footerClickHandler = handler;
- } else if (footerClickHandler != null) {
- // Replace footer click handler
- removeListener(VScrollTable.FOOTER_CLICK_EVENT_ID,
- FooterClickEvent.class, footerClickHandler);
- footerClickHandler = handler;
- addListener(VScrollTable.FOOTER_CLICK_EVENT_ID,
- FooterClickEvent.class, footerClickHandler,
- FooterClickEvent.FOOTER_CLICK_METHOD);
- } else if (handler != null) {
- // Set a new footer click handler
- footerClickHandler = handler;
- addListener(VScrollTable.FOOTER_CLICK_EVENT_ID,
- FooterClickEvent.class, footerClickHandler,
- FooterClickEvent.FOOTER_CLICK_METHOD);
- }
- }
+ * @param listener
+ * The listener to remove.
+ */
+ public void removeListener(HeaderClickListener listener) {
+ removeListener(VScrollTable.HEADER_CLICK_EVENT_ID,
+ HeaderClickEvent.class, listener);
}
/**
- * Returns the header click handler which receives click events from the
- * columns header cells when they are clicked on.
+ * Adds a footer click listener which handles the click events when the user
+ * clicks on a column footer cell in the Table.
+ * <p>
+ * The listener will receive events which contain information about which
+ * column was clicked and some details about the mouse event.
+ * </p>
*
- * @return
+ * @param listener
+ * The handler which should handle the footer click events.
*/
- public HeaderClickHandler getHeaderClickHandler() {
- return headerClickHandler;
+ public void addListener(FooterClickListener listener) {
+ addListener(VScrollTable.FOOTER_CLICK_EVENT_ID, FooterClickEvent.class,
+ listener, FooterClickEvent.FOOTER_CLICK_METHOD);
}
/**
- * Returns the footer click handler which recieves click events from the
- * columns footer cells when they are clicked on.
+ * Removes a footer click listener
*
- * @return
+ * @param listener
+ * The listener to remove.
*/
- public FooterClickHandler getFooterClickHandler() {
- return footerClickHandler;
+ public void removeListener(FooterClickListener listener) {
+ removeListener(VScrollTable.FOOTER_CLICK_EVENT_ID,
+ FooterClickEvent.class, listener);
}
/**
diff --git a/tests/src/com/vaadin/tests/components/table/FooterClick.java b/tests/src/com/vaadin/tests/components/table/FooterClick.java
index f6fa4a094e..842e4fdffe 100644
--- a/tests/src/com/vaadin/tests/components/table/FooterClick.java
+++ b/tests/src/com/vaadin/tests/components/table/FooterClick.java
@@ -35,9 +35,9 @@ public class FooterClick extends TestBase {
final TextField columnField = new TextField(
"ProperyId of clicked column");
- // Set the footer click handler
- table.setFooterClickHandler(new Table.FooterClickHandler() {
- public void handleFooterClick(FooterClickEvent event) {
+ // Add a footer click listener
+ table.addListener(new Table.FooterClickListener() {
+ public void footerClick(FooterClickEvent event) {
columnField.setValue(event.getPropertyId());
}
});
diff --git a/tests/src/com/vaadin/tests/components/table/HeaderClick.java b/tests/src/com/vaadin/tests/components/table/HeaderClick.java
index 31ef73b84c..9be8426e19 100644
--- a/tests/src/com/vaadin/tests/components/table/HeaderClick.java
+++ b/tests/src/com/vaadin/tests/components/table/HeaderClick.java
@@ -26,9 +26,9 @@ public class HeaderClick extends TestBase {
final TextField columnField = new TextField(
"ProperyId of clicked column");
- // Add header click handler
- table.setHeaderClickHandler(new Table.HeaderClickHandler() {
- public void handleHeaderClick(HeaderClickEvent event) {
+ // Add a header click listener
+ table.addListener(new Table.HeaderClickListener() {
+ public void headerClick(HeaderClickEvent event) {
columnField.setValue(event.getPropertyId());
}
});
@@ -75,7 +75,7 @@ public class HeaderClick extends TestBase {
@Override
protected String getDescription() {
- return "Tests the header click handler";
+ return "Tests the header click listener";
}
@Override
diff --git a/tests/src/com/vaadin/tests/server/component/table/TestFooterClickHandlers.java b/tests/src/com/vaadin/tests/server/component/table/TestFooterClickHandlers.java
deleted file mode 100644
index 70a2c4dda1..0000000000
--- a/tests/src/com/vaadin/tests/server/component/table/TestFooterClickHandlers.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.vaadin.tests.server.component.table;
-
-import junit.framework.TestCase;
-
-import com.vaadin.ui.Table;
-import com.vaadin.ui.Table.FooterClickEvent;
-import com.vaadin.ui.Table.FooterClickHandler;
-
-/**
- * Tests the footer click handler
- */
-public class TestFooterClickHandlers extends TestCase {
-
- /**
- * Tests setting the click handler
- */
- public void testAddingClickHandler() {
- final Table table = new Table();
-
- // Create click handler
- FooterClickHandler handler = new FooterClickHandler() {
- public void handleFooterClick(FooterClickEvent event) {
- }
- };
-
- // No predefined footer click listeners should be present
- assertNull(table.getFooterClickHandler());
-
- // Set the click handler
- table.setFooterClickHandler(handler);
- assertEquals(handler, table.getFooterClickHandler());
- }
-
- /**
- * Tests changing the click handler to another one
- */
- public void testChangingClickHandler() {
- final Table table = new Table();
-
- // Create 2 click handlers
- FooterClickHandler handler1 = new FooterClickHandler() {
- public void handleFooterClick(FooterClickEvent event) {
- }
- };
-
- FooterClickHandler handler2 = new FooterClickHandler() {
- public void handleFooterClick(FooterClickEvent event) {
- }
- };
-
- // Set the click handler
- table.setFooterClickHandler(handler1);
- assertEquals(handler1, table.getFooterClickHandler());
-
- // Change the click handler to another one
- table.setFooterClickHandler(handler2);
- assertEquals(handler2, table.getFooterClickHandler());
- }
-
- /**
- * Tests if click handler is removed
- */
- public void testRemovingClickHandler() {
- final Table table = new Table();
-
- // Create click handler
- FooterClickHandler handler = new FooterClickHandler() {
- public void handleFooterClick(FooterClickEvent event) {
- }
- };
-
- // No predefined footer click listeners should be present
- assertNull(table.getFooterClickHandler());
-
- // Set the click handler
- table.setFooterClickHandler(handler);
- assertEquals(handler, table.getFooterClickHandler());
-
- // Remove the click handler
- table.setFooterClickHandler(null);
- assertNull(table.getFooterClickHandler());
- }
-}
diff --git a/tests/src/com/vaadin/tests/server/component/table/TestHeaderClickHandlers.java b/tests/src/com/vaadin/tests/server/component/table/TestHeaderClickHandlers.java
deleted file mode 100644
index 7365e4ae2d..0000000000
--- a/tests/src/com/vaadin/tests/server/component/table/TestHeaderClickHandlers.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.vaadin.tests.server.component.table;
-
-import junit.framework.TestCase;
-
-import com.vaadin.ui.Table;
-import com.vaadin.ui.Table.HeaderClickEvent;
-import com.vaadin.ui.Table.HeaderClickHandler;
-
-/**
- * Tests the header click handler
- */
-public class TestHeaderClickHandlers extends TestCase {
-
- /**
- * Tests setting the click handler
- */
- public void testAddingClickHandler() {
- final Table table = new Table();
-
- // Create click handler
- HeaderClickHandler handler = new HeaderClickHandler() {
- public void handleHeaderClick(HeaderClickEvent event) {
- }
- };
-
- // No predefined header click listeners should be present
- assertNull(table.getHeaderClickHandler());
-
- // Set the click handler
- table.setHeaderClickHandler(handler);
- assertEquals(handler, table.getHeaderClickHandler());
- }
-
- /**
- * Tests changing the click handler to another one
- */
- public void testChangingClickHandler() {
- final Table table = new Table();
-
- // Create 2 click handlers
- HeaderClickHandler handler1 = new HeaderClickHandler() {
- public void handleHeaderClick(HeaderClickEvent event) {
- }
- };
-
- HeaderClickHandler handler2 = new HeaderClickHandler() {
- public void handleHeaderClick(HeaderClickEvent event) {
- }
- };
-
- // Set the click handler
- table.setHeaderClickHandler(handler1);
- assertEquals(handler1, table.getHeaderClickHandler());
-
- // Change the click handler to another one
- table.setHeaderClickHandler(handler2);
- assertEquals(handler2, table.getHeaderClickHandler());
- }
-
- /**
- * Tests if click handler is removed
- */
- public void testRemovingClickHandler() {
- final Table table = new Table();
-
- // Create click handler
- HeaderClickHandler handler = new HeaderClickHandler() {
- public void handleHeaderClick(HeaderClickEvent event) {
- }
- };
-
- // No predefined header click listeners should be present
- assertNull(table.getHeaderClickHandler());
-
- // Set the click handler
- table.setHeaderClickHandler(handler);
- assertEquals(handler, table.getHeaderClickHandler());
-
- // Remove the click handler
- table.setHeaderClickHandler(null);
- assertNull(table.getHeaderClickHandler());
- }
-}