256: Workspace explorer

Task-Url: https://support.d4science.org/issues/256

Added context menu


git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@115629 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2015-06-29 16:14:03 +00:00
parent 1c98f25c40
commit 713a86c6a1
2 changed files with 52 additions and 0 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -9,12 +9,21 @@ import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import com.github.gwtbootstrap.client.ui.CellTable;
import com.github.gwtbootstrap.client.ui.Pagination;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.dom.client.Style.BorderStyle;
import com.google.gwt.event.dom.client.ContextMenuEvent;
import com.google.gwt.event.dom.client.ContextMenuHandler;
import com.google.gwt.event.dom.client.DoubleClickEvent;
import com.google.gwt.event.dom.client.DoubleClickHandler;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.cellview.client.AbstractCellTable;
import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.MenuBar;
import com.google.gwt.user.client.ui.MenuItem;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
@ -104,7 +113,50 @@ public abstract class AbstractItemsCellTable implements SelectionItem{
}
}); */
addContextMenu();
}
private void addContextMenu(){
MenuBar options = new MenuBar(true);
ScheduledCommand command = new ScheduledCommand() {
@Override
public void execute() {
WorkspaceExplorerController.eventBus.fireEvent(new org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEvent(getSelectedItem()));
}
};
MenuItem openItem = new MenuItem("Open", command);
options.addItem(openItem);
final DialogBox menuWrapper = new DialogBox(true);
menuWrapper.getElement().getStyle().setBorderStyle(BorderStyle.NONE);
menuWrapper.getElement().getStyle().setZIndex(100000);
menuWrapper.add(options);
cellTable.sinkEvents(Event.ONCONTEXTMENU);
cellTable.addHandler(
new ContextMenuHandler() {
@Override
public void onContextMenu(ContextMenuEvent event) {
if(getSelectedItem().isFolder()){
event.preventDefault();
event.stopPropagation();
menuWrapper.setPopupPosition(event.getNativeEvent().getClientX(),event.getNativeEvent().getClientY());
menuWrapper.show();
}
}
}, ContextMenuEvent.getType()
);
}
/**
* Adds the Items.