| /* |
| * Copyright 2000-2009 JetBrains s.r.o. |
| * |
| * Licensed 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 com.intellij.ide.dnd; |
| |
| import com.intellij.openapi.util.UserDataHolder; |
| import com.intellij.ui.awt.RelativePoint; |
| import com.intellij.ui.awt.RelativeRectangle; |
| import org.jetbrains.annotations.Nullable; |
| |
| import javax.swing.*; |
| import java.awt.*; |
| import java.awt.datatransfer.DataFlavor; |
| import java.awt.datatransfer.Transferable; |
| import java.awt.datatransfer.UnsupportedFlavorException; |
| import java.io.IOException; |
| |
| public interface DnDEvent extends Transferable, UserDataHolder { |
| DnDAction getAction(); |
| |
| void updateAction(DnDAction action); |
| |
| Object getAttachedObject(); |
| |
| void setDropPossible(boolean possible, @Nullable String aExpectedResult); |
| |
| void setDropPossible(boolean possible); |
| |
| void setDropPossible(String aExpectedResult, DropActionHandler aHandler); |
| |
| String getExpectedDropResult(); |
| |
| DataFlavor[] getTransferDataFlavors(); |
| |
| boolean isDataFlavorSupported(DataFlavor flavor); |
| |
| Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException; |
| |
| boolean isDropPossible(); |
| |
| Point getOrgPoint(); |
| |
| void setOrgPoint(Point orgPoint); |
| |
| Point getPoint(); |
| |
| Point getPointOn(Component aComponent); |
| |
| boolean canHandleDrop(); |
| |
| Component getHandlerComponent(); |
| |
| Component getCurrentOverComponent(); |
| |
| void setHighlighting(Component aComponent, int aType); |
| |
| void setHighlighting(RelativeRectangle rectangle, int aType); |
| |
| void setHighlighting(JLayeredPane layeredPane, RelativeRectangle rectangle, int aType); |
| |
| void setAutoHideHighlighterInDrop(boolean aValue); |
| |
| void hideHighlighter(); |
| |
| void setLocalPoint(Point localPoint); |
| |
| Point getLocalPoint(); |
| |
| RelativePoint getRelativePoint(); |
| |
| void clearDelegatedTarget(); |
| |
| boolean wasDelegated(); |
| |
| DnDTarget getDelegatedTarget(); |
| |
| boolean delegateUpdateTo(DnDTarget target); |
| |
| void delegateDropTo(DnDTarget target); |
| |
| Cursor getCursor(); |
| |
| void setCursor(Cursor cursor); |
| |
| void cleanUp(); |
| |
| interface DropTargetHighlightingType { |
| int RECTANGLE = 1; |
| int FILLED_RECTANGLE = 2; |
| int H_ARROWS = 4; |
| int V_ARROWS = 8; |
| |
| int TEXT = 16; |
| int ERROR_TEXT = 32; |
| } |
| } |