Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / simulation / listeners / SimulationListener.java
index 98b28aada2846690c6daf67f6171d6b5ba05347c..322db8e714d96a60ab83bfd65ab8e5c6bf1b0486 100644 (file)
@@ -1,5 +1,8 @@
 package net.sf.openrocket.simulation.listeners;
 
+import java.util.List;
+
+import net.sf.openrocket.simulation.FlightDataType;
 import net.sf.openrocket.simulation.SimulationStatus;
 import net.sf.openrocket.simulation.exception.SimulationException;
 
@@ -7,6 +10,25 @@ import net.sf.openrocket.simulation.exception.SimulationException;
 
 public interface SimulationListener {
        
+       /**
+        * Get the name of this simulation listener.  Ideally this should be localized, as
+        * it can be displayed in the UI.
+        * 
+        * @return      the name of this simulation listener.
+        */
+       public String getName();
+       
+       
+       /**
+        * Get the menu position of this simulation listener.  This should be an array
+        * of localized submenu names in descending order, or an empty array for positioning
+        * in the base menu.
+        * 
+        * @return      the menu position of this simulation listener.
+        */
+       public String[] getMenuPosition();
+       
+       
        /**
         * Called when starting a simulation.
         * 
@@ -57,4 +79,11 @@ public interface SimulationListener {
         */
        public boolean isSystemListener();
        
+       
+       /**
+        * Return a list of any flight data types this listener creates.
+        */
+       public FlightDataType[] getFlightDataTypes();
+       
+       
 }