Author: fdesbois Date: 2012-08-02 17:28:55 +0200 (Thu, 02 Aug 2012) New Revision: 347 Url: http://forge.codelutin.com/repositories/revision/sammoa/347 Log: refs #1378 : - clean some deprecated code - move GpsHandler initialize in FlightController and allow init on runtime - add all configuration for GPS in UI Removed: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/GraphicReference.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ReferentialModel.java Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightController.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightControllerDefault.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/BaseGpsHandler.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/FakeGpsHandler.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandler.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandlerGpsylon.java trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/BaseHandler.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/SammoaUIContext.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/CircleBackAction.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/SammoaAction.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIModel.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ObserverListSelectorModel.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightController.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightController.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightController.java 2012-08-02 15:28:55 UTC (rev 347) @@ -25,6 +25,7 @@ import fr.ulr.sammoa.application.audio.AudioRecorder; import fr.ulr.sammoa.application.audio.AudioRecorderDefault; +import fr.ulr.sammoa.application.gps.GpsConfig; import fr.ulr.sammoa.application.gps.GpsHandler; import fr.ulr.sammoa.persistence.GeoPoint; import fr.ulr.sammoa.persistence.Observation; @@ -64,6 +65,11 @@ GpsHandler getGpsHandler(); /** + * @param config GpsConfig to initialize the Gps + */ + void initGpsHandler(GpsConfig config); + + /** * @return The current {@link Route} */ Route getCurrentRoute(); Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightControllerDefault.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightControllerDefault.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightControllerDefault.java 2012-08-02 15:28:55 UTC (rev 347) @@ -28,9 +28,23 @@ import com.google.common.base.Throwables; import com.google.common.collect.Sets; import fr.ulr.sammoa.application.audio.AudioRecorder; +import fr.ulr.sammoa.application.gps.GpsConfig; import fr.ulr.sammoa.application.gps.GpsHandler; import fr.ulr.sammoa.application.gps.GpsUpdateListener; -import fr.ulr.sammoa.persistence.*; +import fr.ulr.sammoa.persistence.Flight; +import fr.ulr.sammoa.persistence.FlightDAO; +import fr.ulr.sammoa.persistence.GeoPoint; +import fr.ulr.sammoa.persistence.GeoPointDAO; +import fr.ulr.sammoa.persistence.Observation; +import fr.ulr.sammoa.persistence.ObservationDAO; +import fr.ulr.sammoa.persistence.ObservationStatus; +import fr.ulr.sammoa.persistence.ObserverPosition; +import fr.ulr.sammoa.persistence.Position; +import fr.ulr.sammoa.persistence.Route; +import fr.ulr.sammoa.persistence.RouteType; +import fr.ulr.sammoa.persistence.SammoaDAOHelper; +import fr.ulr.sammoa.persistence.SammoaPersistence; +import fr.ulr.sammoa.persistence.TransectFlight; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaRuntimeException; @@ -40,6 +54,8 @@ import java.io.File; import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.util.Date; import java.util.Set; @@ -81,8 +97,10 @@ this.context = context; this.flight = flight; - this.gpsHandler = context.getGpsHandler(); - this.gpsHandler.addGpsUpdateListener(this); + + GpsConfig gpsConfig = context.getConfig().getGpsConfig(); + initGpsHandler(gpsConfig); + this.audioRecorder = context.getAudioRecorder(); this.persistence = context.getPersistence(); @@ -131,6 +149,52 @@ } @Override + public void initGpsHandler(GpsConfig config) { + + Set<GpsUpdateListener> updateListeners; + if (gpsHandler != null) { + + // Remove all existing listeners and keep them for the new instance + updateListeners = Sets.newHashSet(gpsHandler.getGpsUpdateListeners()); + for (GpsUpdateListener listener : updateListeners) { + gpsHandler.removeGpsUpdateListener(listener); + } + + } else { + updateListeners = Sets.<GpsUpdateListener>newHashSet(this); + } + + // Instanciate the GpsHandler + Class<? extends GpsHandler> gpsHandlerClass = config.getGpsHandlerClass(); + try { + + Constructor<? extends GpsHandler> constructor = + gpsHandlerClass.getConstructor(GpsConfig.class); + + gpsHandler = constructor.newInstance(config); + + } catch (InstantiationException e) { + throw Throwables.propagate(e); + } catch (IllegalAccessException e) { + throw Throwables.propagate(e); + } catch (NoSuchMethodException e) { + throw Throwables.propagate(e); + } catch (InvocationTargetException e) { + throw Throwables.propagate(e); + } + + // Attach all updateListener + for (GpsUpdateListener listener : updateListeners) { + gpsHandler.addGpsUpdateListener(listener); + } + + // Start the GpsHandler if Flight is running + if (isRunning()) { + gpsHandler.start(); + } + } + + @Override public boolean isWaiting() { return state == FlightState.WAITING; } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java 2012-08-02 15:28:55 UTC (rev 347) @@ -26,6 +26,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Throwables; +import fr.ulr.sammoa.application.gps.GpsConfig; import fr.ulr.sammoa.persistence.AutoSaveListener; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.nuiton.util.ApplicationConfig; @@ -82,6 +83,8 @@ */ protected ApplicationConfig applicationConfig; + protected GpsConfig gpsConfig; + public SammoaConfig(String file, String... args) { applicationConfig = new ApplicationConfig(); @@ -98,6 +101,8 @@ "Could not parse configuration", e); } + gpsConfig = new GpsConfig(applicationConfig); + // create directory if needed getOrCreateDirectory(SammoaConfigOption.DATA_DIRECTORY); @@ -108,6 +113,10 @@ return applicationConfig; } + public GpsConfig getGpsConfig() { + return gpsConfig; + } + public void save() { applicationConfig.saveForUser(); } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaContext.java 2012-08-02 15:28:55 UTC (rev 347) @@ -24,17 +24,11 @@ */ package fr.ulr.sammoa.application; -import com.google.common.base.Throwables; import fr.ulr.sammoa.application.audio.AudioRecorder; import fr.ulr.sammoa.application.audio.AudioRecorderDefault; -import fr.ulr.sammoa.application.gps.GpsConfig; -import fr.ulr.sammoa.application.gps.GpsHandler; import fr.ulr.sammoa.application.map.ExportMapService; import fr.ulr.sammoa.persistence.SammoaPersistence; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; - /** * Created: 08/06/12 * @@ -56,8 +50,6 @@ protected AudioRecorder audioRecorder; - protected GpsHandler gpsHandler; - public SammoaContext(SammoaConfig config) { this(config, new SammoaPersistence( config.getApplicationConfig().getFlatOptions(), @@ -85,32 +77,6 @@ return audioRecorder; } - public GpsHandler getGpsHandler() { - if (gpsHandler == null) { - - GpsConfig gpsConfig = new GpsConfig(config.getApplicationConfig()); - - Class<? extends GpsHandler> gpsHandlerClass = gpsConfig.getGpsHandlerClass(); - try { - - Constructor<? extends GpsHandler> constructor = - gpsHandlerClass.getConstructor(GpsConfig.class); - - gpsHandler = constructor.newInstance(gpsConfig); - - } catch (InstantiationException e) { - throw Throwables.propagate(e); - } catch (IllegalAccessException e) { - throw Throwables.propagate(e); - } catch (NoSuchMethodException e) { - throw Throwables.propagate(e); - } catch (InvocationTargetException e) { - throw Throwables.propagate(e); - } - } - return gpsHandler; - } - public FlightService getFlightService() { if (flightService == null) { flightService = new FlightService(this); Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/BaseGpsHandler.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/BaseGpsHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/BaseGpsHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -48,7 +48,7 @@ */ public abstract class BaseGpsHandler extends TimerTask implements GpsHandler { - protected Set<GpsUpdateListener> locationUpdateListeners; + protected Set<GpsUpdateListener> gpsUpdateListeners; /** To test if connection to device is effective. */ protected DeviceState gpsState = DeviceState.NO_DEVICE; @@ -70,7 +70,7 @@ this.config = config; int periodSeconds = config.getCheckPeriod(); int timeoutSeconds = config.getTimeout(); - locationUpdateListeners = Sets.newHashSet(); + gpsUpdateListeners = Sets.newHashSet(); onInit(); @@ -98,15 +98,20 @@ @Override public void addGpsUpdateListener(GpsUpdateListener gpsUpdateListener) { - locationUpdateListeners.add(gpsUpdateListener); + gpsUpdateListeners.add(gpsUpdateListener); } @Override public void removeGpsUpdateListener(GpsUpdateListener gpsUpdateListener) { - locationUpdateListeners.remove(gpsUpdateListener); + gpsUpdateListeners.remove(gpsUpdateListener); } @Override + public Set<GpsUpdateListener> getGpsUpdateListeners() { + return gpsUpdateListeners; + } + + @Override public void run() { GeoPoint currentLocation = getCurrentLocation(); @@ -130,7 +135,7 @@ setGpsState(DeviceState.RECORDING); // Fire events for location change - for (GpsUpdateListener listener : locationUpdateListeners) { + for (GpsUpdateListener listener : gpsUpdateListeners) { listener.onLocationReceived(currentLocation); } } @@ -148,7 +153,7 @@ protected void setGpsState(DeviceState gpsState) { this.gpsState = gpsState; - for (GpsUpdateListener listener : locationUpdateListeners) { + for (GpsUpdateListener listener : gpsUpdateListeners) { listener.onStateChanged(gpsState); } } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/FakeGpsHandler.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/FakeGpsHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/FakeGpsHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -82,7 +82,7 @@ // // if (!newState.equals(currentState)) { // currentState = newState; -// for (GpsUpdateListener locationUpdateListener : locationUpdateListeners) { +// for (GpsUpdateListener locationUpdateListener : gpsUpdateListeners) { // locationUpdateListener.onStateChanged(currentState); // } // } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandler.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -26,6 +26,8 @@ import fr.ulr.sammoa.persistence.GeoPoint; +import java.util.Set; + /** * Représente l'accès à un périphérique GPS. */ @@ -67,4 +69,8 @@ */ void removeGpsUpdateListener(GpsUpdateListener gpsUpdateListener); + /** + * @return all the listeners + */ + Set<GpsUpdateListener> getGpsUpdateListeners(); } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandlerGpsylon.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandlerGpsylon.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/gps/GpsHandlerGpsylon.java 2012-08-02 15:28:55 UTC (rev 347) @@ -52,7 +52,7 @@ private static final Logger logger = LoggerFactory.getLogger(GpsHandlerGpsylon.class); -// protected Set<GpsUpdateListener> locationUpdateListeners; +// protected Set<GpsUpdateListener> gpsUpdateListeners; protected GPSDataProcessor gpsDataProcessor; Modified: trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties =================================================================== --- trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-08-02 15:28:55 UTC (rev 347) @@ -8,11 +8,11 @@ sammoa.config.effort.number= sammoa.config.flight.number= sammoa.config.fly.mode= -sammoa.config.gps.check.period= -sammoa.config.gps.device= -sammoa.config.gps.handler= -sammoa.config.gps.speed= -sammoa.config.gps.timeout= +sammoa.config.gps.check.period=Time in seconds between each GPS capture +sammoa.config.gps.device=GPS device port +sammoa.config.gps.handler=GpsHandler class \: fr.ulr.sammoa.application.gps.GpsHandlerGpylon or fr.ulr.sammoa.application.gps.FakeGpsHandler +sammoa.config.gps.speed=GPS speed for capture +sammoa.config.gps.timeout=Time in seconds before GPS going to timeout (always the same data is received for this laps of time) and return error sammoa.config.log.file=Path for application log file sammoa.config.observation.number= sammoa.config.strate.shape.file= Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/BaseHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/BaseHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/BaseHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -46,12 +46,12 @@ @Deprecated public FlightController getFlightController() { - return getUIContext().getFlightController(); + return getUIContext().getFlightUIHandler().getFlightController(); } @Deprecated public FlightUIModel getFlightUIModel() { - return getUIContext().getFlightUIModel(); + return getUIContext().getFlightUIHandler().getModel(); } @Deprecated Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -32,6 +32,7 @@ import fr.ulr.sammoa.persistence.Flight; import fr.ulr.sammoa.ui.swing.campaign.CampaignUI; import fr.ulr.sammoa.ui.swing.flight.FlightUI; +import fr.ulr.sammoa.ui.swing.flight.FlightUIHandler; import fr.ulr.sammoa.ui.swing.home.HomeUI; import fr.ulr.sammoa.ui.swing.io.exportMap.ExportMapUI; import jaxx.runtime.SwingUtil; @@ -244,9 +245,6 @@ helper.addOption(SammoaConfig.SammoaConfigOption.OBSERVATION_NUMBER); helper.addOption(SammoaConfig.SammoaConfigOption.BACKGROUND_SHAPE_FILE); helper.setOptionCallBack("ui"); - // seconds - helper.addOption(GpsConfig.GpsConfigOption.GPS_CHECK_PERIOD); - helper.setOptionCallBack("ui"); // milliseconds helper.addOption(SammoaConfig.SammoaConfigOption.AUTO_COMMIT_DELAY); helper.setOptionCallBack("ui"); @@ -290,6 +288,34 @@ helper.addOption(SammoaConfig.SammoaConfigOption.KEY_CIRCLE_BACK); helper.setOptionCallBack("actions"); + // gps + helper.registerCallBack("gps", + n_("sammoa.action.reload.gps"), + SwingUtil.createActionIcon("config"), + new Runnable() { + + @Override + public void run() { + FlightUIHandler flightUIHandler = context.getFlightUIHandler(); + if (flightUIHandler != null) { + GpsConfig gpsConfig = context.getConfig().getGpsConfig(); + flightUIHandler.getFlightController().initGpsHandler(gpsConfig); + } + } + }); + helper.addCategory(n_("sammoa.config.category.gps"), + n_("sammoa.config.category.gps.description")); +// helper.addOption(GpsConfig.GpsConfigOption.GPS_HANDLER); +// helper.setOptionCallBack("gps"); + helper.addOption(GpsConfig.GpsConfigOption.GPS_DEVICE); + helper.setOptionCallBack("gps"); + helper.addOption(GpsConfig.GpsConfigOption.GPS_SPEED); + helper.setOptionCallBack("gps"); + helper.addOption(GpsConfig.GpsConfigOption.GPS_CHECK_PERIOD); + helper.setOptionCallBack("gps"); + helper.addOption(GpsConfig.GpsConfigOption.GPS_TIMEOUT); + helper.setOptionCallBack("gps"); + // others helper.addCategory(n_("sammoa.config.category.other"), n_("sammoa.config.category.other.description")); Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/SammoaUIContext.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/SammoaUIContext.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/SammoaUIContext.java 2012-08-02 15:28:55 UTC (rev 347) @@ -108,32 +108,6 @@ public void setSwingSession(SwingSession swingSession) { this.swingSession = swingSession; } - - /** - * @return FlightUIModel - * @deprecated need to be used from FlightUIHandler - */ - @Deprecated - public FlightUIModel getFlightUIModel() { - return flightUIModel; - } - - public void setFlightUIModel(FlightUIModel flightUIModel) { - this.flightUIModel = flightUIModel; - } - - /** - * @return FlightController - * @deprecated need to be used from FlightUIHandler - */ - @Deprecated - public FlightController getFlightController() { - return flightController; - } - - public void setFlightController(FlightController flightController) { - this.flightController = flightController; - } public SammoaDecoratorProvider getDecoratorProvider() { if (decoratorProvider == null) { Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/ValidationTableHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -31,14 +31,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.JRootPane; -import javax.swing.KeyStroke; -import java.awt.Component; -import java.awt.Frame; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -62,7 +56,7 @@ } public SwingValidatorMessageTableModel getValidationModel() { - return SammoaUIContext.getUIContext().getFlightUIModel().getValidatorTableModel(); + return SammoaUIContext.getUIContext().getFlightUIHandler().getModel().getValidatorTableModel(); } public void init() { Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/CircleBackAction.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/CircleBackAction.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/CircleBackAction.java 2012-08-02 15:28:55 UTC (rev 347) @@ -29,8 +29,7 @@ import fr.ulr.sammoa.ui.swing.SammoaUIContext; import org.nuiton.util.Resource; -import javax.swing.ImageIcon; -import javax.swing.JComponent; +import javax.swing.*; import java.awt.event.ActionEvent; import java.util.List; @@ -60,7 +59,7 @@ } if (observation == null) { - List<Observation> obsList = context.getFlightUIModel().getObservations(); + List<Observation> obsList = getModel().getObservations(); observation = obsList.get(obsList.size()); } @@ -70,7 +69,7 @@ @Override protected boolean checkEnabled() { boolean result = false; - Route route = context.getFlightUIModel().getCurrentRoute(); + Route route = getModel().getCurrentRoute(); if (route != null) { result = route.getRouteType() != RouteType.TRANSIT; } Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/SammoaAction.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/SammoaAction.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/action/SammoaAction.java 2012-08-02 15:28:55 UTC (rev 347) @@ -29,9 +29,9 @@ import fr.ulr.sammoa.persistence.Route; import fr.ulr.sammoa.persistence.TransectFlight; import fr.ulr.sammoa.ui.swing.SammoaUIContext; +import fr.ulr.sammoa.ui.swing.flight.FlightUIModel; -import javax.swing.AbstractAction; -import javax.swing.Icon; +import javax.swing.*; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -56,7 +56,7 @@ protected void init(SammoaUIContext context) { this.context = context; - this.context.getFlightUIModel().addPropertyChangeListener(this); + getModel().addPropertyChangeListener(this); setEnabled(checkEnabled()); } @@ -66,23 +66,27 @@ } protected FlightController getFlightController() { - return context.getFlightController(); + return context.getFlightUIHandler().getFlightController(); } + + protected FlightUIModel getModel() { + return context.getFlightUIHandler().getModel(); + } protected FlightState getFlightState() { - return context.getFlightUIModel().getFlightState(); + return getModel().getFlightState(); } protected Flight getFlight() { - return context.getFlightUIModel().getFlight(); + return getModel().getFlight(); } protected TransectFlight getNextTransect() { - return context.getFlightUIModel().getNextTransect(); + return getModel().getNextTransect(); } protected Route getCurrentRoute() { - return context.getFlightUIModel().getCurrentRoute(); + return getModel().getCurrentRoute(); } protected abstract boolean checkEnabled(); Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightBarHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -61,11 +61,9 @@ public void init() { getFlightUIModel().addPropertyChangeListener(this); - getContext().getGpsHandler().addGpsUpdateListener(getModel()); - if (getFlightController() != null) { - getFlightController().getAudioRecorder().addAudioUpdateListener(getAudioLED()); - getFlightController().getGpsHandler().addGpsUpdateListener(getGpsLED()); - } + getFlightController().getAudioRecorder().addAudioUpdateListener(getAudioLED()); + getFlightController().getGpsHandler().addGpsUpdateListener(getGpsLED()); + getFlightController().getGpsHandler().addGpsUpdateListener(getModel()); } @Override Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -24,7 +24,11 @@ */ package fr.ulr.sammoa.ui.swing.flight; -import com.bbn.openmap.*; +import com.bbn.openmap.InformationDelegator; +import com.bbn.openmap.LayerHandler; +import com.bbn.openmap.MapBean; +import com.bbn.openmap.MapHandler; +import com.bbn.openmap.MouseDelegator; import com.bbn.openmap.event.OMMouseMode; import com.bbn.openmap.gui.EmbeddedNavPanel; import com.bbn.openmap.gui.EmbeddedScaleDisplayPanel; @@ -37,14 +41,45 @@ import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.common.base.Strings; -import com.google.common.collect.*; -import fr.ulr.sammoa.application.*; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Ordering; +import fr.ulr.sammoa.application.DeviceState; +import fr.ulr.sammoa.application.FlightController; +import fr.ulr.sammoa.application.FlightControllerDefault; +import fr.ulr.sammoa.application.FlightControllerUpdateListener; +import fr.ulr.sammoa.application.FlightService; +import fr.ulr.sammoa.application.FlightState; +import fr.ulr.sammoa.application.ReferentialService; +import fr.ulr.sammoa.application.SammoaConfig; +import fr.ulr.sammoa.application.SammoaContext; import fr.ulr.sammoa.application.gps.GpsUpdateListener; -import fr.ulr.sammoa.persistence.*; +import fr.ulr.sammoa.persistence.Campaign; +import fr.ulr.sammoa.persistence.Flight; +import fr.ulr.sammoa.persistence.GeoPoint; +import fr.ulr.sammoa.persistence.Observation; +import fr.ulr.sammoa.persistence.Observer; +import fr.ulr.sammoa.persistence.Route; +import fr.ulr.sammoa.persistence.Strate; +import fr.ulr.sammoa.persistence.Transect; +import fr.ulr.sammoa.persistence.TransectFlight; +import fr.ulr.sammoa.persistence.TransectFlights; import fr.ulr.sammoa.ui.swing.SammoaDecoratorProvider; import fr.ulr.sammoa.ui.swing.SammoaUIContext; import fr.ulr.sammoa.ui.swing.SammoaUIHandler; -import fr.ulr.sammoa.ui.swing.action.*; +import fr.ulr.sammoa.ui.swing.action.AddAction; +import fr.ulr.sammoa.ui.swing.action.BeginAction; +import fr.ulr.sammoa.ui.swing.action.CenterObservationAction; +import fr.ulr.sammoa.ui.swing.action.CircleBackAction; +import fr.ulr.sammoa.ui.swing.action.EndAction; +import fr.ulr.sammoa.ui.swing.action.LeftObservationAction; +import fr.ulr.sammoa.ui.swing.action.NextAction; +import fr.ulr.sammoa.ui.swing.action.NextTransectAction; +import fr.ulr.sammoa.ui.swing.action.RightObservationAction; +import fr.ulr.sammoa.ui.swing.action.StartAction; +import fr.ulr.sammoa.ui.swing.action.StopAction; import fr.ulr.sammoa.ui.swing.flight.layer.GpsTracingLayer; import fr.ulr.sammoa.ui.swing.flight.layer.StrateLayer; import fr.ulr.sammoa.ui.swing.flight.layer.TransectLayer; @@ -85,6 +120,8 @@ protected SammoaUIContext context; + protected FlightController flightController; + protected FlightUI ui; protected long uiStartTime; @@ -106,6 +143,10 @@ return context.getAppContext(); } + public FlightController getFlightController() { + return flightController; + } + protected FlightService getFlightService() { return context.getAppContext().getFlightService(); } @@ -161,13 +202,12 @@ startTime = timeLog.log(startTime, "beforeInitUI", "entities are loaded"); - FlightController controller = new FlightControllerDefault(getAppContext(), flight); - controller.addListener(this); - context.setFlightController(controller); + flightController = new FlightControllerDefault(getAppContext(), flight); + flightController.addListener(this); FlightUIModel model = new FlightUIModel(); - model.getReferential().setObservers(referentialObservers); + model.setObservers(referentialObservers); model.setFlight(flight); model.setFlightObserverForPositions(observers); model.setObservations(observations); @@ -177,12 +217,11 @@ model.setTransectFlights(prepareTransectFlights(model, flight.getTransectFlight())); - model.setFlightState(controller.getState()); - model.setCurrentRoute(controller.getCurrentRoute()); - model.setNextTransect(controller.getNextTransect()); + model.setFlightState(flightController.getState()); + model.setCurrentRoute(flightController.getCurrentRoute()); + model.setNextTransect(flightController.getNextTransect()); ui.setContextValue(model); - context.setFlightUIModel(model); timeLog.log(startTime, "beforeInitUI", "model is created"); @@ -319,7 +358,7 @@ initMapHandler(); - getAppContext().getGpsHandler().addGpsUpdateListener( + getFlightController().getGpsHandler().addGpsUpdateListener( new GpsUpdateListener() { @Override @@ -342,7 +381,7 @@ @Override public void onCloseUI() { - context.getFlightController().close(); + flightController.close(); getTransectUI().removeComponentListener(transectUIListener); } @@ -662,9 +701,6 @@ mapHandler.add(shapeLayer); } - // Ajout d'un layer pour afficher les graduations latitutes/longitutes -// mapHandler.add(new GraticuleLayer()); - // File strateFile = getConfig().getStrateShapeFile(); String campaignId = getModel().getFlight().getCampaign().getTopiaId(); File mapDirectory = new File(new File(new File(getConfig().getDataDirectory(), "campaign"), campaignId), "map"); @@ -689,7 +725,7 @@ // Ajout d'un layer pour représenter les points relevés par le GPS GpsTracingLayer gpsTracingLayer = new GpsTracingLayer(); - getAppContext().getGpsHandler().addGpsUpdateListener(gpsTracingLayer); + getFlightController().getGpsHandler().addGpsUpdateListener(gpsTracingLayer); mapHandler.add(gpsTracingLayer); InformationDelegator informationDelegator = new InformationDelegator(); @@ -708,32 +744,6 @@ mapHandler.add(informationDelegator); } -// -// /** -// * @return les différentes propriétés de configuration du fond de carte -// */ -// protected Properties getBackgroundLayerProperties() { -// Properties result = new Properties(); -// result.put("prettyName", "Political Solid"); -// result.put(DrawingAttributes.linePaintProperty, "ff000000"); -// result.put(DrawingAttributes.fillPaintProperty, "ffbdde83"); -// String path = getConfig().getBackgroundShapeFile().getPath(); -//// String path = SammoaConfig.SammoaConfigOption.BACKGROUND_SHAPE_FILE.getDefaultValue(); -// result.put(ShapeLayer.shapeFileProperty, path); -// return result; -// } -// -// @Deprecated -// protected void setCurrentTransect(Route route, boolean current) { -// if (route != null) { -// TransectFlight transectFlight = route.getTransectFlight(); -// if (transectFlight != null) { -// GraphicReference<Transect> graphic = -// getReferential().getTransect(transectFlight.getTransect()); -// graphic.setCurrent(current); -// } -// } -// } protected PropertyChangeListener transectFlightListener = new PropertyChangeListener() { Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIModel.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIModel.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/FlightUIModel.java 2012-08-02 15:28:55 UTC (rev 347) @@ -27,7 +27,12 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.Lists; import fr.ulr.sammoa.application.FlightState; -import fr.ulr.sammoa.persistence.*; +import fr.ulr.sammoa.persistence.Flight; +import fr.ulr.sammoa.persistence.Observation; +import fr.ulr.sammoa.persistence.Observations; +import fr.ulr.sammoa.persistence.Observer; +import fr.ulr.sammoa.persistence.Route; +import fr.ulr.sammoa.persistence.TransectFlight; import fr.ulr.sammoa.ui.swing.BaseModel; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; @@ -46,7 +51,7 @@ public static final String PROPERTY_FLIGHT = "flight"; - public static final String PROPERTY_REFERENTIAL = "referential"; + public static final String PROPERTY_OBSERVERS = "observers"; public static final String PROPERTY_CURRENT_ROUTE = "currentRoute"; @@ -80,7 +85,7 @@ protected Flight flight; - protected ReferentialModel referential; + protected List<Observer> observers; protected Route currentRoute; @@ -145,17 +150,17 @@ firePropertyChange(PROPERTY_FLIGHT, oldValue, flight); } - public ReferentialModel getReferential() { - if (referential == null) { - referential = new ReferentialModel(); + public List<Observer> getObservers() { + if (observers == null) { + observers = Lists.newArrayList(); } - return referential; + return observers; } - public void setReferential(ReferentialModel referential) { - ReferentialModel oldValue = getReferential(); - this.referential = referential; - firePropertyChange(PROPERTY_REFERENTIAL, oldValue, referential); + public void setObservers(List<Observer> observers) { + List<Observer> oldValue = Lists.newArrayList(getObservers()); + this.observers = observers; + firePropertyChange(PROPERTY_OBSERVERS, oldValue, observers); } public Route getCurrentRoute() { Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/GraphicReference.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/GraphicReference.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/GraphicReference.java 2012-08-02 15:28:55 UTC (rev 347) @@ -1,121 +0,0 @@ -/* - * #%L - * SAMMOA :: UI Swing - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 UMS 3462, Code Lutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ulr.sammoa.ui.swing.flight; - -import fr.ulr.sammoa.ui.swing.BaseModel; - -/** - * Created: 12/06/12 - * - * @author fdesbois <desbois@codelutin.com> - */ -@Deprecated -public class GraphicReference<E> extends BaseModel { - - private static final long serialVersionUID = 1L; - - public static final String PROPERTY_REFERENCE = "reference"; - - public static final String PROPERTY_INDEX = "index"; - - public static final String PROPERTY_SELECTED = "selected"; - - public static final String PROPERTY_VISIBLE = "visible"; - - public static final String PROPERTY_CURRENT = "current"; - - protected E reference; - - protected int index; - - protected boolean selected; - - protected boolean visible; - - protected boolean current; - - public static <E> GraphicReference<E> newGraphicReference(E reference, int index) { - return new GraphicReference<E>(reference, index); - } - - public GraphicReference() { - } - - protected GraphicReference(E reference, int index) { - this.reference = reference; - this.index = index; - this.visible = true; - } - - public E getReference() { - return reference; - } - - public void setReference(E reference) { - E oldValue = getReference(); - this.reference = reference; - firePropertyChange(PROPERTY_REFERENCE, oldValue, reference); - } - - public int getIndex() { - return index; - } - - public void setIndex(int index) { - int oldValue = getIndex(); - this.index = index; - firePropertyChange(PROPERTY_INDEX, oldValue, index); - } - - public boolean isSelected() { - return selected; - } - - public void setSelected(boolean selected) { - boolean oldValue = isSelected(); - this.selected = selected; - firePropertyChange(PROPERTY_SELECTED, oldValue, selected); - } - - public boolean isVisible() { - return visible; - } - - public void setVisible(boolean visible) { - boolean oldValue = isVisible(); - this.visible = visible; - firePropertyChange(PROPERTY_VISIBLE, oldValue, visible); - } - - public boolean isCurrent() { - return current; - } - - public void setCurrent(boolean current) { - boolean oldValue = isCurrent(); - this.current = current; - firePropertyChange(PROPERTY_CURRENT, oldValue, current); - } -} Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ObserverListSelectorModel.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ObserverListSelectorModel.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ObserverListSelectorModel.java 2012-08-02 15:28:55 UTC (rev 347) @@ -52,16 +52,17 @@ Flight oldValue = getBean(); this.bean = bean; if (bean != null) { - flightUIModel.getReferential().addPropertyChangeListener(ReferentialModel.PROPERTY_OBSERVERS, new PropertyChangeListener() { + flightUIModel.addPropertyChangeListener(FlightUIModel.PROPERTY_OBSERVERS, + new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - setValues(flightUIModel.getReferential().getObservers()); + setValues(flightUIModel.getObservers()); setSelectedValues(Lists.newArrayList(getBean().getObserver())); } }); firePropertyChange(PROPERTY_BEAN, oldValue, bean); - setValues(flightUIModel.getReferential().getObservers()); + setValues(flightUIModel.getObservers()); setSelectedValues(bean.getObserver()); } } Deleted: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ReferentialModel.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ReferentialModel.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/ReferentialModel.java 2012-08-02 15:28:55 UTC (rev 347) @@ -1,171 +0,0 @@ -/* - * #%L - * SAMMOA :: UI Swing - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2012 UMS 3462, Code Lutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ulr.sammoa.ui.swing.flight; - -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import fr.ulr.sammoa.persistence.Observer; -import fr.ulr.sammoa.persistence.Strate; -import fr.ulr.sammoa.persistence.Strates; -import fr.ulr.sammoa.persistence.Transect; -import fr.ulr.sammoa.persistence.Transects; -import fr.ulr.sammoa.ui.swing.BaseModel; - -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -/** - * Created: 12/06/12 - * - * @author fdesbois <desbois@codelutin.com> - */ -@Deprecated -public class ReferentialModel extends BaseModel { - - private static final long serialVersionUID = 1L; - - public static final String PROPERTY_TRANSECTS = "transects"; - - public static final String PROPERTY_TRANSECTS_SELECTION_EXISTS = "transectsSelectionExists"; - - public static final String PROPERTY_STRATES = "strates"; - - public static final String PROPERTY_OBSERVERS = "observers"; - - protected List<GraphicReference<Transect>> transects; - - protected boolean transectsSelectionExists; - - protected List<GraphicReference<Strate>> strates; - - protected List<Observer> observers = Lists.newArrayList(); - - public List<GraphicReference<Transect>> getTransects() { - if (transects == null) { - transects = Lists.newArrayList(); - } - return transects; - } - - public void sortTransectsByName() { - Collections.sort(getTransects(), transectNameComparator()); - } - - public GraphicReference<Transect> getTransect(int index) { - return getTransects().get(index); - } - - public GraphicReference<Transect> getTransect(Transect transect) { - for (GraphicReference<Transect> row : getTransects()) { - if (row.getReference().equals(transect)) { - return row; - } - } - return null; - } - - public void setTransects(List<GraphicReference<Transect>> transects) { - List<GraphicReference<Transect>> oldValue = Lists.newArrayList(getTransects()); - this.transects = transects; - firePropertyChange(PROPERTY_TRANSECTS, oldValue, transects); - } - - public void addTransect(GraphicReference<Transect> transect) { - List<GraphicReference<Transect>> oldValue = Lists.newArrayList(getTransects()); - getTransects().add(transect); - fireIndexedPropertyChange(PROPERTY_TRANSECTS, getTransects().size(), oldValue, transects); - } - - public boolean isTransectsSelectionExists() { - return transectsSelectionExists; - } - - public void setTransectsSelectionExists(boolean transectsSelectionExists) { - boolean oldValue = isTransectsSelectionExists(); - this.transectsSelectionExists = transectsSelectionExists; - firePropertyChange(PROPERTY_TRANSECTS_SELECTION_EXISTS, oldValue, transectsSelectionExists); - } - - public List<GraphicReference<Strate>> getStrates() { - if (strates == null) { - strates = Lists.newArrayList(); - } - return strates; - } - - public Strate getStrate(String strateCode) { - GraphicReference<Strate> graphicReference = - Iterables.find(getStrates(), withCode(strateCode)); - return graphicReference == null ? null : graphicReference.getReference(); - } - - public void setStrates(List<GraphicReference<Strate>> strates) { - List<GraphicReference<Strate>> oldValue = Lists.newArrayList(getStrates()); - this.strates = strates; - firePropertyChange(PROPERTY_STRATES, oldValue, strates); - } - - public void addStrate(GraphicReference<Strate> strate) { - List<GraphicReference<Strate>> oldValue = Lists.newArrayList(getStrates()); - getStrates().add(strate); - fireIndexedPropertyChange(PROPERTY_STRATES, getStrates().size(), oldValue, strates); - } - - public List<Observer> getObservers() { - return observers; - } - - public void setObservers(List<Observer> observers) { - List<Observer> oldValue = Lists.newArrayList(getObservers()); - this.observers = observers; - firePropertyChange(PROPERTY_OBSERVERS, oldValue, observers); - } - - public Observer getObserver(int index) { - return observers.get(index); - } - - public static Predicate<GraphicReference<Strate>> withCode(final String code) { - return new Predicate<GraphicReference<Strate>>() { - - @Override - public boolean apply(GraphicReference<Strate> input) { - return Strates.withCode(code).apply(input.getReference()); - } - }; - } - - public static Comparator<GraphicReference<Transect>> transectNameComparator() { - return new Comparator<GraphicReference<Transect>>() { - - @Override - public int compare(GraphicReference<Transect> o1, GraphicReference<Transect> o2) { - return Transects.onName().compare(o1.getReference(), o2.getReference()); - } - }; - } -} Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/observations/EffortPanelHandler.java 2012-08-02 15:28:55 UTC (rev 347) @@ -124,7 +124,7 @@ @Deprecated public FlightUIModel getFlightUIModel() { - return SammoaUIContext.getUIContext().getFlightUIModel(); + return SammoaUIContext.getUIContext().getFlightUIHandler().getModel(); } public void init() { @@ -281,7 +281,7 @@ { FlightController flightController = - SammoaUIContext.getUIContext().getFlightController(); + SammoaUIContext.getUIContext().getFlightUIHandler().getFlightController(); if (flightController != null) { flightController.getGpsHandler().addGpsUpdateListener(this); Modified: trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties =================================================================== --- trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-02 13:18:27 UTC (rev 346) +++ trunk/sammoa-ui-swing/src/main/resources/i18n/sammoa-ui-swing_en_GB.properties 2012-08-02 15:28:55 UTC (rev 347) @@ -30,6 +30,7 @@ sammoa.action.play.tip=Play sammoa.action.quitExportMaps=Quit sammoa.action.reload.actions=Reload actions +sammoa.action.reload.gps=Reload GPS sammoa.action.reload.ui=Reload sammoa ui sammoa.action.save=Save sammoa.action.site=Site @@ -40,6 +41,8 @@ sammoa.action.validation=Validation sammoa.config.category.applications=Application sammoa.config.category.applications.description=Application +sammoa.config.category.gps=GPS +sammoa.config.category.gps.description=GPS configuration sammoa.config.category.other=Other sammoa.config.category.other.description=Other sammoa.config.category.shortcuts=Shortcuts