From 27408c404580ae054889560b41ffe3a05c489b3f Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Wed, 7 Oct 2015 09:34:02 +0900 Subject: [PATCH] Table: enable table context menu - add mouse listener table item and table item cell Change-Id: Ie361e8af0e94334cc5922a1b56d0d732c8b62fdb Signed-off-by: jihye424.kim --- .../tizen/emulator/manager/ui/table/TableItem.java | 65 +++++++++++++--------- .../emulator/manager/ui/table/TableItemCell.java | 4 ++ 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/src/org/tizen/emulator/manager/ui/table/TableItem.java b/src/org/tizen/emulator/manager/ui/table/TableItem.java index 5ff6327..6f947f6 100644 --- a/src/org/tizen/emulator/manager/ui/table/TableItem.java +++ b/src/org/tizen/emulator/manager/ui/table/TableItem.java @@ -43,6 +43,9 @@ import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Menu; import org.tizen.emulator.manager.EmulatorManager; class TableItemData { @@ -116,7 +119,7 @@ public class TableItem extends Canvas { } private void addListeners() { - //this.addListener(SWT.MouseDown, mouseEventListener); + this.addListener(SWT.MouseDown, mouseEventListener); this.addControlListener(controlListener); this.addPaintListener(paintListener); if (parent.isChecked()) { @@ -862,30 +865,42 @@ public class TableItem extends Canvas { } }; -// protected Listener mouseEventListener = new Listener() { -// -// @Override -// public void handleEvent(Event event) { -// switch(event.type) { -// /* -// case SWT.MouseEnter: -// isHoverState = true; -// redraw(); -// break; -// case SWT.MouseExit: -// isHoverState = false; -// redraw(); -// break; -// */ -// case SWT.MouseDown: -// parent.setFocus(); -// parent._select(index); -// break; -// default: -// break; -// } -// } -// }; + protected Listener mouseEventListener = new Listener() { + + @Override + public void handleEvent(Event event) { + switch(event.type) { + /* + case SWT.MouseEnter: + isHoverState = true; + redraw(); + break; + case SWT.MouseExit: + isHoverState = false; + redraw(); + break; + */ + case SWT.MouseDown: + if (event.button != 3) { + return; + } + + TableItem tItem = ((TableItem)event.data); + Menu menu = tItem.getMenu(); + if (menu == null) { + menu = getParent().getMenu(); + } + + if (menu != null) { + menu.setVisible(true); + } + + break; + default: + break; + } + } + }; protected PaintListener paintListener = new PaintListener() { diff --git a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java index 29f07e7..b34a8f8 100644 --- a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java +++ b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java @@ -63,6 +63,10 @@ class TableItemCell extends Composite { switch(event.type) { case SWT.MouseDown: item.getParent()._select(item.getIndex()); + if (event.button == 3) { // right button + event.data = item; + item.notifyListeners(SWT.MouseDown, event); + } break; default: break; -- 2.7.4