--- /dev/null
+/*
+ * Emulator Manager
+ *
+ * Copyright (C) 2015 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * JiHye Kim <jihye424.kim@samsung.com>
+ * Minkee Lee <minkee.lee@samsung.com>
+ * SeokYeon Hwang <syeon.hwang@samsung.com>
+ * Sangho Park <sangho.p@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.emulator.manager.ui.renewal.dialog;
+
+public enum DIALOG_MODE {
+ CREATE, MODIFY, CLONE;
+}
private int returnValue = SWT.CANCEL;
// create / modify mode
- private boolean isCreateMode = true;
+ private DIALOG_MODE mode = DIALOG_MODE.CREATE;
private GrayButton okButton;
bodyComp.setLayoutData(gridData);
}
- public boolean isCreateMode() {
- return isCreateMode;
+ public DIALOG_MODE getDialogMode() {
+ return mode;
+ }
+
+ public void setDialogMode(DIALOG_MODE mode) {
+ this.mode = mode;
}
- public void setCreateMode(boolean isCreateMode) {
- this.isCreateMode = isCreateMode;
+ public boolean isCreateMode() {
+ if (mode == DIALOG_MODE.CREATE) {
+ return true;
+ } else {
+ return false;
+ }
}
}
-package org.tizen.emulator.manager.dialoghandler.renewal;
+package org.tizen.emulator.manager.ui.renewal.dialoghandler;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
-import org.tizen.emulator.manager.devices.DeviceTemplateCreator;
import org.tizen.emulator.manager.devices.DeviceTemplateValue;
import org.tizen.emulator.manager.ui.renewal.MainDialog;
+import org.tizen.emulator.manager.ui.renewal.dialog.DIALOG_MODE;
import org.tizen.emulator.manager.ui.renewal.dialog.DeviceTemplateModifyDialog;
import org.tizen.emulator.manager.ui.renewal.item.modify.common.DeviceItem;
import org.tizen.emulator.manager.ui.renewal.item.modify.common.DisplayItem;
public static final String TITLE_CLONE = "Clone Template";
- public static void create(DeviceTemplateValue value) {
-
+ public static DeviceTemplateValue create(DeviceTemplateValue value) {
if (value == null) {
value = new DeviceTemplateValue(null);
}
DeviceTemplateValue itemValue = value.clone();
- DeviceTemplateModifyDialog dialog = createDialog(TITLE_CREATE, true, itemValue);
+ return createDialog(TITLE_CREATE, DIALOG_MODE.CREATE, itemValue);
+ }
- int retValue = dialog.open();
- if (retValue == SWT.OK) {
- dialog.saveDataInto(itemValue);
- DeviceTemplateCreator.create(itemValue);
-
- // TODO for test
- System.out.println(itemValue.getPrintValue());
+ public static DeviceTemplateValue clone(DeviceTemplateValue value) {
+ if (value == null) {
+ return null;
}
- }
-
- public static void clone(DeviceTemplateValue value) {
DeviceTemplateValue newValue = value.clone();
- int retValue = createDialog(TITLE_CLONE, true, newValue).open();
- if (retValue == SWT.OK) {
- // TODO do clone
- }
+
+ return createDialog(TITLE_CLONE, DIALOG_MODE.CLONE, newValue);
}
- public static void modify(DeviceTemplateValue value) {
+ public static DeviceTemplateValue modify(DeviceTemplateValue value) {
if (value == null) {
- value = new DeviceTemplateValue(null);
+ // TODO
+ return null;
}
DeviceTemplateValue itemValue = value.clone();
- DeviceTemplateModifyDialog dialog = createDialog(TITLE_MODIFY, false, itemValue);
- int retValue = dialog.open();
-
- if (retValue == SWT.OK) {
- dialog.saveDataInto(itemValue);
-
- // TODO for test
- System.out.println(itemValue.getPrintValue());
-
- // TODO do modify
- }
+ return createDialog(TITLE_MODIFY, DIALOG_MODE.MODIFY, itemValue);
}
- private static DeviceTemplateModifyDialog createDialog(
- String dialogTitle, boolean isCreateMode, DeviceTemplateValue value) {
+ private static DeviceTemplateValue createDialog(
+ String dialogTitle, DIALOG_MODE mode, DeviceTemplateValue value) {
// open dialog
DeviceTemplateModifyDialog dialog =
new DeviceTemplateModifyDialog(MainDialog.getShell(), dialogTitle);
- dialog.setCreateMode(isCreateMode);
+ dialog.setDialogMode(mode);
dialog.create(value, getItemList(null));
- return dialog;
+ int retValue = dialog.open();
+ if (retValue == SWT.OK) {
+ dialog.saveDataInto(value);
+ // TODO for test
+ System.out.println(value.getPrintValue());
+ return value;
+ }
+ return null;
}
private static List<ModifyDialogItem> getItemList(VMProperty property) {
}
-
// FOR TES
public static List<ModifyDialogItem> getTmpItemList() {
List<ModifyDialogItem> itemList = new ArrayList<ModifyDialogItem>();
*/
-package org.tizen.emulator.manager.dialoghandler.renewal;
+package org.tizen.emulator.manager.ui.renewal.dialoghandler;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.tizen.emulator.manager.ui.renewal.MainDialog;
+import org.tizen.emulator.manager.ui.renewal.dialog.DIALOG_MODE;
import org.tizen.emulator.manager.ui.renewal.dialog.VMModifyDialog;
import org.tizen.emulator.manager.ui.renewal.item.modify.common.DeviceItem;
import org.tizen.emulator.manager.ui.renewal.item.modify.common.DisplayItem;
// open modify dialog
VMModifyDialog dialog = new VMModifyDialog(MainDialog.getShell());
- dialog.setCreateMode(false);
+ dialog.setDialogMode(DIALOG_MODE.MODIFY);
dialog.create(property.getPropertyValue(), getItemList(property));
// TODO set display value to dialog
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.tizen.emulator.manager.renewal.resources.ImageResources;
+import org.tizen.emulator.manager.ui.renewal.dialog.DIALOG_MODE;
import org.tizen.emulator.manager.ui.renewal.item.modify.comp.IconItemTitle;
import org.tizen.emulator.manager.ui.renewal.item.modify.comp.ModifyItem;
import org.tizen.emulator.manager.ui.renewal.widgets.TextInputBox;
protected void makeBody(int textBoxWidth) {
item.setBodyLayoutDefault();
- if (getDialog().isCreateMode()) {
- createTextBox(textBoxWidth);
-
- } else {
+ if (getDialog().getDialogMode() == DIALOG_MODE.MODIFY) {
createTextLabel();
+ } else {
+ createTextBox(textBoxWidth);
}
}
-
// for create mode
private void createTextBox(int textBoxWidth) {
GridData data = new GridData();
private static final int NUM_COLUMN = 2;
// TODO load from xml
- private static final List<CheckItemData> dataList =
+ private final List<CheckItemData> dataList =
new ArrayList<CheckItemData>();
+
private void initDataList() {
dataList.add(new CheckItemData("rear", "Rear"));
dataList.add(new CheckItemData("front", "Front"));
import org.tizen.emulator.manager.EmulatorManager;
import org.tizen.emulator.manager.devices.DeviceTemplate;
import org.tizen.emulator.manager.devices.DeviceTemplateValue;
-import org.tizen.emulator.manager.dialoghandler.renewal.DeviceTemplateDialogHandler;
+import org.tizen.emulator.manager.devices.DeviceWorkerException;
import org.tizen.emulator.manager.logging.EMLogger;
import org.tizen.emulator.manager.platform.Profile;
import org.tizen.emulator.manager.platform.ProfileList;
import org.tizen.emulator.manager.renewal.resources.ImageResources;
import org.tizen.emulator.manager.renewal.resources.PatchImageResources;
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;
import org.tizen.emulator.manager.ui.renewal.widgets.ImageButton;
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.helper.VMWorkerException;
public class DeviceTemplateTableViewer extends AbstractTableViewer {
private static final int BACK_BUTTON_WIDTH = 124;
@Override
public void handleEvent(Event event) {
if (event.type == SWT.Selection) {
- // TODO
- DeviceTemplateDialogHandler.create(null);
+ createDeviceTemplate(null);
}
}
});
@Override
public void handleEvent(Event event) {
if (event.type == SWT.Selection) {
- // TODO
+ TableItem[] items = table.getSelection();
+ if (items != null && items.length > 0) {
+ createDeviceTemplate(items[0]);
+ }
}
}
});
@Override
public void handleEvent(Event event) {
if (event.type == SWT.Selection) {
-
- // TODO check please
TableItem[] items = table.getSelection();
- DeviceTemplate deviceTemplate = (DeviceTemplate)items[0].getData();
- DeviceTemplateDialogHandler.modify(deviceTemplate.getValue());
+ if (items != null && items.length > 0) {
+ modifyDeviceTemplate(items[0]);
+ }
}
}
if (event.type == SWT.Selection) {
TableItem[] items = table.getSelection();
if (items != null && items.length > 0) {
- TableItem item = items[0];
-
- deleteDeviceTemplate(item);
+ deleteDeviceTemplate(items[0]);
}
}
}
cloneButton.setEnabled(false);
}
+ private void createDeviceTemplate(TableItem item) {
+ DeviceTemplateValue value = null;
+ if (item != null) {
+ DeviceTemplate template = (DeviceTemplate)item.getData();
+ value = template.getValue();
+ }
+
+ // open create dialog
+ DeviceTemplateValue newValue = null;
+ if (value == null) {
+ newValue = DeviceTemplateDialogHandler.create(value);
+ } else {
+ newValue = DeviceTemplateDialogHandler.clone(value);
+ }
+
+ if (newValue == null) {
+ return;
+ } else {
+ newValue.setType("custom");
+ }
+
+ ProfileButton pButton = null;
+ for (ProfileButton p : profileButtonList) {
+ if (p.getProfileName().equals(newValue.getProfile())) {
+ pButton = p;
+ break;
+ }
+ }
+
+ DeviceTemplate template = new DeviceTemplate();
+
+ try {
+ template.create(newValue);
+
+ // for table viewer
+ addTableItem(pButton, template, 0);
+ table.setSelection(0);
+
+ } catch (DeviceWorkerException e) {
+ EMLogger.getLogger().warning(e.getMessage());
+ // open message box
+ MessageBox.openMessageBox(e.getMessage());
+
+ if (e.isNeedRefresh()) {
+ refreshDeviceTemplateList();
+ }
+ }
+ }
+
+ private void modifyDeviceTemplate(TableItem item) {
+ if (item == null) {
+ return;
+ }
+
+ DeviceTemplate deviceTemplate = (DeviceTemplate)item.getData();
+
+ // open modify dialog
+ DeviceTemplateValue newValue =
+ DeviceTemplateDialogHandler.modify(deviceTemplate.getValue());
+
+ if (newValue == null) {
+ return;
+ }
+
+ ProfileButton pButton = null;
+ for (ProfileButton p : profileButtonList) {
+ if (p.getProfileName().equals(deviceTemplate.getValue().getProfile())) {
+ pButton = p;
+ break;
+ }
+ }
+
+ try {
+ newValue.updateVersion();
+ deviceTemplate.modify(newValue);
+
+ // for table viewer
+ setTableItemProperty(pButton, item, deviceTemplate);
+ table.redraw();
+ table.setSelection(item);
+ } catch (DeviceWorkerException e) {
+ EMLogger.getLogger().warning(e.getMessage());
+ // open message box
+ MessageBox.openMessageBox(e.getMessage());
+
+ if (e.isNeedRefresh()) {
+ refreshDeviceTemplateList();
+ }
+ }
+ }
+
private void deleteDeviceTemplate(TableItem item) {
if (item == null) {
return;
try {
template.delete();
table.remove(table.indexOf(item));
- } catch (VMWorkerException e) {
+ } catch (DeviceWorkerException e) {
EMLogger.getLogger().warning(e.getMessage());
// open message box
MessageBox.openMessageBox(e.getMessage());
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
-import org.tizen.emulator.manager.dialoghandler.renewal.VMModifyHandler;
import org.tizen.emulator.manager.platform.Profile;
import org.tizen.emulator.manager.platform.ProfileList;
import org.tizen.emulator.manager.renewal.resources.ImageResources;
import org.tizen.emulator.manager.ui.renewal.MainDialog;
+import org.tizen.emulator.manager.ui.renewal.dialoghandler.VMModifyHandler;
import org.tizen.emulator.manager.ui.renewal.widgets.CreateVMCombo;
import org.tizen.emulator.manager.ui.renewal.widgets.ImageButton;
import org.tizen.emulator.manager.ui.table.Table;
if (!text.equals(dataList[index].text)) {
dataList[index].text = text;
dataList[index].textWidth = TextSizeUtil.textExtent(font, text);
+ dataList[index].needRedrawingText = true;
if (parent.getColumnCount() == 0) {
parent.updateScrollBars(true);
}