replay editor : refactoring 82/27982/1
authorHyunjong.park <phjwithyou.park@samsung.com>
Wed, 24 Sep 2014 00:58:28 +0000 (09:58 +0900)
committerHyunjong.park <phjwithyou.park@samsung.com>
Wed, 24 Sep 2014 00:58:28 +0000 (09:58 +0900)
add the table icon of the replya edit dialogbox.
extract method that contain nested if or nested loop.
Signed-off-by: Hyunjong.park <phjwithyou.park@samsung.com>
Change-Id: I92078f9a7948373a5db6d428d0191c82424e0594

19 files changed:
org.tizen.dynamicanalyzer.appearance/theme/white/img/toolbar_dropdown_normal_a.png [new file with mode: 0644]
org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/popupMenu/DAPopupMenu.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ReplayData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/RepalyEditSaveDialog.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialog.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java [deleted file]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditScreenshotDialog.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditScreenshotTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditScreenshotTableCellRenderer.java [moved from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditSnapShopTableCellRenderer.java with 82% similarity]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditTableCellRenderer.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditTableItemListSortComparator.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditDataType.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditSaveDataMaker.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditTableData.java [moved from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditTableData.java with 96% similarity]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditTableDataMaker.java [new file with mode: 0644]

