01: package org.romaframework.module.designer.view.domain.dnd.component;
02:
03: import nextapp.echo2.app.Component;
04: import nextapp.echo2.app.ResourceImageReference;
05: import nextapp.echo2.app.event.ActionEvent;
06: import nextapp.echo2.contrib.app.dnd.DropTargetListener;
07:
08: import org.romaframework.module.designer.view.domain.radpage.aspect.FormAreaEditingPage;
09:
10: import echopointng.LabelEx;
11:
12: public class TrashComponent extends LabelEx implements
13: DropTargetListener {
14:
15: private FormAreaEditingPage caller;
16:
17: public TrashComponent(FormAreaEditingPage iCaller) {
18: super (
19: new ResourceImageReference(
20: "org/romaframework/module/designer/view/image/trash.png"));
21: caller = iCaller;
22: }
23:
24: public void drop(ActionEvent event) {
25: if (event != null) {
26: DnDAreaComponent removed = (DnDAreaComponent) event
27: .getSource();
28: Component parent = removed.getParent();
29: caller.getController().unRegisterComponent(removed);
30: caller.getUtils().removeAreaName(removed.getAreaName());
31: int index = parent.indexOf(removed);
32: parent.remove(removed);
33: DnDAreaComponent empty = new PlaceholderArea(caller);
34: parent.add(empty, index);
35: caller.getController().registerComponentAsTarget(empty);
36: }
37: }
38: }
|