Table: modify to select table item function
authorjihye424.kim <jihye424.kim@samsung.com>
Wed, 21 Oct 2015 08:08:58 +0000 (17:08 +0900)
committerjihye424.kim <jihye424.kim@samsung.com>
Wed, 21 Oct 2015 08:08:58 +0000 (17:08 +0900)
- click table item using mouse
-- right button: select item
-- left button: select item after checking ctrl key, shift key state

Change-Id: If0669117875b85997fc1210a59c41630b5588126
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
src/org/tizen/emulator/manager/ui/table/Table.java
src/org/tizen/emulator/manager/ui/table/TableItem.java
src/org/tizen/emulator/manager/ui/table/TableItemCell.java

index 3a9ef1e..b4c86fa 100644 (file)
@@ -630,8 +630,26 @@ public class Table extends TableScrolledComposite {
        }
 
        // for table item
-       void _select(int index) {
-               _select(index, false);
+       void _select(int index, int buttonType, int stateMask) {
+
+               if (buttonType == 3) { // mouse right button
+                       if (!isSelected(index)) {
+                               setSelection(index);
+                       }
+               } else {
+                       if ((stateMask & SWT.CTRL) != 0) {
+                               isCtrlKeyOn = true;
+                       } else {
+                               isCtrlKeyOn = false;
+                       }
+                       if ((stateMask & SWT.SHIFT) != 0) {
+                               isShiftKeyOn = true;
+                       } else {
+                               isShiftKeyOn = false;
+                       }
+                       _select(index, false);
+               }
+
        }
 
        void _select(int index, boolean isAdd) {
@@ -639,7 +657,7 @@ public class Table extends TableScrolledComposite {
                if ((getStyle() & SWT.SINGLE) != 0
                                || (!isCtrlKeyOn && !isShiftKeyOn && !isAdd)) {
                        setSelection(index);
-               } else if ((isCtrlKeyOn && !isShiftKeyOn) || isAdd) {
+               } else if (isCtrlKeyOn || isAdd) { // ctrl key priority > shift key priority
                        if (this.isSelected(index)) {
                                if (selection.length == 1) {
                                        this.deselect(index);
@@ -669,10 +687,6 @@ public class Table extends TableScrolledComposite {
                        }
                }
 
-//             Event e = new Event();
-//             e.item = items[index];
-//             e.widget = this;
-//             notifyListeners(SWT.Selection, e);
        }
 
        public int getItemCount() {
index 3695519..5d6dd57 100644 (file)
@@ -880,6 +880,8 @@ public class TableItem extends Canvas {
                                break;
                         */
                        case SWT.MouseDown:
+                               parent._select(index, event.button, event.stateMask);
+
                                if (event.button != 3) {
                                        return;
                                }
index e1b53b0..2fda325 100644 (file)
@@ -55,8 +55,8 @@ class TableItemCell extends Composite {
 
                this.addPaintListener(patinListener);
                this.addListener(SWT.MouseDown, eventListener);
-               this.addListener(SWT.KeyDown, controlKeyEvent);
-               this.addListener(SWT.KeyUp, controlKeyEvent);
+               this.addListener(SWT.KeyDown, eventListener);
+               this.addListener(SWT.KeyUp, eventListener);
        }
 
        private Listener eventListener = new Listener() {
@@ -64,11 +64,14 @@ class TableItemCell extends Composite {
                public void handleEvent(Event event) {
                        switch(event.type) {
                        case SWT.MouseDown:
-                               item.getParentTable()._select(item.getIndex());
-                               if (event.button == 3) { // right button
-                                       event.data = item;
-                                       item.notifyListeners(SWT.MouseDown, event);
-                               }
+                               event.data = item;
+                               item.notifyListeners(SWT.MouseDown, event);
+                               break;
+                       case SWT.KeyDown:
+                               item.getParentTable().notifyListeners(SWT.KeyDown, event);
+                               break;
+                       case SWT.KeyUp:
+                               item.getParentTable().notifyListeners(SWT.KeyUp, event);
                                break;
                        default:
                                break;
@@ -168,20 +171,4 @@ class TableItemCell extends Composite {
                        gc.drawLine(rect.width - 1, 0, rect.width -1, rect.height);
                }
        };
-
-       private Listener controlKeyEvent = new Listener() {
-               @Override
-               public void handleEvent(Event event) {
-                       switch(event.type) {
-                       case SWT.KeyDown:
-                               item.getParentTable().notifyListeners(SWT.KeyDown, event);
-                               break;
-                       case SWT.KeyUp:
-                               item.getParentTable().notifyListeners(SWT.KeyUp, event);
-                               break;
-                       default:
-                               break;
-                       }
-               }
-       };
 }