List of usage examples for javafx.scene.control Tooltip setStyle
public final void setStyle(String value)
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i/*ww w. j a v a 2s . com*/ * @param longitude * @param latitude */ private void afficheHSImage(int i, double longitude, double latitude) { double largeur = imagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + imagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle point = new Circle(X, Y, 5); point.setFill(Color.BLUE); point.setStroke(Color.YELLOW); point.setId("img" + i); point.setCursor(Cursor.DEFAULT); pano.getChildren().add(point); Tooltip t = new Tooltip("image n " + (i + 1)); t.setStyle(tooltipStyle); Tooltip.install(point, t); point.setOnDragDetected((MouseEvent me1) -> { point.setFill(Color.YELLOW); point.setStroke(Color.BLUE); dragDrop = true; me1.consume(); }); point.setOnMouseDragged((MouseEvent me1) -> { double XX = me1.getX() - imagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > imagePanoramique.getFitWidth()) { XX = imagePanoramique.getFitWidth(); } point.setCenterX(XX + imagePanoramique.getLayoutX()); double YY = me1.getY(); if (YY < 0) { YY = 0; } if (YY > imagePanoramique.getFitHeight()) { YY = imagePanoramique.getFitHeight(); } point.setCenterY(YY); me1.consume(); }); point.setOnMouseReleased((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(3, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); double X1 = me1.getSceneX(); double Y1 = me1.getSceneY(); double mouseX = X1 - imagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > imagePanoramique.getFitWidth()) { mouseX = imagePanoramique.getFitWidth(); } double mouseY = Y1 - pano.getLayoutY() - 109; if (mouseY < 0) { mouseY = 0; } if (mouseY > imagePanoramique.getFitHeight()) { mouseY = imagePanoramique.getFitHeight(); } double longit, lat; double larg = imagePanoramique.getFitWidth(); String chLong, chLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLatitude(lat); panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLongitude(longit); point.setFill(Color.BLUE); point.setStroke(Color.YELLOW); me1.consume(); }); point.setOnMouseClicked((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(3, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); Node pt; pt = (Node) pano.lookup("#img" + chPoint); if (me1.isControlDown()) { valideHS(); dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); pano.getChildren().remove(pt); for (int o = numeroPoint + 1; o < numImages; o++) { pt = (Node) pano.lookup("#img" + Integer.toString(o)); pt.setId("img" + Integer.toString(o - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); numImages--; panoramiquesProjet[panoActuel].removeHotspotImage(numeroPoint); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); me1.consume(); } else { me1.consume(); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i/*from w ww. j a v a2 s . c o m*/ * @param longitude * @param latitude */ private void afficheHS(int i, double longitude, double latitude) { double largeur = imagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + imagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle point = new Circle(X, Y, 5); point.setFill(Color.YELLOW); point.setStroke(Color.RED); point.setId("point" + i); point.setCursor(Cursor.DEFAULT); pano.getChildren().add(point); Tooltip t = new Tooltip("point n " + (i + 1)); t.setStyle(tooltipStyle); Tooltip.install(point, t); point.setOnDragDetected((MouseEvent me1) -> { point.setFill(Color.RED); point.setStroke(Color.YELLOW); dragDrop = true; me1.consume(); }); point.setOnMouseDragged((MouseEvent me1) -> { double XX = me1.getX() - imagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > imagePanoramique.getFitWidth()) { XX = imagePanoramique.getFitWidth(); } point.setCenterX(XX + imagePanoramique.getLayoutX()); double YY = me1.getY(); if (YY < 0) { YY = 0; } if (YY > imagePanoramique.getFitHeight()) { YY = imagePanoramique.getFitHeight(); } point.setCenterY(YY); me1.consume(); }); point.setOnMouseReleased((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); double X1 = me1.getSceneX(); double Y1 = me1.getSceneY(); double mouseX = X1 - imagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > imagePanoramique.getFitWidth()) { mouseX = imagePanoramique.getFitWidth(); } double mouseY = Y1 - pano.getLayoutY() - 109; if (mouseY < 0) { mouseY = 0; } if (mouseY > imagePanoramique.getFitHeight()) { mouseY = imagePanoramique.getFitHeight(); } double longit, lat; double larg = imagePanoramique.getFitWidth(); String chLong, chLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; panoramiquesProjet[panoActuel].getHotspot(numeroPoint).setLatitude(lat); panoramiquesProjet[panoActuel].getHotspot(numeroPoint).setLongitude(longit); point.setFill(Color.YELLOW); point.setStroke(Color.RED); me1.consume(); }); point.setOnMouseClicked((MouseEvent me1) -> { double mouseX = me1.getSceneX() - imagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > imagePanoramique.getFitWidth()) { mouseX = imagePanoramique.getFitWidth(); } double mouseY = me1.getSceneY() - pano.getLayoutY() - 115; if (mouseY < 0) { mouseY = 0; } if (mouseY > imagePanoramique.getFitHeight()) { mouseY = imagePanoramique.getFitHeight(); } String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); Node pt; pt = (Node) pano.lookup("#point" + chPoint); if (me1.isControlDown()) { dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); pano.getChildren().remove(pt); for (int o = numeroPoint + 1; o < numPoints; o++) { pt = (Node) pano.lookup("#point" + Integer.toString(o)); pt.setId("point" + Integer.toString(o - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); numPoints--; panoramiquesProjet[panoActuel].removeHotspot(numeroPoint); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); me1.consume(); valideHS(); } else { if (!dragDrop) { if (nombrePanoramiques > 1) { AnchorPane listePanoVig = afficherListePanosVignettes(numeroPoint); int largeurVignettes = 4; if (nombrePanoramiques < 4) { largeurVignettes = nombrePanoramiques; } if (mouseX + largeurVignettes * 130 > pano.getWidth()) { listePanoVig.setLayoutX(pano.getWidth() - largeurVignettes * 130); } else { listePanoVig.setLayoutX(mouseX); } listePanoVig.setLayoutY(mouseY); pano.getChildren().add(listePanoVig); } } else { dragDrop = false; } valideHS(); me1.consume(); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
private AnchorPane afficherListePanosVignettes(int numHS) { AnchorPane aplistePano = new AnchorPane(); aplistePano.setOpacity(1);//w ww .j av a 2 s.c o m Pane fond = new Pane(); fond.setStyle("-fx-background-color : #bbb;"); fond.setPrefWidth(540); fond.setPrefHeight(((nombrePanoramiques - 2) / 4 + 1) * 65 + 10); fond.setMinWidth(540); fond.setMinHeight(70); aplistePano.getChildren().add(fond); aplistePano.setStyle("-fx-backgroung-color : #bbb;"); int j = 0; ImageView[] IVPano; IVPano = new ImageView[nombrePanoramiques]; double xPos; double yPos; int row = 0; for (int i = 0; i < nombrePanoramiques; i++) { int numeroPano = i; IVPano[j] = new ImageView(panoramiquesProjet[i].getVignettePanoramique()); IVPano[j].setFitWidth(120); IVPano[j].setFitHeight(60); IVPano[j].setSmooth(true); String nomPano = panoramiquesProjet[i].getNomFichier(); int col = j % 4; row = j / 4; xPos = col * 130 + 25; yPos = row * 65 + 5; IVPano[j].setLayoutX(xPos); IVPano[j].setLayoutY(yPos); IVPano[j].setCursor(Cursor.HAND); IVPano[j].setStyle("-fx-background-color : #ccc;"); Tooltip t = new Tooltip( nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf("."))); t.setStyle(tooltipStyle); Tooltip.install(IVPano[j], t); IVPano[j].setOnMouseClicked((MouseEvent me) -> { pano.setCursor(Cursor.CROSSHAIR); pano.setOnMouseClicked((MouseEvent me1) -> { gereSourisPanoramique(me1); }); panoListeVignette = nomPano; if (panoramiquesProjet[numeroPano].getTitrePanoramique() != null) { String texteHS = panoramiquesProjet[numeroPano].getTitrePanoramique(); TextArea txtHS = (TextArea) outils.lookup("#txtHS" + numHS); txtHS.setText(texteHS); } panoramiquesProjet[panoActuel].getHotspot(numHS).setNumeroPano(numeroPano); ComboBox cbx = (ComboBox) outils.lookup("#cbpano" + numHS); cbx.setValue(nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf("."))); aplistePano.setVisible(false); me.consume(); }); aplistePano.getChildren().add(IVPano[j]); j++; } int taille = (row + 1) * 65 + 5; aplistePano.setPrefWidth(540); aplistePano.setPrefHeight(taille); aplistePano.setMinWidth(540); aplistePano.setMinHeight(taille); ImageView IVClose = new ImageView( new Image("file:" + repertAppli + File.separator + "images/ferme.png", 20, 20, true, true)); IVClose.setLayoutX(2); IVClose.setLayoutY(5); IVClose.setCursor(Cursor.HAND); aplistePano.getChildren().add(IVClose); IVClose.setOnMouseClicked((MouseEvent me) -> { pano.setCursor(Cursor.CROSSHAIR); pano.setOnMouseClicked((MouseEvent me1) -> { gereSourisPanoramique(me1); }); panoListeVignette = ""; aplistePano.setVisible(false); me.consume(); }); aplistePano.setTranslateZ(2); return aplistePano; }
From source file:editeurpanovisu.EditeurPanovisu.java
private void panoAjouteImage(double X, double Y) { if (X > 0 && X < imagePanoramique.getFitWidth()) { valideHS();/*from ww w. j av a2s . co m*/ dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); double mouseX = X; double mouseY = Y - pano.getLayoutY() - 115; double longitude, latitude; double largeur = imagePanoramique.getFitWidth(); String chLong, chLat; longitude = 360.0f * mouseX / largeur - 180; latitude = 90.0d - 2.0f * mouseY / largeur * 180.0f; Circle point = new Circle(mouseX, mouseY, 5); point.setFill(Color.BLUE); point.setStroke(Color.YELLOW); point.setId("img" + numImages); point.setCursor(Cursor.DEFAULT); pano.getChildren().add(point); Tooltip t = new Tooltip("image n " + (numImages + 1)); t.setStyle(tooltipStyle); Tooltip.install(point, t); // File repert; if (repertHSImages.equals("")) { repert = new File(currentDir + File.separator); } else { repert = new File(repertHSImages); } FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter( "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png"); fileChooser.setInitialDirectory(repert); fileChooser.getExtensionFilters().addAll(extFilterImages); File fichierImage = fileChooser.showOpenDialog(null); if (fichierImage != null) { repertHSImages = fichierImage.getParent(); numImages++; HotspotImage HS = new HotspotImage(); HS.setLongitude(longitude); HS.setLatitude(latitude); HS.setUrlImage(fichierImage.getAbsolutePath()); HS.setLienImg(fichierImage.getName()); HS.setInfo(fichierImage.getName().split("\\.")[0]); File repertImage = new File(repertTemp + File.separator + "images"); if (!repertImage.exists()) { repertImage.mkdirs(); } try { copieFichierRepertoire(fichierImage.getAbsolutePath(), repertImage.getAbsolutePath()); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } panoramiquesProjet[panoActuel].addHotspotImage(HS); retireAffichageHotSpots(); Pane affHS1 = affichageHS(listePano(panoActuel), panoActuel); affHS1.setId("labels"); outils.getChildren().add(affHS1); } else { String chPoint = point.getId(); chPoint = chPoint.substring(3, chPoint.length()); Node pt = (Node) pano.lookup("#img" + chPoint); pano.getChildren().remove(pt); } valideHS(); point.setOnDragDetected((MouseEvent me1) -> { point.setFill(Color.YELLOW); point.setStroke(Color.BLUE); dragDrop = true; me1.consume(); }); point.setOnMouseDragged((MouseEvent me1) -> { double XX = me1.getX() - imagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > imagePanoramique.getFitWidth()) { XX = imagePanoramique.getFitWidth(); } point.setCenterX(XX + imagePanoramique.getLayoutX()); double YY = me1.getY(); if (YY < 0) { YY = 0; } if (YY > imagePanoramique.getFitHeight()) { YY = imagePanoramique.getFitHeight(); } point.setCenterY(YY); me1.consume(); }); point.setOnMouseReleased((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(3, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); double X1 = me1.getSceneX(); double Y1 = me1.getSceneY(); double mouseX1 = X1 - imagePanoramique.getLayoutX(); if (mouseX1 < 0) { mouseX1 = 0; } if (mouseX1 > imagePanoramique.getFitWidth()) { mouseX1 = imagePanoramique.getFitWidth(); } double mouseY1 = Y1 - pano.getLayoutY() - 109; if (mouseY1 < 0) { mouseY1 = 0; } if (mouseY1 > imagePanoramique.getFitHeight()) { mouseY1 = imagePanoramique.getFitHeight(); } double longit, lat; double larg = imagePanoramique.getFitWidth(); longit = 360.0f * mouseX1 / larg - 180; lat = 90.0d - 2.0f * mouseY1 / larg * 180.0f; panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLatitude(lat); panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLongitude(longit); point.setFill(Color.BLUE); point.setStroke(Color.YELLOW); me1.consume(); }); point.setOnMouseClicked((MouseEvent me1) -> { if (me1.isControlDown()) { dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); String chPoint = point.getId(); chPoint = chPoint.substring(3, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); Node pt; pt = (Node) pano.lookup("#img" + chPoint); pano.getChildren().remove(pt); for (int o = numeroPoint + 1; o < numImages; o++) { pt = (Node) pano.lookup("#img" + Integer.toString(o)); pt.setId("img" + Integer.toString(o - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); numImages--; panoramiquesProjet[panoActuel].removeHotspotImage(numeroPoint); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); } valideHS(); me1.consume(); }); } }
From source file:editeurpanovisu.EditeurPanovisu.java
private void panoMouseClic(double X, double Y) { if (nombrePanoramiques > 1) { valideHS();/*from w w w. j ava2 s. co m*/ dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); double mouseX = X; double mouseY = Y - pano.getLayoutY() - 109; if (X > 0 && X < imagePanoramique.getFitWidth()) { double longitude, latitude; double largeur = imagePanoramique.getFitWidth(); String chLong, chLat; longitude = 360.0f * mouseX / largeur - 180; latitude = 90.0d - 2.0f * mouseY / largeur * 180.0f; Circle point = new Circle(mouseX + imagePanoramique.getLayoutX(), mouseY, 5); point.setFill(Color.YELLOW); point.setStroke(Color.RED); point.setId("point" + numPoints); point.setCursor(Cursor.DEFAULT); pano.getChildren().add(point); Tooltip t = new Tooltip("point n" + (numPoints + 1)); t.setStyle(tooltipStyle); Tooltip.install(point, t); HotSpot HS = new HotSpot(); HS.setLongitude(longitude); HS.setLatitude(latitude); panoramiquesProjet[panoActuel].addHotspot(HS); retireAffichageHotSpots(); Pane affHS1 = affichageHS(listePano(panoActuel), panoActuel); affHS1.setId("labels"); outils.getChildren().add(affHS1); numPoints++; if (nombrePanoramiques > 1) { AnchorPane listePanoVig = afficherListePanosVignettes( panoramiquesProjet[panoActuel].getNombreHotspots() - 1); int largeurVignettes = 4; if (nombrePanoramiques < 4) { largeurVignettes = nombrePanoramiques; } if (mouseX + largeurVignettes * 130 > pano.getWidth()) { listePanoVig.setLayoutX(pano.getWidth() - largeurVignettes * 130); } else { listePanoVig.setLayoutX(mouseX); } listePanoVig.setLayoutY(mouseY); pano.getChildren().add(listePanoVig); valideHS(); } point.setOnDragDetected((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); Node pt; pt = (Node) pano.lookup("#point" + chPoint); point.setFill(Color.RED); point.setStroke(Color.YELLOW); dragDrop = true; me1.consume(); }); point.setOnMouseDragged((MouseEvent me1) -> { double XX = me1.getX() - imagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > imagePanoramique.getFitWidth()) { XX = imagePanoramique.getFitWidth(); } point.setCenterX(XX + imagePanoramique.getLayoutX()); double YY = me1.getY(); if (YY < 0) { YY = 0; } if (YY > imagePanoramique.getFitHeight()) { YY = imagePanoramique.getFitHeight(); } point.setCenterY(YY); me1.consume(); }); point.setOnMouseReleased((MouseEvent me1) -> { String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); double X1 = me1.getSceneX(); double Y1 = me1.getSceneY(); double mouseX1 = X1 - imagePanoramique.getLayoutX(); if (mouseX1 < 0) { mouseX1 = 0; } if (mouseX1 > imagePanoramique.getFitWidth()) { mouseX1 = imagePanoramique.getFitWidth(); } double mouseY1 = Y1 - pano.getLayoutY() - 109; if (mouseY1 < 0) { mouseY1 = 0; } if (mouseY1 > imagePanoramique.getFitHeight()) { mouseY1 = imagePanoramique.getFitHeight(); } double longit, lat; double larg = imagePanoramique.getFitWidth(); longit = 360.0f * mouseX1 / larg - 180; lat = 90.0d - 2.0f * mouseY1 / larg * 180.0f; panoramiquesProjet[panoActuel].getHotspot(numeroPoint).setLatitude(lat); panoramiquesProjet[panoActuel].getHotspot(numeroPoint).setLongitude(longit); point.setFill(Color.YELLOW); point.setStroke(Color.RED); me1.consume(); }); point.setOnMouseClicked((MouseEvent me1) -> { if (me1.isControlDown()) { dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); Node pt; pt = (Node) pano.lookup("#point" + chPoint); pano.getChildren().remove(pt); for (int o = numeroPoint + 1; o < numPoints; o++) { pt = (Node) pano.lookup("#point" + Integer.toString(o)); pt.setId("point" + Integer.toString(o - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); numPoints--; panoramiquesProjet[panoActuel].removeHotspot(numeroPoint); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); valideHS(); me1.consume(); } else { if (!dragDrop) { String chPoint = point.getId(); chPoint = chPoint.substring(5, chPoint.length()); int numeroPoint = Integer.parseInt(chPoint); if (nombrePanoramiques > 1) { AnchorPane listePanoVig = afficherListePanosVignettes(numeroPoint); int largeurVignettes = 4; if (nombrePanoramiques < 4) { largeurVignettes = nombrePanoramiques; } if (mouseX + largeurVignettes * 130 > pano.getWidth()) { listePanoVig.setLayoutX(pano.getWidth() - largeurVignettes * 130); } else { listePanoVig.setLayoutX(mouseX); } listePanoVig.setLayoutY(mouseY); pano.getChildren().add(listePanoVig); } } else { dragDrop = false; } valideHS(); me1.consume(); } }); } } }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param primaryStage/*from w w w . j av a 2 s. c o m*/ * @param racine * @param taille * @throws Exception */ private void creeMenu(VBox racine, int taille) throws Exception { //Pane myPane = (Pane) FXMLLoader.load(getClass().getResource("menuPrincipal.fxml")); VBox myPane = new VBox(); myPane.setPrefHeight(80); myPane.setPrefWidth(3000); MenuBar menuPrincipal = new MenuBar(); menuPrincipal.setMinHeight(25); menuPrincipal.setPrefHeight(29); menuPrincipal.setPrefWidth(3000); /* Menu projets */ Menu menuProjet = new Menu(rb.getString("projets")); menuPrincipal.getMenus().add(menuProjet); nouveauProjet = new MenuItem(rb.getString("nouveauProjet")); nouveauProjet.setAccelerator(KeyCombination.keyCombination("Ctrl+N")); menuProjet.getItems().add(nouveauProjet); chargeProjet = new MenuItem(rb.getString("ouvrirProjet")); chargeProjet.setAccelerator(KeyCombination.keyCombination("Ctrl+O")); menuProjet.getItems().add(chargeProjet); sauveProjet = new MenuItem(rb.getString("sauverProjet")); sauveProjet.setDisable(true); sauveProjet.setAccelerator(KeyCombination.keyCombination("Ctrl+S")); menuProjet.getItems().add(sauveProjet); sauveSousProjet = new MenuItem(rb.getString("sauverProjetSous")); sauveSousProjet.setDisable(true); sauveSousProjet.setAccelerator(KeyCombination.keyCombination("Shift+Ctrl+S")); menuProjet.getItems().add(sauveSousProjet); derniersProjets = new Menu(rb.getString("derniersProjets")); // derniersProjets.setDisable(true); menuProjet.getItems().add(derniersProjets); fichHistoFichiers = new File(repertConfig.getAbsolutePath() + File.separator + "derniersprojets.cfg"); nombreHistoFichiers = 0; if (fichHistoFichiers.exists()) { FileReader fr; fr = new FileReader(fichHistoFichiers); try (BufferedReader br = new BufferedReader(fr)) { while ((texteHisto = br.readLine()) != null) { MenuItem menuDerniersFichiers = new MenuItem(texteHisto); derniersProjets.getItems().add(menuDerniersFichiers); histoFichiers[nombreHistoFichiers] = texteHisto; nombreHistoFichiers++; menuDerniersFichiers.setOnAction((ActionEvent e) -> { MenuItem mnu = (MenuItem) e.getSource(); try { try { projetChargeNom(mnu.getText()); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); } } } SeparatorMenuItem sep1 = new SeparatorMenuItem(); menuProjet.getItems().add(sep1); fermerProjet = new MenuItem(rb.getString("quitterApplication")); fermerProjet.setAccelerator(KeyCombination.keyCombination("Ctrl+Q")); menuProjet.getItems().add(fermerProjet); /* Menu affichage */ Menu menuAffichage = new Menu(rb.getString("affichage")); menuPrincipal.getMenus().add(menuAffichage); affichageVisite = new MenuItem(rb.getString("main.creationVisite")); affichageVisite.setAccelerator(KeyCombination.keyCombination("Ctrl+1")); menuAffichage.getItems().add(affichageVisite); affichageInterface = new MenuItem(rb.getString("main.creationInterface")); affichageInterface.setAccelerator(KeyCombination.keyCombination("Ctrl+2")); menuAffichage.getItems().add(affichageInterface); affichagePlan = new MenuItem(rb.getString("main.tabPlan")); affichagePlan.setAccelerator(KeyCombination.keyCombination("Ctrl+3")); affichagePlan.setDisable(true); menuAffichage.getItems().add(affichagePlan); SeparatorMenuItem sep3 = new SeparatorMenuItem(); menuAffichage.getItems().add(sep3); configTransformation = new MenuItem(rb.getString("affichageConfiguration")); menuAffichage.getItems().add(configTransformation); /* Menu panoramiques */ menuPanoramique = new Menu(rb.getString("panoramiques")); menuPanoramique.setDisable(true); menuPrincipal.getMenus().add(menuPanoramique); ajouterPano = new MenuItem(rb.getString("ajouterPanoramiques")); ajouterPano.setAccelerator(KeyCombination.keyCombination("Ctrl+A")); menuPanoramique.getItems().add(ajouterPano); ajouterPlan = new MenuItem(rb.getString("ajouterPlan")); ajouterPlan.setAccelerator(KeyCombination.keyCombination("Ctrl+P")); menuPanoramique.getItems().add(ajouterPlan); ajouterPlan.setDisable(true); SeparatorMenuItem sep2 = new SeparatorMenuItem(); menuPanoramique.getItems().add(sep2); visiteGenere = new MenuItem(rb.getString("genererVisite")); visiteGenere.setDisable(true); visiteGenere.setAccelerator(KeyCombination.keyCombination("Ctrl+V")); menuPanoramique.getItems().add(visiteGenere); /* Menu Modles */ menuModeles = new Menu(rb.getString("menuModele")); menuPrincipal.getMenus().add(menuModeles); chargerModele = new MenuItem(rb.getString("modeleCharger")); menuModeles.getItems().add(chargerModele); sauverModele = new MenuItem(rb.getString("modeleSauver")); menuModeles.getItems().add(sauverModele); /* Menu transformations */ menuTransformation = new Menu(rb.getString("outils")); menuPrincipal.getMenus().add(menuTransformation); equi2CubeTransformation = new MenuItem(rb.getString("outilsEqui2Cube")); menuTransformation.getItems().add(equi2CubeTransformation); cube2EquiTransformation = new MenuItem(rb.getString("outilsCube2Equi")); menuTransformation.getItems().add(cube2EquiTransformation); /* Menu Aide */ Menu menuAide = new Menu(rb.getString("aide")); menuPrincipal.getMenus().add(menuAide); aide = new MenuItem(rb.getString("aideAide")); aide.setAccelerator(KeyCombination.keyCombination("Ctrl+H")); menuAide.getItems().add(aide); SeparatorMenuItem sep4 = new SeparatorMenuItem(); menuAide.getItems().add(sep4); aPropos = new MenuItem(rb.getString("aideAPropos")); menuAide.getItems().add(aPropos); /* barre de boutons */ HBox barreBouton = new HBox(); barreBouton.getStyleClass().add("menuBarreOutils1"); barreBouton.setPrefHeight(50); barreBouton.setMinHeight(50); barreBouton.setPrefWidth(3000); /* Bouton nouveau Projet */ ScrollPane spBtnNouvprojet = new ScrollPane(); spBtnNouvprojet.getStyleClass().add("menuBarreOutils"); spBtnNouvprojet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnNouvprojet.setPrefHeight(35); spBtnNouvprojet.setMaxHeight(35); spBtnNouvprojet.setPadding(new Insets(2)); spBtnNouvprojet.setPrefWidth(35); HBox.setMargin(spBtnNouvprojet, new Insets(5, 15, 0, 15)); imgNouveauProjet = new ImageView( new Image("file:" + repertAppli + File.separator + "images/nouveauProjet.png")); spBtnNouvprojet.setContent(imgNouveauProjet); Tooltip t0 = new Tooltip(rb.getString("nouveauProjet")); t0.setStyle(tooltipStyle); spBtnNouvprojet.setTooltip(t0); barreBouton.getChildren().add(spBtnNouvprojet); /* Bouton ouvrir Projet */ ScrollPane spBtnOuvrirProjet = new ScrollPane(); spBtnOuvrirProjet.getStyleClass().add("menuBarreOutils"); spBtnOuvrirProjet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnOuvrirProjet.setPrefHeight(35); spBtnOuvrirProjet.setMaxHeight(35); spBtnOuvrirProjet.setPadding(new Insets(2)); spBtnOuvrirProjet.setPrefWidth(35); HBox.setMargin(spBtnOuvrirProjet, new Insets(5, 15, 0, 0)); imgChargeProjet = new ImageView( new Image("file:" + repertAppli + File.separator + "images/ouvrirProjet.png")); spBtnOuvrirProjet.setContent(imgChargeProjet); Tooltip t1 = new Tooltip(rb.getString("ouvrirProjet")); t1.setStyle(tooltipStyle); spBtnOuvrirProjet.setTooltip(t1); barreBouton.getChildren().add(spBtnOuvrirProjet); /* Bouton sauve Projet */ ScrollPane spBtnSauveProjet = new ScrollPane(); spBtnSauveProjet.getStyleClass().add("menuBarreOutils"); spBtnSauveProjet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnSauveProjet.setPrefHeight(35); spBtnSauveProjet.setMaxHeight(35); spBtnSauveProjet.setPadding(new Insets(2)); spBtnSauveProjet.setPrefWidth(35); HBox.setMargin(spBtnSauveProjet, new Insets(5, 15, 0, 0)); imgSauveProjet = new ImageView( new Image("file:" + repertAppli + File.separator + "images/sauveProjet.png")); spBtnSauveProjet.setContent(imgSauveProjet); Tooltip t2 = new Tooltip(rb.getString("sauverProjet")); t2.setStyle(tooltipStyle); spBtnSauveProjet.setTooltip(t2); barreBouton.getChildren().add(spBtnSauveProjet); Separator sepImages = new Separator(Orientation.VERTICAL); sepImages.prefHeight(200); barreBouton.getChildren().add(sepImages); imgSauveProjet.setDisable(true); imgSauveProjet.setOpacity(0.3); /* Bouton Ajoute Panoramique */ ScrollPane spBtnAjoutePano = new ScrollPane(); spBtnAjoutePano.getStyleClass().add("menuBarreOutils"); spBtnAjoutePano.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnAjoutePano.setPrefHeight(35); spBtnAjoutePano.setMaxHeight(35); spBtnAjoutePano.setPadding(new Insets(2)); spBtnAjoutePano.setPrefWidth(35); HBox.setMargin(spBtnAjoutePano, new Insets(5, 15, 0, 15)); imgAjouterPano = new ImageView( new Image("file:" + repertAppli + File.separator + "images/ajoutePanoramique.png")); spBtnAjoutePano.setContent(imgAjouterPano); Tooltip t3 = new Tooltip(rb.getString("ajouterPanoramiques")); t3.setStyle(tooltipStyle); spBtnAjoutePano.setTooltip(t3); barreBouton.getChildren().add(spBtnAjoutePano); imgAjouterPano.setDisable(true); imgAjouterPano.setOpacity(0.3); /* Bouton Ajoute Panoramique */ ScrollPane spBtnAjoutePlan = new ScrollPane(); spBtnAjoutePlan.getStyleClass().add("menuBarreOutils"); spBtnAjoutePlan.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnAjoutePlan.setPrefHeight(35); spBtnAjoutePlan.setMaxHeight(35); spBtnAjoutePlan.setPadding(new Insets(2)); spBtnAjoutePlan.setPrefWidth(35); HBox.setMargin(spBtnAjoutePlan, new Insets(5, 15, 0, 15)); imgAjouterPlan = new ImageView(new Image("file:" + repertAppli + File.separator + "images/ajoutePlan.png")); spBtnAjoutePlan.setContent(imgAjouterPlan); Tooltip t31 = new Tooltip(rb.getString("ajouterPlan")); t31.setStyle(tooltipStyle); spBtnAjoutePlan.setTooltip(t31); barreBouton.getChildren().add(spBtnAjoutePlan); imgAjouterPlan.setDisable(true); imgAjouterPlan.setOpacity(0.3); /* Bouton Gnre */ ScrollPane spBtnGenereVisite = new ScrollPane(); spBtnGenereVisite.getStyleClass().add("menuBarreOutils"); spBtnGenereVisite.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnGenereVisite.setPrefHeight(35); spBtnGenereVisite.setMaxHeight(35); spBtnGenereVisite.setPadding(new Insets(2)); spBtnGenereVisite.setPrefWidth(70); HBox.setMargin(spBtnGenereVisite, new Insets(5, 15, 0, 0)); imgVisiteGenere = new ImageView( new Image("file:" + repertAppli + File.separator + "images/genereVisite.png")); spBtnGenereVisite.setContent(imgVisiteGenere); Tooltip t4 = new Tooltip(rb.getString("genererVisite")); t4.setStyle(tooltipStyle); spBtnGenereVisite.setTooltip(t4); barreBouton.getChildren().add(spBtnGenereVisite); imgVisiteGenere.setDisable(true); imgVisiteGenere.setOpacity(0.3); Separator sepImages1 = new Separator(Orientation.VERTICAL); sepImages1.prefHeight(200); barreBouton.getChildren().add(sepImages1); /* Bouton equi -> faces de Cube */ ScrollPane spBtnEqui2Cube = new ScrollPane(); spBtnEqui2Cube.getStyleClass().add("menuBarreOutils"); spBtnEqui2Cube.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnEqui2Cube.setPrefHeight(35); spBtnEqui2Cube.setMaxHeight(35); spBtnEqui2Cube.setPadding(new Insets(2)); spBtnEqui2Cube.setPrefWidth(109); HBox.setMargin(spBtnEqui2Cube, new Insets(5, 15, 0, 250)); imgEqui2Cube = new ImageView(new Image("file:" + repertAppli + File.separator + "images/equi2cube.png")); spBtnEqui2Cube.setContent(imgEqui2Cube); Tooltip t6 = new Tooltip(rb.getString("outilsEqui2Cube")); t6.setStyle(tooltipStyle); spBtnEqui2Cube.setTooltip(t6); barreBouton.getChildren().add(spBtnEqui2Cube); /* Bouton faces de cube -> equi */ ScrollPane spBtnCube2Equi = new ScrollPane(); spBtnCube2Equi.getStyleClass().add("menuBarreOutils"); spBtnCube2Equi.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spBtnCube2Equi.setPrefHeight(35); spBtnCube2Equi.setMaxHeight(35); spBtnCube2Equi.setPadding(new Insets(2)); spBtnCube2Equi.setPrefWidth(109); HBox.setMargin(spBtnCube2Equi, new Insets(5, 25, 0, 0)); imgCube2Equi = new ImageView(new Image("file:" + repertAppli + File.separator + "images/cube2equi.png")); spBtnCube2Equi.setContent(imgCube2Equi); Tooltip t5 = new Tooltip(rb.getString("outilsCube2Equi")); t5.setStyle(tooltipStyle); spBtnCube2Equi.setTooltip(t5); barreBouton.getChildren().add(spBtnCube2Equi); myPane.getChildren().addAll(menuPrincipal, barreBouton); racine.getChildren().add(myPane); nouveauProjet.setOnAction((ActionEvent e) -> { projetsNouveau(); }); chargeProjet.setOnAction((ActionEvent e) -> { try { try { projetCharge(); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); sauveProjet.setOnAction((ActionEvent e) -> { try { projetSauve(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); sauveSousProjet.setOnAction((ActionEvent e) -> { try { projetSauveSous(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); visiteGenere.setOnAction((ActionEvent e) -> { try { genereVisite(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); fermerProjet.setOnAction((ActionEvent e) -> { try { projetsFermer(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); ajouterPano.setOnAction((ActionEvent e) -> { try { panoramiquesAjouter(); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); ajouterPlan.setOnAction((ActionEvent e) -> { planAjouter(); }); aPropos.setOnAction((ActionEvent e) -> { aideapropos(); }); aide.setOnAction((ActionEvent e) -> { AideDialogController.affiche(); }); chargerModele.setOnAction((ActionEvent e) -> { try { modeleCharger(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); sauverModele.setOnAction((ActionEvent e) -> { try { modeleSauver(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); cube2EquiTransformation.setOnAction((ActionEvent e) -> { transformationCube2Equi(); }); equi2CubeTransformation.setOnAction((ActionEvent e) -> { transformationEqui2Cube(); }); affichageVisite.setOnAction((ActionEvent e) -> { tabPaneEnvironnement.getSelectionModel().select(0); }); affichageInterface.setOnAction((ActionEvent e) -> { tabPaneEnvironnement.getSelectionModel().select(1); }); affichagePlan.setOnAction((ActionEvent e) -> { if (!tabPlan.isDisabled()) { tabPaneEnvironnement.getSelectionModel().select(2); } }); configTransformation.setOnAction((ActionEvent e) -> { try { ConfigDialogController cfg = new ConfigDialogController(); cfg.afficheFenetre(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); spBtnNouvprojet.setOnMouseClicked((MouseEvent t) -> { projetsNouveau(); }); spBtnOuvrirProjet.setOnMouseClicked((MouseEvent t) -> { try { try { projetCharge(); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); spBtnSauveProjet.setOnMouseClicked((MouseEvent t) -> { try { projetSauve(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); spBtnAjoutePano.setOnMouseClicked((MouseEvent t) -> { try { panoramiquesAjouter(); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); spBtnAjoutePlan.setOnMouseClicked((MouseEvent t) -> { planAjouter(); }); spBtnGenereVisite.setOnMouseClicked((MouseEvent t) -> { try { genereVisite(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } }); spBtnEqui2Cube.setOnMouseClicked((MouseEvent t) -> { transformationEqui2Cube(); }); spBtnCube2Equi.setOnMouseClicked((MouseEvent t) -> { transformationCube2Equi(); }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i/*from w w w . ja v a2 s .c o m*/ * @param longitude * @param latitude */ private static void afficheHS(int i, double longitude, double latitude) { double largeur = ivImagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle circPoint = new Circle(X, Y, 5); circPoint.setFill(Color.YELLOW); circPoint.setStroke(Color.RED); circPoint.setId("point" + i); circPoint.setCursor(Cursor.DEFAULT); panePanoramique.getChildren().add(circPoint); Tooltip tltpHotSpot = new Tooltip("point #" + (i + 1)); tltpHotSpot.setStyle(getStrTooltipStyle()); Tooltip.install(circPoint, tltpHotSpot); circPoint.setOnDragDetected((mouseEvent1) -> { circPoint.setFill(Color.RED); circPoint.setStroke(Color.YELLOW); bDragDrop = true; mouseEvent1.consume(); }); circPoint.setOnMouseDragged((mouseEvent1) -> { double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > ivImagePanoramique.getFitWidth()) { XX = ivImagePanoramique.getFitWidth(); } circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX()); double YY = mouseEvent1.getY(); if (YY < 0) { YY = 0; } if (YY > ivImagePanoramique.getFitHeight()) { YY = ivImagePanoramique.getFitHeight(); } circPoint.setCenterY(YY); afficheLoupe(XX, YY); mouseEvent1.consume(); }); circPoint.setOnMouseReleased((mouseEvent1) -> { String strChPoint = circPoint.getId(); strChPoint = strChPoint.substring(5, strChPoint.length()); int iNumeroPoint = Integer.parseInt(strChPoint); double X1 = mouseEvent1.getSceneX(); double Y1 = mouseEvent1.getSceneY(); double mouseX = X1 - ivImagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > ivImagePanoramique.getFitWidth()) { mouseX = ivImagePanoramique.getFitWidth(); } double mouseY = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (mouseY < 0) { mouseY = 0; } if (mouseY > ivImagePanoramique.getFitHeight()) { mouseY = ivImagePanoramique.getFitHeight(); } double longit, lat; double larg = ivImagePanoramique.getFitWidth(); String strLong, strLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumeroPoint).setLatitude(lat); getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumeroPoint).setLongitude(longit); circPoint.setFill(Color.YELLOW); circPoint.setStroke(Color.RED); mouseEvent1.consume(); }); circPoint.setOnMouseClicked((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(5, strPoint.length()); int numeroPoint = Integer.parseInt(strPoint); Node nodePoint; nodePoint = (Node) panePanoramique.lookup("#point" + strPoint); if (mouseEvent1.isControlDown()) { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); panePanoramique.getChildren().remove(nodePoint); for (int io = numeroPoint + 1; io < getiNumPoints(); io++) { nodePoint = (Node) panePanoramique.lookup("#point" + Integer.toString(io)); nodePoint.setId("point" + Integer.toString(io - 1)); } /** * on retire les anciennes indication de HS */ dejaCharge = false; retireAffichageHotSpots(); setiNumPoints(getiNumPoints() - 1); getPanoramiquesProjet()[getiPanoActuel()].removeHotspot(numeroPoint); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); mouseEvent1.consume(); valideHS(); } else { if (!bDragDrop) { if (getiNombrePanoramiques() > 1) { AnchorPane apListePanoVig = apAfficherListePanosVignettes(numeroPoint); double positX = (panePanoramique.getPrefWidth() - apListePanoVig.getPrefWidth()) / 2.d; double positY = (panePanoramique.getPrefHeight() - apListePanoVig.getPrefHeight()) / 2.d; apListePanoVig.setLayoutX(positX); apListePanoVig.setLayoutY(positY); apPanneauPrincipal.getChildren().add(apListePanoVig); } } else { bDragDrop = false; } valideHS(); mouseEvent1.consume(); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i// w w w .j a va2 s.c o m * @param longitude * @param latitude */ private static void afficheHSHTML(int i, double longitude, double latitude) { double largeur = ivImagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle circPoint = new Circle(X, Y, 5); circPoint.setFill(Color.DARKGREEN); circPoint.setStroke(Color.YELLOWGREEN); circPoint.setId("html" + i); circPoint.setCursor(Cursor.DEFAULT); panePanoramique.getChildren().add(circPoint); Tooltip tltpHSImage = new Tooltip("HTML #" + (i + 1)); tltpHSImage.setStyle(getStrTooltipStyle()); Tooltip.install(circPoint, tltpHSImage); circPoint.setOnDragDetected((mouseEvent1) -> { circPoint.setFill(Color.YELLOWGREEN); circPoint.setStroke(Color.DARKGREEN); bDragDrop = true; mouseEvent1.consume(); }); circPoint.setOnMouseDragged((mouseEvent1) -> { double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > ivImagePanoramique.getFitWidth()) { XX = ivImagePanoramique.getFitWidth(); } circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX()); double YY = mouseEvent1.getY(); if (YY < 0) { YY = 0; } if (YY > ivImagePanoramique.getFitHeight()) { YY = ivImagePanoramique.getFitHeight(); } circPoint.setCenterY(YY); afficheLoupe(XX, YY); mouseEvent1.consume(); }); circPoint.setOnMouseReleased((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(4, strPoint.length()); int iNumeroPoint = Integer.parseInt(strPoint); double X1 = mouseEvent1.getSceneX(); double Y1 = mouseEvent1.getSceneY(); double mouseX = X1 - ivImagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > ivImagePanoramique.getFitWidth()) { mouseX = ivImagePanoramique.getFitWidth(); } double mouseY = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (mouseY < 0) { mouseY = 0; } if (mouseY > ivImagePanoramique.getFitHeight()) { mouseY = ivImagePanoramique.getFitHeight(); } double longit, lat; double larg = ivImagePanoramique.getFitWidth(); String strLong, strLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; getPanoramiquesProjet()[getiPanoActuel()].getHotspotHTML(iNumeroPoint).setLatitude(lat); getPanoramiquesProjet()[getiPanoActuel()].getHotspotHTML(iNumeroPoint).setLongitude(longit); circPoint.setFill(Color.DARKGREEN); circPoint.setStroke(Color.YELLOWGREEN); mouseEvent1.consume(); }); circPoint.setOnMouseClicked((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(4, strPoint.length()); int iNum = Integer.parseInt(strPoint); Node nodePointImage; nodePointImage = (Node) panePanoramique.lookup("#html" + strPoint); if (mouseEvent1.isControlDown()) { valideHS(); setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); panePanoramique.getChildren().remove(nodePointImage); for (int io = iNum + 1; io < getiNumImages(); io++) { nodePointImage = (Node) panePanoramique.lookup("#html" + Integer.toString(io)); nodePointImage.setId("img" + Integer.toString(io - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); setiNumHTML(getiNumHTML() - 1); getPanoramiquesProjet()[getiPanoActuel()].removeHotspotHTML(iNum); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); mouseEvent1.consume(); } else { if (!bDragDrop) { EditeurHTML editHTML = new EditeurHTML(); HotspotHTML HS = getPanoramiquesProjet()[getiPanoActuel()].getHotspotHTML(iNum); editHTML.setHsHTML(HS); Rectangle2D tailleEcran = Screen.getPrimary().getBounds(); int iHauteur = (int) tailleEcran.getHeight() - 100; int iLargeur = (int) tailleEcran.getWidth() - 100; editHTML.affiche(iLargeur, iHauteur); editHTML.addPropertyChangeListener("bValide", (ev) -> { if (ev.getNewValue().toString().equals("true")) { getPanoramiquesProjet()[getiPanoActuel()].setHotspotHTML(editHTML.getHsHTML(), iNum); dejaCharge = false; retireAffichageHotSpots(); Pane affHS1 = paneAffichageHS(strListePano(), getiPanoActuel()); affHS1.setId("labels"); vbVisuHotspots.getChildren().add(affHS1); } }); } else { bDragDrop = false; } mouseEvent1.consume(); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i/*from w w w . j av a 2s . c om*/ * @param longitude * @param latitude */ private static void afficheHSDiapo(int i, double longitude, double latitude) { double largeur = ivImagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle circPoint = new Circle(X, Y, 5); circPoint.setFill(Color.TURQUOISE); circPoint.setStroke(Color.ORANGE); circPoint.setId("dia" + i); circPoint.setCursor(Cursor.DEFAULT); panePanoramique.getChildren().add(circPoint); Tooltip tltpHSImage = new Tooltip("Diaporama #" + (i + 1)); tltpHSImage.setStyle(getStrTooltipStyle()); Tooltip.install(circPoint, tltpHSImage); circPoint.setOnDragDetected((mouseEvent1) -> { circPoint.setFill(Color.ORANGE); circPoint.setStroke(Color.TURQUOISE); bDragDrop = true; mouseEvent1.consume(); }); circPoint.setOnMouseDragged((mouseEvent1) -> { double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > ivImagePanoramique.getFitWidth()) { XX = ivImagePanoramique.getFitWidth(); } circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX()); double YY = mouseEvent1.getY(); if (YY < 0) { YY = 0; } if (YY > ivImagePanoramique.getFitHeight()) { YY = ivImagePanoramique.getFitHeight(); } circPoint.setCenterY(YY); afficheLoupe(XX, YY); mouseEvent1.consume(); }); circPoint.setOnMouseReleased((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(3, strPoint.length()); int iNumeroPoint = Integer.parseInt(strPoint); double X1 = mouseEvent1.getSceneX(); double Y1 = mouseEvent1.getSceneY(); double mouseX = X1 - ivImagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > ivImagePanoramique.getFitWidth()) { mouseX = ivImagePanoramique.getFitWidth(); } double mouseY = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (mouseY < 0) { mouseY = 0; } if (mouseY > ivImagePanoramique.getFitHeight()) { mouseY = ivImagePanoramique.getFitHeight(); } double longit, lat; double larg = ivImagePanoramique.getFitWidth(); String strLong, strLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; getPanoramiquesProjet()[getiPanoActuel()].getHotspotDiapo(iNumeroPoint).setLatitude(lat); getPanoramiquesProjet()[getiPanoActuel()].getHotspotDiapo(iNumeroPoint).setLongitude(longit); circPoint.setFill(Color.TURQUOISE); circPoint.setStroke(Color.ORANGE); mouseEvent1.consume(); }); circPoint.setOnMouseClicked((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(3, strPoint.length()); int iNum = Integer.parseInt(strPoint); Node nodePointDiapo; nodePointDiapo = (Node) panePanoramique.lookup("#dia" + strPoint); if (mouseEvent1.isControlDown()) { valideHS(); setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); panePanoramique.getChildren().remove(nodePointDiapo); for (int io = iNum + 1; io < getiNumDiapo(); io++) { nodePointDiapo = (Node) panePanoramique.lookup("#dia" + Integer.toString(io)); nodePointDiapo.setId("dia" + Integer.toString(io - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); setiNumDiapo(getiNumDiapo() - 1); getPanoramiquesProjet()[getiPanoActuel()].removeHotspotdiapo(iNum); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); mouseEvent1.consume(); } else { if (!bDragDrop) { List<String> choixDiapo1 = new ArrayList<>(); for (int ii = 0; ii < getiNombreDiapo(); ii++) { choixDiapo1.add(diaporamas[ii].getStrNomDiaporama()); } ChoiceDialog<String> dialog1 = new ChoiceDialog<>( diaporamas[getPanoramiquesProjet()[getiPanoActuel()].getHotspotDiapo(iNum) .getiNumDiapo()].getStrNomDiaporama(), choixDiapo1); dialog1.setTitle(rbLocalisation.getString("main.choixDiapo")); dialog1.setHeaderText(null); dialog1.setContentText(rbLocalisation.getString("main.diapos")); // Traditional way to get the response value. Optional<String> result1 = dialog1.showAndWait(); if (result1.isPresent()) { boolean bTrouve = false; int iTrouve = -1; for (int ii = 0; ii < getiNombreDiapo(); ii++) { if (diaporamas[ii].getStrNomDiaporama().equals(result1.get())) { bTrouve = true; iTrouve = ii; } } if (bTrouve) { retireAffichageHotSpots(); getPanoramiquesProjet()[getiPanoActuel()].getHotspotDiapo(iNum).setiNumDiapo(iTrouve); valideHS(); ajouteAffichageHotspots(); } } } else { bDragDrop = false; } mouseEvent1.consume(); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param i/*from w w w. jav a 2 s . c om*/ * @param longitude * @param latitude */ private static void afficheHSImage(int i, double longitude, double latitude) { double largeur = ivImagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Circle circPoint = new Circle(X, Y, 5); circPoint.setFill(Color.BLUE); circPoint.setStroke(Color.YELLOW); circPoint.setId("img" + i); circPoint.setCursor(Cursor.DEFAULT); panePanoramique.getChildren().add(circPoint); Tooltip tltpHSImage = new Tooltip("image #" + (i + 1)); tltpHSImage.setStyle(getStrTooltipStyle()); Tooltip.install(circPoint, tltpHSImage); circPoint.setOnDragDetected((mouseEvent1) -> { circPoint.setFill(Color.YELLOW); circPoint.setStroke(Color.BLUE); bDragDrop = true; mouseEvent1.consume(); }); circPoint.setOnMouseDragged((mouseEvent1) -> { double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > ivImagePanoramique.getFitWidth()) { XX = ivImagePanoramique.getFitWidth(); } circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX()); double YY = mouseEvent1.getY(); if (YY < 0) { YY = 0; } if (YY > ivImagePanoramique.getFitHeight()) { YY = ivImagePanoramique.getFitHeight(); } circPoint.setCenterY(YY); afficheLoupe(XX, YY); mouseEvent1.consume(); }); circPoint.setOnMouseReleased((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(3, strPoint.length()); int iNumeroPoint = Integer.parseInt(strPoint); double X1 = mouseEvent1.getSceneX(); double Y1 = mouseEvent1.getSceneY(); double mouseX = X1 - ivImagePanoramique.getLayoutX(); if (mouseX < 0) { mouseX = 0; } if (mouseX > ivImagePanoramique.getFitWidth()) { mouseX = ivImagePanoramique.getFitWidth(); } double mouseY = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (mouseY < 0) { mouseY = 0; } if (mouseY > ivImagePanoramique.getFitHeight()) { mouseY = ivImagePanoramique.getFitHeight(); } double longit, lat; double larg = ivImagePanoramique.getFitWidth(); String strLong, strLat; longit = 360.0f * mouseX / larg - 180; lat = 90.0d - 2.0f * mouseY / larg * 180.0f; getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLatitude(lat); getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLongitude(longit); circPoint.setFill(Color.BLUE); circPoint.setStroke(Color.YELLOW); mouseEvent1.consume(); }); circPoint.setOnMouseClicked((mouseEvent1) -> { String strPoint = circPoint.getId(); strPoint = strPoint.substring(3, strPoint.length()); int iNum = Integer.parseInt(strPoint); Node nodePointImage; nodePointImage = (Node) panePanoramique.lookup("#img" + strPoint); if (mouseEvent1.isControlDown()) { valideHS(); setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); panePanoramique.getChildren().remove(nodePointImage); for (int io = iNum + 1; io < getiNumImages(); io++) { nodePointImage = (Node) panePanoramique.lookup("#img" + Integer.toString(io)); nodePointImage.setId("img" + Integer.toString(io - 1)); } /** * on retire les anciennes indication de HS */ retireAffichageHotSpots(); setiNumImages(getiNumImages() - 1); getPanoramiquesProjet()[getiPanoActuel()].removeHotspotImage(iNum); /** * On les cre les nouvelles */ ajouteAffichageHotspots(); mouseEvent1.consume(); } else { if (!bDragDrop) { File fileRepert; if (getStrRepertHSImages().equals("")) { fileRepert = new File(getStrCurrentDir() + File.separator); } else { fileRepert = new File(getStrRepertHSImages()); } FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter( "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png"); fileChooser.setInitialDirectory(fileRepert); fileChooser.getExtensionFilters().addAll(extFilterImages); File fileFichierImage = fileChooser.showOpenDialog(null); if (fileFichierImage != null) { setStrRepertHSImages(fileFichierImage.getParent()); HotspotImage HS = getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNum); HS.setStrUrlImage(fileFichierImage.getAbsolutePath()); HS.setStrLienImg(fileFichierImage.getName()); HS.setStrInfo(fileFichierImage.getName().split("\\.")[0]); File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images"); if (!fileRepertImage.exists()) { fileRepertImage.mkdirs(); } try { copieFichierRepertoire(fileFichierImage.getAbsolutePath(), fileRepertImage.getAbsolutePath()); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } getPanoramiquesProjet()[getiPanoActuel()].setHotspotImage(HS, iNum); retireAffichageHotSpots(); Pane affHS1 = paneAffichageHS(strListePano(), getiPanoActuel()); affHS1.setId("labels"); vbVisuHotspots.getChildren().add(affHS1); } } else { bDragDrop = false; } mouseEvent1.consume(); } }); }