From b25ccd88a68fbe14c6cc91de9a95b84a27bb30f1 Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Wed, 14 Oct 2015 19:07:14 +0900 Subject: [PATCH] Device Template: add 'Delete' key event handler - 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 --- .../tableviewer/DeviceTemplateTableViewer.java | 34 ++++++++++++++++-- src/org/tizen/emulator/manager/ui/table/Table.java | 2 +- .../emulator/manager/ui/table/TableItemCell.java | 42 ++++++---------------- 3 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java index 21f4fd3..7676d77 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java @@ -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 { diff --git a/src/org/tizen/emulator/manager/ui/table/Table.java b/src/org/tizen/emulator/manager/ui/table/Table.java index f4ef680..d63e3c8 100644 --- a/src/org/tizen/emulator/manager/ui/table/Table.java +++ b/src/org/tizen/emulator/manager/ui/table/Table.java @@ -129,7 +129,7 @@ public class Table extends TableScrolledComposite { } private void addListener() { - tableItem.addKeyListener(controlKeyEvent); + this.addKeyListener(controlKeyEvent); tableItem.addPaintListener(tableItemPaintListener); tableColumn.addPaintListener(tableColumnPaintListener); diff --git a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java index 85ef28a..e1b53b0 100644 --- a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java +++ b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java @@ -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; } - } }; } -- 2.7.4