package at.bestsolution.efxclipse.tooling.pde.ui.wizard.app.tpl;
import at.bestsolution.efxclipse.tooling.pde.ui.wizard.Util;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.CompilationUnit;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.DynamicFile;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.Generator;
import java.io.InputStream;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtend2.lib.StringConcatenation;
@SuppressWarnings("all")
public class ApplicationClassTpl implements Generator<DynamicFile> {
public InputStream generate(final DynamicFile file, final Map<String,Object> data) {
EObject _eContainer = file.eContainer();
final CompilationUnit cu = ((CompilationUnit) _eContainer);
String _packagename = cu.getPackagename();
CharSequence _generate = this.generate(_packagename);
return Util.toStream(_generate);
}
public CharSequence generate(final String packageName) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package ");
_builder.append(packageName, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("import javafx.scene.Scene;");
_builder.newLine();
_builder.append("import javafx.scene.control.Label;");
_builder.newLine();
_builder.append("import javafx.stage.Stage;");
_builder.newLine();
_builder.append("import javafx.application.Application;");
_builder.newLine();
_builder.newLine();
_builder.append("import org.eclipse.equinox.app.IApplicationContext;");
_builder.newLine();
_builder.newLine();
_builder.append("import at.bestsolution.efxclipse.runtime.application.AbstractJFXApplication;");
_builder.newLine();
_builder.newLine();
_builder.append("public class MainApplication extends AbstractJFXApplication {");
_builder.newLine();
_builder.append("\t");
_builder.append("protected void jfxStart(IApplicationContext applicationContext, Application jfxApplication, Stage primaryStage) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Scene s = new Scene(new Label(\"Hello World\"));");
_builder.newLine();
_builder.append("\t\t");
_builder.append("primaryStage.setScene(s);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("primaryStage.setWidth(300);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("primaryStage.setHeight(400);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("primaryStage.setTitle(\"$windowTitle$\");");
_builder.newLine();
_builder.append("\t\t");
_builder.append("primaryStage.show();");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
return _builder;
}
}