KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > irplugin > gui > ReportElementTransferHandler


1 /*
2  * ReportElementTransferHandler.java
3  *
4  * All rights reserved.
5  * Copyright (C) 2005 JasperSoft Corporation
6  *
7  * JasperSoft Corporation
8  * 303 Second Street, Suite 450 North
9  * San Francisco, CA 94107
10  * http://www.jaspersoft.com
11  *
12  *
13  * Created on May 15, 2006, 4:48 PM
14  *
15  */

16
17 package com.jaspersoft.jasperserver.irplugin.gui;
18 import com.jaspersoft.jasperserver.irplugin.JServer;
19 import com.jaspersoft.jasperserver.irplugin.RepositoryFolder;
20 import com.jaspersoft.jasperserver.irplugin.gui.dndobjects.FileObject;
21 import java.awt.datatransfer.Transferable JavaDoc;
22 import javax.swing.*;
23 import javax.swing.tree.*;
24 /**
25  *
26  * @author Administrator
27  */

28 public class ReportElementTransferHandler extends javax.swing.TransferHandler JavaDoc {
29     
30     /** Creates a new instance of TreeTransfertHandler */
31     public ReportElementTransferHandler() {
32         super();
33     }
34     
35     public int getSourceActions(JComponent c)
36     {
37         
38         return COPY_OR_MOVE;
39     }
40     
41     protected Transferable JavaDoc createTransferable(JComponent c)
42     {
43         RepositoryFolder rf = getSelectedRepositoryObject(c);
44         if (rf != null)
45         {
46             FileObject fo = new FileObject(rf);
47             return new it.businesslogic.ireport.gui.dnd.TransferableObject(fo);
48         }
49         return new it.businesslogic.ireport.gui.dnd.TransferableObject(c);
50     }
51     
52     protected RepositoryFolder getSelectedRepositoryObject(JComponent c)
53     {
54         if (c instanceof JTree)
55         {
56             JTree tree = (JTree)c;
57             TreePath path = tree.getLeadSelectionPath();
58         DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)path.getLastPathComponent();
59             
60             if ( selectedNode.getUserObject() instanceof RepositoryFolder )
61             {
62                 RepositoryFolder rf = (RepositoryFolder)selectedNode.getUserObject();
63                 return rf;
64             }
65         }
66         
67         return null;
68     }
69 }
70
Popular Tags