Class DefaultTagDropHandler
- java.lang.Object
-
- com.inductiveautomation.factorypmi.designer.beaninfo.tags.AbstractBindingTagDropHandler
-
- com.inductiveautomation.factorypmi.designer.beaninfo.tags.DefaultTagDropHandler
-
- All Implemented Interfaces:
TagDropHandler
- Direct Known Subclasses:
TextComponentTagDropHandler
public class DefaultTagDropHandler extends AbstractBindingTagDropHandler
A TagDropHandler that has a framework to install property bindings between the target component and the dropped tag
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
DefaultTagDropHandler.BasicBindConfiguration
static interface
DefaultTagDropHandler.BindConfiguration
Provides a simple mechanism for adding a SimpleBoundTagAdapter binding on a componentstatic class
DefaultTagDropHandler.MultiBindConfiguration
-
Constructor Summary
Constructors Constructor Description DefaultTagDropHandler(java.beans.BeanInfo beanInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBinding(Property<?> prop, DefaultTagDropHandler.BindConfiguration desc)
void
addBinding(Property<?> prop, java.lang.String propName)
Adds a binding configuration to bind the given component property to the given tag property.void
addBinding(Property<?> prop, java.lang.String propName, boolean forceNonBinding)
void
addOneWayBinding(Property<?> prop, java.lang.String propName)
DefaultTagDropHandler.BindConfiguration
createBasicBindConfig(java.lang.String propName, boolean forceNonBinding)
boolean
handleDrop(DesignerContext context, java.util.List<NodeBrowseInfo> nodes, javax.swing.JComponent bean, java.awt.dnd.DropTargetDropEvent dropEvent)
Adds property bindings according to this handler's binding map.protected boolean
handlePropertyPathDrop(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean)
This is called when the drop is an attribute path that isn't the Value propertyprotected boolean
handleValueDrop(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean)
This is used to handle most drops.protected boolean
processBinding(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean, DefaultTagDropHandler.BindConfiguration desc)
This is called for each binding defined if the drop is a standard tag drop, except for the Value propertyprotected boolean
processBinding(DesignerContext context, TagPath path, Property<?> property, javax.swing.JComponent bean, java.lang.String propName, boolean nonBidirectional)
Convenience function for drop handlers that subvert the normal way of doing things to do a quick bindingprotected boolean
processValueBinding(DesignerContext context, NodeBrowseInfo tag, javax.swing.JComponent bean, DefaultTagDropHandler.BindConfiguration desc)
This is called for the value property path for a standard tag drop.void
removeBinding(Property<?> prop)
-
Methods inherited from class com.inductiveautomation.factorypmi.designer.beaninfo.tags.AbstractBindingTagDropHandler
findController, findProperty
-
-
-
-
Method Detail
-
addBinding
public void addBinding(Property<?> prop, java.lang.String propName)
Adds a binding configuration to bind the given component property to the given tag property. Binding will be bidirectional if the property
-
addOneWayBinding
public void addOneWayBinding(Property<?> prop, java.lang.String propName)
-
addBinding
public void addBinding(Property<?> prop, java.lang.String propName, boolean forceNonBinding)
-
createBasicBindConfig
public DefaultTagDropHandler.BindConfiguration createBasicBindConfig(java.lang.String propName, boolean forceNonBinding)
-
addBinding
public void addBinding(Property<?> prop, DefaultTagDropHandler.BindConfiguration desc)
-
removeBinding
public void removeBinding(Property<?> prop)
-
handleDrop
public boolean handleDrop(DesignerContext context, java.util.List<NodeBrowseInfo> nodes, javax.swing.JComponent bean, java.awt.dnd.DropTargetDropEvent dropEvent)
Adds property bindings according to this handler's binding map. If the dropped tag is for a TagProp other than Value, then that property is used as the value and no other bindings are processed- Returns:
- a boolean indicating whether or not the drop was successfully handled.
-
handleValueDrop
protected boolean handleValueDrop(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean)
This is used to handle most drops. If this is called, you are guaranteed that path is a non-null, non-folder, value property tag path. The default implementation adds simple tag bindings that were defined through calls to addBinding()
-
handlePropertyPathDrop
protected boolean handlePropertyPathDrop(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean)
This is called when the drop is an attribute path that isn't the Value property
-
processValueBinding
protected boolean processValueBinding(DesignerContext context, NodeBrowseInfo tag, javax.swing.JComponent bean, DefaultTagDropHandler.BindConfiguration desc)
This is called for the value property path for a standard tag drop. The default simply calls processPropertyBinding. (treats value like any other binding)
-
processBinding
protected boolean processBinding(DesignerContext context, NodeBrowseInfo node, javax.swing.JComponent bean, DefaultTagDropHandler.BindConfiguration desc)
This is called for each binding defined if the drop is a standard tag drop, except for the Value property
-
processBinding
protected boolean processBinding(DesignerContext context, TagPath path, Property<?> property, javax.swing.JComponent bean, java.lang.String propName, boolean nonBidirectional)
Convenience function for drop handlers that subvert the normal way of doing things to do a quick binding
-
-