Table: enable table context menu
authorjihye424.kim <jihye424.kim@samsung.com>
Wed, 7 Oct 2015 00:34:02 +0000 (09:34 +0900)
committerjihye424.kim <jihye424.kim@samsung.com>
Wed, 7 Oct 2015 00:36:53 +0000 (09:36 +0900)
- add mouse listener table item and table item cell

Change-Id: Ie361e8af0e94334cc5922a1b56d0d732c8b62fdb
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
src/org/tizen/emulator/manager/ui/table/TableItem.java
src/org/tizen/emulator/manager/ui/table/TableItemCell.java

index 5ff6327..6f947f6 100644 (file)
@@ -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() {
 
index 29f07e7..b34a8f8 100644 (file)
@@ -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;