table viewer: set redraw, data immediately
authorjihye424.kim <jihye424.kim@samsung.com>
Fri, 4 Dec 2015 06:08:26 +0000 (15:08 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Fri, 4 Dec 2015 11:16:46 +0000 (20:16 +0900)
- old: set redraw, data ohter table viewer when change table viewer
- new: set redraw, data other table viewer when status is modified

Change-Id: I25f643ec9a92d77e93c54bd0d2010dcdf6a1d202
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
src/org/tizen/emulator/manager/ui/renewal/tableviewer/AbstractTableViewer.java
src/org/tizen/emulator/manager/ui/renewal/tableviewer/BaseImageTableViewer.java
src/org/tizen/emulator/manager/ui/renewal/tableviewer/CreateVMTableViewer.java
src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java
src/org/tizen/emulator/manager/ui/renewal/tableviewer/VMListTableViewer.java

index 0e2370b..9250f6c 100644 (file)
@@ -110,6 +110,17 @@ public abstract class AbstractTableViewer {
                this.isNeedRedraw = isNeedRedraw;
        }
 
+       /**
+        * After use condition variable, need to reset
+        * Reset object data, isNeedRedraw value
+        * data is null
+        * isNeedRedraw is false
+        */
+       public void resetCondition() {
+               data = null;
+               isNeedRedraw = false;
+       }
+
        public void initTableViewer() {
                if (isInitialize) {
                        return;
index 823dea1..1c51a59 100644 (file)
@@ -88,9 +88,6 @@ 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;
@@ -176,6 +173,7 @@ public class BaseImageTableViewer extends AbstractTableViewer {
                        makeBaseImageListTable();
                } else if (isNeedRedraw()) {
                        setValueOfBaseImageListTable();
+                       resetCondition();
                }
        }
 
@@ -338,6 +336,14 @@ public class BaseImageTableViewer extends AbstractTableViewer {
                return p.y;
        }
 
+       private void setRedrawVMList() {
+               MainDialog mainDialog = EmulatorManager.getNewMainDialog();
+               AbstractTableViewer viewer = mainDialog.findViewer(MainDialog.VM_LIST);
+               if (viewer != null) {
+                       viewer.setNeedRedraw(true);
+               }
+       }
+
        private void setTableItemProperty(TableItem item, BaseImage image) {
                if (!image.isFilePathExist()) {
                        if (backupTableItemForeground == null) {
@@ -350,14 +356,14 @@ public class BaseImageTableViewer extends AbstractTableViewer {
                        item.setForeground(ColorResources.ERROR_TABLE_ITEM_FONT.getColor());
                        item.setSelectedForeground(ColorResources.ERROR_SELECTED_TABLE_ITEM_FONT.getColor());
                        //
-                       isModified = true;
+                       setRedrawVMList();
                        //
                } else if (item.getImage(0) != null){
                        item.setImage(0, null);
                        item.setForeground(backupTableItemForeground);
                        item.setSelectedForeground(backupTableItemSelectedForeground);
                        //
-                       isModified = true;
+                       setRedrawVMList();
                        //
                }
 
@@ -575,7 +581,6 @@ public class BaseImageTableViewer extends AbstractTableViewer {
                                        MainDialog mainDialog = EmulatorManager.getNewMainDialog();
                                        AbstractTableViewer viewer = mainDialog.findViewer(MainDialog.VM_LIST);
                                        if (viewer != null) {
-                                               viewer.setNeedRedraw(isModified);
                                                mainDialog.setStackTop(viewer);
                                        }
                                }
index 7b5ab5d..51fc4a8 100644 (file)
@@ -413,7 +413,6 @@ public class CreateVMTableViewer extends AbstractTableViewer {
                MainDialog mainDialog = EmulatorManager.getNewMainDialog();
                AbstractTableViewer viewer = mainDialog.findViewer(MainDialog.VM_LIST);
                if (viewer != null) {
-                       viewer.setNeedRedraw(true);
                        viewer.setData(prop);
                        mainDialog.setStackTop(viewer);
                }
index ef010e9..7c5e611 100644 (file)
@@ -84,8 +84,6 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
        private ImageButton modifyButton;
        private ImageButton deleteButton;
 
-       private boolean isModified = false;
-
        public DeviceTemplateTableViewer(Shell shell, String key) {
                super(shell, key);
        }
@@ -159,7 +157,6 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                if (!isInitialized()) {
                        setTemplateListTable();
                }
-
        }
 
        @Override
@@ -206,7 +203,6 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                                        MainDialog mainDialog = EmulatorManager.getNewMainDialog();
                                        AbstractTableViewer viewer = mainDialog.findViewer("vmList");
                                        if (viewer != null) {
-                                               viewer.setNeedRedraw(isModified);
                                                mainDialog.setStackTop(viewer);
                                        }
                                }
@@ -733,7 +729,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                        deviceTemplate.modify(newValue);
 
                        // for table viewer
-                       isModified = true;
+                       setRedrawVMList();
                        setTableItemProperty(pButton, item, deviceTemplate);
                        table.redraw();
                        table.setSelection(item);
@@ -764,7 +760,7 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                DeviceTemplate template = (DeviceTemplate)item.getData();
                try {
                        template.delete();
-                       isModified = true;
+                       setRedrawVMList();
                        int index = table.indexOf(item);
                        table.remove(index);
                        if (table.getItemCount() > 0) {
@@ -785,6 +781,14 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer {
                }
        }
 
+       private void setRedrawVMList() {
+               MainDialog mainDialog = EmulatorManager.getNewMainDialog();
+               AbstractTableViewer viewer = mainDialog.findViewer(MainDialog.VM_LIST);
+               if (viewer != null) {
+                       viewer.setNeedRedraw(true);
+               }
+       }
+
        private void tableSelected() {
                if (table.getSelectionCount() == 0) {
                        deleteButton.setEnabled(false);
index 85e5164..88957d6 100644 (file)
@@ -104,11 +104,19 @@ public class VMListTableViewer extends AbstractTableViewer {
                        }
                        makeTableItem();
 
-               } else if (isNeedRedraw()) {
+               } else {
                        if (getData() != null && getData() instanceof VMProperty) {
+                               // create new emulator
                                newVM = (VMProperty)getData();
+                               setRedrawTableViewer();
+                       } else {
+                               newVM = null;
+                       }
+
+                       if (isNeedRedraw() || newVM != null) {
+                               redrawTableItem(newVM);
+                               resetCondition();
                        }
-                       redrawTableItem(newVM);
                }
        }
 
@@ -327,6 +335,7 @@ public class VMListTableViewer extends AbstractTableViewer {
                        public void handleEvent(Event event) {
                                if (event.type == SWT.Selection) {
                                        table.deleteVMList();
+                                       setRedrawTableViewer();
                                }
                        }
                });
@@ -369,6 +378,15 @@ public class VMListTableViewer extends AbstractTableViewer {
                launchButton.setEnabled(false);
        }
 
+       private void setRedrawTableViewer() {
+               // set redraw base image table
+               MainDialog mainDialog = EmulatorManager.getNewMainDialog();
+               AbstractTableViewer viewer = mainDialog.findViewer(MainDialog.BASE_IMAGE_LIST);
+               if (viewer != null) {
+                       viewer.setNeedRedraw(true);
+               }
+       }
+
        private void setLayout() {
                // composite is form layout
                FormData createButtonData;