Преглед на файлове

Add mouse event details to Tree.ItemClick (#9599)

This provides a way to get the mouse button clicked as
requested in #9335.
tags/8.1.0.rc1
Henri Sara преди 7 години
родител
ревизия
cdefd5c3e5
променени са 1 файла, в които са добавени 19 реда и са изтрити 3 реда
  1. 19
    3
      server/src/main/java/com/vaadin/ui/Tree.java

+ 19
- 3
server/src/main/java/com/vaadin/ui/Tree.java Целия файл

@@ -40,6 +40,7 @@ import com.vaadin.event.SerializableEventListener;
import com.vaadin.event.selection.SelectionListener;
import com.vaadin.server.ErrorMessage;
import com.vaadin.server.Resource;
import com.vaadin.shared.MouseEventDetails;
import com.vaadin.shared.Registration;
import com.vaadin.shared.ui.ContentMode;
import com.vaadin.shared.ui.grid.HeightMode;
@@ -101,6 +102,7 @@ public class Tree<T> extends Composite
public static class ItemClick<T> extends ConnectorEvent {

private final T item;
private final MouseEventDetails mouseEventDetails;

/**
* Constructs a new item click.
@@ -109,10 +111,15 @@ public class Tree<T> extends Composite
* the tree component
* @param item
* the clicked item
* @param mouseEventDetails
* information about the original mouse event (mouse button
* clicked, coordinates if available etc.)
*/
protected ItemClick(Tree<T> source, T item) {
protected ItemClick(Tree<T> source, T item,
MouseEventDetails mouseEventDetails) {
super(source);
this.item = item;
this.mouseEventDetails = mouseEventDetails;
}

/**
@@ -129,6 +136,15 @@ public class Tree<T> extends Composite
public Tree<T> getSource() {
return (Tree<T>) super.getSource();
}

/**
* Returns the mouse event details.
*
* @return the mouse event details
*/
public MouseEventDetails getMouseEventDetails() {
return mouseEventDetails;
}
}

/**
@@ -244,8 +260,8 @@ public class Tree<T> extends Composite
e.isUserOriginated()));
treeGrid.addCollapseListener(e -> fireCollapseEvent(
e.getCollapsedItem(), e.isUserOriginated()));
treeGrid.addItemClickListener(
e -> fireEvent(new ItemClick<>(this, e.getItem())));
treeGrid.addItemClickListener(e -> fireEvent(
new ItemClick<>(this, e.getItem(), e.getMouseEventDetails())));
}

/**

Loading…
Отказ
Запис