📄 featurecachegraphiclist.java
字号:
// **********************************************************************// // <copyright>// // BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/layer/vpf/FeatureCacheGraphicList.java,v $// $RCSfile: FeatureCacheGraphicList.java,v $// $Revision: 1.2.2.3 $// $Date: 2005/08/09 21:17:52 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.vpf;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.OMGraphicList;import com.bbn.openmap.omGraphics.DrawingAttributes;import java.util.Iterator;/** * The FeatureCacheGraphicList is an extended OMGraphicList that knows * what types of VPF features it holds. This allows it to be able to * use a VPFFeatureGraphicWarehouse to set the proper * DrawingAttributes on its contents. */public abstract class FeatureCacheGraphicList extends OMGraphicList implements Cloneable { /** * The identifying code for the features held in this list. */ protected String featureName = null; public FeatureCacheGraphicList() {} public FeatureCacheGraphicList(int initSize) { super(initSize); } public void setFeatureName(String name) { featureName = name; } public String getFeatureName() { return featureName; } public synchronized void setTo(DrawingAttributes da) { if (da != null) { for (Iterator it = iterator(); it.hasNext();) { da.setTo((OMGraphic) it.next()); } } } /** * A factory method for creating the proper * FeatureCacheGraphicList for a particular feature type, * VPFUtil.Edge, VPFUtil.Area, VPFUtil.Text, and/or VPFUtil.Point, * with each list subclass tuned to help properly color features * when they are set based on layer requirements. If featureType * is null or isn't one of the types listed above, the DEFAULT * version will be returned. */ public static FeatureCacheGraphicList createForType(String featureType) { int lastCharIndex = featureType.length() - 1; if (lastCharIndex >= 0) { // char lastLetter = featureType.charAt(lastCharIndex); if (featureType == VPFUtil.Edge) { return new FeatureCacheGraphicList.EDGE(); } if (featureType == VPFUtil.Area) { return new FeatureCacheGraphicList.AREA(); } if (featureType == VPFUtil.Text) { return new FeatureCacheGraphicList.TEXT(); } if (featureType == VPFUtil.EPoint || featureType == VPFUtil.CPoint) { return new FeatureCacheGraphicList.POINT(); } } return new FeatureCacheGraphicList.DEFAULT(); } /** * Different implementations depending on type. */ public abstract void setDrawingAttributes(VPFFeatureGraphicWarehouse vfgw); public static class AREA extends FeatureCacheGraphicList { public AREA() { super(); } public AREA(int size) { super(size); } public synchronized void setDrawingAttributes( VPFFeatureGraphicWarehouse vfgw) { DrawingAttributes da = vfgw.getAttributesForFeature(featureName); da.setLinePaint(com.bbn.openmap.omGraphics.OMColor.clear); da.setSelectPaint(com.bbn.openmap.omGraphics.OMColor.clear); setTo(da); } } public static class EDGE extends FeatureCacheGraphicList { public EDGE() { super(); } public EDGE(int size) { super(size); } public synchronized void setDrawingAttributes( VPFFeatureGraphicWarehouse vfgw) { DrawingAttributes da = vfgw.getAttributesForFeature(featureName); da.setFillPaint(com.bbn.openmap.omGraphics.OMColor.clear); setTo(da); } } public static class DEFAULT extends FeatureCacheGraphicList { public DEFAULT() { super(); } public DEFAULT(int size) { super(size); } public synchronized void setDrawingAttributes( VPFFeatureGraphicWarehouse vfgw) { setTo(vfgw.getAttributesForFeature(featureName)); } } public static class TEXT extends DEFAULT { public TEXT() { super(); } public TEXT(int size) { super(size); } } public static class POINT extends DEFAULT { public POINT() { super(); } public POINT(int size) { super(size); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -