Package muntjac :: Package event :: Package dd :: Module drag_source :: Class IDragSource
[hide private]
[frames] | no frames]

Class IDragSource

source code

                        object --+            
                                 |            
               util.IEventListener --+        
                                     |        
         terminal.paintable.IPaintable --+    
                                         |    
                            object --+   |    
                                     |   |    
terminal.variable_owner.IVariableOwner --+    
                                         |    
                            object --+   |    
                                     |   |    
           terminal.sizeable.ISizeable --+    
                                         |    
                   ui.component.IComponent --+
                                             |
                                            IDragSource
Known Subclasses:

IDragSource is a IComponent that builds a Transferable for a drag and drop operation.

In Muntjac the drag and drop operation practically starts from client side component. The client side component initially defines the data that will be present in Transferable object on server side. If the server side counterpart of the component implements this interface, terminal implementation lets it create the Transferable instance from the raw client side "seed data". This way server side implementation may translate or extend the data that will be available for DropHandler.

Instance Methods [hide private]
 
getTransferable(self, rawVariables)
IDragSource may convert data added by client side component to meaningful values for server side developer or add other data based on it.
source code

Inherited from ui.component.IComponent: addCallback, addListener, addStyleName, attach, childRequestedRepaint, detach, getApplication, getCaption, getIcon, getLocale, getParent, getStyleName, getWindow, isEnabled, isReadOnly, isVisible, removeCallback, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setParent, setReadOnly, setStyleName, setVisible

Inherited from terminal.paintable.IPaintable: getDebugId, paint, requestRepaint, requestRepaintRequests, setDebugId

Inherited from terminal.variable_owner.IVariableOwner: changeVariables, isImmediate

Inherited from terminal.sizeable.ISizeable: getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeightUnits, setSizeFull, setSizeUndefined, setWidth, setWidthUnits

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]

Inherited from terminal.sizeable.ISizeable: SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS, UNIT_SYMBOLS

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

getTransferable(self, rawVariables)

source code 

IDragSource may convert data added by client side component to meaningful values for server side developer or add other data based on it.

For example Tree converts item identifiers to generated string keys for the client side. Muntjac developer don't and can't know anything about these generated keys, only about item identifiers. When tree node is dragged client puts that key to Transferables client side counterpart. In Tree.getTransferable the key is converted back to item identifier that the server side developer can use.

Parameters:
  • rawVariables - the data that client side initially included in Transferables client side counterpart.
Returns:
the Transferable instance that will be passed to DropHandler (and/or AcceptCriterion)