X-Git-Url: https://code.grnet.gr/git/pithos/blobdiff_plain/5c6b2883c2651e310563773a655d12600c6a059a..06b485635358b64000d78d92a238724250809175:/src/gr/ebs/gss/client/Groups.java diff --git a/src/gr/ebs/gss/client/Groups.java b/src/gr/ebs/gss/client/Groups.java index 340bfcc..9b3a634 100644 --- a/src/gr/ebs/gss/client/Groups.java +++ b/src/gr/ebs/gss/client/Groups.java @@ -27,6 +27,7 @@ import gr.ebs.gss.client.rest.resource.GroupsResource; import java.util.List; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.event.dom.client.ContextMenuEvent; import com.google.gwt.event.dom.client.ContextMenuHandler; import com.google.gwt.event.logical.shared.OpenEvent; @@ -35,6 +36,7 @@ import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionHandler; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.DeferredCommand; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.AbstractImagePrototype; @@ -64,6 +66,7 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { @Source("gr/ebs/gss/resources/editdelete.png") ImageResource delete(); + } private boolean ctrlKeyPressed = false; @@ -119,10 +122,8 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { @Override public void onContextMenu(ContextMenuEvent event) { if(current==null) return; - int left = current.getAbsoluteLeft() + 40; int top = current.getAbsoluteTop() + 20; - GWT.log("SHOWING POPUP", null); showPopup(left, top); } @@ -143,19 +144,20 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { * user. */ public void updateGroups() { - GetCommand gg = new GetCommand(GroupsResource.class, GSS.get().getCurrentUserResource().getGroupsPath()){ + GetCommand gg = new GetCommand(GroupsResource.class, GSS.get().getCurrentUserResource().getGroupsPath(),null){ @Override public void onComplete() { GroupsResource res = getResult(); - MultipleGetCommand ga = new MultipleGetCommand(GroupResource.class, res.getGroupPaths().toArray(new String[]{})){ + MultipleGetCommand ga = new MultipleGetCommand(GroupResource.class, res.getGroupPaths().toArray(new String[]{}), null){ @Override public void onComplete() { List groupList = getResult(); tree.clear(); for (int i = 0; i < groupList.size(); i++) { - final TreeItem item = new TreeItem(imageItemHTML(images.groupImage(), groupList.get(i).getName())); + final TreeItem item = new TreeItem(); + item.setWidget(imageItemHTML(images.groupImage(), groupList.get(i).getName(),item)); item.setUserObject(groupList.get(i)); tree.addItem(item); updateUsers(item); @@ -200,7 +202,8 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { * @return the new tree item */ private TreeItem addImageItem(final TreeItem parent, final String title, final ImageResource imageProto) { - final TreeItem item = new TreeItem(imageItemHTML(imageProto, title)); + final TreeItem item = new TreeItem(); + item.setWidget(imageItemHTML(imageProto, title,item)); parent.addItem(item); return item; } @@ -212,8 +215,21 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { * @param title the title of the item * @return the resultant HTML */ - private HTML imageItemHTML(final ImageResource imageProto, final String title) { - final HTML link = new HTML("" + "" + AbstractImagePrototype.create(imageProto).getHTML() + " " + title + "" + ""); + private HTML imageItemHTML(final ImageResource imageProto, final String title,final TreeItem item) { + final HTML link = new HTML("" + "" + AbstractImagePrototype.create(imageProto).getHTML() + " " + title + "" + ""){ + @Override + public void onBrowserEvent(Event event) { + switch (DOM.eventGetType(event)) { + case Event.ONMOUSEDOWN: + if (DOM.eventGetButton(event) == NativeEvent.BUTTON_RIGHT || DOM.eventGetButton(event) == NativeEvent.BUTTON_LEFT) + onSelection(item); + break; + } + super.onBrowserEvent(event); + + } + }; + link.sinkEvents(Event.ONMOUSEDOWN); return link; } @@ -244,7 +260,7 @@ public class Groups extends Composite implements SelectionHandler, OpenHandler { void updateUsers(final TreeItem groupItem) { if(groupItem.getUserObject() instanceof GroupResource){ GroupResource res = (GroupResource) groupItem.getUserObject(); - MultipleGetCommand gu = new MultipleGetCommand(GroupUserResource.class, res.getUserPaths().toArray(new String[]{})){ + MultipleGetCommand gu = new MultipleGetCommand(GroupUserResource.class, res.getUserPaths().toArray(new String[]{}), null){ @Override public void onComplete() { List users = getResult();