42 |
import java.awt.Graphics; |
import java.awt.Graphics; |
43 |
import java.awt.Rectangle; |
import java.awt.Rectangle; |
44 |
import java.awt.Shape; |
import java.awt.Shape; |
45 |
|
import java.util.Iterator; |
46 |
import java.util.Vector; |
import java.util.Vector; |
47 |
|
|
48 |
import javax.swing.event.DocumentEvent; |
import javax.swing.event.DocumentEvent; |
184 |
{ |
{ |
185 |
View child = createView(fv, offset, spanLeft, rowIndex); |
View child = createView(fv, offset, spanLeft, rowIndex); |
186 |
if (child == null) |
if (child == null) |
187 |
break; |
{ |
188 |
|
offset = -1; |
189 |
|
break; |
190 |
|
} |
191 |
|
|
192 |
int span = (int) child.getPreferredSpan(flowAxis); |
int span = (int) child.getPreferredSpan(flowAxis); |
193 |
if (span > spanLeft) |
if (span > spanLeft) |
194 |
break; |
{ |
195 |
|
offset = -1; |
196 |
|
break; |
197 |
|
} |
198 |
|
|
199 |
row.append(child); |
row.append(child); |
200 |
spanLeft -= span; |
spanLeft -= span; |
225 |
View logicalView = getLogicalView(fv); |
View logicalView = getLogicalView(fv); |
226 |
|
|
227 |
int viewIndex = logicalView.getViewIndex(offset, Position.Bias.Forward); |
int viewIndex = logicalView.getViewIndex(offset, Position.Bias.Forward); |
228 |
|
if (viewIndex == -1) |
229 |
|
return null; |
230 |
|
|
231 |
View child = logicalView.getView(viewIndex); |
View child = logicalView.getView(viewIndex); |
232 |
int flowAxis = fv.getFlowAxis(); |
int flowAxis = fv.getFlowAxis(); |
233 |
int span = (int) child.getPreferredSpan(flowAxis); |
int span = (int) child.getPreferredSpan(flowAxis); |
234 |
|
|
235 |
if (span <= spanLeft) |
if (span <= spanLeft) |
236 |
return child; |
return child; |
|
|
|
237 |
else if (child.getBreakWeight(flowAxis, offset, spanLeft) |
else if (child.getBreakWeight(flowAxis, offset, spanLeft) |
238 |
> BadBreakWeight) |
> BadBreakWeight) |
239 |
// FIXME: What to do with the pos parameter here? |
// FIXME: What to do with the pos parameter here? |
335 |
*/ |
*/ |
336 |
public int getViewIndex(int pos, Position.Bias b) |
public int getViewIndex(int pos, Position.Bias b) |
337 |
{ |
{ |
338 |
return getElement().getElementIndex(pos); |
int index = -1; |
339 |
|
int i = 0; |
340 |
|
for (Iterator it = children.iterator(); it.hasNext(); i++) |
341 |
|
{ |
342 |
|
View child = (View) it.next(); |
343 |
|
if (child.getStartOffset() >= pos |
344 |
|
&& child.getEndOffset() < pos) |
345 |
|
{ |
346 |
|
index = i; |
347 |
|
break; |
348 |
|
} |
349 |
|
} |
350 |
|
return index; |
351 |
} |
} |
352 |
|
|
353 |
/** |
/** |