source: trunk/src/org/expeditee/items/widgets/WidgetEdge.java@ 474

Last change on this file since 474 was 474, checked in by davidb, 11 years ago

Additional work needed to support Nibb attribute for arrowhead tip thickness

File size: 3.7 KB
Line 
1package org.expeditee.items.widgets;
2
3import java.awt.Color;
4import java.awt.Polygon;
5import java.util.List;
6
7import org.expeditee.items.Item;
8import org.expeditee.items.Line;
9import org.expeditee.items.Text;
10
11/**
12 * Widget edges define the boundries of an interactive widget.
13 *
14 * @author Brook Novak
15 */
16public class WidgetEdge extends Line {
17
18 private InteractiveWidget _widgetSource;
19
20 WidgetEdge(WidgetCorner start, WidgetCorner end, int id,
21 InteractiveWidget widgetSource) {
22 super(start, end, id);
23
24 if (widgetSource == null)
25 throw new NullPointerException("widgetSource");
26 _widgetSource = widgetSource;
27 }
28
29 public InteractiveWidget getWidgetSource() {
30 return _widgetSource;
31 }
32
33 @Override
34 public Item forceMerge(Item merger, int mouseX, int mouseY) {
35 return null; // Don't allow breaking up of borders
36 }
37
38 @Override
39 public void toggleArrow() {
40 // Ignore
41 }
42
43 @Override
44 public void toggleDashed(int amount) {
45 // Ignore
46 }
47
48 @Override
49 public void toggleArrowHeadRatio(int amount) {
50 // Ignore
51 }
52
53 @Override
54 public void toggleArrowHeadLength(int amount) {
55 // Ignore
56 }
57
58 @Override
59 public void setAnnotation(boolean val) {
60 // Ignore
61 }
62
63 @Override
64 public boolean isAnnotation() {
65 return false;
66 }
67
68 @Override
69 public void setArrow(float length, double ratio, double nib_perc) {
70 }
71
72 @Override
73 public void setArrowhead(Polygon arrow) {
74 }
75
76 @Override
77 public void setArrowheadLength(float length) {
78 }
79
80 @Override
81 public void setArrowheadRatio(double ratio) {
82 }
83
84 @Override
85 public void setBottomShadowColor(Color bottom) {
86 }
87
88 @Override
89 public void setFillColor(Color c) {
90 }
91
92 @Override
93 public void setFillPattern(String patternLink) {
94 }
95
96 @Override
97 public void setSize(float size) {
98 }
99
100 @Override
101 public void setFormula(String formula) {
102 }
103
104 @Override
105 public void setAnchorBottom(Float anchor) {
106 _widgetSource.setAnchorBottom(anchor);
107 }
108
109 @Override
110 public void setAnchorRight(Float anchor) {
111 _widgetSource.setAnchorRight(anchor);
112 }
113
114 @Override
115 public Float getAnchorBottom() {
116 return _widgetSource.getSource().getAnchorBottom();
117 }
118
119 @Override
120 public Float getAnchorRight() {
121 return _widgetSource.getSource().getAnchorRight();
122 }
123
124 @Override
125 public boolean contains(int x, int y) {
126 return super.contains(x, y) && !_widgetSource.getBounds().contains(x, y);
127 }
128
129 @Override
130 public Polygon getEnclosedShape() {
131 return getStartItem().getEnclosedShape();
132 }
133
134 @Override
135 public String getLink() {
136 return _widgetSource.getSource().getLink();
137 }
138
139 @Override
140 public void setLink(String link) {
141 _widgetSource.setLink(link, null);
142 }
143
144 /**
145 * @param link
146 * The new frame link. Can be null (for no link)
147 *
148 * @param linker
149 * The text item creating the link. Null if not created from
150 * a text item.
151 */
152 public void setLink(String link, Text linker) {
153 _widgetSource.setLink(link, linker);
154 }
155
156 @Override
157 public void setThickness(float newThickness, boolean setConnected) {
158 if (_widgetSource != null) {
159 float minThickness = _widgetSource.getMinimumBorderThickness();
160 if(newThickness < minThickness)
161 newThickness = minThickness;
162 super.setThickness(newThickness, setConnected);
163 _widgetSource.setSourceThickness(newThickness, false);
164 }
165 }
166
167 @Override
168 public void setBackgroundColor(Color c) {
169 if (_widgetSource != null) {
170 super.setBackgroundColor(c);
171 _widgetSource.setBackgroundColor(c);
172 }
173 }
174
175 @Override
176 public void setColor(Color c) {
177 if (_widgetSource != null) {
178 super.setColor(c);
179 _widgetSource.setSourceBorderColor(c);
180 }
181 }
182
183 @Override
184 public void setData(List<String> data) {
185 _widgetSource.setSourceData(data);
186 }
187
188 @Override
189 public String getName() {
190 return _widgetSource.getName();
191 }
192
193}
Note: See TracBrowser for help on using the repository browser.