Device Template Viewer: add tool tip and context menu
authorjihye424.kim <jihye424.kim@samsung.com>
Wed, 14 Oct 2015 09:14:24 +0000 (18:14 +0900)
committerjihye424.kim <jihye424.kim@samsung.com>
Wed, 14 Oct 2015 09:14:24 +0000 (18:14 +0900)
- context menu: clone, modify, delete, detail(show detail information)

Change-Id: I331fd19a628de02c75e48f04dece82e16b1f4b38
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/TableItem.java

index cece42a..21f4fd3 100644 (file)
@@ -42,6 +42,8 @@ import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
 import org.eclipse.swt.widgets.Shell;
 import org.tizen.emulator.manager.EmulatorManager;
 import org.tizen.emulator.manager.devices.DeviceTemplate;
@@ -54,6 +56,7 @@ import org.tizen.emulator.manager.renewal.resources.ColorResources;
 import org.tizen.emulator.manager.renewal.resources.FontResources;
 import org.tizen.emulator.manager.renewal.resources.ImageResources;
 import org.tizen.emulator.manager.renewal.resources.PatchImageResources;
+import org.tizen.emulator.manager.resources.StringResources;
 import org.tizen.emulator.manager.ui.renewal.MainDialog;
 import org.tizen.emulator.manager.ui.renewal.dialoghandler.DeviceTemplateDialogHandler;
 import org.tizen.emulator.manager.ui.renewal.widgets.Hyperlink;
@@ -256,6 +259,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                        }
 
                });
+
        }
 
        private void setTemplateListTable() {
@@ -306,6 +310,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
 
                //
                setTableItemProperty(pButton, item, template);
+               setTableItemMenu(item, template);
                //
        }
 
@@ -316,12 +321,94 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                } else {
                        item.setImage(0, pButton.getCustomIcon());
                }
+
                item.setText(1, value.getName());
                item.setText(2, value.getResolution().toString());
                item.setText(3, String.valueOf(value.getDisplaySize()) + " " + value.getDisplaySizeUnit());
                item.setText(4, String.valueOf(value.getRamSize()) + " " + value.getRamSizeUnit());
                item.setText(5, String.valueOf(value.getCpuCount()));
                item.setData(template);
+
+               // setting tool tip
+               String info = "Profile: " + value.getProfile()
+                               + (value.getExtenstion() == null
+                               ? ""
+                               : StringResources.NEW_LINE + "Extension: " + value.getExtenstion())
+                               + StringResources.NEW_LINE
+                               + "Type: " + value.getType();
+               item.setToolTipText(0, info);
+               item.setToolTipText(1, info);
+               item.setToolTipText(3, "DPI: " + value.getDisplayDPI());
+       }
+
+       private void setTableItemMenu(TableItem item, DeviceTemplate template) {
+               Menu menu = new Menu(item);
+               item.setMenu(menu);
+
+               MenuItem cloneMenu = new MenuItem(menu, SWT.PUSH);
+               cloneMenu.setText("Clone");
+               cloneMenu.addListener(SWT.Selection, new Listener() {
+                       @Override
+                       public void handleEvent(Event e) {
+                               if (e.type == SWT.Selection) {
+                                       TableItem[] items = table.getSelection();
+                                       if (items != null && items.length > 0) {
+                                               createDeviceTemplate(items[0]);
+                                       }
+                               }
+                       }
+               });
+
+               MenuItem modifyMenu = new MenuItem(menu, SWT.PUSH);
+               if (template.getValue().isStandard()) {
+                       modifyMenu.setEnabled(false);
+               }
+               modifyMenu.setText("Modify");
+               modifyMenu.addListener(SWT.Selection, new Listener() {
+                       @Override
+                       public void handleEvent(Event e) {
+                               if (e.type == SWT.Selection) {
+                                       TableItem[] items = table.getSelection();
+                                       if (items != null && items.length > 0) {
+                                               modifyDeviceTemplate(items[0]);
+                                       }
+                               }
+                       }
+               });
+
+               MenuItem deleteMenu = new MenuItem(menu, SWT.PUSH);
+               if (template.getValue().isStandard()) {
+                       deleteMenu.setEnabled(false);
+               }
+               deleteMenu.setText("Delete\tDelete");
+               deleteMenu.addListener(SWT.Selection, new Listener() {
+                       @Override
+                       public void handleEvent(Event e) {
+                               if (e.type == SWT.Selection) {
+                                       TableItem[] items = table.getSelection();
+                                       if (items != null && items.length > 0) {
+                                               deleteDeviceTemplate(items[0]);
+                                       }
+                               }
+                       }
+               });
+
+               new MenuItem(menu, SWT.SEPARATOR);
+               MenuItem infoMenu = new MenuItem(menu, SWT.PUSH);
+               infoMenu.setText("Detail");
+
+               infoMenu.addListener(SWT.Selection, new Listener() {
+                       @Override
+                       public void handleEvent(Event e) {
+                               if (e.type == SWT.Selection) {
+                                       TableItem[] items = table.getSelection();
+                                       if (items != null && items.length > 0) {
+                                               DeviceTemplate template = (DeviceTemplate)items[0].getData();
+                                               DeviceTemplateDialogHandler.detail(template.getValue());
+                                       }
+                               }
+                       }
+               });
        }
 
        private final SelectionListener profileButtonSelectionListener = new SelectionListener() {
index 52b4db7..03e82d7 100644 (file)
@@ -888,7 +888,7 @@ public class TableItem extends Canvas {
                                TableItem tItem = ((TableItem)event.data);
                                Menu menu = tItem.getMenu();
                                if (menu == null) {
-                                       menu = getParent().getMenu();
+                                       menu = getParentTable().getMenu();
                                }
 
                                if (menu != null) {