Browse Source

action menu of table now triggers even though context click happened on a component (like textfield) #4264

better support for drag and drop in derived classes (TreeTable)

svn changeset:13718/svn branch:6.4
tags/6.7.0.beta1
Matti Tahvonen 14 years ago
parent
commit
aeca38ec83
1 changed files with 15 additions and 6 deletions
  1. 15
    6
      src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java

+ 15
- 6
src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java View File

@@ -3688,8 +3688,15 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
public void onBrowserEvent(Event event) {
if (enabled) {
Element targetTdOrTr = getEventTargetTdOrTr(event);
int type = event.getTypeInt();
if (type == Event.ONCONTEXTMENU) {
showContextMenu(event);
event.stopPropagation();
return;
}

if (targetTdOrTr != null) {
switch (DOM.eventGetType(event)) {
switch (type) {
case Event.ONDBLCLICK:
handleClickEvent(event, targetTdOrTr);
break;
@@ -3757,9 +3764,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
sendSelectedRows();
}
break;
case Event.ONCONTEXTMENU:
showContextMenu(event);
break;
case Event.ONMOUSEDOWN:
if (dragmode != 0
&& event.getButton() == NativeEvent.BUTTON_LEFT) {
@@ -4573,8 +4577,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
dropDetails = new TableDDDetails();
Element elementOver = drag.getElementOver();

VScrollTableRow row = Util.findWidget(elementOver,
VScrollTableRow.class);
VScrollTableRow row = Util.findWidget(elementOver, getRowClass());
if (row != null) {
dropDetails.overkey = row.rowKey;
Element tr = row.getElement();
@@ -4598,6 +4601,12 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,

}

private Class<? extends Widget> getRowClass() {
// get the row type this way to make dd work in derived
// implementations
return scrollBody.iterator().next().getClass();
}

@Override
public void dragOver(VDragEvent drag) {
TableDDDetails oldDetails = dropDetails;

Loading…
Cancel
Save