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:
parent
1c98f25c40
commit
713a86c6a1
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.6 KiB |
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue