[Title] Table/Tree search popup
authorLee <jy.exe.lee@samsung.com>
Fri, 9 Nov 2012 10:37:44 +0000 (19:37 +0900)
committerLee <jy.exe.lee@samsung.com>
Fri, 9 Nov 2012 10:37:44 +0000 (19:37 +0900)
[Desc.] Search popup window added and new logc files added
[Issue] redmine #7370

27 files changed:
org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomToggleButton.java
org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/image.logc [deleted file]
org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/scene.logc [new file with mode: 0644]
org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/screenshot.logc [new file with mode: 0644]
org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/ui_control.logc [new file with mode: 0644]
org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/ui_event.logc
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogCenterConstants.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/FindProperty.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/SnapshotData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfilingView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UserInterfaceControlListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UserInterfaceFunctionProfilingTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/FindDialog.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATreeComposite.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/TimelineUtils.java

index 58c8c6d..7497353 100644 (file)
@@ -27,6 +27,7 @@
 package org.tizen.dynamicanalyzer.widgets.button.toggle;\r
 \r
 import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.graphics.Color;\r
 import org.eclipse.swt.graphics.Image;\r
 import org.eclipse.swt.widgets.Composite;\r
 import org.eclipse.swt.widgets.Event;\r
@@ -56,6 +57,24 @@ public class DACustomToggleButton extends DACustomButton {
                addListeners();\r
        }\r
 \r
