Package at.bestsolution.efxclipse.tooling.pde.e4.project.media.tpl.decoration

Source Code of at.bestsolution.efxclipse.tooling.pde.e4.project.media.tpl.decoration.DecorationControllerTpl

package at.bestsolution.efxclipse.tooling.pde.e4.project.media.tpl.decoration;

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.ByteArrayInputStream;
import java.io.InputStream;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtend2.lib.StringConcatenation;

@SuppressWarnings("all")
public class DecorationControllerTpl 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);
    String _string = _generate.toString();
    byte[] _bytes = _string.getBytes();
    ByteArrayInputStream _byteArrayInputStream = new ByteArrayInputStream(_bytes);
    return _byteArrayInputStream;
  }
 
  public CharSequence generate(final String packageName) {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("package ");
    _builder.append(packageName, "");
    _builder.append(";");
    _builder.newLineIfNotEmpty();
    _builder.append("import java.net.URL;");
    _builder.newLine();
    _builder.append("import java.util.ResourceBundle;");
    _builder.newLine();
    _builder.newLine();
    _builder.append("import javafx.application.Platform;");
    _builder.newLine();
    _builder.append("import javafx.event.ActionEvent;");
    _builder.newLine();
    _builder.append("import javafx.event.EventHandler;");
    _builder.newLine();
    _builder.append("import javafx.fxml.FXML;");
    _builder.newLine();
    _builder.append("import javafx.fxml.Initializable;");
    _builder.newLine();
    _builder.append("import javafx.geometry.Rectangle2D;");
    _builder.newLine();
    _builder.append("import javafx.scene.control.ToolBar;");
    _builder.newLine();
    _builder.append("import javafx.scene.input.MouseEvent;");
    _builder.newLine();
    _builder.append("import javafx.stage.Screen;");
    _builder.newLine();
    _builder.append("import javafx.stage.Stage;");
    _builder.newLine();
    _builder.newLine();
    _builder.append("public class DecorationController implements Initializable {");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("private double mouseDragOffsetX = 0;");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("private double mouseDragOffsetY = 0;");
    _builder.newLine();
    _builder.newLine();
    _builder.append("\t");
    _builder.append("@FXML");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("private ToolBar decorationArea;");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("private Rectangle2D backupWindowBounds;");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("public DecorationController() {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("System.err.println(\"Creating controller ....\");");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.newLine();
    _builder.append("\t");
    _builder.append("public void initialize(URL location, ResourceBundle resources) {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("decorationArea.setOnMousePressed(new EventHandler<MouseEvent>() {");
    _builder.newLine();
    _builder.append("\t\t\t");
    _builder.append("public void handle(MouseEvent event) {");
    _builder.newLine();
    _builder.append("\t\t\t\t");
    _builder.append("mouseDragOffsetX = event.getSceneX();");
    _builder.newLine();
    _builder.append("\t\t\t\t");
    _builder.append("mouseDragOffsetY = event.getSceneY();");
    _builder.newLine();
    _builder.append("\t\t\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("});");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("decorationArea.setOnMouseDragged(new EventHandler<MouseEvent>() {");
    _builder.newLine();
    _builder.append("\t\t\t");
    _builder.append("public void handle(MouseEvent event) {");
    _builder.newLine();
    _builder.append("\t\t\t\t");
    _builder.append("Stage w = getStage();");
    _builder.newLine();
    _builder.append("\t\t\t\t");
    _builder.append("w.setX(event.getScreenX() - mouseDragOffsetX);");
    _builder.newLine();
    _builder.append("\t\t\t\t");
    _builder.append("w.setY(event.getScreenY() - mouseDragOffsetY);");
    _builder.newLine();
    _builder.append("\t\t\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("});");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("@FXML");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("public void handleClose(ActionEvent event) {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("Platform.exit();");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("@FXML");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("public void handleMin(ActionEvent event) {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("getStage().setIconified(true);");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("@FXML");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("public void handleMax(ActionEvent event) {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("Stage stage = getStage();");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("final double stageY = stage.getY();");
    _builder.newLine();
    _builder.append("        ");
    _builder.append("final Screen screen = Screen.getScreensForRectangle(stage.getX(), stageY, 1, 1).get(0);");
    _builder.newLine();
    _builder.append("        ");
    _builder.append("Rectangle2D bounds = screen.getVisualBounds();");
    _builder.newLine();
    _builder.append("        ");
    _builder.append("if (bounds.getMinX() == stage.getX() && bounds.getMinY() == stageY &&");
    _builder.newLine();
    _builder.append("                ");
    _builder.append("bounds.getWidth() == stage.getWidth() && bounds.getHeight() == stage.getHeight()) {");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("if (backupWindowBounds != null) {");
    _builder.newLine();
    _builder.append("                ");
    _builder.append("stage.setX(backupWindowBounds.getMinX());");
    _builder.newLine();
    _builder.append("                ");
    _builder.append("stage.setY(backupWindowBounds.getMinY());");
    _builder.newLine();
    _builder.append("                ");
    _builder.append("stage.setWidth(backupWindowBounds.getWidth());");
    _builder.newLine();
    _builder.append("                ");
    _builder.append("stage.setHeight(backupWindowBounds.getHeight());");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("}");
    _builder.newLine();
    _builder.append("        ");
    _builder.append("} else {");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("backupWindowBounds = new Rectangle2D(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight());");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("final double newStageY = screen.getVisualBounds().getMinY();");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("stage.setX(screen.getVisualBounds().getMinX());");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("stage.setY(newStageY);");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("stage.setWidth(screen.getVisualBounds().getWidth());");
    _builder.newLine();
    _builder.append("            ");
    _builder.append("stage.setHeight(screen.getVisualBounds().getHeight());");
    _builder.newLine();
    _builder.append("        ");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("\t");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("Stage getStage() {");
    _builder.newLine();
    _builder.append("\t\t");
    _builder.append("return (Stage) decorationArea.getScene().getWindow();");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    return _builder;
  }
}
TOP

Related Classes of at.bestsolution.efxclipse.tooling.pde.e4.project.media.tpl.decoration.DecorationControllerTpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.