diff src/de/mpg/mpiwg/itgroup/digilib/plugin/DigilibHandler.java @ 1:83c58ea33792

first release (continued)
author dwinter
date Mon, 03 Jan 2011 09:11:25 +0100
parents
children e63a64652f4d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/DigilibHandler.java	Mon Jan 03 09:11:25 2011 +0100
@@ -0,0 +1,66 @@
+package de.mpg.mpiwg.itgroup.digilib.plugin;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.commands.IHandlerListener;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorInput;
+import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorPart;
+
+public class DigilibHandler implements IHandler {
+
+	public void addHandlerListener(IHandlerListener handlerListener) {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void dispose() {
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		
+		ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+		if (IStructuredSelection.class.isInstance(currentSelection)) {
+			IStructuredSelection selection = (IStructuredSelection) currentSelection;
+			//TextGridObject object = AdapterUtils.getAdapter(selection.getFirstElement(), TextGridObject.class);
+			Object object = selection.getFirstElement();
+			
+			//IFile file = (IFile) object.getAdapter(IFile.class);
+			IFile file = (IFile) object;
+			DigilibLinkEditorInput input = new DigilibLinkEditorInput(file,DigilibLinkEditorInput.INDEX_META);
+			
+		try {
+			DigilibLinkEditorPart dp = (DigilibLinkEditorPart) HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().openEditor(input,"de.mpg.mpiwg.itgroup.digilib.plugin.digilibLinkEditor");
+			return dp;
+		} catch (PartInitException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		}
+		return null;
+	}
+
+	public boolean isEnabled() {
+		
+		return true;
+	}
+
+	public boolean isHandled() {
+		// TODO Auto-generated method stub
+		return true;
+	}
+
+	public void removeHandlerListener(IHandlerListener handlerListener) {
+		// TODO Auto-generated method stub
+
+	}
+
+}