package edu.colorado.phet.movingman.ladybug
import edu.colorado.phet.common.phetcommon.application.ApplicationConstructor
import edu.colorado.phet.common.phetcommon.application.Module
import edu.colorado.phet.common.phetcommon.application.PhetApplication
import edu.colorado.phet.common.phetcommon.application.PhetApplicationConfig
import edu.colorado.phet.common.phetcommon.application.PhetApplicationLauncher
import edu.colorado.phet.common.phetcommon.model.clock.ClockAdapter
import edu.colorado.phet.common.phetcommon.model.clock.ClockEvent
import edu.colorado.phet.common.phetcommon.model.clock.ClockListener
import edu.colorado.phet.common.phetcommon.model.clock.ConstantDtClock
import edu.colorado.phet.common.piccolophet.PhetPCanvas
import edu.umd.cs.piccolo.nodes.PText
import edu.umd.cs.piccolo.PNode
import java.awt.Color
import java.awt.Font
import javax.swing.JLabel
object Ladybug2DApplication {
class ScalaModelElement(element: Double => Unit) extends ClockAdapter {
override def simulationTimeChanged(clockEvent: ClockEvent) = {
element(clockEvent.getSimulationTimeChange)
}
}
def main(args: Array[String]) = {
println("started")
val clock = new ScalaClock(30, 30 / 1000.0)
new PhetApplicationLauncher().launchSim(
new PhetApplicationConfig(args, "moving-man", "ladybug-2d"),
new ApplicationConstructor() {
override def getApplication(a: PhetApplicationConfig): PhetApplication = new PhetApplication(a) {
addModule(new LadybugModule(clock))
}
})
println("finished")
}
}