From 73266392e6d1730c042961e74f61ef3faa7f3244 Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Sat, 5 Dec 2015 17:52:35 +0900 Subject: [PATCH] device template: seperate make table and set value of table - for redraw table, set value of table item (does not make table item) - make tablePack() funtion -- set table column width -- need to compute column width after action (create, modify, delete) Change-Id: I066666be811cf9815ccefa6550c1b8ed5a20260c Signed-off-by: jihye424.kim --- .../renewal/tableviewer/BaseImageTableViewer.java | 4 +- .../tableviewer/DeviceTemplateTableViewer.java | 88 +++++++++++++++------- 2 files changed, 62 insertions(+), 30 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 1c51a59..1138083 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java @@ -323,8 +323,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { private void tablePack() { table.getColumn(0).setWidth(30); - table.getColumn(1).setWidth(100); - for (int i = 2; i < titles.length; i++) { + for (int i = 1; i < titles.length; i++) { table.getColumn(i).pack(); } } @@ -621,6 +620,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { } } } + tablePack(); } tableSelected(); 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 7c5e611..327779f 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java @@ -38,6 +38,7 @@ 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.Color; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; @@ -55,6 +56,7 @@ 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.ColorResources; import org.tizen.emulator.manager.renewal.resources.ImageResources; import org.tizen.emulator.manager.resources.StringResources; import org.tizen.emulator.manager.ui.renewal.MainDialog; @@ -84,6 +86,10 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { private ImageButton modifyButton; private ImageButton deleteButton; + // for error table item + private Color backupTableItemForeground; + private Color backupTableItemSelectedForeground; + public DeviceTemplateTableViewer(Shell shell, String key) { super(shell, key); } @@ -155,7 +161,10 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { @Override void showTableComposite() { if (!isInitialized()) { - setTemplateListTable(); + makeTemplateListTable(); + } else if (isNeedRedraw()) { + setValueOfTemplateListTable(); + resetCondition(); } } @@ -173,7 +182,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { public void refreshDeviceTemplateList() { ProfileList.settingDeviceTemplateList(); - setTemplateListTable(); + makeTemplateListTable(); } private void makeProfileButton() { @@ -328,7 +337,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { }); } - private void setTemplateListTable() { + private void makeTemplateListTable() { table.removeAll(); for (ProfileButton pButton : profileButtonList) { if (pButton.getProfile() == null) { @@ -339,11 +348,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } } - table.getColumn(0).setWidth(30); - table.getColumn(1).setWidth(100); - for (int i = 2; i < titles.length; i++) { - table.getColumn(i).pack(); - } + tablePack(); } private void makeTableItem(ProfileButton pButton) { @@ -368,29 +373,61 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { item = new TableItem(table, SWT.NULL); } + if (template.getValue().isStandard()) { + item.setImage(1, pButton.getIcon()); + } else { + item.setImage(1, pButton.getCustomIcon()); + } + // - setTableItemProperty(pButton, item, template); + setTableItemProperty(item, template); setTableItemMenu(item, template); // } - private void setTableItemProperty(ProfileButton pButton, TableItem item, DeviceTemplate template) { + // reset table item value from template property + private void setValueOfTemplateListTable() { + for (TableItem item : table.getItems()) { + DeviceTemplate template = (DeviceTemplate)item.getData(); + setTableItemProperty(item, template); + } + tablePack(); + } + + private void tablePack() { + table.getColumn(0).setWidth(30); + for (int i = 1; i < titles.length; i++) { + table.getColumn(i).pack(); + } + } + + private void setTableItemProperty(TableItem item, DeviceTemplate template) { DeviceTemplateValue value = template.getValue(); if (value.getSkinPath() != null && !value.getSkinPath().isEmpty()) { if (value.getSkin() == null || value.isSettingSkinByManager()) { + if (backupTableItemForeground == null) { + backupTableItemForeground = item.getForeground(); + } + if (backupTableItemSelectedForeground == null) { + backupTableItemSelectedForeground = item.getSelectedForground(); + } item.setImage(0, ImageResources.ICON_STATE_ERROR.getImage()); - } else { + item.setForeground(ColorResources.ERROR_TABLE_ITEM_FONT.getColor()); + item.setSelectedForeground(ColorResources.ERROR_SELECTED_TABLE_ITEM_FONT.getColor()); + // + setRedrawVMList(); + // + } else if (item.getImage(0) != null){ item.setImage(0, null); + item.setForeground(backupTableItemForeground); + item.setSelectedForeground(backupTableItemSelectedForeground); + // + setRedrawVMList(); + // } } - if (value.isStandard()) { - item.setImage(1, pButton.getIcon()); - } else { - item.setImage(1, pButton.getCustomIcon()); - } - item.setText(2, value.getName()); item.setText(3, value.getResolution().toString()); item.setText(4, String.valueOf(value.getDisplaySize()) + " " + value.getDisplaySizeUnit()); @@ -405,7 +442,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { + "Check skin directory or change skin directory."; item.setToolTipText(0, skinError); } else { - item.setText(0, ""); + item.setToolTipText(0, ""); } String info = "Profile: " + value.getProfile() @@ -534,6 +571,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { } } } + tablePack(); } tableSelected(); @@ -688,6 +726,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { // for table viewer addTableItem(pButton, template, 0); + tablePack(); table.setSelection(0); } catch (DeviceWorkerException e) { @@ -716,22 +755,14 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { 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 setRedrawVMList(); - setTableItemProperty(pButton, item, deviceTemplate); - table.redraw(); + setTableItemProperty(item, deviceTemplate); + tablePack(); table.setSelection(item); } catch (DeviceWorkerException e) { EMLogger.getLogger().warning(e.getMessage()); @@ -763,6 +794,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { setRedrawVMList(); int index = table.indexOf(item); table.remove(index); + tablePack(); if (table.getItemCount() > 0) { if (index == table.getItemCount()) { table.setSelection(index - 1); -- 2.7.4