|
From: <de...@us...> - 2010-09-24 21:21:16
|
Revision: 5957
http://fudaa.svn.sourceforge.net/fudaa/?rev=5957&view=rev
Author: deniger
Date: 2010-09-24 21:21:09 +0000 (Fri, 24 Sep 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeHorizontalPersist.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java
trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliLookFeel.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/EbliWidget.java
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeHorizontalPersist.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeHorizontalPersist.java 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeHorizontalPersist.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -3,6 +3,7 @@
import java.awt.Color;
import java.awt.Font;
+
import org.fudaa.ctulu.CtuluRange;
import org.fudaa.ebli.trace.TraceLigne;
import org.fudaa.ebli.trace.TraceLigneModel;
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -15,14 +15,13 @@
import java.util.List;
import java.util.Map;
-import org.fudaa.ctulu.CtuluRange;
-import org.fudaa.ebli.commun.EbliLib;
-
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.persistence.FileStreamStrategy;
import com.thoughtworks.xstream.persistence.XmlArrayList;
+import org.fudaa.ebli.commun.EbliLib;
+
/**
* Classe qui se charge de rendre persistant les donn\xE9es des graphes en xml.
*
@@ -278,9 +277,12 @@
EGGraphe graphe = null;
String mainfile = getMainFilePath();
File fichierCourbes = getDirectoryCurves();
+ XStream parser = getParser();
+
+ EGGraphePersist.addEGAxeHorizontalPersistCompatibilityConfiguration(parser);
if (fichierCourbes.isDirectory()) {
// -- outputstream du xstream pour chargement des diff\xE9rents groupes--//
- ObjectInputStream in = EbliLib.createObjectInpuStream(new File(mainfile), getParser());
+ ObjectInputStream in = EbliLib.createObjectInpuStream(new File(mainfile), parser);
// --lecture biddon --//
in.readObject();
in.readObject();
@@ -383,7 +385,7 @@
ObjectInputStream in = null;
try {
// -- inputstream du xstream pour chargement des diff\xE9rents groupes--//
- in = getParser().createObjectInputStream(new FileReader(new File(getSpecifiqueDataFilePath())));
+ in = parser.createObjectInputStream(new FileReader(new File(getSpecifiqueDataFilePath())));
// -- lecture des donn\xE9es specifiques --//
Object specifiquesDatas = in.readObject();
@@ -392,17 +394,19 @@
graphe.getModel().setSpecificPersitDatas(specifiquesDatas, parameters);
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
return graphe;
}
+
+ public static void addEGAxeHorizontalPersistCompatibilityConfiguration(XStream parser) {
+ parser.aliasAttribute(EGAxeHorizontalPersist.class, "range", "minMax");
+ }
}
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 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/impression/EbliPageFormat.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -18,6 +18,10 @@
import java.awt.print.Paper;
import java.awt.print.PrinterJob;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.standard.MediaSizeName;
+
import com.memoire.bu.BuInformationsDocument;
import com.memoire.bu.BuInformationsSoftware;
@@ -109,13 +113,17 @@
* Construit un format de page correspondant a une feuille A4 Portrait avec des marges de 1cm.
*/
public static final PageFormat construireFormatA4Portrait(){
- final Paper paper = new Paper();
- paper.setSize(cmVersPixel(21D), cmVersPixel(29.7));
- paper.setImageableArea(cmVersPixel(1D), cmVersPixel(1D), cmVersPixel(19D), cmVersPixel(27.7D));
- final PageFormat r = new PageFormat();
- r.setPaper(paper);
- r.setOrientation(PageFormat.PORTRAIT);
- return PrinterJob.getPrinterJob().validatePage(r);
+ PrintRequestAttributeSet set=new HashPrintRequestAttributeSet(MediaSizeName.ISO_A4);
+ PageFormat validatePage = PrinterJob.getPrinterJob().validatePage(PrinterJob.getPrinterJob().getPageFormat(set));
+ double marge=cmVersPixel(1.5);
+ 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;
+ paper.setImageableArea(x, y, w, h);
+ validatePage.setPaper(paper);
+ return validatePage;
}
/**
@@ -476,7 +484,7 @@
p.setImageableArea(iyPF, ixPF, ihPF, iwPF);
}
r.setPaper(p);
- return r;
+ return PrinterJob.getPrinterJob().validatePage(r);
}
/**
Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliLookFeel.java
===================================================================
--- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliLookFeel.java 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliLookFeel.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -26,8 +26,8 @@
private static final Border RESIZE_BORDER_SELECTED = BorderFactory.createCompositeBorder(ROUNDED_BORDER,
RESIZE_BORDER);
private static final Border RESIZE_BORDER_PROP = new ProportionnalResizeBorder(MINI_THICKNESS, COLOR_HOVERED, true);
- private static final Border RESIZE_BORDER_SELECTED_PROP = BorderFactory.createCompositeBorder(ROUNDED_BORDER,
- RESIZE_BORDER_PROP);
+// private static final Border RESIZE_BORDER_SELECTED_PROP = BorderFactory.createCompositeBorder(ROUNDED_BORDER,
+// RESIZE_BORDER_PROP);
private static final Border DEFAULT_BORDER = BorderFactory.createEmptyBorder(MINI_THICKNESS);
private static final Border NON_RESIZE_BORDER_SELECTED = BorderFactory.createCompositeBorder(ROUNDED_BORDER,
DEFAULT_BORDER);
@@ -68,4 +68,11 @@
return DEFAULT_BORDER;
}
+
+ /**
+ * @return the defaultBorder
+ */
+ public static Border getDefaultBorder() {
+ return DEFAULT_BORDER;
+ }
}
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 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliScene.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -3,6 +3,7 @@
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
+import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
@@ -17,6 +18,7 @@
import org.fudaa.ctulu.CtuluCommand;
import org.fudaa.ctulu.CtuluCommandContainer;
import org.fudaa.ctulu.CtuluCommandManager;
+import org.fudaa.ctulu.CtuluLibArray;
import org.fudaa.ctulu.CtuluLibGenerator;
import org.fudaa.ctulu.CtuluLibImage;
import org.fudaa.ctulu.CtuluUI;
@@ -27,6 +29,7 @@
import org.netbeans.api.visual.action.WidgetAction;
import org.netbeans.api.visual.action.WidgetAction.Chain;
import org.netbeans.api.visual.graph.GraphScene;
+import org.netbeans.api.visual.model.ObjectState;
import org.netbeans.api.visual.widget.LayerWidget;
import org.netbeans.api.visual.widget.Scene;
import org.netbeans.api.visual.widget.Widget;
@@ -115,7 +118,7 @@
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;
}
@@ -214,7 +217,7 @@
}
public Dimension getDefaultImageDimension() {
- final Rectangle rec = getBounds();
+ final Rectangle rec = visu_.getBounds();
final Dimension d = new Dimension();
d.height = rec.height;
d.width = rec.width;
@@ -226,7 +229,43 @@
return produceImage(d.width, d.height, _params);
}
+ private boolean isProducingImage;
+
+ public void produceImage(Graphics2D g, final int _w, final int _h, final Map _params) {
+ isProducingImage = true;
+ final Dimension d = getDefaultImageDimension();
+ CtuluLibImage.setBestQuality(g);
+ AffineTransform old=g.getTransform();
+ if (_w != d.width || _h != d.height) {
+ g.scale(CtuluLibImage.getRatio(_w, d.width), CtuluLibImage.getRatio(_h, d.height));
+ }
+ if (CtuluLibImage.mustFillBackground(_params)) {
+ g.setPaint(getBackground());
+ g.fillRect(0, 0, d.width, d.height);
+ }
+ stopEditing();
+ Set<?> selectedObjects = getSelectedObjects();
+
+ if (!CtuluLibArray.isEmpty(selectedObjects)) {
+ selectedObjects = new HashSet(selectedObjects);
+ for (Object object : selectedObjects) {
+ Widget widget = findWidget(object);
+ if(widget!=null){
+ widget.setState(ObjectState.createNormal());
+ }
+ }
+ }
+ setSelectedObjects(Collections.EMPTY_SET);
+ getView().printAll(g);
+// paint(g);
+ isProducingImage = false;
+ setSelectedObjects(selectedObjects);
+ g.setTransform(old);
+
+ }
+
public BufferedImage produceImage(final int _w, final int _h, final Map _params) {
+ isProducingImage = true;
final Dimension d = getDefaultImageDimension();
final BufferedImage i = CtuluLibImage.createImage(_w, _h, _params);
final Graphics2D g = i.createGraphics();
@@ -238,7 +277,23 @@
g.setPaint(getBackground());
g.fillRect(0, 0, d.width, d.height);
}
- paint(g);
+ stopEditing();
+ Set<?> selectedObjects = getSelectedObjects();
+
+ if (!CtuluLibArray.isEmpty(selectedObjects)) {
+ selectedObjects = new HashSet(selectedObjects);
+ for (Object object : selectedObjects) {
+ Widget widget = findWidget(object);
+ if(widget!=null){
+ widget.setState(ObjectState.createNormal());
+ }
+ }
+ }
+ setSelectedObjects(Collections.EMPTY_SET);
+ getView().printAll(g);
+// paint(g);
+ isProducingImage = false;
+ setSelectedObjects(selectedObjects);
g.dispose();
i.flush();
return i;
@@ -274,9 +329,7 @@
// -- 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());
}
@@ -617,4 +670,11 @@
}
+ /**
+ * @return the isProducingImage
+ */
+ public boolean isProducingImage() {
+ return isProducingImage;
+ }
+
}
Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidget.java
===================================================================
--- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidget.java 2010-09-24 21:20:39 UTC (rev 5956)
+++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/EbliWidget.java 2010-09-24 21:21:09 UTC (rev 5957)
@@ -514,11 +514,10 @@
@Override
public void notifyStateChanged(final ObjectState _previousState, final ObjectState _newState) {
if (!useBorder_) { return; }
+
final EbliLookFeel lookFeel = (EbliLookFeel) getScene().getLookFeel();
-
final EbliWidget parent = getGroup();
if (parent != null) {
- // System.err.println("parent not null"+ toString());
setBorder(lookFeel.getBorderInGroup(_newState));
parent.setBorder(lookFeel.getBorder(_newState, parent.getController().canResize_, parent.getController()
.isProportional()));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|