File path: /emf-2.4.1/src/org/eclipse/emf/common/ui/celleditor/ExtendedTableEditor.java | File path: /emf-2.4.1/src/org/eclipse/emf/common/ui/celleditor/ExtendedTableTreeEditor.java | |||
Method name: void mouseDown(MouseEvent)
|
Method name: void mouseDown(MouseEvent)
|
|||
Number of AST nodes: 37 | Number of AST nodes: 35 | |||
1 | editTableItem = null;↵ | |||
2 | editTableItemColumn = -1;↵ | |||
3 | // System.out.println("*down*");↵ | |||
4 | if (event.button == 1)↵ | 1 | if (event.button == 1)↵ | |
5 | {↵ | 2 | {↵ | |
6 | boolean wasActive = getEditor() != null && !getEditor().isDisposed();↵ | 3 | boolean wasActive = getEditor() != null && !getEditor().isDisposed();↵ | |
7 | Point point = new Point(event.x, event.y);↵ | 4 | Point point = new Point(event.x, event.y);↵ | |
8 | TableItem [] tableItems = table.getItems();↵ | 5 | TableItem [] tableItems = tableTree.getTable().getItems();↵ | |
9 | int columnCount = table.getColumnCount();↵ | 6 | int columnCount = tableTree.getTable().getColumnCount();↵ | |
10 | LOOP: for (int i = table.getTopIndex(); i < tableItems.length; ++i)↵ | 7 | LOOP: for (int i = tableTree.getTable().getTopIndex(); i < tableItems.length; ++i)↵ | |
11 | {↵ | 8 | {↵ | |
12 | for (int j = 0; j < columnCount; ++j)↵ | 9 | for (int j = 0; j < columnCount; ++j)↵ | |
13 | {↵ | 10 | {↵ | |
14 | Rectangle bounds = tableItems[i].getBounds(j);↵ | 11 | Rectangle bounds = tableItems[i].getBounds(j);↵ | |
15 | if (bounds.y > event.y)↵ | 12 | if (bounds.y > event.y)↵ | |
16 | {↵ | 13 | {↵ | |
17 | break LOOP;↵ | 14 | break LOOP;↵ | |
18 | }↵ | 15 | }↵ | |
19 | else if (bounds.contains(event.x, event.y))↵ | 16 | else if (bounds.contains(event.x, event.y))↵ | |
20 | {↵ | 17 | {↵ | |
21 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y))↵ | 18 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y))↵ | |
22 | {↵ | 19 | {↵ | |
23 | TableItem tableItem = tableItems[i];↵ | 20 | TableItem tableItem = tableItems[i];↵ | |
24 | if (tableItem == selectedTableItem || wasActive)↵ | 21 | if (tableItem == selectedTableItem || wasActive)↵ | |
25 | {↵ | 22 | {↵ | |
26 | if (tableItem != selectedTableItem)↵ | 23 | if (tableItem != selectedTableItem)↵ | |
27 | {↵ | 24 | {↵ | |
28 | table.setSelection(i);↵ | 25 | table.setSelection(i);↵ | |
29 | Event selectionEvent = new Event();↵ | 26 | Event selectionEvent = new Event();↵ | |
30 | selectionEvent.widget = table;↵ | 27 | selectionEvent.widget = table;↵ | |
31 | selectionEvent.item = tableItem;↵ | 28 | selectionEvent.item = tableItem;↵ | |
32 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | 29 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | |
33 | selectedTableItem = tableItem;↵ | 30 | selectedTableItem = tableItem;↵ | |
34 | }↵ | 31 | }↵ | |
35 | editTableItem = tableItems[i];↵ | 32 | editTableTreeItem = (TableTreeItem)tableItems[i].getData(ExtendedTableTreeViewer.ITEM_ID);↵ | |
36 | editTableItemColumn = j;↵ | 33 | editTableTreeItemColumn = j;↵ | |
37 | }↵ | 34 | }↵ | |
38 | else↵ | 35 | else↵ | |
39 | {↵ | 36 | {↵ | |
40 | TableItem mouseBasedTableItem = table.getItem(point);↵ | 37 | TableItem mouseBasedTableItem = table.getItem(point);↵ | |
41 | if (mouseBasedTableItem == null)↵ | 38 | if (mouseBasedTableItem == null)↵ | |
42 | {↵ | 39 | {↵ | |
43 | table.setSelection(i);↵ | 40 | table.setSelection(i);↵ | |
44 | Event selectionEvent = new Event();↵ | 41 | Event selectionEvent = new Event();↵ | |
45 | selectionEvent.widget = table;↵ | 42 | selectionEvent.widget = table;↵ | |
46 | selectionEvent.item = tableItem;↵ | 43 | selectionEvent.item = tableItem;↵ | |
47 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | 44 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | |
48 | selectedTableItem = tableItem;↵ | 45 | selectedTableItem = tableItem;↵ | |
49 | }↵ | 46 | }↵ | |
50 | }↵ | 47 | }↵ | |
51 | }↵ | 48 | }↵ | |
52 | break LOOP;↵ | 49 | break LOOP;↵ | |
53 | }↵ | 50 | }↵ | |
54 | }↵ | 51 | }↵ | |
55 | }↵ | 52 | }↵ | |
56 | if (editTableItem == null && wasActive)↵ | 53 | if (editTableTreeItem == null && wasActive)↵ | |
57 | {↵ | 54 | {↵ | |
58 | dismiss();↵ | 55 | dismiss();↵ | |
59 | }↵ | 56 | }↵ | |
60 | } | 57 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 1.7 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 211 |
Number of mapped statements | 34 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 18.8 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | editTableItem = null; | | ||||||||||||||||||||||||
2 | editTableItemColumn = -1; | | ||||||||||||||||||||||||
3 | if (event.button == 1) | 3 | if (event.button == 1) | |||||||||||||||||||||||
4 | boolean wasActive = getEditor() != null && !getEditor().isDisposed(); | 4 | boolean wasActive = getEditor() != null && !getEditor().isDisposed(); | |||||||||||||||||||||||
5 | Point point = new Point(event.x, event.y); | 5 | Point point = new Point(event.x, event.y); | |||||||||||||||||||||||
6 | TableItem[] tableItems = table.getItems(); |
| 6 | TableItem[] tableItems = tableTree.getTable().getItems(); | ||||||||||||||||||||||
7 | int columnCount = table.getColumnCount(); |
| 7 | int columnCount = tableTree.getTable().getColumnCount(); | ||||||||||||||||||||||
8 | for (int i = table.getTopIndex(); i < tableItems.length; ++i) |
| 8 | for (int i = tableTree.getTable().getTopIndex(); i < tableItems.length; ++i) | ||||||||||||||||||||||
9 | for (int j = 0; j < columnCount; ++j) | 9 | for (int j = 0; j < columnCount; ++j) | |||||||||||||||||||||||
10 | Rectangle bounds = tableItems[i].getBounds(j); | 10 | Rectangle bounds = tableItems[i].getBounds(j); | |||||||||||||||||||||||
11 | if (bounds.y > event.y) | 11 | if (bounds.y > event.y) | |||||||||||||||||||||||
12 | break LOOP; | 12 | break LOOP; | |||||||||||||||||||||||
13 | else if (bounds.contains(event.x, event.y)) | 13 | else if (bounds.contains(event.x, event.y)) | |||||||||||||||||||||||
14 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y)) | 14 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y)) | |||||||||||||||||||||||
15 | TableItem tableItem = tableItems[i]; | 15 | TableItem tableItem = tableItems[i]; | |||||||||||||||||||||||
16 | if (tableItem == selectedTableItem || wasActive) | 16 | if (tableItem == selectedTableItem || wasActive) | |||||||||||||||||||||||
17 | if (tableItem != selectedTableItem) | 17 | if (tableItem != selectedTableItem) | |||||||||||||||||||||||
18 | table.setSelection(i); | 18 | table.setSelection(i); | |||||||||||||||||||||||
19 | Event selectionEvent = new Event(); | 19 | Event selectionEvent = new Event(); | |||||||||||||||||||||||
20 | selectionEvent.widget = table; | 20 | selectionEvent.widget = table; | |||||||||||||||||||||||
21 | selectionEvent.item = tableItem; | 21 | selectionEvent.item = tableItem; | |||||||||||||||||||||||
22 | table.notifyListeners(SWT.Selection, selectionEvent); | 22 | table.notifyListeners(SWT.Selection, selectionEvent); | |||||||||||||||||||||||
23 | selectedTableItem = tableItem; | 23 | selectedTableItem = tableItem; | |||||||||||||||||||||||
24 | editTableItem = tableItems[i]; |
| 24 | editTableTreeItem = (TableTreeItem)tableItems[i].getData(ExtendedTableTreeViewer.ITEM_ID); | ||||||||||||||||||||||
25 | editTableItemColumn = j; |
| 25 | editTableTreeItemColumn = j; | ||||||||||||||||||||||
else | else | |||||||||||||||||||||||||
26 | TableItem mouseBasedTableItem = table.getItem(point); | 26 | TableItem mouseBasedTableItem = table.getItem(point); | |||||||||||||||||||||||
27 | if (mouseBasedTableItem == null) | 27 | if (mouseBasedTableItem == null) | |||||||||||||||||||||||
28 | table.setSelection(i); | 28 | table.setSelection(i); | |||||||||||||||||||||||
29 | Event selectionEvent = new Event(); | 29 | Event selectionEvent = new Event(); | |||||||||||||||||||||||
30 | selectionEvent.widget = table; | 30 | selectionEvent.widget = table; | |||||||||||||||||||||||
31 | selectionEvent.item = tableItem; | 31 | selectionEvent.item = tableItem; | |||||||||||||||||||||||
32 | table.notifyListeners(SWT.Selection, selectionEvent); | 32 | table.notifyListeners(SWT.Selection, selectionEvent); | |||||||||||||||||||||||
33 | selectedTableItem = tableItem; | 33 | selectedTableItem = tableItem; | |||||||||||||||||||||||
34 | break LOOP; | 34 | break LOOP; | |||||||||||||||||||||||
35 | if (editTableItem == null && wasActive) |
| 35 | if (editTableTreeItem == null && wasActive) | ||||||||||||||||||||||
36 | dismiss(); | 36 | dismiss(); |
Row | Violation |
---|---|
1 | Expression editTableItem cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression editTableTreeItem cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression editTableItem is a field being modified, and thus it cannot be parameterized |
4 | Expression editTableTreeItem is a field being modified, and thus it cannot be parameterized |
5 | Expression tableItems[i] cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression (TableTreeItem)tableItems[i].getData(ExtendedTableTreeViewer.ITEM_ID) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression editTableItemColumn cannot be parameterized, because it has dependencies to/from statements that will be extracted |
8 | Expression editTableTreeItemColumn cannot be parameterized, because it has dependencies to/from statements that will be extracted |
9 | Expression editTableItemColumn is a field being modified, and thus it cannot be parameterized |
10 | Expression editTableTreeItemColumn is a field being modified, and thus it cannot be parameterized |
11 | Expression editTableItem cannot be parameterized, because it has dependencies to/from statements that will be extracted |
12 | Expression editTableTreeItem cannot be parameterized, because it has dependencies to/from statements that will be extracted |