private void exportWithOmeta() throws IOException, URISyntaxException, InterruptedException { p("using ometa"); // export to XML file File xmlFile = new File("foo.xml"); toXML(xmlFile); // invoke converter execAndWait("/usr/local/bin/node"); // apply template to make final file File genJSFile = new File("/Users/josh/projects/Leo2/foo.html"); File dir = new File("/Users/josh/projects/Leo/t2"); File html = new File(dir, "foo.html"); File templatedir = new File("resources/"); Map<String, String> subs = new HashMap<String, String>(); String str = fileToString(genJSFile); subs.put("tree", str.toString()); html.delete(); if (!html.exists()) { StringUtils.applyTemplate(new File(templatedir, "index_aminolang_template.html"), html, subs); p("wrote out template.html to " + html.getAbsolutePath()); } File js = new File(dir, "generated.js"); StringUtils.applyTemplate(new File(templatedir, "generated_aminolang_template.js"), js, subs); p("wrote out: " + js.getAbsolutePath()); // open browser File trimfile = new File("/Users/josh/"); String partialPath = dir.getAbsolutePath().substring((int) trimfile.getAbsolutePath().length()); OSUtil.openBrowser("http://localhost/~josh/" + partialPath + "/" + html.getName()); }
public void mousePressed(MouseEvent e) { logEvent("MousePressed", e); Node node = findTopNode(e.getX(), e.getY()); Point2D point = convertSceneToNode(e.getX(), e.getY(), node); org.joshy.gfx.event.MouseEvent evt = toEvent(e, point, node, org.joshy.gfx.event.MouseEvent.MousePressed); EventBus.getSystem().setPressedNode(node); EventBus.getSystem().publish(evt); if (evt.isControlPressed() && OSUtil.isMac() || evt.getButton() == 3 || e.isPopupTrigger()) { org.joshy.gfx.event.MouseEvent evt2 = toEvent(e, point, node, org.joshy.gfx.event.MouseEvent.OpenContextMenu); EventBus.getSystem().publish(evt2); } }
/** * Created by IntelliJ IDEA. User: josh Date: 5/3/12 Time: 12:28 PM To change this template use File * | Settings | File Templates. */ public class Settings { public static final File homedir = new File( OSUtil.getBaseStorageDir( System.getProperty("org.joshy.sketch.settings.basedirname", "Leonardo"))); public static final File RECENT_FILES = new File(homedir, "recentfiles.xml"); public static final File SETTINGS_FILE = new File(homedir, "settings.txt"); public static final File SCRIPTS_DIR = new File(homedir, "scripts"); public static final String TRACKING_PERMISSIONS = "org.joshy.gfx.sketch.tracking.allow"; public static final String DEBUG_MENU = "org.joshy.gfx.sketch.debug.menuEnabled"; public static final String DEFAULT_LOCALE = "org.joshy.gfx.sketch.defaultLocale"; public static String UPDATE_URL = ""; public static String DOWNLOAD_URL = ""; public static String AMINO_BINARY_URL = null; public static final String DEFAULT_FONT_NAME = "OpenSans"; }
@Override public void execute() { if (USE_OMETA) { try { exportWithOmeta(); } catch (Exception e) { e.printStackTrace(); } return; } try { File dir = new File("/Users/josh/projects/Leo/t2"); File html = new File(dir, "foo.html"); File templatedir = new File("resources/"); if (useRandomFile) { } else { // get a file to write to if (document.getExportFile() != null) { html = document.getExportFile(); dir = html.getParentFile(); } else { java.awt.FileDialog fd = new java.awt.FileDialog((Frame) null); fd.setMode(FileDialog.SAVE); fd.setVisible(true); if (fd.getFile() == null) { return; } String filename = fd.getFile(); if (!filename.toLowerCase().endsWith(".html")) { filename += ".html"; } html = new File(fd.getDirectory(), filename); dir = html.getParentFile(); } } // File file = File.createTempFile("foo",".html"); // file.deleteOnExit(); StringWriter treeContent = new StringWriter(); PrintWriter treeOut = new PrintWriter(treeContent); PropWriter treeWriter = new PropWriter(treeOut); StringWriter setupContent = new StringWriter(); for (Layer layer : page.children()) { treeWriter.p("//layer"); treeWriter.indent(); for (SketchNode node : layer.children()) { DynamicNode dnode = (DynamicNode) node; exportNode(treeWriter, dnode, true, dir); if (node.isVisual() && AminoAdapter.shouldAddToScene(node, document.getBindings())) { setupContent.append("root.add(" + node.getId() + ");\n"); } if (AminoAdapter.useSetup(dnode)) { setupContent.append(node.getId() + ".setup(root);\n"); } doExtensions(setupContent, dnode); } treeWriter.outdent(); } for (Binding binding : document.getBindings()) { exportBinding(new PrintWriter(setupContent), binding); } treeOut.close(); setupContent.close(); Map<String, String> subs = new HashMap<String, String>(); subs.put("tree", treeContent.toString()); subs.put("setup", setupContent.toString()); if (!html.exists()) { StringUtils.applyTemplate(new File(templatedir, "index_template.html"), html, subs); } File js = new File(dir, "generated.js"); StringUtils.applyTemplate(new File(templatedir, "generated_template.js"), js, subs); StringUtils.copyFile(new File(templatedir, "amino.js"), new File(dir, "amino.js")); StringUtils.copyFile(new File(templatedir, "jquery.js"), new File(dir, "jquery.js")); StringUtils.copyFile(new File(templatedir, "controls.js"), new File(dir, "controls.js")); File trimfile = new File("/Users/josh/"); String partialPath = dir.getAbsolutePath().substring((int) trimfile.getAbsolutePath().length()); OSUtil.openBrowser("http://localhost/~josh/" + partialPath + "/" + html.getName()); document.setExportFile(html); } catch (Exception e) { e.printStackTrace(); } }