From: jihye424.kim Date: Wed, 21 Oct 2015 08:08:58 +0000 (+0900) Subject: Table: modify to select table item function X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f9a34257c68e0fcd62b4209e5ff99767b9a6b49e;p=sdk%2Femulator%2Femulator-manager.git Table: modify to select table item function - 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 --- diff --git a/src/org/tizen/emulator/manager/ui/table/Table.java b/src/org/tizen/emulator/manager/ui/table/Table.java index 3a9ef1e..b4c86fa 100644 --- a/src/org/tizen/emulator/manager/ui/table/Table.java +++ b/src/org/tizen/emulator/manager/ui/table/Table.java @@ -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() { diff --git a/src/org/tizen/emulator/manager/ui/table/TableItem.java b/src/org/tizen/emulator/manager/ui/table/TableItem.java index 3695519..5d6dd57 100644 --- a/src/org/tizen/emulator/manager/ui/table/TableItem.java +++ b/src/org/tizen/emulator/manager/ui/table/TableItem.java @@ -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; } diff --git a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java index e1b53b0..2fda325 100644 --- a/src/org/tizen/emulator/manager/ui/table/TableItemCell.java +++ b/src/org/tizen/emulator/manager/ui/table/TableItemCell.java @@ -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; - } - } - }; }