Device Template: add 'Delete' key event handler
authorjihye424.kim <jihye424.kim@samsung.com>
Wed, 14 Oct 2015 10:07:14 +0000 (19:07 +0900)
committerjihye424.kim <jihye424.kim@samsung.com>
Wed, 14 Oct 2015 10:07:14 +0000 (19:07 +0900)
- add 'Delete' key event handler to Device Template table viewer
- change key event handler to table composite from table item composite

Change-Id: Icb7f59faa42e2684fae236c9c2b5c5a98b14c4ca
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java
src/org/tizen/emulator/manager/ui/table/Table.java
src/org/tizen/emulator/manager/ui/table/TableItemCell.java

index 21f4fd3..7676d77 100644 (file)
@@ -34,6 +34,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Image;
@@ -229,6 +231,24 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                        }
                });
 
+               table.addKeyListener(new KeyAdapter() {
+                       @Override
+                       public void keyPressed(KeyEvent event) {
+                               if (table.getSelectionCount() == 0) {
+                                       return;
+                               }
+                               if (event.keyCode != SWT.DEL) {
+                                       return;
+                               }
+
+                               TableItem item = table.getSelection()[0];
+                               DeviceTemplate template = (DeviceTemplate)item.getData();
+                               if (!template.getValue().isStandard()) {
+                                       deleteDeviceTemplate(item, true);
+                               }
+                       }
+               });
+
                table.getColumn(1).addListener(SWT.Selection, table.getDefaultSortListener());
                table.getColumn(2).addListener(SWT.Selection, table.getDefaultSortListener());
                table.getColumn(3).addListener(SWT.Selection, table.getDefaultSortListener());
@@ -387,7 +407,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                                if (e.type == SWT.Selection) {
                                        TableItem[] items = table.getSelection();
                                        if (items != null && items.length > 0) {
-                                               deleteDeviceTemplate(items[0]);
+                                               deleteDeviceTemplate(items[0], false);
                                        }
                                }
                        }
@@ -523,7 +543,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                                if (event.type == SWT.Selection) {
                                        TableItem[] items = table.getSelection();
                                        if (items != null && items.length > 0) {
-                                               deleteDeviceTemplate(items[0]);
+                                               deleteDeviceTemplate(items[0], false);
                                        }
                                }
                        }
@@ -625,10 +645,18 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                }
        }
 
-       private void deleteDeviceTemplate(TableItem item) {
+       private void deleteDeviceTemplate(TableItem item, boolean needCheck) {
                if (item == null) {
                        return;
                }
+               if (needCheck) {
+                       String msg = "Do you want to delete selected device template?";
+                       int response = MessageBox.openMessageBox(msg, SWT.OK | SWT.CANCEL);
+
+                       if (response != SWT.OK) {
+                               return;
+                       }
+               }
 
                DeviceTemplate template = (DeviceTemplate)item.getData();
                try {
index f4ef680..d63e3c8 100644 (file)
@@ -129,7 +129,7 @@ public class Table extends TableScrolledComposite {
        }
 
        private void addListener() {
-               tableItem.addKeyListener(controlKeyEvent);
+               this.addKeyListener(controlKeyEvent);
                tableItem.addPaintListener(tableItemPaintListener);
                tableColumn.addPaintListener(tableColumnPaintListener);
 
index 85ef28a..e1b53b0 100644 (file)
@@ -31,8 +31,6 @@
 package org.tizen.emulator.manager.ui.table;
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.PaintEvent;
 import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.graphics.GC;
@@ -57,7 +55,8 @@ class TableItemCell extends Composite {
 
                this.addPaintListener(patinListener);
                this.addListener(SWT.MouseDown, eventListener);
-               this.addKeyListener(controlKeyEvent);
+               this.addListener(SWT.KeyDown, controlKeyEvent);
+               this.addListener(SWT.KeyUp, controlKeyEvent);
        }
 
        private Listener eventListener = new Listener() {
@@ -170,40 +169,19 @@ class TableItemCell extends Composite {
                }
        };
 
-       private KeyAdapter controlKeyEvent = new KeyAdapter() {
-               @ Override
-               public void keyPressed(KeyEvent e) {
-
-                       switch (e.keyCode) {
-                       case SWT.CTRL:
-                       case SWT.SHIFT:
-                               Event event = new Event();
-                               event.type = SWT.KeyDown;
-                               event.keyCode = e.keyCode;
-                               item.getParent().notifyListeners(SWT.KeyDown, event);
-                               break;
-                       default:
+       private Listener controlKeyEvent = new Listener() {
+               @Override
+               public void handleEvent(Event event) {
+                       switch(event.type) {
+                       case SWT.KeyDown:
+                               item.getParentTable().notifyListeners(SWT.KeyDown, event);
                                break;
-                       }
-
-               }
-
-               @ Override
-               public void keyReleased(KeyEvent e) {
-                       switch (e.keyCode) {
-                       case SWT.CTRL:
-                       case SWT.SHIFT:
-                       case SWT.ARROW_UP:
-                       case SWT.ARROW_DOWN:
-                               Event event = new Event();
-                               event.type = SWT.KeyUp;
-                               event.keyCode = e.keyCode;
-                               item.getParent().notifyListeners(SWT.KeyUp, event);
+                       case SWT.KeyUp:
+                               item.getParentTable().notifyListeners(SWT.KeyUp, event);
                                break;
                        default:
                                break;
                        }
-
                }
        };
 }