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

Last change on this file since 188 was 188, checked in by ra33, 16 years ago

Resizable, recolorable borders now available for IW's

File size: 2.7 KB
Line 
1package org.expeditee.items;
2
3import java.awt.Color;
4import java.awt.Polygon;
5
6/**
7 * Widget edges define the boundries of an interactive widget.
8 *
9 * @author Brook Novak
10 */
11public class WidgetEdge extends Line {
12
13 private InteractiveWidget _widgetSource;
14
15 WidgetEdge(WidgetCorner start, WidgetCorner end, int id,
16 InteractiveWidget widgetSource) {
17 super(start, end, id);
18 if (widgetSource == null)
19 throw new NullPointerException("widgetSource");
20 _widgetSource = widgetSource;
21 }
22
23 public InteractiveWidget getWidgetSource() {
24 return _widgetSource;
25 }
26
27 @Override
28 public Item forceMerge(Item merger, int mouseX, int mouseY) {
29 return null; // Don't allow breaking up of borders
30 }
31
32 // @Override
33 // public void setThickness(float thick) {
34 // // Ignore
35 // }
36
37 @Override
38 public void toggleArrow() {
39 // Ignore
40 }
41
42 @Override
43 public void toggleDashed(int amount) {
44 // Ignore
45 }
46
47 @Override
48 public void toggleArrowHeadRatio(int amount) {
49 // Ignore
50 }
51
52 @Override
53 public void toggleArrowHeadLength(int amount) {
54 // Ignore
55 }
56
57 // @OVERRIDE
58 // PUBLIC VOID SETCOLOR(COLOR C) {
59 // // IGNORE
60 // }
61
62 @Override
63 public void setAnnotation(boolean val) {
64 // Ignore
65 }
66
67 @Override
68 public boolean isAnnotation() {
69 return false;
70 }
71
72 @Override
73 public void setArrow(float length, double ratio) {
74 }
75
76 @Override
77 public void setArrowhead(Polygon arrow) {
78 }
79
80 @Override
81 public void setArrowheadLength(float length) {
82 }
83
84 @Override
85 public void setArrowheadRatio(double ratio) {
86 }
87
88 @Override
89 public void setBackgroundColor(Color c) {
90 }
91
92 @Override
93 public void setBottomShadowColor(Color bottom) {
94 }
95
96 @Override
97 public void setFillColor(Color c) {
98 }
99
100 @Override
101 public void setFillPattern(String patternLink) {
102 }
103
104 @Override
105 public void setSize(float size) {
106 }
107
108 @Override
109 public boolean contains(int x, int y) {
110 return super.contains(x, y) && !getEnclosedShape().contains(x, y);
111 }
112
113 @Override
114 public Polygon getEnclosedShape() {
115 return getStartItem().getEnclosedShape();
116 }
117
118 @Override
119 public String getLink() {
120 return _widgetSource.getSource().getLink();
121 }
122
123 @Override
124 public void setLink(String link) {
125 _widgetSource.getSource().setLink(link);
126 }
127
128 @Override
129 protected boolean dontPaint() {
130 return getThickness() <= 0;
131 }
132
133 @Override
134 public void setThickness(float newThickness, boolean setConnected) {
135 if (_widgetSource != null) {
136 float minThickness = _widgetSource.getMinimumBorderThickness();
137 if(newThickness < minThickness)
138 newThickness = minThickness;
139 super.setThickness(newThickness, setConnected);
140 _widgetSource.getSource().setThickness(newThickness, false);
141 }
142 }
143
144 @Override
145 public void setColor(Color color) {
146 if (_widgetSource != null) {
147 super.setColor(color);
148 _widgetSource.getSource().setColor(color);
149 }
150 }
151}
Note: See TracBrowser for help on using the repository browser.