From 29e5e3efaa9fa29e75bc99ed50264d078e2afdf1 Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Thu, 29 Oct 2015 15:46:36 +0900 Subject: [PATCH] Base Image Table: add 'modify' and 'delete' function Change-Id: I5ac6da8df2d54b41bf791eb405d3a62cea6004ae Signed-off-by: jihye424.kim --- .../renewal/tableviewer/BaseImageTableViewer.java | 77 +++++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java index b931b94..8deac7e 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java @@ -55,7 +55,10 @@ 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.dialog.DeleteMessageBox; +import org.tizen.emulator.manager.ui.renewal.dialog.MessageBox; import org.tizen.emulator.manager.ui.renewal.dialoghandler.BaseImageDialogHandler; import org.tizen.emulator.manager.ui.renewal.widgets.Hyperlink; import org.tizen.emulator.manager.ui.renewal.widgets.ImageButton; @@ -63,6 +66,7 @@ import org.tizen.emulator.manager.ui.renewal.widgets.NinePatchResourceInfo; import org.tizen.emulator.manager.ui.table.Table; import org.tizen.emulator.manager.ui.table.TableColumn; import org.tizen.emulator.manager.ui.table.TableItem; +import org.tizen.emulator.manager.vms.VMProperty; public class BaseImageTableViewer extends AbstractTableViewer { private static final int BACK_BUTTON_WIDTH = 124; @@ -473,11 +477,80 @@ public class BaseImageTableViewer extends AbstractTableViewer { } private void modifyBaseImage(TableItem item) { - //TODO + BaseImage image = (BaseImage)item.getData(); + if (image == null || image.isStandard()) { + return; + } + + CustomBaseImageValue value = BaseImageDialogHandler.modify(image); + if (value == null) { + // TODO + return; + } + + if (!image.getWorker().modifyCustomBaseImage(value)) { + setTableItemProperty(item, image); + } } private void deleteBaseImage(TableItem item) { - // TODO + BaseImage image = (BaseImage)item.getData(); + if (image == null || image.isStandard()) { + return; + } + + // check running emulator + if (!image.isEemulatorListEmpty()) { + String name = ""; + for (VMProperty prop : image.getEmulatorList()) { + if (prop.isRunning()) { + if (!name.isEmpty()) { + name += ", "; + } + name += prop.getName(); + } + } + // if there is running emulator + if (!name.isEmpty()) { + String message = "Can not delete base image" + + StringResources.NEW_LINE + + "because emulator using this base image is running status." + + StringResources.NEW_LINE + StringResources.NEW_LINE + + "Try again after emualtor has been terminated." + + StringResources.NEW_LINE + + "Running Emulator:" + + StringResources.NEW_LINE + + " " + name; + MessageBox.openMessageBox(message); + return; + } + } + + DeleteMessageBox msgBox = new DeleteMessageBox(image); + int response = msgBox.open(); + if (response != SWT.OK) { + return; + } + + if (!image.getWorker().deleteBaseImageConfiguration(msgBox.needDeleteFile())) { + //TODO + return; + } + + int index = table.indexOf(item); + table.remove(index); + if (table.getItemCount() > 0) { + if (index == table.getItemCount()) { + table.setSelection(index - 1); + } else { + table.setSelection(index); + } + } + + // setting table item property + for (TableItem i : table.getItems()) { + setTableItemProperty(i, (BaseImage)i.getData()); + } } private void tableSelected() { -- 2.7.4