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;
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;
}
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() {