Revision 3548 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/layout/Layout.java
Layout.java | ||
---|---|---|
101 | 101 |
import com.iver.cit.gvsig.fmap.DriverException; |
102 | 102 |
import com.iver.cit.gvsig.fmap.ExtentEvent; |
103 | 103 |
import com.iver.cit.gvsig.fmap.ViewPortListener; |
104 |
import com.iver.cit.gvsig.fmap.core.adapter.CircleAdapter; |
|
105 |
import com.iver.cit.gvsig.fmap.core.adapter.GeometryAdapter; |
|
106 |
import com.iver.cit.gvsig.fmap.core.adapter.PointAdapter; |
|
107 |
import com.iver.cit.gvsig.fmap.core.adapter.PolyLineAdapter; |
|
108 |
import com.iver.cit.gvsig.fmap.core.adapter.PolygonAdapter; |
|
109 |
import com.iver.cit.gvsig.fmap.core.adapter.RectangleAdapter; |
|
104 | 110 |
import com.iver.cit.gvsig.fmap.layers.XMLException; |
111 |
import com.iver.cit.gvsig.gui.layout.commands.DefaultEditableFeatureSource; |
|
112 |
import com.iver.cit.gvsig.gui.layout.commands.EditableFeatureSource; |
|
105 | 113 |
import com.iver.cit.gvsig.gui.layout.dialogs.FConfigLayoutDialog; |
106 | 114 |
import com.iver.cit.gvsig.gui.layout.fframes.FFrame; |
107 | 115 |
import com.iver.cit.gvsig.gui.layout.fframes.FFrameGraphics; |
... | ... | |
113 | 121 |
import com.iver.cit.gvsig.gui.layout.fframes.FFrameText; |
114 | 122 |
import com.iver.cit.gvsig.gui.layout.fframes.FFrameView; |
115 | 123 |
import com.iver.cit.gvsig.gui.layout.fframes.IFFrame; |
124 |
import com.iver.cit.gvsig.gui.layout.fframes.IFFrameEditable; |
|
125 |
import com.iver.cit.gvsig.gui.layout.fframes.IFFrameLayoutDependence; |
|
116 | 126 |
import com.iver.cit.gvsig.gui.layout.fframes.IFFrameViewDependence; |
117 | 127 |
import com.iver.cit.gvsig.gui.layout.fframes.dialogs.FFrameGraphicsDialog; |
118 | 128 |
import com.iver.cit.gvsig.gui.layout.fframes.dialogs.FFrameGroupDialog; |
... | ... | |
168 | 178 |
public static final int VIEW_FULL = 32; |
169 | 179 |
public static final int VIEW_PAN = 33; |
170 | 180 |
public static final int SET_TAG = 34; |
181 |
public static final int EDIT=35; |
|
171 | 182 |
public static final Image iLayoutpan = new ImageIcon(AddLayer.class.getClassLoader() |
172 | 183 |
.getResource("images/LayoutHand.gif")).getImage(); |
173 | 184 |
public static final Image ipan = new ImageIcon(AddLayer.class.getClassLoader() |
... | ... | |
213 | 224 |
private AffineTransform m_MatrizTransf; |
214 | 225 |
private Rectangle2D rectVisible; |
215 | 226 |
private IFFrameDialog fframedialog = null; |
216 |
private ArrayList m_fframes = new ArrayList(); |
|
227 |
///private ArrayList m_fframes = new ArrayList(); |
|
228 |
private IFFrame[] fframes; |
|
217 | 229 |
private MapProperties m_propertiesLayout = null; |
218 | 230 |
private Attributes m_attributes = null; |
219 | 231 |
private PrintService[] m_cachePrintServices = null; |
... | ... | |
229 | 241 |
private boolean isDrawCuadricula = true; |
230 | 242 |
private Doc doc = null; |
231 | 243 |
private PrintRequestAttributeSet att = null; |
244 |
private GeometryAdapter geometryAdapter=new PolyLineAdapter(); |
|
245 |
private DefaultEditableFeatureSource efs; |
|
232 | 246 |
private boolean isEditable=true; |
233 | 247 |
|
234 | 248 |
/** |
... | ... | |
241 | 255 |
* Creates a new Layout object. |
242 | 256 |
*/ |
243 | 257 |
public Layout() { |
258 |
efs=new DefaultEditableFeatureSource(); |
|
259 |
updateFFrames(); |
|
244 | 260 |
this.setLayout(null); |
245 | 261 |
events = new EventsHandler(this); |
246 | 262 |
layoutDraw = new FLayoutDraw(this); |
247 | 263 |
addComponentListener(events); |
248 | 264 |
addMouseMotionListener(events); |
249 | 265 |
addMouseListener(events); |
266 |
addKeyListener(events); |
|
250 | 267 |
m_MatrizTransf = new AffineTransform(); |
251 | 268 |
m_MatrizTransf.setToIdentity(); |
252 | 269 |
this.initComponents(); |
... | ... | |
316 | 333 |
public synchronized void setCancelDrawing(boolean b) { |
317 | 334 |
m_bCancelDrawing = b; |
318 | 335 |
|
319 |
for (int i = 0; i < getFFrames().size(); i++) {
|
|
320 |
IFFrame fframe = (IFFrame) getFFrames().get(i);
|
|
336 |
for (int i = 0; i < getFFrames().length; i++) {
|
|
337 |
IFFrame fframe = (IFFrame) getFFrame(i); |
|
321 | 338 |
|
322 | 339 |
if (fframe instanceof FFrameView && |
323 | 340 |
(((FFrameView) fframe).getFMap() != null)) { |
... | ... | |
331 | 348 |
* |
332 | 349 |
* @return Array con todos los fframes que contiene el Layout. |
333 | 350 |
*/ |
334 |
public ArrayList getFFrames() {
|
|
335 |
return m_fframes;
|
|
351 |
public IFFrame[] getFFrames() {
|
|
352 |
return fframes;
|
|
336 | 353 |
} |
337 |
|
|
354 |
public IFFrame getFFrame(int i){ |
|
355 |
return fframes[i]; |
|
356 |
} |
|
357 |
public void updateFFrames(){ |
|
358 |
fframes=efs.getFFrames(); |
|
359 |
} |
|
338 | 360 |
/** |
339 | 361 |
* Obtiene el rect que se ajusta al tama?o de la ventana, para ver el folio |
340 | 362 |
* entero. |
... | ... | |
384 | 406 |
m_attributes.setDistanceUnitX(rect); |
385 | 407 |
m_attributes.setDistanceUnitY(rect); |
386 | 408 |
|
387 |
for (int i = 0; i < getFFrames().size(); i++) {
|
|
409 |
for (int i = 0; i < getFFrames().length; i++) {
|
|
388 | 410 |
try { |
389 |
((IFFrame) getFFrames().get(i)).print(g2, getAT());
|
|
411 |
((IFFrame) getFFrame(i)).print(g2, getAT()); |
|
390 | 412 |
} catch (DriverException e) { |
391 | 413 |
NotificationManager.addError(e.getMessage(), e); |
392 | 414 |
} |
... | ... | |
426 | 448 |
private void actionDelFFrame() { |
427 | 449 |
Action doNothing = new AbstractAction() { |
428 | 450 |
public void actionPerformed(ActionEvent e) { |
429 |
for (int i = getFFrames().size() - 1; i >= 0; i--) { |
|
430 |
IFFrame fframe = (IFFrame) getFFrames().get(i); |
|
431 |
|
|
432 |
if (fframe.getSelected() != IFFrame.NOSELECT) { |
|
433 |
getFFrames().remove(i); |
|
434 |
} |
|
435 |
} |
|
436 |
|
|
437 |
refresh(); |
|
451 |
delFFrameSelected(); |
|
452 |
refresh(); |
|
438 | 453 |
} |
439 | 454 |
}; |
440 | 455 |
|
... | ... | |
532 | 547 |
// logger.debug("View pan"); |
533 | 548 |
layoutDraw.drawRectangle((Graphics2D) g); |
534 | 549 |
|
535 |
for (int i = 0; i < getFFrames().size(); i++) {
|
|
536 |
if (getFFrames().get(i) instanceof FFrameView) {
|
|
537 |
FFrameView fframe = (FFrameView) getFFrames().get(i);
|
|
550 |
for (int i = 0; i < getFFrames().length; i++) {
|
|
551 |
if (getFFrame(i) instanceof FFrameView) { |
|
552 |
FFrameView fframe = (FFrameView) getFFrame(i); |
|
538 | 553 |
|
539 | 554 |
if (fframe.getSelected() != IFFrame.NOSELECT) { |
540 | 555 |
Rectangle2D.Double rec = fframe.getBoundingBox(getAT()); |
... | ... | |
591 | 606 |
reSel.setFrameFromDiagonal(m_FirstPoint, m_LastPoint); |
592 | 607 |
g.drawRect(reSel.x, reSel.y, reSel.width, reSel.height); |
593 | 608 |
} |
609 |
IFFrame[] frames=getFFrameSelected(); |
|
610 |
for (int i = 0; i < frames.length; i++) { |
|
611 |
//IFFrame fframe = (IFFrame) getFFrames().get(i); |
|
594 | 612 |
|
595 |
for (int i = 0; i < getFFrames().size(); i++) { |
|
596 |
IFFrame fframe = (IFFrame) getFFrames().get(i); |
|
597 |
|
|
598 |
if (fframe.getSelected() != IFFrame.NOSELECT) { |
|
613 |
//if (fframe.getSelected() != IFFrame.NOSELECT) { |
|
599 | 614 |
g.setColor(Color.black); |
600 |
fframe.drawHandlers((Graphics2D) g);
|
|
615 |
frames[i].drawHandlers((Graphics2D) g);
|
|
601 | 616 |
|
602 | 617 |
int difx = (m_LastPoint.x - m_FirstPoint.x); |
603 | 618 |
int dify = (m_LastPoint.y - m_FirstPoint.y); |
604 |
|
|
619 |
// System.out.println(m_FirstPoint); |
|
620 |
// System.out.println(m_LastPoint); |
|
605 | 621 |
if ((Math.abs(difx) > 3) || (Math.abs(dify) > 3)) { |
606 |
Rectangle2D rectangle = fframe.getMovieRect(difx,
|
|
622 |
Rectangle2D rectangle = frames[i].getMovieRect(difx,
|
|
607 | 623 |
dify); |
608 | 624 |
((Graphics2D) g).rotate(Math.toRadians( |
609 |
fframe.getRotation()),
|
|
625 |
frames[i].getRotation()),
|
|
610 | 626 |
rectangle.getX() + (rectangle.getWidth() / 2), |
611 | 627 |
rectangle.getY() + (rectangle.getHeight() / 2)); |
612 | 628 |
|
... | ... | |
617 | 633 |
m_attributes.getUnitInPixelsY(), |
618 | 634 |
m_MatrizTransf); |
619 | 635 |
} |
620 |
|
|
636 |
|
|
621 | 637 |
g.drawRect((int) rectangle.getMinX(), |
622 | 638 |
(int) rectangle.getMinY(), |
623 | 639 |
(int) rectangle.getWidth(), |
... | ... | |
625 | 641 |
} |
626 | 642 |
|
627 | 643 |
((Graphics2D) g).rotate(Math.toRadians( |
628 |
-fframe.getRotation()),
|
|
644 |
-frames[i].getRotation()),
|
|
629 | 645 |
rectangle.getX() + (rectangle.getWidth() / 2), |
630 | 646 |
rectangle.getY() + (rectangle.getHeight() / 2)); |
631 | 647 |
} |
632 |
} |
|
648 |
//}
|
|
633 | 649 |
} |
634 | 650 |
|
635 | 651 |
g.setClip(rClip); |
... | ... | |
637 | 653 |
layoutDraw.drawRuler((Graphics2D) g, Color.black); |
638 | 654 |
|
639 | 655 |
break; |
640 |
|
|
641 |
case GRAPHICS:
|
|
656 |
case GRAPHICS: |
|
657 |
logger.debug("graphics");
|
|
642 | 658 |
layoutDraw.drawRectangle((Graphics2D) g); |
643 | 659 |
g.drawImage(img, 0, 0, this); |
644 | 660 |
g.setClip(rClip); |
645 | 661 |
layoutDraw.drawGrid((Graphics2D) g); |
646 | 662 |
layoutDraw.drawRuler((Graphics2D) g, Color.black); |
647 |
|
|
663 |
|
|
664 |
if (getTool()==EDIT){ |
|
665 |
IFFrame[] fframeSelect=getFFrameSelected(); |
|
666 |
for(int i=0;i<fframeSelect.length;i++){ |
|
667 |
if (fframeSelect[i] instanceof IFFrameEditable){ |
|
668 |
((IFFrameEditable)fframeSelect[i]).paint((Graphics2D)g,getAT()); |
|
669 |
} |
|
670 |
} |
|
671 |
}else{ |
|
672 |
geometryAdapter.paint((Graphics2D)g,getAT()); |
|
673 |
} |
|
648 | 674 |
break; |
649 | 675 |
|
650 | 676 |
case DESACTUALIZADO: |
... | ... | |
674 | 700 |
layoutDraw.drawGrid((Graphics2D) g); |
675 | 701 |
layoutDraw.drawHandlers((Graphics2D) g, Color.black); |
676 | 702 |
layoutDraw.drawRuler((Graphics2D) g, Color.black); |
677 |
|
|
703 |
|
|
678 | 704 |
break; |
679 | 705 |
|
680 | 706 |
case ACTUALIZADO: |
707 |
logger.debug("actualizado"); |
|
681 | 708 |
layoutDraw.drawRectangle((Graphics2D) g); |
682 | 709 |
|
683 | 710 |
g.drawImage(img, 0, 0, this); |
... | ... | |
702 | 729 |
*/ |
703 | 730 |
public void addFFrame(IFFrame frame, boolean clearSelection, boolean select) { |
704 | 731 |
if (clearSelection) { |
705 |
for (int i = getFFrames().size() - 1; i >= 0; i--) {
|
|
706 |
IFFrame fframe1 = (IFFrame) getFFrames().get(i);
|
|
732 |
for (int i = getFFrames().length - 1; i >= 0; i--) {
|
|
733 |
IFFrame fframe1 = (IFFrame) getFFrame(i); |
|
707 | 734 |
fframe1.setSelected(false); |
708 | 735 |
} |
709 | 736 |
} |
... | ... | |
722 | 749 |
} |
723 | 750 |
|
724 | 751 |
frame.setNum(Integer.parseInt(nums.get(frame.getClass()).toString())); |
725 |
getFFrames().add(frame); |
|
752 |
efs.addFFrame(frame); |
|
753 |
///getFFrames().add(frame); |
|
726 | 754 |
frame.setSelected(select); |
755 |
updateFFrames(); |
|
727 | 756 |
} |
728 | 757 |
|
729 | 758 |
/** |
... | ... | |
935 | 964 |
} else if (getTool() == POINT) { |
936 | 965 |
setMapCursor(iPoint); |
937 | 966 |
} else if (getTool() == LINE) { |
938 |
setMapCursor(iLine);
|
|
967 |
setMapCursor(iRect);
|
|
939 | 968 |
} else if (getTool() == RECTANGLESIMPLE) { |
940 | 969 |
setMapCursor(iRectangle); |
941 | 970 |
} else if (getTool() == POLYLINE) { |
942 | 971 |
setMapCursor(iLine); |
943 |
//// polyline=new Line(); |
|
944 | 972 |
} else if (getTool() == POLYGON) { |
945 | 973 |
setMapCursor(iPoligon); |
946 | 974 |
} else if (getTool() == CIRCLE) { |
947 | 975 |
setMapCursor(iCircle); |
976 |
} |
|
977 |
if (getTool() == EDIT){ |
|
978 |
setMapCursor(icrux); |
|
979 |
startEdit(); |
|
980 |
}else{ |
|
981 |
stopEdit(); |
|
948 | 982 |
} |
983 |
initGeometryAdapter(); |
|
949 | 984 |
} |
950 | 985 |
|
951 | 986 |
/** |
... | ... | |
1180 | 1215 |
* @throws DriverException |
1181 | 1216 |
*/ |
1182 | 1217 |
public void viewFull() throws DriverException { |
1183 |
for (int i = 0; i < getFFrames().size(); i++) {
|
|
1184 |
if (getFFrames().get(i) instanceof FFrameView) {
|
|
1185 |
FFrameView fframe = (FFrameView) getFFrames().get(i);
|
|
1218 |
for (int i = 0; i < getFFrames().length; i++) {
|
|
1219 |
if (getFFrame(i) instanceof FFrameView) { |
|
1220 |
FFrameView fframe = (FFrameView) getFFrame(i); |
|
1186 | 1221 |
|
1187 | 1222 |
if ((fframe.getSelected() != IFFrame.NOSELECT) && |
1188 | 1223 |
(fframe.getView() != null)) { |
... | ... | |
1205 | 1240 |
* @throws XMLException |
1206 | 1241 |
*/ |
1207 | 1242 |
public XMLEntity getXMLEntity() { |
1243 |
//getEFS().compact(); |
|
1208 | 1244 |
XMLEntity xml = new XMLEntity(); |
1209 | 1245 |
xml.putProperty("className", this.getClass().getName()); |
1210 | 1246 |
xml.setName("layout"); |
... | ... | |
1212 | 1248 |
xml.putProperty("m_name", this.getName()); |
1213 | 1249 |
xml.putProperty("isEditable",isEditable); |
1214 | 1250 |
xml.addChild(getAtributes().getXMLEntity()); |
1215 |
for (int i = 0; i < getFFrames().size(); i++) { |
|
1251 |
|
|
1252 |
for (int i = 0; i < getFFrames().length; i++) { |
|
1216 | 1253 |
try{ |
1217 |
XMLEntity xmlAux=((IFFrame) getFFrames().get(i)).getXMLEntity();
|
|
1254 |
XMLEntity xmlAux=((IFFrame) getFFrame(i)).getXMLEntity(); |
|
1218 | 1255 |
xmlAux.putProperty("level",i); |
1219 | 1256 |
xml.addChild(xmlAux); |
1220 | 1257 |
}catch (SaveException e) { |
... | ... | |
1238 | 1275 |
layout.isCuadricula = xml.getBooleanProperty("isCuadricula"); |
1239 | 1276 |
layout.setName(xml.getStringProperty("m_name")); |
1240 | 1277 |
layout.m_attributes = Attributes.createAtributes(xml.getChild(0)); |
1241 |
if (xml.contains("isEditable")){ |
|
1278 |
if (xml.contains("isEditable")){
|
|
1242 | 1279 |
layout.setEditable(xml.getBooleanProperty("isEditable")); |
1243 | 1280 |
} |
1281 |
layout.getEFS().startComplexCommand(); |
|
1244 | 1282 |
for (int i = 1; i < xml.getNumChild(); i++) { |
1245 | 1283 |
try { |
1246 | 1284 |
layout.addFFrame(FFrame.createFFrame(xml.getChild(i),p), |
... | ... | |
1249 | 1287 |
e.showError(); |
1250 | 1288 |
} |
1251 | 1289 |
} |
1290 |
layout.getEFS().endComplexCommand(); |
|
1252 | 1291 |
IFFrame[] fframes=layout.getAllFFrames(); |
1253 | 1292 |
for (int i=0;i<fframes.length;i++){ |
1254 |
if (fframes[i] instanceof FFrameView){
|
|
1255 |
((FFrameView)fframes[i]).setLayout(layout);
|
|
1293 |
if (fframes[i] instanceof IFFrameLayoutDependence){
|
|
1294 |
((IFFrameLayoutDependence)fframes[i]).setLayout(layout);
|
|
1256 | 1295 |
} |
1257 | 1296 |
if (fframes[i] instanceof IFFrameViewDependence){ |
1258 | 1297 |
((IFFrameViewDependence)fframes[i]).initDependence(fframes); |
... | ... | |
1359 | 1398 |
public IFFrame[] getFFrameSelected() { |
1360 | 1399 |
ArrayList selecList = new ArrayList(); |
1361 | 1400 |
|
1362 |
for (int i = getFFrames().size() - 1; i >= 0; i--) {
|
|
1363 |
IFFrame fframe = (IFFrame) getFFrames().get(i);
|
|
1401 |
for (int i = getFFrames().length - 1; i >= 0; i--) {
|
|
1402 |
IFFrame fframe = (IFFrame) getFFrame(i); |
|
1364 | 1403 |
|
1365 | 1404 |
if (fframe.getSelected() != IFFrame.NOSELECT) { |
1366 | 1405 |
selecList.add(fframe); |
... | ... | |
1422 | 1461 |
bModeDebug = modeDebug; |
1423 | 1462 |
} |
1424 | 1463 |
|
1425 |
private ArrayList allFFrames(ArrayList fframes, ArrayList all){
|
|
1426 |
for (int i=0;i<fframes.size();i++){
|
|
1427 |
if (fframes.get(i) instanceof FFrameGroup){
|
|
1428 |
return allFFrames(((FFrameGroup)fframes.get(i)).getFFrames(),all);
|
|
1464 |
private ArrayList allFFrames(IFFrame[] fframes, ArrayList all){
|
|
1465 |
for (int i=0;i<fframes.length;i++){
|
|
1466 |
if (fframes[i] instanceof FFrameGroup){
|
|
1467 |
return allFFrames(((FFrameGroup)fframes[i]).getFFrames(),all);
|
|
1429 | 1468 |
|
1430 | 1469 |
}else{ |
1431 |
all.add(fframes.get(i));
|
|
1470 |
all.add(fframes[i]);
|
|
1432 | 1471 |
} |
1433 | 1472 |
} |
1434 | 1473 |
return all; |
... | ... | |
1437 | 1476 |
ArrayList all=new ArrayList(); |
1438 | 1477 |
return (IFFrame[])allFFrames(getFFrames(),all).toArray(new IFFrame[0]); |
1439 | 1478 |
} |
1479 |
|
|
1480 |
public GeometryAdapter getGeometryAdapter() { |
|
1481 |
return geometryAdapter; |
|
1482 |
} |
|
1440 | 1483 |
public boolean isEditable(){ |
1441 | 1484 |
return isEditable; |
1442 | 1485 |
} |
1443 | 1486 |
public void setEditable(boolean b) { |
1444 | 1487 |
isEditable=b; |
1445 | 1488 |
} |
1489 |
public void initGeometryAdapter() { |
|
1490 |
if (getTool() == LINE) { |
|
1491 |
geometryAdapter=new PolyLineAdapter(); |
|
1492 |
} else if (getTool() == RECTANGLESIMPLE) { |
|
1493 |
geometryAdapter=new RectangleAdapter(); |
|
1494 |
} else if (getTool() == POLYLINE) { |
|
1495 |
geometryAdapter=new PolyLineAdapter(); |
|
1496 |
} else if (getTool() == POLYGON) { |
|
1497 |
geometryAdapter=new PolygonAdapter(); |
|
1498 |
} else if (getTool() == CIRCLE) { |
|
1499 |
geometryAdapter=new CircleAdapter(); |
|
1500 |
} else if (getTool() == POINT) { |
|
1501 |
geometryAdapter=new PointAdapter(); |
|
1502 |
} |
|
1503 |
} |
|
1504 |
public void startEdit() { |
|
1505 |
for(int i=0;i<getFFrames().length;i++){ |
|
1506 |
IFFrame frame=(IFFrame)getFFrame(i); |
|
1507 |
if (frame instanceof IFFrameEditable){ |
|
1508 |
if (frame.getSelected()!=IFFrame.NOSELECT){ |
|
1509 |
((IFFrameEditable)frame).startEditing(); |
|
1510 |
}else{ |
|
1511 |
((IFFrameEditable)frame).stopEditing(); |
|
1512 |
} |
|
1513 |
} |
|
1514 |
|
|
1515 |
} |
|
1516 |
refresh(); |
|
1517 |
} |
|
1518 |
public void stopEdit(){ |
|
1519 |
boolean refresh=false; |
|
1520 |
for(int i=0;i<getFFrames().length;i++){ |
|
1521 |
IFFrame frame=(IFFrame)getFFrame(i); |
|
1522 |
if (frame instanceof IFFrameEditable){ |
|
1523 |
if (((IFFrameEditable)frame).isEditing()){ |
|
1524 |
((IFFrameEditable)getFFrame(i)).stopEditing(); |
|
1525 |
refresh=true; |
|
1526 |
} |
|
1527 |
} |
|
1528 |
} |
|
1529 |
if (refresh) refresh(); |
|
1530 |
} |
|
1531 |
public void delFFrameSelected(){ |
|
1532 |
efs.startComplexCommand(); |
|
1533 |
for (int i = efs.getAllFFrames().length - 1; i >= 0; i--) { |
|
1534 |
IFFrame fframe = (IFFrame) efs.getFFrame(i); |
|
1535 |
|
|
1536 |
if (fframe.getSelected() != IFFrame.NOSELECT) { |
|
1537 |
efs.removeFFrame(i); |
|
1538 |
// getFFrames().remove(i); |
|
1539 |
} |
|
1540 |
} |
|
1541 |
efs.endComplexCommand(); |
|
1542 |
updateFFrames(); |
|
1543 |
} |
|
1544 |
public void delFFrame(int index){ |
|
1545 |
for(int i=0;i<getEFS().getAllFFrames().length;i++){ |
|
1546 |
if (getEFS().getFFrame(i).equals(getFFrame(index))){ |
|
1547 |
getEFS().removeFFrame(i); |
|
1548 |
} |
|
1549 |
} |
|
1550 |
updateFFrames(); |
|
1551 |
} |
|
1552 |
public void delFFrame(IFFrame frame){ |
|
1553 |
for(int i=0;i<getEFS().getAllFFrames().length;i++){ |
|
1554 |
if (getEFS().getFFrame(i).equals(frame)){ |
|
1555 |
getEFS().removeFFrame(i); |
|
1556 |
} |
|
1557 |
} |
|
1558 |
updateFFrames(); |
|
1559 |
} |
|
1560 |
public EditableFeatureSource getEFS(){ |
|
1561 |
return efs; |
|
1562 |
} |
|
1446 | 1563 |
} |
Also available in: Unified diff