[Title] File chart fixed
authorjy.exe.lee <jy.exe.lee@samsung.com>
Fri, 22 Jun 2012 06:26:26 +0000 (15:26 +0900)
committerjy.exe.lee <jy.exe.lee@samsung.com>
Fri, 22 Jun 2012 06:26:26 +0000 (15:26 +0900)
[Type] new feature added
[Module] DynamicAnalyzer
[Priority] major
[CQ#]
[Redmine#] 5448, 5449
[Problem]
[Cause]
[Solution]
[TestCase]

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/views/filePage/fileChart/DAFileChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/views/filePage/fileChart/DAFileChartToggleRenderer.java

index c878372..21c28b9 100644 (file)
@@ -348,6 +348,9 @@ public class DAFileChart extends Composite {
 
                        List<FileChartItemData> fdList = output.get(i).getChildern();
                        int childSize = fdList.size();
+                       if (childSize < 2) {
+                               continue;
+                       }
                        try {
                                for (int ci = 0; ci < childSize; ci++) {
                                        FileChartItemData child = fdList.get(ci);
index 81c1d8d..a385697 100644 (file)
@@ -12,7 +12,6 @@ import org.tizen.dynamicanalyzer.FontResources;
 import org.tizen.dynamicanalyzer.ImageResources;
 import org.tizen.dynamicanalyzer.model.DATableDataFormat;
 import org.tizen.dynamicanalyzer.model.FileChartItemData;
-import org.tizen.dynamicanalyzer.ui.views.filePage.FileChartView;
 
 public class DAFileChartToggleRenderer extends AbstractRenderer {
 
@@ -25,6 +24,9 @@ public class DAFileChartToggleRenderer extends AbstractRenderer {
                GridItem item = (GridItem) value;
                DATableDataFormat tableData = (DATableDataFormat) item.getData();
                Object obj = tableData.getObject();
+               int childCount = 0;
+               String childCountStr = "";
+               int childCountOffset = 0;
 
                String text = "";
                Font font = item.getFont(0);
@@ -41,6 +43,14 @@ public class DAFileChartToggleRenderer extends AbstractRenderer {
                        text = pathStr[pathStr.length - 1];
                        if (null != fuData.getParentKey()) {
                                text = "FD: " + text;
+                       } else {
+                               childCount = fuData.getChildern().size();
+                               if (childCount > 1) {
+                                       childCountStr = " " + "(" + Integer.toString(childCount)
+                                                       + ")";
+                                       Point p = gc.textExtent(childCountStr, SWT.DRAW_MNEMONIC);
+                                       childCountOffset = p.x;
+                               }
                        }
                }
 
@@ -52,16 +62,8 @@ public class DAFileChartToggleRenderer extends AbstractRenderer {
                                gc.drawImage(ImageResources.TREE_OPEN, x, getBounds().y);
                                x += r.width + 5;
                                gc.setForeground(ColorResources.WHITE);
-
-//                             Point tSize = gc.textExtent(text, SWT.DRAW_MNEMONIC);
-//                             int width = FileChartManager.FILE_CHART_FIRST_COLUMN_WIDTH - x;
-//                             String inputText = "";
-//                             if (tSize.x > width) {
-//                                     int len = (width * text.length()) / tSize.x;
-//                                     inputText += text.substring(0, len - 1);
-//                                     text = inputText + "...";
-//                             }
-                               text = checkRange(gc, text, x);
+                               text = checkRange(gc, text, x + childCountOffset)
+                                               + childCountStr;
                                gc.drawText(text, x, getBounds().y, true);
                        } else {
                                Rectangle r = ImageResources.TREE_FOLD.getBounds();
@@ -71,7 +73,8 @@ public class DAFileChartToggleRenderer extends AbstractRenderer {
                                                getBounds().y);
                                x += r.width + 5;
                                gc.setForeground(ColorResources.WHITE);
-                               text = checkRange(gc, text, x);
+                               text = checkRange(gc, text, x + childCountOffset)
+                                               + childCountStr;
                                gc.drawText(text, x, getBounds().y, true);
                        }
                } else {
@@ -87,7 +90,7 @@ public class DAFileChartToggleRenderer extends AbstractRenderer {
 
        private String checkRange(GC gc, String text, int offset) {
                Point tSize = gc.textExtent(text, SWT.DRAW_MNEMONIC);
-               int width = FileChartManager.FILE_CHART_FIRST_COLUMN_WIDTH - offset;
+               int width = FileChartManager.FILE_CHART_FIRST_COLUMN_WIDTH - offset - 10;
                String inputText = "";
                if (tSize.x > width) {
                        int len = (width * text.length()) / tSize.x;