|
From: <de...@us...> - 2012-03-06 16:23:28
|
Revision: 6965
http://fudaa.svn.sourceforge.net/fudaa/?rev=6965&view=rev
Author: deniger
Date: 2012-03-06 16:23:16 +0000 (Tue, 06 Mar 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java
trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliScene.java
trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidgetShape.java
Added Paths:
-----------
trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliPrintOverviewLayer.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java 2012-03-06 15:23:16 UTC (rev 6964)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java 2012-03-06 16:23:16 UTC (rev 6965)
@@ -1,9 +1,13 @@
/*
- * @creation 2001-09-27
+ * @creation 2001-09-27
+ *
* @modification $Date: 2006-09-19 14:55:54 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
+ *
+ * @license GNU General Public License 2
+ *
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ *
+ * @mail de...@fu...
*/
package org.fudaa.ebli.impression;
@@ -26,8 +30,10 @@
import com.memoire.bu.BuInformationsSoftware;
import org.fudaa.ebli.ressource.EbliResource;
+
/**
* Une extension du <code>PageFormat</code> qui gere les entetes et pieds de pages.
+ *
* @version $Id: EbliPageFormat.java,v 1.14 2006-09-19 14:55:54 deniger Exp $
* @author Fred Deniger
*/
@@ -38,32 +44,26 @@
*/
private static final Font FONTBASE = new Font("SansSerif", Font.PLAIN, 10);
- private static String getNth(){
+ private static String getNth() {
return "nothing";
}
+
/**
- * Les differents types d'entetes. La premiere colonne correspond aux cles des entetes et la
- * deuxieme aux valeurs affichees.
+ * Les differents types d'entetes. La premiere colonne correspond aux cles des entetes et la deuxieme aux valeurs
+ * affichees.
*/
- static final String[][] TYPE_ENTETE = new String[][] {
- { getNth(), EbliResource.EBLI.getString("aucun")},
- { "page", EbliResource.EBLI.getString("page")},
- { "date", EbliResource.EBLI.getString("date")},
- { "title", EbliResource.EBLI.getString("titre du document")},
- { "author", EbliResource.EBLI.getString("auteur")},
- { "organization", EbliResource.EBLI.getString("organisation")},
- { "department", EbliResource.EBLI.getString("departement")},
- { "contact", EbliResource.EBLI.getString("email")},
- { "application", EbliResource.EBLI.getString("application")},
- { "location", EbliResource.EBLI.getString("localisation du fichier")},
- { "comment", EbliResource.EBLI.getString("commentaires")}};
+ static final String[][] TYPE_ENTETE = new String[][] { { getNth(), EbliResource.EBLI.getString("aucun") },
+ { "page", EbliResource.EBLI.getString("page") }, { "date", EbliResource.EBLI.getString("date") },
+ { "title", EbliResource.EBLI.getString("titre du document") }, { "author", EbliResource.EBLI.getString("auteur") },
+ { "organization", EbliResource.EBLI.getString("organisation") }, { "department", EbliResource.EBLI.getString("departement") },
+ { "contact", EbliResource.EBLI.getString("email") }, { "application", EbliResource.EBLI.getString("application") },
+ { "location", EbliResource.EBLI.getString("localisation du fichier") }, { "comment", EbliResource.EBLI.getString("commentaires") } };
/**
* le format de page utilise.
*/
private PageFormat pageFormat_;
/**
- * Correspond au type d'entete utilise (la ligne du tableau <code>TYPE_ENTETE</code>. utilise
- * en interne uniquement.
+ * Correspond au type d'entete utilise (la ligne du tableau <code>TYPE_ENTETE</code>. utilise en interne uniquement.
*/
private int enteteGauche_;
private int enteteMilieu_;
@@ -81,16 +81,15 @@
private boolean piedVisible_;
/**
- * appelle le constructeur <code>EbliPageFormat(PageFormat)</code> avec comme parametre
- * <code>null</code>.
+ * appelle le constructeur <code>EbliPageFormat(PageFormat)</code> avec comme parametre <code>null</code>.
*/
public EbliPageFormat() {
this(null);
}
/**
- * Initialise le format avec <code>_format</code> si non null ( un format A4 par defaut est
- * choisi sinon ). L'entete et le pied sont par defaut vide et invisible.
+ * Initialise le format avec <code>_format</code> si non null ( un format A4 par defaut est choisi sinon ). L'entete
+ * et le pied sont par defaut vide et invisible.
*/
public EbliPageFormat(final PageFormat _format) {
if (_format == null) {
@@ -112,25 +111,29 @@
/**
* Construit un format de page correspondant a une feuille A4 Portrait avec des marges de 1cm.
*/
- public static final PageFormat construireFormatA4Portrait(){
- PrintRequestAttributeSet set=new HashPrintRequestAttributeSet(MediaSizeName.ISO_A4);
+ public static final PageFormat construireFormatA4Portrait() {
+ MediaSizeName isoA4 = MediaSizeName.ISO_A4;
+ return getPageFormat(isoA4,true);
+ }
+
+ public static PageFormat getPageFormat(MediaSizeName isoA4, boolean withMarge) {
+ PrintRequestAttributeSet set = new HashPrintRequestAttributeSet(isoA4);
PageFormat validatePage = PrinterJob.getPrinterJob().validatePage(PrinterJob.getPrinterJob().getPageFormat(set));
- double marge=cmVersPixel(1.5);
+ double marge = withMarge ? cmVersPixel(1.5) : 0;
Paper paper = validatePage.getPaper();
- double x=paper.getImageableX()+marge;
- double y=paper.getImageableY()+marge;
- double w=validatePage.getImageableWidth()-2*marge;
- double h=validatePage.getImageableHeight()-2*marge;
+ double x = paper.getImageableX() + marge;
+ double y = paper.getImageableY() + marge;
+ double w = validatePage.getImageableWidth() - 2 * marge;
+ double h = validatePage.getImageableHeight() - 2 * marge;
paper.setImageableArea(x, y, w, h);
validatePage.setPaper(paper);
return validatePage;
}
/**
- * renvoie l'index de <code>TYPE_ELEMENT</code> correspondant a la cle <code>_cle</code>(
- * premiere colonne ).
+ * renvoie l'index de <code>TYPE_ELEMENT</code> correspondant a la cle <code>_cle</code>( premiere colonne ).
*/
- private static int getIndexDepuisCle(final String _cle){
+ private static int getIndexDepuisCle(final String _cle) {
if (_cle == null) {
return 0;
}
@@ -143,10 +146,9 @@
}
/**
- * renvoie l'index de <code>TYPE_ELEMENT</code> correspondant a la valeur <code>_valeur</code>(
- * deuxieme colonne ).
+ * renvoie l'index de <code>TYPE_ELEMENT</code> correspondant a la valeur <code>_valeur</code>( deuxieme colonne ).
*/
- private static int getIndexDepuisValeur(final String _valeur){
+ private static int getIndexDepuisValeur(final String _valeur) {
if (_valeur == null) {
return 0;
}
@@ -159,10 +161,9 @@
}
/**
- * renvoie la cle de <code>TYPE_ELEMENT</code> correspondant a l'index <code>_index</code>(
- * premiere colonne ).
+ * renvoie la cle de <code>TYPE_ELEMENT</code> correspondant a l'index <code>_index</code>( premiere colonne ).
*/
- private static String getCleDepuisIndex(final int _index){
+ private static String getCleDepuisIndex(final int _index) {
if ((_index > -1) && (_index < TYPE_ENTETE.length)) {
return TYPE_ENTETE[_index][0];
}
@@ -170,10 +171,9 @@
}
/**
- * renvoie la valeur de <code>TYPE_ELEMENT</code> correspondant a l'index <code>_index</code>(
- * deuxieme colonne ).
+ * renvoie la valeur de <code>TYPE_ELEMENT</code> correspondant a l'index <code>_index</code>( deuxieme colonne ).
*/
- private static String getValeurDepuisIndex(final int _index){
+ private static String getValeurDepuisIndex(final int _index) {
if ((_index > -1) && (_index < TYPE_ENTETE.length)) {
return TYPE_ENTETE[_index][1];
}
@@ -181,57 +181,56 @@
}
/**
- * retourne <code>true</code>, si la cle correspondant a l'index <code>_test</code> est
- * <code>"nothing"</code>.
+ * retourne <code>true</code>, si la cle correspondant a l'index <code>_test</code> est <code>"nothing"</code>.
*/
- private static boolean isVide(final int _test){
+ private static boolean isVide(final int _test) {
return getNth().equals(getCleDepuisIndex(_test));
}
/**
- * retourne <code>true</code>, si les cles correspondant aux index passes en parametres sont
- * toutes egales a <code>"nothing"</code>.
+ * retourne <code>true</code>, si les cles correspondant aux index passes en parametres sont toutes egales a
+ * <code>"nothing"</code>.
*/
- private static boolean isVide(final int _gauche,final int _milieu,final int _droit){
+ private static boolean isVide(final int _gauche, final int _milieu, final int _droit) {
return (isVide(_gauche) && isVide(_milieu) && isVide(_droit));
}
/**
* En fonction de <code>_g</code>, renvoie la hauteur de la Font <code>FONTBASE</code>.
*/
- private static int getHauteurFONTBASE(final Graphics _g){
+ private static int getHauteurFONTBASE(final Graphics _g) {
_g.setFont(FONTBASE);
final FontMetrics metric = _g.getFontMetrics();
return metric.getMaxAscent() + metric.getMaxDescent() + metric.getLeading();
}
/**
- * Renvoie <code>true</code>, si les rectangles de dimensions (<code>_hBase</code>,
- * <code>_wBase</code>) et (<code>_hComp</code>,<code>_wComp</code>) sont equivalents.
+ * Renvoie <code>true</code>, si les rectangles de dimensions (<code>_hBase</code>, <code>_wBase</code>) et (
+ * <code>_hComp</code>,<code>_wComp</code>) sont equivalents.
*/
- private static boolean isRectanglesEquivalents(final int _hBase,final int _wBase,final int _hComp,final int _wComp){
+ private static boolean isRectanglesEquivalents(final int _hBase, final int _wBase, final int _hComp, final int _wComp) {
return (((_hBase == _hComp) && (_wBase == _wComp)) || ((_hBase == _wComp) && (_wBase == _hComp)));
}
/**
- * Renvoie la cle du type d'entete correpondante a la valeur <code>_valeur</code>. La cle
- * d'entete est utilise en interne pour l'identification et la valeur est l'equivalent affiche.
+ * Renvoie la cle du type d'entete correpondante a la valeur <code>_valeur</code>. La cle d'entete est utilise en
+ * interne pour l'identification et la valeur est l'equivalent affiche.
*/
- public static String getCleTypeEnteteDepuisValeur(final String _valeur){
+ public static String getCleTypeEnteteDepuisValeur(final String _valeur) {
return getCleDepuisIndex(getIndexDepuisValeur(_valeur));
}
/**
* Renvoie la valeur du type d'entete correpondante a la cle <code>_cle</code>.
*/
- public static String getValeurTypeEnteteDepuisCle(final String _cle){
+ public static String getValeurTypeEnteteDepuisCle(final String _cle) {
return getValeurDepuisIndex(getIndexDepuisCle(_cle));
}
/**
* Les differents types d'entetes possibles.
*/
- public static String[] getValeursTypeEntete(){
+ public static String[] getValeursTypeEntete() {
final int taille = TYPE_ENTETE.length;
final String[] r = new String[taille];
for (int i = 0; i < taille; i++) {
@@ -241,15 +240,15 @@
}
/**
- * A partir des informations donnees par <code>_pageable</code> et <code>_pageImprimee</code>,
- * renvoie la chaine correspondante a la cle <code>_cle</code> du tableau
- * <code>TYPE_ENTETE</code>.
+ * A partir des informations donnees par <code>_pageable</code> et <code>_pageImprimee</code>, renvoie la chaine
+ * correspondante a la cle <code>_cle</code> du tableau <code>TYPE_ENTETE</code>.
+ *
* @param _cle cle du tableau <code>TYPE_ENTETE</code>.
* @param _pageable contient les informations du document.
* @param _pageImprimee le numero de la page a imprimer.
* @see #TYPE_ENTETE
*/
- public static String getEquivalent(final String _cle,final EbliPageable _pageable,final int _pageImprimee){
+ public static String getEquivalent(final String _cle, final EbliPageable _pageable, final int _pageImprimee) {
if (getNth().equals(_cle)) {
return "";
}
@@ -257,8 +256,7 @@
return "";
}
if ("page".equals(_cle)) {
- return EbliResource.EBLI.getString("page ") + (_pageImprimee + 1) + "/"
- + _pageable.getNumberOfPages();
+ return EbliResource.EBLI.getString("page ") + (_pageImprimee + 1) + "/" + _pageable.getNumberOfPages();
}
String r = "";
BuInformationsDocument id = _pageable.getInformationsDocument();
@@ -301,21 +299,21 @@
/**
* Transforme des centimetres en pixels: un pixel represente 1/72 de inch et un inch=2,54 cm.
*/
- public static double cmVersPixel(final double _cm){
+ public static double cmVersPixel(final double _cm) {
return (72D * _cm / 2.54);
}
/**
* pixels en cm.
*/
- public static double pixelVersCm(final double _pix){
+ public static double pixelVersCm(final double _pix) {
return (2.54 * _pix / 72D);
}
/**
* Renvoie l'intitule correspondant au format <code>_type</code>.
*/
- public static String getPageFormatType(final PageFormat _type){
+ public static String getPageFormatType(final PageFormat _type) {
//h et w en mm
final int h = (int) Math.round(pixelVersCm(_type.getHeight()) * 10);
final int w = (int) Math.round(pixelVersCm(_type.getWidth()) * 10);
@@ -336,7 +334,7 @@
/**
* Dessine si necessaire l'entete et le pied de page en fonction des parametres.
*/
- public static void dessinePage(final Graphics _g,final EbliPageable _target,final int _page){
+ public static void dessinePage(final Graphics _g, final EbliPageable _target, final int _page) {
final Graphics2D g2d = (Graphics2D) _g;
//si l'entete et le pied de page sont vides ou invisibles: arret
final EbliPageFormat ebliPage = _target.getDefaultEbliPageFormat();
@@ -364,7 +362,7 @@
final String[] entete = ebliPage.getEnteteEquivalent(_target, _page);
//recupere les coordonnees du point en haut a gauche.
final double x = format.getImageableX();
- final double y = format.getImageableY();
+ final double y = format.getImageableY();
// la hauteur de l'entete avec 2 de plus par securite.
final int hauteurEntete = ebliPage.getHauteurEntete(g2d) + 2;
//On se place au coin haut gauche.
@@ -395,10 +393,9 @@
}
/**
- * Permet de dessiner les trois chaines <code>_chaines</code>
- * dans la largeur precisee.
+ * Permet de dessiner les trois chaines <code>_chaines</code> dans la largeur precisee.
*/
- private static void dessineChaine(final Graphics _g2d,final String[] _chaines,final int _largeur){
+ private static void dessineChaine(final Graphics _g2d, final String[] _chaines, final int _largeur) {
final FontMetrics metric = _g2d.getFontMetrics();
int styloX = 0;
final int styloY = metric.getMaxAscent();
@@ -423,14 +420,14 @@
/**
* renvoie la hauteur en pixel necessaire a l'affichage de l'entete.
*/
- private int getHauteurEntete(final Graphics _g){
+ private int getHauteurEntete(final Graphics _g) {
if ((isEnteteVide()) || (!isEnteteVisible())) {
return 0;
}
return getHauteurFONTBASE(_g);
}
- private int getHauteurPied(final Graphics _g){
+ private int getHauteurPied(final Graphics _g) {
if ((isPiedVide()) || (!isPiedVisible())) {
return 0;
}
@@ -440,25 +437,25 @@
/**
* Renvoie <code>true</code> si les 3 parties de l'entetes correspondent a "nothing".
*/
- private boolean isEnteteVide(){
+ private boolean isEnteteVide() {
return isVide(enteteGauche_, enteteMilieu_, enteteDroit_);
}
- private boolean isPiedVide(){
+ private boolean isPiedVide() {
return isVide(piedGauche_, piedMilieu_, piedDroit_);
}
/**
* Renvoie le format de page utilise.
*/
- public PageFormat getPageFormat(){
+ public PageFormat getPageFormat() {
return pageFormat_;
}
/**
* Modifie le format de page utilise apres validation.
*/
- public void setPageFormat(final PageFormat _format){
+ public void setPageFormat(final PageFormat _format) {
if (_format == null) {
return;
}
@@ -466,10 +463,10 @@
}
/**
- * Renvoie le format en prenant en compte de la taille de l'entete et du pied de page. Les marges
- * "haut" et "bas" sont augmentees en fonction de la taille de l'entete et du pied de page.
+ * Renvoie le format en prenant en compte de la taille de l'entete et du pied de page. Les marges "haut" et "bas" sont
+ * augmentees en fonction de la taille de l'entete et du pied de page.
*/
- public PageFormat getDocumentPageFormat(final Graphics _g){
+ public PageFormat getDocumentPageFormat(final Graphics _g) {
final PageFormat r = (PageFormat) pageFormat_.clone();
final int he = getHauteurEntete(_g);
final int hp = getHauteurPied(_g);
@@ -490,90 +487,90 @@
/**
* Renvoie <code>true</code>, si l'entete est visible.
*/
- public boolean isEnteteVisible(){
+ public boolean isEnteteVisible() {
return enteteVisible_;
}
- public boolean isPiedVisible(){
+ public boolean isPiedVisible() {
return piedVisible_;
}
/**
* Modifie la visibilite de l'entete.
*/
- public void setEnteteVisible(final boolean _new){
+ public void setEnteteVisible(final boolean _new) {
enteteVisible_ = _new;
}
- public void setPiedVisible(final boolean _new){
+ public void setPiedVisible(final boolean _new) {
piedVisible_ = _new;
}
/**
* Renvoie la cle correspondante a la partie gauche de l'entete.
*/
- public String getEnteteGauche(){
+ public String getEnteteGauche() {
return getCleDepuisIndex(enteteGauche_);
}
- public String getEnteteMilieu(){
+ public String getEnteteMilieu() {
return getCleDepuisIndex(enteteMilieu_);
}
- public String getEnteteDroit(){
+ public String getEnteteDroit() {
return getCleDepuisIndex(enteteDroit_);
}
- public String getPiedGauche(){
+ public String getPiedGauche() {
return getCleDepuisIndex(piedGauche_);
}
- public String getPiedMilieu(){
+ public String getPiedMilieu() {
return getCleDepuisIndex(piedMilieu_);
}
- public String getPiedDroit(){
+ public String getPiedDroit() {
return getCleDepuisIndex(piedDroit_);
}
/**
- * modifie la cle correspondante a la partie gauche de l'entete. Si <code>_new</code> ne
- * correspond pas a une entete, la cle "nothing" est utilisee.
+ * modifie la cle correspondante a la partie gauche de l'entete. Si <code>_new</code> ne correspond pas a une entete,
+ * la cle "nothing" est utilisee.
*/
- public void setEnteteGauche(final String _new){
+ public void setEnteteGauche(final String _new) {
enteteGauche_ = getIndexDepuisCle(_new);
}
- public void setEnteteMilieu(final String _new){
+ public void setEnteteMilieu(final String _new) {
enteteMilieu_ = getIndexDepuisCle(_new);
}
- public void setEnteteDroit(final String _new){
+ public void setEnteteDroit(final String _new) {
enteteDroit_ = getIndexDepuisCle(_new);
}
- public void setPiedGauche(final String _new){
+ public void setPiedGauche(final String _new) {
piedGauche_ = getIndexDepuisCle(_new);
}
- public void setPiedMilieu(final String _new){
+ public void setPiedMilieu(final String _new) {
piedMilieu_ = getIndexDepuisCle(_new);
}
- public void setPiedDroit(final String _new){
+ public void setPiedDroit(final String _new) {
piedDroit_ = getIndexDepuisCle(_new);
}
/**
* Modifie les trois parties de l'entete en meme temps.
*/
- public void setEntete(final String _gauche,final String _milieu,final String _droit){
+ public void setEntete(final String _gauche, final String _milieu, final String _droit) {
setEnteteGauche(_gauche);
setEnteteMilieu(_milieu);
setEnteteDroit(_droit);
}
- public void setPied(final String _gauche,final String _milieu,final String _droit){
+ public void setPied(final String _gauche, final String _milieu, final String _droit) {
setPiedGauche(_gauche);
setPiedMilieu(_milieu);
setPiedDroit(_droit);
@@ -581,9 +578,10 @@
/**
* Renvoie les trois partie de l'entete.
+ *
* @return un tableau a 3 lignes.
*/
- public String[] getEntete(){
+ public String[] getEntete() {
final String[] r = new String[3];
r[0] = getEnteteGauche();
r[1] = getEnteteMilieu();
@@ -591,7 +589,7 @@
return r;
}
- public String[] getPied(){
+ public String[] getPied() {
final String[] r = new String[3];
r[0] = getPiedGauche();
r[1] = getPiedMilieu();
@@ -600,10 +598,9 @@
}
/**
- * renvoie les valeurs reelles des 3 parties de l'entete en fonctin de <code>_page</code> et de
- * <code>_numPage</code>.
+ * renvoie les valeurs reelles des 3 parties de l'entete en fonctin de <code>_page</code> et de <code>_numPage</code>.
*/
- public String[] getEnteteEquivalent(final EbliPageable _page,final int _numPage){
+ public String[] getEnteteEquivalent(final EbliPageable _page, final int _numPage) {
final String[] r = new String[3];
r[0] = getEquivalent(getEnteteGauche(), _page, _numPage);
r[1] = getEquivalent(getEnteteMilieu(), _page, _numPage);
@@ -611,7 +608,7 @@
return r;
}
- public String[] getPiedEquivalent(final EbliPageable _page,final int _numPage){
+ public String[] getPiedEquivalent(final EbliPageable _page, final int _numPage) {
final String[] r = new String[3];
r[0] = getEquivalent(getPiedGauche(), _page, _numPage);
r[1] = getEquivalent(getPiedMilieu(), _page, _numPage);
Added: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliPrintOverviewLayer.java
===================================================================
--- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliPrintOverviewLayer.java (rev 0)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliPrintOverviewLayer.java 2012-03-06 16:23:16 UTC (rev 6965)
@@ -0,0 +1,40 @@
+package org.fudaa.ebli.visuallibrary;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.print.PageFormat;
+
+import javax.print.attribute.standard.MediaSizeName;
+
+import org.fudaa.ebli.impression.EbliPageFormat;
+import org.fudaa.ebli.trace.TraceLigne;
+import org.netbeans.api.visual.widget.LayerWidget;
+import org.netbeans.api.visual.widget.Scene;
+
+public final class EbliPrintOverviewLayer extends LayerWidget {
+
+ private TraceLigne traceLigne;
+
+ EbliPrintOverviewLayer(Scene scene) {
+ super(scene);
+ traceLigne = new TraceLigne();
+ traceLigne.setEpaisseur(2f);
+ traceLigne.setCouleur(Color.RED);
+ setVisible(false);
+ }
+
+ protected void paintWidget() {
+ if(!isVisible()){
+ return;
+ }
+ final Graphics2D g = getGraphics();
+
+ PageFormat pg = EbliPageFormat.getPageFormat(MediaSizeName.ISO_A4,false);
+ int h = (int) pg.getImageableHeight();
+ int w = (int) pg.getImageableWidth();
+ traceLigne.dessineRectangle(g, 0, 0, w, h);
+ traceLigne.dessineTrait(g, 0, 0, w, h);
+ traceLigne.dessineTrait(g, w, 0, 0, h);
+
+ }
+}
\ No newline at end of file
Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliScene.java
===================================================================
--- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliScene.java 2012-03-06 15:23:16 UTC (rev 6964)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliScene.java 2012-03-06 16:23:16 UTC (rev 6965)
@@ -44,8 +44,7 @@
*
* @author Adrien Hadoux
*/
-public class EbliScene extends GraphScene<EbliNode, EbliEdge> implements CtuluImageProducer,
- EbliWidgetInterface<EbliSceneController> {
+public class EbliScene extends GraphScene<EbliNode, EbliEdge> implements CtuluImageProducer, EbliWidgetInterface<EbliSceneController> {
int idx_ = 0;
@@ -64,8 +63,8 @@
public final void setCtuluUi(final CtuluUI _ctuluUi) {
ctuluUi_ = _ctuluUi;
}
-
- private static class DelegateMouseListener implements MouseListener{
+
+ private static class DelegateMouseListener implements MouseListener {
private final MouseListener delegate;
/**
@@ -116,17 +115,16 @@
}
}
-
-
+
@Override
public JComponent createView() {
- JComponent res=super.createView();
+ JComponent res = super.createView();
//to avoid add bugs with visual library: scrolling while the user exits the mouse from the scene
MouseListener mouseListener = (MouseListener) res;
res.removeMouseListener(mouseListener);
res.addMouseListener(new DelegateMouseListener(mouseListener));
return res;
-
+
}
public void clearSelection() {
@@ -135,7 +133,9 @@
public final Set<EbliNode> getSelectedNodes() {
final Set init = getSelectedObjects();
- if (init == null) { return null; }
+ if (init == null) {
+ return null;
+ }
final Set<EbliNode> res = new HashSet<EbliNode>(init.size());
for (final Iterator it = init.iterator(); it.hasNext();) {
res.add((EbliNode) it.next());
@@ -155,11 +155,12 @@
}
protected void stopEditing(final Widget w) {
- if (w == null) { return; }
+ if (w == null) {
+ return;
+ }
final Chain actions = w.getActions();
for (final WidgetAction widgetAction : actions.getActions()) {
- if (widgetAction instanceof InplaceEditorProvider.EditorController
- && ((InplaceEditorProvider.EditorController) widgetAction).isEditorVisible()) {
+ if (widgetAction instanceof InplaceEditorProvider.EditorController && ((InplaceEditorProvider.EditorController) widgetAction).isEditorVisible()) {
((InplaceEditorProvider.EditorController) widgetAction).closeEditor(true);
}
}
@@ -177,7 +178,9 @@
final Set obj = getObjects();
for (final Iterator it = obj.iterator(); it.hasNext();) {
final EbliWidget w = (EbliWidget) findWidget(it.next());
- if (w.getIntern().getId().equals(_id)) { return w; }
+ if (w.getIntern().getId().equals(_id)) {
+ return w;
+ }
}
return null;
@@ -187,7 +190,9 @@
final Set obj = getObjects();
for (final Iterator it = obj.iterator(); it.hasNext();) {
final EbliNode w = (EbliNode) it.next();
- if (w.getWidget() != null && w.getWidget().getIntern().getId().equals(_id)) { return w; }
+ if (w.getWidget() != null && w.getWidget().getIntern().getId().equals(_id)) {
+ return w;
+ }
}
return null;
}
@@ -237,8 +242,7 @@
}
- public void firePropertyChange(final Object _nodeOrEdge, final String propertyName, final Object oldValue,
- final Object newValue) {
+ public void firePropertyChange(final Object _nodeOrEdge, final String propertyName, final Object oldValue, final Object newValue) {
PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
event.setPropagationId(_nodeOrEdge);
propertyChangeSupport_.firePropertyChange(event);
@@ -275,6 +279,12 @@
private final LayerWidget interactionLayer_;
+ private final LayerWidget printOverviewLayer;
+
+ public LayerWidget getPrintOverviewLayer() {
+ return printOverviewLayer;
+ }
+
/**
* la visu du graphscene
*/
@@ -283,13 +293,14 @@
/**
* la liste des listener associes a la scene
*/
- // Collection<EbliNodeListener> listenerList;
public EbliScene() {
super();
setLookFeel(new EbliLookFeel());
// creation du layer de mise en page
interactionLayer_ = new LayerWidget(this);
+ printOverviewLayer = new EbliPrintOverviewLayer(this);
addChild(interactionLayer_);
+ addChild(printOverviewLayer);
visu_ = new LayerWidget(this);
addChild(visu_);
@@ -318,6 +329,12 @@
public void produceImage(Graphics2D g, final int _w, final int _h, final Map _params) {
isProducingImage = true;
+ boolean printOverviewVisible = printOverviewLayer.isVisible();
+ if (printOverviewVisible) {
+ printOverviewLayer.setVisible(false);
+ refreshScene(this);
+ }
+ repaint();
final Dimension d = getDefaultImageDimension();
CtuluLibImage.setBestQuality(g);
AffineTransform old = g.getTransform();
@@ -346,11 +363,18 @@
isProducingImage = false;
setSelectedObjects(selectedObjects);
g.setTransform(old);
+ printOverviewLayer.setVisible(printOverviewVisible);
+ refreshScene(this);
}
public BufferedImage produceImage(final int _w, final int _h, final Map _params) {
isProducingImage = true;
+ boolean printOverviewVisible = printOverviewLayer.isVisible();
+ if (printOverviewVisible) {
+ printOverviewLayer.setVisible(false);
+ refreshScene(this);
+ }
final Dimension d = getDefaultImageDimension();
final BufferedImage i = CtuluLibImage.createImage(_w, _h, _params);
final Graphics2D g = i.createGraphics();
@@ -381,6 +405,8 @@
setSelectedObjects(selectedObjects);
g.dispose();
i.flush();
+ printOverviewLayer.setVisible(printOverviewVisible);
+ refreshScene(this);
return i;
}
@@ -414,7 +440,9 @@
// -- on ne cree la widget que si necessaire
node.getCreator().create(this);
widget = node.getWidget();
- if (widget == null) { return null; }
+ if (widget == null) {
+ return null;
+ }
if (node.getCreator().getInitPreferredLocation() != null) {
widget.setPreferredLocation(node.getCreator().getInitPreferredLocation());
}
@@ -425,7 +453,9 @@
widget = node.getCreator().getWidget();
}
- if (widget == null) { return null; }
+ if (widget == null) {
+ return null;
+ }
widget.getController().setNode(node);
node.getCreator().widgetAttached();
// -- ajout dans la vue layer --//
@@ -512,7 +542,9 @@
*/
public void resizeInnerWidget(final Dimension newSize, final Dimension oldSize) {
// this.getVisu().setPreferredSize(newSize);
- if (getNodes().size() == 0) { return; }
+ if (getNodes().size() == 0) {
+ return;
+ }
for (final Iterator<EbliNode> it2 = getNodes().iterator(); it2.hasNext();) {
final EbliNode currentNode = it2.next();
@@ -538,20 +570,20 @@
public void moveWidgetTo(final EbliWidget widget, final int position) {
- // -- ne marche pas.......................... --//
+ // -- ne marche pas.......................... --//
- //
- // if (widget.getParentWidget() == null)
- // return;
- // List<Widget> children = getChildren();
- // int i = children.indexOf (widget);
- // if (i < 0)
- // return;
- // children.remove (i);
- // children.add (position, widget);
- // widget.revalidate ();
- // widget.getParentWidget().revalidate ();
- // refresh();
+ //
+ // if (widget.getParentWidget() == null)
+ // return;
+ // List<Widget> children = getChildren();
+ // int i = children.indexOf (widget);
+ // if (i < 0)
+ // return;
+ // children.remove (i);
+ // children.add (position, widget);
+ // widget.revalidate ();
+ // widget.getParentWidget().revalidate ();
+ // refresh();
}
@@ -626,7 +658,9 @@
final List<Widget> children = layer.getChildren();
final int i = children.indexOf(parent);
- if (i < 0 || i == children.size() - 1) { return; }
+ if (i < 0 || i == children.size() - 1) {
+ return;
+ }
layer.removeChild(parent);
layer.addChild(i + 1, parent);
widget.revalidate();
@@ -667,7 +701,9 @@
final List<Widget> children = layer.getChildren();
final int i = children.indexOf(parent);
- if (i <= 0) { return; }
+ if (i <= 0) {
+ return;
+ }
layer.removeChild(parent);
layer.addChild(i - 1, parent);
widget.revalidate();
Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidgetShape.java
===================================================================
--- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidgetShape.java 2012-03-06 15:23:16 UTC (rev 6964)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidgetShape.java 2012-03-06 16:23:16 UTC (rev 6965)
@@ -27,35 +27,11 @@
// double rotation_;
- public ShapeCreator getShaper_() {
+ public ShapeCreator getShaper() {
return shaper_;
}
- // public TraceLigneModel tl_ = new TraceLigneModel(TraceLigne.LISSE, 5,
- // couleurContour);//pour l'exempls
- /**
- * @return the rotation_
- */
- // public double getRotation() {
- // return rotation_;
- // }
- //
- // /**
- // * @param rotation_ the rotation_ to set
- // */
- // public void setRotation(double rotation_) {
- // this.rotation_ = rotation_;
- // // Dimension dim = getPreferredSize();
- // // if (dim != null) {
- // // Shape rec = new Rectangle(0, 0, dim.width, dim.height);
- // // AffineTransform tr = AffineTransform.getRotateInstance(dim.width / 2,
- // dim.height / 2, rotation_);
- // // Rectangle bounds2 = tr.createTransformedShape(rec).getBounds();
- // // dim.height = bounds2.height;
- // // dim.width = bounds2.width;
- // // setPreferredSize(dim);
- // // }
- // }
+
public EbliWidgetShape(final EbliScene scene, final ShapeCreator _shaper, final Map _options) {
super(scene, true);
super.setCheckClipping(true);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|