+       public DACustomToggleButton(Composite parent, Color normalStart,\r
+                       Color normalEnd, Color pushStart, Color pushEnd, Color hoverStart,\r
+                       Color hoverEnd, Color disableStart, Color disableEnd,\r
+                       Color toggleStart, Color toggleEnd) {\r
+               this(parent, SWT.NONE);\r
+               attr.setColor(0, normalStart);\r
+               attr.setColor(1, normalEnd);\r
+               attr.setColor(2, pushStart);\r
+               attr.setColor(3, pushEnd);\r
+               attr.setColor(4, hoverStart);\r
+               attr.setColor(5, hoverEnd);\r
+               attr.setColor(6, disableStart);\r
+               attr.setColor(7, disableEnd);\r
+               attr.setColor(8, toggleStart);\r
+               attr.setColor(9, toggleEnd);\r
+               attr.setDrawType(TYPE_GRADATION);\r
+       }\r
+\r
        public void setToggled(boolean toggled) {\r
                if (!toggleByButton) {\r
                        toggle = toggled;\r
diff --git a/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/image.logc b/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/image.logc
deleted file mode 100644 (file)
index fd193f5..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<BaseLogCenter xmlns="org.tizen.dynamicanalyzer">
-       <id>7</id>
-       <name>image</name>
-       <totalColumnCount>16</totalColumnCount>
-       <customColumn>false</customColumn>
-       
-       <ColumnName>Rid</ColumnName>
-       <ColumnName>ID</ColumnName>
-       <ColumnName>SeqNumber</ColumnName>
-       <ColumnName>APIName</ColumnName>
-       <ColumnName>Time</ColumnName>
-
-       <ColumnName>Pid</ColumnName>
-       <ColumnName>Tid</ColumnName>
-       <ColumnName>InputParam</ColumnName>
-       <ColumnName>Return</ColumnName>
-       <ColumnName>PCAddr</ColumnName>
-               <!-- 10 -->
-       <ColumnName>Error</ColumnName>
-       <ColumnName>InternalCall</ColumnName>
-       <ColumnName>CallerPCAddr</ColumnName>
-       <ColumnName>Size</ColumnName>
-       <ColumnName>APIType</ColumnName>
-       
-       <ColumnName>Reserved</ColumnName>
-
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       <type>INTEGER PRIMARY KEY NOT NULL</type>
-       <type>TEXT</type>
-       <type>INTEGER</type>
-
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       <type>TEXT</type>
-       <type>TEXT</type>
-       <type>INTEGER</type>
-
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       <type>INTEGER</type>
-       
-       <type>TEXT</type>
-
-
-       <ColumnSize>0</ColumnSize>
-       <ColumnSize>0</ColumnSize>
-       <ColumnSize>0</ColumnSize>
-       <ColumnSize>0</ColumnSize>
-       <ColumnSize>0</ColumnSize>
-       
-       
-       <ColumnOrder>0</ColumnOrder>
-       <ColumnOrder>1</ColumnOrder>
-       <ColumnOrder>2</ColumnOrder>
-       <ColumnOrder>3</ColumnOrder>
-       <ColumnOrder>4</ColumnOrder>
-       
-       <ColumnOrder>5</ColumnOrder>
-       <ColumnOrder>6</ColumnOrder>
-       <ColumnOrder>7</ColumnOrder>
-       <ColumnOrder>8</ColumnOrder>
-       <ColumnOrder>9</ColumnOrder>
-       
-       <ColumnOrder>10</ColumnOrder>
-       <ColumnOrder>11</ColumnOrder>
-       <ColumnOrder>12</ColumnOrder>
-       <ColumnOrder>13</ColumnOrder>
-       <ColumnOrder>14</ColumnOrder>
-       
-       <ColumnOrder>15</ColumnOrder>
-
-       
-       <ColumnVisibility>false</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
-       
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>true</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
-
-    <ColumnVisibility>false</ColumnVisibility>
-       
-       <TableColumnName>Row Id</TableColumnName>
-       <TableColumnName>ID</TableColumnName>
-       <TableColumnName>#</TableColumnName>
-       <TableColumnName>API name</TableColumnName>
-       <TableColumnName>Time</TableColumnName>
-       
-       <TableColumnName>Process id</TableColumnName>
-       <TableColumnName>Thread id</TableColumnName>
-       <TableColumnName>Input parm</TableColumnName>
-       <TableColumnName>Return</TableColumnName>
-       <TableColumnName>PC Addr</TableColumnName>
-       
-       <TableColumnName>Errno</TableColumnName>
-       <TableColumnName>Internal Call</TableColumnName>
-       <TableColumnName>Caller PC Address</TableColumnName>
-       <TableColumnName>Size</TableColumnName>
-       <TableColumnName>API type</TableColumnName>
-       
-       <TableColumnName>Reserved</TableColumnName>
-</BaseLogCenter>
\ No newline at end of file
diff --git a/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/scene.logc b/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/scene.logc
new file mode 100644 (file)
index 0000000..82e6203
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<BaseLogCenter xmlns="org.tizen.dynamicanalyzer">
+    <id>6</id>
+    <name>scene</name>
+    <totalColumnCount>20</totalColumnCount>
+    <customColumn>false</customColumn>
+    
+    <ColumnName>Rid</ColumnName>
+    <ColumnName>ID</ColumnName>
+    <ColumnName>SeqNumber</ColumnName>
+    <ColumnName>APIName</ColumnName>
+    <ColumnName>Time</ColumnName>
+
+    <ColumnName>Pid</ColumnName>
+    <ColumnName>Tid</ColumnName>
+    <ColumnName>InputParam</ColumnName>
+    <ColumnName>Return</ColumnName>
+    <ColumnName>PCAddr</ColumnName>
+        <!-- 10 -->
+    <ColumnName>Error</ColumnName>
+    <ColumnName>InternalCall</ColumnName>
+    <ColumnName>CallerPCAddr</ColumnName>
+    <ColumnName>SceneName</ColumnName>
+    <ColumnName>FormName</ColumnName>
+
+    <ColumnName>FormPointer</ColumnName>
+    <ColumnName>PanelName</ColumnName>
+    <ColumnName>PanelPointer</ColumnName>
+    <ColumnName>Direction</ColumnName>
+    <ColumnName>Reserved</ColumnName>
+    
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER PRIMARY KEY NOT NULL</type>
+    <type>TEXT</type>
+    <type>INTEGER</type>
+
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+
+    <ColumnSize>100</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>80</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    
+    
+    <ColumnOrder>0</ColumnOrder>
+    <ColumnOrder>1</ColumnOrder>
+    <ColumnOrder>2</ColumnOrder>
+    <ColumnOrder>3</ColumnOrder>
+    <ColumnOrder>4</ColumnOrder>
+    
+    <ColumnOrder>5</ColumnOrder>
+    <ColumnOrder>6</ColumnOrder>
+    <ColumnOrder>7</ColumnOrder>
+    <ColumnOrder>8</ColumnOrder>
+    <ColumnOrder>9</ColumnOrder>
+    
+    <ColumnOrder>10</ColumnOrder>
+    <ColumnOrder>11</ColumnOrder>
+    <ColumnOrder>12</ColumnOrder>
+    <ColumnOrder>13</ColumnOrder>
+    <ColumnOrder>14</ColumnOrder>
+    
+    <ColumnOrder>15</ColumnOrder>
+    <ColumnOrder>16</ColumnOrder>
+    <ColumnOrder>17</ColumnOrder>
+    <ColumnOrder>18</ColumnOrder>
+    <ColumnOrder>19</ColumnOrder>
+    
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    
+    <TableColumnName>Row Id</TableColumnName>
+    <TableColumnName>ID</TableColumnName>
+    <TableColumnName>#</TableColumnName>
+    <TableColumnName>API name</TableColumnName>
+    <TableColumnName>Time</TableColumnName>
+    
+    <TableColumnName>Process id</TableColumnName>
+    <TableColumnName>Thread id</TableColumnName>
+    <TableColumnName>Input parm</TableColumnName>
+    <TableColumnName>Return</TableColumnName>
+    <TableColumnName>PC Addr</TableColumnName>
+    
+    <TableColumnName>Errno</TableColumnName>
+    <TableColumnName>Internal call</TableColumnName>
+    <TableColumnName>Caller PCaddr</TableColumnName>
+    <TableColumnName>Scene name</TableColumnName>
+    <TableColumnName>Form name</TableColumnName>
+    
+    <TableColumnName>Form pointer</TableColumnName>
+    <TableColumnName>Panel name</TableColumnName>
+    <TableColumnName>Panel pointer</TableColumnName>
+    <TableColumnName>Direction</TableColumnName>
+    <TableColumnName>Reserved</TableColumnName>
+    
+</BaseLogCenter>
\ No newline at end of file
diff --git a/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/screenshot.logc b/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/screenshot.logc
new file mode 100644 (file)
index 0000000..70b4205
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<BaseLogCenter xmlns="org.tizen.dynamicanalyzer">
+    <id>7</id>
+    <name>screenshot</name>
+    <totalColumnCount>15</totalColumnCount>
+    <customColumn>false</customColumn>
+    
+    <ColumnName>Rid</ColumnName>
+    <ColumnName>ID</ColumnName>
+    <ColumnName>SeqNumber</ColumnName>
+    <ColumnName>APIName</ColumnName>
+    <ColumnName>Time</ColumnName>
+
+    <ColumnName>Pid</ColumnName>
+    <ColumnName>Tid</ColumnName>
+    <ColumnName>InputParam</ColumnName>
+    <ColumnName>Return</ColumnName>
+    <ColumnName>PCAddr</ColumnName>
+        <!-- 10 -->
+    <ColumnName>Error</ColumnName>
+    <ColumnName>InternalCall</ColumnName>
+    <ColumnName>CallerPCAddr</ColumnName>
+    <ColumnName>ImageFilePath</ColumnName>
+    <ColumnName>Reserved</ColumnName>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER PRIMARY KEY NOT NULL</type>
+    <type>TEXT</type>
+    <type>INTEGER</type>
+
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+
+    <ColumnSize>100</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>80</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    
+    
+    <ColumnOrder>0</ColumnOrder>
+    <ColumnOrder>1</ColumnOrder>
+    <ColumnOrder>2</ColumnOrder>
+    <ColumnOrder>3</ColumnOrder>
+    <ColumnOrder>4</ColumnOrder>
+    
+    <ColumnOrder>5</ColumnOrder>
+    <ColumnOrder>6</ColumnOrder>
+    <ColumnOrder>7</ColumnOrder>
+    <ColumnOrder>8</ColumnOrder>
+    <ColumnOrder>9</ColumnOrder>
+    
+    <ColumnOrder>10</ColumnOrder>
+    <ColumnOrder>11</ColumnOrder>
+    <ColumnOrder>12</ColumnOrder>
+    <ColumnOrder>13</ColumnOrder>
+    <ColumnOrder>14</ColumnOrder>
+    
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <TableColumnName>Row Id</TableColumnName>
+    <TableColumnName>ID</TableColumnName>
+    <TableColumnName>#</TableColumnName>
+    <TableColumnName>API name</TableColumnName>
+    <TableColumnName>Time</TableColumnName>
+    
+    <TableColumnName>Process id</TableColumnName>
+    <TableColumnName>Thread id</TableColumnName>
+    <TableColumnName>Input parm</TableColumnName>
+    <TableColumnName>Return</TableColumnName>
+    <TableColumnName>PC Addr</TableColumnName>
+    
+    <TableColumnName>Errno</TableColumnName>
+    <TableColumnName>Internal Call</TableColumnName>
+    <TableColumnName>CallerPCAddr</TableColumnName>
+    <TableColumnName>ImageFilePath</TableColumnName>
+    <TableColumnName>Reserved</TableColumnName>
+    
+</BaseLogCenter>
\ No newline at end of file
diff --git a/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/ui_control.logc b/org.tizen.dynamicanalyzer.workbench/dynamic-analyzer/xml/ui_control.logc
new file mode 100644 (file)
index 0000000..77b98f3
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<BaseLogCenter xmlns="org.tizen.dynamicanalyzer">
+    <id>3</id>
+    <name>ui_control</name>
+    <totalColumnCount>18</totalColumnCount>
+    <customColumn>false</customColumn>
+    
+    <ColumnName>Rid</ColumnName>
+    <ColumnName>ID</ColumnName>
+    <ColumnName>SeqNumber</ColumnName>
+    <ColumnName>APIName</ColumnName>
+    <ColumnName>Time</ColumnName>
+
+    <ColumnName>Pid</ColumnName>
+    <ColumnName>Tid</ColumnName>
+    <ColumnName>InputParam</ColumnName>
+    <ColumnName>Return</ColumnName>
+    <ColumnName>PCAddr</ColumnName>
+        <!-- 10 -->
+    <ColumnName>Error</ColumnName>
+    <ColumnName>InternalCall</ColumnName>
+    <ColumnName>CallerPCAddr</ColumnName>
+    <ColumnName>ParentName</ColumnName>
+    <ColumnName>ParentPointer</ColumnName>
+    
+    <ColumnName>ChildName</ColumnName>
+    <ColumnName>ChildPointer</ColumnName>
+    <ColumnName>Reserved</ColumnName>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER PRIMARY KEY NOT NULL</type>
+    <type>TEXT</type>
+    <type>INTEGER</type>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+    <type>TEXT</type>
+
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    <type>INTEGER</type>
+    
+    <type>TEXT</type>
+    <type>INTEGER</type>
+    <type>TEXT</type>
+    
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    <ColumnSize>0</ColumnSize>
+    
+    
+    <ColumnOrder>0</ColumnOrder>
+    <ColumnOrder>1</ColumnOrder>
+    <ColumnOrder>2</ColumnOrder>
+    <ColumnOrder>3</ColumnOrder>
+    <ColumnOrder>4</ColumnOrder>
+    
+    <ColumnOrder>5</ColumnOrder>
+    <ColumnOrder>6</ColumnOrder>
+    <ColumnOrder>7</ColumnOrder>
+    <ColumnOrder>8</ColumnOrder>
+    <ColumnOrder>9</ColumnOrder>
+    
+    <ColumnOrder>10</ColumnOrder>
+    <ColumnOrder>11</ColumnOrder>
+    <ColumnOrder>12</ColumnOrder>
+    <ColumnOrder>13</ColumnOrder>
+    <ColumnOrder>14</ColumnOrder>
+    
+    <ColumnOrder>15</ColumnOrder>
+    <ColumnOrder>16</ColumnOrder>
+    <ColumnOrder>17</ColumnOrder>
+    
+    
+    <ColumnVisibility>false</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
+    
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+
+    
+    <TableColumnName>Row Id</TableColumnName>
+    <TableColumnName>ID</TableColumnName>
+    <TableColumnName>#</TableColumnName>
+    <TableColumnName>API name</TableColumnName>
+    <TableColumnName>Time</TableColumnName>
+    
+    <TableColumnName>Process id</TableColumnName>
+    <TableColumnName>Thread id</TableColumnName>
+    <TableColumnName>Input parm</TableColumnName>
+    <TableColumnName>Return</TableColumnName>
+    <TableColumnName>PC Addr</TableColumnName>
+    
+    <TableColumnName>Errno</TableColumnName>
+    <TableColumnName>Internal Call</TableColumnName>
+    <TableColumnName>Call PC Address</TableColumnName>
+    <TableColumnName>Parent name</TableColumnName>
+    <TableColumnName>Parent pointer</TableColumnName>
+    
+    <TableColumnName>Child name</TableColumnName>
+    <TableColumnName>Child pointer</TableColumnName>
+    <TableColumnName>Reserved</TableColumnName>
+</BaseLogCenter>
\ No newline at end of file
index b8a0d48..4fff5da 100644 (file)
@@ -2,7 +2,7 @@
 <BaseLogCenter xmlns="org.tizen.dynamicanalyzer">
        <id>3</id>
        <name>ui_event</name>
-       <totalColumnCount>17</totalColumnCount>
+       <totalColumnCount>20</totalColumnCount>
        <customColumn>false</customColumn>
        
        <ColumnName>Rid</ColumnName>
        <ColumnName>Error</ColumnName>
        <ColumnName>InternalCall</ColumnName>
        <ColumnName>CallerPCAddr</ColumnName>
+       <ColumnName>EventType</ColumnName>
+    <ColumnName>DetailType</ColumnName>
+    
        <ColumnName>x</ColumnName>
        <ColumnName>y</ColumnName>
-       
-       <ColumnName>eventType</ColumnName>
+       <ColumnName>info1</ColumnName>
+       <ColumnName>info2</ColumnName>
        <ColumnName>Reserved</ColumnName>
 
        <type>INTEGER</type>
@@ -45,6 +48,9 @@
        <type>INTEGER</type>
        
        <type>INTEGER</type>
+    <type>INTEGER</type>
+    <type>INTEGER</type>
+       <type>INTEGER</type>
        <type>TEXT</type>
        
        <ColumnSize>0</ColumnSize>
        
        
        <ColumnOrder>0</ColumnOrder>
-       <ColumnOrder>1</ColumnOrder>
-       <ColumnOrder>2</ColumnOrder>
-       <ColumnOrder>3</ColumnOrder>
-       <ColumnOrder>4</ColumnOrder>
-       
-       <ColumnOrder>11</ColumnOrder>
-       <ColumnOrder>12</ColumnOrder>
-       <ColumnOrder>9</ColumnOrder>
-       <ColumnOrder>13</ColumnOrder>
-       <ColumnOrder>7</ColumnOrder>
-
-       <ColumnOrder>8</ColumnOrder>
-       <ColumnOrder>10</ColumnOrder>
-       <ColumnOrder>5</ColumnOrder>
-       <ColumnOrder>6</ColumnOrder>
-       <ColumnOrder>14</ColumnOrder>
-       
-       <ColumnOrder>15</ColumnOrder>
-       <ColumnOrder>16</ColumnOrder>
+    <ColumnOrder>1</ColumnOrder>
+    <ColumnOrder>2</ColumnOrder>
+    <ColumnOrder>3</ColumnOrder>
+    <ColumnOrder>4</ColumnOrder>
+    
+    <ColumnOrder>5</ColumnOrder>
+    <ColumnOrder>6</ColumnOrder>
+    <ColumnOrder>7</ColumnOrder>
+    <ColumnOrder>8</ColumnOrder>
+    <ColumnOrder>9</ColumnOrder>
+    
+    <ColumnOrder>10</ColumnOrder>
+    <ColumnOrder>11</ColumnOrder>
+    <ColumnOrder>12</ColumnOrder>
+    <ColumnOrder>13</ColumnOrder>
+    <ColumnOrder>14</ColumnOrder>
+    
+    <ColumnOrder>15</ColumnOrder>
+    <ColumnOrder>16</ColumnOrder>
+    <ColumnOrder>17</ColumnOrder>
+    <ColumnOrder>18</ColumnOrder>
+    <ColumnOrder>19</ColumnOrder>
        
        
        <ColumnVisibility>false</ColumnVisibility>
        <ColumnVisibility>false</ColumnVisibility>
        <ColumnVisibility>false</ColumnVisibility>
        
-       <ColumnVisibility>false</ColumnVisibility>
-       <ColumnVisibility>false</ColumnVisibility>
+       <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>true</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
+    <ColumnVisibility>false</ColumnVisibility>
 
        
        <TableColumnName>Row Id</TableColumnName>
        <TableColumnName>Errno</TableColumnName>
        <TableColumnName>Internal Call</TableColumnName>
        <TableColumnName>Call PC Address</TableColumnName>
+       <TableColumnName>Event type</TableColumnName>
+    <TableColumnName>Detail type</TableColumnName>
+       
        <TableColumnName>X</TableColumnName>
        <TableColumnName>Y</TableColumnName>
-       
-       <TableColumnName>Event type</TableColumnName>
+       <TableColumnName>Info1</TableColumnName>
+       <TableColumnName>Info2</TableColumnName>
        <TableColumnName>Reserved</TableColumnName>
 </BaseLogCenter>
\ No newline at end of file
index c43b7fa..8e0f3d2 100644 (file)
@@ -115,6 +115,7 @@ public class AnalyzerConstants {
        public static final int ERROR_EXTENSION_FAIL = -1;\r
        public static final int SUCCESS = 1;\r
        public static final int ERROR_SAVE_FAIL = 0;\r
+       public static final int FAIL = -2;\r
 \r
        /* data size */\r
        public static final int INSERT_DATA_PACKAGE_SIZE = 80;\r
index f317335..5dcd713 100644 (file)
@@ -237,7 +237,7 @@ public class OpenTraceHandler extends AbstractHandler {
        }\r
 \r
        private void loadImageSet(Project p) {\r
-               ResultSet rs = SqlManager.selectAllFromTable("image"); //$NON-NLS-1$\r
+               ResultSet rs = SqlManager.selectAllFromTable("screenshot"); //$NON-NLS-1$\r
                if (null == rs) {\r
                        return;\r
                }\r
index d5b4ab6..c493858 100644 (file)
@@ -34,7 +34,7 @@ public class LogCenterConstants {
        public static final int LOG_USER_FUNCTION = 4;
        public static final int LOG_RESOURCE = 5;
        public static final int LOG_LIFECYCLE = 6;
-       public static final int LOG_IMAGE = 7;
+       public static final int LOG_SNAPSHOT = 7;
        public static final int LOG_DEVICE = 9;
        public static final int LOG_SAMPLE = 11;
        public static final int LOG_SYSTEM = 12;
index d89ce8d..b3fc63d 100644 (file)
@@ -280,7 +280,7 @@ public class LogParser implements Runnable {
                        }
                }
 
-               if (id == LogCenterConstants.LOG_IMAGE) {
+               if (id == LogCenterConstants.LOG_SNAPSHOT) {
                        ImageInfo imgInfo = new ImageInfo();
                        imgInfo.setSeq(input.get(LogCenterConstants.SEQUENCE_NUMBER_INDEX));
                        imgInfo.setTime(input.get(LogCenterConstants.TIME_INDEX));
index 1993320..66abb62 100644 (file)
@@ -135,7 +135,7 @@ public class MessageProcess {
                                buffer.add(messages[1]);
                                messageCount += 1;
                                break;
-                       case AnalyzerConstants.MSG_IMAGE: /* image : 6 */
+                       case AnalyzerConstants.MSG_IMAGE: /* screenshot : 6 */
                                processImage(messages[1]);
                                break;
                        case AnalyzerConstants.MSG_TERMINATE: /* terminate : 7 */
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/FindProperty.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/FindProperty.java
new file mode 100644 (file)
index 0000000..0ab85fe
--- /dev/null
@@ -0,0 +1,60 @@
+package org.tizen.dynamicanalyzer.model;
+
+import org.tizen.dynamicanalyzer.common.CommonConstants;
+
+public class FindProperty {
+       private boolean backward;
+       private boolean caseSensitive;
+       private boolean wholeWord;
+       private int index;
+       private String lastSearch;
+
+       public FindProperty() {
+               backward = false;
+               caseSensitive = false;
+               wholeWord = false;
+               index = -1;
+               lastSearch = CommonConstants.EMPTY;
+       }
+
+       public String getLastSearch() {
+               return lastSearch;
+       }
+
+       public void setLastSearch(String lastSearch) {
+               this.lastSearch = lastSearch;
+       }
+
+       public boolean isBackward() {
+               return backward;
+       }
+
+       public void setBackward(boolean backward) {
+               this.backward = backward;
+       }
+
+       public boolean isCaseSensitive() {
+               return caseSensitive;
+       }
+
+       public void setCaseSensitive(boolean caseSensitive) {
+               this.caseSensitive = caseSensitive;
+       }
+
+       public boolean isWholeWord() {
+               return wholeWord;
+       }
+
+       public void setWholeWord(boolean wholeWord) {
+               this.wholeWord = wholeWord;
+       }
+
+       public int getIndex() {
+               return index;
+       }
+
+       public void setIndex(int index) {
+               this.index = index;
+       }
+
+}
index d2b6e87..196128c 100644 (file)
@@ -44,7 +44,7 @@ import org.tizen.dynamicanalyzer.utils.ImageUtil;
 
 
 public class SnapshotData {
-
+       private final String SNAPSHOT = "snapshot";
     private static SnapshotData snapshotData = new SnapshotData();
 
     private List<SnapShotInfo> infos = new ArrayList<SnapShotInfo>();
@@ -131,11 +131,11 @@ public class SnapshotData {
     }
 
     private String query() {
-        return "select * from image"; //$NON-NLS-1$
+        return "select * from " + SNAPSHOT; //$NON-NLS-1$
     }
 
     private String query(String min, String max) {
-        return "select * from image where time <= " + max + " and time > " //$NON-NLS-1$ //$NON-NLS-2$
+        return "select * from " + SNAPSHOT + " where time <= " + max + " and time > " //$NON-NLS-1$ //$NON-NLS-2$
                 + min + " ;"; //$NON-NLS-1$
     }
 
@@ -144,7 +144,7 @@ public class SnapshotData {
             return;
         }
 
-        LogCenter logc = AnalyzerManager.getLogCenterById(LogCenterConstants.LOG_IMAGE);
+        LogCenter logc = AnalyzerManager.getLogCenterById(LogCenterConstants.LOG_SNAPSHOT);
         if (null == logc) {
             return;
         }
index 93e5fce..297fb04 100644 (file)
@@ -60,6 +60,7 @@ public class CallstackView extends DAView {
                contents.setLayout(new FillLayout());
                callstackTableComp = new CallstackTable(contents, SWT.NONE, SWT.SINGLE
                                | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
+               callstackTableComp.setTableName("Callstack");
                callstackTableComp.setColumns(columnNames);
                callstackTableComp.setColumnSize(columnSizes);
                callstackTableComp.setColumnVisibility(columnVisibility);
index 20de9a3..be805c7 100644 (file)
@@ -79,6 +79,7 @@ public class FailedApiListView extends DAView {
                contents.setLayout(new FillLayout());
                tableComp = new FailedApiTable(contents, SWT.NONE, SWT.SINGLE
                                | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
+               tableComp.setTableName("Failed APIs");
                tableComp.setComparator(new TableComparator());
                tableComp.setSortTypes(sortTypes);
                tableComp.setSourceColumns(sourceColumns);
index f3e3738..0bb9448 100644 (file)
@@ -52,7 +52,7 @@ public class LeakTable extends DATreeComposite {
 
        public LeakTable(Composite parent, int compStyle, int tableStyle) {
                super(parent, compStyle, tableStyle);
-               setSelValueIndex(LeakData.LEAK_SEQ_INDEX);
+//             setSelValueIndex(LeakData.LEAK_SEQ_INDEX);
 
                tree.addListener(SWT.Expand, new Listener() {
 
index 2278d81..4a3d99d 100644 (file)
@@ -76,7 +76,7 @@ public class FunctionUsageProfilingView extends DAView {
                contents.setBackground(ColorResources.WINDOW_BG_COLOR);
                contents.setLayout(new FillLayout());
                treeComp = new ProfilingTable(contents, SWT.NONE, SWT.SINGLE
-                               | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
+                               | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
                /*** setTree set first!!! ***/
                treeComp.setTree(true);
                treeComp.setSortTypes(sortTypes);
index ffa4632..57cc8c4 100644 (file)
@@ -56,7 +56,7 @@ public class ProfilingTable extends DATreeComposite {
        public ProfilingTable(Composite parent, int compStyle, int tableStyle) {
                super(parent, compStyle, tableStyle);
                setComparator(new TreeDataComparator());
-               setSelValueIndex(0);
+//             setSelValueIndex(0);
 
                comparator.setType(AnalyzerConstants.SORT_TYPE_NUM);
                comparator.setColumn(2);
index f0c5074..65efc29 100644 (file)
@@ -65,6 +65,7 @@ public class WarningListView extends DAView {
                contents.setLayout(new FillLayout());
                tableComp = new WarningTable(contents, SWT.NONE, SWT.SINGLE | SWT.BORDER
                                | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
+               tableComp.setTableName("Warning List");
                tableComp.setComparator(new TableComparator());
                tableComp.setSortTypes(sortTypes);
                tableComp.setSourceColumns(sourceColumns);
index 17c921e..df1e73d 100644 (file)
@@ -75,7 +75,7 @@ public class CallTraceView extends DAView {
                contents.setLayout(new FillLayout());
                tableComp = new CallTraceTable(contents, SWT.NONE, SWT.MULTI
                                | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-
+               tableComp.setTableName("Calltrace");  // test
                tableComp.setComparator(new TableComparator());
                tableComp.setSortTypes(sortTypes);
                tableComp.setSourceColumns(sourceColumns);
index 34559a5..b71b571 100755 (executable)
@@ -75,10 +75,6 @@ public class UserCustomChart extends TimelineChart {
        }
 
        @Override
-       public void dispose() {
-       }
-       
-       @Override
        public void parsingLogPackage(LogPackage logPack, int probeType) {
                if (!isAbleToParse(logPack, LogCenterConstants.LOG_DEVICE)) {
                        return;
index 93d7e1c..baf0758 100644 (file)
@@ -5,16 +5,12 @@ import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
-import org.tizen.dynamicanalyzer.common.DASelectionData;
-import org.tizen.dynamicanalyzer.listeners.TableTooltipListener;
 import org.tizen.dynamicanalyzer.model.DAView;
 import org.tizen.dynamicanalyzer.nl.UserInterfacePageLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.ui.file.FileApiListView;
 import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfilingData;
-import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfilingTable;
 import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer;
-import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
 
 public class UserInterfaceControlListView extends DAView {
 
index e260f2b..7055a6c 100644 (file)
@@ -68,7 +68,7 @@ public class UserInterfaceFunctionProfilingTable extends DATreeComposite {
                        int tableStyle) {
                super(parent, compStyle, tableStyle);
                setComparator(new TreeDataComparator());
-               setSelValueIndex(0);
+//             setSelValueIndex(0);
 
                comparator.setType(AnalyzerConstants.SORT_TYPE_NUM);
                comparator.setColumn(2);
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/FindDialog.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/FindDialog.java
new file mode 100644 (file)
index 0000000..0e60ceb
--- /dev/null
@@ -0,0 +1,313 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * Jooyoul Lee <jy.exe.lee@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.widgets;
+
+import org.eclipse.nebula.widgets.grid.Grid;
+import org.eclipse.nebula.widgets.grid.GridItem;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
+import org.tizen.dynamicanalyzer.common.DesignConstants;
+import org.tizen.dynamicanalyzer.model.FindProperty;
+import org.tizen.dynamicanalyzer.resources.ColorResources;
+import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
+import org.tizen.dynamicanalyzer.ui.widgets.table.DATreeComposite;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener;
+import org.tizen.dynamicanalyzer.widgets.button.toggle.DACustomToggleButton;
+
+public class FindDialog extends DAMessageBox {
+
+       private Text textBox = null;
+       private DAButton findButton = null;
+       private DACustomButton forwardButton = null;
+       private DACustomButton backwardButton = null;
+       private DACustomToggleButton caseButton = null;
+       private DACustomToggleButton wholeWordButton = null;
+
+       private FindProperty findProperty = null;
+
+       private Grid table = null;
+       private String viewName = null;
+       private Composite composite = null;
+
+       public FindDialog(Shell parentShell, Composite comp) {
+               super(parentShell);
+               if (comp instanceof DATableComposite) {
+                       this.table = ((DATableComposite) comp).getTable();
+                       viewName = ((DATableComposite) comp).getTableName();
+               } else if (comp instanceof DATreeComposite) {
+                       this.table = ((DATreeComposite) comp).getTable();
+                       viewName = ((DATreeComposite) comp).getTableName();
+               } else {
+                       table = null;
+               }
+               this.composite = comp;
+               findProperty = DATableComposite.getFindProferty();
+               findProperty.setIndex(table.getSelectionIndex());
+       }
+
+       protected int run() {
+               if (null == table) {
+                       return AnalyzerConstants.FAIL;
+               }
+               shell.setLayout(new FormLayout());
+               shell.setSize(340, 130);
+               shell.setBackground(ColorResources.DIALOG_BG_UPPER);
+               shell.setText("Find from " + viewName + " table");
+
+               textBox = new Text(shell, SWT.SINGLE);
+               FormData data = new FormData();
+               data.top = new FormAttachment(0, 11);
+               data.left = new FormAttachment(0, 9);
+               data.height = 22;
+               data.width = 200;
+               textBox.setLayoutData(data);
+               textBox.setBackground(ColorResources.VIEW_BG_COLOR);
+               textBox.addKeyListener(keyListener);
+               textBox.setText(findProperty.getLastSearch());
+               textBox.setSelection(0, findProperty.getLastSearch().length());
+
+               findButton = new DAButton(shell, SWT.NONE);
+               data = new FormData();
+               data.top = new FormAttachment(0, 11);
+               data.left = new FormAttachment(textBox, 9);
+               data.height = 25;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               findButton.setLayoutData(data);
+               findButton.setText("Find");
+               findButton.addClickListener(fnidButtonListener);
+
+               Label directionLabel = new Label(shell, SWT.TRANSPARENT);
+               data = new FormData();
+               data.top = new FormAttachment(textBox, 11);
+               data.left = new FormAttachment(0, 15);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               directionLabel.setLayoutData(data);
+               directionLabel.setText("Direction :");
+               directionLabel.setBackground(ColorResources.DIALOG_BG_UPPER);
+
+               forwardButton = new DACustomButton(shell,
+                               ColorResources.TAB_NORMAL_COLOR_START,
+                               ColorResources.TAB_NORMAL_COLOR_END,
+                               ColorResources.TAB_PUSH_COLOR_START,
+                               ColorResources.TAB_PUSH_COLOR_END,
+                               ColorResources.TAB_HOVER_COLOR_START,
+                               ColorResources.TAB_HOVER_COLOR_END,
+                               ColorResources.TAB_SELECTED_COLOR_START,
+                               ColorResources.TAB_SELECTED_COLOR_END);
+               data = new FormData();
+               data.top = new FormAttachment(textBox, 10);
+               data.left = new FormAttachment(directionLabel, 0);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               forwardButton.setLayoutData(data);
+               forwardButton.setText("Forward");
+               forwardButton.setEnabled(findProperty.isBackward());
+               forwardButton.addClickListener(forwardButtonListener);
+
+               backwardButton = new DACustomButton(shell,
+                               ColorResources.TAB_NORMAL_COLOR_START,
+                               ColorResources.TAB_NORMAL_COLOR_END,
+                               ColorResources.TAB_PUSH_COLOR_START,
+                               ColorResources.TAB_PUSH_COLOR_END,
+                               ColorResources.TAB_HOVER_COLOR_START,
+                               ColorResources.TAB_HOVER_COLOR_END,
+                               ColorResources.TAB_SELECTED_COLOR_START,
+                               ColorResources.TAB_SELECTED_COLOR_END);
+               data = new FormData();
+               data.top = new FormAttachment(textBox, 10);
+               data.left = new FormAttachment(forwardButton, 1);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               backwardButton.setLayoutData(data);
+               backwardButton.setText("Backward");
+               backwardButton.setEnabled(!findProperty.isBackward());
+               backwardButton.addClickListener(backwardButtonListener);
+
+               Label optionLabel = new Label(shell, SWT.TRANSPARENT);
+               data = new FormData();
+               data.top = new FormAttachment(directionLabel, 5);
+               data.left = new FormAttachment(0, 15);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               optionLabel.setLayoutData(data);
+               optionLabel.setText("Option ;");
+               optionLabel.setBackground(ColorResources.DIALOG_BG_UPPER);
+
+               caseButton = new DACustomToggleButton(shell,
+                               ColorResources.TAB_NORMAL_COLOR_START,
+                               ColorResources.TAB_NORMAL_COLOR_END,
+                               ColorResources.TAB_PUSH_COLOR_START,
+                               ColorResources.TAB_PUSH_COLOR_END,
+                               ColorResources.TAB_HOVER_COLOR_START,
+                               ColorResources.TAB_HOVER_COLOR_END,
+                               ColorResources.BUTTON_DISABLE_COLOR_START,
+                               ColorResources.BUTTON_DISABLE_COLOR_END,
+                               ColorResources.TAB_SELECTED_COLOR_START,
+                               ColorResources.TAB_SELECTED_COLOR_END);
+               data = new FormData();
+               data.top = new FormAttachment(forwardButton, 5);
+               data.left = new FormAttachment(optionLabel, 0);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               caseButton.setLayoutData(data);
+               caseButton.setText("Case Sensitive");
+               caseButton.addClickListener(caseButtonListener);
+               caseButton.setToggled(findProperty.isCaseSensitive());
+
+               wholeWordButton = new DACustomToggleButton(shell,
+                               ColorResources.TAB_NORMAL_COLOR_START,
+                               ColorResources.TAB_NORMAL_COLOR_END,
+                               ColorResources.TAB_PUSH_COLOR_START,
+                               ColorResources.TAB_PUSH_COLOR_END,
+                               ColorResources.TAB_HOVER_COLOR_START,
+                               ColorResources.TAB_HOVER_COLOR_END,
+                               ColorResources.BUTTON_DISABLE_COLOR_START,
+                               ColorResources.BUTTON_DISABLE_COLOR_END,
+                               ColorResources.TAB_SELECTED_COLOR_START,
+                               ColorResources.TAB_SELECTED_COLOR_END);
+               data = new FormData();
+               data.top = new FormAttachment(forwardButton, 5);
+               data.left = new FormAttachment(caseButton, 1);
+               data.height = 20;
+               data.width = DesignConstants.DA_BUTTON_WIDTH;
+               wholeWordButton.setLayoutData(data);
+               wholeWordButton.setText("Whole Word");
+               wholeWordButton.addClickListener(wholeWordButtonListener);
+               wholeWordButton.setToggled(findProperty.isWholeWord());
+
+               return result;
+       }
+
+       private DACustomButtonClickEventListener fnidButtonListener = new DACustomButtonClickEventListener() {
+
+               @Override
+               public void handleClickEvent(DACustomButton button) {
+                       findProperty.setLastSearch(textBox.getText());
+                       if (executeFindCommand()) {
+                               result = AnalyzerConstants.SUCCESS;
+                       }
+               }
+       };
+
+       private KeyListener keyListener = new KeyListener() {
+
+               @Override
+               public void keyReleased(KeyEvent e) {
+                       if (null != textBox.getText() && !textBox.getText().isEmpty()) {
+                               findButton.setEnabled(true);
+                       } else {
+                               findButton.setEnabled(false);
+                       }
+               }
+
+               @Override
+               public void keyPressed(KeyEvent e) {
+
+               }
+       };
+
+       private DACustomButtonClickEventListener forwardButtonListener = new DACustomButtonClickEventListener() {
+
+               @Override
+               public void handleClickEvent(DACustomButton button) {
+                       findProperty.setBackward(false);
+                       if (!backwardButton.isEnabled()) {
+                               backwardButton.setEnabled(true);
+                       }
+                       forwardButton.setEnabled(false);
+               }
+       };
+
+       private DACustomButtonClickEventListener backwardButtonListener = new DACustomButtonClickEventListener() {
+
+               @Override
+               public void handleClickEvent(DACustomButton button) {
+                       findProperty.setBackward(true);
+                       if (!forwardButton.isEnabled()) {
+                               forwardButton.setEnabled(true);
+                       }
+                       backwardButton.setEnabled(false);
+               }
+       };
+
+       private DACustomButtonClickEventListener caseButtonListener = new DACustomButtonClickEventListener() {
+
+               @Override
+               public void handleClickEvent(DACustomButton button) {
+                       findProperty.setCaseSensitive(!findProperty.isCaseSensitive());
+                       caseButton.setToggled(findProperty.isCaseSensitive());
+               }
+       };
+
+       private DACustomButtonClickEventListener wholeWordButtonListener = new DACustomButtonClickEventListener() {
+
+               @Override
+               public void handleClickEvent(DACustomButton button) {
+                       findProperty.setWholeWord(!findProperty.isWholeWord());
+                       wholeWordButton.setToggled(findProperty.isWholeWord());
+               }
+       };
+
+       private boolean executeFindCommand() {
+
+               int index = findProperty.getIndex();
+               GridItem[] items = table.getItems();
+               int itemCount = items.length;
+
+               if (itemCount != 0) {
+                       if (findProperty.isBackward()) {
+                               index = (index - 1 < 0) ? itemCount - 1 : index - 1;
+                       } else {
+
+                               index = (index + 1 > itemCount - 1) ? 0 : index + 1;
+                       }
+                       int findIndex = -1;
+                       findProperty.setIndex(index);
+                       if (composite instanceof DATableComposite) {
+                               findIndex = ((DATableComposite) composite).search(findProperty);
+                       } else if (composite instanceof DATreeComposite) {
+                               findIndex = ((DATreeComposite) composite).search(findProperty);
+                       } else {
+                               return false;
+                       }
+                       findProperty.setIndex(findIndex);
+                       return true;
+               }
+               return false;
+       }
+}
index 2ce944d..6e792b8 100644 (file)
@@ -35,22 +35,34 @@ import org.eclipse.nebula.widgets.grid.Grid;
 import org.eclipse.nebula.widgets.grid.GridColumn;
 import org.eclipse.nebula.widgets.grid.GridItem;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+import org.tizen.dynamicanalyzer.common.CommonConstants;
 import org.tizen.dynamicanalyzer.listeners.TableTooltipListener;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
+import org.tizen.dynamicanalyzer.model.FindProperty;
 import org.tizen.dynamicanalyzer.model.LogCenter;
 import org.tizen.dynamicanalyzer.model.TableInput;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.ui.widgets.FindDialog;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public abstract class DATableComposite extends Composite {
 
+       // for find
+       private String tableName = CommonConstants.EMPTY;
+       private DATableComposite me = null;
+       private static FindProperty findProferty;
+       private boolean ctrlPressed = false;
+
        protected Grid table;
        protected int itemCount = 0;
        protected List<Integer> selectionIndex;
@@ -125,6 +137,38 @@ public abstract class DATableComposite extends Composite {
 
                        }
                });
+
+               table.addKeyListener(new KeyListener() {
+
+                       @Override
+                       public void keyReleased(KeyEvent e) {
+
+                               if (SWT.CTRL == e.keyCode) {
+                                       System.out.println("ctrl released!");
+                                       ctrlPressed = false;
+                               } else if (e.keyCode == 102) { // f
+                                       if (ctrlPressed) {
+                                               ctrlPressed = false;
+                                               Shell shell = AnalyzerUtil.getWorkbenchWindow()
+                                                               .getShell();
+                                               FindDialog dialog = new FindDialog(shell, me);
+                                               dialog.open();
+                                               System.out.println("ctrl + f released!!");
+                                               // FIXME: debug
+                                       }
+                               }
+
+                       }
+
+                       @Override
+                       public void keyPressed(KeyEvent e) {
+                               if (SWT.CTRL == e.keyCode) {
+                                       ctrlPressed = true;
+                               }
+                       }
+               });
+
+               me = this;
        }
 
        public void setTree(boolean tree) {
@@ -286,16 +330,6 @@ public abstract class DATableComposite extends Composite {
                return selectionIndex;
        }
 
-       public int getItemCount() {
-               if (0 == itemCount) {
-                       Rectangle rect = table.getClientArea();
-                       int itemHeight = table.getItemHeight();
-                       itemCount = (rect.height - table.getHeaderHeight()) / itemHeight
-                                       - 1;
-               }
-               return itemCount;
-       }
-
        public void setSourceView(boolean toggle) {
                if (null != tableListener) {
                        tableListener.setSourceButtonToggle(toggle);
@@ -303,6 +337,8 @@ public abstract class DATableComposite extends Composite {
        }
 
        public void clear() {
+               getSelectionIndex().clear();
+               getSelections().clear();
                table.removeAll();
        }
 
@@ -326,6 +362,113 @@ public abstract class DATableComposite extends Composite {
                getSelectionIndex().clear();
                getSelections().clear();
                table.deselectAll();
-               // updateTable();
+       }
+
+       private int getScrollSelectionIndex(int selection) {
+               int size = table.getVerticalBar().getThumb() / 2;
+               int output = selection - size;
+
+               output = (output < 0) ? 0 : output;
+               return output;
+       }
+
+       public int search(FindProperty findProperty) {
+               GridItem[] items = table.getItems();
+               int size = items.length;
+               boolean next = !findProperty.isBackward();
+               int start = findProperty.getIndex();
+               setFindProferty(findProperty);
+
+               // forward
+               if (next) {
+                       for (int i = start; i < size; i++) {
+                               if (checkText(findProperty, items[i])) {
+                                       table.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       table.setSelection(i);
+                                       updateTable();
+                                       return i;
+                               }
+                       }
+                       // can't find
+                       for (int i = 0; i < start; i++) {
+                               if (checkText(findProperty, items[i])) {
+                                       table.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       table.setSelection(i);
+                                       updateTable();
+                                       return i;
+                               }
+                       }
+               } else { // back
+                       for (int i = start; i >= 0; i--) {
+                               if (checkText(findProperty, items[i])) {
+                                       table.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       table.setSelection(i);
+                                       updateTable();
+                                       return i;
+                               }
+                       }
+
+                       for (int i = size - 1; i > start; i--) {
+                               if (checkText(findProperty, items[i])) {
+                                       table.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       table.setSelection(i);
+                                       updateTable();
+                                       return i;
+                               }
+                       }
+               }
+               table.deselectAll();
+               return -1;
+       }
+
+       private boolean checkText(FindProperty findProperty, GridItem items) {
+               GridColumn[] columns = table.getColumns();
+               int columnSize = columns.length;
+               String input = findProperty.getLastSearch();
+               boolean wholeWord = findProperty.isWholeWord();
+               boolean caseSensitive = findProperty.isCaseSensitive();
+
+               for (int ii = 0; ii < columnSize; ii++) {
+                       String text = items.getText(ii);
+
+                       if (!caseSensitive) {
+                               text = text.toUpperCase();
+                               input = input.toUpperCase();
+                       }
+
+                       if (!wholeWord) {
+                               if (text.contains(input)) {
+                                       return true;
+                               }
+                       } else {
+                               if (0 == input.compareTo(text)) {
+                                       return true;
+                               }
+                       }
+               }
+               return false;
+       }
+
+       public void setTableName(String name) {
+               tableName = name;
+       }
+
+       public String getTableName() {
+               return tableName;
+       }
+
+       public static FindProperty getFindProferty() {
+               if (null == findProferty) {
+                       findProferty = new FindProperty();
+               }
+               return findProferty;
+       }
+
+       public static void setFindProferty(FindProperty findProferty) {
+               DATableComposite.findProferty = findProferty;
        }
 }
index 3cb4fa3..4e4fe8c 100644 (file)
@@ -35,6 +35,8 @@ import org.eclipse.nebula.widgets.grid.Grid;
 import org.eclipse.nebula.widgets.grid.GridColumn;
 import org.eclipse.nebula.widgets.grid.GridItem;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -42,15 +44,25 @@ import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+import org.tizen.dynamicanalyzer.common.CommonConstants;
 import org.tizen.dynamicanalyzer.listeners.TableTooltipListener;
-import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
+import org.tizen.dynamicanalyzer.model.FindProperty;
 import org.tizen.dynamicanalyzer.model.LogCenter;
 import org.tizen.dynamicanalyzer.model.TreeInput;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.ui.widgets.FindDialog;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public abstract class DATreeComposite extends Composite {
 
+       // for find
+       private String treeName = CommonConstants.EMPTY;
+       private DATreeComposite me = null;
+       private static FindProperty findProferty;
+       private boolean ctrlPressed = false;
+
        protected Grid tree;
        protected int itemCount = 0;
        protected List<Integer> selectionIndex;
@@ -58,8 +70,8 @@ public abstract class DATreeComposite extends Composite {
        protected LogCenter logc;
        protected TableTooltipListener tableListener;
        protected boolean treeTable = false;
-       protected int selValueIndex = LogCenterConstants.SEQUENCE_NUMBER_INDEX;
-       protected String focusSeq = null;
+       // protected int selValueIndex = LogCenterConstants.SEQUENCE_NUMBER_INDEX;
+       // protected String focusSeq = null;
 
        protected DefaultTableComparator comparator = null;
        protected int[] sortTypes = null;
@@ -72,6 +84,8 @@ public abstract class DATreeComposite extends Composite {
        int gridItemCount = -1;
        int selIndex = 0;
 
+       private List<String> selList = null;
+
        protected HashMap<Integer, Boolean> expandMap = null;
        protected HashMap<String, GridItem> gridMap = null;
 
@@ -99,31 +113,33 @@ public abstract class DATreeComposite extends Composite {
                tree.addSelectionListener(new SelectionListener() {
                        @Override
                        public void widgetSelected(SelectionEvent e) {
+                               getSelList().clear();
                                GridItem[] ti = ((Grid) e.widget).getSelection();
-                               GridItem focusedItem = ((Grid) e.widget).getFocusItem();
-                               if (null != focusedItem) {
-                                       DATableDataFormat td = (DATableDataFormat) focusedItem
-                                                       .getData();
-                                       if (null == td) {
-                                               return;
-                                       }
-                                       focusSeq = td.getSelectionKey();
-                               }
-                               if (selValueIndex < 0 || null == ti || ti.length == 0) {
-                                       return;
-                               }
+                               // GridItem focusedItem = ((Grid) e.widget).getFocusItem();
+                               // if (null != focusedItem) {
+                               // DATableDataFormat td = (DATableDataFormat) focusedItem
+                               // .getData();
+                               // if (null == td) {
+                               // return;
+                               // }
+                               // focusSeq = td.getSelectionKey();
+                               // }
+                               // if (selValueIndex < 0 || null == ti || ti.length == 0) {
+                               // return;
+                               // }
                                int size = ti.length;
                                HashMap<String, String> sel = getSelections();
                                sel.clear();
+
                                for (int i = 0; i < size; i++) {
                                        DATableDataFormat tableData = (DATableDataFormat) ti[i]
                                                        .getData();
-                                       if (null == tableData) {
-                                               return;
-                                       }
-                                       String seq = tableData.getSelectionKey();
-                                       if (null != seq && !seq.isEmpty()) {
-                                               sel.put(seq, seq);
+                                       if (null != tableData) {
+                                               String seq = tableData.getSelectionKey();
+                                               if (null != seq && !seq.isEmpty()) {
+                                                       sel.put(seq, seq);
+                                                       getSelList().add(seq);
+                                               }
                                        }
                                }
                        }
@@ -135,6 +151,34 @@ public abstract class DATreeComposite extends Composite {
                        }
                });
 
+               tree.addKeyListener(new KeyListener() {
+
+                       @Override
+                       public void keyReleased(KeyEvent e) {
+
+                               if (SWT.CTRL == e.keyCode) {
+                                       ctrlPressed = false;
+                               } else if (e.keyCode == 102) { // f
+                                       if (ctrlPressed) {
+                                               ctrlPressed = false;
+                                               Shell shell = AnalyzerUtil.getWorkbenchWindow()
+                                                               .getShell();
+                                               FindDialog dialog = new FindDialog(shell, me);
+                                               dialog.open();
+                                               // FIXME: debug
+                                       }
+                               }
+                       }
+
+                       @Override
+                       public void keyPressed(KeyEvent e) {
+                               if (SWT.CTRL == e.keyCode) {
+                                       ctrlPressed = true;
+                               }
+                       }
+               });
+
+               me = this;
        }
 
        public void setTree(boolean tree) {
@@ -163,6 +207,13 @@ public abstract class DATreeComposite extends Composite {
                return gridMap;
        }
 
+       private List<String> getSelList() {
+               if (null == selList) {
+                       selList = new ArrayList<String>();
+               }
+               return selList;
+       }
+
        public void setTableToolTipListener(TableTooltipListener tableListener) {
                this.tableListener = tableListener;
                if (null == tableListener) {
@@ -315,6 +366,7 @@ public abstract class DATreeComposite extends Composite {
        public void updateTree() {
                selections = tree.getSelection();
                selSeqs = new ArrayList<String>();
+               // selSeqs.addAll(getSelections().values());
                for (int i = 0; i < selections.length; i++) {
                        DATableDataFormat tableData = (DATableDataFormat) selections[i]
                                        .getData();
@@ -327,12 +379,33 @@ public abstract class DATreeComposite extends Composite {
                List<TreeInput> input = makeTreeInput();
                createTree(input, tree);
 
-               for (int i = 0; i < sels.length; i++) {
-                       System.out.println(sels[i]);
-               }
-               tree.setSelection(sels);
+//              tree.setSelection(sels);
+                tree.select(sels);
+//             setSelections();
        }
 
+//     private void setSelections() {
+//             if (tree.isFocusControl()) {
+//                     GridItem[] items = tree.getItems();
+//                     List<String> selList = getSelList();
+//                     int size = items.length;
+//                     int selSize = selList.size();
+//
+//                     for (int i = 0; i < size; i++) {
+//                             DATableDataFormat tableData = (DATableDataFormat) items[i]
+//                                             .getData();
+//                             String key = tableData.getSelectionKey();
+//
+//                             for (int ii = 0; ii < selSize; ii++) {
+//                                     if (key.equals(selList.get(ii))) {
+//                                             System.out.println("selection " + i + " key " + key);
+//                                             tree.setSelection(i);
+//                                     }
+//                             }
+//                     }
+//             }
+//     }
+
        public abstract List<TreeInput> makeTreeInput();
 
        public HashMap<String, String> getSelections() {
@@ -384,14 +457,123 @@ public abstract class DATreeComposite extends Composite {
                sourceColumns = columns;
        }
 
-       public void setSelValueIndex(int index) {
-               selValueIndex = index;
-       }
-
        public void deselectAll() {
                getSelectionIndex().clear();
                getSelections().clear();
                tree.deselectAll();
-               // updateTable();
+       }
+
+       public void setTableName(String name) {
+               treeName = name;
+       }
+
+       public String getTableName() {
+               return treeName;
+       }
+
+       public static FindProperty getFindProferty() {
+               if (null == findProferty) {
+                       findProferty = new FindProperty();
+               }
+               return findProferty;
+       }
+
+       public static void setFindProferty(FindProperty findProferty) {
+               DATreeComposite.findProferty = findProferty;
+       }
+
+       public int search(FindProperty findProperty) {
+               GridItem[] items = tree.getItems();
+               int size = items.length;
+               boolean next = !findProperty.isBackward();
+               int start = findProperty.getIndex();
+               setFindProferty(findProperty);
+
+               // forward
+               if (next) {
+                       for (int i = start; i < size; i++) {
+                               if (checkText(findProperty, items[i])) {
+                                       tree.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       System.out.println("select : " + i);
+//                                     tree.setSelection(i);
+                                        tree.select(i);
+                                       System.out.println(tree.getSelectionIndex());
+                                       updateTree();
+                                       return i;
+                               }
+                       }
+                       // can't find
+                       for (int i = 0; i < start; i++) {
+                               if (checkText(findProperty, items[i])) {
+                                       tree.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       System.out.println("select : " + i);
+//                                     tree.setSelection(i);
+                                        tree.select(i);
+                                       System.out.println(tree.getSelectionIndex());
+                                       updateTree();
+                                       return i;
+                               }
+                       }
+               } else { // back
+                       for (int i = start; i >= 0; i--) {
+                               if (checkText(findProperty, items[i])) {
+                                       tree.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       tree.setSelection(i);
+                                       updateTree();
+                                       return i;
+                               }
+                       }
+
+                       for (int i = size - 1; i > start; i--) {
+                               if (checkText(findProperty, items[i])) {
+                                       tree.getVerticalBar().setSelection(
+                                                       getScrollSelectionIndex(i));
+                                       tree.setSelection(i);
+                                       updateTree();
+                                       return i;
+                               }
+                       }
+               }
+               tree.deselectAll();
+               return -1;
+       }
+
+       private int getScrollSelectionIndex(int selection) {
+               int size = tree.getVerticalBar().getThumb() / 2;
+               int output = selection - size;
+
+               output = (output < 0) ? 0 : output;
+               return output;
+       }
+
+       private boolean checkText(FindProperty findProperty, GridItem items) {
+               GridColumn[] columns = tree.getColumns();
+               int columnSize = columns.length;
+               String input = findProperty.getLastSearch();
+               boolean wholeWord = findProperty.isWholeWord();
+               boolean caseSensitive = findProperty.isCaseSensitive();
+
+               for (int ii = 0; ii < columnSize; ii++) {
+                       String text = items.getText(ii);
+
+                       if (!caseSensitive) {
+                               text = text.toUpperCase();
+                               input = input.toUpperCase();
+                       }
+
+                       if (!wholeWord) {
+                               if (text.contains(input)) {
+                                       return true;
+                               }
+                       } else {
+                               if (0 == input.compareTo(text)) {
+                                       return true;
+                               }
+                       }
+               }
+               return false;
        }
 }
index 1fe62bd..e3481bd 100644 (file)
@@ -29,9 +29,7 @@ package org.tizen.dynamicanalyzer.utils;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.services.ISourceProviderService;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
-import org.tizen.dynamicanalyzer.services.TimelineUpdateSourceProvider;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;