if( event.getOldValue()==null || !event.getOldValue().equals(event.getNewValue())){
((Layer)event.getNotifier()).refresh(null);
}
break;
case ProjectPackage.LAYER__FEATURE_CHANGES:
FeatureEvent featureEvent = (FeatureEvent) event.getNewValue();
if (featureEvent == null) {
break;
}
featureEvent(manager, event, featureEvent);
break;
default:
break;
}
}
}
private void featureEvent( final TiledRenderManagerDynamic manager, Notification event, FeatureEvent featureEvent ) {
ReferencedEnvelope refreshBounds = null;
ILayer refreshLayer = null;
if(ProjectPlugin.getPlugin().getPluginPreferences().getBoolean(PreferenceConstants.P_FEATURE_EVENT_REFRESH_ALL)){
ILayer notifier = (ILayer) event.getNotifier();
ReferencedEnvelope viewportBounds = notifier.getMap().getViewportModel().getBounds();
refreshLayer = notifier;
refreshBounds = viewportBounds;
}else{
Envelope delta = featureEvent.getBounds();
if( delta != null ){
ILayer notifier = (ILayer) event.getNotifier();
if( delta.isNull() ){
// change to null because renderer treat null as the
// entire viewport but don't make