From 6b1fc342bbb3fa5c238971bf87718fe66ae0e58b Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Wed, 2 Dec 2015 16:29:27 +0900 Subject: [PATCH] base image: seperate make table and set value of table - when redraw table, set value of table item (does not make table item) - make tablePack() function -- set table column width -- need to compute column width after action (create, modify, delete) Change-Id: I6a4b164e10be5bc784d3f319d1c899e28f2ddac6 Signed-off-by: jihye424.kim --- .../renewal/tableviewer/BaseImageTableViewer.java | 47 +++++++++++++++++----- 1 file changed, 36 insertions(+), 11 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 14f7c06..1d64f28 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java @@ -88,8 +88,14 @@ public class BaseImageTableViewer extends AbstractTableViewer { private ImageButton deleteButton; private int maxItemHeight = 0; + // if base image status has been modified, set true + // -> update values of table item in emulator list viewer private boolean isModified = false; + // for error table item + private Color backupTableItemForeground; + private Color backupTableItemSelectedForeground; + public BaseImageTableViewer(Shell shell, String key) { super(shell, key); } @@ -97,7 +103,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { public void refreshBaseImageList() { ProfileList.reloadingBaseImageList(); // reset base image list table - setBaseImageListTable(); + makeBaseImageListTable(); } @Override @@ -169,7 +175,9 @@ public class BaseImageTableViewer extends AbstractTableViewer { @Override void showTableComposite() { if (!isInitialized()) { - setBaseImageListTable(); + makeBaseImageListTable(); + } else if (isNeedRedraw()) { + setValueOfBaseImageListTable(); } } @@ -261,7 +269,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { table.getColumn(4).addListener(SWT.Selection, table.getDefaultSortListener()); } - private void setBaseImageListTable() { + private void makeBaseImageListTable() { table.removeAll(); for (ProfileButton pButton : profileButtonList) { if (pButton.getProfile() == null) { @@ -272,11 +280,7 @@ public class BaseImageTableViewer 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) { @@ -310,6 +314,23 @@ public class BaseImageTableViewer extends AbstractTableViewer { setTableItemProperty(item, image); } + // reset table item value from base image property + private void setValueOfBaseImageListTable() { + for (TableItem item : table.getItems()) { + BaseImage image = (BaseImage)item.getData(); + setTableItemProperty(item, image); + } + tablePack(); + } + + private void tablePack() { + table.getColumn(0).setWidth(30); + table.getColumn(1).setWidth(100); + for (int i = 2; i < titles.length; i++) { + table.getColumn(i).pack(); + } + } + private int getTextHeight(String text) { GC gc = new GC(Display.getCurrent()); Point p = gc.textExtent(text); @@ -317,8 +338,6 @@ public class BaseImageTableViewer extends AbstractTableViewer { return p.y; } - private Color backupTableItemForeground; - private Color backupTableItemSelectedForeground; private void setTableItemProperty(TableItem item, BaseImage image) { if (!image.isFilePathExist()) { if (backupTableItemForeground == null) { @@ -337,6 +356,9 @@ public class BaseImageTableViewer extends AbstractTableViewer { item.setImage(0, null); item.setForeground(backupTableItemForeground); item.setSelectedForeground(backupTableItemSelectedForeground); + // + isModified = true; + // } item.setText(2, image.getName()); @@ -381,7 +403,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { String nameToolTip = "Type: " + (image.isStandard() ? "standard" : "custom") + StringResources.NEW_LINE - + "Emulators: " + (emulatorList.isEmpty() ? "X" : emulatorList); + + "Emulators: " + (emulatorList.isEmpty() ? "" : emulatorList); item.setToolTipText(1, nameToolTip); item.setToolTipText(2, nameToolTip); @@ -613,6 +635,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { if (pButton != null) { addTableItem(pButton, image, 0); + tablePack(); table.setSelection(0); } } @@ -632,6 +655,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { if (image.getWorker().modifyCustomBaseImage(value)) { setTableItemProperty(item, image); + tablePack(); } } @@ -689,6 +713,7 @@ public class BaseImageTableViewer extends AbstractTableViewer { int index = table.indexOf(item); table.remove(index); if (table.getItemCount() > 0) { + tablePack(); if (index == table.getItemCount()) { table.setSelection(index - 1); } else { -- 2.7.4