eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodeLabelProvider.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodePropertyTester.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapterAssistant.java -text
+eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/dnd/TaxonNavigatorDragAdapterAssistant.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CopyHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/EditHandler.java -text
import org.apache.log4j.Logger;
import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorInput;
+import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.input.GroupEditorInput;
/**
* <p>BulkEditorPropertyTester class.</p>
private static final Logger logger = Logger
.getLogger(BulkEditorPropertyTester.class);
+ private static final String GROUP = "isGroup";
/* (non-Javadoc)
* @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
*/
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
BulkEditor bulkEditor = (BulkEditor) receiver;
+
if ("isMergingEnabled".equals(property)) {
IEditorInput input = bulkEditor.getEditorInput();
if (input instanceof AbstractBulkEditorInput) {
return ((AbstractBulkEditorInput) input).isMergingEnabled();
- }
+ }
+ }
+ if(GROUP.equals(property)){
+ return isGroup(bulkEditor);
}
// if (("isPublishFlagEditingEnabled").equals(property)) {
// IEditorInput input = bulkEditor.getEditorInput();
// }
return false;
}
+
+ private boolean isGroup(BulkEditor bulkEditor) {
+ IEditorInput input = bulkEditor.getEditorInput();
+ return (input instanceof GroupEditorInput) ? true : false;
+ }
}
</property>
</options>
</viewer-->
+ <dragAssistant
+ class="eu.etaxonomy.taxeditor.navigation.navigator.dnd.TaxonNavigatorDragAdapterAssistant"
+ viewerId="eu.etaxonomy.taxeditor.navigation.navigator">
+ </dragAssistant>
</extension>
<extension
point="org.eclipse.ui.navigator.linkHelper">
--- /dev/null
+package eu.etaxonomy.taxeditor.navigation.navigator.dnd;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.dnd.DragSourceEvent;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.ui.navigator.CommonDragAdapterAssistant;
+
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.dnd.transfer.TaxonNodeTransfer;
+
+public class TaxonNavigatorDragAdapterAssistant extends
+ CommonDragAdapterAssistant {
+
+ @Override
+ public Transfer[] getSupportedTransferTypes() {
+ return new Transfer[] { TaxonNodeTransfer.getInstance() };
+ }
+
+ @Override
+ public boolean setDragData(DragSourceEvent event,
+ IStructuredSelection selection) {
+ boolean setDataSuccess = false;
+ List<TaxonNode> taxonNodes = new ArrayList<TaxonNode>();
+ for (Object object : selection.toList()){
+ if(object instanceof TaxonNode){
+ taxonNodes.add(((TaxonNode) object));
+ setDataSuccess = true;
+ }
+
+ }
+ if (TaxonNodeTransfer.getInstance().isSupportedType(
+ event.dataType)) {
+ event.data = taxonNodes.toArray(new TaxonNode[taxonNodes.size()]);
+ }
+ return setDataSuccess;
+ }
+
+}