/** DOCUMENT ME! */ private void cleanup() { final CidsBean pointBean = getCidsBean(); if (pointBean != null) { pointBean.removePropertyChangeListener(getCidsBeanListener()); } if (isEditable()) { if (pointBean != null) { // altes feature entfernen final LinearReferencedPointFeature oldFeature = FEATURE_REGISTRY.removeStationFeature(pointBean); if (oldFeature != null) { // listener auf altem Feature entfernen oldFeature.removeListener(getFeatureListener()); } FEATURE_REGISTRY.removeListener(pointBean, getMapRegistryListener()); } final Feature badGeomFeature = getBadGeomFeature(); if (badGeomFeature != null) { // badgeomfeature entfernen. MAPPING_COMPONENT.getFeatureCollection().removeFeature(badGeomFeature); setBadGeomFeature(null); } } setInited(false); if (isEditable()) { // auf startzustand setzen => hinzufügenpanel anzeigen showCard(Card.add); } else { setErrorMsg("keine Station zugewiesen"); showCard(Card.error); } }
/** DOCUMENT ME! */ private void init() { // wird das aktuelle crs unterstützt ? if (!isCrsSupported(CismapBroker.getInstance().getSrs())) { showCrsNotSupported(); // noch nicht initialisiert ? } else if (!isInited()) { final CidsBean pointBean = getCidsBean(); if (pointBean != null) { pointBean.addPropertyChangeListener(getCidsBeanListener()); final double pointValue = getValue(); setValueToLabel(pointValue); labGwk.setText( Long.toString(LinearReferencingHelper.getRouteGwkFromStationBean(pointBean))); if (isEditable()) { setValueToFeature(pointValue); setValueToSpinner(pointValue); // badgeom feature und button nur falls die realgeom weiter als 1 von der route entfernt // ist final double distance = LinearReferencingHelper.distanceOfStationGeomToRouteGeomFromStationBean(pointBean); if (distance > 1) { setBadGeomFeature( createBadGeomFeature( LinearReferencingHelper.getPointGeometryFromStationBean(pointBean))); } else { setBadGeomFeature(null); } // die aktuelle cidsBean als listener bei stationtomapregistry anmelden FEATURE_REGISTRY.addListener(pointBean, getMapRegistryListener()); // feature erzeugen und auf der Karte anzeigen lassen final LinearReferencedPointFeature pointFeature = FEATURE_REGISTRY.addStationFeature(pointBean); if (ico != null) { pointFeature.setIconImage(ico); } pointFeature.setEditable(true); // spinner auf intervall der neuen route anpassen ((SpinnerNumberModel) getValueSpinner().getModel()) .setMaximum(Math.ceil(pointFeature.getLineGeometry().getLength())); // auf änderungen des features horchen pointFeature.addListener(getFeatureListener()); firePointCreated(); } updateBadGeomButton(); updateSplitButton(); // editier panel anzeigen showCard(Card.edit); // fertig intialisiert setInited(true); } else { if (isEditable()) { showCard(Card.add); } else { setErrorMsg("keine Station zugewiesen"); showCard(Card.error); } } } }
/** * DOCUMENT ME! * * @return DOCUMENT ME! */ public LinearReferencedPointFeature getFeature() { return (LinearReferencedPointFeature) FEATURE_REGISTRY.getFeature(getCidsBean()); }
/** DOCUMENT ME! */ private void updateSplitButton() { if (getCidsBean() != null) { getSplitButton().setVisible(FEATURE_REGISTRY.getCounter(getCidsBean()) > 1); } }