List of usage examples for javafx.stage DirectoryChooser DirectoryChooser
DirectoryChooser
From source file:com.mycompany.trafficimportfileconverter2.Main2Controller.java
private File safeFileSetHelper(File file, int i) { if (file.exists()) { return file; } else if (i > 0) { return safeFileSetHelper(file.getParentFile(), i - 1); } else {// w ww .j ava2 s . co m return (new DirectoryChooser()).getInitialDirectory(); } }
From source file:com.bekwam.resignator.ResignatorAppMainViewController.java
@FXML public void browseSource() { if (logger.isDebugEnabled()) { logger.debug("[BROWSE SOURCE]"); }/*from w w w . j a v a2s .c om*/ clearValidationErrors(); switch (activeProfile.getArgsType()) { case JAR: FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Select Source JAR"); fileChooser.setInitialDirectory(new File(jarDir)); fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("JAR", "*.jar")); File f = fileChooser.showOpenDialog(stage); if (f != null) { if (logger.isDebugEnabled()) { logger.debug("[BROWSE SOURCE] selected file={}", f.getAbsolutePath()); } tfSourceFile.setText(f.getAbsolutePath()); jarDir = FilenameUtils.getFullPath(f.getAbsolutePath()); } break; case FOLDER: DirectoryChooser dirChooser = new DirectoryChooser(); dirChooser.setTitle("Select Source Folder"); dirChooser.setInitialDirectory(new File(jarDir)); File d = dirChooser.showDialog(stage); if (d != null) { if (logger.isDebugEnabled()) { logger.debug("[BROWSE SOURCE] selected dir={}", d.getAbsolutePath()); } tfSourceFile.setText(d.getAbsolutePath()); jarDir = FilenameUtils.getFullPath(d.getAbsolutePath()); } break; } }
From source file:com.bekwam.resignator.ResignatorAppMainViewController.java
@FXML public void browseTarget() { if (logger.isDebugEnabled()) { logger.debug("[BROWSE TARGET]"); }/*from www . ja v a 2 s.co m*/ clearValidationErrors(); switch (activeProfile.getArgsType()) { case JAR: FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Select Target JAR"); fileChooser.setInitialDirectory(new File(jarDir)); fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("JAR", "*.jar")); File f = fileChooser.showOpenDialog(stage); if (f != null) { if (logger.isDebugEnabled()) { logger.debug("[BROWSE TARGET] selected file={}", f.getAbsolutePath()); } tfTargetFile.setText(f.getAbsolutePath()); jarDir = FilenameUtils.getFullPath(f.getAbsolutePath()); } break; case FOLDER: DirectoryChooser dirChooser = new DirectoryChooser(); dirChooser.setTitle("Select Target Folder"); dirChooser.setInitialDirectory(new File(jarDir)); File d = dirChooser.showDialog(stage); if (d != null) { if (logger.isDebugEnabled()) { logger.debug("[BROWSE TARGET] selected dir={}", d.getAbsolutePath()); } tfTargetFile.setText(d.getAbsolutePath()); jarDir = FilenameUtils.getFullPath(d.getAbsolutePath()); } break; } }
From source file:acmi.l2.clientmod.l2smr.Controller.java
@FXML private void exportSMT3d() { List<Actor> actors = this.table.getSelectionModel().getSelectedItems().stream().map(Actor::clone) .collect(Collectors.toList()); if (actors.isEmpty()) return;//from w w w .j av a 2 s . c om if (showConfirm(Alert.AlertType.CONFIRMATION, "Export", null, "Separate? (new file per Actor)")) { DirectoryChooser directoryChooser = new DirectoryChooser(); directoryChooser.setTitle("Select save folder"); File dir = directoryChooser.showDialog(getStage()); if (dir == null) return; longTask(progress -> { Object obj = getClassLoader().getOrCreateObject("Engine.Actor", IS_STRUCT); T3d t3d = new T3d(getClassLoader()); try (UnrealPackage up = new UnrealPackage( new File(getMapsDir(), unrChooser.getSelectionModel().getSelectedItem()), false)) { for (int i = 0; i < actors.size(); i++) { progress.accept((double) i / actors.size()); Actor actor = actors.get(i); UnrealPackage.ExportEntry entry = up.getExportTable().get(actor.getInd()); try (Writer fos = new FileWriter(new File(dir, entry.getObjectName().getName() + ".t3d"))) { fos.write(t3d.toT3d(entry, 0).toString()); } } progress.accept(1.0); } }, e -> onException("Export failed", e)); } else { FileChooser fileChooser = new FileChooser(); fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Unreal text", "*.t3d")); fileChooser.setTitle("Save"); File file = fileChooser.showSaveDialog(getStage()); if (file == null) return; longTask(progress -> { Object obj = getClassLoader().getOrCreateObject("Engine.Actor", IS_STRUCT); StringBuilder sb = new StringBuilder("Begin Map"); T3d t3d = new T3d(getClassLoader()); try (UnrealPackage up = new UnrealPackage( new File(getMapsDir(), unrChooser.getSelectionModel().getSelectedItem()), false)) { for (int i = 0; i < actors.size(); i++) { progress.accept((double) i / actors.size()); Actor actor = actors.get(i); UnrealPackage.ExportEntry entry = up.getExportTable().get(actor.getInd()); sb.append(Util.newLine()).append(t3d.toT3d(entry, 0)); } } sb.append(newLine()).append("End Map"); progress.accept(-1.0); try (Writer fos = new FileWriter(file)) { fos.write(sb.toString()); } }, e -> onException("Export failed", e)); } }
From source file:editeurpanovisu.EditeurPanovisu.java
private void genereVisite() throws IOException { if (!repertSauveChoisi) { repertoireProjet = currentDir;/*from w w w. jav a 2 s . c o m*/ } if (!dejaSauve) { projetSauve(); } if (dejaSauve) { deleteDirectory(repertTemp + "/panovisu/images"); File imagesRepert = new File(repertTemp + "/panovisu/images"); if (!imagesRepert.exists()) { imagesRepert.mkdirs(); } File boutonRepert = new File(repertTemp + "/panovisu/images/navigation"); if (!boutonRepert.exists()) { boutonRepert.mkdirs(); } File boussoleRepert = new File(repertTemp + "/panovisu/images/boussoles"); if (!boussoleRepert.exists()) { boussoleRepert.mkdirs(); } copieDirectory(repertAppli + File.separator + "panovisu/images/boussoles", boussoleRepert.getAbsolutePath()); File planRepert = new File(repertTemp + "/panovisu/images/plan"); if (!planRepert.exists()) { planRepert.mkdirs(); } copieDirectory(repertAppli + File.separator + "panovisu/images/plan", planRepert.getAbsolutePath()); File reseauRepert = new File(repertTemp + "/panovisu/images/reseaux"); if (!reseauRepert.exists()) { reseauRepert.mkdirs(); } copieDirectory(repertAppli + File.separator + "panovisu/images/reseaux", reseauRepert.getAbsolutePath()); File interfaceRepert = new File(repertTemp + "/panovisu/images/interface"); if (!interfaceRepert.exists()) { interfaceRepert.mkdirs(); } copieDirectory(repertAppli + File.separator + "panovisu/images/interface", interfaceRepert.getAbsolutePath()); File MARepert = new File(repertTemp + "/panovisu/images/MA"); if (!MARepert.exists()) { MARepert.mkdirs(); } File hotspotsRepert = new File(repertTemp + "/panovisu/images/hotspots"); if (!hotspotsRepert.exists()) { hotspotsRepert.mkdirs(); } copieFichierRepertoire(repertAppli + File.separator + "panovisu" + File.separator + "images" + File.separator + "aide_souris.png", repertTemp + "/panovisu/images"); copieFichierRepertoire(repertAppli + File.separator + "panovisu" + File.separator + "images" + File.separator + "fermer.png", repertTemp + "/panovisu/images"); copieFichierRepertoire(repertAppli + File.separator + "panovisu" + File.separator + "images" + File.separator + "precedent.png", repertTemp + "/panovisu/images"); copieFichierRepertoire(repertAppli + File.separator + "panovisu" + File.separator + "images" + File.separator + "suivant.png", repertTemp + "/panovisu/images"); for (int i = 0; i < gestionnaireInterface.nombreImagesBouton - 1; i++) { ReadWriteImage.writePng(gestionnaireInterface.nouveauxBoutons[i], boutonRepert.getAbsolutePath() + File.separator + gestionnaireInterface.nomImagesBoutons[i], false, 0.f); } ReadWriteImage.writePng( gestionnaireInterface.nouveauxBoutons[gestionnaireInterface.nombreImagesBouton - 1], hotspotsRepert.getAbsolutePath() + File.separator + "hotspot.png", false, 0.f); ReadWriteImage.writePng(gestionnaireInterface.nouveauxBoutons[gestionnaireInterface.nombreImagesBouton], hotspotsRepert.getAbsolutePath() + File.separator + "hotspotImage.png", false, 0.f); ReadWriteImage.writePng(gestionnaireInterface.nouveauxMasque, MARepert.getAbsolutePath() + File.separator + "MA.png", false, 0.f); File xmlRepert = new File(repertTemp + File.separator + "xml"); if (!xmlRepert.exists()) { xmlRepert.mkdirs(); } File cssRepert = new File(repertTemp + File.separator + "css"); if (!cssRepert.exists()) { cssRepert.mkdirs(); } File jsRepert = new File(repertTemp + File.separator + "js"); if (!jsRepert.exists()) { jsRepert.mkdirs(); } String contenuFichier; File xmlFile; String chargeImages = ""; for (int i = 0; i < nombrePanoramiques; i++) { String fPano = "panos/" + panoramiquesProjet[i].getNomFichier() .substring(panoramiquesProjet[i].getNomFichier().lastIndexOf(File.separator) + 1, panoramiquesProjet[i].getNomFichier().length()) .split("\\.")[0]; if (panoramiquesProjet[i].getTypePanoramique().equals(Panoramique.CUBE)) { fPano = fPano.substring(0, fPano.length() - 2); chargeImages += " images[" + i + "]=\"" + fPano + "_f.jpg\"\n"; chargeImages += " images[" + i + "]=\"" + fPano + "_b.jpg\"\n"; chargeImages += " images[" + i + "]=\"" + fPano + "_u.jpg\"\n"; chargeImages += " images[" + i + "]=\"" + fPano + "_d.jpg\"\n"; chargeImages += " images[" + i + "]=\"" + fPano + "_r.jpg\"\n"; chargeImages += " images[" + i + "]=\"" + fPano + "_l.jpg\"\n"; } else { chargeImages += " images[" + i + "]=\"" + fPano + ".jpg\"\n"; } String affInfo = (panoramiquesProjet[i].isAfficheInfo()) ? "oui" : "non"; String affTitre = (gestionnaireInterface.bAfficheTitre) ? "oui" : "non"; double regX; double zN; if (panoramiquesProjet[i].getTypePanoramique().equals(Panoramique.SPHERE)) { regX = Math.round(((panoramiquesProjet[i].getLookAtX() - 180) % 360) * 10) / 10; zN = Math.round(((panoramiquesProjet[i].getZeroNord() - 180) % 360) * 10) / 10; } else { regX = Math.round(((panoramiquesProjet[i].getLookAtX() + 90) % 360) * 10) / 10; zN = Math.round(((panoramiquesProjet[i].getZeroNord() + 90) % 360) * 10) / 10; } int rouge = (int) (Color.valueOf(gestionnaireInterface.couleurDiaporama).getRed() * 255.d); int bleu = (int) (Color.valueOf(gestionnaireInterface.couleurDiaporama).getBlue() * 255.d); int vert = (int) (Color.valueOf(gestionnaireInterface.couleurDiaporama).getGreen() * 255.d); String coulDiapo = "rgba(" + rouge + "," + vert + "," + bleu + "," + gestionnaireInterface.diaporamaOpacite + ")"; Color coulTitre = Color.valueOf(gestionnaireInterface.couleurFondTitre); rouge = (int) (coulTitre.getRed() * 255.d); bleu = (int) (coulTitre.getBlue() * 255.d); vert = (int) (coulTitre.getGreen() * 255.d); String coulFondTitre = "rgba(" + rouge + "," + vert + "," + bleu + "," + gestionnaireInterface.titreOpacite + ")"; contenuFichier = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!--\n" + " Visite gnre par l'diteur panoVisu \n" + "\n" + " Cration L.LANG le monde 360 : http://lemondea360.fr\n" + "-->\n" + "\n" + "\n" + "<scene>\n" + " <pano \n" + " image=\"" + fPano + "\"\n" + " titre=\"" + panoramiquesProjet[i].getTitrePanoramique() + "\"\n" + " titrePolice=\"" + gestionnaireInterface.titrePoliceNom + "\"\n" + " titreTaillePolice=\"" + Math.round(Double.parseDouble(gestionnaireInterface.titrePoliceTaille)) + "px\"\n" + " titreTaille=\"" + Math.round(gestionnaireInterface.titreTaille) + "%\"\n" + " titreFond=\"" + coulFondTitre + "\"\n" + " titreCouleur=\"" + gestionnaireInterface.couleurTitre + "\"\n" // + " titreOpacite=\"" + gestionnaireInterface.titreOpacite + "\"\n" + " diaporamaCouleur=\"" + coulDiapo + "\"\n" + " type=\"" + panoramiquesProjet[i].getTypePanoramique() + "\"\n" + " multiReso=\"oui\"\n" + " nombreNiveaux=\"" + panoramiquesProjet[i].getNombreNiveaux() + "\"\n" + " zeroNord=\"" + zN + "\"\n" + " regardX=\"" + regX + "\"\n" + " regardY=\"" + Math.round(panoramiquesProjet[i].getLookAtY() * 10) / 10 + "\"\n" + " affinfo=\"" + affInfo + "\"\n" + " afftitre=\"" + affTitre + "\"\n" + " />\n" + " <!--Dfinition de la Barre de navigation-->\n" + " <boutons \n" + " styleBoutons=\"navigation\"\n" + " couleur=\"rgba(255,255,255,0)\"\n" + " bordure=\"rgba(255,255,255,0)\"\n" + " deplacements=\"" + gestionnaireInterface.toggleBarreDeplacements + "\" \n" + " zoom=\"" + gestionnaireInterface.toggleBarreZoom + "\" \n" + " outils=\"" + gestionnaireInterface.toggleBarreOutils + "\"\n" + " fs=\"" + gestionnaireInterface.toggleBoutonFS + "\" \n" + " souris=\"" + gestionnaireInterface.toggleBoutonSouris + "\" \n" + " rotation=\"" + gestionnaireInterface.toggleBoutonRotation + "\" \n" + " positionX=\"" + gestionnaireInterface.positionBarre.split(":")[1] + "\"\n" + " positionY=\"" + gestionnaireInterface.positionBarre.split(":")[0] + "\" \n" + " dX=\"" + gestionnaireInterface.dXBarre + "\" \n" + " dY=\"" + gestionnaireInterface.dYBarre + "\"\n" + " espacement=\"" + Math.round(gestionnaireInterface.espacementBoutons) + "\"\n" + " visible=\"" + gestionnaireInterface.toggleBarreVisibilite + "\"\n" + " />\n"; if (gestionnaireInterface.bAfficheBoussole) { String SAiguille = (gestionnaireInterface.bAiguilleMobileBoussole) ? "oui" : "non"; contenuFichier += "<!-- Boussole -->\n" + " <boussole \n" + " affiche=\"oui\"\n" + " image=\"" + gestionnaireInterface.imageBoussole + "\"\n" + " taille=\"" + gestionnaireInterface.tailleBoussole + "\"\n" + " positionY=\"" + gestionnaireInterface.positionBoussole.split(":")[0] + "\"\n" + " positionX=\"" + gestionnaireInterface.positionBoussole.split(":")[1] + "\"\n" + " opacite=\"" + gestionnaireInterface.opaciteBoussole + "\"\n" + " dX=\"" + gestionnaireInterface.dXBoussole + "\"\n" + " dY=\"" + gestionnaireInterface.dYBoussole + "\"\n" + " aiguille=\"" + SAiguille + "\"\n" + " />\n"; } if (gestionnaireInterface.bAfficheMenuContextuel) { String SPrecSuiv = (gestionnaireInterface.bAffichePrecSuivMC) ? "oui" : "non"; String SPlanet = (gestionnaireInterface.bAffichePlanetNormalMC) ? "oui" : "non"; String SPers1 = (gestionnaireInterface.bAffichePersMC1) ? "oui" : "non"; String SPers2 = (gestionnaireInterface.bAffichePersMC2) ? "oui" : "non"; contenuFichier += "<!-- MenuContextuel -->\n" + " <menuContextuel \n" + " affiche=\"oui\"\n" + " precSuiv=\"" + SPrecSuiv + "\"\n" + " planete=\"" + SPlanet + "\"\n" + " pers1=\"" + SPers1 + "\"\n" + " lib1=\"" + gestionnaireInterface.stPersLib1 + "\"\n" + " url1=\"" + gestionnaireInterface.stPersURL1 + "\"\n" + " pers2=\"" + SPers2 + "\"\n" + " lib2=\"" + gestionnaireInterface.stPersLib2 + "\"\n" + " url2=\"" + gestionnaireInterface.stPersURL2 + "\"\n" + " />\n"; } if (gestionnaireInterface.bSuivantPrecedent) { int panoPrecedent = (i == nombrePanoramiques - 1) ? 0 : i + 1; int panoSuivant = (i == 0) ? nombrePanoramiques - 1 : i - 1; String nomPano = panoramiquesProjet[panoSuivant].getNomFichier(); String strPanoSuivant = "xml/" + nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")) + ".xml"; nomPano = panoramiquesProjet[panoPrecedent].getNomFichier(); String strPanoPrecedent = "xml/" + nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")) + ".xml"; contenuFichier += "<!-- Bouton Suivant Precedent -->\n" + " <suivantPrecedent\n" + " suivant=\"" + strPanoSuivant + "\" \n" + " precedent=\"" + strPanoPrecedent + "\" \n" + " /> \n" + ""; } if (gestionnaireInterface.bAfficheMasque) { String SNavigation = (gestionnaireInterface.bMasqueNavigation) ? "oui" : "non"; String SBoussole = (gestionnaireInterface.bMasqueBoussole) ? "oui" : "non"; String STitre = (gestionnaireInterface.bMasqueTitre) ? "oui" : "non"; String splan = (gestionnaireInterface.bMasquePlan) ? "oui" : "non"; String SReseaux = (gestionnaireInterface.bMasqueReseaux) ? "oui" : "non"; String SVignettes = (gestionnaireInterface.bMasqueVignettes) ? "oui" : "non"; contenuFichier += "<!-- Bouton de Masquage -->\n" + " <marcheArret \n" + " affiche=\"oui\"\n" + " image=\"MA.png\"\n" + " taille=\"" + gestionnaireInterface.tailleMasque + "\"\n" + " positionY=\"" + gestionnaireInterface.positionMasque.split(":")[0] + "\"\n" + " positionX=\"" + gestionnaireInterface.positionMasque.split(":")[1] + "\"\n" + " opacite=\"" + gestionnaireInterface.opaciteMasque + "\"\n" + " dX=\"" + gestionnaireInterface.dXMasque + "\"\n" + " dy=\"" + gestionnaireInterface.dYMasque + "\"\n" + " navigation=\"" + SNavigation + "\"\n" + " boussole=\"" + SBoussole + "\"\n" + " titre=\"" + STitre + "\"\n" + " plan=\"" + splan + "\"\n" + " reseaux=\"" + SReseaux + "\"\n" + " vignettes=\"" + SVignettes + "\"\n" + " />\n"; } if (gestionnaireInterface.bAfficheReseauxSociaux) { String STwitter = (gestionnaireInterface.bReseauxSociauxTwitter) ? "oui" : "non"; String SGoogle = (gestionnaireInterface.bReseauxSociauxGoogle) ? "oui" : "non"; String SFacebook = (gestionnaireInterface.bReseauxSociauxFacebook) ? "oui" : "non"; String SEmail = (gestionnaireInterface.bReseauxSociauxEmail) ? "oui" : "non"; contenuFichier += "<!-- Rseaux Sociaux -->\n" + " <reseauxSociaux \n" + " affiche=\"oui\"\n" + " taille=\"" + gestionnaireInterface.tailleReseauxSociaux + "\"\n" + " positionY=\"" + gestionnaireInterface.positionReseauxSociaux.split(":")[0] + "\"\n" + " positionX=\"" + gestionnaireInterface.positionReseauxSociaux.split(":")[1] + "\"\n" + " opacite=\"" + gestionnaireInterface.opaciteReseauxSociaux + "\"\n" + " dX=\"" + gestionnaireInterface.dXReseauxSociaux + "\"\n" + " dY=\"" + gestionnaireInterface.dYReseauxSociaux + "\"\n" + " twitter=\"" + STwitter + "\"\n" + " google=\"" + SGoogle + "\"\n" + " facebook=\"" + SFacebook + "\"\n" + " email=\"" + SEmail + "\"\n" + " />\n"; } if (gestionnaireInterface.bAfficheVignettes) { String SAfficheVignettes = (gestionnaireInterface.bAfficheVignettes) ? "oui" : "non"; contenuFichier += "<!-- Barre des vignettes -->" + " <vignettes \n" + " affiche=\"" + SAfficheVignettes + "\"\n" + " tailleImage=\"" + gestionnaireInterface.tailleImageVignettes + "\"\n" + " fondCouleur=\"" + gestionnaireInterface.couleurFondVignettes + "\"\n" + " texteCouleur=\"" + gestionnaireInterface.couleurTexteVignettes + "\"\n" + " opacite=\"" + gestionnaireInterface.opaciteVignettes + "\"\n" + " position=\"" + gestionnaireInterface.positionVignettes + "\"\n" + " >\n"; for (int j = 0; j < nombrePanoramiques; j++) { String nomPano = panoramiquesProjet[j].getNomFichier(); String nFichier = nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")) + "Vignette.jpg"; String nXML = nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")) + ".xml"; ReadWriteImage.writeJpeg(panoramiquesProjet[j].getVignettePanoramique(), repertTemp + "/panos/" + nFichier, 1.0f, false, 0.0f); contenuFichier += " <imageVignette \n" + " image=\"panos/" + nFichier + "\"\n" + " xml=\"xml/" + nXML + "\"\n" + " />\n"; } contenuFichier += " </vignettes> \n" + ""; } contenuFichier += " <!--Dfinition des hotspots--> \n" + " <hotspots>\n"; for (int j = 0; j < panoramiquesProjet[i].getNombreHotspots(); j++) { HotSpot HS = panoramiquesProjet[i].getHotspot(j); double longit; if (panoramiquesProjet[i].getTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String txtAnime = (HS.isAnime()) ? "true" : "false"; contenuFichier += " <point \n" + " type=\"panoramique\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " image=\"panovisu/images/hotspots/hotspot.png\"\n" + " xml=\"xml/" + HS.getFichierXML() + "\"\n" + " info=\"" + HS.getInfo() + "\"\n" + " anime=\"" + txtAnime + "\"\n" + " />\n"; } for (int j = 0; j < panoramiquesProjet[i].getNombreHotspotImage(); j++) { HotspotImage HS = panoramiquesProjet[i].getHotspotImage(j); double longit; if (panoramiquesProjet[i].getTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String txtAnime = (HS.isAnime()) ? "true" : "false"; contenuFichier += " <point \n" + " type=\"image\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " image=\"panovisu/images/hotspots/hotspotImage.png\"\n" + " img=\"images/" + HS.getLienImg() + "\"\n" + " info=\"" + HS.getInfo() + "\"\n" + " anime=\"" + txtAnime + "\"\n" + " />\n"; } contenuFichier += " </hotspots>\n"; contenuFichier += "\n" + "<!-- Dfinition des images de fond -->\n" + "\n"; if (gestionnaireInterface.nombreImagesFond > 0) { for (int ii = 0; ii < gestionnaireInterface.nombreImagesFond; ii++) { ImageFond imgFond = gestionnaireInterface.imagesFond[ii]; String strImgFond = "images/" + imgFond.getFichierImage().substring( imgFond.getFichierImage().lastIndexOf(File.separator) + 1, imgFond.getFichierImage().length()); String SMasquable = (imgFond.isMasquable()) ? "oui" : "non"; contenuFichier += " <imageFond\n" + " fichier=\"" + strImgFond + "\"\n" + " posX=\"" + imgFond.getPosX() + "\" \n" + " posY=\"" + imgFond.getPosY() + "\" \n" + " offsetX=\"" + imgFond.getOffsetX() + "\" \n" + " offsetY=\"" + imgFond.getOffsetY() + "\" \n" + " tailleX=\"" + imgFond.getTailleX() + "\" \n" + " tailleY=\"" + imgFond.getTailleY() + "\" \n" + " opacite=\"" + imgFond.getOpacite() + "\" \n" + " masquable=\"" + SMasquable + "\" \n" + " url=\"" + imgFond.getUrl() + "\" \n" + " infobulle=\"" + imgFond.getInfobulle() + "\" \n" + " />\n" + ""; } } if (gestionnaireInterface.bAffichePlan && panoramiquesProjet[i].isAffichePlan()) { int numPlan = panoramiquesProjet[i].getNumeroPlan(); Plan planPano = plans[numPlan]; rouge = (int) (gestionnaireInterface.couleurFondPlan.getRed() * 255.d); bleu = (int) (gestionnaireInterface.couleurFondPlan.getBlue() * 255.d); vert = (int) (gestionnaireInterface.couleurFondPlan.getGreen() * 255.d); String SAfficheRadar = (gestionnaireInterface.bAfficheRadar) ? "oui" : "non"; String coulFond = "rgba(" + rouge + "," + vert + "," + bleu + "," + gestionnaireInterface.opacitePlan + ")"; contenuFichier += " <plan\n" + " affiche=\"oui\" \n" + " image=\"images/" + planPano.getImagePlan() + "\"\n" + " largeur=\"" + gestionnaireInterface.largeurPlan + "\"\n" + " position=\"" + gestionnaireInterface.positionPlan + "\"\n" + " couleurFond=\"" + coulFond + "\"\n" + " couleurTexte=\"#" + gestionnaireInterface.txtCouleurTextePlan + "\"\n" + " nord=\"" + planPano.getDirectionNord() + "\"\n" + " boussolePosition=\"" + planPano.getPosition() + "\"\n" + " boussoleX=\"" + planPano.getPositionX() + "\"\n" + " boussoleY=\"" + planPano.getPositionX() + "\"\n" + " radarAffiche=\"" + SAfficheRadar + "\"\n" + " radarTaille=\"" + Math.round(gestionnaireInterface.tailleRadar) + "\"\n" + " radarCouleurFond=\"#" + gestionnaireInterface.txtCouleurFondRadar + "\"\n" + " radarCouleurLigne=\"#" + gestionnaireInterface.txtCouleurLigneRadar + "\"\n" + " radarOpacite=\"" + Math.round(gestionnaireInterface.opaciteRadar * 100.d) / 100.d + "\"\n" + " >\n"; for (int iPoint = 0; iPoint < planPano.getNombreHotspots(); iPoint++) { double posX = planPano.getHotspot(iPoint).getLongitude() * gestionnaireInterface.largeurPlan; double posY = planPano.getHotspot(iPoint).getLatitude() * planPano.getHauteurPlan() * gestionnaireInterface.largeurPlan / planPano.getLargeurPlan(); if (planPano.getHotspot(iPoint).getNumeroPano() == i) { contenuFichier += " <pointPlan\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"actif\"\n" + " /> \n"; } else { contenuFichier += " <pointPlan\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"xml/" + planPano.getHotspot(iPoint).getFichierXML() + "\"\n" + " texte=\"" + planPano.getHotspot(iPoint).getInfo() + "\"\n" + " /> \n"; } } contenuFichier += " </plan>\n"; } contenuFichier += "</scene>\n"; String fichierPano = panoramiquesProjet[i].getNomFichier(); String nomXMLFile = fichierPano .substring(fichierPano.lastIndexOf(File.separator) + 1, fichierPano.length()) .split("\\.")[0] + ".xml"; xmlFile = new File(xmlRepert + File.separator + nomXMLFile); xmlFile.setWritable(true); FileWriter fw = new FileWriter(xmlFile); try (BufferedWriter bw = new BufferedWriter(fw)) { bw.write(contenuFichier); } } Dimension tailleEcran = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); int hauteur = (int) tailleEcran.getHeight() - 200; String titreVis = "Panovisu - visualiseur 100% html5 (three.js)"; TextArea tfVisite = (TextArea) paneChoixPanoramique.lookup("#titreVisite"); if (!tfVisite.getText().equals("")) { titreVis = tfVisite.getText() + " - " + titreVis; } String fPano1 = "panos/niveau0/" + panoramiquesProjet[0].getNomFichier().substring( panoramiquesProjet[0].getNomFichier().lastIndexOf(File.separator) + 1, panoramiquesProjet[0].getNomFichier().length()); String fichierHTML = "<!DOCTYPE html>\n" + "<html lang=\"fr\">\n" + " <head>\n" + " <title>" + titreVis + "</title>\n" + " <meta charset=\"utf-8\">\n" + " <meta name=\"viewport\" content=\"width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0\">\n" + " <link rel=\"stylesheet\" media=\"screen\" href=\"panovisu/libs/jqueryMenu/jquery.contextMenu.css\" type=\"text/css\"/>\n" + " <meta property=\"og:title\" content=\"" + titreVis + "\" />\n" + " <meta property=\"og:description\" content=\"Une page cre avec panoVisu Editeur : 100% Libre 100% HTML5\" />\n" + " <meta property=\"og:image\" content=\"" + fPano1 + "\" />" + " </head>\n" + " <body>\n" + " <header>\n" + "\n" + " </header>\n" + " <article style=\"height : " + hauteur + "px;\">\n" + " <div id=\"pano\">\n" + " </div>\n" + " </article>\n" + " <script src=\"panovisu/panovisuInit.js\"></script>\n" + " <script src=\"panovisu/panovisu.js\"></script>\n" + " <script>\n" + "\n" + " $(function() {\n" + " $(window).resize(function(){\n" + " $(\"article\").height($(window).height()-10);\n" + " $(\"#pano\").height($(window).height()-10);\n" + " })\n" + " $(\"article\").height($(window).height()-10);\n" + " $(\"#pano\").height($(window).height()-10);\n" + " ajoutePano({\n" + " langue : \"" + locale.toString() + "\",\n" + " panoramique: \"pano\",\n" + " minFOV: 35,\n" + " maxFOV: 120,\n" + " fenX: \"100%\",\n" + " fenY: \"100%\",\n" + " xml: \"xml/PANO.xml\"\n" + " });\n" + " $(\".reseauSocial-twitter\").on(\"click\", function() {\n" + " window.open(\n" + " \"https://twitter.com/share?url=\" + document.location.href\n" + " );\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-fb\").on(\"click\", function() {\n" + " window.open(\n" + " \"http://www.facebook.com/share.php?u=\" + document.location.href\n" + " );\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-google\").on(\"click\", function() {\n" + " window.open(\n" + " \"https://plus.google.com/share?url=\" + document.location.href + \"&hl=fr\"\n" + " );\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-email\").attr(\"href\",\"mailto:?body=\" + document.location.href + \"&hl=fr\");\n" // + " images=new Array();\n" // + chargeImages // + " prechargeImages(images); \n \n" + " });\n" + " </script>\n" + " </body>\n" + "</html>\n"; if (panoEntree.equals("")) { fichierHTML = fichierHTML .replace("PANO", panoramiquesProjet[0].getNomFichier() .substring(panoramiquesProjet[0].getNomFichier().lastIndexOf(File.separator) + 1, panoramiquesProjet[0].getNomFichier().length()) .split("\\.")[0]); } else { fichierHTML = fichierHTML.replace("PANO", panoEntree); } File fichIndexHTML = new File(repertTemp + File.separator + "index.html"); fichIndexHTML.setWritable(true); FileWriter fw1 = new FileWriter(fichIndexHTML); try (BufferedWriter bw1 = new BufferedWriter(fw1)) { bw1.write(fichierHTML); } DirectoryChooser repertChoix = new DirectoryChooser(); repertChoix.setTitle("Choix du repertoire de sauvegarde de la visite"); File repert = new File(EditeurPanovisu.repertoireProjet); repertChoix.setInitialDirectory(repert); File repertVisite = repertChoix.showDialog(null); String nomRepertVisite = repertVisite.getAbsolutePath(); copieDirectory(repertTemp, nomRepertVisite); Dialogs.create().title("Gnration de la visite") .message("Votre visite a bien t gnr dans le rpertoire : " + nomRepertVisite) .showInformation(); if (Desktop.isDesktopSupported()) { if (Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { Desktop dt = Desktop.getDesktop(); File fIndex = new File(nomRepertVisite + File.separator + "index.html"); dt.browse(fIndex.toURI()); } } } else { Dialogs.create().title("Gnration de la visite") .message("Votre visite n'a pu tre gnre, votre fichier n'tant pas sauvegard") .showError(); } }
From source file:de.bayern.gdi.gui.Controller.java
/** * Start the download./*from ww w.j a va2 s . c o m*/ * * @param event The event */ @FXML protected void handleDownload(ActionEvent event) { extractStoredQuery(); extractBoundingBox(); extractCql(); if (validateInput() && validateCqlInput()) { DirectoryChooser dirChooser = new DirectoryChooser(); dirChooser.setTitle(I18n.getMsg("gui.save-dir")); if (downloadConfig != null && downloadConfig.getDownloadPath() != null) { try { File dir = new File(downloadConfig.getDownloadPath()); if (dir.exists()) { dirChooser.setInitialDirectory(dir); } } catch (Exception e) { log.warn(e.getLocalizedMessage()); } } File selectedDir = dirChooser.showDialog(getPrimaryStage()); if (selectedDir == null) { return; } setStatusTextUI(I18n.format("status.download.started")); this.dataBean.setProcessingSteps(extractProcessingSteps()); String savePath = selectedDir.getPath(); Runnable convertTask = () -> { DownloadStep ds = dataBean.convertToDownloadStep(savePath); try { this.buttonDownload.setDisable(true); DownloadStepConverter dsc = new DownloadStepConverter( dataBean.getSelectedService().getUsername(), dataBean.getSelectedService().getPassword()); JobList jl = dsc.convert(ds); Processor p = Processor.getInstance(); p.addJob(jl); } catch (ConverterException ce) { setStatusTextUI(ce.getMessage()); logToAppLog(ce.getMessage()); } finally { this.buttonDownload.setDisable(false); } }; new Thread(convertTask).start(); } }
From source file:de.bayern.gdi.gui.Controller.java
/** * Handle config saving./*from w w w.j av a 2s . co m*/ * * @param event The event. */ @FXML protected void handleSaveConfig(ActionEvent event) { extractStoredQuery(); extractBoundingBox(); extractCql(); if (validateInput() && validateCqlInput()) { FileChooser fileChooser = new FileChooser(); DirectoryChooser dirChooser = new DirectoryChooser(); File downloadDir; File initDir; dirChooser.setTitle(I18n.getMsg("gui.save-dir")); if (downloadConfig == null) { downloadDir = dirChooser.showDialog(getPrimaryStage()); String basedir = Config.getInstance().getServices().getBaseDirectory(); initDir = new File(basedir.isEmpty() ? System.getProperty(USER_DIR) : basedir); File uniqueName = Misc.uniqueFile(downloadDir, "config", "xml", null); fileChooser.setInitialFileName(uniqueName.getName()); } else { File downloadInitDir = new File(downloadConfig.getDownloadPath()); if (!downloadInitDir.exists()) { downloadInitDir = new File(System.getProperty(USER_DIR)); } dirChooser.setInitialDirectory(downloadInitDir); downloadDir = dirChooser.showDialog(getPrimaryStage()); String path = downloadConfig.getFile().getAbsolutePath(); path = path.substring(0, path.lastIndexOf(File.separator)); initDir = new File(path); fileChooser.setInitialFileName(downloadConfig.getFile().getName()); } fileChooser.setInitialDirectory(initDir); FileChooser.ExtensionFilter xmlFilter = new FileChooser.ExtensionFilter("xml files (*.xml)", "*.xml"); fileChooser.getExtensionFilters().add(xmlFilter); fileChooser.setSelectedExtensionFilter(xmlFilter); fileChooser.setTitle(I18n.getMsg("gui.save-conf")); File configFile = fileChooser.showSaveDialog(getPrimaryStage()); if (configFile == null) { return; } if (!configFile.toString().endsWith(".xml")) { configFile = new File(configFile.toString() + ".xml"); } this.dataBean.setProcessingSteps(extractProcessingSteps()); String savePath = downloadDir.getPath(); DownloadStep ds = dataBean.convertToDownloadStep(savePath); try { ds.write(configFile); } catch (IOException ex) { log.warn(ex.getMessage(), ex); } } }
From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java
/** * Initializes the controller class./*from w w w .j a v a2 s. com*/ */ @Override public void initialize(URL url, ResourceBundle rb) { this.resourceBundle = rb; viewer3DPanelController.setResourceBundle(rb); initStrings(rb); colorPickerSeries.valueProperty().addListener(new ChangeListener<javafx.scene.paint.Color>() { @Override public void changed(ObservableValue<? extends javafx.scene.paint.Color> observable, javafx.scene.paint.Color oldValue, javafx.scene.paint.Color newValue) { if (listViewVoxelsFilesChart.getSelectionModel().getSelectedItems().size() == 1) { listViewVoxelsFilesChart.getSelectionModel().getSelectedItem().getSeriesParameters() .setColor(new Color((float) newValue.getRed(), (float) newValue.getGreen(), (float) newValue.getBlue(), 1.0f)); } } }); comboboxScript.getItems().setAll("Daniel script"); vboxWeighting.disableProperty().bind(checkboxEnableWeighting.selectedProperty().not()); checkboxEnableWeighting.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue && textAreaWeighting.getText().isEmpty()) { int selectedVoxTab = tabPaneVoxelisation.getSelectionModel().getSelectedIndex(); if (selectedVoxTab == 0) { //ALS fillWeightingData(EchoesWeightParams.DEFAULT_ALS_WEIGHTING); } else if (selectedVoxTab == 1) { //TLS fillWeightingData(EchoesWeightParams.DEFAULT_TLS_WEIGHTING); } } } }); /*comboboxTransMode.getItems().setAll(1, 2, 3); comboboxTransMode.getSelectionModel().selectFirst(); comboboxPathLengthMode.getItems().setAll("A", "B"); comboboxPathLengthMode.getSelectionModel().selectFirst();*/ helpButtonNaNsCorrection.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { helpButtonNaNsCorrectionController.showHelpDialog(resourceBundle.getString("help_NaNs_correction")); } }); helpButtonAutoBBox.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { helpButtonAutoBBoxController.showHelpDialog(resourceBundle.getString("help_bbox")); } }); helpButtonHemiPhoto.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { helpButtonHemiPhotoController.showHelpDialog(resourceBundle.getString("help_hemiphoto")); } }); buttonHelpEmptyShotsFilter.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { buttonHelpEmptyShotsFilterController .showHelpDialog(resourceBundle.getString("help_empty_shots_filter")); } }); /*work around, the divider positions values are defined in the fxml, but when the window is initialized the values are lost*/ Platform.runLater(new Runnable() { @Override public void run() { splitPaneMain.setDividerPositions(0.75f); splitPaneVoxelization.setDividerPositions(0.45f); } }); initValidationSupport(); initPostProcessTab(); listViewTransmittanceMapSensorPositions.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); listViewTaskList.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); MenuItem menuItemPadValue1m = new MenuItem("1m voxel size"); addMenuItemPadValue(menuItemPadValue1m, 3.536958f); MenuItem menuItemPadValue2m = new MenuItem("2m voxel size"); addMenuItemPadValue(menuItemPadValue2m, 2.262798f); MenuItem menuItemPadValue3m = new MenuItem("3m voxel size"); addMenuItemPadValue(menuItemPadValue3m, 1.749859f); MenuItem menuItemPadValue4m = new MenuItem("4m voxel size"); addMenuItemPadValue(menuItemPadValue4m, 1.3882959f); MenuItem menuItemPadValue5m = new MenuItem("5m voxel size"); addMenuItemPadValue(menuItemPadValue5m, 1.0848f); menuButtonAdvisablePADMaxValues.getItems().addAll(menuItemPadValue1m, menuItemPadValue2m, menuItemPadValue3m, menuItemPadValue4m, menuItemPadValue5m); fileChooserSaveCanopyAnalyserOutputFile = new FileChooserContext(); fileChooserSaveCanopyAnalyserCfgFile = new FileChooserContext(); fileChooserSaveTransmittanceSimCfgFile = new FileChooserContext(); fileChooserOpenCanopyAnalyserInputFile = new FileChooserContext(); listViewCanopyAnalyzerSensorPositions.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); ContextMenu contextMenuProductsList = new ContextMenu(); MenuItem openImageItem = new MenuItem(RS_STR_OPEN_IMAGE); openImageItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedFile = listViewProductsFiles.getSelectionModel().getSelectedItem(); showImage(selectedFile); } }); Menu menuEdit = new Menu(RS_STR_EDIT); MenuItem menuItemEditVoxels = new MenuItem("Remove voxels (delete key)"); MenuItem menuItemFitToContent = new MenuItem("Fit to content"); MenuItem menuItemCrop = new MenuItem("Crop"); menuEdit.getItems().setAll(menuItemEditVoxels, menuItemFitToContent, menuItemCrop); menuItemFitToContent.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { fitVoxelSpaceToContent(selectedItem); } } }); menuItemEditVoxels.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { editVoxelSpace(selectedItem); } } }); menuItemCrop.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { try { voxelSpaceCroppingFrameController.setVoxelFile(selectedItem); voxelSpaceCroppingFrame.show(); } catch (Exception ex) { showErrorDialog(ex); } } } }); Menu menuExport = new Menu(RS_STR_EXPORT); MenuItem menuItemExportDartMaket = new MenuItem("Dart (maket.txt)"); MenuItem menuItemExportDartPlots = new MenuItem("Dart (plots.xml)"); MenuItem menuItemExportMeshObj = new MenuItem("Mesh (*.obj)"); menuItemExportDartMaket.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { exportDartMaket(selectedItem); } } }); menuItemExportDartPlots.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { exportDartPlots(selectedItem); } } }); menuItemExportMeshObj.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { exportMeshObj(selectedItem); } } }); menuExport.getItems().setAll(menuItemExportDartMaket, menuItemExportDartPlots, menuItemExportMeshObj); MenuItem menuItemInfo = new MenuItem(RS_STR_INFO); menuItemInfo.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { Alert alert = new Alert(AlertType.INFORMATION); File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { VoxelFileReader reader; try { reader = new VoxelFileReader(selectedItem); VoxelSpaceInfos voxelSpaceInfos = reader.getVoxelSpaceInfos(); alert.setTitle("Information"); alert.setHeaderText("Voxel space informations"); alert.setContentText(voxelSpaceInfos.toString()); alert.show(); } catch (Exception ex) { showErrorDialog(ex); } } } }); final MenuItem menuItemOpenContainingFolder = new MenuItem(RS_STR_OPEN_CONTAINING_FOLDER); menuItemOpenContainingFolder.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { final File selectedItem = listViewProductsFiles.getSelectionModel().getSelectedItem(); if (selectedItem != null) { if (Desktop.isDesktopSupported()) { new Thread(() -> { try { Desktop.getDesktop().open(selectedItem.getParentFile()); } catch (IOException ex) { logger.error("Cannot open directory " + selectedItem); } }).start(); } } } }); listViewProductsFiles.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() { @Override public void handle(ContextMenuEvent event) { if (listViewProductsFiles.getSelectionModel().getSelectedIndices().size() == 1) { File selectedFile = listViewProductsFiles.getSelectionModel().getSelectedItem(); String extension = FileManager.getExtension(selectedFile); switch (extension) { case ".png": case ".bmp": case ".jpg": contextMenuProductsList.getItems().setAll(openImageItem, menuItemOpenContainingFolder); contextMenuProductsList.show(listViewProductsFiles, event.getScreenX(), event.getScreenY()); break; case ".vox": default: if (VoxelFileReader.isFileAVoxelFile(selectedFile)) { contextMenuProductsList.getItems().setAll(menuItemInfo, menuItemOpenContainingFolder, menuEdit, menuExport); contextMenuProductsList.show(listViewProductsFiles, event.getScreenX(), event.getScreenY()); } } } } }); ContextMenu contextMenuLidarScanEdit = new ContextMenu(); MenuItem editItem = new MenuItem("Edit"); editItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { filterFrameController.setFilters("Reflectance", "Deviation", "Amplitude"); filterFrame.show(); filterFrame.setOnHidden(new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent event) { if (filterFrameController.getFilter() != null) { ObservableList<LidarScan> items = listViewHemiPhotoScans.getSelectionModel() .getSelectedItems(); for (LidarScan scan : items) { scan.filters.add(filterFrameController.getFilter()); } } } }); } }); contextMenuLidarScanEdit.getItems().add(editItem); listViewHemiPhotoScans.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); listViewHemiPhotoScans.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() { @Override public void handle(ContextMenuEvent event) { contextMenuLidarScanEdit.show(listViewHemiPhotoScans, event.getScreenX(), event.getScreenY()); } }); /**LAD tab initialization**/ comboboxLADChoice.getItems().addAll(LeafAngleDistribution.Type.UNIFORM, LeafAngleDistribution.Type.SPHERIC, LeafAngleDistribution.Type.ERECTOPHILE, LeafAngleDistribution.Type.PLANOPHILE, LeafAngleDistribution.Type.EXTREMOPHILE, LeafAngleDistribution.Type.PLAGIOPHILE, LeafAngleDistribution.Type.HORIZONTAL, LeafAngleDistribution.Type.VERTICAL, LeafAngleDistribution.Type.ELLIPSOIDAL, LeafAngleDistribution.Type.ELLIPTICAL, LeafAngleDistribution.Type.TWO_PARAMETER_BETA); comboboxLADChoice.getSelectionModel().select(LeafAngleDistribution.Type.SPHERIC); comboboxLADChoice.getSelectionModel().selectedItemProperty() .addListener(new ChangeListener<LeafAngleDistribution.Type>() { @Override public void changed(ObservableValue<? extends LeafAngleDistribution.Type> observable, LeafAngleDistribution.Type oldValue, LeafAngleDistribution.Type newValue) { if (newValue == LeafAngleDistribution.Type.TWO_PARAMETER_BETA || newValue == LeafAngleDistribution.Type.ELLIPSOIDAL) { hboxTwoBetaParameters.setVisible(true); if (newValue == LeafAngleDistribution.Type.ELLIPSOIDAL) { labelLADBeta.setVisible(false); } else { labelLADBeta.setVisible(true); } } else { hboxTwoBetaParameters.setVisible(false); } } }); ToggleGroup ladTypeGroup = new ToggleGroup(); radiobuttonLADHomogeneous.setToggleGroup(ladTypeGroup); radiobuttonLADLocalEstimation.setToggleGroup(ladTypeGroup); /**CHART panel initialization**/ ToggleGroup profileChartType = new ToggleGroup(); radiobuttonPreDefinedProfile.setToggleGroup(profileChartType); radiobuttonFromVariableProfile.setToggleGroup(profileChartType); ToggleGroup profileChartRelativeHeightType = new ToggleGroup(); radiobuttonHeightFromAboveGround.setToggleGroup(profileChartRelativeHeightType); radiobuttonHeightFromBelowCanopy.setToggleGroup(profileChartRelativeHeightType); comboboxFromVariableProfile.disableProperty().bind(radiobuttonPreDefinedProfile.selectedProperty()); comboboxPreDefinedProfile.disableProperty().bind(radiobuttonFromVariableProfile.selectedProperty()); hboxMaxPADVegetationProfile.visibleProperty().bind(radiobuttonPreDefinedProfile.selectedProperty()); listViewVoxelsFilesChart.getSelectionModel().selectedIndexProperty() .addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { if (listViewVoxelsFilesChart.getSelectionModel().getSelectedItems().size() > 1) { colorPickerSeries.setDisable(true); } else if (listViewVoxelsFilesChart.getSelectionModel().getSelectedItems().size() == 1) { VoxelFileChart selectedItem = listViewVoxelsFilesChart.getSelectionModel() .getSelectedItem(); Color selectedItemColor = selectedItem.getSeriesParameters().getColor(); colorPickerSeries.setDisable(false); colorPickerSeries.setValue(new javafx.scene.paint.Color( selectedItemColor.getRed() / 255.0, selectedItemColor.getGreen() / 255.0, selectedItemColor.getBlue() / 255.0, 1.0)); if (newValue.intValue() >= 0) { textfieldLabelVoxelFileChart.setText( listViewVoxelsFilesChart.getItems().get(newValue.intValue()).label); } } } }); textfieldLabelVoxelFileChart.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { if (listViewVoxelsFilesChart.getSelectionModel().getSelectedIndex() >= 0) { listViewVoxelsFilesChart.getSelectionModel().getSelectedItem().label = newValue; } } }); listViewVoxelsFilesChart.getItems().addListener(new ListChangeListener<VoxelFileChart>() { @Override public void onChanged(ListChangeListener.Change<? extends VoxelFileChart> c) { while (c.next()) { } if (c.wasAdded() && c.getAddedSize() == c.getList().size()) { try { VoxelFileReader reader = new VoxelFileReader(c.getList().get(0).file); String[] columnNames = reader.getVoxelSpaceInfos().getColumnNames(); comboboxFromVariableProfile.getItems().clear(); comboboxFromVariableProfile.getItems().addAll(columnNames); comboboxFromVariableProfile.getSelectionModel().selectFirst(); } catch (Exception ex) { logger.error("Cannot read voxel file", ex); } } } }); anchorpaneQuadrats.disableProperty().bind(checkboxMakeQuadrats.selectedProperty().not()); comboboxSelectAxisForQuadrats.getItems().addAll("X", "Y", "Z"); comboboxSelectAxisForQuadrats.getSelectionModel().select(1); comboboxPreDefinedProfile.getItems().addAll("Vegetation (PAD)"); comboboxPreDefinedProfile.getSelectionModel().selectFirst(); radiobuttonSplitCountForQuadrats.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { textFieldSplitCountForQuadrats.setDisable(!newValue); textFieldLengthForQuadrats.setDisable(newValue); } }); ToggleGroup chartMakeQuadratsSplitType = new ToggleGroup(); radiobuttonLengthForQuadrats.setToggleGroup(chartMakeQuadratsSplitType); radiobuttonSplitCountForQuadrats.setToggleGroup(chartMakeQuadratsSplitType); /**Virtual measures panel initialization**/ comboboxHemiPhotoBitmapOutputMode.getItems().addAll("Pixel", "Color"); comboboxHemiPhotoBitmapOutputMode.getSelectionModel().selectFirst(); ToggleGroup virtualMeasuresChoiceGroup = new ToggleGroup(); toggleButtonLAI2000Choice.setToggleGroup(virtualMeasuresChoiceGroup); toggleButtonLAI2200Choice.setToggleGroup(virtualMeasuresChoiceGroup); comboboxChooseCanopyAnalyzerSampling.getItems().setAll(500, 4000, 10000); comboboxChooseCanopyAnalyzerSampling.getSelectionModel().selectFirst(); initEchoFiltering(); data = FXCollections.observableArrayList(); tableViewSimulationPeriods.setItems(data); tableViewSimulationPeriods.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); comboboxChooseDirectionsNumber.getItems().addAll(1, 6, 16, 46, 136, 406); comboboxChooseDirectionsNumber.getSelectionModel().select(4); ToggleGroup scannerPositionsMode = new ToggleGroup(); /*radiobuttonScannerPosSquaredArea.setToggleGroup(scannerPositionsMode); radiobuttonScannerPosFile.setToggleGroup(scannerPositionsMode);*/ tableColumnPeriod.setCellValueFactory( new Callback<TableColumn.CellDataFeatures<SimulationPeriod, String>, ObservableValue<String>>() { @Override public ObservableValue<String> call( TableColumn.CellDataFeatures<SimulationPeriod, String> param) { return new SimpleStringProperty(param.getValue().getPeriod().toString()); } }); tableColumnClearness.setCellValueFactory( new Callback<TableColumn.CellDataFeatures<SimulationPeriod, String>, ObservableValue<String>>() { @Override public ObservableValue<String> call( TableColumn.CellDataFeatures<SimulationPeriod, String> param) { return new SimpleStringProperty(String.valueOf(param.getValue().getClearnessCoefficient())); } }); checkboxMultiFiles.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { anchorpaneBoundingBoxParameters.setDisable(newValue); } }); hboxGenerateBitmapFiles.disableProperty().bind(checkboxGenerateBitmapFile.selectedProperty().not()); hboxGenerateTextFile.disableProperty().bind(checkboxGenerateTextFile.selectedProperty().not()); fileChooserOpenConfiguration = new FileChooser(); fileChooserOpenConfiguration.setTitle("Choose configuration file"); fileChooserSaveConfiguration = new FileChooserContext("cfg.xml"); fileChooserSaveConfiguration.fc.setTitle("Choose output file"); fileChooserOpenInputFileALS = new FileChooser(); fileChooserOpenInputFileALS.setTitle("Open input file"); fileChooserOpenInputFileALS.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Shot files", "*.sht"), new ExtensionFilter("Text Files", "*.txt"), new ExtensionFilter("Las Files", "*.las", "*.laz")); fileChooserOpenTrajectoryFileALS = new FileChooser(); fileChooserOpenTrajectoryFileALS.setTitle("Open trajectory file"); fileChooserOpenTrajectoryFileALS.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt")); fileChooserOpenOutputFileALS = new FileChooser(); fileChooserOpenOutputFileALS.setTitle("Choose output file"); fileChooserOpenInputFileTLS = new FileChooserContext(); fileChooserOpenInputFileTLS.fc.setTitle("Open input file"); fileChooserOpenInputFileTLS.fc.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt"), new ExtensionFilter("Rxp Files", "*.rxp"), new ExtensionFilter("Project Rsp Files", "*.rsp")); directoryChooserOpenOutputPathTLS = new DirectoryChooser(); directoryChooserOpenOutputPathTLS.setTitle("Choose output path"); directoryChooserOpenOutputPathALS = new DirectoryChooser(); directoryChooserOpenOutputPathALS.setTitle("Choose output path"); fileChooserSaveOutputFileTLS = new FileChooser(); fileChooserSaveOutputFileTLS.setTitle("Save voxel file"); fileChooserSaveTransmittanceTextFile = new FileChooser(); fileChooserSaveTransmittanceTextFile.setTitle("Save text file"); directoryChooserSaveTransmittanceBitmapFile = new DirectoryChooser(); directoryChooserSaveTransmittanceBitmapFile.setTitle("Choose output directory"); fileChooserSaveHemiPhotoOutputBitmapFile = new FileChooserContext("*.png"); fileChooserSaveHemiPhotoOutputBitmapFile.fc.setTitle("Save bitmap file"); directoryChooserSaveHemiPhotoOutputBitmapFile = new DirectoryChooser(); directoryChooserSaveHemiPhotoOutputBitmapFile.setTitle("Choose bitmap files output directory"); directoryChooserSaveHemiPhotoOutputTextFile = new DirectoryChooser(); directoryChooserSaveHemiPhotoOutputTextFile.setTitle("Choose text files output directory"); fileChooserSaveHemiPhotoOutputTextFile = new FileChooser(); fileChooserSaveHemiPhotoOutputTextFile.setTitle("Save text file"); fileChooserOpenVoxelFile = new FileChooser(); fileChooserOpenVoxelFile.setTitle("Open voxel file"); fileChooserOpenVoxelFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Voxel Files", "*.vox")); fileChooserOpenPopMatrixFile = new FileChooser(); fileChooserOpenPopMatrixFile.setTitle("Choose matrix file"); fileChooserOpenPopMatrixFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt")); fileChooserOpenSopMatrixFile = new FileChooser(); fileChooserOpenSopMatrixFile.setTitle("Choose matrix file"); fileChooserOpenSopMatrixFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt")); fileChooserOpenVopMatrixFile = new FileChooser(); fileChooserOpenVopMatrixFile.setTitle("Choose matrix file"); fileChooserOpenVopMatrixFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt")); fileChooserOpenPonderationFile = new FileChooser(); fileChooserOpenPonderationFile.setTitle("Choose ponderation file"); fileChooserOpenPonderationFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Text Files", "*.txt")); fileChooserOpenDTMFile = new FileChooser(); fileChooserOpenDTMFile.setTitle("Choose DTM file"); fileChooserOpenDTMFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("DTM Files", "*.asc")); fileChooserOpenPointCloudFile = new FileChooser(); fileChooserOpenPointCloudFile.setTitle("Choose point cloud file"); fileChooserOpenPointCloudFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("TXT Files", "*.txt")); fileChooserOpenMultiResVoxelFile = new FileChooser(); fileChooserOpenMultiResVoxelFile.setTitle("Choose voxel file"); fileChooserOpenMultiResVoxelFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Voxel Files", "*.vox")); fileChooserOpenOutputFileMultiRes = new FileChooser(); fileChooserOpenOutputFileMultiRes.setTitle("Save voxel file"); fileChooserAddTask = new FileChooser(); fileChooserAddTask.setTitle("Choose parameter file"); fileChooserAddTask.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("XML Files", "*.xml")); fileChooserSaveDartFile = new FileChooser(); fileChooserSaveDartFile.setTitle("Save dart file (.maket)"); fileChooserSaveDartFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Maket File", "*.maket")); fileChooserOpenOutputFileMerging = new FileChooser(); fileChooserOpenOutputFileMerging.setTitle("Choose voxel file"); fileChooserOpenOutputFileMerging.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("Voxel Files", "*.vox")); fileChooserOpenScriptFile = new FileChooser(); fileChooserOpenScriptFile.setTitle("Choose script file"); fileChooserSaveGroundEnergyOutputFile = new FileChooser(); fileChooserSaveGroundEnergyOutputFile.setTitle("Save ground energy file"); fileChooserOpenPointsPositionFile = new FileChooser(); fileChooserOpenPointsPositionFile.setTitle("Choose points file"); fileChooserOpenPointsPositionFile.getExtensionFilters().addAll(new ExtensionFilter("All Files", "*"), new ExtensionFilter("TXT Files", "*.txt")); try { viewCapsSetupFrame = new Stage(); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/ViewCapsSetupFrame.fxml")); Parent root = loader.load(); viewCapsSetupFrameController = loader.getController(); viewCapsSetupFrame.setScene(new Scene(root)); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/FilteringPaneComponent.fxml")); anchorPaneEchoFilteringRxp = loader.load(); filteringPaneController = loader.getController(); filteringPaneController.setFiltersNames("Reflectance", "Amplitude", "Deviation"); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { positionImporterFrame = new Stage(); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/PositionImporterFrame.fxml")); Parent root = loader.load(); positionImporterFrameController = loader.getController(); positionImporterFrame.setScene(new Scene(root)); positionImporterFrameController.setStage(positionImporterFrame); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { voxelSpaceCroppingFrame = new Stage(); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/VoxelSpaceCroppingFrame.fxml")); Parent root = loader.load(); voxelSpaceCroppingFrameController = loader.getController(); voxelSpaceCroppingFrame.setScene(new Scene(root)); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { attributsImporterFrame = new Stage(); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/AttributsImporterFrame.fxml")); Parent root = loader.load(); attributsImporterFrameController = loader.getController(); attributsImporterFrame.setScene(new Scene(root)); attributsImporterFrameController.setStage(attributsImporterFrame); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { textFileParserFrameController = TextFileParserFrameController.getInstance(); } catch (Exception ex) { logger.error("Cannot load fxml file", ex); } try { transformationFrameController = TransformationFrameController.getInstance(); transformationFrame = transformationFrameController.getStage(); } catch (Exception ex) { logger.error("Cannot load fxml file", ex); } updaterFrame = new Stage(); try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/update/UpdaterFrame.fxml")); Parent root = loader.load(); updaterFrameController = loader.getController(); updaterFrame.setScene(new Scene(root)); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } riscanProjectExtractor = new RiscanProjectExtractor(); ptxProjectExtractor = new PTXProjectExtractor(); ptgProjectExtractor = new PTGProjectExtractor(); dateChooserFrame = new Stage(); try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DateChooserFrame.fxml")); Parent root = loader.load(); dateChooserFrameController = loader.getController(); dateChooserFrame.setScene(new Scene(root)); dateChooserFrameController.setStage(dateChooserFrame); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } comboboxModeALS.getItems().addAll(RS_STR_INPUT_TYPE_LAS, RS_STR_INPUT_TYPE_LAZ, /*RS_STR_INPUT_TYPE_XYZ, */RS_STR_INPUT_TYPE_SHOTS); comboboxModeALS.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { if (newValue.equals(RS_STR_INPUT_TYPE_SHOTS)) { alsVoxValidationSupport.registerValidator(textFieldTrajectoryFileALS, false, Validators.unregisterValidator); } else { alsVoxValidationSupport.registerValidator(textFieldTrajectoryFileALS, false, Validators.fileExistValidator); } } }); comboboxModeTLS.getItems().setAll("Rxp scan", "Rsp project", "PTX", "PTG"/*, RS_STR_INPUT_TYPE_XYZ, RS_STR_INPUT_TYPE_SHOTS*/); comboboxGroundEnergyOutputFormat.getItems().setAll("txt", "png"); comboboxLaserSpecification.getItems().addAll(LaserSpecification.getPresets()); comboboxLaserSpecification.getSelectionModel().selectedItemProperty() .addListener(new ChangeListener<LaserSpecification>() { @Override public void changed(ObservableValue<? extends LaserSpecification> observable, LaserSpecification oldValue, LaserSpecification newValue) { DecimalFormatSymbols symb = new DecimalFormatSymbols(); symb.setDecimalSeparator('.'); DecimalFormat formatter = new DecimalFormat("#####.######", symb); textFieldBeamDiameterAtExit.setText(formatter.format(newValue.getBeamDiameterAtExit())); textFieldBeamDivergence.setText(formatter.format(newValue.getBeamDivergence())); } }); comboboxLaserSpecification.getSelectionModel().select(LaserSpecification.LMS_Q560); comboboxLaserSpecification.disableProperty().bind(checkboxCustomLaserSpecification.selectedProperty()); textFieldBeamDiameterAtExit.disableProperty() .bind(checkboxCustomLaserSpecification.selectedProperty().not()); textFieldBeamDivergence.disableProperty().bind(checkboxCustomLaserSpecification.selectedProperty().not()); listViewProductsFiles.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); listViewProductsFiles.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { int size = listViewProductsFiles.getSelectionModel().getSelectedIndices().size(); if (size == 1) { viewer3DPanelController .updateCurrentVoxelFile(listViewProductsFiles.getSelectionModel().getSelectedItem()); } } }); listViewTaskList.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { int size = listViewTaskList.getSelectionModel().getSelectedIndices().size(); if (size == 1) { buttonLoadSelectedTask.setDisable(false); } else { buttonLoadSelectedTask.setDisable(true); } buttonExecute.setDisable(size == 0); } }); resetMatrices(); calculateMatrixFrame = new Stage(); try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/CalculateMatrixFrame.fxml")); Parent root = loader.load(); calculateMatrixFrameController = loader.getController(); calculateMatrixFrameController.setStage(calculateMatrixFrame); Scene scene = new Scene(root); calculateMatrixFrame.setScene(scene); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } filterFrame = new Stage(); try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/FilterFrame.fxml")); Parent root = loader.load(); filterFrameController = loader.getController(); filterFrameController.setStage(filterFrame); filterFrameController.setFilters("Angle"); filterFrame.setScene(new Scene(root)); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/export/ObjExporterDialog.fxml")); Parent root = loader.load(); objExporterController = loader.getController(); Stage s = new Stage(); objExporterController.setStage(s); s.setScene(new Scene(root)); } catch (IOException ex) { logger.error("Cannot load fxml file", ex); } textFieldResolution.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { voxelSpacePanelVoxelizationController.setResolution(Float.valueOf(newValue)); } }); textFieldResolution.textProperty().addListener(voxelSpacePanelVoxelizationController.getChangeListener()); checkboxUseDTMFilter.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (checkboxUseDTMFilter.isSelected()) { buttonOpenDTMFile.setDisable(false); textfieldDTMPath.setDisable(false); textfieldDTMValue.setDisable(false); checkboxApplyVOPMatrix.setDisable(false); labelDTMValue.setDisable(false); labelDTMPath.setDisable(false); } else { buttonOpenDTMFile.setDisable(true); textfieldDTMPath.setDisable(true); textfieldDTMValue.setDisable(true); checkboxApplyVOPMatrix.setDisable(true); labelDTMValue.setDisable(true); labelDTMPath.setDisable(true); } } }); checkboxUseVopMatrix.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { buttonSetVOPMatrix.setDisable(!newValue); } }); checkboxUsePopMatrix.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { checkBoxUseDefaultPopMatrix.setDisable(false); buttonOpenPopMatrixFile.setDisable(false); } else { checkBoxUseDefaultPopMatrix.setDisable(true); buttonOpenPopMatrixFile.setDisable(true); } } }); checkboxUseSopMatrix.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { checkBoxUseDefaultSopMatrix.setDisable(false); buttonOpenSopMatrixFile.setDisable(false); } else { checkBoxUseDefaultSopMatrix.setDisable(true); buttonOpenSopMatrixFile.setDisable(true); } } }); checkboxCalculateGroundEnergy.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { anchorPaneGroundEnergyParameters.setDisable(false); } else { anchorPaneGroundEnergyParameters.setDisable(true); } } }); listviewRxpScans.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<LidarScan>() { @Override public void changed(ObservableValue<? extends LidarScan> observable, LidarScan oldValue, LidarScan newValue) { if (newValue != null) { sopMatrix = newValue.matrix; updateResultMatrix(); } } }); comboboxModeTLS.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { switch (newValue.intValue()) { case 1: case 2: case 3: listviewRxpScans.setDisable(false); checkboxMergeAfter.setDisable(false); textFieldMergedFileName.setDisable(false); disableSopMatrixChoice(false); labelTLSOutputPath.setText("Output path"); break; default: listviewRxpScans.setDisable(true); checkboxMergeAfter.setDisable(true); textFieldMergedFileName.setDisable(true); //disableSopMatrixChoice(true); labelTLSOutputPath.setText("Output file"); } if (newValue.intValue() == 0 || newValue.intValue() == 1) { checkboxEmptyShotsFilter.setDisable(false); } else { checkboxEmptyShotsFilter.setDisable(true); } } }); tabPaneVoxelisation.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { switch (newValue.intValue()) { case 1: disableSopMatrixChoice(false); disablePopMatrixChoice(false); checkboxEmptyShotsFilter.setDisable(false); break; default: disableSopMatrixChoice(true); disablePopMatrixChoice(true); checkboxEmptyShotsFilter.setDisable(true); } switch (newValue.intValue()) { case 0: checkboxCalculateGroundEnergy.setDisable(false); if (checkboxCalculateGroundEnergy.isSelected()) { anchorPaneGroundEnergyParameters.setDisable(true); checkboxCalculateGroundEnergy.setDisable(false); } anchorPaneEchoFiltering.getChildren().set(0, anchorPaneEchoFilteringClassifications); //anchorPaneEchoFilteringClassifications.setVisible(true); anchorpaneBoundingBoxParameters.setDisable(checkboxMultiFiles.isSelected()); hboxAutomaticBBox.setDisable(false); break; default: anchorPaneGroundEnergyParameters.setDisable(true); checkboxCalculateGroundEnergy.setDisable(true); anchorPaneEchoFiltering.getChildren().set(0, anchorPaneEchoFilteringRxp); //anchorPaneEchoFilteringClassifications.setVisible(false); anchorpaneBoundingBoxParameters.setDisable(false); hboxAutomaticBBox.setDisable(true); } } }); int availableCores = Runtime.getRuntime().availableProcessors(); sliderRSPCoresToUse.setMin(1); sliderRSPCoresToUse.setMax(availableCores); sliderRSPCoresToUse.setValue(availableCores); textFieldInputFileALS.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldTrajectoryFileALS.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldOutputFileALS.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldInputFileTLS.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldOutputFileMerging.setOnDragOver(DragAndDropHelper.dragOverEvent); textfieldDTMPath.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldOutputFileGroundEnergy.setOnDragOver(DragAndDropHelper.dragOverEvent); listViewTaskList.setOnDragOver(DragAndDropHelper.dragOverEvent); listViewProductsFiles.setOnDragOver(DragAndDropHelper.dragOverEvent); textfieldVoxelFilePathTransmittance.setOnDragOver(DragAndDropHelper.dragOverEvent); textfieldOutputTextFilePath.setOnDragOver(DragAndDropHelper.dragOverEvent); textfieldOutputBitmapFilePath.setOnDragOver(DragAndDropHelper.dragOverEvent); textFieldInputFileALS.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles() && db.getFiles().size() == 1) { success = true; for (File file : db.getFiles()) { if (file != null) { textFieldInputFileALS.setText(file.getAbsolutePath()); selectALSInputMode(file); } } } event.setDropCompleted(success); event.consume(); } }); textFieldTrajectoryFileALS.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles() && db.getFiles().size() == 1) { success = true; for (File file : db.getFiles()) { if (file != null) { onTrajectoryFileChoosed(file); } } } event.setDropCompleted(success); event.consume(); } }); textFieldInputFileTLS.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles() && db.getFiles().size() == 1) { success = true; for (File file : db.getFiles()) { if (file != null) { onInputFileTLSChoosed(file); } } } event.setDropCompleted(success); event.consume(); } }); setDragDroppedSingleFileEvent(textFieldOutputFileALS); setDragDroppedSingleFileEvent(textFieldOutputFileMerging); setDragDroppedSingleFileEvent(textfieldDTMPath); setDragDroppedSingleFileEvent(textFieldOutputFileGroundEnergy); setDragDroppedSingleFileEvent(textfieldVoxelFilePathTransmittance); setDragDroppedSingleFileEvent(textfieldOutputTextFilePath); setDragDroppedSingleFileEvent(textfieldOutputBitmapFilePath); listViewTaskList.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles()) { success = true; for (File file : db.getFiles()) { addFileToTaskList(file); } } event.setDropCompleted(success); event.consume(); } }); listViewProductsFiles.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles()) { success = true; for (File file : db.getFiles()) { addFileToProductsList(file); } } event.setDropCompleted(success); event.consume(); } }); listViewProductsFiles.setOnDragDetected(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { Dragboard db = listViewProductsFiles.startDragAndDrop(TransferMode.COPY); ClipboardContent content = new ClipboardContent(); content.putFiles(listViewProductsFiles.getSelectionModel().getSelectedItems()); db.setContent(content); event.consume(); } }); addPointcloudFilterComponent(); checkboxUsePointcloudFilter.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { hBoxPointCloudFiltering.setDisable(!newValue); ObservableList<Node> list = vBoxPointCloudFiltering.getChildren(); for (Node n : list) { if (n instanceof PointCloudFilterPaneComponent) { PointCloudFilterPaneComponent panel = (PointCloudFilterPaneComponent) n; panel.disableContent(!newValue); } } buttonAddPointcloudFilter.setDisable(!newValue); } }); //displayGThetaAllDistributions(); }
From source file:snpviewer.SnpViewer.java
public void loadProject() { if (projectRunning) { /*setProgressMode(true); DialogResponse response = Dialogs.showConfirmDialog(null, "Do you want to save your current project before starting a new one?", "Save Current Project?", "SNP View"); if (DialogResponse.YES.equals(response)){ boolean saved = saveProject();//from w ww .ja v a2 s .c o m if (! saved){ setProgressMode(false); return; }else{ Dialogs.showInformationDialog(null, projectFile.getName() + " saved sucessfully", "Save Successful", "SNP View"); } }else if (DialogResponse.CANCEL.equals(response)){ setProgressMode(false); return; }*/ } loadProjectButton.setDisable(true); newProjectButton.setDisable(true); FileChooser fileChooser = new FileChooser(); fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("SNP Viewer Projects", "*.svproj")); fileChooser.setTitle("Open SNP Viewer Project (.svproj) file"); //setProgressMode(false); File loadFile = fileChooser.showOpenDialog(mainWindow); loadProjectButton.setDisable(false); newProjectButton.setDisable(false); if (loadFile != null) { try { ObjectInputStream is = new ObjectInputStream( new BufferedInputStream(new FileInputStream(loadFile))); try { projectFile = null; projectLabel.setText("Project: none"); chromSplitPane.getItems().clear(); labelSplitPane.getItems().clear(); clearDragSelectRectangle(); savedRegions.clear(); savedRegionsDisplay.clear(); savedRegionsReference.clear(); selectionOverlayPane.getChildren().clear(); selectionOverlayPane.getChildren().add(dragSelectRectangle); resetObservables(); genomeVersion = ""; qualityFilter = null; noFilteringRadio.setSelected(true); chromosomeSelector.getItems().clear(); projectFile = (File) is.readObject();//get rid of this? projectFile = loadFile;//allow relative referencing ArrayList<Color> loadedColors = new ArrayList<>(); ArrayList<SnpFile> tempAff = new ArrayList<>(); ArrayList<SnpFile> tempUn = new ArrayList<>(); tempAff.addAll((ArrayList<SnpFile>) is.readObject()); tempUn.addAll((ArrayList<SnpFile>) is.readObject()); ArrayList<SnpFile> tempBoth = new ArrayList<>(); tempBoth.addAll(tempAff); tempBoth.addAll(tempUn); genomeVersion = (String) is.readObject(); qualityFilter = (Double) is.readObject(); buildLabel.setText(genomeVersion); snpViewSaveDirectory = (File) is.readObject(); savedRegions = (ArrayList<RegionSummary>) is.readObject(); String projectName = projectFile.getName().replaceAll(".svproj", ""); if (!snpViewSaveDirectory.exists()) { snpViewSaveDirectory = new File( projectFile.getParentFile() + "/" + projectName + " SNP Viewer files"); if (!snpViewSaveDirectory.exists()) { DialogResponse response = Dialogs.showErrorDialog(null, "Can't find project directory (" + snpViewSaveDirectory.getName() + ") - do you " + "want to try to find it?", "Project directory " + "not found", "SnpViewer", Dialogs.DialogOptions.YES_NO); if (DialogResponse.YES.equals(response)) { DirectoryChooser dirChooser = new DirectoryChooser(); dirChooser.setTitle("Locate Project Folder"); snpViewSaveDirectory = dirChooser.showDialog(mainWindow); if (snpViewSaveDirectory == null) { returnToInitialState(); return; } } else { returnToInitialState(); return; } } } boolean check = checkProjectFolder(snpViewSaveDirectory, tempBoth); if (!check) { Dialogs.showErrorDialog(null, "Corrupt project" + " folder - missing files.", "Invalid " + "project folder.", "SnpViewer"); returnToInitialState(); return; } for (Color c : colorComp) { String colorString = (String) is.readObject(); loadedColors.add(Color.valueOf(colorString)); } for (int ci = 0; ci < loadedColors.size(); ci++) { colorComponantSelector.getSelectionModel().clearAndSelect(ci); colorPicker.setValue(loadedColors.get(ci)); colorPicker.fireEvent(new ActionEvent()); } affObserve.addAll(tempAff); unObserve.addAll(tempUn); colorComponantSelector.getSelectionModel().selectFirst(); colorComp.clear(); colorComp.addAll(loadedColors); is.close(); setQualityLabel(); checkQualitySelection(); saveProject(); projectLabel.setText("Project: " + projectFile.getName()); //addToChromosomeSelector(affFiles); //addToChromosomeSelector(unFiles); if (!chromosomeSelector.getItems().isEmpty()) { chromosomeSelector.getSelectionModel().selectFirst(); } if (chromosomeSelector.isDisabled()) { chromosomeSelector.setDisable(false); } //setProgressMode(false); if (affObserve.isEmpty() && unObserve.isEmpty()) { resetView(); } projectRunning = true; } catch (IOException | ClassNotFoundException ex) { resetView(); projectLabel.setText("Project: none"); savedRegions.clear(); savedRegionsDisplay.clear(); savedRegionsReference.clear(); resetObservables(); genomeVersion = ""; qualityFilter = null; noFilteringRadio.setSelected(true); chromosomeSelector.getItems().clear(); ex.printStackTrace(); Dialogs.showErrorDialog(null, "Could not load project file", "Load Failed", "SNP Viewer", ex); } } catch (IOException ex) { resetView(); projectLabel.setText("Project: none"); savedRegions.clear(); savedRegionsDisplay.clear(); savedRegionsReference.clear(); resetObservables(); genomeVersion = ""; qualityFilter = null; noFilteringRadio.setSelected(true); chromosomeSelector.getItems().clear(); ex.printStackTrace(); Dialogs.showErrorDialog(null, "Could not load project file - IO error", "Load Failed", "SNP Viewer", ex); } } }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @throws IOException Exception d'entre sortie *///from ww w . j ava 2 s .c o m private static void genereVisite() throws IOException { if (!bRepertSauveChoisi) { setStrRepertoireProjet(getStrCurrentDir()); } if (!isbDejaSauve()) { projetSauve(); } if (isbDejaSauve()) { String strHTMLRepert = getStrRepertTemp() + "/pagesHTML"; File fileHTMLRepert = new File(strHTMLRepert); if (!fileHTMLRepert.exists()) { fileHTMLRepert.mkdirs(); } deleteDirectory(getStrRepertTemp() + "/panovisu/images"); File fileImagesRepert = new File(getStrRepertTemp() + "/panovisu/images"); if (!fileImagesRepert.exists()) { fileImagesRepert.mkdirs(); } File fileBoutonRepert = new File(getStrRepertTemp() + "/panovisu/images/navigation"); if (!fileBoutonRepert.exists()) { fileBoutonRepert.mkdirs(); } File fileBoussoleRepert = new File(getStrRepertTemp() + "/panovisu/images/boussoles"); if (!fileBoussoleRepert.exists()) { fileBoussoleRepert.mkdirs(); } copieRepertoire(getStrRepertAppli() + File.separator + "panovisu/images/boussoles", fileBoussoleRepert.getAbsolutePath()); File filePlanRepert = new File(getStrRepertTemp() + "/panovisu/images/plan"); if (!filePlanRepert.exists()) { filePlanRepert.mkdirs(); } copieRepertoire(getStrRepertAppli() + File.separator + "panovisu/images/plan", filePlanRepert.getAbsolutePath()); File fileReseauRepert = new File(getStrRepertTemp() + "/panovisu/images/reseaux"); if (!fileReseauRepert.exists()) { fileReseauRepert.mkdirs(); } copieRepertoire(getStrRepertAppli() + File.separator + "panovisu/images/reseaux", fileReseauRepert.getAbsolutePath()); File fileInterfaceRepert = new File(getStrRepertTemp() + "/panovisu/images/interface"); if (!fileInterfaceRepert.exists()) { fileInterfaceRepert.mkdirs(); } copieRepertoire(getStrRepertAppli() + File.separator + "panovisu/images/interface", fileInterfaceRepert.getAbsolutePath()); File fileMARepert = new File(getStrRepertTemp() + "/panovisu/images/MA"); if (!fileMARepert.exists()) { fileMARepert.mkdirs(); } File fileHotspotsRepert = new File(getStrRepertTemp() + "/panovisu/images/hotspots"); if (!fileHotspotsRepert.exists()) { fileHotspotsRepert.mkdirs(); } if (getGestionnaireInterface().getStrVisibiliteBarrePersonnalisee().equals("oui")) { File fileTelecommandeRepert = new File(getStrRepertTemp() + "/panovisu/images/telecommande"); if (!fileTelecommandeRepert.exists()) { fileTelecommandeRepert.mkdirs(); } ReadWriteImage.writePng(getGestionnaireInterface().getWiBarrePersonnaliseeCouleur(), getStrRepertTemp() + "/panovisu/images/telecommande" + File.separator + "telecommande.png", false, 0.f); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "fs.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "fs2.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "souris.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire( getStrRepertAppli() + "/theme/telecommandes" + File.separator + "souris2.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "aide.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "info.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire( getStrRepertAppli() + "/theme/telecommandes" + File.separator + "rotation.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire(getStrRepertAppli() + "/theme/telecommandes" + File.separator + "zoomin.png", getStrRepertTemp() + "/panovisu/images/telecommande"); copieFichierRepertoire( getStrRepertAppli() + "/theme/telecommandes" + File.separator + "zoomout.png", getStrRepertTemp() + "/panovisu/images/telecommande"); } copieFichierRepertoire(getStrRepertAppli() + "/theme" + File.separator + "chargement.gif", getStrRepertTemp() + "/panovisu/images"); copieFichierRepertoire(getStrRepertAppli() + File.separator + "panovisu" + File.separator + "images" + File.separator + "aide_souris.png", getStrRepertTemp() + "/panovisu/images"); copieFichierRepertoire(getStrRepertAppli() + File.separator + "panovisu" + File.separator + "images" + File.separator + "fermer.png", getStrRepertTemp() + "/panovisu/images"); copieFichierRepertoire(getStrRepertAppli() + File.separator + "panovisu" + File.separator + "images" + File.separator + "precedent.png", getStrRepertTemp() + "/panovisu/images"); copieFichierRepertoire(getStrRepertAppli() + File.separator + "panovisu" + File.separator + "images" + File.separator + "suivant.png", getStrRepertTemp() + "/panovisu/images"); for (int i = 0; i < getGestionnaireInterface().getiNombreImagesBouton() - 2; i++) { ReadWriteImage.writePng( getGestionnaireInterface().getWiNouveauxBoutons()[i], fileBoutonRepert.getAbsolutePath() + File.separator + getGestionnaireInterface().getStrNomImagesBoutons()[i], false, 0.f); } if (!strTypeHS.equals("gif")) { ReadWriteImage.writePng( getGestionnaireInterface() .getWiNouveauxBoutons()[getGestionnaireInterface().getiNombreImagesBouton() - 2], fileHotspotsRepert.getAbsolutePath() + File.separator + "hotspot.png", false, 0.f); } else { copieFichierRepertoire(getStrRepertAppli() + "/theme/hotspots" + File.separator + strNomfichierHS, fileHotspotsRepert.getAbsolutePath() + File.separator); } if (!strTypeHSImage.equals("gif")) { ReadWriteImage.writePng( getGestionnaireInterface() .getWiNouveauxBoutons()[getGestionnaireInterface().getiNombreImagesBouton() - 1], fileHotspotsRepert.getAbsolutePath() + File.separator + "hotspotImage.png", false, 0.f); } else { copieFichierRepertoire( getStrRepertAppli() + "/theme/photos" + File.separator + strNomfichierHSImage, fileHotspotsRepert.getAbsolutePath() + File.separator); } if (!strTypeHSHTML.equals("gif")) { ReadWriteImage.writePng( getGestionnaireInterface().getWiNouveauxBoutons()[getGestionnaireInterface() .getiNombreImagesBouton()], fileHotspotsRepert.getAbsolutePath() + File.separator + "hotspotHTML.png", false, 0.f); } else { copieFichierRepertoire(getStrRepertAppli() + "/theme/html" + File.separator + strNomfichierHSHTML, fileHotspotsRepert.getAbsolutePath() + File.separator); } ReadWriteImage.writePng(getGestionnaireInterface().getWiNouveauxMasque(), fileMARepert.getAbsolutePath() + File.separator + "MA.png", false, 0.f); if (getGestionnaireInterface().isbAfficheCarte()) { File filemarqueursOL = new File(getStrRepertTemp() + "/panovisu/images/marqueursOL"); if (!filemarqueursOL.exists()) { filemarqueursOL.mkdirs(); } copieFichierRepertoire( getStrRepertAppli() + File.separator + "theme" + File.separator + "marqueursOL" + File.separator + "marqueur.png", getStrRepertTemp() + File.separator + "panovisu/images/marqueursOL"); copieFichierRepertoire( getStrRepertAppli() + File.separator + "theme" + File.separator + "marqueursOL" + File.separator + "home.png", getStrRepertTemp() + File.separator + "panovisu/images/marqueursOL"); copieFichierRepertoire( getStrRepertAppli() + File.separator + "theme" + File.separator + "marqueursOL" + File.separator + "marqueurActif.png", getStrRepertTemp() + File.separator + "panovisu/images/marqueursOL"); } if (getGestionnaireInterface().isbAfficheBoutonVisiteAuto()) { File filemarqueursAT = new File(getStrRepertTemp() + "/panovisu/images/visiteAutomatique"); if (!filemarqueursAT.exists()) { filemarqueursAT.mkdirs(); } copieFichierRepertoire( getStrRepertAppli() + File.separator + "theme" + File.separator + "visiteAutomatique" + File.separator + "playAutoTour.png", getStrRepertTemp() + File.separator + "panovisu/images/visiteAutomatique"); copieFichierRepertoire( getStrRepertAppli() + File.separator + "theme" + File.separator + "visiteAutomatique" + File.separator + "pauseAutoTour.png", getStrRepertTemp() + File.separator + "panovisu/images/visiteAutomatique"); } File fileXMLRepert = new File(getStrRepertTemp() + File.separator + "xml"); if (!fileXMLRepert.exists()) { fileXMLRepert.mkdirs(); } File fileCSSRepert = new File(getStrRepertTemp() + File.separator + "css"); if (!fileCSSRepert.exists()) { fileCSSRepert.mkdirs(); } File fileJsRepert = new File(getStrRepertTemp() + File.separator + "js"); if (!fileJsRepert.exists()) { fileJsRepert.mkdirs(); } String strContenuFichier; File fileXML; String strChargeImages = ""; int iPanoEntree = Integer.parseInt(ordPano.getStrPanos().get(0)); strPanoEntree = getPanoramiquesProjet()[iPanoEntree].getStrNomFichier() .substring( getPanoramiquesProjet()[iPanoEntree].getStrNomFichier().lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[iPanoEntree].getStrNomFichier().length()) .split("\\.")[0]; for (int ii = 0; ii < ordPano.getStrPanos().size(); ii++) { int i = Integer.parseInt(ordPano.getStrPanos().get(ii)); String strHTMLPanoRepert = strHTMLRepert + "/" + i; File fileHTMLPanoRepert = new File(strHTMLPanoRepert); if (!fileHTMLPanoRepert.exists()) { fileHTMLPanoRepert.mkdirs(); } String strFichierPano = "panos/panovisu" + i; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.CUBE)) { strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_f.jpg\"\n"; strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_b.jpg\"\n"; strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_u.jpg\"\n"; strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_d.jpg\"\n"; strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_r.jpg\"\n"; strChargeImages += " images[" + i + "]=\"" + strFichierPano + "_l.jpg\"\n"; } else { strChargeImages += " images[" + i + "]=\"" + strFichierPano + ".jpg\"\n"; } String strIntroPetitePlanete = (isbIntroPetitePlanete()) ? "oui" : "non"; String strAutorotation = (isbAutoRotationDemarre()) ? "oui" : "non"; String strAutoTour = (isbAutoTourDemarre()) ? "oui" : "non"; String strAutoTourBouton = (getGestionnaireInterface().isbAfficheBoutonVisiteAuto()) ? "oui" : "non"; String strAffInfo = (getPanoramiquesProjet()[i].isAfficheInfo()) ? "oui" : "non"; String strAffTitre = (getGestionnaireInterface().isbAfficheTitre()) ? "oui" : "non"; String strTitreAdpte = (getGestionnaireInterface().isbTitreAdapte()) ? "oui" : "non"; double regX; double zN; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.SPHERE)) { regX = Math.round(((getPanoramiquesProjet()[i].getRegardX() - 180) % 360) * 10) / 10; zN = Math.round(((getPanoramiquesProjet()[i].getZeroNord() - 180) % 360) * 10) / 10; } else { regX = Math.round(((getPanoramiquesProjet()[i].getRegardX() + 90) % 360) * 10) / 10; zN = Math.round(((getPanoramiquesProjet()[i].getZeroNord() + 90) % 360) * 10) / 10; } Color coulTitre = Color.valueOf(getGestionnaireInterface().getStrCouleurFondTitre()); int iRouge = (int) (coulTitre.getRed() * 255.d); int iBleu = (int) (coulTitre.getBlue() * 255.d); int iVert = (int) (coulTitre.getGreen() * 255.d); String strCoulFondTitre = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + getGestionnaireInterface().getTitreOpacite() + ")"; strContenuFichier = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!--\n" + " Visite gnre par l'diteur panoVisu \n" + "\n" + " Cration L.LANG le monde 360 : http://lemondea360.fr\n" + "\n" + " fichier image : " + getPanoramiquesProjet()[i].getStrNomFichier() + "\n" + "\n" + "-->\n" + "\n" + "\n" + "<scene>\n" + " <pano \n" + " image=\"" + strFichierPano + "\"\n"; if (getGestionnaireInterface().isbAfficheTitre() && getGestionnaireInterface().isbTitreVisite() && getGestionnaireInterface().isbTitrePanoramique()) { String strTit = ""; TextField tfVisite = (TextField) getVbChoixPanoramique().lookup("#titreVisite"); if (!tfVisite.getText().equals("")) { strTit = tfVisite.getText(); } strContenuFichier += " afftitre=\"oui\"\n" + " titre=\"" + strTit + "\"\n" + " titre2=\"" + getPanoramiquesProjet()[i].getStrTitrePanoramique() + "\"\n"; } else if (getGestionnaireInterface().isbAfficheTitre() && getGestionnaireInterface().isbTitreVisite()) { String strTit = ""; TextField tfVisite = (TextField) getVbChoixPanoramique().lookup("#titreVisite"); if (!tfVisite.getText().equals("")) { strTit = tfVisite.getText(); } strContenuFichier += " afftitre=\"oui\"\n" + " titre=\"" + strTit + "\"\n"; } else if (getGestionnaireInterface().isbAfficheTitre() && getGestionnaireInterface().isbTitrePanoramique()) { String strTit = ""; TextField tfVisite = (TextField) getVbChoixPanoramique().lookup("#titreVisite"); if (!tfVisite.getText().equals("")) { strTit = tfVisite.getText(); } strContenuFichier += " afftitre=\"oui\"\n" + " titre2=\"" + getPanoramiquesProjet()[i].getStrTitrePanoramique() + "\"\n"; } else { strContenuFichier += " afftitre=\"non\"\n"; } int taillePolice2 = (int) Math.round( Double.parseDouble(getGestionnaireInterface().getStrTitrePoliceTaille()) * 3.d / 4.d); strContenuFichier += " titrePosition=\"" + getGestionnaireInterface().getStrTitrePosition() + "\"\n" + " titreDecalage=\"" + Math.round(getGestionnaireInterface().getTitreDecalage()) + "px\"\n" + " titrePolice=\"" + getGestionnaireInterface().getStrTitrePoliceNom() + "\"\n" + " titreTaillePolice=\"" + Math.round(Double.parseDouble(getGestionnaireInterface().getStrTitrePoliceTaille())) + "px\"\n" + " titreTaillePolice2=\"" + taillePolice2 + "px\"\n" + " titreCalque=\"" + getGestionnaireInterface().getiCalqueTitre() + "\"\n"; if (getGestionnaireInterface().isbTitreAdapte()) { strContenuFichier += " titreTaille=\"adapte\"\n"; } else { strContenuFichier += " titreTaille=\"" + Math.round(getGestionnaireInterface().getTitreTaille()) + "%\"\n"; } strContenuFichier += " titreFond=\"" + strCoulFondTitre + "\"\n" + " titreCouleur=\"" + getGestionnaireInterface().getStrCouleurTitre() + "\"\n" + " type=\"" + getPanoramiquesProjet()[i].getStrTypePanoramique() + "\"\n" + " multiReso=\"oui\"\n" + " nombreNiveaux=\"" + getPanoramiquesProjet()[i].getNombreNiveaux() + "\"\n" + " zeroNord=\"" + zN + "\"\n" + " regardX=\"" + regX + "\"\n" + " regardY=\"" + Math.round((getPanoramiquesProjet()[i].getRegardY() * 1000) + 0.002) / 1000 + "\"\n" + " minFOV=\"" + Math.round((getPanoramiquesProjet()[i].getFovMin() * 200)) / 100 + "\"\n" + " maxFOV=\"" + Math.round((getPanoramiquesProjet()[i].getFovMax() * 200)) / 100 + "\"\n" + " champVisuel=\"" + Math.round((getPanoramiquesProjet()[i].getChampVisuel() + 0.002) * 1000) / 1000 + "\"\n"; if (getPanoramiquesProjet()[i].getMinLat() != -1000 && getPanoramiquesProjet()[i].isbMinLat()) { strContenuFichier += " minLat=\"" + Math.round((getPanoramiquesProjet()[i].getMinLat() + 0.002) * 1000) / 1000 + "\"\n"; } if (getPanoramiquesProjet()[i].getMaxLat() != 1000 && getPanoramiquesProjet()[i].isbMaxLat()) { strContenuFichier += " maxLat=\"" + Math.round((getPanoramiquesProjet()[i].getMaxLat() + 0.002) * 1000) / 1000 + "\"\n"; } strContenuFichier += " autorotation=\"" + strAutorotation + "\"\n" + " vitesseAR=\"" + getiAutoRotationVitesse() + "\"\n" + " autotour=\"" + strAutoTour + "\"\n" + " atBouton=\"" + strAutoTourBouton + "\"\n" + " atBoutonTaille=\"" + getGestionnaireInterface().getTailleBoutonVisiteAuto() + "\"\n" + " atBoutonPositionX=\"" + getGestionnaireInterface().getStrPositionXBoutonVisiteAuto() + "\"\n" + " atBoutonPositionY=\"" + getGestionnaireInterface().getStrPositionYBoutonVisiteAuto() + "\"\n" + " atBoutonOffsetX=\"" + getGestionnaireInterface().getOffsetXBoutonVisiteAuto() + "\"\n" + " atBoutonOffsetY=\"" + getGestionnaireInterface().getOffsetYBoutonVisiteAuto() + "\"\n" + " atCalque=\"" + getGestionnaireInterface().getiCalqueVisiteAuto() + "\"\n" + " typeAT=\"" + getStrAutoTourType() + "\"\n" + " limiteAT=\"" + getiAutoTourLimite() + "\"\n" + " demarrageAT=\"" + getiAutoTourDemarrage() + "\"\n" + " affinfo=\"" + strAffInfo + "\"\n"; if (getPanoramiquesProjet()[i].getStrNomFichier() .substring(getPanoramiquesProjet()[i].getStrNomFichier().lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[i].getStrNomFichier().length()) .split("\\.")[0].equals(strPanoEntree) && isbPetitePlaneteDemarrage()) { strContenuFichier += " petitePlanete=\"" + strIntroPetitePlanete + "\"\n"; } if (getPanoramiquesProjet()[i].getStrNomFichier() .substring(getPanoramiquesProjet()[i].getStrNomFichier().lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[i].getStrNomFichier().length()) .split("\\.")[0].equals(strPanoEntree) && getGestionnaireInterface().isbReplieDemarragePlan()) { strContenuFichier += " repliePlan=\"oui\"\n"; } if (getPanoramiquesProjet()[i].getStrNomFichier() .substring(getPanoramiquesProjet()[i].getStrNomFichier().lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[i].getStrNomFichier().length()) .split("\\.")[0].equals(strPanoEntree) && getGestionnaireInterface().isbReplieDemarrageCarte()) { strContenuFichier += " replieCarte=\"oui\"\n"; } if (getPanoramiquesProjet()[i].getStrNomFichier() .substring(getPanoramiquesProjet()[i].getStrNomFichier().lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[i].getStrNomFichier().length()) .split("\\.")[0].equals(strPanoEntree) && getGestionnaireInterface().isbReplieDemarrageVignettes()) { strContenuFichier += " replieVignettes=\"oui\"\n"; } strContenuFichier += " />\n"; if (getGestionnaireInterface().getStrVisibiliteBarreClassique().equals("oui")) { strContenuFichier += " <!--Dfinition de la Barre de navigation-->\n" + " <boutons \n" + " styleBoutons=\"navigation\"\n" + " couleur=\"rgba(255,255,255,0)\"\n" + " bordure=\"rgba(255,255,255,0)\"\n" + " deplacements=\"" + getGestionnaireInterface().getStrDeplacementsBarreClassique() + "\" \n" + " zoom=\"" + getGestionnaireInterface().getStrZoomBarreClassique() + "\" \n" + " outils=\"" + getGestionnaireInterface().getStrOutilsBarreClassique() + "\"\n" + " fs=\"" + getGestionnaireInterface().getStrPleinEcranBarreClassique() + "\" \n" + " souris=\"" + getGestionnaireInterface().getStrSourisBarreClassique() + "\" \n" + " rotation=\"" + getGestionnaireInterface().getStrRotationBarreClassique() + "\" \n" + " positionX=\"" + getGestionnaireInterface().getStrPositionBarreClassique().split(":")[1] + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionBarreClassique().split(":")[0] + "\" \n" + " barreCCalque=\"" + getGestionnaireInterface().getiCalqueBarreClassique() + "\"\n" + " dX=\"" + getGestionnaireInterface().getOffsetXBarreClassique() + "\" \n" + " dY=\"" + getGestionnaireInterface().getOffsetYBarreClassique() + "\"\n" + " espacement=\"" + Math.round(getGestionnaireInterface().getEspacementBarreClassique()) + "\"\n" + " visible=\"" + getGestionnaireInterface().getStrVisibiliteBarreClassique() + "\"\n" + " />\n"; } if (getGestionnaireInterface().getStrVisibiliteBarrePersonnalisee().equals("oui")) { strContenuFichier += "<!-- Barre de Navigation Personnalise -->\n\n" + " <telecommande\n" + " fs=\"" + getGestionnaireInterface().getStrPleinEcranBarrePersonnalisee() + "\" \n" + " souris=\"" + getGestionnaireInterface().getStrSourisBarrePersonnalisee() + "\" \n" + " rotation=\"" + getGestionnaireInterface().getStrRotationBarrePersonnalisee() + "\" \n" + " info=\"" + getGestionnaireInterface().getStrInfoBarrePersonnalisee() + "\"\n" + " aide=\"" + getGestionnaireInterface().getStrAideBarrePersonnalisee() + "\"\n" + " positionX=\"" + getGestionnaireInterface().getStrPositionBarrePersonnalisee().split(":")[1] + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionBarrePersonnalisee().split(":")[0] + "\" \n" + " taille=\"" + getGestionnaireInterface().getTailleBarrePersonnalisee() + "\"\n" + " tailleBouton=\"" + getGestionnaireInterface().getTailleIconesBarrePersonnalisee() + "\"\n" + " dX=\"" + getGestionnaireInterface().getOffsetXBarrePersonnalisee() + "\" \n" + " dY=\"" + getGestionnaireInterface().getOffsetYBarrePersonnalisee() + "\"\n" + " barrePCalque=\"" + getGestionnaireInterface().getiCalqueBarrePersonnalisee() + "\"\n" + " lien1=\"" + getGestionnaireInterface().getStrLien1BarrePersonnalisee() + "\"\n" + " lien2=\"" + getGestionnaireInterface().getStrLien2BarrePersonnalisee() + "\"\n" + " visible=\"oui\">\n"; for (int ij = 0; ij < getGestionnaireInterface().getiNombreZonesBarrePersonnalisee(); ij++) { strContenuFichier += " <zoneNavPerso " + "id=\"" + getGestionnaireInterface().getZonesBarrePersonnalisee()[ij].getStrIdZone() + "\" " + "alt=\"\" title=\"\" " + "shape=\"" + getGestionnaireInterface().getZonesBarrePersonnalisee()[ij].getStrTypeZone() + "\" " + "coords=\"" + getGestionnaireInterface().getZonesBarrePersonnalisee()[ij] .getStrCoordonneesZone() + "\"" + " />\n"; } strContenuFichier += " </telecommande>\n" + ""; } if (getGestionnaireInterface().isbAfficheBoussole()) { String strAiguille = (getGestionnaireInterface().isbAiguilleMobileBoussole()) ? "oui" : "non"; strContenuFichier += "<!-- Boussole -->\n" + " <boussole \n" + " affiche=\"oui\"\n" + " image=\"" + getGestionnaireInterface().getStrImageBoussole() + "\"\n" + " taille=\"" + getGestionnaireInterface().getTailleBoussole() + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionBoussole().split(":")[0] + "\"\n" + " positionX=\"" + getGestionnaireInterface().getStrPositionBoussole().split(":")[1] + "\"\n" + " opacite=\"" + getGestionnaireInterface().getOpaciteBoussole() + "\"\n" + " dX=\"" + getGestionnaireInterface().getOffsetXBoussole() + "\"\n" + " dY=\"" + getGestionnaireInterface().getOffsetYBoussole() + "\"\n" + " boussoleCalque=\"" + getGestionnaireInterface().getiCalqueBoussole() + "\"\n" + " aiguille=\"" + strAiguille + "\"\n" + " />\n"; } if (getGestionnaireInterface().isbFenetreInfoPersonnalise()) { String strImgInfoURL = "images/" + getGestionnaireInterface().getStrFenetreInfoImage().substring( getGestionnaireInterface().getStrFenetreInfoImage().lastIndexOf(File.separator) + 1, getGestionnaireInterface().getStrFenetreInfoImage().length()); strContenuFichier += "<!-- Fentre info personnalise -->\n" + " <fenetreInfo \n" + " affiche=\"oui\"\n" + " image=\"" + strImgInfoURL + "\"\n" + " taille=\"" + getGestionnaireInterface().getFenetreInfoTaille() + "\"\n" + " opacite=\"" + getGestionnaireInterface().getFenetreInfoOpacite() + "\"\n" + " dX=\"" + Math.round(getGestionnaireInterface().getFenetreInfoPosX() * 10) / 10 + "\"\n" + " dY=\"" + Math.round(getGestionnaireInterface().getFenetreInfoPosY() * 10) / 10 + "\"\n" + " URL=\"" + getGestionnaireInterface().getStrFenetreURL() + "\"\n" + " texteURL=\"" + getGestionnaireInterface().getStrFenetreTexteURL() + "\"\n" + " couleurURL=\"" + getGestionnaireInterface().getStrFenetreURLCouleur() + "\"\n" + " TailleURL=\"" + Math.round(getGestionnaireInterface().getFenetrePoliceTaille() * 10) / 10 + "\"\n" + " URLdX=\"" + Math.round(getGestionnaireInterface().getFenetreURLPosX() * 10) / 10 + "\"\n" + " URLdY=\"" + Math.round(getGestionnaireInterface().getFenetreURLPosY() * 10) / 10 + "\"\n" + " />\n"; } if (getGestionnaireInterface().isbFenetreAidePersonnalise()) { String strImgAideURL = "images/" + getGestionnaireInterface().getStrFenetreAideImage().substring( getGestionnaireInterface().getStrFenetreAideImage().lastIndexOf(File.separator) + 1, getGestionnaireInterface().getStrFenetreAideImage().length()); strContenuFichier += "<!-- Fentre Aide personnalise -->\n" + " <fenetreAide \n" + " affiche=\"oui\"\n" + " image=\"" + strImgAideURL + "\"\n" + " taille=\"" + getGestionnaireInterface().getFenetreAideTaille() + "\"\n" + " opacite=\"" + getGestionnaireInterface().getFenetreAideOpacite() + "\"\n" + " dX=\"" + getGestionnaireInterface().getFenetreAidePosX() + "\"\n" + " dY=\"" + getGestionnaireInterface().getFenetreAidePosY() + "\"\n" + " />\n"; } if (getGestionnaireInterface().isbAfficheMenuContextuel()) { String strPrecSuiv = (getGestionnaireInterface().isbAffichePrecSuivMC()) ? "oui" : "non"; String strPlanet = (getGestionnaireInterface().isbAffichePlanetNormalMC()) ? "oui" : "non"; String strPers1 = (getGestionnaireInterface().isbAffichePersMC1()) ? "oui" : "non"; String strPers2 = (getGestionnaireInterface().isbAffichePersMC2()) ? "oui" : "non"; strContenuFichier += "<!-- MenuContextuel -->\n" + " <menuContextuel \n" + " affiche=\"oui\"\n" + " precSuiv=\"" + strPrecSuiv + "\"\n" + " planete=\"" + strPlanet + "\"\n" + " pers1=\"" + strPers1 + "\"\n" + " lib1=\"" + getGestionnaireInterface().getStrPersLib1() + "\"\n" + " url1=\"" + getGestionnaireInterface().getStrPersURL1() + "\"\n" + " pers2=\"" + strPers2 + "\"\n" + " lib2=\"" + getGestionnaireInterface().getStrPersLib2() + "\"\n" + " url2=\"" + getGestionnaireInterface().getStrPersURL2() + "\"\n" + " />\n"; } int iPanoSuivant = (ii == ordPano.getStrPanos().size() - 1) ? 0 : ii + 1; int iPanoPrecedent = (ii == 0) ? ordPano.getStrPanos().size() - 1 : ii - 1; String strNomPano = "panovisu" + iPanoSuivant; String strPanoSuivant = "xml/" + strNomPano + ".xml"; strNomPano = "panovisu" + iPanoPrecedent; String strPanoPrecedent = "xml/" + strNomPano + ".xml"; strContenuFichier += "<!-- Bouton Suivant Precedent -->\n" + " <suivantPrecedent\n" + " suivPrecCalque=\"" + getGestionnaireInterface().getiCalqueSuivPrec() + "\"\n" + " suivant=\"" + strPanoSuivant + "\" \n" + " precedent=\"" + strPanoPrecedent + "\" \n"; if (getGestionnaireInterface().isbSuivantPrecedent()) { strContenuFichier += " afficheSuivantPrecedent=\"oui\" \n"; } strContenuFichier += " /> \n" + ""; String strbAffichemasque = (getGestionnaireInterface().isbAfficheMasque()) ? "oui" : "non"; String strNavigation = (getGestionnaireInterface().isbMasqueNavigation()) ? "oui" : "non"; String strBoussole = (getGestionnaireInterface().isbMasqueBoussole()) ? "oui" : "non"; String strTitre = (getGestionnaireInterface().isbMasqueTitre()) ? "oui" : "non"; String strPlan = (getGestionnaireInterface().isbMasquePlan()) ? "oui" : "non"; String strReseaux = (getGestionnaireInterface().isbMasqueReseaux()) ? "oui" : "non"; String strVignettes = (getGestionnaireInterface().isbMasqueVignettes()) ? "oui" : "non"; String strCombo = (getGestionnaireInterface().isbMasqueCombo()) ? "oui" : "non"; String strSuivPrec = (getGestionnaireInterface().isbMasqueSuivPrec()) ? "oui" : "non"; String strHotspots = (getGestionnaireInterface().isbMasqueHotspots()) ? "oui" : "non"; strContenuFichier += "<!-- Bouton de Masquage -->\n" + " <marcheArret \n" + " affiche=\"" + strbAffichemasque + "\"\n" + " image=\"MA.png\"\n" + " taille=\"" + getGestionnaireInterface().getTailleMasque() + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionMasque().split(":")[0] + "\"\n" + " positionX=\"" + getGestionnaireInterface().getStrPositionMasque().split(":")[1] + "\"\n" + " opacite=\"" + getGestionnaireInterface().getOpaciteMasque() + "\"\n" + " dX=\"" + getGestionnaireInterface().getdXMasque() + "\"\n" + " dY=\"" + getGestionnaireInterface().getdYMasque() + "\"\n" + " navigation=\"" + strNavigation + "\"\n" + " boussole=\"" + strBoussole + "\"\n" + " titre=\"" + strTitre + "\"\n" + " plan=\"" + strPlan + "\"\n" + " reseaux=\"" + strReseaux + "\"\n" + " masquageCalque=\"" + getGestionnaireInterface().getiCalqueMasquage() + "\"\n" + " vignettes=\"" + strVignettes + "\"\n" + " combo=\"" + strCombo + "\"\n" + " suivPrec=\"" + strSuivPrec + "\"\n" + " hotspots=\"" + strHotspots + "\"\n" + " />\n"; if (getGestionnaireInterface().isbAfficheReseauxSociaux()) { String strTwitter = (getGestionnaireInterface().isbReseauxSociauxTwitter()) ? "oui" : "non"; String strGoogle = (getGestionnaireInterface().isbReseauxSociauxGoogle()) ? "oui" : "non"; String strFacebook = (getGestionnaireInterface().isbReseauxSociauxFacebook()) ? "oui" : "non"; String strEmail = (getGestionnaireInterface().isbReseauxSociauxEmail()) ? "oui" : "non"; strContenuFichier += "<!-- Rseaux Sociaux -->\n" + " <reseauxSociaux \n" + " affiche=\"oui\"\n" + " taille=\"" + getGestionnaireInterface().getTailleReseauxSociaux() + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionReseauxSociaux().split(":")[0] + "\"\n" + " positionX=\"" + getGestionnaireInterface().getStrPositionReseauxSociaux().split(":")[1] + "\"\n" + " opacite=\"" + getGestionnaireInterface().getOpaciteReseauxSociaux() + "\"\n" + " dX=\"" + getGestionnaireInterface().getdXReseauxSociaux() + "\"\n" + " dY=\"" + getGestionnaireInterface().getdYReseauxSociaux() + "\"\n" + " partageCalque=\"" + getGestionnaireInterface().getiCalquePartage() + "\"\n" + " twitter=\"" + strTwitter + "\"\n" + " google=\"" + strGoogle + "\"\n" + " facebook=\"" + strFacebook + "\"\n" + " email=\"" + strEmail + "\"\n" + " />\n"; } if (getGestionnaireInterface().isbAfficheVignettes()) { int iRougeVig = (int) (Color.valueOf(getGestionnaireInterface().getStrCouleurFondVignettes()) .getRed() * 255.d); int iBleuVig = (int) (Color.valueOf(getGestionnaireInterface().getStrCouleurFondVignettes()) .getBlue() * 255.d); int iVertVig = (int) (Color.valueOf(getGestionnaireInterface().getStrCouleurFondVignettes()) .getGreen() * 255.d); String strCoulVig = "rgba(" + iRougeVig + "," + iVertVig + "," + iBleuVig + "," + getGestionnaireInterface().getOpaciteVignettes() + ")"; String strAfficheVignettes = (getGestionnaireInterface().isbAfficheVignettes()) ? "oui" : "non"; strContenuFichier += "<!-- Barre des vignettes -->" + " <vignettes \n" + " affiche=\"" + strAfficheVignettes + "\"\n" + " tailleImage=\"" + getGestionnaireInterface().getTailleImageVignettes() + "\"\n" + " fondCouleur=\"" + strCoulVig + "\"\n" + " texteCouleur=\"" + getGestionnaireInterface().getStrCouleurTexteVignettes() + "\"\n" + " opacite=\"1.0\"\n" + " vignettesCalque=\"" + getGestionnaireInterface().getiCalqueVignettes() + "\"\n" + " position=\"" + getGestionnaireInterface().getStrPositionVignettes() + "\"\n" + " >\n"; for (int jj = 0; jj < ordPano.getStrPanos().size(); jj++) { int j = Integer.parseInt(ordPano.getStrPanos().get(jj)); String strNomPan1 = getPanoramiquesProjet()[j].getStrNomFichier(); String strFichier = "panovisu" + j + "Vignette.jpg"; String strXML = "panovisu" + j + ".xml"; ReadWriteImage.writeJpeg(getPanoramiquesProjet()[j].getImgVignettePanoramique(), getStrRepertTemp() + "/panos/" + strFichier, 1.0f, false, 0.0f); strContenuFichier += " <imageVignette \n" + " image=\"panos/" + strFichier + "\"\n" + " xml=\"xml/" + strXML + "\"\n" + " infoBulle=\"" + getPanoramiquesProjet()[j].getStrTitrePanoramique() + "\"\n" + " />\n"; } strContenuFichier += " </vignettes> \n" + ""; } if (getGestionnaireInterface().isbAfficheComboMenu()) { String strAfficheComboMenu = (getGestionnaireInterface().isbAfficheComboMenu()) ? "oui" : "non"; TextField tfTitreVisite = (TextField) getVbChoixPanoramique().lookup("#titreVisite"); String strTitreVisite1 = tfTitreVisite.getText(); strContenuFichier += "<!-- Barre des comboMenu -->" + " <comboMenu \n" + " affiche=\"" + strAfficheComboMenu + "\"\n" + " positionX=\"" + getGestionnaireInterface().getStrPositionXComboMenu() + "\"\n" + " positionY=\"" + getGestionnaireInterface().getStrPositionYComboMenu() + "\"\n" + " dX=\"" + getGestionnaireInterface().getOffsetXComboMenu() + "\"\n" + " comboCalque=\"" + getGestionnaireInterface().getiCalqueMenuPanoramiques() + "\"\n" + " dY=\"" + getGestionnaireInterface().getOffsetYComboMenu() + "\"\n" + " >\n"; for (int jj = 0; jj < ordPano.getStrPanos().size(); jj++) { int j = Integer.parseInt(ordPano.getStrPanos().get(jj)); String strNomPan2 = getPanoramiquesProjet()[j].getStrNomFichier(); String strFichier = "panovisu" + j + "Vignette.jpg"; String strXML = "panovisu" + j + ".xml"; ReadWriteImage.writeJpeg(getPanoramiquesProjet()[j].getImgVignettePanoramique(), getStrRepertTemp() + "/panos/" + strFichier, 1.0f, false, 0.0f); strContenuFichier += " <imageComboMenu \n"; if (getGestionnaireInterface().isbAfficheComboMenuImages()) { strContenuFichier += " image=\"panos/" + strFichier + "\"\n"; } if (i == j) { strContenuFichier += " selectionne=\"selected\"\n"; } strContenuFichier += " xml=\"xml/" + strXML + "\"\n" + " titre=\"" + getPanoramiquesProjet()[j].getStrTitrePanoramique() + "\"\n" + " sousTitre=\"" + strTitreVisite1 + "\"\n" + " />\n"; } strContenuFichier += " </comboMenu> \n" + ""; } strContenuFichier += " <!--Dfinition des hotspots--> \n" + " <hotspots>\n"; for (int j = 0; j < getPanoramiquesProjet()[i].getNombreHotspots(); j++) { HotSpot HS = getPanoramiquesProjet()[i].getHotspot(j); double longit; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String strAnime = (HS.isAnime()) ? "true" : "false"; strContenuFichier += " <point \n" + " type=\"panoramique\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " tailleHS=\"" + getGestionnaireInterface().getiTailleHotspotsPanoramique() + "px\"\n"; if (!strTypeHS.equals("gif")) { strContenuFichier += " image=\"panovisu/images/hotspots/hotspot.png\"\n"; } else { String strNomHSGif = strNomfichierHS .substring(strNomfichierHS.lastIndexOf(File.separator) + 1); strContenuFichier += " image=\"panovisu/images/hotspots/" + strNomHSGif + "\"\n"; } strContenuFichier += " xml=\"xml/panovisu" + HS.getNumeroPano() + ".xml\"\n"; if (HS.getRegardX() != 1000) { strContenuFichier += " regardX=\"" + HS.getRegardX() + "\"\n"; } if (HS.getRegardY() != 1000) { strContenuFichier += " regardY=\"" + HS.getRegardY() + "\"\n"; } if (HS.getChampVisuel() != 0) { strContenuFichier += " champVisuel=\"" + HS.getChampVisuel() + "\"\n"; } strContenuFichier += " info=\"" + HS.getStrInfo().replace("<", "<").replace(">", ">").replace("\"", """) + "\"\n" + " anime=\"" + strAnime + "\"\n" + " />\n"; } for (int j = 0; j < getPanoramiquesProjet()[i].getNombreHotspotHTML(); j++) { HotspotHTML HS = getPanoramiquesProjet()[i].getHotspotHTML(j); String strUrlHTML; if (!HS.isbLienExterieur()) { HS.creeHTML(strHTMLPanoRepert + "/page" + j); strUrlHTML = "pagesHTML/" + i + "/page" + j + "/index.html"; } else { strUrlHTML = HS.getStrURLExterieure(); } Color coulTitreHTML = Color.valueOf(HS.getStrCouleurHTML()); iRouge = (int) (coulTitreHTML.getRed() * 255.d); iBleu = (int) (coulTitreHTML.getBlue() * 255.d); iVert = (int) (coulTitreHTML.getGreen() * 255.d); String strCoulHTML = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + Math.round(HS.getOpaciteHTML() * 100.d) / 100.d + ")"; double longit; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String strAnime = (HS.isAnime()) ? "true" : "false"; strContenuFichier += " <point \n" + " type=\"html\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " tailleHS=\"" + getGestionnaireInterface().getiTailleHotspotsHTML() + "px\"\n"; if (!strTypeHSHTML.equals("gif")) { strContenuFichier += " image=\"panovisu/images/hotspots/hotspotHTML.png\"\n"; } else { String strNomHSGif = strNomfichierHSHTML .substring(strNomfichierHSHTML.lastIndexOf(File.separator) + 1); strContenuFichier += " image=\"panovisu/images/hotspots/" + strNomHSGif + "\"\n"; } strContenuFichier += " url=\"" + strUrlHTML + "\"\n" + " info=\"" + HS.getStrInfo().replace("<", "<").replace(">", ">").replace("\"", """) + "\"\n" + " taille=\"" + Math.round(HS.getLargeurHTML()) + "px\"\n" + " position=\"" + HS.getStrPositionHTML() + "\"\n" + " couleur=\"" + strCoulHTML + "\"\n" + " anime=\"" + strAnime + "\"\n" + " />\n"; } for (int j = 0; j < getPanoramiquesProjet()[i].getiNombreHotspotDiapo(); j++) { HotspotDiaporama HS = getPanoramiquesProjet()[i].getHotspotDiapo(j); String strUrlHTML; strUrlHTML = "diaporama/diapo" + HS.getiNumDiapo() + ".html"; Color coulTitreHTML = Color.valueOf(diaporamas[HS.getiNumDiapo()].getStrCouleurFondDiaporama()); iRouge = (int) (coulTitreHTML.getRed() * 255.d); iBleu = (int) (coulTitreHTML.getBlue() * 255.d); iVert = (int) (coulTitreHTML.getGreen() * 255.d); String strCoulHTML = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + Math.round(diaporamas[HS.getiNumDiapo()].getOpaciteDiaporama() * 100.d) / 100.d + ")"; double longit; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String strAnime = (HS.isbAnime()) ? "true" : "false"; strContenuFichier += " <point \n" + " type=\"html\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " tailleHS=\"" + getGestionnaireInterface().getiTailleHotspotsImage() + "px\"\n"; if (!strTypeHSImage.equals("gif")) { strContenuFichier += " image=\"panovisu/images/hotspots/hotspotImage.png\"\n"; } else { String strNomHSGif = strNomfichierHSImage .substring(strNomfichierHSImage.lastIndexOf(File.separator) + 1); strContenuFichier += " image=\"panovisu/images/hotspots/" + strNomHSGif + "\"\n"; } strContenuFichier += " url=\"" + strUrlHTML + "\"\n" + " taille=\"90%\"\n" + " info=\"" + HS.getStrInfo().replace("<", "<").replace(">", ">").replace("\"", """) + "\"\n" + " couleur=\"" + strCoulHTML + "\"\n" + " anime=\"" + strAnime + "\"\n" + " />\n"; } for (int j = 0; j < getPanoramiquesProjet()[i].getNombreHotspotImage(); j++) { HotspotImage HS = getPanoramiquesProjet()[i].getHotspotImage(j); String strCouleurFondImage = HS.getStrCouleurFond(); if (strCouleurFondImage.equals("")) { strCouleurFondImage = "#" + getGestionnaireInterface().getCouleurFondTheme().toString().substring(2, 8); } double opaciteImage = HS.getOpacite(); if (opaciteImage == -1) { opaciteImage = getGestionnaireInterface().getOpaciteTheme(); } Color coulImage = Color.valueOf(strCouleurFondImage); iRouge = (int) (coulImage.getRed() * 255.d); iBleu = (int) (coulImage.getBlue() * 255.d); iVert = (int) (coulImage.getGreen() * 255.d); String strCoulImage = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + Math.round(opaciteImage * 100.d) / 100.d + ")"; double longit; if (getPanoramiquesProjet()[i].getStrTypePanoramique().equals(Panoramique.SPHERE)) { longit = HS.getLongitude() - 180; } else { longit = HS.getLongitude() + 90; } String strAnime = (HS.isAnime()) ? "true" : "false"; strContenuFichier += " <point \n" + " type=\"image\"\n" + " long=\"" + longit + "\"\n" + " lat=\"" + HS.getLatitude() + "\"\n" + " tailleHS=\"" + getGestionnaireInterface().getiTailleHotspotsImage() + "px\"\n"; if (!strTypeHSImage.equals("gif")) { strContenuFichier += " image=\"panovisu/images/hotspots/hotspotImage.png\"\n"; } else { String strNomHSGif = strNomfichierHSImage .substring(strNomfichierHSImage.lastIndexOf(File.separator) + 1); strContenuFichier += " image=\"panovisu/images/hotspots/" + strNomHSGif + "\"\n"; } strContenuFichier += " img=\"images/" + HS.getStrLienImg() + "\"\n" + " info=\"" + HS.getStrInfo().replace("<", "<").replace(">", ">").replace("\"", """) + "\"\n" + " couleur=\"" + strCoulImage + "\"\n" + " anime=\"" + strAnime + "\"\n" + " />\n"; } strContenuFichier += " </hotspots>\n"; strContenuFichier += "\n" + "<!-- Dfinition des images de fond -->\n" + "\n"; if (getGestionnaireInterface().getiNombreImagesFond() > 0) { for (int k = 0; k < getGestionnaireInterface().getiNombreImagesFond(); k++) { ImageFond imgFond = getGestionnaireInterface().getImagesFond()[k]; String strImgFond = "images/" + imgFond.getStrFichierImage().substring( imgFond.getStrFichierImage().lastIndexOf(File.separator) + 1, imgFond.getStrFichierImage().length()); String strMasquable = (imgFond.isMasquable()) ? "oui" : "non"; strContenuFichier += " <imageFond\n" + " fichier=\"" + strImgFond + "\"\n" + " posX=\"" + imgFond .getStrPosX() + "\" \n" + " posY=\"" + imgFond.getStrPosY() + "\" \n" + " offsetX=\"" + imgFond.getOffsetX() + "\" \n" + " offsetY=\"" + imgFond.getOffsetY() + "\" \n" + " tailleX=\"" + imgFond.getTailleX() + "\" \n" + " tailleY=\"" + imgFond.getTailleY() + "\" \n" + " opacite=\"" + imgFond.getOpacite() + "\" \n" + " cible=\"" + imgFond.getStrCible() + "\" \n" + " calque=\"" + imgFond.getiCalqueImage() + "\"\n" + " masquable=\"" + strMasquable + "\" \n" + " url=\"" + imgFond.getStrUrl() + "\" \n" + " infobulle=\"" + imgFond.getStrInfobulle() .replace("<", "<").replace(">", ">").replace("\"", """) + "\" \n" + " />\n" + ""; } } if (getGestionnaireInterface().isbAffichePlan() && getPanoramiquesProjet()[i].isAffichePlan()) { int iNumPlan = getPanoramiquesProjet()[i].getNumeroPlan(); Plan planPano = getPlans()[iNumPlan]; iRouge = (int) (getGestionnaireInterface().getCouleurFondPlan().getRed() * 255.d); iBleu = (int) (getGestionnaireInterface().getCouleurFondPlan().getBlue() * 255.d); iVert = (int) (getGestionnaireInterface().getCouleurFondPlan().getGreen() * 255.d); String strAfficheRadar = (getGestionnaireInterface().isbAfficheRadar()) ? "oui" : "non"; String strCoulFond = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + getGestionnaireInterface().getOpacitePlan() + ")"; strContenuFichier += " <plan\n" + " affiche=\"oui\" \n" + " image=\"images/" + planPano.getStrImagePlan() + "\"\n" + " largeur=\"" + getGestionnaireInterface().getLargeurPlan() + "\"\n" + " position=\"" + getGestionnaireInterface().getStrPositionPlan() + "\"\n" + " couleurFond=\"" + strCoulFond + "\"\n" + " couleurTexte=\"#" + getGestionnaireInterface().getStrCouleurTextePlan() + "\"\n" + " nord=\"" + planPano.getDirectionNord() + "\"\n" + " planCalque=\"" + getGestionnaireInterface().getiCalquePlan() + "\"\n" + " boussolePosition=\"" + planPano.getStrPosition() + "\"\n" + " boussoleX=\"" + planPano.getPositionX() + "\"\n" + " boussoleY=\"" + planPano.getPositionX() + "\"\n" + " radarAffiche=\"" + strAfficheRadar + "\"\n" + " radarTaille=\"" + Math.round(getGestionnaireInterface().getTailleRadar()) + "\"\n" + " radarCouleurFond=\"#" + getGestionnaireInterface().getStrCouleurFondRadar() + "\"\n" + " radarCouleurLigne=\"#" + getGestionnaireInterface().getStrCouleurLigneRadar() + "\"\n" + " radarOpacite=\"" + Math.round(getGestionnaireInterface().getOpaciteRadar() * 100.d) / 100.d + "\"\n" + " >\n"; for (int iPoint = 0; iPoint < planPano.getNombreHotspots(); iPoint++) { double posX = planPano.getHotspot(iPoint).getLongitude() * getGestionnaireInterface().getLargeurPlan(); double posY = planPano.getHotspot(iPoint).getLatitude() * planPano.getHauteurPlan() * getGestionnaireInterface().getLargeurPlan() / planPano.getLargeurPlan(); if (planPano.getHotspot(iPoint).getNumeroPano() == i) { strContenuFichier += " <pointPlan\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"actif\"\n" + " /> \n"; } else { strContenuFichier += " <pointPlan\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"xml/panovisu" + planPano.getHotspot(iPoint).getNumeroPano() + ".xml\"\n" + " texte=\"" + planPano.getHotspot(iPoint).getStrInfo() + "\"\n" + " /> \n"; } } strContenuFichier += " </plan>\n"; } if (getGestionnaireInterface().isbAfficheCarte()) { iRouge = (int) (getGestionnaireInterface().getCouleurFondCarte().getRed() * 255.d); iBleu = (int) (getGestionnaireInterface().getCouleurFondCarte().getBlue() * 255.d); iVert = (int) (getGestionnaireInterface().getCouleurFondCarte().getGreen() * 255.d); String strAfficheRadarCarte = (getGestionnaireInterface().isbAfficheRadarCarte()) ? "oui" : "non"; String strCoulFond = "rgba(" + iRouge + "," + iVert + "," + iBleu + "," + getGestionnaireInterface().getOpaciteCarte() + ")"; CoordonneesGeographiques coords; if (getGestionnaireInterface().getCoordCentreCarte() != null) { coords = getGestionnaireInterface().getCoordCentreCarte(); } else { coords = getGestionnaireInterface().navigateurCarteOL.recupereCoordonnees(); } strContenuFichier += " <carte\n" + " affiche=\"oui\" \n" + " largeur=\"" + getGestionnaireInterface().getLargeurCarte() + "\"\n" + " hauteur=\"" + getGestionnaireInterface().getHauteurCarte() + "\"\n" + " zoom=\"" + (getGestionnaireInterface().getiFacteurZoomCarte() + 1) + "\"\n" + " coordCentreLong=\"" + coords.getLongitude() + "\"\n" + " coordCentreLat=\"" + coords.getLatitude() + "\"\n" + " nomLayer=\"" + getGestionnaireInterface().getStrNomLayers() + "\"\n" + " position=\"" + getGestionnaireInterface().getStrPositionCarte() + "\"\n" + " carteCalque=\"" + getGestionnaireInterface().getiCalqueCarte() + "\"\n" + " bingAPIKey=\"" + getStrBingAPIKey() + "\"\n" + " couleurFond=\"" + strCoulFond + "\"\n" + " couleurTexte=\"#" + getGestionnaireInterface().getStrCouleurTexteCarte() + "\"\n" + " radarCarteAffiche=\"" + strAfficheRadarCarte + "\"\n" + " radarCarteTaille=\"" + Math.round(getGestionnaireInterface().getTailleRadarCarte()) + "\"\n" + " radarCarteCouleurFond=\"#" + getGestionnaireInterface().getStrCouleurFondRadarCarte() + "\"\n" + " radarCarteCouleurLigne=\"#" + getGestionnaireInterface().getStrCouleurLigneRadarCarte() + "\"\n" + " radarCarteOpacite=\"" + Math.round(getGestionnaireInterface().getOpaciteRadarCarte() * 100.d) / 100.d + "\"\n" + " >\n"; for (int iPoint2 = 0; iPoint2 < getiNombrePanoramiques(); iPoint2++) { if (getPanoramiquesProjet()[iPoint2].getMarqueurGeolocatisation() != null) { double posX = getPanoramiquesProjet()[iPoint2].getMarqueurGeolocatisation() .getLongitude(); double posY = getPanoramiquesProjet()[iPoint2].getMarqueurGeolocatisation() .getLatitude(); String strFichierPano2 = getPanoramiquesProjet()[iPoint2].getStrNomFichier() .substring( getPanoramiquesProjet()[iPoint2].getStrNomFichier() .lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[iPoint2].getStrNomFichier().length()) .split("\\.")[0]; String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>" + getPanoramiquesProjet()[iPoint2].getStrTitrePanoramique() + "</span>"; strHTML = strHTML.replace("<", "<").replace(">", ">"); String strFichierXML = "panovisu" + iPoint2; if (iPoint2 == i) { strContenuFichier += " <pointCarte\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"actif\"\n" + " image=\"panos/" + strFichierXML + "Vignette.jpg\"\n" + " html=\"" + strHTML + "\"\n" + " /> \n"; } else { strContenuFichier += " <pointCarte\n" + " positX=\"" + posX + "\"\n" + " positY=\"" + posY + "\"\n" + " xml=\"xml/" + strFichierXML + ".xml\"\n" + " image=\"panos/" + strFichierXML + "Vignette.jpg\"\n" + " html=\"" + strHTML + "\"\n" + " /> \n"; } } } strContenuFichier += " </carte>\n"; } strContenuFichier += "</scene>\n"; String strFichPano = getPanoramiquesProjet()[i].getStrNomFichier(); String strNomXMLFile = "panovisu" + i + ".xml"; fileXML = new File(fileXMLRepert + File.separator + strNomXMLFile); fileXML.setWritable(true); OutputStreamWriter oswFichierXML = new OutputStreamWriter(new FileOutputStream(fileXML), "UTF-8"); try (BufferedWriter bwFichierXML = new BufferedWriter(oswFichierXML)) { bwFichierXML.write(strContenuFichier); } } Rectangle2D tailleEcran = Screen.getPrimary().getBounds(); int iHauteur = (int) tailleEcran.getHeight() - 200; String strTitreVis = "Panovisu - visualiseur 100% html5 (three.js)"; TextField tfVisite = (TextField) getVbChoixPanoramique().lookup("#titreVisite"); if (!tfVisite.getText().equals("")) { strTitreVis = tfVisite.getText(); } String strNomPano1 = getPanoramiquesProjet()[0].getStrNomFichier(); String strFPano1 = "panos/" + strNomPano1.substring(strNomPano1.lastIndexOf(File.separator) + 1, strNomPano1.lastIndexOf(".")) + "Vignette.jpg"; String strFichierHTML = "<!DOCTYPE html>\n" + "<html lang=\"fr\">\n" + " <head>\n" + " <title>" + strTitreVis + "</title>\n" + " <meta charset=\"utf-8\">\n" + " <meta name=\"viewport\" content=\"width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0\">\n" + " <link rel=\"stylesheet\" media=\"screen\" href=\"panovisu/libs/jquerymenu/jquery.contextMenu.css\" type=\"text/css\"/>\n" + " <link rel=\"stylesheet\" type=\"text/css\" href=\"panovisu/css/msdropdown/dd.css\" />\n" + " <meta name=\"url\" property=\"og:url\" content=\"\" />\n" + " <meta property=\"og:title\" name=\"twitter:title\" content=\"" + strTitreVis + "\" />\n" + " <meta itemprop=\"description\" property=\"og:description\" name=\"twitter:description\" content=\"Une page cre avec panoVisu Editeur : 100% Libre 100% HTML5\" />\n" + " <meta name=\"img\" property=\"og:image\" itemprop=\"image primaryImageOfPage\" content=\"./" + strFPano1 + "\" />\n" + " <script type=\"text/javascript\" src=\"panovisu/libs/openlayers/OpenLayers.js\"></script>\n" + " <script type=\"text/javascript\" src=\"panovisu/libs/openlayers/OpenStreetMap.js\"></script>\n" + " <script src=\"http://maps.google.com/maps/api/js?v=3.5&sensor=false\" style=\"\"></script>\n" + " <script src=\"http://maps.gstatic.com/maps-api-v3/api/js/20/13/intl/fr_ALL/main.js\"></script>\n" + " <style>\n" + " .olControlLayerSwitcher\n" + " {\n" + " font-family: Verdana,Arial,sans-serif!important;\n" + " margin-top: 3px;\n" + " margin-left: 3px;\n" + " margin-bottom: 3px;\n" + " font-size: 10pt!important;\n" + " color: white;\n" + " background-color: transparent;\n" + " z-index: 10000;\n" + " background-color: #999!important;\n" + " color : #ff0!important;\n" + " max-width: 180px!important;\n" + " opacity: 0.95!important;\n" + " }\n" + " .olControlLayerSwitcher .layersDiv\n" + " {\n" + " padding-top: 5px;\n" + " padding-left: 10px;\n" + " padding-bottom: 5px;\n" + " padding-right: 10px;\n" + " background-color: #aaa!important;\n" + " color : #fff!important;\n" + " font-family: Verdana,Arial,sans-serif!important;\n" + " font-size: 10pt!important;\n" + " font-weight: normal!important;\n" + " max-width: 180px!important;\n" + " overflow: hidden!important;\n" + " opacity: 0.95!important;\n" + " } \n" + "\n" + " #infoBulle {\n" + " background: " + getGestionnaireInterface().strCouleurFondInfoBulle + ";\n" + " border-top: " + getGestionnaireInterface().iTailleBordureTop + "px solid " + getGestionnaireInterface().strCouleurBordureInfoBulle + ";\n" + " border-bottom: " + getGestionnaireInterface().iTailleBordureBottom + "px solid " + getGestionnaireInterface().strCouleurBordureInfoBulle + ";\n" + " border-left: " + getGestionnaireInterface().iTailleBordureLeft + "px solid " + getGestionnaireInterface().strCouleurBordureInfoBulle + ";\n" + " border-right: " + getGestionnaireInterface().iTailleBordureRight + "px solid " + getGestionnaireInterface().strCouleurBordureInfoBulle + ";\n" + " padding: 3px 10px;\n" + " opacity: " + Math.round(getGestionnaireInterface().opaciteInfoBulle * 10) / 10.0 + ";\n" + " color : " + getGestionnaireInterface().strCouleurTexteInfoBulle + ";\n" + " font-family: " + getGestionnaireInterface().strPoliceInfoBulle + ",Arial,sans-serif!important; \n" + " border-radius: " + getGestionnaireInterface().iArrondiTL + "px " + getGestionnaireInterface().iArrondiTR + "px " + getGestionnaireInterface().iArrondiBR + "px " + getGestionnaireInterface().iArrondiBL + "px; \n"; if (getGestionnaireInterface().bOmbreInfoBulle) { strFichierHTML += " box-shadow: 5px 5px 10px #444;\n"; } strFichierHTML += " font-size : " + getGestionnaireInterface().taillePoliceInfoBulle + "px; \n" + " z-index : 10000000;\n" + " } \n" + "\n" + " </style>\n" + "" + " </head>\n" + " <body style='background-color:#777; margin-top: 8px; margin-bottom: 2px;overflow: hidden;'>\n" + " <header>\n" + "\n" + " </header>\n" + " <article style=\"height : " + iHauteur + "px;\">\n" + " <div style='background-color : #777' id=\"pano\">\n" + " </div>\n" + " </article>\n" + " <script src=\"panovisu/panovisuInit.js\"></script>\n" + " <script src=\"panovisu/panovisu.js\"></script>\n" + " <script>\n" + "\n" + " $(function() {\n" + " $('meta[name=img]').attr('content', document.location.href+\"" + strFPano1 + "\");\n" + " $('meta[name=url]').attr('content', document.location.href);\n" + " $(window).resize(function(){\n" + " $(\"article\").height($(window).height()-17);\n" + " $(\"#pano\").height($(window).height()-17);\n" + " })\n" + " $(\"article\").height($(window).height()-17);\n" + " $(\"#pano\").height($(window).height()-17);\n" + " ajoutePano({\n" + " langue : \"" + getLocale().toString() + "\",\n" + " panoramique: \"pano\",\n" + " minFOV: " + (navigateurPanoramique.getMinFov() * 2) + ",\n" + " maxFOV: " + (navigateurPanoramique.getMaxFov() * 2) + ",\n" + " fenX: \"100%\",\n" + " fenY: \"100%\",\n" + " xml: \"xml/PANO.xml\"\n" + " });\n" + " $(\".reseauSocial-twitter\").on(\"click\", function() {\n" + " window.open(\n" + " \"https://twitter.com/share?url=\" + document.location.href\n" + " );\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-fb\").on(\"click\", function() {\n" + " url=\"http://www.facebook.com/sharer.php?s=100&p[url]=\" + encodeURIComponent(document.location.href)\n" + " + \"&p[images][0]=\" + encodeURIComponent(document.location.href + \"" + strFPano1 + "\")\n" + " + \"&p[title]=\" + encodeURIComponent(\"" + strTitreVis + "\")\n" + " + \"&p[summary]=\" + encodeURIComponent(\"Une page cre avec panoVisu Editeur : 100% Libre 100% HTML5\");\n" + " window.open(url);\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-google\").on(\"click\", function() {\n" + " window.open(\n" + " \"https://plus.google.com/share?url=\" + document.location.href + \"&hl=fr\"\n" + " );\n" + " return false;\n" + " });\n" + " $(\".reseauSocial-email\").attr(\"href\",\"mailto:?body=\" + document.location.href + \"&hl=fr\");\n" + " });\n" + " </script>\n" + " </body>\n" + "</html>\n"; int i = Integer.parseInt(ordPano.getStrPanos().get(0)); strFichierHTML = strFichierHTML.replace("PANO", "panovisu" + i); File fileIndexHTML = new File(getStrRepertTemp() + File.separator + "index.html"); fileIndexHTML.setWritable(true); OutputStreamWriter oswFichierHTML = new OutputStreamWriter(new FileOutputStream(fileIndexHTML), "UTF-8"); try (BufferedWriter bwFichierHTML = new BufferedWriter(oswFichierHTML)) { bwFichierHTML.write(strFichierHTML); } DirectoryChooser dcRepertChoix = new DirectoryChooser(); dcRepertChoix.setTitle("Choix du repertoire de sauvegarde de la visite"); File fileRepert = new File(EditeurPanovisu.getStrRepertoireProjet()); dcRepertChoix.setInitialDirectory(fileRepert); File fileRepertVisite = dcRepertChoix.showDialog(null); if (fileRepertVisite != null) { String strNomRepertVisite = fileRepertVisite.getAbsolutePath(); copieRepertoire(getStrRepertTemp(), strNomRepertVisite); Alert alert = new Alert(AlertType.INFORMATION); alert.setHeaderText(null); alert.setTitle(rbLocalisation.getString("main.dialog.generationVisite")); alert.setContentText( rbLocalisation.getString("main.dialog.generationVisiteMessage") + strNomRepertVisite); alert.showAndWait(); Application app = new Application() { @Override public void start(Stage stage) { } }; app.getHostServices().showDocument(strNomRepertVisite + File.separator + "index.html"); } } else { Alert alert = new Alert(AlertType.ERROR); alert.setTitle(rbLocalisation.getString("main.dialog.generationVisite")); alert.setHeaderText(null); alert.setContentText(rbLocalisation.getString("main.dialog.generationVisiteMessageErreur")); alert.showAndWait(); } }