/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * */ package org.apache.directory.studio.ldapbrowser.ui.views.browser; import org.eclipse.swt.dnd.DragSourceListener; /** * This class implements the {@link DragSourceListener} for the browser view. * * TODO: The code isn't working yet, just a test implementation. * * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> */ public class DragListener /* implements DragSourceListener */ { // private Clipboard systemClipboard; // private InternalClipboard internalClipboard; // // public DragListener(Shell shell, Clipboard systemClipboard, // InternalClipboard internalClipboard) { // super(shell, "Drag", null, null); // this.systemClipboard = systemClipboard; // this.internalClipboard = internalClipboard; // } // public void dispose() { // this.systemClipboard = null; // this.internalClipboard = null; // super.dispose(); // } // protected void updateEnabledState() { // } // // public void dragStart(DragSourceEvent event) { // //System.out.println("dragStart: " + event); // // if(this.selectedEntries.length > 0 && this.selectedSearches.length == // 0 && this.selectedSearchResults.length == 0) { // /* // IEntry parent = this.selectedEntries[0].getParententry(); // for(int i=1; i<this.selectedEntries.length; i++) { // if(this.selectedEntries[i].getParententry() != parent) { // event.doit = false; // return; // } // } // */ // this.internalClipboard.newTransfer(InternalClipboard.TYPE_UNKNOWN, // this.selectedEntries); // event.doit = true; // } // else if(this.selectedSearchResults.length > 0 && // this.selectedEntries.length == 0 && this.selectedSearches.length == // 0) { // /* // IEntry parent = // this.selectedSearchResults[0].getEntry().getParententry(); // for(int i=1; i<this.selectedSearchResults.length; i++) { // if(this.selectedSearchResults[i].getEntry().getParententry() != // parent) { // event.doit = false; // return; // } // } // */ // this.internalClipboard.newTransfer(InternalClipboard.TYPE_UNKNOWN, // this.selectedSearchResults); // event.doit = true; // } // else if(this.selectedSearches.length > 0 && // this.selectedEntries.length == 0 && this.selectedSearchResults.length // == 0) { // this.internalClipboard.newTransfer(InternalClipboard.TYPE_UNKNOWN, // this.selectedSearches); // event.doit = true; // } // else { // event.doit = false; // } // } // // public void dragSetData(DragSourceEvent event) { // //System.out.println("dragSetDataA: " + event); // //System.out.println("dragSetDataT: " + event.dataType); // //System.out.println("dragSetDataS: " + // BrowserTransfer.getInstance().isSupportedType(event.dataType)); // //System.out.println("dragSetDataE: " + // TextTransfer.getInstance().isSupportedType(event.dataType)); // // if (BrowserTransfer.getInstance().isSupportedType(event.dataType)) { // event.data = this.internalClipboard.getClass().getName(); // } // else if (TextTransfer.getInstance().isSupportedType(event.dataType)) // { // String text = ""; // Object objectToTransfer = // this.internalClipboard.getObjectToTransfer(); // if(objectToTransfer instanceof IEntry[]) { // IEntry[] entries = (IEntry[])objectToTransfer; // if(entries.length > 0) { // text = entries[0].getDn().toString(); // for(int i=1; i<entries.length; i++) { // text += "\n"+entries[i].getDn().toString(); // } // } // } // else if(objectToTransfer instanceof ISearchResult[]) { // ISearchResult[] searchresults = (ISearchResult[])objectToTransfer; // if(searchresults.length > 0) { // text = searchresults[0].getDn().toString(); // for(int i=1; i<searchresults.length; i++) { // text += "\n"+searchresults[i].getDn().toString(); // } // } // } // else if(objectToTransfer instanceof ISearch[]) { // ISearch[] searches = (ISearch[])objectToTransfer; // if(searches.length > 0) { // text = searches[0].getName(); // for(int i=1; i<searches.length; i++) { // text += "\n"+searches[i].getName(); // } // } // } // event.data = text; // } // else { // event.data = null; // } // // //System.out.println("dragSetData2: " + event); // } // // public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) { // //System.out.println("dragFinished: " + event); // this.internalClipboard.clear(); // } }