1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.vaadin.gwt.client.editor.dom;
35
36 import info.magnolia.ui.vaadin.gwt.client.editor.jsni.scroll.ElementScrollPositionPreserver;
37 import info.magnolia.ui.vaadin.gwt.client.shared.AbstractElement;
38 import info.magnolia.ui.vaadin.gwt.client.widget.controlbar.AbstractBar;
39
40 import java.util.Map;
41
42 import com.google.gwt.dom.client.Element;
43
44
45
46
47
48
49
50 public abstract class MgnlElement extends CmsNode {
51
52 protected static final String ACTIVATION_STATUS_KEY = "activationStatus";
53
54 private Map<String, String> attributes;
55
56 private Element startComment;
57 private Element endComment;
58
59 private Element firstElement;
60 private Element lastElement;
61
62 private Element editElement;
63 private AbstractBar controlBar;
64
65
66
67
68 public MgnlElementref="../../../../../../../../info/magnolia/ui/vaadin/gwt/client/editor/dom/MgnlElement.html#MgnlElement">MgnlElement(MgnlElement parent) {
69 super(parent);
70 }
71
72 public void setAttributes(Map<String, String> attributes) {
73 this.attributes = attributes;
74 }
75
76 public Map<String, String> getAttributes() {
77 return this.attributes;
78 }
79
80 protected AbstractBar getControlBar() {
81 return controlBar;
82 }
83
84 public void setControlBar(AbstractBar controlBar) {
85 this.controlBar = controlBar;
86 }
87
88 public Element getFirstElement() {
89 return firstElement;
90 }
91
92 public void setFirstElement(Element firstElement) {
93 this.firstElement = firstElement;
94 }
95
96 public Element getLastElement() {
97 return lastElement;
98 }
99
100 public void setLastElement(Element lastElement) {
101 this.lastElement = lastElement;
102 }
103
104 public void setEditElement(Element editElement) {
105 this.editElement = editElement;
106 }
107
108 public Element getEditElement() {
109 return editElement;
110 }
111
112 public String getAttribute(String key) {
113 return this.attributes.get(key);
114 }
115
116 public boolean containsAttribute(String key) {
117 return this.attributes.containsKey(key);
118 }
119
120 public boolean isInherited() {
121 return Boolean.parseBoolean(getAttribute("inherited")) || (getParent() != null && ((MgnlElement) getParent()).isInherited());
122 }
123
124 public Element getStartComment() {
125 return startComment;
126 }
127
128 public Element getEndComment() {
129 return this.endComment;
130 }
131
132 public void setStartComment(Element element) {
133 this.startComment = element;
134 }
135
136 public void setEndComment(Element element) {
137 this.endComment = element;
138 }
139
140 public abstract AbstractElement getTypedElement();
141
142 public boolean isPage() {
143 return this instanceof MgnlPage;
144 }
145
146 public boolean isArea() {
147 return this instanceof MgnlArea;
148 }
149
150 public boolean isComponent() {
151 return this instanceof MgnlComponent;
152 }
153
154 public ElementScrollPositionPreserver preserve() {
155 return new ElementScrollPositionPreserver(getControlBar() != null ? getControlBar().getElement() : getFirstElement());
156 }
157 }