cz.cuni.pogamut.posh.widget.accept
Class AbstractAcceptAction<DROPPED extends PoshElement,TARGET extends PoshElement>

Package class diagram package AbstractAcceptAction
java.lang.Object
  extended by cz.cuni.pogamut.posh.widget.accept.AbstractAcceptAction<DROPPED,TARGET>
Type Parameters:
DROPPED - We are dragging PoshElement of DROPPED type. This is the source.
TARGET - Type of PoshElement this action drops to, it is destination element.
All Implemented Interfaces:
org.netbeans.api.visual.action.AcceptProvider

public abstract class AbstractAcceptAction<DROPPED extends PoshElement,TARGET extends PoshElement>
extends Object
implements org.netbeans.api.visual.action.AcceptProvider

Ancestor for accept providers of widgets. Action can take the element of type DROPPED and drop it to the element of type TARGET.

Author:
Honza Havlicek

Field Summary
protected  DataFlavor dataFlavor
           
protected  TARGET dataNode
           
protected static Logger log
           
protected  ShedWidget widget
           
 
Constructor Summary
protected AbstractAcceptAction(DataFlavor dataFlavor, TARGET dataNode)
          same as other constructor, but we don't require widget.
protected AbstractAcceptAction(DataFlavor dataFlavor, TARGET dataNode, ShedWidget widget)
          Create an abstract action in the widget widget that will do something to data node dataNode when transferable of same data flavor as dataFlavor is dropped onto widget.
 
Method Summary
 void accept(org.netbeans.api.visual.widget.Widget widget, Point point, Transferable transferable)
          Basically take the data from @transferable (use our getDataFlavor()) and perform the action (performAction(cz.cuni.amis.pogamut.sposh.elements.PoshElement)).
protected  void displayMessage(String message, int messageType)
          Display message using NotifyDescriptor.
 DataFlavor getDataFlavor()
          Get data flavor this accept provider accepts.
protected  int getIndexInList(List list, Object o)
          Get index of object in the list.
 org.netbeans.api.visual.action.ConnectorState isAcceptable(org.netbeans.api.visual.widget.Widget arg0, Point arg1, Transferable transferable)
           
abstract  void performAction(DROPPED droppedData)
          When deriving from this widget, implement what should actually be done in this function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dataFlavor

protected DataFlavor dataFlavor

dataNode

protected TARGET extends PoshElement dataNode

widget

protected ShedWidget widget

log

protected static final Logger log
Constructor Detail

AbstractAcceptAction

protected AbstractAcceptAction(DataFlavor dataFlavor,
                               TARGET dataNode,
                               ShedWidget widget)
Create an abstract action in the widget widget that will do something to data node dataNode when transferable of same data flavor as dataFlavor is dropped onto widget.

Parameters:
dataFlavor - data flavor we are accepting, no multiple flavors accepted
dataNode - data node that will be used somehow when accept action happens.
widget - widget transferable is dropped onto for this accept provider to work.

AbstractAcceptAction

protected AbstractAcceptAction(DataFlavor dataFlavor,
                               TARGET dataNode)
same as other constructor, but we don't require widget.

Parameters:
dataFlavor - Data flavor we are accepting.
dataNode - target lap element.
Method Detail

isAcceptable

public final org.netbeans.api.visual.action.ConnectorState isAcceptable(org.netbeans.api.visual.widget.Widget arg0,
                                                                        Point arg1,
                                                                        Transferable transferable)
Specified by:
isAcceptable in interface org.netbeans.api.visual.action.AcceptProvider

accept

public final void accept(org.netbeans.api.visual.widget.Widget widget,
                         Point point,
                         Transferable transferable)
Basically take the data from @transferable (use our getDataFlavor()) and perform the action (performAction(cz.cuni.amis.pogamut.sposh.elements.PoshElement)). If @transferable is empty (its dataflavored data is null), don't perform the action, only log it.

Specified by:
accept in interface org.netbeans.api.visual.action.AcceptProvider
Parameters:
widget - Not used, widget at which was the transferable dropped
point - Not used, location at which was the transferable dropped, local coordinatin system of the @widget.
transferable - Transferable used to get the data.

getDataFlavor

public final DataFlavor getDataFlavor()
Get data flavor this accept provider accepts.

Returns:
data flavour passed in the constructor

performAction

public abstract void performAction(DROPPED droppedData)
When deriving from this widget, implement what should actually be done in this function. Basically the accepting element is supposed to accept the

Parameters:
droppedData - Object that was dropped to the accepting element (in case of drag and drop, data that was stored in the Transferable).

getIndexInList

protected final int getIndexInList(List list,
                                   Object o)
Get index of object in the list.

Parameters:
list - list of object where this function will look for object o.
o - object whos index we are looking for
Returns:
index of object o in the list or length of list if object wasn't found. XXX: ??? Javadoc is not consistent with what method does? Replace wiht List.indexOf?

displayMessage

protected final void displayMessage(String message,
                                    int messageType)
Display message using NotifyDescriptor.

Parameters:
messgae -
messageType - Type of message, from NotifyDescriptor.*_MESSAGE


Copyright © 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.