diff --git a/org.tizen.dynamicanalyzer.appearance/theme/white/img/toolbar_dropdown_normal_a.png b/org.tizen.dynamicanalyzer.appearance/theme/white/img/toolbar_dropdown_normal_a.png
new file mode 100644 (file)
index 0000000..b64ec33
Binary files /dev/null and b/org.tizen.dynamicanalyzer.appearance/theme/white/img/toolbar_dropdown_normal_a.png differ
index 82911cf..57e3c51 100644 (file)
@@ -84,12 +84,12 @@ public class DAPopupMenu {
        public DAPopupMenu() {
                // mouse listener is not registered
        }
-       
+
        public void setParent(Composite parent) {
                this.parent = parent;
        }
 
-       public void setMouseListener(){
+       public void setMouseListener() {
                parent.getShell().addShellListener(new ShellListener() {
 
                        @Override
@@ -183,8 +183,7 @@ public class DAPopupMenu {
                }
                Point pt = Display.getCurrent().getCursorLocation();
                if ((contextMenuPoint.x <= pt.x && pt.x <= (contextMenuPoint.x + contextMenuWidth))
-                               && (contextMenuPoint.y <= pt.y && pt.y <= contextMenuPoint.y
-                                               + contextMenuHeight)) {
+                               && (contextMenuPoint.y <= pt.y && pt.y <= contextMenuPoint.y + contextMenuHeight)) {
                        return true;
 
                }
@@ -257,8 +256,7 @@ public class DAPopupMenu {
                        oldItem = newItem;
                        data = new FormData();
                        if (null == oldItem) {
-                               data.top = new FormAttachment(0,
-                                               DAPopupMenuItemButtonRenderer.MARGIN);
+                               data.top = new FormAttachment(0, DAPopupMenuItemButtonRenderer.MARGIN);
                        } else {
                                data.top = new FormAttachment(oldItem, 0);
                        }
@@ -267,8 +265,7 @@ public class DAPopupMenu {
                                newItem = new DACustomButton(shell, SWT.NONE);
                                newItem.setRenderer(new DAPopupMenuItemButtonRenderer());
                                newItem.setColors(ColorResources.POPUP_MENU_SEPARATOR1,
-                                               ColorResources.POPUP_MENU_SEPARATOR1,
-                                               ColorResources.POPUP_MENU_SEPARATOR1,
+                                               ColorResources.POPUP_MENU_SEPARATOR1, ColorResources.POPUP_MENU_SEPARATOR1,
                                                ColorResources.POPUP_MENU_SEPARATOR1);
                                newItem.setButtonEnabled(false);
                                data.height = DAPopupMenuItemButtonRenderer.MARGIN;
@@ -303,9 +300,8 @@ public class DAPopupMenu {
                                                newItem.setButtonEnabled(false);
                                        }
                                } else {
-                                       newItem.setButtonImages(ImageResources.CONTEXT_OPEN, 
-                                                       ImageResources.CONTEXT_OPEN,
-                                                       ImageResources.CONTEXT_OPEN,
+                                       newItem.setButtonImages(ImageResources.CONTEXT_OPEN,
+                                                       ImageResources.CONTEXT_OPEN, ImageResources.CONTEXT_OPEN,
                                                        ImageResources.CONTEXT_OPEN);
                                        newItem.addListener(SWT.MouseHover, mouseListener);
                                }
@@ -319,10 +315,8 @@ public class DAPopupMenu {
                        newItem.addListener(SWT.MouseEnter, mouseListener);
                        child.setControl(newItem);
                        newItem.setData(child);
-                       data.left = new FormAttachment(0,
-                                       DAPopupMenuItemButtonRenderer.MARGIN);
-                       data.right = new FormAttachment(100,
-                                       -DAPopupMenuItemButtonRenderer.MARGIN);
+                       data.left = new FormAttachment(0, DAPopupMenuItemButtonRenderer.MARGIN);
+                       data.right = new FormAttachment(100, -DAPopupMenuItemButtonRenderer.MARGIN);
                        newItem.setLayoutData(data);
                }
                shell.layout();
@@ -360,7 +354,6 @@ public class DAPopupMenu {
                return nTextWidth;
        }
 
-       
        public boolean open(Shell shell, int x, int y) {
                if (null != shell) {
                        shell.dispose();
@@ -370,8 +363,7 @@ public class DAPopupMenu {
                        topShell = new Shell(parent.getShell(), SWT.NO_TRIM);
                        this.shell = topShell;
                } else if (null != parentItem) {
-                       this.shell = new Shell(parentItem.getControl().getShell(),
-                                       SWT.NO_TRIM);
+                       this.shell = new Shell(parentItem.getControl().getShell(), SWT.NO_TRIM);
                } else {
                        return false;
                }
@@ -418,71 +410,12 @@ public class DAPopupMenu {
                disposeContextMenuTimer(STAUES_ITEMS_CHECK_TIME);
                return true;
        }
-       
-//     public boolean open(Shell shell, int x, int y) {
-//             if (null != shell) {
-//                     shell.dispose();
-//                     shell = null;
-//             }
-//             if (null != parent) {
-//                     topShell = new Shell(parent.getShell(), SWT.NO_TRIM);
-//                     this.shell = topShell;
-//             } else if (null != parentItem) {
-//                     this.shell = new Shell(parentItem.getControl().getShell(),
-//                                     SWT.NO_TRIM);
-//             } else {
-//                     return false;
-//             }
-//             shell = this.shell;
-//             if (false == makeItem(shell, x, y)) {
-//                     shell.dispose();
-//                     shell = null;
-//                     return false;
-//             }
-//             shell.addShellListener(new ShellListener() {
-//
-//                     @Override
-//                     public void shellIconified(ShellEvent e) {
-//                     }
-//
-//                     @Override
-//                     public void shellDeiconified(ShellEvent e) {
-//                     }
-//
-//                     @Override
-//                     public void shellDeactivated(ShellEvent e) {
-//                             if (null == childMenu) {
-//                                     Point pt = Display.getCurrent().getCursorLocation();
-//
-//                                     if (isInCursorOnMenu(pt) == false) {
-//                                             closeParent();
-//                                     }
-//                             }
-//                     }
-//
-//                     @Override
-//                     public void shellClosed(ShellEvent e) {
-//                     }
-//
-//                     @Override
-//                     public void shellActivated(ShellEvent e) {
-//                     }
-//             });
-//             shell.open();
-//             if (checkEnableTimer != null) {
-//                     checkEnableTimer.cancel();
-//                     checkEnableTimer = null;
-//             }
-//             disposeContextMenuTimer(STAUES_ITEMS_CHECK_TIME);
-//             return true;
-//     }
 
        protected boolean isInCursorOnShell(Shell shell) {
                Rectangle rt = shell.getBounds();
                Point pt = Display.getCurrent().getCursorLocation();
 
-               if (pt.x > rt.x && pt.x < rt.x + rt.width && pt.y > rt.y
-                               && pt.y < rt.y + rt.height) {
+               if (pt.x > rt.x && pt.x < rt.x + rt.width && pt.y > rt.y && pt.y < rt.y + rt.height) {
                        return true;
                } else {
                        return false;
@@ -490,16 +423,13 @@ public class DAPopupMenu {
        }
 
        protected boolean isInCursorOnMenu(Point pt) {
-
                boolean ret = false;
                Rectangle rt = shell.getBounds();
-               if (pt.x > rt.x && pt.x < rt.x + rt.width && pt.y > rt.y
-                               && pt.y < rt.y + rt.height) {
+               if (pt.x > rt.x && pt.x < rt.x + rt.width && pt.y > rt.y && pt.y < rt.y + rt.height) {
                        return true;
                } else {
                        ret = false;
                }
-
                if (null != parentItem) {
                        return parentItem.isInCursorInMenu(pt);
                } else {
@@ -611,8 +541,7 @@ public class DAPopupMenu {
                return topShell;
        }
 
-       private void itemNormalColorChange(DACustomButton button, Color background,
-                       Color text) {
+       private void itemNormalColorChange(DACustomButton button, Color background, Color text) {
                if (null == button) {
                        return;
                }
@@ -624,8 +553,7 @@ public class DAPopupMenu {
                if (null != childMenu) {
                        DAPopupMenuItem oldItem = childMenu.getParentItem();
                        if (null != oldItem) {
-                               itemNormalColorChange(oldItem.getControl(),
-                                               ColorResources.POPUP_MENU_ITEM_NORMAL,
+                               itemNormalColorChange(oldItem.getControl(), ColorResources.POPUP_MENU_ITEM_NORMAL,
                                                ColorResources.POPUP_MENU_TEXT_NORMAL);
                        }
                }
@@ -641,7 +569,6 @@ public class DAPopupMenu {
        }
 
        private Listener mouseListener = new Listener() {
-
                @Override
                public void handleEvent(Event event) {
                        int eventType = event.type;
@@ -649,7 +576,6 @@ public class DAPopupMenu {
                        if (!(obj instanceof DACustomButton)) {
                                return;
                        }
-
                        DACustomButton button = (DACustomButton) obj;
                        obj = button.getData();
                        if (!(obj instanceof DAPopupMenuItem)) {
@@ -669,8 +595,7 @@ public class DAPopupMenu {
                                        return;
                                }
                                if (null != item.open()) {
-                                       itemNormalColorChange(button,
-                                                       ColorResources.POPUP_MENU_ITEM_SELECTED,
+                                       itemNormalColorChange(button, ColorResources.POPUP_MENU_ITEM_SELECTED,
                                                        ColorResources.POPUP_MENU_TEXT_SELECTED);
                                }
                                break;
@@ -686,8 +611,7 @@ public class DAPopupMenu {
                                                closeChildMenu(item, menu);
                                        } else {
                                                if (null != item.open()) {
-                                                       itemNormalColorChange(button,
-                                                                       ColorResources.POPUP_MENU_ITEM_SELECTED,
+                                                       itemNormalColorChange(button, ColorResources.POPUP_MENU_ITEM_SELECTED,
                                                                        ColorResources.POPUP_MENU_TEXT_SELECTED);
                                                }
                                        }
index 536db29..98a5cf8 100644 (file)
@@ -73,10 +73,10 @@ public class ReplayTraceHandler extends AbstractHandler {
 
                        // make replay event
                        // on/off , replay start time, count, event objs
-                       ReplayData replayData = ReplayDataManager.getInstance()
-                                       .getReplayDBManager().getReplayLogs(true);
+                       ReplayData replayData = ReplayDataManager.getInstance().getReplayDBManager()
+                                       .getReplayLogs();
                        int count = 0;
-                       if(null != replayData){
+                       if (null != replayData) {
                                count = replayData.getObjectCount();
                        }
                        byte[] eventObjs = null;
@@ -84,19 +84,13 @@ public class ReplayTraceHandler extends AbstractHandler {
                                eventObjs = ByteUtil.concatByteArray(eventObjs, replayData.getRecordEvent().get(i)
                                                .getByteValues());
 
-                               // System.out.println(" sec : "
-                               // + replayData.getRecordEvent().get(i).getEventTime()
-                               // .getSec()
-                               // + " nano : "
-                               // + replayData.getRecordEvent().get(i).getEventTime()
-                               // .getNano() + " id : "
-                               // + replayData.getRecordEvent().get(i).getEventId()
-                               // + " code : "
-                               // + replayData.getRecordEvent().get(i).getEventCode()
-                               // + " type : "
-                               // + replayData.getRecordEvent().get(i).getEventType()
-                               // + " value : "
-                               // + replayData.getRecordEvent().get(i).getEventValue());
+//                             System.out.println(" sec : "
+//                                             + replayData.getRecordEvent().get(i).getEventTime().getSec() + " nano : "
+//                                             + replayData.getRecordEvent().get(i).getEventTime().getNano() + " id : "
+//                                             + replayData.getRecordEvent().get(i).getEventId() + " code : "
+//                                             + replayData.getRecordEvent().get(i).getEventCode() + " type : "
+//                                             + replayData.getRecordEvent().get(i).getEventType() + " value : "
+//                                             + replayData.getRecordEvent().get(i).getEventValue());
                        }
                        replayEvent = ByteUtil.getByte(REPLAY_ON, startTime.getSec(), startTime.getNano(),
                                        count, eventObjs);
index c52158b..ebfe8ee 100644 (file)
@@ -107,13 +107,13 @@ public class ReplayData extends LogData {
                        value = ByteUtil.toInt(data, index);
                        recordObj.setEventValue(value);
                        index += INT_SIZE;
-//                     System.out.println("Sec : " + recordObj.getEventTime().getSec()
-//                                     + " Nano : " + recordObj.getEventTime().getNano() + "ID : "
-//                                     + recordObj.getEventId() + " Code : "
-//                                     + recordObj.getEventCode() + " Type : "
-//                                     + recordObj.getEventType() + " Value : "
-//                                     + recordObj.getEventValue());
-
+                       System.out.println(
+                       "Sec : " + recordObj.getEventTime().getSec()+
+                       " Nano : " + recordObj.getEventTime().getNano() +
+                       " ID : "+ recordObj.getEventId() + 
+                       " TYPE : "+ recordObj.getEventType() +
+                       " CODE : "+ recordObj.getEventCode() +
+                       " VALUE : "+ recordObj.getEventValue());
                        getRecordEvent().add(recordObj);
                }
                
index 40b9746..21ef7b3 100755 (executable)
@@ -185,7 +185,7 @@ public class ToolbarArea {
                                                .equals(sDeviceName))
                                                && (null != appName && !appName.isEmpty() && appName.equals(text))) {
                                        replayButton.setButtonEnabled(true);
-                                       replayEditButton.setButtonEnabled(false);
+                                       replayEditButton.setButtonEnabled(true);
                                        // disable button until complete TV SDK
                                } else {
                                        replayButton.setButtonEnabled(false);
@@ -685,7 +685,7 @@ public class ToolbarArea {
                data = new FormData();
                data.top = new FormAttachment(0, 4);
                data.left = new FormAttachment(replayButton, 0, SWT.RIGHT);
-               data.width = 0;
+               data.width = 33;
                data.height = 30;
                replayEditButton.setLayoutData(data);
 
index 02a9218..195932e 100644 (file)
@@ -61,24 +61,10 @@ public class ReplayDBManager extends DBTable {
        private static final int DB_EVENT_CODE_INDEX = 7;
        private static final int DB_EVENT_VALUE = 8;
 
-       private static final String SELECT_QUERY = "select "
-                       + RID
-                       + CommonConstants.COMMA
-                       + SEQ
-                       + CommonConstants.COMMA
-                       + TIME
-                       + CommonConstants.COMMA
-                       + SEC
-                       + CommonConstants.COMMA
-                       + NANO
-                       + CommonConstants.COMMA
-                       + EVENT_ID
-                       + CommonConstants.COMMA
-                       + EVENT_TYPE
-                       + CommonConstants.COMMA
-                       + EVENT_CODE
-                       + CommonConstants.COMMA
-                       + EVENT_VALUE
+       private static final String SELECT_QUERY = "select " + RID + CommonConstants.COMMA + SEQ
+                       + CommonConstants.COMMA + TIME + CommonConstants.COMMA + SEC + CommonConstants.COMMA
+                       + NANO + CommonConstants.COMMA + EVENT_ID + CommonConstants.COMMA + EVENT_TYPE
+                       + CommonConstants.COMMA + EVENT_CODE + CommonConstants.COMMA + EVENT_VALUE
                        + " from " + TABLENAME + " order by " + TIME + CommonConstants.COMMA + RID; //$NON-NLS-1$
        private static final String DELETE_QUERY = "delete from " + TABLENAME;
 
@@ -88,26 +74,20 @@ public class ReplayDBManager extends DBTable {
        }
 
        public ReplayDBManager() {
-               addColumn(new DBColumn(RID, DBConstants.PRIMARY_KEY,
-                               DBConstants.INTEGER));
+               addColumn(new DBColumn(RID, DBConstants.PRIMARY_KEY, DBConstants.INTEGER));
                addColumn(new DBColumn(SEQ, DBConstants.NOT_NULL, DBConstants.INTEGER));
                addColumn(new DBColumn(TIME, DBConstants.NOT_NULL, DBConstants.LONG));
                addColumn(new DBColumn(SEC, DBConstants.NOT_NULL, DBConstants.INTEGER));
                addColumn(new DBColumn(NANO, DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(EVENT_ID, DBConstants.NOT_NULL,
-                               DBConstants.INTEGER));
-               addColumn(new DBColumn(EVENT_TYPE, DBConstants.NOT_NULL,
-                               DBConstants.INTEGER));
-               addColumn(new DBColumn(EVENT_CODE, DBConstants.NOT_NULL,
-                               DBConstants.INTEGER));
-               addColumn(new DBColumn(EVENT_VALUE, DBConstants.NOT_NULL,
-                               DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_ID, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_TYPE, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_CODE, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_VALUE, DBConstants.NOT_NULL, DBConstants.INTEGER));
        }
 
-       public ReplayData getReplayLogs(boolean isReplay) {
+       public ReplayData getReplayLogs() {
 
-               List<List<Object>> result = SqlConnectionManager
-                               .executeQuery(SELECT_QUERY);
+               List<List<Object>> result = SqlConnectionManager.executeQuery(SELECT_QUERY);
                if (null == result || result.size() == 0 || result.get(0).size() == 0) {
                        return null;
                }
@@ -147,24 +127,15 @@ public class ReplayDBManager extends DBTable {
                        isPrepared = false;
                } else {
                        try {
-                               prep.setInt(DB_RID_INDEX + 1,
-                                               (Integer) (rowData.get(DB_RID_INDEX)));
-                               prep.setInt(DB_SEQ_INDEX + 1,
-                                               (Integer) (rowData.get(DB_SEQ_INDEX)));
-                               prep.setLong(DB_TIME_INDEX + 1,
-                                               (Long) (rowData.get(DB_TIME_INDEX)));
-                               prep.setInt(DB_SEC_INDEX + 1,
-                                               (Integer) (rowData.get(DB_SEC_INDEX)));
-                               prep.setInt(DB_NANO_INDEX + 1,
-                                               (Integer) (rowData.get(DB_NANO_INDEX)));
-                               prep.setInt(DB_EVENT_ID_INDEX + 1,
-                                               (Integer) (rowData.get(DB_EVENT_ID_INDEX)));
-                               prep.setInt(DB_EVENT_TYPE_INDEX + 1,
-                                               (Integer) (rowData.get(DB_EVENT_TYPE_INDEX)));
-                               prep.setInt(DB_EVENT_CODE_INDEX + 1,
-                                               (Integer) (rowData.get(DB_EVENT_CODE_INDEX)));
-                               prep.setInt(DB_EVENT_VALUE + 1,
-                                               (Integer) (rowData.get(DB_EVENT_VALUE)));
+                               prep.setInt(DB_RID_INDEX + 1, (Integer) (rowData.get(DB_RID_INDEX)));
+                               prep.setInt(DB_SEQ_INDEX + 1, (Integer) (rowData.get(DB_SEQ_INDEX)));
+                               prep.setLong(DB_TIME_INDEX + 1, (Long) (rowData.get(DB_TIME_INDEX)));
+                               prep.setInt(DB_SEC_INDEX + 1, (Integer) (rowData.get(DB_SEC_INDEX)));
+                               prep.setInt(DB_NANO_INDEX + 1, (Integer) (rowData.get(DB_NANO_INDEX)));
+                               prep.setInt(DB_EVENT_ID_INDEX + 1, (Integer) (rowData.get(DB_EVENT_ID_INDEX)));
+                               prep.setInt(DB_EVENT_TYPE_INDEX + 1, (Integer) (rowData.get(DB_EVENT_TYPE_INDEX)));
+                               prep.setInt(DB_EVENT_CODE_INDEX + 1, (Integer) (rowData.get(DB_EVENT_CODE_INDEX)));
+                               prep.setInt(DB_EVENT_VALUE + 1, (Integer) (rowData.get(DB_EVENT_VALUE)));
                        } catch (SQLException e) {
                                e.printStackTrace();
                                isPrepared = false;
index 4c95ef0..1ec9e1f 100755 (executable)
@@ -107,8 +107,7 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                                e.gc.setForeground(ColorResources.BUTTON_OUTLINE_HOVER_IN_COLOR);
                                Text text = (Text) e.widget;
                                Rectangle rect = text.getClientArea();
-                               e.gc.drawRectangle(rect.x, rect.y, rect.width - 1,
-                                               rect.height - 1);
+                               e.gc.drawRectangle(rect.x, rect.y, rect.width - 1, rect.height - 1);
                        }
                });
 
@@ -125,8 +124,7 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                                e.gc.setForeground(ColorResources.DIALOG_SUNKEN_1);
                                e.gc.drawLine(rect.x, rect.y, rect.x + rect.width, rect.y);
                                e.gc.setForeground(ColorResources.DIALOG_SUNKEN_2);
-                               e.gc.drawLine(rect.x, rect.y + 1, rect.x + rect.width,
-                                               rect.y + 1);
+                               e.gc.drawLine(rect.x, rect.y + 1, rect.x + rect.width, rect.y + 1);
                        }
                });
 
@@ -172,16 +170,13 @@ public class RepalyEditSaveDialog extends DAMessageBox {
        }
 
        private DACustomButtonClickEventListener okButtonListener = new DACustomButtonClickEventListener() {
-
                @Override
                public void handleClickEvent(DACustomButton button) {
                        saveFileName = textBox.getText();
-
                        if (saveFileName.length() > MAX_SAVE_FILE_NAME_LENGTH) {
                                String old = saveFileName;
                                saveFileName = old.substring(0, MAX_SAVE_FILE_NAME_LENGTH - 1);
                        }
-
                        if (executeSaveTrace()) {
                                result = AnalyzerConstants.SUCCESS;
                        }
@@ -190,14 +185,12 @@ public class RepalyEditSaveDialog extends DAMessageBox {
        };
 
        private DACustomButtonClickEventListener cancelButtonListener = new DACustomButtonClickEventListener() {
-
                @Override
                public void handleClickEvent(DACustomButton button) {
                        shell.dispose();
                }
        };
        private KeyListener keyListener = new KeyListener() {
-
                @Override
                public void keyReleased(KeyEvent e) {
                        if (!checkValidFileName(textBox.getText())) {
@@ -209,7 +202,6 @@ public class RepalyEditSaveDialog extends DAMessageBox {
 
                @Override
                public void keyPressed(KeyEvent e) {
-
                }
        };
 
@@ -231,12 +223,10 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                        dialog.open();
                        return null;
                }
-
                if (null == splitSourcePath) {
                        return null;
                }
-               String saveFileName = new String(
-                               splitSourcePath[splitSourcePath.length - 1]);
+               String saveFileName = new String(splitSourcePath[splitSourcePath.length - 1]);
                if (null == saveFileName || saveFileName.isEmpty()) {
                        return null;
                }
@@ -247,11 +237,9 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                Project project = Global.getProject();
                String sourcePath = project.getSavePath();
                targetPath = PathManager.DA_SAVE_PATH + File.separator + saveFileName;
-
                if (Global.getProject().getSavePath().equals(targetPath)) {
                        return true;
                }
-
                File sourceFolder = new File(sourcePath);
                if (!sourceFolder.isDirectory()) {
                        if (!sourceFolder.mkdirs()) {
@@ -259,7 +247,6 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                                return false;
                        }
                }
-
                File targetFolder = new File(targetPath);
                if (!targetFolder.isDirectory()) {
                        if (!targetFolder.mkdirs()) {
@@ -276,8 +263,7 @@ public class RepalyEditSaveDialog extends DAMessageBox {
                if (str == null
                                || str.isEmpty()
                                || str.contains("\\") //$NON-NLS-1$
-                               || str.contains(CommonConstants.SLASH)
-                               || str.contains(CommonConstants.COLON)
+                               || str.contains(CommonConstants.SLASH) || str.contains(CommonConstants.COLON)
                                || str.contains(CommonConstants.ASTERISK)
                                || str.contains("\\?") || str.contains("\"") //$NON-NLS-1$ //$NON-NLS-2$
                                || str.contains("<") || str.contains(">") //$NON-NLS-1$ //$NON-NLS-2$
index 8b7caa0..6c23860 100644 (file)
@@ -43,6 +43,8 @@ import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
 import org.tizen.dynamicanalyzer.shortcut.ShortCutManager;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditSaveDataMaker;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditTableDataMaker;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
 import org.tizen.dynamicanalyzer.util.Logger;
 import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
@@ -63,9 +65,10 @@ public class ReplayEditDialog extends DAMessageBox {
 
                @Override
                public void handleClickEvent(DACustomButton button) {
-                       ReplayEditDialogDataManager.getInstance().setTableItemsList(
+//                     ReplayEditSaveDataMaker.getInstance().saveData();
+                       ReplayEditSaveDataMaker.getInstance().setTableItemsList(
                                        replayTable);
-                       ReplayEditDialogDataManager.getInstance().insertDB();
+                       ReplayEditSaveDataMaker.getInstance().insertDB();
                        shell.dispose();
                }
        };
@@ -81,7 +84,7 @@ public class ReplayEditDialog extends DAMessageBox {
                if (opened) {
                        return false;
                }
-               ReplayEditDialogDataManager.getInstance().clean();
+               ReplayEditTableDataMaker.getInstance().clean();
                shell.setSize(608, 480);
                shell.setLayout(new FormLayout());
                shell.setText(AnalyzerLabels.REPLAYEDIT);
@@ -168,24 +171,25 @@ public class ReplayEditDialog extends DAMessageBox {
                buttonData.height = 28;
                cancelButton.setLayoutData(buttonData);
 
-               ReplayEditDialogDataManager.getInstance().setOkButton(
+               ReplayEditTableDataMaker.getInstance().setOkButton(
                                new DAButton(buttonContentsComp, SWT.NONE));
-               ReplayEditDialogDataManager.getInstance().getOkButton()
+               ReplayEditTableDataMaker.getInstance().getOkButton()
                                .addClickListener(okButtonListener);
-               ReplayEditDialogDataManager.getInstance().getOkButton()
+               ReplayEditTableDataMaker.getInstance().getOkButton()
                                .setText(ReplayEditLabels.OK);
-               ReplayEditDialogDataManager.getInstance().getOkButton()
+               ReplayEditTableDataMaker.getInstance().getOkButton()
                                .setFont(FontResources.DIALOG_BUTTON_FONT);
                buttonData = new FormData();
                buttonData.right = new FormAttachment(cancelButton, -8);
                buttonData.top = new FormAttachment(0, 11);
                buttonData.width = 100;
                buttonData.height = 28;
-               ReplayEditDialogDataManager.getInstance().getOkButton()
+               ReplayEditTableDataMaker.getInstance().getOkButton()
                                .setLayoutData(buttonData);
 
                opened = true;
                ShortCutManager.getInstance().setEnabled(!opened);
+               
                return true;
        }
 
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java
deleted file mode 100644 (file)
index 49621d4..0000000
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- *  Dynamic Analyzer
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: 
- * HyunJong Park <phjwithyou.park@samsung.com>
- * Juyoung Kim <j0.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Contributors:
- * - S-Core Co., Ltd
- * 
- */
-package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.widgets.Shell;
-import org.tizen.dynamicanalyzer.common.Global;
-import org.tizen.dynamicanalyzer.constant.CommonConstants;
-import org.tizen.dynamicanalyzer.nl.ReplayEditLabels;
-import org.tizen.dynamicanalyzer.swap.model.DATime;
-import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
-import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
-import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
-import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
-import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
-import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
-
-public class ReplayEditDialogDataManager {
-       private DACustomButton saveButton = null;
-       private DACustomButton okButton = null;
-       private static final int tmpSeqForEventLogFormatSize = 0000;
-       public static String MODIFIABILITY_TRUE = "MODIFIABILITY_TRUE ";
-       public static String SELECTED_ITEM_COPY = "SELECTED_ITEM_COPY ";
-       public static String SELECTED_ITEM_KEY_INPUT = "SELECTED_ITEM_KEY_INPUT ";
-       public static String ITEM_TIME_VAILD_FALSE = "ITEM_TIME_VAILD_FALSE ";
-
-       private static final int TOUCH_EVENT_CODE_MOUSED_DOWN_START = 57;
-       private static final int TOUCH_EVENT_CODE_SECOND_ITEM = 48;
-       private static final int TOUCH_EVENT_CODE_X = 53;
-       private static final int TOUCH_EVENT_CODE_Y = 54;
-       private static final int TOUCH_EVENT_CODE_MOUSED_UP_START = 57;
-       private static final int TOUCH_EVENT_VALUE_SECOND_ITEM = 10;
-
-       private static final int KEY = 1;
-       private static final int TOUCH = 3;
-       private static final int KEY_MENU = 169;
-       private static final int KEY_HOME = 139;
-       private static final int KEY_BACK = 158;
-       private static final int KEY_POWER = 116;
-       private static final int KEY_VOLUME_UP = 115;
-       private static final int KEY_VOLUME_DOWN = 114;
-
-       private static final int EVENT_MOUSE_DOWN_TIME_TABLE_INDEX = 1;
-       private static final int EVENT_MOUSE_UP_TIME_TABLE_INDEX = 2;
-       private static final int EVENT_TYPE_TABLE_INDEX = 3;
-       private static final int EVENT_VALUE1_TABLE_INDEX = 4;
-       private static final int EVENT_VALUE2_TABLE_INDEX = 5;
-
-       private int insertDBRid = 0;
-       private int insertkeySequence = 1;
-
-       private static ReplayEditDialogDataManager instance = null;
-       private ReplayData replayDBData = null;
-       private List<ReplayEditTableData> replayModifyDataList = null;
-       private List<List<String>> tableItemsList = null;
-
-       public static ReplayEditDialogDataManager getInstance() {
-               if (null == instance) {
-                       instance = new ReplayEditDialogDataManager();
-               }
-               return instance;
-       }
-
-       public void clean() {
-               replayModifyDataList = null;
-               replayDBData = null;
-               tableItemsList = null;
-       }
-
-       public ReplayData getReplayDBData() {
-               if (null == replayDBData) {
-                       replayDBData = new ReplayData();
-                       replayDBData = ReplayDataManager.getInstance().getReplayDBManager()
-                                       .getReplayLogs(false);
-               }
-               return replayDBData;
-       }
-
-       public void setReplayDBData(ReplayData replayData) {
-               this.replayDBData = replayData;
-       }
-
-       public List<ReplayEditTableData> getReplayModifyData() {
-               if (null == replayModifyDataList) {
-                       replayModifyDataList = new ArrayList<ReplayEditTableData>();
-                       ReplayData replayData = getReplayDBData();
-                       if (null != replayData) {
-                               makeReplayEditData(replayModifyDataList, replayData);
-                       }
-               }
-               return replayModifyDataList;
-       }
-
-       private ReplayEditTableData getLastReplayEditTableData() {
-               if (getReplayModifyData().size() > 0) {
-                       return getReplayModifyData().get(getReplayModifyData().size() - 1);
-               }
-               return null;
-       }
-
-       private void makeReplayEditData(List<ReplayEditTableData> editList,
-                       ReplayData dbData) {
-               int size = dbData.getRecordEvent().size();
-               for (int i = 0; i < size; i++) {
-                       RecordEventObject reo = dbData.getRecordEvent().get(i);
-                       if (reo.getEventType() == 0) { // event end log
-                               continue;
-                       }
-                       if (isEventMouseUpTime(reo)) { // mouse up Time
-                               updateEventMouseUpTime(reo.getTime());
-                               continue;
-                       }
-                       ReplayEditTableData data = makeEditTableData(reo);
-                       if (null != data) {
-                               editList.add(data);
-                       }
-               }
-       }
-
-       private boolean isEventMouseUpTime(RecordEventObject reo) {
-               boolean isEventMouseUpTime = false;
-               switch (reo.getEventType()) {
-               case KEY: {
-                       if (reo.getEventType() == 1 && reo.getEventValue() == 0) {
-                               isEventMouseUpTime = true;
-                       }
-                       break;
-               }
-               case TOUCH: {
-                       if (reo.getEventValue() == -1) {
-                               isEventMouseUpTime = true;
-                       }
-                       break;
-               }
-               default: {
-                       break;
-               }
-               }
-               return isEventMouseUpTime;
-       }
-
-       private void updateEventMouseUpTime(long time) {
-               if (null != getLastReplayEditTableData()) {
-                       getLastReplayEditTableData().setEventMouseUpTime(time);
-               }
-       }
-
-       private ReplayEditTableData makeEditTableData(RecordEventObject reo) {
-               ReplayEditTableData replayType = null;
-
-               switch (reo.getEventType()) {
-               case KEY: {
-
-                       replayType = new ReplayEditTableData();
-                       replayType.setEventMouseDownTime(reo.getTime());
-                       replayType.setStrEventType(setEventType(reo.getEventType()));
-                       replayType.setStrEventValue1(setEventValue1(reo.getEventCode()));
-                       replayType.setStrEventValue2(CommonConstants.DASH);
-                       replayType.setEventRid(reo.getId());
-                       break;
-               }
-               case TOUCH: {
-                       if (reo.getEventCode() == TOUCH_EVENT_CODE_MOUSED_DOWN_START
-                                       && reo.getEventValue() != -1) {
-                               replayType = new ReplayEditTableData();
-                               replayType.setEventMouseDownTime(reo.getTime());
-                               replayType.setStrEventType(setEventType(reo.getEventType()));
-                               replayType.setEventRid(reo.getId());
-                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_X) {
-                               if (getReplayModifyData().size() > 0) {
-                                       getReplayModifyData().get(getReplayModifyData().size() - 1)
-                                                       .setStrEventValue1(
-                                                                       ReplayEditLabels.CONTEXT_VALUE_X
-                                                                                       + Integer.toString(reo
-                                                                                                       .getEventValue()));
-                               }
-                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_Y) {
-                               if (getReplayModifyData().size() > 0) {
-                                       getReplayModifyData().get(getReplayModifyData().size() - 1)
-                                                       .setStrEventValue2(
-                                                                       ReplayEditLabels.CONTEXT_VALUE_Y
-                                                                                       + Integer.toString(reo
-                                                                                                       .getEventValue()));
-                               }
-                       }
-                       break;
-               }
-               default: {
-
-               }
-               }
-               return replayType;
-       }
-
-       private String setEventType(int type) {
-               String strType = CommonConstants.EMPTY;
-               switch (type) {
-               case KEY: {
-                       strType = ReplayEditLabels.CONTEXT_KEY;
-                       break;
-               }
-               case TOUCH: {
-                       strType = ReplayEditLabels.CONTEXT_TOUCH;
-                       break;
-               }
-               default: {
-
-               }
-               }
-               return strType;
-       }
-
-       private String setEventValue1(int type) {
-               String strType = CommonConstants.EMPTY;
-               switch (type) {
-               case KEY_MENU: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_MENU;
-                       break;
-               }
-               case KEY_HOME: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_HOME;
-                       break;
-               }
-               case KEY_BACK: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_BACK;
-                       break;
-               }
-               case KEY_POWER: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_POWER;
-                       break;
-               }
-               case KEY_VOLUME_DOWN: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN;
-                       break;
-               }
-               case KEY_VOLUME_UP: {
-                       strType = ReplayEditLabels.CONTEXT_KEY_VOLUME_UP;
-                       break;
-               }
-               default: {
-
-               }
-               }
-               return strType;
-       }
-
-       public void saveDialog() {
-               Shell shell = WorkbenchUtil.getWorkbenchWindow().getShell();
-               RepalyEditSaveDialog dialog = new RepalyEditSaveDialog(shell);
-               Object result = dialog.open();
-               if (null != result) {
-                       insertDB();
-               }
-       }
-
-       public void insertDB() {
-               ReplayDataManager.getInstance().getReplayDBManager()
-                               .deleteReplayTableItems();
-               insertDBData();
-       }
-
-       private void cleanInsertData() {
-               insertDBRid = 0;
-               insertkeySequence = 1;
-       }
-
-       private void insertDBData() {
-               cleanInsertData();
-               int size = getTableItemsList().size();
-               for (int i = 0; i < size; i++) {
-                       List<String> item = getTableItemsList().get(i);
-                       List<List<Object>> dataList = new ArrayList<List<Object>>();
-                       if (item.get(EVENT_TYPE_TABLE_INDEX).equals(
-                                       ReplayEditLabels.CONTEXT_TOUCH)) {
-                               dataList = makeDBTouchData(item);
-                       } else if (item.get(EVENT_TYPE_TABLE_INDEX).equals(
-                                       ReplayEditLabels.CONTEXT_KEY)) {
-                               dataList = makeDBKeyData(item);
-                       }
-                       if (dataList.size() > 0) {
-                               ReplayDataManager.getInstance().getReplayDBManager()
-                                               .insertData(dataList);
-                       }
-               }
-       }
-
-       public String getDBTime(String time) {
-               String strTime = time;
-               if (strTime.equals(CommonConstants.EMPTY)) {
-                       return CommonConstants.EMPTY;
-               }
-               if (strTime.contains(ReplayEditLabels.CONTEXT_VALUE_S)) {
-                       strTime = time.replace(ReplayEditLabels.CONTEXT_VALUE_S,
-                                       CommonConstants.EMPTY);
-               }
-
-               if (strTime.contains(CommonConstants.DOT)) {
-                       strTime = strTime.replace(CommonConstants.DOT,
-                                       CommonConstants.EMPTY);
-               }
-               strTime += 10000;
-               return strTime;
-       }
-
-       private int getDBPoint(String point) {
-               String strPoint = point;
-               if (strPoint.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
-                       strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_X,
-                                       CommonConstants.EMPTY);
-               }
-
-               if (strPoint.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
-                       strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_Y,
-                                       CommonConstants.EMPTY);
-               }
-               return Integer.parseInt(strPoint.trim());
-       }
-
-       public long getTimeValue(long sec, long nano) {
-               DATime startTime = Global.getProject().getProfilingStartTime();
-               long startSec = startTime.getSec();
-               long startNano = startTime.getNano();
-               long resultSec = sec - startSec;
-               long resultNano = nano - startNano;
-               long time = resultSec * 1000 * 1000 + resultNano / 1000;
-               return time;
-       }
-
-       private DATime getDATimeValue(long time) {
-               DATime startTime = Global.getProject().getProfilingStartTime();
-               long startSec = startTime.getSec();
-               long startNano = startTime.getNano();
-               long delaySec = time / (1000 * 1000);
-               long delayNano = time % (1000 * 1000);
-
-               long eventTimeSec = startSec + delaySec;
-               long eventTimeNano = delayNano * 1000 + startNano;
-
-               if (eventTimeNano > 1000 * 1000 * 1000) {
-                       eventTimeSec++;
-                       delaySec++;
-                       eventTimeNano = ((time - (delaySec * 1000 * 1000)) * 1000)
-                                       + startNano;
-               }
-               DATime resultTime = new DATime();
-               resultTime.setSec((int) eventTimeSec);
-               resultTime.setNano((int) eventTimeNano);
-               // Long resultLongtime = getTimeValue(eventTimeSec, eventTimeNano);
-               // System.out.println("time : " + time + " resultLongtime : "
-               // + resultLongtime + " secTime : " + eventTimeSec
-               // + " nanoTime : " + eventTimeNano);
-               return resultTime;
-       }
-
-       private int getKeyValue(List<String> item) {
-               String keyValue = item.get(EVENT_VALUE1_TABLE_INDEX);
-               int nKey = 0;
-               if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_MENU)) {
-                       nKey = 169;
-               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_HOME)) {
-                       nKey = 139;
-               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_BACK)) {
-                       nKey = 158;
-               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_POWER)) {
-                       nKey = 116;
-               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN)) {
-                       nKey = 115;
-               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_VOLUME_UP)) {
-                       nKey = 114;
-               }
-               return nKey;
-       }
-
-       private List<List<Object>> makeDBKeyData(List<String> item) {
-               String itemMouseDownTime = getDBTime(item
-                               .get(EVENT_MOUSE_DOWN_TIME_TABLE_INDEX));
-               String itemMouseUpTime = getDBTime(item
-                               .get(EVENT_MOUSE_UP_TIME_TABLE_INDEX));
-               if (itemMouseUpTime.equals(CommonConstants.EMPTY)) {
-                       itemMouseUpTime = itemMouseDownTime;
-               }
-               int itemValue1 = getKeyValue(item);
-               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
-               DATime mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
-               int mouseDownTimeSec = mouseDownTime.getSec();
-               int mouseDownTimeNano = mouseDownTime.getNano();
-               int mouseUpTimeSec = mouseUpTime.getSec();
-               int mouseUpTimeNano = mouseUpTime.getNano();
-
-               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
-               for (int i = 0; i < 4; i++) {
-                       List<Object> keyData = new ArrayList<Object>();
-                       if (i == 0) {
-                               keyData.add(mouseDownTimeSec + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTimeSec);
-                               keyData.add(mouseDownTimeNano);
-                               keyData.add(1);
-                               keyData.add(KEY);
-                               keyData.add(itemValue1);
-                               keyData.add(1);
-                       } else if (i == 1) {
-                               keyData.add(mouseDownTimeSec + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTimeSec);
-                               keyData.add(mouseDownTimeNano);
-                               keyData.add(1);
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                       } else if (i == 2) {
-                               keyData.add(mouseUpTimeSec + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseUpTimeSec);
-                               keyData.add(mouseUpTimeNano);
-                               keyData.add(1);
-                               keyData.add(KEY);
-                               keyData.add(itemValue1);
-                               keyData.add(0);
-                       } else if (i == 3) {
-                               keyData.add(mouseUpTimeSec + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseUpTimeSec);
-                               keyData.add(mouseUpTimeNano);
-                               keyData.add(1);
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                       }
-                       dbKeyDataList.add(keyData);
-               }
-               return dbKeyDataList;
-       }
-
-       private List<List<Object>> makeDBTouchData(List<String> item) {
-               String itemMouseDownTime = getDBTime(item
-                               .get(EVENT_MOUSE_DOWN_TIME_TABLE_INDEX));
-               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
-
-               DATime mouseUpTime = null;
-               int makeLogCount = 7;
-               String itemMouseUpTime = getDBTime(item
-                               .get(EVENT_MOUSE_UP_TIME_TABLE_INDEX));
-               if (itemMouseUpTime.equals(CommonConstants.EMPTY)) {
-                       makeLogCount = 5;
-               } else {
-                       mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
-
-               }
-
-               String itemValue1 = item.get(EVENT_VALUE1_TABLE_INDEX).trim();
-               String itemValue2 = item.get(EVENT_VALUE2_TABLE_INDEX).trim();
-
-               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
-               for (int i = 0; i < makeLogCount; i++) {
-                       List<Object> keyData = new ArrayList<Object>();
-                       if (i == 0) {
-                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTime.getSec());
-                               keyData.add(mouseDownTime.getNano());
-                               keyData.add(0);
-                               keyData.add(TOUCH);
-                               keyData.add(TOUCH_EVENT_CODE_MOUSED_DOWN_START);
-                               keyData.add(insertkeySequence++);
-                       } else if (i == 1) {
-                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTime.getSec());
-                               keyData.add(mouseDownTime.getNano());
-                               keyData.add(0);
-                               keyData.add(TOUCH);
-                               keyData.add(TOUCH_EVENT_CODE_SECOND_ITEM);
-                               keyData.add(TOUCH_EVENT_VALUE_SECOND_ITEM);
-                       } else if (i == 2) {
-                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTime.getSec());
-                               keyData.add(mouseDownTime.getNano());
-                               keyData.add(0);
-                               keyData.add(TOUCH);
-                               keyData.add(TOUCH_EVENT_CODE_X);
-                               keyData.add(getDBPoint(itemValue1));
-                       } else if (i == 3) {
-                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTime.getSec());
-                               keyData.add(mouseDownTime.getNano());
-                               keyData.add(0);
-                               keyData.add(TOUCH);
-                               keyData.add(TOUCH_EVENT_CODE_Y);
-                               keyData.add(getDBPoint(itemValue2));
-                       } else if (i == 4) {
-                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseDownTime.getSec());
-                               keyData.add(mouseDownTime.getNano());
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                       } else if (i == 5) {
-                               keyData.add(mouseUpTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseUpTime.getSec());
-                               keyData.add(mouseUpTime.getNano());
-                               keyData.add(0);
-                               keyData.add(TOUCH);
-                               keyData.add(TOUCH_EVENT_CODE_MOUSED_UP_START);
-                               keyData.add(-1);
-                       } else if (i == 6) {
-                               keyData.add(mouseUpTime.getSec() + insertDBRid++);
-                               keyData.add(tmpSeqForEventLogFormatSize);
-                               keyData.add(Long.parseLong(itemMouseDownTime));
-                               keyData.add(mouseUpTime.getSec());
-                               keyData.add(mouseUpTime.getNano());
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                               keyData.add(0);
-                       }
-                       dbKeyDataList.add(keyData);
-               }
-               return dbKeyDataList;
-       }
-
-       private List<List<String>> getTableItemsList() {
-               if (null == tableItemsList) {
-                       tableItemsList = new ArrayList<List<String>>();
-               }
-               return tableItemsList;
-       }
-
-       public void setTableItemsList(DATableComposite replayComp) {
-               if (null == tableItemsList) {
-                       tableItemsList = new ArrayList<List<String>>();
-               }
-               for (int i = 0; i < replayComp.getTable().getItemCount(); i++) {
-                       List<String> text = new ArrayList<String>();
-                       int size = replayComp.getTable().getColumns().length;
-                       for (int j = 0; j < size + 1; j++) {
-                               text.add(replayComp.getTable().getItem(i).getText(j));
-                       }
-                       tableItemsList.add(text);
-               }
-       }
-
-       public DACustomButton getSaveButton() {
-               return saveButton;
-       }
-
-       public void setSaveButton(DACustomButton saveButton) {
-               this.saveButton = saveButton;
-       }
-
-       public DACustomButton getOkButton() {
-               return okButton;
-       }
-
-       public void setOkButton(DACustomButton okButton) {
-               this.okButton = okButton;
-       }
-
-}
index 808ecca..8a43e67 100644 (file)
@@ -65,12 +65,11 @@ import org.xml.sax.SAXException;
 public class ReplayEditScreenshotDialog extends DAMessageBox {
        private DATableComposite screenshotTable = null;
 
-       int[] sortTypes = { AnalyzerConstants.SORT_TYPE_GRID,
-                       AnalyzerConstants.SORT_TYPE_GRID, AnalyzerConstants.SORT_TYPE_GRID };
-       private String[] columnNames = { CommonConstants.EMPTY,
-                       CommonConstants.EMPTY, CommonConstants.EMPTY };
-       private int[] columnSizes = { ScreenshotConstants.DEFAULT_IMAGE_WIDTH + 15,
-                       0, 0 };
+       int[] sortTypes = { AnalyzerConstants.SORT_TYPE_GRID, AnalyzerConstants.SORT_TYPE_GRID,
+                       AnalyzerConstants.SORT_TYPE_GRID };
+       private String[] columnNames = { CommonConstants.EMPTY, CommonConstants.EMPTY,
+                       CommonConstants.EMPTY };
+       private int[] columnSizes = { ScreenshotConstants.DEFAULT_IMAGE_WIDTH + 15, 0, 0 };
        private boolean[] columnVisibility = { true, true, true };
 
        protected GridItem item = null;
@@ -99,9 +98,8 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                tableComp.setLayoutData(data);
                tableComp.setBackground(ColorResources.DIALOG_BG_UPPER);
 
-               screenshotTable = new ReplayEditScreenshotTable(tableComp, SWT.NONE
-                               | SWT.V_SCROLL | SWT.SINGLE,
-                               getSavedPouchPoint(item.getText(4)),
+               screenshotTable = new ReplayEditScreenshotTable(tableComp, SWT.NONE | SWT.V_SCROLL
+                               | SWT.SINGLE, getSavedPouchPoint(item.getText(4)),
                                getSavedPouchPoint(item.getText(5)));
                screenshotTable.setTableName(ReplayEditLabels.TABLE_TITLE);
                screenshotTable.setComparator(new DefaultTableComparator());
@@ -110,8 +108,7 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                screenshotTable.setColumnSize(columnSizes);
                screenshotTable.setColumnVisibility(columnVisibility);
                screenshotTable.setTableToolTipEnable(false);
-               screenshotTable.getTable().addSelectionListener(
-                               featureTableSelectionListener);
+               screenshotTable.getTable().addSelectionListener(featureTableSelectionListener);
                screenshotTable.getTable().addMouseListener(mouseListener);
                screenshotTable.getTable().setHeaderVisible(false);
                data = new FormData();
@@ -120,8 +117,7 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                data.right = new FormAttachment(100, 0);
                data.bottom = new FormAttachment(100, 0);
                screenshotTable.setLayoutData(data);
-               screenshotTable.getTable().setItemHeight(
-                               ScreenshotConstants.DEFAULT_IMAGE_HEIGHT);
+               screenshotTable.getTable().setItemHeight(ScreenshotConstants.DEFAULT_IMAGE_HEIGHT);
 
                screenshotTable.updateTable();
 
@@ -171,10 +167,8 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                                int x = (imgClickX * imgWidth) / drawImagWidth;
                                int y = ((imgClickY * imgHeight) / drawImagHeight) + 40;
                                // System.out.println("x : " + x + " y : " + y);
-                               item.setText(4,
-                                               ReplayEditLabels.CONTEXT_VALUE_X + Integer.toString(x));
-                               item.setText(5,
-                                               ReplayEditLabels.CONTEXT_VALUE_Y + Integer.toString(y));
+                               item.setText(4, ReplayEditLabels.CONTEXT_VALUE_X + Integer.toString(x));
+                               item.setText(5, ReplayEditLabels.CONTEXT_VALUE_Y + Integer.toString(y));
                                shell.dispose();
                        }
                }
@@ -185,30 +179,31 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
        };
 
        public int getSavedPouchPoint(String value) {
-               getDeviceResolution();
                int point = 0;
+               if (getDeviceResolution() == false) {
+                       return point;
+               }
+
                if (value.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
-                       point = Integer.parseInt(value.replace(
-                                       ReplayEditLabels.CONTEXT_VALUE_X, CommonConstants.EMPTY));
+                       point = Integer.parseInt(value.replace(ReplayEditLabels.CONTEXT_VALUE_X,
+                                       CommonConstants.EMPTY));
                        point = (point * ScreenshotConstants.DEFAULT_IMAGE_WIDTH)
                                        / Integer.parseInt(resolutionWidth);
                }
                if (value.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
-                       point = Integer.parseInt(value.replace(
-                                       ReplayEditLabels.CONTEXT_VALUE_Y, CommonConstants.EMPTY));
+                       point = Integer.parseInt(value.replace(ReplayEditLabels.CONTEXT_VALUE_Y,
+                                       CommonConstants.EMPTY));
                        point = (point * ScreenshotConstants.DEFAULT_IMAGE_HEIGHT)
                                        / Integer.parseInt(resolutionHeight);
                }
                return point;
        }
 
-       private void getDeviceResolution() {
-               String selDeviceName = Global.getCurrentDeviceInfo()
-                               .getIDevice().getDeviceName();
-               String resolutionInfoXmlPath = PathManager.TIZEN_SDK_DATA_PATH
-                               + File.separator + "emulator-vms" + File.separator + "vms"//$NON-NLS-1$
-                               + File.separator + selDeviceName + File.separator
-                               + "vm_config.xml";//$NON-NLS-1$
+       private boolean getDeviceResolution() {
+               String selDeviceName = Global.getCurrentDeviceInfo().getIDevice().getDeviceName();
+               String resolutionInfoXmlPath = PathManager.TIZEN_SDK_DATA_PATH + File.separator
+                               + "emulator-vms" + File.separator + "vms"//$NON-NLS-1$
+                               + File.separator + selDeviceName + File.separator + "vm_config.xml";//$NON-NLS-1$
 
                DocumentBuilder builder = null;
                Document doc = null;
@@ -228,7 +223,7 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                }
 
                if (null == doc) {
-                       return;
+                       return false;
                }
 
                Element root = doc.getDocumentElement();
@@ -239,20 +234,18 @@ public class ReplayEditScreenshotDialog extends DAMessageBox {
                NodeList displayNode = deviceElement.getElementsByTagName("display");//$NON-NLS-1$
                Element displayElement = (Element) displayNode.item(0);
 
-               NodeList resolutionNode = displayElement
-                               .getElementsByTagName("resolution");//$NON-NLS-1$
+               NodeList resolutionNode = displayElement.getElementsByTagName("resolution");//$NON-NLS-1$
                Element resolutionElement = (Element) resolutionNode.item(0);
 
-               NodeList widthNodeList = resolutionElement
-                               .getElementsByTagName("width");//$NON-NLS-1$
+               NodeList widthNodeList = resolutionElement.getElementsByTagName("width");//$NON-NLS-1$
                Element widthElement = (Element) widthNodeList.item(0);
                Node widthNode = widthElement.getFirstChild();
                resolutionWidth = widthNode.getNodeValue();
-               NodeList heightNodeList = resolutionElement
-                               .getElementsByTagName("height");//$NON-NLS-1$
+               NodeList heightNodeList = resolutionElement.getElementsByTagName("height");//$NON-NLS-1$
                Element heightElement = (Element) heightNodeList.item(0);
                Node heightNode = heightElement.getFirstChild();
                resolutionHeight = heightNode.getNodeValue();
+               return true;
        }
 
 }
\ No newline at end of file
index 13b1f7d..d0b586b 100644 (file)
@@ -117,7 +117,7 @@ public class ReplayEditScreenshotTable extends DATableComposite {
                for (int i = 0; i < size; i++) {
                        GridColumn column = new GridColumn(table, SWT.NONE);
                        column.setText(columnNames[i]);
-                       column.setCellRenderer(new ReplayEditSnapShopTableCellRenderer());
+                       column.setCellRenderer(new ReplayEditScreenshotTableCellRenderer());
                        column.setHeaderRenderer(new DATableHeaderRenderer());
                        column.pack();
 
@@ -42,7 +42,7 @@ import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
 import org.tizen.dynamicanalyzer.util.Logger;
 
-public class ReplayEditSnapShopTableCellRenderer extends DefaultCellRenderer {
+public class ReplayEditScreenshotTableCellRenderer extends DefaultCellRenderer {
        @Override
        public void paint(GC gc, Object value) {
                GridItem item = (GridItem) value;
@@ -67,17 +67,16 @@ public class ReplayEditSnapShopTableCellRenderer extends DefaultCellRenderer {
                                        drawBackground = false;
                                }
                        } else {
-                               gc.setBackground(getDisplay().getSystemColor(
-                                               SWT.COLOR_WIDGET_BACKGROUND));
+                               gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
                        }
                }
 
                if (drawBackground && item.getChecked() && getColumn() == 0) {
-                       gc.fillGradientRectangle(getBounds().x, getBounds().y,
-                                       getBounds().width, getBounds().height, true);
+                       gc.fillGradientRectangle(getBounds().x, getBounds().y, getBounds().width,
+                                       getBounds().height, true);
                } else if (drawBackground) {
-                       gc.fillRectangle(getBounds().x, getBounds().y + 1,
-                                       getBounds().width, getBounds().height);
+                       gc.fillRectangle(getBounds().x, getBounds().y + 1, getBounds().width,
+                                       getBounds().height);
                }
        }
 
@@ -99,30 +98,26 @@ public class ReplayEditSnapShopTableCellRenderer extends DefaultCellRenderer {
                                Logger.debug("Wait for receiving image : " + path);
                                img = ImageResources.NO_IMAGE;
                        }
-
                        if (img.isDisposed()) {
                                Logger.debug("before set image : disposed");
                        }
                }
-
                Rectangle bounds = img.getBounds();
                int width = ScreenshotConstants.DEFAULT_IMAGE_WIDTH;
                int height = ScreenshotConstants.DEFAULT_IMAGE_HEIGHT;
 
-               gc.drawImage(img, 0, 0, bounds.width, bounds.height, 0, 0, width,
-                               height);
+               gc.drawImage(img, 0, 0, bounds.width, bounds.height, 0, 0, width, height);
        }
 
        private void paintTableBoardLine(GC gc, GridItem item) {
-               if (item.getParent().getLinesVisible()) {
-                       gc.setForeground(ColorResources.TABLE_LINE);
-                       gc.drawLine(getBounds().x, getBounds().y + getBounds().height,
-                                       getBounds().x + getBounds().width - 1, getBounds().y
-                                                       + getBounds().height);
-                       gc.drawLine(getBounds().x + getBounds().width - 1, getBounds().y,
-                                       getBounds().x + getBounds().width - 1, getBounds().y
-                                                       + getBounds().height);
+               if (!item.getParent().getLinesVisible()) {
+                       return;
                }
+               gc.setForeground(ColorResources.TABLE_LINE);
+               gc.drawLine(getBounds().x, getBounds().y + getBounds().height, getBounds().x
+                               + getBounds().width - 1, getBounds().y + getBounds().height);
+               gc.drawLine(getBounds().x + getBounds().width - 1, getBounds().y, getBounds().x
+                               + getBounds().width - 1, getBounds().y + getBounds().height);
        }
 
        private void paintSavedPoint(GC gc, GridItem item) {
index b2c6881..25344d0 100644 (file)
@@ -43,6 +43,9 @@ import org.tizen.dynamicanalyzer.model.TableInput;
 import org.tizen.dynamicanalyzer.nl.ReplayEditLabels;
 import org.tizen.dynamicanalyzer.resources.FontResources;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditDataType;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditTableData;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditTableDataMaker;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableHeaderRenderer;
 import org.tizen.dynamicanalyzer.util.Logger;
@@ -61,11 +64,6 @@ public class ReplayEditTable extends DATableComposite {
        private int mouseSelectedColumnIndex = -1;
        private int mouseSelectedPreColunmEndX = -1;
 
-       public static final int SEQ_TABLE_INDEX = 0;
-       public static final int DOWN_TIME_TABLE_INDEX = 1;
-       public static final int UP_TIME_TABLE_INDEX = 2;
-       public static final int OPTION_TABLE_INDEX = 6;
-
        private String savedItemTextForReset = CommonConstants.EMPTY;
        private List<String> selectedPreKeyContext = new ArrayList<String>();
        private List<String> selectedPreTouchContext = new ArrayList<String>();
@@ -90,15 +88,14 @@ public class ReplayEditTable extends DATableComposite {
        @Override
        protected List<TableInput> makeTableInput() {
                List<TableInput> input = new ArrayList<TableInput>();
-
-               int size = ReplayEditDialogDataManager.getInstance().getReplayModifyData().size();
-
-               for (int i = 0; i < size; i++) {
+               List<ReplayEditTableData> replayEditorDataList = ReplayEditTableDataMaker.getInstance()
+                               .getReplayEditTableData();
+               if (null == replayEditorDataList) {
+                       return input;
+               }
+               for (int i = 0; i < replayEditorDataList.size(); i++) {
                        List<String> text = new ArrayList<String>();
-
-                       ReplayEditTableData replayTableType = ReplayEditDialogDataManager.getInstance()
-                                       .getReplayModifyData().get(i);
-
+                       ReplayEditTableData replayTableType = replayEditorDataList.get(i);
                        text.add(Integer.toString(i));
                        text.add(replayTableType.getStrEventMouseDownTime());
                        text.add(replayTableType.getStrEventMouseUpTime());
@@ -121,7 +118,6 @@ public class ReplayEditTable extends DATableComposite {
                if (null == input) {
                        return;
                }
-
                int size = input.size();
                for (int i = 0; i < size; i++) {
                        List<String> text = input.get(i).getText();
@@ -136,10 +132,9 @@ public class ReplayEditTable extends DATableComposite {
 
        public ReplayEditTable(Composite parent, int style) {
                super(parent, style);
-               setItemSeqMenu();
-               setTyepMenu();
-               setKeyMenu();
-
+               setMenuItemOfSeqColumn();
+               setMenuItemOfEventType();
+               setMenuItemOfKey();
                table.addListener(SWT.Dispose, tableMouseListener);
                table.addListener(SWT.MouseEnter, tableMouseListener);
                table.addListener(SWT.MouseExit, tableMouseListener);
@@ -148,7 +143,6 @@ public class ReplayEditTable extends DATableComposite {
                table.addListener(SWT.MouseUp, tableMouseListener);
                table.addListener(SWT.MouseDown, tableMouseListener);
                table.addListener(SWT.MouseDoubleClick, tableMouseListener);
-
                table.getShell().getDisplay().addFilter(SWT.KeyUp, new Listener() {
                        @Override
                        public void handleEvent(Event event) {
@@ -163,7 +157,6 @@ public class ReplayEditTable extends DATableComposite {
                        final int MOUSE_LEFT = 1;
                        final int MOUSE_RIGHT = 3;
                        GridItem item = table.getItem(new Point(event.x, event.y));
-
                        if (null == item) {
                                return;
                        }
@@ -192,7 +185,7 @@ public class ReplayEditTable extends DATableComposite {
                                updateSelectedItemIndexValue(item, event);
                                switch (event.button) {
                                case MOUSE_LEFT: {
-                                       if (enablePopupMenuMouseDownIcon(item, event)) {
+                                       if (selectPopupMenuMouseDownIcon(item, event)) {
                                                updateKeyboardInputStatus(item, event);
                                        }
                                        break;
@@ -220,7 +213,7 @@ public class ReplayEditTable extends DATableComposite {
                return text;
        }
 
-       private void replaceTableItems(int index, List<String> itemText) {
+       private void pasteTableItems(int index, List<String> itemText) {
                List<List<String>> gridItemTextList = new ArrayList<List<String>>();
                for (int i = 0; i < table.getItemCount(); i++) {
                        List<String> text = new ArrayList<String>();
@@ -247,7 +240,7 @@ public class ReplayEditTable extends DATableComposite {
                tableRedraw();
        }
 
-       private void addTableItems(int index, List<String> itemText) {
+       private void insertTableItems(int index, List<String> itemText) {
                List<List<String>> gridItemTextList = new ArrayList<List<String>>();
                for (int i = 0; i < table.getItemCount(); i++) {
                        List<String> text = new ArrayList<String>();
@@ -276,34 +269,38 @@ public class ReplayEditTable extends DATableComposite {
        private void updateTableSequenceNumber() {
                int size = table.getItemCount();
                for (int i = 0; i < size; i++) {
-                       table.getItem(i).setText(SEQ_TABLE_INDEX, Integer.toString(i));
+                       table.getItem(i).setText(ReplayEditDataType.SEQ_TABLE_INDEX, Integer.toString(i));
                }
                tableRedraw();
        }
 
        private String getMouseSelectedItemOptionText() {
-               return table.getItem(getMouseSelectedTableItemIndex()).getText(OPTION_TABLE_INDEX);
+               return table.getItem(getMouseSelectedTableItemIndex()).getText(
+                               ReplayEditDataType.OPTION_TABLE_INDEX);
        }
 
        private void setMouseSelectedItemOptionText(String text) {
-               table.getItem(getMouseSelectedTableItemIndex()).setText(OPTION_TABLE_INDEX, text);
+               table.getItem(getMouseSelectedTableItemIndex()).setText(
+                               ReplayEditDataType.OPTION_TABLE_INDEX, text);
        }
 
        private void addMouseSelectedItemOptionText(String text) {
                String optionText = table.getItem(getMouseSelectedTableItemIndex()).getText(
-                               OPTION_TABLE_INDEX);
+                               ReplayEditDataType.OPTION_TABLE_INDEX);
                if (!optionText.contains(text)) {
                        optionText += text;
-                       table.getItem(getMouseSelectedTableItemIndex()).setText(OPTION_TABLE_INDEX, optionText);
+                       table.getItem(getMouseSelectedTableItemIndex()).setText(
+                                       ReplayEditDataType.OPTION_TABLE_INDEX, optionText);
                }
        }
 
        private void removeMouseSelectedItemOptionText(String text) {
                String optionText = table.getItem(getMouseSelectedTableItemIndex()).getText(
-                               OPTION_TABLE_INDEX);
+                               ReplayEditDataType.OPTION_TABLE_INDEX);
                if (optionText.contains(text)) {
                        optionText = optionText.replace(text, CommonConstants.EMPTY);
-                       table.getItem(getMouseSelectedTableItemIndex()).setText(OPTION_TABLE_INDEX, optionText);
+                       table.getItem(getMouseSelectedTableItemIndex()).setText(
+                                       ReplayEditDataType.OPTION_TABLE_INDEX, optionText);
                }
        }
 
@@ -325,7 +322,7 @@ public class ReplayEditTable extends DATableComposite {
                                text);
        }
 
-       private void setItemSeqMenu() {
+       private void setMenuItemOfSeqColumn() {
                popupMenu = new ReplayEditPopupMenu(table);
                popupMenu.setMouseListener();
                popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
@@ -335,13 +332,13 @@ public class ReplayEditTable extends DATableComposite {
                        @Override
                        public void widgetSelected(DAPopupMenuItem menuItem) {
                                copyItemText = getSelectedItemText(getMouseSelectedTableItemIndex());
-                               if (copyItemText.get(OPTION_TABLE_INDEX).contains(
-                                               ReplayEditDialogDataManager.SELECTED_ITEM_COPY)) {
+                               if (copyItemText.get(ReplayEditDataType.OPTION_TABLE_INDEX).contains(
+                                               ReplayEditDataType.SELECTED_ITEM_COPY)) {
                                        copyItemText.set(
-                                                       OPTION_TABLE_INDEX,
-                                                       getReplaceString(copyItemText.get(OPTION_TABLE_INDEX),
-                                                                       ReplayEditDialogDataManager.SELECTED_ITEM_COPY,
-                                                                       CommonConstants.EMPTY));
+                                                       ReplayEditDataType.OPTION_TABLE_INDEX,
+                                                       getReplaceString(
+                                                                       copyItemText.get(ReplayEditDataType.OPTION_TABLE_INDEX),
+                                                                       ReplayEditDataType.SELECTED_ITEM_COPY, CommonConstants.EMPTY));
                                }
                                if (selectedCopyItemIndex >= 0) {
                                        disableCopyItem(selectedCopyItemIndex);
@@ -360,13 +357,13 @@ public class ReplayEditTable extends DATableComposite {
                        @Override
                        public void widgetSelected(DAPopupMenuItem menuItem) {
                                copyItemText = getSelectedItemText(getMouseSelectedTableItemIndex());
-                               if (copyItemText.get(OPTION_TABLE_INDEX).contains(
-                                               ReplayEditDialogDataManager.SELECTED_ITEM_COPY)) {
+                               if (copyItemText.get(ReplayEditDataType.OPTION_TABLE_INDEX).contains(
+                                               ReplayEditDataType.SELECTED_ITEM_COPY)) {
                                        copyItemText.set(
-                                                       OPTION_TABLE_INDEX,
-                                                       getReplaceString(copyItemText.get(OPTION_TABLE_INDEX),
-                                                                       ReplayEditDialogDataManager.SELECTED_ITEM_COPY,
-                                                                       CommonConstants.EMPTY));
+                                                       ReplayEditDataType.OPTION_TABLE_INDEX,
+                                                       getReplaceString(
+                                                                       copyItemText.get(ReplayEditDataType.OPTION_TABLE_INDEX),
+                                                                       ReplayEditDataType.SELECTED_ITEM_COPY, CommonConstants.EMPTY));
                                }
                                if (selectedCutItemIndex >= 0) {
                                        disableCopyItem(selectedCutItemIndex);
@@ -385,11 +382,11 @@ public class ReplayEditTable extends DATableComposite {
                        @Override
                        public void widgetSelected(DAPopupMenuItem menuItem) {
                                if (selectedCopyItemIndex >= 0) {
-                                       replaceTableItems(getMouseSelectedTableItemIndex(), copyItemText);
+                                       pasteTableItems(getMouseSelectedTableItemIndex(), copyItemText);
                                        updateTableSequenceNumber();
                                        disableCopyItem(getMouseSelectedTableItemIndex());
                                } else if (selectedCutItemIndex >= 0) {
-                                       replaceTableItems(getMouseSelectedTableItemIndex(), copyItemText);
+                                       pasteTableItems(getMouseSelectedTableItemIndex(), copyItemText);
                                        table.remove(selectedCutItemIndex);
                                        updateTableSequenceNumber();
                                        selectedCutItemIndex = -1;
@@ -406,16 +403,16 @@ public class ReplayEditTable extends DATableComposite {
                        public void widgetSelected(DAPopupMenuItem menuItem) {
                                if (getCopyItemIndex() > -1) {
                                        if (selectedCopyItemIndex >= 0) {
-                                               addTableItems(getMouseSelectedTableItemIndex(), copyItemText);
+                                               insertTableItems(getMouseSelectedTableItemIndex(), copyItemText);
                                        } else if (selectedCutItemIndex >= 0) {
                                                disableCopyItem(selectedCutItemIndex + 1);
-                                               addTableItems(getMouseSelectedTableItemIndex(), copyItemText);
+                                               insertTableItems(getMouseSelectedTableItemIndex(), copyItemText);
                                                table.remove(selectedCutItemIndex - 1);
                                                updateTableSequenceNumber();
                                                selectedCutItemIndex = -1;
                                        }
                                } else {
-                                       addTableItems(getMouseSelectedTableItemIndex(),
+                                       insertTableItems(getMouseSelectedTableItemIndex(),
                                                        getSelectedItemText(getMouseSelectedTableItemIndex()));
                                }
                                updateTableSequenceNumber();
@@ -438,9 +435,8 @@ public class ReplayEditTable extends DATableComposite {
 
        private void enableCopyItem() {
                String itemOption = getMouseSelectedItemOptionText();
-               if (!itemOption.contains(ReplayEditDialogDataManager.SELECTED_ITEM_COPY)) {
-                       setMouseSelectedItemOptionText(itemOption
-                                       + ReplayEditDialogDataManager.SELECTED_ITEM_COPY);
+               if (!itemOption.contains(ReplayEditDataType.SELECTED_ITEM_COPY)) {
+                       setMouseSelectedItemOptionText(itemOption + ReplayEditDataType.SELECTED_ITEM_COPY);
                }
        }
 
@@ -449,14 +445,14 @@ public class ReplayEditTable extends DATableComposite {
                        return;
                }
                String itemOption = getMouseSelectedItemOptionText();
-               if (itemOption.contains(ReplayEditDialogDataManager.SELECTED_ITEM_COPY)) {
-                       itemOption = itemOption.replace(ReplayEditDialogDataManager.SELECTED_ITEM_COPY,
+               if (itemOption.contains(ReplayEditDataType.SELECTED_ITEM_COPY)) {
+                       itemOption = itemOption.replace(ReplayEditDataType.SELECTED_ITEM_COPY,
                                        CommonConstants.EMPTY);
                }
-               table.getItem(index).setText(OPTION_TABLE_INDEX, itemOption);
+               table.getItem(index).setText(ReplayEditDataType.OPTION_TABLE_INDEX, itemOption);
        }
 
-       private void setTyepMenu() {
+       private void setMenuItemOfEventType() {
                eventTypePopupMenu = new ReplayEditPopupMenu(table);
                eventTypePopupMenu.setMouseListener();
                eventTypePopupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
@@ -478,7 +474,7 @@ public class ReplayEditTable extends DATableComposite {
                });
        }
 
-       private void setKeyMenu() {
+       private void setMenuItemOfKey() {
                eventKeyPopupMenu = new ReplayEditPopupMenu(table);
                eventKeyPopupMenu.setMouseListener();
                eventKeyPopupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
@@ -533,75 +529,92 @@ public class ReplayEditTable extends DATableComposite {
        }
 
        private void setItemKeyText(Event event) {
-               boolean iskeyInput = false;
                if (isMouseSelectedTableItem) {
-                       if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                       ReplayEditLabels.TABLE_COLUMN_MOUSE_DOWN_TIME)
-                                       || getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                                       ReplayEditLabels.TABLE_COLUMN_MOUSE_UP_TIME)) {
-                               if (KeyEvent.VK_0 <= event.character && event.character <= KeyEvent.VK_9) {
-                                       iskeyInput = true;
-                               }
-                               if (KeyEvent.VK_PERIOD == event.character) {
-                                       iskeyInput = true;
-                               }
-
-                               if (!iskeyInput) {
-                                       removeInputValue();
-                                       return;
-                               }
-
-                               String savedString = inputValueText.getText();
-                               if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_S)) {
-                                       savedString += ReplayEditLabels.CONTEXT_VALUE_S;
-                               }
+                       if (isTimeColumnIndex()) {
+                               updateTextOfTimeColumnIndex(event);
+                       } else if (isValueColumnIndex()) {
+                               updateTextOfValueColumnIndex(event);
+                       }
+                       updateVaildState();
+               }
+       }
 
-                               if (savedString.length() > 10) {
-                                       removeInputValue();
-                                       return;
-                               }
+       private boolean isTimeColumnIndex() {
+               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                               ReplayEditLabels.TABLE_COLUMN_MOUSE_DOWN_TIME)
+                               || getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                                               ReplayEditLabels.TABLE_COLUMN_MOUSE_UP_TIME)) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
 
-                               if (savedString.contains(CommonConstants.DOT)) {
-                                       String lines[] = savedString.split(CommonConstants.CMD_SPLIT_DOT);
-                                       if (lines.length > 0) {
-                                               if (lines[1].trim().length() > 2) {
-                                                       removeInputValue();
-                                                       return;
-                                               }
-                                       }
+       private boolean isValueColumnIndex() {
+               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                               ReplayEditLabels.TABLE_COLUMN_VALUE1)
+                               || getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                                               ReplayEditLabels.TABLE_COLUMN_VALUE2)) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
 
-                               }
-                               setMouseSelectedTableItemText(savedString);
-                               tableRedraw();
-                       } else if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                       ReplayEditLabels.TABLE_COLUMN_VALUE1)
-                                       || getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                                       ReplayEditLabels.TABLE_COLUMN_VALUE2)) {
-                               if (KeyEvent.VK_0 <= event.character && event.character <= KeyEvent.VK_9) {
-                                       iskeyInput = true;
-                               }
+       private void updateTextOfTimeColumnIndex(Event event) {
+               boolean iskeyInput = false;
+               if (KeyEvent.VK_0 <= event.character && event.character <= KeyEvent.VK_9) {
+                       iskeyInput = true;
+               }
+               if (KeyEvent.VK_PERIOD == event.character) {
+                       iskeyInput = true;
+               }
+               if (!iskeyInput) {
+                       removeInputValue();
+                       return;
+               }
+               String savedString = inputValueText.getText();
+               if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_S)) {
+                       savedString += ReplayEditLabels.CONTEXT_VALUE_S;
+               }
+               if (savedString.length() > 10) {
+                       removeInputValue();
+                       return;
+               }
+               if (savedString.contains(CommonConstants.DOT)) {
+                       String lines[] = savedString.split(CommonConstants.CMD_SPLIT_DOT);
+                       if (lines.length > 0 && lines[1].trim().length() > 2) {
+                               removeInputValue();
+                               return;
+                       }
+               }
+               setMouseSelectedTableItemText(savedString);
+               tableRedraw();
+       }
 
-                               if (!iskeyInput) {
-                                       removeInputValue();
-                                       return;
-                               }
-                               String savedString = inputValueText.getText();
-                               StringBuffer inputString = new StringBuffer(savedString);
-                               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                               ReplayEditLabels.TABLE_COLUMN_VALUE1)) {
-                                       if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
-                                               inputString.insert(0, ReplayEditLabels.CONTEXT_VALUE_X);
-                                       }
-                               } else {
-                                       if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
-                                               inputString.insert(0, ReplayEditLabels.CONTEXT_VALUE_Y);
-                                       }
-                               }
-                               setMouseSelectedTableItemText(inputString.toString());
-                               tableRedraw();
+       private void updateTextOfValueColumnIndex(Event event) {
+               boolean iskeyInput = false;
+               if (KeyEvent.VK_0 <= event.character && event.character <= KeyEvent.VK_9) {
+                       iskeyInput = true;
+               }
+               if (!iskeyInput) {
+                       removeInputValue();
+                       return;
+               }
+               String savedString = inputValueText.getText();
+               StringBuffer inputString = new StringBuffer(savedString);
+               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                               ReplayEditLabels.TABLE_COLUMN_VALUE1)) {
+                       if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
+                               inputString.insert(0, ReplayEditLabels.CONTEXT_VALUE_X);
+                       }
+               } else {
+                       if (!savedString.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
+                               inputString.insert(0, ReplayEditLabels.CONTEXT_VALUE_Y);
                        }
-                       updateVaildState();
                }
+               setMouseSelectedTableItemText(inputString.toString());
+               tableRedraw();
        }
 
        private void addTextWidget(GridItem gridItem) {
@@ -618,12 +631,13 @@ public class ReplayEditTable extends DATableComposite {
        }
 
        private void removeInputValue() {
-               if (null != inputValueText && inputValueText.getText().length() > 0) {
-                       StringBuffer textBuffer = new StringBuffer(inputValueText.getText());
-                       textBuffer.deleteCharAt(textBuffer.length() - 1);
-                       inputValueText.setText(textBuffer.toString());
-                       inputValueText.getControl().setSelection(textBuffer.length());
+               if (null == inputValueText || inputValueText.getText().length() <= 0) {
+                       return;
                }
+               StringBuffer textBuffer = new StringBuffer(inputValueText.getText());
+               textBuffer.deleteCharAt(textBuffer.length() - 1);
+               inputValueText.setText(textBuffer.toString());
+               inputValueText.getControl().setSelection(textBuffer.length());
        }
 
        private void updateSelectPopupMenu(String text) {
@@ -712,17 +726,14 @@ public class ReplayEditTable extends DATableComposite {
                                table.getItem(i).setChecked(j, false);
                        }
                }
-
                int selectedColumnIndex = getMouseColumnIndex(item, event);
-
                String selectedText = item.getText(selectedColumnIndex);
-
                if (selectedText.equals(CommonConstants.DASH)) {
                        return;
                }
 
                String selectedOptionText = item.getText(6);
-               if (!selectedOptionText.contains(ReplayEditDialogDataManager.MODIFIABILITY_TRUE)) {
+               if (!selectedOptionText.contains(ReplayEditDataType.MODIFIABILITY_TRUE)) {
                        return;
                }
                if (selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_S) || selectedText.length() == 0) {
@@ -745,7 +756,7 @@ public class ReplayEditTable extends DATableComposite {
                if (!isMouseSelectedTableItem) {
                        return;
                }
-               removeMouseSelectedItemOptionText(ReplayEditDialogDataManager.SELECTED_ITEM_KEY_INPUT);
+               removeMouseSelectedItemOptionText(ReplayEditDataType.SELECTED_ITEM_KEY_INPUT);
                updateRollbackText();
                updateNextItemsSavedTime();
                updateVaildState();
@@ -758,8 +769,9 @@ public class ReplayEditTable extends DATableComposite {
                long preEventTime = 0;
                boolean isVaild = true;
                for (int i = 0; i < nSize; i++) {
-                       long mouseDowntime = getLongTableTime(table.getItem(i).getText(DOWN_TIME_TABLE_INDEX));
-                       String upTime = table.getItem(i).getText(UP_TIME_TABLE_INDEX);
+                       long mouseDowntime = getLongTableTime(table.getItem(i).getText(
+                                       ReplayEditDataType.MOUSE_DOWN_TIME_TABLE_INDEX));
+                       String upTime = table.getItem(i).getText(ReplayEditDataType.MOUSE_UP_TIME_TABLE_INDEX);
 
                        long mouseUptime = 0;
                        if (!upTime.equals(CommonConstants.EMPTY)) {
@@ -767,27 +779,25 @@ public class ReplayEditTable extends DATableComposite {
                        } else {
                                mouseUptime = mouseDowntime;
                        }
-
                        if (mouseUptime < mouseDowntime) {
                                isVaild = false;
                        } else if (mouseDowntime < preEventTime) {
                                isVaild = false;
                        } else {
-                               String itemOption = table.getItem(i).getText(OPTION_TABLE_INDEX);
-                               if (itemOption.contains(ReplayEditDialogDataManager.ITEM_TIME_VAILD_FALSE)) {
+                               String itemOption = table.getItem(i).getText(ReplayEditDataType.OPTION_TABLE_INDEX);
+                               if (itemOption.contains(ReplayEditDataType.ITEM_TIME_VAILD_FALSE)) {
                                        String removeItemOption = itemOption.replace(
-                                                       ReplayEditDialogDataManager.ITEM_TIME_VAILD_FALSE,
-                                                       CommonConstants.EMPTY);
-                                       table.getItem(i).setText(OPTION_TABLE_INDEX, removeItemOption);
+                                                       ReplayEditDataType.ITEM_TIME_VAILD_FALSE, CommonConstants.EMPTY);
+                                       table.getItem(i).setText(ReplayEditDataType.OPTION_TABLE_INDEX,
+                                                       removeItemOption);
                                }
                        }
                        preEventTime = mouseUptime;
-
                        if (!isVaild) {
-                               String itemOption = table.getItem(i).getText(OPTION_TABLE_INDEX);
-                               if (!itemOption.contains(ReplayEditDialogDataManager.ITEM_TIME_VAILD_FALSE)) {
-                                       table.getItem(i).setText(OPTION_TABLE_INDEX,
-                                                       itemOption + ReplayEditDialogDataManager.ITEM_TIME_VAILD_FALSE);
+                               String itemOption = table.getItem(i).getText(ReplayEditDataType.OPTION_TABLE_INDEX);
+                               if (!itemOption.contains(ReplayEditDataType.ITEM_TIME_VAILD_FALSE)) {
+                                       table.getItem(i).setText(ReplayEditDataType.OPTION_TABLE_INDEX,
+                                                       itemOption + ReplayEditDataType.ITEM_TIME_VAILD_FALSE);
                                }
                        }
                }
@@ -799,7 +809,6 @@ public class ReplayEditTable extends DATableComposite {
                if (strTime.contains(ReplayEditLabels.CONTEXT_VALUE_S)) {
                        strTime = time.replace(ReplayEditLabels.CONTEXT_VALUE_S, CommonConstants.EMPTY);
                }
-
                if (strTime.contains(CommonConstants.DOT)) {
                        strTime = strTime.replace(CommonConstants.DOT, CommonConstants.EMPTY);
                }
@@ -814,19 +823,7 @@ public class ReplayEditTable extends DATableComposite {
        }
 
        private String getStrTableTime(Long time) {
-               String reverseStrTime = reverseString(Long.toString(time));
-               StringBuffer strTime = new StringBuffer(CommonConstants.EMPTY);
-               for (int i = 5; i < reverseStrTime.length(); i++) {
-                       strTime.append(reverseStrTime.charAt(i));
-                       if (i == 5) {
-                               strTime.append(CommonConstants.DOT);
-                       }
-               }
-               return reverseString(strTime.toString()) + ReplayEditLabels.CONTEXT_VALUE_S;
-       }
-
-       private String reverseString(String str) {
-               return (new StringBuffer(str).reverse().toString());
+               return String.format("%d.%ds", time / 10, time % 10);
        }
 
        private void addTableTime(boolean isMouseDown) {
@@ -837,14 +834,15 @@ public class ReplayEditTable extends DATableComposite {
                int nSize = table.getItemCount();
                int startItem = getMouseSelectedTableItemIndex();
                for (int i = startItem; i < nSize; i++) {
-                       if (!table.getItem(i).getText(OPTION_TABLE_INDEX)
-                                       .contains(ReplayEditDialogDataManager.MODIFIABILITY_TRUE)) {
+                       if (!table.getItem(i).getText(ReplayEditDataType.OPTION_TABLE_INDEX)
+                                       .contains(ReplayEditDataType.MODIFIABILITY_TRUE)) {
                                continue;
                        }
-                       long mouseDowntime = getLongTableTime(table.getItem(i).getText(DOWN_TIME_TABLE_INDEX));
+                       long mouseDowntime = getLongTableTime(table.getItem(i).getText(
+                                       ReplayEditDataType.MOUSE_DOWN_TIME_TABLE_INDEX));
                        mouseDowntime += addTime;
 
-                       String upTime = table.getItem(i).getText(UP_TIME_TABLE_INDEX);
+                       String upTime = table.getItem(i).getText(ReplayEditDataType.MOUSE_UP_TIME_TABLE_INDEX);
                        long mouseUptime = 0;
                        if (!upTime.equals(CommonConstants.EMPTY)) {
                                mouseUptime = getLongTableTime(upTime);
@@ -852,45 +850,51 @@ public class ReplayEditTable extends DATableComposite {
                        mouseUptime += addTime;
                        if (i == startItem) {
                                if (isMouseDown && !upTime.equals(CommonConstants.EMPTY)) {
-                                       table.getItem(i).setText(UP_TIME_TABLE_INDEX, getStrTableTime(mouseUptime));
+                                       table.getItem(i).setText(ReplayEditDataType.MOUSE_UP_TIME_TABLE_INDEX,
+                                                       getStrTableTime(mouseUptime));
                                }
                        } else {
-                               table.getItem(i).setText(DOWN_TIME_TABLE_INDEX, getStrTableTime(mouseDowntime));
+                               table.getItem(i).setText(ReplayEditDataType.MOUSE_DOWN_TIME_TABLE_INDEX,
+                                               getStrTableTime(mouseDowntime));
                                if (!upTime.equals(CommonConstants.EMPTY)) {
-                                       table.getItem(i).setText(UP_TIME_TABLE_INDEX, getStrTableTime(mouseUptime));
+                                       table.getItem(i).setText(ReplayEditDataType.MOUSE_UP_TIME_TABLE_INDEX,
+                                                       getStrTableTime(mouseUptime));
                                }
                        }
                }
        }
 
        private void updateNextItemsSavedTime() {
-               if (isMouseSelectedTableItem) {
-                       String savedString = getMouseSelectedTableItemText();
-                       if (savedString.length() > 0) {
-                               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                               ReplayEditLabels.TABLE_COLUMN_MOUSE_DOWN_TIME)) {
-                                       addTableTime(true);
-                               } else if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
-                                               ReplayEditLabels.TABLE_COLUMN_MOUSE_UP_TIME)) {
-                                       addTableTime(false);
-                               }
-                       }
+               if (!isMouseSelectedTableItem) {
+                       return;
+               }
+               String savedString = getMouseSelectedTableItemText();
+               if (savedString.length() <= 0) {
+                       return;
+               }
+               if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                               ReplayEditLabels.TABLE_COLUMN_MOUSE_DOWN_TIME)) {
+                       addTableTime(true);
+               } else if (getColumnName(getMouseSelectedTableColumnIndex()).equals(
+                               ReplayEditLabels.TABLE_COLUMN_MOUSE_UP_TIME)) {
+                       addTableTime(false);
                }
        }
 
        private boolean updateRollbackText() {
-               if (isMouseSelectedTableItem) {
-                       String savedString = getMouseSelectedTableItemText();
-                       boolean isResetText = false;
-                       if (savedString.length() == 0) {
-                               isResetText = true;
-                       }
-                       if (isResetText) {
-                               setMouseSelectedTableItemText(savedItemTextForReset);
-                               return true;
-                       }
+               if (!isMouseSelectedTableItem) {
+                       return false;
                }
-               return false;
+               String savedString = getMouseSelectedTableItemText();
+               boolean isResetText = false;
+               if (savedString.length() == 0) {
+                       isResetText = true;
+               }
+               if (!isResetText) {
+                       return false;
+               }
+               setMouseSelectedTableItemText(savedItemTextForReset);
+               return true;
        }
 
        private String updateDotChartAtTime() {
@@ -934,12 +938,11 @@ public class ReplayEditTable extends DATableComposite {
        }
 
        private void updateKeyboardInputStatus(GridItem item, Event event) {
-               if (!item.getText(OPTION_TABLE_INDEX).contains(
-                               ReplayEditDialogDataManager.MODIFIABILITY_TRUE)) {
+               if (!item.getText(ReplayEditDataType.OPTION_TABLE_INDEX).contains(
+                               ReplayEditDataType.MODIFIABILITY_TRUE)) {
                        deleteItem.setEnabled(false);
                        return;
                }
-
                String selectedText = getMouseSelectedTableItemText();
                if (selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_X)
                                || selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_Y)
@@ -948,53 +951,50 @@ public class ReplayEditTable extends DATableComposite {
                        isMouseSelectedTableItem = true;
                        savedItemTextForReset = getMouseSelectedTableItemText();
                        addTextWidget(item);
-                       addMouseSelectedItemOptionText(ReplayEditDialogDataManager.SELECTED_ITEM_KEY_INPUT);
+                       addMouseSelectedItemOptionText(ReplayEditDataType.SELECTED_ITEM_KEY_INPUT);
                }
        }
 
-       private boolean enablePopupMenuMouseDownIcon(GridItem item, Event event) {
-               if (mouseSelectedPreColunmEndX <= event.x && event.x <= mouseSelectedPreColunmEndX + 20
-                               && getMouseSelectedTableItemIndex() != -1) {
-                       Point tablePt = new Point(table.getShell().getBounds().x,
-                                       table.getShell().getBounds().y);
-
-                       Point MousePt = new Point(0, 0);
-
-                       MousePt.x = tablePt.x + mouseSelectedPreColunmEndX + 8;
-
-                       int selectedIndexPosition = table.getSelectionIndex()
-                                       - table.getVerticalBar().getSelection();
-                       MousePt.y = tablePt.y + table.getItemHeight() * selectedIndexPosition + 135;
-                       String selectedText = item.getText(getMouseSelectedTableColumnIndex());
-                       if (selectedText.contains(ReplayEditLabels.CONTEXT_TOUCH)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY)) {
-                               eventTypePopupMenu.open(eventTypePopupMenu.getTopShell(), MousePt.x, MousePt.y);
-                               savedSelectedContext(selectedText);
-                       } else if (selectedText.contains(ReplayEditLabels.CONTEXT_KEY_MENU)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_HOME)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_BACK)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_POWER)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_VOLUME_UP)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN)) {
-                               eventKeyPopupMenu.open(eventKeyPopupMenu.getTopShell(), MousePt.x, MousePt.y);
-                       } else if (selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_X)
-                                       || selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
-                               if (enableCoordinateIcon) {
-                                       ReplayEditScreenshotDialog dialog = new ReplayEditScreenshotDialog(
-                                                       table.getShell(), item);
-                                       dialog.open();
-                               }
-                               return false;
-                       } else {
-                               openPoppupMenuMouseDownSequenceColumn(item, event);
+       private boolean selectPopupMenuMouseDownIcon(GridItem item, Event event) {
+               if (mouseSelectedPreColunmEndX > event.x || event.x > mouseSelectedPreColunmEndX + 20
+                               || getMouseSelectedTableItemIndex() == -1) {
+                       return true;
+               }
+               Point tablePt = new Point(table.getShell().getBounds().x, table.getShell().getBounds().y);
+               Point MousePt = new Point(0, 0);
+               MousePt.x = tablePt.x + mouseSelectedPreColunmEndX + 8;
+               int selectedIndexPosition = table.getSelectionIndex()
+                               - table.getVerticalBar().getSelection();
+               MousePt.y = tablePt.y + table.getItemHeight() * selectedIndexPosition + 135;
+               String selectedText = item.getText(getMouseSelectedTableColumnIndex());
+               if (selectedText.contains(ReplayEditLabels.CONTEXT_TOUCH)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY)) {
+                       eventTypePopupMenu.open(eventTypePopupMenu.getTopShell(), MousePt.x, MousePt.y);
+                       savedSelectedContext(selectedText);
+               } else if (selectedText.contains(ReplayEditLabels.CONTEXT_KEY_MENU)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_HOME)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_BACK)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_POWER)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_VOLUME_UP)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN)) {
+                       eventKeyPopupMenu.open(eventKeyPopupMenu.getTopShell(), MousePt.x, MousePt.y);
+               } else if (selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_X)
+                               || selectedText.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
+                       if (enableCoordinateIcon) {
+                               ReplayEditScreenshotDialog dialog = new ReplayEditScreenshotDialog(
+                                               table.getShell(), item);
+                               dialog.open();
                        }
+                       return false;
+               } else {
+                       openPoppupMenuMouseDownSequenceColumn(item, event);
                }
                return true;
        }
 
        private void openPoppupMenuMouseDownSequenceColumn(GridItem item, Event event) {
-               if (!item.getText(OPTION_TABLE_INDEX).contains(
-                               ReplayEditDialogDataManager.MODIFIABILITY_TRUE)) {
+               if (!item.getText(ReplayEditDataType.OPTION_TABLE_INDEX).contains(
+                               ReplayEditDataType.MODIFIABILITY_TRUE)) {
                        if (selectedCutItemIndex > 0 || selectedCopyItemIndex > 0) {
                                insertItem.setEnabled(true);
                        } else {
@@ -1032,8 +1032,8 @@ public class ReplayEditTable extends DATableComposite {
                int nSize = table.getItemCount();
                int index = -1;
                for (int i = 0; i < nSize; i++) {
-                       if (table.getItem(i).getText(OPTION_TABLE_INDEX)
-                                       .contains(ReplayEditDialogDataManager.SELECTED_ITEM_COPY)) {
+                       if (table.getItem(i).getText(ReplayEditDataType.OPTION_TABLE_INDEX)
+                                       .contains(ReplayEditDataType.SELECTED_ITEM_COPY)) {
                                index = i;
                                break;
                        }
@@ -1072,20 +1072,20 @@ public class ReplayEditTable extends DATableComposite {
        }
 
        private void enableSaveButton() {
-               if (null != ReplayEditDialogDataManager.getInstance().getOkButton()) {
-                       ReplayEditDialogDataManager.getInstance().getOkButton().setButtonEnabled(true);
+               if (null != ReplayEditTableDataMaker.getInstance().getOkButton()) {
+                       ReplayEditTableDataMaker.getInstance().getOkButton().setButtonEnabled(true);
                }
-               if (null != ReplayEditDialogDataManager.getInstance().getSaveButton()) {
-                       ReplayEditDialogDataManager.getInstance().getSaveButton().setButtonEnabled(true);
+               if (null != ReplayEditTableDataMaker.getInstance().getSaveButton()) {
+                       ReplayEditTableDataMaker.getInstance().getSaveButton().setButtonEnabled(true);
                }
        }
 
        private void disableSaveButton() {
-               if (null != ReplayEditDialogDataManager.getInstance().getOkButton()) {
-                       ReplayEditDialogDataManager.getInstance().getOkButton().setButtonEnabled(false);
+               if (null != ReplayEditTableDataMaker.getInstance().getOkButton()) {
+                       ReplayEditTableDataMaker.getInstance().getOkButton().setButtonEnabled(false);
                }
-               if (null != ReplayEditDialogDataManager.getInstance().getSaveButton()) {
-                       ReplayEditDialogDataManager.getInstance().getSaveButton().setButtonEnabled(false);
+               if (null != ReplayEditTableDataMaker.getInstance().getSaveButton()) {
+                       ReplayEditTableDataMaker.getInstance().getSaveButton().setButtonEnabled(false);
                }
 
        }
@@ -1100,7 +1100,6 @@ public class ReplayEditTable extends DATableComposite {
                        column.setCellRenderer(new ReplayEditTableCellRenderer());
                        column.setHeaderRenderer(new DATableHeaderRenderer());
                        column.pack();
-
                }
        }
 
index 411b7ee..8fa46e5 100644 (file)
@@ -33,6 +33,7 @@ import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Rectangle;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditDataType;
 
 public class ReplayEditTableCellRenderer extends DefaultCellRenderer {
        int leftMargin = 4;
@@ -51,17 +52,16 @@ public class ReplayEditTableCellRenderer extends DefaultCellRenderer {
                paintMouseOverColumn(gc, item);
                paintSelectedInputKey(gc, item);
                paintVaildTime(gc, item);
-
        }
 
        private void paintImage(GC gc, GridItem item) {
                menuImg = item.getImage();
-               if (menuImg != null && item.getChecked(getColumn())) {
-                       int y = getBounds().y;
-                       y += (getBounds().height - menuImg.getBounds().height) / 2;
-
-                       gc.drawImage(menuImg, getBounds().x, y);
+               if (menuImg == null || !item.getChecked(getColumn())) {
+                       return;
                }
+               int y = getBounds().y;
+               y += (getBounds().height - menuImg.getBounds().height) / 2;
+               gc.drawImage(menuImg, getBounds().x, y);
        }
 
        private void paintText(GC gc, GridItem item) {
@@ -74,71 +74,67 @@ public class ReplayEditTableCellRenderer extends DefaultCellRenderer {
                }
                gc.setForeground(ColorResources.TABLE_CONTENTS_FONT_COLOR);
                gc.setFont(FontResources.TABLE_CELL_FONT);
-               gc.drawText(text, getBounds().x + x, getBounds().y + textTopMargin,
-                               true);
+               gc.drawText(text, getBounds().x + x, getBounds().y + textTopMargin, true);
        }
 
        private void paintTableBoardLine(GC gc, GridItem item) {
-               if (item.getParent().getLinesVisible()) {
-                       gc.setForeground(ColorResources.TABLE_LINE);
-                       gc.drawLine(getBounds().x, getBounds().y + getBounds().height,
-                                       getBounds().x + getBounds().width - 1, getBounds().y
-                                                       + getBounds().height);
-                       gc.drawLine(getBounds().x + getBounds().width - 1, getBounds().y,
-                                       getBounds().x + getBounds().width - 1, getBounds().y
-                                                       + getBounds().height);
+               if (!item.getParent().getLinesVisible()) {
+                       return;
                }
+               gc.setForeground(ColorResources.TABLE_LINE);
+               gc.drawLine(getBounds().x, getBounds().y + getBounds().height, getBounds().x
+                               + getBounds().width - 1, getBounds().y + getBounds().height);
+               gc.drawLine(getBounds().x + getBounds().width - 1, getBounds().y, getBounds().x
+                               + getBounds().width - 1, getBounds().y + getBounds().height);
        }
 
        private void paintMouseOverColumn(GC gc, GridItem item) {
-               if (item.getChecked(getColumn())) {
-                       Rectangle focusRect = new Rectangle(getBounds().x - 1,
-                                       getBounds().y - 1, getBounds().width,
-                                       getBounds().height + 1);
-                       gc.setForeground(ColorResources.TABLE_CONTENTS_SELECTED_START);
-                       gc.drawRectangle(focusRect);
-                       if (isFocus()) {
-                               focusRect.x++;
-                               focusRect.width -= 2;
-                               focusRect.y++;
-                               focusRect.height -= 2;
-                               gc.drawRectangle(focusRect);
-                       }
+               if (!item.getChecked(getColumn())) {
+                       return;
+               }
+               Rectangle focusRect = new Rectangle(getBounds().x - 1, getBounds().y - 1,
+                               getBounds().width, getBounds().height + 1);
+               gc.setForeground(ColorResources.TABLE_CONTENTS_SELECTED_START);
+               gc.drawRectangle(focusRect);
+               if (!isFocus()) {
+                       return;
                }
+               focusRect.x++;
+               focusRect.width -= 2;
+               focusRect.y++;
+               focusRect.height -= 2;
+               gc.drawRectangle(focusRect);
        }
 
        private void paintSelectedInputKey(GC gc, GridItem item) {
                String optionColumn = item.getText(6);
-               if (item.getChecked(getColumn())
-                               && optionColumn
-                                               .contains(ReplayEditDialogDataManager.SELECTED_ITEM_KEY_INPUT)) {
-                       Rectangle focusRect = new Rectangle(getBounds().x - 1,
-                                       getBounds().y - 1, getBounds().width,
-                                       getBounds().height + 1);
-                       gc.setForeground(ColorResources.RED);
-                       gc.drawRectangle(focusRect);
-                       if (isFocus()) {
-                               focusRect.x++;
-                               focusRect.width -= 2;
-                               focusRect.y++;
-                               focusRect.height -= 2;
-                               gc.drawRectangle(focusRect);
-                       }
+               if (!item.getChecked(getColumn())
+                               || !optionColumn.contains(ReplayEditDataType.SELECTED_ITEM_KEY_INPUT)) {
+                       return;
                }
+               Rectangle focusRect = new Rectangle(getBounds().x - 1, getBounds().y - 1,
+                               getBounds().width, getBounds().height + 1);
+               gc.setForeground(ColorResources.RED);
+               gc.drawRectangle(focusRect);
+               if (!isFocus()) {
+                       return;
+               }
+               focusRect.x++;
+               focusRect.width -= 2;
+               focusRect.y++;
+               focusRect.height -= 2;
+               gc.drawRectangle(focusRect);
        }
 
        private void paintVaildTime(GC gc, GridItem item) {
                String optionColumn = item.getText(6);
-               if (optionColumn
-                               .contains(ReplayEditDialogDataManager.ITEM_TIME_VAILD_FALSE)) {
-                       gc.setForeground(ColorResources.RED);
-                       gc.setLineWidth(1);
-                       gc.drawLine(getBounds().x,
-                                       getBounds().y + (getBounds().height / 3), getBounds().x
-                                                       + getBounds().width, getBounds().y
-                                                       + (getBounds().height / 3));
-                       gc.setLineWidth(1);
-
+               if (!optionColumn.contains(ReplayEditDataType.ITEM_TIME_VAILD_FALSE)) {
+                       return;
                }
+               gc.setForeground(ColorResources.RED);
+               gc.setLineWidth(1);
+               gc.drawLine(getBounds().x, getBounds().y + (getBounds().height / 3), getBounds().x
+                               + getBounds().width, getBounds().y + (getBounds().height / 3));
+               gc.setLineWidth(1);
        }
 }
index e54186a..f4b7e89 100644 (file)
@@ -29,6 +29,8 @@ package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor;
 import java.io.Serializable;
 import java.util.Comparator;
 
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data.ReplayEditTableData;
+
 
 public class ReplayEditTableItemListSortComparator implements Comparator<ReplayEditTableData>,
                Serializable {
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditDataType.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditDataType.java
new file mode 100644 (file)
index 0000000..7d66eeb
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * HyunJong Park <phjwithyou.park@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * Contributors:
+ * - S-Core Co., Ltd
+ * 
+ */
+package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data;
+
+
+public class ReplayEditDataType {
+       public static final int SEQ_TABLE_INDEX = 0;
+       public static final int MOUSE_DOWN_TIME_TABLE_INDEX = 1;
+       public static final int MOUSE_UP_TIME_TABLE_INDEX = 2;
+       public static final int TYPE_TABLE_INDEX = 3;
+       public static final int VALUE1_TABLE_INDEX = 4;
+       public static final int VALUE2_TABLE_INDEX = 5;
+       public static final int OPTION_TABLE_INDEX = 6;
+       
+       public static final String MODIFIABILITY_TRUE = "MODIFIABILITY_TRUE ";
+       public static final String SELECTED_ITEM_COPY = "SELECTED_ITEM_COPY ";
+       public static final String SELECTED_ITEM_KEY_INPUT = "SELECTED_ITEM_KEY_INPUT ";
+       public static final String ITEM_TIME_VAILD_FALSE = "ITEM_TIME_VAILD_FALSE ";
+
+       public static final int EVENT_TYPE_END_LOG = 0;
+       public static final int EVENT_TYPE_KEY_DOUSE_UP_VALUE = 0;
+       public static final int EVENT_TYPE_TOUCH_DOUSE_UP_VALUE = -1;
+
+       public static final int EVENT_TYPE_TOUCH = 3;
+       public static final int TOUCH_EVENT_CODE_TOUCH = 57;
+       public static final int TOUCH_EVENT_CODE_X = 53;
+       public static final int TOUCH_EVENT_CODE_Y = 54;
+       // Touch
+       // ID : 0 TYPE : 3 CODE : 57 VALUE : 1
+       // ID : 0 TYPE : 3 CODE : 53 VALUE : 170
+       // ID : 0 TYPE : 3 CODE : 54 VALUE : 270
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 0 TYPE : 3 CODE : 57 VALUE : -1
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // Drag
+       // ID : 0 TYPE : 3 CODE : 57 VALUE : 2
+       // ID : 0 TYPE : 3 CODE : 53 VALUE : 244
+       // ID : 0 TYPE : 3 CODE : 54 VALUE : 176
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 0 TYPE : 3 CODE : 53 VALUE : 248
+       // ID : 0 TYPE : 3 CODE : 54 VALUE : 180
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 0 TYPE : 3 CODE : 54 VALUE : 182
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 0 TYPE : 3 CODE : 53 VALUE : 250
+       // ID : 0 TYPE : 3 CODE : 54 VALUE : 186
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 0 TYPE : 3 CODE : 57 VALUE : -1
+       // ID : 0 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int EVENT_TYPE_KEY = 1;
+       public static final int KEY_MENU = 169;
+       // ID : 1 TYPE : 1 CODE : 169 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 169 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int KEY_HOME = 139;
+       // ID : 1 TYPE : 1 CODE : 139 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 139 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int KEY_BACK = 158;
+       // ID : 1 TYPE : 1 CODE : 158 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 158 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int KEY_POWER = 116;
+       // ID : 1 TYPE : 1 CODE : 116 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 116 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int KEY_VOLUME_UP = 115;
+       // ID : 1 TYPE : 1 CODE : 115 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 115 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       public static final int KEY_VOLUME_DOWN = 114;
+       // ID : 1 TYPE : 1 CODE : 114 VALUE : 1
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+       // ID : 1 TYPE : 1 CODE : 114 VALUE : 0
+       // ID : 1 TYPE : 0 CODE : 0 VALUE : 0
+}
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditSaveDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditSaveDataMaker.java
new file mode 100644 (file)
index 0000000..bf3f6cf
--- /dev/null
@@ -0,0 +1,482 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * HyunJong Park <phjwithyou.park@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * Contributors:
+ * - S-Core Co., Ltd
+ * 
+ */
+package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.swt.widgets.Shell;
+import org.tizen.dynamicanalyzer.common.Global;
+import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.nl.ReplayEditLabels;
+import org.tizen.dynamicanalyzer.swap.model.DATime;
+import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
+import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.RepalyEditSaveDialog;
+import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
+import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
+
+public class ReplayEditSaveDataMaker extends ReplayEditDataType {
+
+       private static final int tmpSeqForEventLogFormatSize = 0000;
+       private static final int EVENT_TYPE_TOUCH_DOUSE_UP_VALUE = -1;
+
+       private int insertDBRid = 0;
+       private int insertkeySequence = 1;
+
+       private static ReplayEditSaveDataMaker instance = null;
+       private List<List<String>> tableItemsList = null;
+
+       public static ReplayEditSaveDataMaker getInstance() {
+               if (null == instance) {
+                       instance = new ReplayEditSaveDataMaker();
+               }
+               return instance;
+       }
+
+       public void clean() {
+               tableItemsList = null;
+       }
+
+       public void saveData() {
+               Shell shell = WorkbenchUtil.getWorkbenchWindow().getShell();
+               RepalyEditSaveDialog dialog = new RepalyEditSaveDialog(shell);
+               Object result = dialog.open();
+               if (null == result) {
+                       return;
+               }
+               insertDB();
+       }
+
+       public void insertDB() {
+               ReplayDataManager.getInstance().getReplayDBManager().deleteReplayTableItems();
+               insertDBData();
+       }
+
+       private void cleanInsertData() {
+               insertDBRid = 0;
+               insertkeySequence = 1;
+       }
+
+       private void insertDBData() {
+               cleanInsertData();
+               int size = getTableItemsList().size();
+               boolean isStartDragItem = false;
+               for (int i = 0; i < size; i++) {
+                       List<String> item = getTableItemsList().get(i);
+                       List<List<Object>> dataList = new ArrayList<List<Object>>();
+                       if (item.get(TYPE_TABLE_INDEX).equals(ReplayEditLabels.CONTEXT_KEY)
+                                       && isStartDragItem == false) {
+                               dataList = makeDBKeyData(item);
+                       } else if (isTouchTableItem(item, isStartDragItem)) {
+                               dataList = makeDBTouchData(item);
+                       } else if (isDragStartTableItem(item, isStartDragItem)) {
+                               isStartDragItem = true;
+                               dataList = makeDBDragStartData(item);
+                       } else if (isDragTableItem(item, isStartDragItem)) {
+                               dataList = makeDBDragData(item);
+                       } else if (isDragEndTableItem(item, isStartDragItem)) {
+                               isStartDragItem = false;
+                               dataList = makeDBDragEndData(item);
+                       }
+                       if (dataList.size() > 0) {
+                               ReplayDataManager.getInstance().getReplayDBManager().insertData(dataList);
+                               dataList.clear();
+                       }
+               }
+       }
+
+       private boolean isTouchTableItem(List<String> item, boolean isStartDragItem) {
+               if (item.get(TYPE_TABLE_INDEX).equals(ReplayEditLabels.CONTEXT_TOUCH)
+                               && item.get(MOUSE_UP_TIME_TABLE_INDEX).toString().length() != 0
+                               && isStartDragItem == false) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       private boolean isDragStartTableItem(List<String> item, boolean isStartDragItem) {
+               if (item.get(TYPE_TABLE_INDEX).equals(ReplayEditLabels.CONTEXT_TOUCH)
+                               && item.get(MOUSE_UP_TIME_TABLE_INDEX).toString().length() == 0
+                               && isStartDragItem == false) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       private boolean isDragTableItem(List<String> item, boolean isStartDragItem) {
+               if (item.get(TYPE_TABLE_INDEX).equals(ReplayEditLabels.CONTEXT_TOUCH)
+                               && item.get(MOUSE_UP_TIME_TABLE_INDEX).toString().length() == 0
+                               && isStartDragItem == true) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       private boolean isDragEndTableItem(List<String> item, boolean isStartDragItem) {
+               if (item.get(TYPE_TABLE_INDEX).equals(ReplayEditLabels.CONTEXT_TOUCH)
+                               && isStartDragItem == true) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       public String getDBTime(String time) {
+               String strTime = time;
+               if (strTime.equals(CommonConstants.EMPTY)) {
+                       return CommonConstants.EMPTY;
+               }
+               if (strTime.contains(ReplayEditLabels.CONTEXT_VALUE_S)) {
+                       strTime = time.replace(ReplayEditLabels.CONTEXT_VALUE_S, CommonConstants.EMPTY);
+               }
+
+               if (strTime.contains(CommonConstants.DOT)) {
+                       strTime = strTime.replace(CommonConstants.DOT, CommonConstants.EMPTY);
+               }
+               strTime += 10000;
+               return strTime;
+       }
+
+       private int getDBPoint(String point) {
+               String strPoint = point;
+               if (strPoint.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
+                       strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_X, CommonConstants.EMPTY);
+               }
+               if (strPoint.contains(ReplayEditLabels.CONTEXT_VALUE_Y)) {
+                       strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_Y, CommonConstants.EMPTY);
+               }
+               return Integer.parseInt(strPoint.trim());
+       }
+
+       public long getTimeValue(long sec, long nano) {
+               DATime startTime = Global.getProject().getProfilingStartTime();
+               long startSec = startTime.getSec();
+               long startNano = startTime.getNano();
+               long resultSec = sec - startSec;
+               long resultNano = nano - startNano;
+               long time = resultSec * 1000 * 1000 + resultNano / 1000;
+               return time;
+       }
+
+       private DATime getDATimeValue(long time) {
+               DATime startTime = Global.getProject().getProfilingStartTime();
+               long startSec = startTime.getSec();
+               long startNano = startTime.getNano();
+               long delaySec = time / (1000 * 1000);
+               long delayNano = time % (1000 * 1000);
+
+               long eventTimeSec = startSec + delaySec;
+               long eventTimeNano = delayNano * 1000 + startNano;
+
+               if (eventTimeNano > 1000 * 1000 * 1000) {
+                       eventTimeSec++;
+                       delaySec++;
+                       eventTimeNano = ((time - (delaySec * 1000 * 1000)) * 1000) + startNano;
+               }
+               DATime resultTime = new DATime();
+               resultTime.setSec((int) eventTimeSec);
+               resultTime.setNano((int) eventTimeNano);
+               // Long resultLongtime = getTimeValue(eventTimeSec, eventTimeNano);
+               // System.out.println("time : " + time + " resultLongtime : "
+               // + resultLongtime + " secTime : " + eventTimeSec
+               // + " nanoTime : " + eventTimeNano);
+               return resultTime;
+       }
+
+       private int getKeyValue(List<String> item) {
+               String keyValue = item.get(VALUE1_TABLE_INDEX);
+               int nKey = 0;
+               if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_MENU)) {
+                       nKey = KEY_MENU;
+               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_HOME)) {
+                       nKey = KEY_HOME;
+               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_BACK)) {
+                       nKey = KEY_BACK;
+               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_POWER)) {
+                       nKey = KEY_POWER;
+               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_VOLUME_UP)) {
+                       nKey = KEY_VOLUME_UP;
+               } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN)) {
+                       nKey = KEY_VOLUME_DOWN;
+               }
+               return nKey;
+       }
+
+       private List<List<Object>> makeDBKeyData(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               String itemMouseUpTime = getDBTime(item.get(MOUSE_UP_TIME_TABLE_INDEX));
+               if (itemMouseUpTime.equals(CommonConstants.EMPTY)) {
+                       itemMouseUpTime = itemMouseDownTime;
+               }
+               int itemValue1 = getKeyValue(item);
+               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
+               DATime mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
+               int mouseDownTimeSec = mouseDownTime.getSec();
+               int mouseDownTimeNano = mouseDownTime.getNano();
+               int mouseUpTimeSec = mouseUpTime.getSec();
+               int mouseUpTimeNano = mouseUpTime.getNano();
+
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
+               for (int i = 0; i < 4; i++) {
+                       List<Object> keyData = new ArrayList<Object>();
+                       if (i == 0) {
+                               keyData.add(mouseDownTimeSec + insertDBRid++);
+                               keyData.add(tmpSeqForEventLogFormatSize);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTimeSec);
+                               keyData.add(mouseDownTimeNano);
+                               keyData.add(1);
+                               keyData.add(EVENT_TYPE_KEY);
+                               keyData.add(itemValue1);
+                               keyData.add(1);
+                       } else if (i == 1) {
+                               keyData.add(mouseDownTimeSec + insertDBRid++);
+                               keyData.add(tmpSeqForEventLogFormatSize);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTimeSec);
+                               keyData.add(mouseDownTimeNano);
+                               keyData.add(1);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
+                       } else if (i == 2) {
+                               keyData.add(mouseUpTimeSec + insertDBRid++);
+                               keyData.add(tmpSeqForEventLogFormatSize);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTimeSec);
+                               keyData.add(mouseUpTimeNano);
+                               keyData.add(1);
+                               keyData.add(EVENT_TYPE_KEY);
+                               keyData.add(itemValue1);
+                               keyData.add(0);
+                       } else if (i == 3) {
+                               keyData.add(mouseUpTimeSec + insertDBRid++);
+                               keyData.add(tmpSeqForEventLogFormatSize);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTimeSec);
+                               keyData.add(mouseUpTimeNano);
+                               keyData.add(1);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
+                       }
+                       dbKeyDataList.add(keyData);
+               }
+               return dbKeyDataList;
+       }
+
+       private List<List<Object>> makeDBTouchData(List<String> item) {
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
+               dbKeyDataList.add(getTouchFirstLog(item));
+               List<Object> touchXList = getTouchXValueLog(item);
+               if (null != touchXList) {
+                       dbKeyDataList.add(touchXList);
+               }
+               List<Object> touchYList = getTouchYValueLog(item);
+               if (null != touchYList) {
+                       dbKeyDataList.add(touchYList);
+               }
+               dbKeyDataList.add(getMouseDownEmptyLog(item));
+               dbKeyDataList.add(getTouchMouseUPLog(item));
+               dbKeyDataList.add(getMouseUpEmptyLog(item));
+               return dbKeyDataList;
+       }
+
+       private List<List<Object>> makeDBDragStartData(List<String> item) {
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
+               dbKeyDataList.add(getTouchFirstLog(item));
+               List<Object> touchXList = getTouchXValueLog(item);
+               if (null != touchXList) {
+                       dbKeyDataList.add(touchXList);
+               }
+               List<Object> touchYList = getTouchYValueLog(item);
+               if (null != touchYList) {
+                       dbKeyDataList.add(touchYList);
+               }
+               dbKeyDataList.add(getMouseDownEmptyLog(item));
+               return dbKeyDataList;
+       }
+
+       private List<List<Object>> makeDBDragData(List<String> item) {
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
+               List<Object> touchXList = getTouchXValueLog(item);
+               if (null != touchXList) {
+                       dbKeyDataList.add(touchXList);
+               }
+               List<Object> touchYList = getTouchYValueLog(item);
+               if (null != touchYList) {
+                       dbKeyDataList.add(touchYList);
+               }
+               dbKeyDataList.add(getMouseDownEmptyLog(item));
+               return dbKeyDataList;
+       }
+
+       private List<List<Object>> makeDBDragEndData(List<String> item) {
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
+               List<Object> touchXList = getTouchXValueLog(item);
+               if (null != touchXList) {
+                       dbKeyDataList.add(touchXList);
+               }
+               List<Object> touchYList = getTouchYValueLog(item);
+               if (null != touchYList) {
+                       dbKeyDataList.add(touchYList);
+               }
+               dbKeyDataList.add(getMouseDownEmptyLog(item));
+               dbKeyDataList.add(getTouchMouseUPLog(item));
+               dbKeyDataList.add(getMouseUpEmptyLog(item));
+               return dbKeyDataList;
+       }
+
+       private List<Object> getTouchFirstLog(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseDownTime));
+               keyData.add(mouseDownTime.getSec());
+               keyData.add(mouseDownTime.getNano());
+               keyData.add(0);
+               keyData.add(EVENT_TYPE_TOUCH);
+               keyData.add(TOUCH_EVENT_CODE_TOUCH);
+               keyData.add(insertkeySequence++);
+               return keyData;
+       }
+
+       private List<Object> getTouchXValueLog(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
+               String itemValue1 = item.get(VALUE1_TABLE_INDEX).trim();
+               if (itemValue1.length() == 0) {
+                       return null;
+               }
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseDownTime));
+               keyData.add(mouseDownTime.getSec());
+               keyData.add(mouseDownTime.getNano());
+               keyData.add(0);
+               keyData.add(EVENT_TYPE_TOUCH);
+               keyData.add(TOUCH_EVENT_CODE_X);
+               keyData.add(getDBPoint(itemValue1));
+               return keyData;
+       }
+
+       private List<Object> getTouchYValueLog(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
+               String itemValue2 = item.get(VALUE2_TABLE_INDEX).trim();
+               if (itemValue2.length() == 0) {
+                       return null;
+               }
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseDownTime));
+               keyData.add(mouseDownTime.getSec());
+               keyData.add(mouseDownTime.getNano());
+               keyData.add(0);
+               keyData.add(EVENT_TYPE_TOUCH);
+               keyData.add(TOUCH_EVENT_CODE_Y);
+               keyData.add(getDBPoint(itemValue2));
+               return keyData;
+       }
+
+       private List<Object> getMouseDownEmptyLog(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseDownTime));
+               keyData.add(mouseDownTime.getSec());
+               keyData.add(mouseDownTime.getNano());
+               keyData.add(0);
+               keyData.add(0);
+               keyData.add(0);
+               keyData.add(0);
+               return keyData;
+       }
+
+       private List<Object> getMouseUpEmptyLog(List<String> item) {
+               String itemMouseUpTime = getDBTime(item.get(MOUSE_UP_TIME_TABLE_INDEX));
+               DATime mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseUpTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseUpTime));
+               keyData.add(mouseUpTime.getSec());
+               keyData.add(mouseUpTime.getNano());
+               keyData.add(0);
+               keyData.add(0);
+               keyData.add(0);
+               keyData.add(0);
+               return keyData;
+       }
+
+       private List<Object> getTouchMouseUPLog(List<String> item) {
+               String itemMouseDownTime = getDBTime(item.get(MOUSE_DOWN_TIME_TABLE_INDEX));
+               String itemMouseUpTime = getDBTime(item.get(MOUSE_UP_TIME_TABLE_INDEX));
+               DATime mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
+               List<Object> keyData = new ArrayList<Object>();
+               keyData.add(mouseUpTime.getSec() + insertDBRid++);
+               keyData.add(tmpSeqForEventLogFormatSize);
+               keyData.add(Long.parseLong(itemMouseDownTime));
+               keyData.add(mouseUpTime.getSec());
+               keyData.add(mouseUpTime.getNano());
+               keyData.add(0);
+               keyData.add(EVENT_TYPE_TOUCH);
+               keyData.add(TOUCH_EVENT_CODE_TOUCH);
+               keyData.add(EVENT_TYPE_TOUCH_DOUSE_UP_VALUE);
+               return keyData;
+       }
+
+       private List<List<String>> getTableItemsList() {
+               if (null == tableItemsList) {
+                       tableItemsList = new ArrayList<List<String>>();
+               }
+               return tableItemsList;
+       }
+
+       public void setTableItemsList(DATableComposite replayComp) {
+               if (null == tableItemsList) {
+                       tableItemsList = new ArrayList<List<String>>();
+               }
+               for (int i = 0; i < replayComp.getTable().getItemCount(); i++) {
+                       List<String> text = new ArrayList<String>();
+                       int size = replayComp.getTable().getColumns().length;
+                       for (int j = 0; j < size + 1; j++) {
+                               text.add(replayComp.getTable().getItem(i).getText(j));
+                       }
+                       tableItemsList.add(text);
+               }
+       }
+
+}
@@ -24,7 +24,7 @@
  * 
  */
 
-package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor;
+package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data;
 
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.nl.ReplayEditLabels;
@@ -97,7 +97,7 @@ public class ReplayEditTableData {
 
        public String getModifiabilityEvent() {
                if (DragEvent) {
-                       return ReplayEditDialogDataManager.MODIFIABILITY_TRUE;
+                       return ReplayEditDataType.MODIFIABILITY_TRUE;
                }else{
                        return CommonConstants.EMPTY;
                }
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditTableDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/data/ReplayEditTableDataMaker.java
new file mode 100644 (file)
index 0000000..4abaac0
--- /dev/null
@@ -0,0 +1,239 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * HyunJong Park <phjwithyou.park@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * Contributors:
+ * - S-Core Co., Ltd
+ * 
+ */
+package org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.nl.ReplayEditLabels;
+import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
+import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
+import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
+import org.tizen.dynamicanalyzer.util.Logger;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
+
+public class ReplayEditTableDataMaker extends ReplayEditDataType {
+       private DACustomButton saveButton = null;
+       private DACustomButton okButton = null;
+       private static ReplayEditTableDataMaker instance = null;
+       private ReplayData replayDBData = null;
+       private List<ReplayEditTableData> replayModifyDataList = null;
+
+       public static ReplayEditTableDataMaker getInstance() {
+               if (null == instance) {
+                       instance = new ReplayEditTableDataMaker();
+               }
+               return instance;
+       }
+
+       public void clean() {
+               replayModifyDataList = null;
+               replayDBData = null;
+       }
+
+       public List<ReplayEditTableData> getReplayEditTableData() {
+               if (null != replayModifyDataList) {
+                       return replayModifyDataList;
+               }
+               replayModifyDataList = makeReplayEditData();
+               return replayModifyDataList;
+       }
+
+       private List<List<RecordEventObject>> makeReplayUnitList() {
+               List<List<RecordEventObject>> returnDataList = new ArrayList<List<RecordEventObject>>();
+               List<RecordEventObject> unitDataList = new ArrayList<RecordEventObject>();
+               if (null == getReplayDBData() || null == getReplayDBData().getRecordEvent()) {
+                       return returnDataList;
+               }
+               for (RecordEventObject reo : getReplayDBData().getRecordEvent()) {
+                       unitDataList.add(reo);
+                       if (reo.getEventType() == EVENT_TYPE_END_LOG) {
+                               returnDataList.add(unitDataList);
+                               unitDataList = new ArrayList<RecordEventObject>();
+                       }
+               }
+               return returnDataList;
+       }
+
+       private List<ReplayEditTableData> makeReplayEditData() {
+               List<ReplayEditTableData> returnDataList = new ArrayList<ReplayEditTableData>();
+               List<List<RecordEventObject>> replayUnitList = makeReplayUnitList();
+               if (null == replayUnitList) {
+                       return null;
+               }
+               for (List<RecordEventObject> unitList : replayUnitList) {
+                       if (isEventMouseUpTime(unitList.get(0))) {
+                               returnDataList.get(returnDataList.size() - 1).setEventMouseUpTime(
+                                               unitList.get(0).getTime());
+                               continue;
+                       }
+                       ReplayEditTableData itemData = getReplayEditTableData(unitList);
+                       returnDataList.add(itemData);
+               }
+               return returnDataList;
+       }
+
+       private ReplayEditTableData getReplayEditTableData(List<RecordEventObject> unitList) {
+               ReplayEditTableData itemData = new ReplayEditTableData();
+               for (int i = 0; i < unitList.size(); i++) {
+                       RecordEventObject reo = unitList.get(i);
+                       if (isEventEdgeLog(reo)) {
+                               continue;
+                       }
+                       if (i == 0) {
+                               itemData.setEventMouseDownTime(reo.getTime());
+                               itemData.setStrEventType(setEventType(reo.getEventType()));
+                               itemData.setEventRid(reo.getId());
+                       }
+                       setItemDataValue(itemData, reo);
+               }
+               return itemData;
+       }
+
+       public ReplayData getReplayDBData() {
+               if (null != replayDBData) {
+                       return replayDBData;
+               }
+               replayDBData = ReplayDataManager.getInstance().getReplayDBManager().getReplayLogs();
+               return replayDBData;
+       }
+
+       public void setReplayDBData(ReplayData replayData) {
+               this.replayDBData = replayData;
+       }
+
+       private boolean isEventEdgeLog(RecordEventObject reo) {
+               if (reo.getEventType() == EVENT_TYPE_END_LOG) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       private boolean isEventMouseUpTime(RecordEventObject reo) {
+               if (reo.getEventType() == EVENT_TYPE_KEY
+                               && reo.getEventValue() == EVENT_TYPE_KEY_DOUSE_UP_VALUE) {
+                       return true;
+               } else if (reo.getEventType() == EVENT_TYPE_TOUCH
+                               && reo.getEventValue() == EVENT_TYPE_TOUCH_DOUSE_UP_VALUE) {
+                       return true;
+               } else {
+                       return false;
+               }
+       }
+
+       private void setItemDataValue(ReplayEditTableData itemData, RecordEventObject reo) {
+               if (reo.getEventType() == EVENT_TYPE_KEY) {
+                       setEventTypeKeyValue(itemData, reo);
+               } else if (reo.getEventType() == EVENT_TYPE_TOUCH) {
+                       setEventTypeTouchValue(itemData, reo);
+               } else {
+                       Logger.error("Not define event type : " + reo.getEventType());
+               }
+       }
+
+       private void setEventTypeKeyValue(ReplayEditTableData itemData, RecordEventObject reo) {
+               itemData.setStrEventValue1(setEventValue1(reo.getEventCode()));
+               itemData.setStrEventValue2(CommonConstants.DASH);
+       }
+
+       private void setEventTypeTouchValue(ReplayEditTableData itemData, RecordEventObject reo) {
+               if (reo.getEventCode() == TOUCH_EVENT_CODE_TOUCH) {
+                       return;
+               }
+               if (reo.getEventCode() == TOUCH_EVENT_CODE_X) {
+                       itemData.setStrEventValue1(ReplayEditLabels.CONTEXT_VALUE_X
+                                       + Integer.toString(reo.getEventValue()));
+               } else if (reo.getEventCode() == TOUCH_EVENT_CODE_Y) {
+                       itemData.setStrEventValue2(ReplayEditLabels.CONTEXT_VALUE_Y
+                                       + Integer.toString(reo.getEventValue()));
+               } else {
+                       Logger.error("Not define key event type : " + reo.getEventCode());
+               }
+       }
+
+       private String setEventType(int type) {
+               if (type == EVENT_TYPE_KEY) {
+                       return ReplayEditLabels.CONTEXT_KEY;
+               } else if (type == EVENT_TYPE_TOUCH) {
+                       return ReplayEditLabels.CONTEXT_TOUCH;
+               } else {
+                       Logger.error("Not define set key event type : " + type);
+                       return CommonConstants.EMPTY;
+               }
+       }
+
+       private String setEventValue1(int type) {
+               String strType = CommonConstants.EMPTY;
+               switch (type) {
+               case KEY_MENU: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_MENU;
+                       break;
+               }
+               case KEY_HOME: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_HOME;
+                       break;
+               }
+               case KEY_BACK: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_BACK;
+                       break;
+               }
+               case KEY_POWER: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_POWER;
+                       break;
+               }
+               case KEY_VOLUME_DOWN: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_VOLUME_DOWN;
+                       break;
+               }
+               case KEY_VOLUME_UP: {
+                       strType = ReplayEditLabels.CONTEXT_KEY_VOLUME_UP;
+                       break;
+               }
+               default: {
+               }
+               }
+               return strType;
+       }
+
+       public DACustomButton getSaveButton() {
+               return saveButton;
+       }
+
+       public void setSaveButton(DACustomButton saveButton) {
+               this.saveButton = saveButton;
+       }
+
+       public DACustomButton getOkButton() {
+               return okButton;
+       }
+
+       public void setOkButton(DACustomButton okButton) {
+               this.okButton = okButton;
+       }
+
+}