From: <had...@us...> - 2008-08-18 16:11:34
|
Revision: 3824 http://fudaa.svn.sourceforge.net/fudaa/?rev=3824&view=rev Author: hadouxad Date: 2008-08-18 16:11:37 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - Duplication des graphes ok - Edition des graphes ok - Mise a jour prises en compte lors de la modification dans la Frame Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -345,7 +345,12 @@ */ public EGAxeHorizontal duplicate() { - return new EGAxeHorizontal(this); + + EGAxeHorizontal duplic = new EGAxeHorizontal(this); + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + duplic.setTitre(this.getTitre()); + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -281,6 +281,7 @@ r += fm.getHeight() + 1; } else { final String axeTexte = getAxeTexte(); + System.err.println("HYAYHAH: axeTexte=" + axeTexte); final int wT = fm.stringWidth(axeTexte) + 4; // Le titre recouvre tout l'axe if (r < wT) { @@ -356,7 +357,11 @@ } public EGAxeVertical duplicate() { - return new EGAxeVertical(this); + EGAxeVertical duplic= new EGAxeVertical(this); + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + duplic.setTitre(this.getTitre()); + + return duplic; } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -89,15 +89,35 @@ if (this.getModel() != null) duplic = new EGCourbeChild((EGGroup) newParent, this.getModel().duplicate()); else duplic = new EGCourbeChild((EGGroup) newParent, null); + + duplic.isVisible_ = this.isVisible_; duplic.displayTitleOnCurve_ = this.displayTitleOnCurve_; - duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), this.font_.getSize()); + // if (this.font_ != null) + // duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), + // this.font_.getSize()); + if (this.tbox_ != null) duplic.tbox_ = this.tbox_.duplicate(); // -- duplication du egCourbeSurfacePainter --// - duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + duplic.surfacePainter_ = this.surfacePainter_.duplicate(duplic, _duplicator); + //-- aspect couleur contour+surface de la courbe --// + duplic.setAspectContour(this.getAspectContour()); + duplic.setAlpha(this.getAlpha()); + if(this.getFont()!=null) + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + if (this.getIconModel() != null) + duplic.setIconeModel(this.getIconModel().cloneData()); + if (this.getMarkLigneModel() != null) + duplic.setLigneMark(this.getMarkLigneModel().buildCopy().getModel()); + if (this.getLigneModel() != null) + duplic.setLigneType(this.getLigneModel()); + duplic.setTitle(this.getTitle()); + + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -71,7 +71,7 @@ duplic.tbox_ = this.tbox_.duplicate(); // -- duplication du egCourbeSurfacePainter --// - duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + duplic.surfacePainter_ = this.surfacePainter_.duplicate(duplic, _duplicator); return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -317,21 +317,29 @@ model_ = _model; } - public EGCourbeSurfacePainter duplicate(EGGrapheDuplicator _duplicator) { + public EGCourbeSurfacePainter duplicate(EGCourbe cibleDuplique, EGGrapheDuplicator _duplicator) { //TODO: targetCourbe_.duplicate() n'est pas dans le graphe. Il faut une Map avec les anciennes/nouvelles valeurs //pas bon la courbe va etre duplique ailleurs - EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(this.targetCourbe_.duplicate(_duplicator), this.model_.duplicate(null)); + + // -- il ne faut pas oublier de changer la reference de la courvbe target + // qui est duplic et non this, de meme pour le model pour eviter des boucles + // infinies --// + + EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(cibleDuplique, _duplicator.getModelDuplique_()); duplic.alpha_ = this.alpha_; + if (this.delegateCourbe_ != null) duplic.delegateCourbe_ = new DelegateCourbe(duplic.model_); + duplic.down_ = this.down_; duplic.maxIdx_ = this.maxIdx_; duplic.minIdx_ = this.minIdx_; + if (this.delegatePalier_ != null) duplic.delegatePalier_ = new DelegatePalier(((int) Math.floor(targetCourbe_.getYMin()))); + duplic.selectedPainter_ = this.selectedPainter_; - // painter.painter_= - duplic.setSelectedPainter(this.selectedPainter_); duplic.up_ = this.up_; - // painter.x_ = CtuluLibArray.copy(this.x_); + + // painter.x_ = CtuluLibArray.copy(this.x_); // painter.y_ = CtuluLibArray.copy(this.y_); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -17,6 +17,22 @@ EGAxeHorizontal newH_; /** + * instance du eggrapheModel tres importante cette ref: envoye des la + * duplication du eggrapheModel a la base. Il est recupere notamment pour le + * EGCourbeSurfacePainter afin d eviter des stackoverflow de duplication du + * graphe model qui est deja duplique!!! . + */ + EGGrapheModel modelDuplique_; + + public EGGrapheModel getModelDuplique_() { + return modelDuplique_; + } + + public void setModelDuplique_(EGGrapheModel modelDuplique_) { + this.modelDuplique_ = modelDuplique_; + } + + /** * @param _vert l'axe a dupliquer * @return l'axe duplique en prenant soin de ne pas le recreer */ Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -771,6 +771,7 @@ EGGrapheSimpleModel duplic = new EGGrapheSimpleModel((EGCourbeSimple[]) listeElements.toArray()); //a corriger duplic.axeX_ = this.axeX_.duplicate(); + // duplication du listselectionModel // try { // duplic.selection_ = (DefaultListSelectionModel) this.selection_.clone(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -1071,8 +1071,17 @@ duplic.axeX_ = this.axeX_.duplicate(); duplic.selectionModel_.setSelectionMode(this.selectionModel_.getSelectionMode()); + GrapheTreeNode root=this.getGrapheTreeNode(); + GrapheTreeNode rootDuplique=duplic.getGrapheTreeNode(); + for (int i = 0; i < root.components_.size(); i++) { + + // -- ajout du groupe duplique --// + duplic.add(root.getGroup(i).duplicate(_duplicator)); + } + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -116,7 +116,13 @@ final DefaultDockingPort globalPort = createDockingPort(); JComponent centerComponent = createView(pn, "Graphe"); DockingManager.dock(centerComponent, (DockingPort) globalPort); + + // -- ajout du tree associes au nodes du graphe --// JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); + // -- ajout du selectionlistener pour recuperer les events !! --// + tree.setSelectionModel(((EGGrapheTreeModel) pn.getGraphe().getModel()).getSelectionModel()); + tree.setRootVisible(false); + JComponent rightComponent = createView(new JScrollPane(tree), "arbre", true); DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |