63 lines
2.2 KiB
Java
63 lines
2.2 KiB
Java
package net.sf.jasperreports.engine.design;
|
|
|
|
import net.sf.jasperreports.engine.JRElementGroup;
|
|
import net.sf.jasperreports.engine.base.JRBaseElementGroup;
|
|
import net.sf.jasperreports.engine.design.events.JRChangeEventsSupport;
|
|
import net.sf.jasperreports.engine.design.events.JRPropertyChangeSupport;
|
|
|
|
public class JRDesignElementGroup extends JRBaseElementGroup implements JRChangeEventsSupport {
|
|
private static final long serialVersionUID = 10200L;
|
|
|
|
public static final String PROPERTY_ELEMENT_GROUP = "elementGroup";
|
|
|
|
public static final String PROPERTY_CHILDREN = "children";
|
|
|
|
private transient JRPropertyChangeSupport eventSupport;
|
|
|
|
public void setElementGroup(JRElementGroup elementGroup) {
|
|
Object old = this.elementGroup;
|
|
this.elementGroup = elementGroup;
|
|
getEventSupport().firePropertyChange("elementGroup", old, this.elementGroup);
|
|
}
|
|
|
|
public void addElement(JRDesignElement element) {
|
|
element.setElementGroup((JRElementGroup)this);
|
|
this.children.add(element);
|
|
getEventSupport().fireCollectionElementAddedEvent("children", element, this.children.size() - 1);
|
|
}
|
|
|
|
public JRDesignElement removeElement(JRDesignElement element) {
|
|
element.setElementGroup(null);
|
|
int idx = this.children.indexOf(element);
|
|
if (idx >= 0) {
|
|
this.children.remove(idx);
|
|
getEventSupport().fireCollectionElementRemovedEvent("children", element, idx);
|
|
}
|
|
return element;
|
|
}
|
|
|
|
public void addElementGroup(JRDesignElementGroup elemGrp) {
|
|
elemGrp.setElementGroup((JRElementGroup)this);
|
|
this.children.add(elemGrp);
|
|
getEventSupport().fireCollectionElementAddedEvent("children", elemGrp, this.children.size() - 1);
|
|
}
|
|
|
|
public JRDesignElementGroup removeElementGroup(JRDesignElementGroup elemGrp) {
|
|
elemGrp.setElementGroup((JRElementGroup)null);
|
|
int idx = this.children.indexOf(elemGrp);
|
|
if (idx >= 0) {
|
|
this.children.remove(idx);
|
|
getEventSupport().fireCollectionElementRemovedEvent("children", elemGrp, idx);
|
|
}
|
|
return elemGrp;
|
|
}
|
|
|
|
public JRPropertyChangeSupport getEventSupport() {
|
|
synchronized (this) {
|
|
if (this.eventSupport == null)
|
|
this.eventSupport = new JRPropertyChangeSupport(this);
|
|
}
|
|
return this.eventSupport;
|
|
}
|
|
}
|