Author: sletellier Date: 2009-03-24 15:33:41 +0000 (Tue, 24 Mar 2009) New Revision: 130 Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixEditor.java Log: Debug Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-03-23 14:07:41 UTC (rev 129) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-03-24 15:33:41 UTC (rev 130) @@ -147,7 +147,7 @@ /* * (non-Javadoc) - * + * * @see org.codelutin.math.matrix.MatrixND#copy() */ public MatrixND copy() { @@ -157,11 +157,11 @@ /* * (non-Javadoc) - * + * * @see java.lang.Object#clone() */ @Override - protected Object clone() throws CloneNotSupportedException { + public MatrixND clone() { return copy(); } @@ -201,25 +201,25 @@ public String[] getDimensionNames() { return dimNames; } - + public void setDimensionNames(String[] names) { for (int i = 0; names != null && i < names.length; i++) { setDimensionName(i, names[i]); } } - + /** * {@inheritDoc} - * + * * @deprecated Use #getDimensionNames() */ public String[] getDimensionName() { return getDimensionNames(); } - + /** * {@inheritDoc} - * + * * @deprecated Use #setDimensionName(String[]) */ public void setDimensionName(String[] names) { @@ -396,7 +396,7 @@ /** * Verifie si les matrices sont egales en ne regardant que les valeurs et * pas les semantiques - * + * * @param mat * @return */ @@ -499,7 +499,7 @@ /* * (non-Javadoc) - * + * * @see org.codelutin.math.matrix.MatrixND#sumAll() */ public double sumAll() { @@ -591,7 +591,7 @@ /** * Modifie la matrice actuel en metant les valeurs de mat passé en parametre - * + * * @param origin le point d'origine a partir duquel on colle la matrice * @param mat une matrice avec le meme nombre de dimension, si la matrice * que l'on colle est trop grande, les valeurs qui depasse ne @@ -651,7 +651,7 @@ /** * Add to desambiguas some call with xpath engine, but do the same thing * {@link #getSubMatrix(int, Object[])} - * + * * @param dim * @param elem * @return @@ -798,7 +798,7 @@ /** * Create new matrice from the current matrix. - * + * * @param dimName dimension name for new matrix * @param sem semantic for new matrix * @param correspondance array to do the link between current matrix and @@ -876,7 +876,7 @@ }); return this; } - + public MatrixND adds(final double d) { map(new MapFunction() { public double apply(double val) { @@ -885,7 +885,7 @@ }); return this; } - + public MatrixND minuss(final double d) { map(new MapFunction() { public double apply(double val) { @@ -897,7 +897,7 @@ /** * Determine si la matrice supporte l'import et l'export CSV - * + * * @return support du CSV */ public boolean isSupportedCSV() { @@ -906,7 +906,7 @@ /** * Import depuis un reader au format CSV des données dans la matrice - * + * * @param reader le reader à importer * @param origin le point à partir duquel il faut faire l'importation * int[]{x,y} @@ -979,13 +979,13 @@ // StreamTokenizer tokenizer; // List<Double> row = new ArrayList<Double>(); // boolean stop = false; - // + // // tokenizer = new StreamTokenizer(reader); // tokenizer.eolIsSignificant(true); - // + // // while(!stop) { // tokenizer.nextToken(); - // + // // switch (tokenizer.ttype) { // case StreamTokenizer.TT_EOF: // stop = true; // no break we do next case too @@ -1017,7 +1017,7 @@ /** * Export dans un writer au format CSV de la matrice - * + * * @param writer le writer ou copier la matrice * @param withSemantics export ou pas des semantiques de la matrice dans le * writer Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java 2009-03-23 14:07:41 UTC (rev 129) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java 2009-03-24 15:33:41 UTC (rev 130) @@ -38,25 +38,25 @@ /** * Retourne la factory qui a permit de creer la matrice. - * + * * @return la {@link MatrixFactory} - * + * * @see MatrixFactory */ public MatrixFactory getFactory(); /** * Donne toutes les semantiques de la matrice. - * + * * Si la matrice n'a pas de semantique retourne null. - * + * * @return la liste des semantics */ public List[] getSemantics(); /** * Retourne la semantique pour une dimension - * + * * @param dim la dimension pour lequel on veut la semantique * @return la semantique de la dimension on null s'il n'y a pas de * semantique @@ -70,55 +70,55 @@ /** * Permet de donner un nom à la matrice. - * + * * @param name name to set */ public void setName(String name); /** * Retourne le nom de la matrice - * + * * @return le nom de la matrice ou la chaine vide si pas de nom. */ public String getName(); /** * Permet de mettre des noms aux différentes dimension. - * + * * @deprecated (since 1.0.3) Use #setDimensionNames(String[]) */ public void setDimensionName(String[] names); /** * Permet de mettre des noms aux différentes dimension. - * + * * @param names names to set - * + * * @since 1.0.3 */ public void setDimensionNames(String[] names); - + /** * Permet de recuperer les noms des dimension. - * + * * @return tableau des noms de dimension. - * + * * @deprecated (since 1.0.3) Use #getDimensionNames() */ public String[] getDimensionName(); - + /** * Permet de recuperer les noms des dimension. - * + * * @return tableau des noms de dimension. - * + * * @since 1.0.3 */ public String[] getDimensionNames(); - + /** * Permet de mettre un nom à une dimension. - * + * * @param dim la dimension dont on veut changer le nom * @param name le nom à donner à la dimension */ @@ -126,7 +126,7 @@ /** * Retourne le nom de la dimension demandé. - * + * * @param dim la dimension dont on veut le nom * @return le nom de la dimension ou la chaine vide si la dimension n'a pas * de nom @ si la dimension demandé n'est pas valide @@ -137,7 +137,7 @@ * Retourne la valeur la plus courrement rencontrer dans un tableau. si * plusieurs valeurs ont le même nombre d'occurence la plus petite valeur * est retourné. - * + * * @return la valeur la plus nombreuse dans le tableau */ public double getMaxOccurence(); @@ -191,14 +191,14 @@ /** * Renvoie un element de la matrice demandée en fonction des dimensions * passé en paramètre.<br> - * + * * Exemple: Si on a un matrice 3D.<br> * getValue(1,1,1) retourne un element de la matrice.<br> - * + * * @param dimensions les différentes dimension à extraire. Le tableau doit * contenir toutes les dimensions de la matrice, et seulement des * nombres positif - * + * * @return un entier double. */ public double getValue(int[] dimensions); @@ -246,12 +246,12 @@ /** * Modifie un element de la matrice en fonction des dimensions passé en * paramètre.<br> - * + * * Exemple: Si on a un matrice 3D.<br> * set([1,1,1], m) modifie un element de la matrice.<br> - * + * * @param dimensions les différentes dimension à extraire. - * + * * @param d l'entier double qui doit remplacer l'entier double spécifié par * l'argument dimensions */ @@ -281,6 +281,11 @@ */ public MatrixND copy(); + /** + * Créer une nouvelle instance clonée de celle-ci + */ + public MatrixND clone(); + // public String toString(); // /** @@ -307,17 +312,17 @@ * <p> * par exemple pour la matrice suivante si on somme sur la dimension 1 cela * donnera - * + * * <pre> * 1 2 3 * 2 3 4 * 3 4 5 * </pre> - * + * * <pre> * 6 9 12 * </pre> - * + * * @param dim la dimension sur lequel il faut faire la somme */ public MatrixND sumOverDim(int dim); @@ -327,24 +332,24 @@ * permet juste de regrouper dans une dimension un certain nombre de valeur. * <p> * pour la matrice suivante : - * + * * <pre> * 1 2 3 4 * 2 3 4 5 * 3 4 5 6 * 4 5 6 7 * </pre> - * + * * la somme sur la dimension 1 avec un pas de 2 donnera : - * + * * <pre> * 3 5 7 9 * 7 9 11 13 * </pre> - * + * * c'est à dire que la ligne 0 et la ligne 1 sont sommées. ainsi que la * ligne 2 avec la ligne 3. - * + * * @param dim la dimension sur lequel il faut faire les sommes * @param step le pas qu'il faut utiliser pour regrouper les elements. Si le * pas est inférieur à 0, le pas se comporte comme si on avait @@ -367,23 +372,23 @@ /** * Permet de supprimer des éléments de la matrice. par exemple pour la * matrice - * + * * <pre> * 1 2 3 4 * 2 3 4 5 * 3 4 5 6 * 4 5 6 7 * </pre> - * + * * un cut(1, [0,2]) donnera - * + * * <pre> * 2 4 * 3 5 * 4 6 * 5 7 * </pre> - * + * * @param dim la dimension dans lequel il faut supprimer des éléments * @param toCut les éléments à supprimer * @return une nouvelle matrice, la matrice actuelle n'est pas modifiée @@ -394,7 +399,7 @@ * Copie une matrice dans la matrice actuelle. La matrice à copier à le même * nombre de dimension. Si la matrice à copier est trop grande seul les * éléments pouvant être copier le seront. - * + * * @param mat la matrice à copier * @return return la matrice courante. */ @@ -404,7 +409,7 @@ * Copie une matrice dans la matrice actuelle. La matrice à copier à le même * nombre de dimension. Si la matrice à copier est trop grande seul les * éléments pouvant être copier le seront. - * + * * @param origin le point à partir duquel il faut faire la copie * @param mat la matrice à copier * @return return la matrice courante. @@ -458,7 +463,7 @@ * Permet de prendre une sous matrice dans la matrice courante. La sous * matrice a le même nombre de dimensions mais sur une des dimensions on ne * prend que certain élément. - * + * * @param dim la dimension dans lequel on veut une sous matrice si dim est * négatif alors la dimension est prise à partir de la fin par * exemple si l'on veut la derniere dimension il faut passer -1 @@ -475,7 +480,7 @@ * Permet de prendre une sous matrice dans la matrice courante. La sous * matrice a le même nombre de dimensions mais sur une des dimensions on ne * prend que certain élément. - * + * * @param dim la dimension dans lequel on veut une sous matrice * @param start la position dans dim d'ou il faut partir pour prendre la * sous matrice. 0 <= start < dim.size si start est négatif alors @@ -491,7 +496,7 @@ * Permet de prendre une sous matrice dans la matrice courante. La sous * matrice a le même nombre de dimensions mais sur une des dimensions on ne * prend que certain élément. - * + * * @param dim la dimension dans lequel on veut une sous matrice * @param elem les éléments dans la dimension à conserver */ @@ -501,7 +506,7 @@ * Permet de prendre une sous matrice dans la matrice courante. La sous * matrice a le même nombre de dimensions mais sur une des dimensions on ne * prend que certain élément. - * + * * @param dim la dimension dans lequel on veut une sous matrice * @param elem les éléments dans la dimension à conserver */ @@ -528,7 +533,7 @@ * Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un * élement soit supprimée. Au pire cette méthode retourne une matrice à une * seule dimension à un seul élément. - * + * * @return une nouvelle matrice plus petite que la matrice actuelle ou egal * s'il n'y a aucune dimension à supprimer */ @@ -538,7 +543,7 @@ * Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un * élement soit supprimée. Au pire cette méthode retourne une matrice à une * seule dimension à un seul élément. - * + * * @param minNbDim le nombre minimum de dimension que l'on souhaite pour la * matrice résultat * @return une nouvelle matrice plus petite que la matrice actuelle ou egal @@ -550,7 +555,7 @@ * Reduit le matrice seulement sur les dimensions passées en argument. Si * une des dimensions passées en arguement n'a pas un seul élément, cette * dimension n'est pas prise en compte. - * + * * @param dims les dimensions sur lequel il faut faire la reduction * @return une nouvelle matrice */ @@ -575,12 +580,12 @@ * Multiplication d'une matrice par un scalaire */ public MatrixND divs(final double d); - + /** * Addition d'un scalaire à une matrice */ public MatrixND adds(final double d); - + /** * Soustractiond'un scalaire à une matrice */ @@ -588,28 +593,28 @@ /** * Donne la matrice sous forme de List de list ... de double - * + * * @return */ public List toList(); /** * Permet de charger une matrice a partir d'une representation List - * + * * @param list la matrice sous forme de List de list ... de double */ public void fromList(List list); /** * Determine si la matrice supporte l'import et l'export CSV - * + * * @return support du CSV */ public boolean isSupportedCSV(); /** * Import depuis un reader au format CSV des données dans la matrice - * + * * @param reader le reader à importer * @param origin le point à partir duquel il faut faire l'importation */ @@ -617,7 +622,7 @@ /** * Export dans un writer au format CSV de la matrice - * + * * @param writer le writer ou copier la matrice * @param withSemantics export ou pas des semantiques de la matrice dans le * writer @@ -628,7 +633,7 @@ /** * Verifie si les matrices sont egales en ne regardant que les valeurs et * pas les semantiques - * + * * @param mat * @return */ Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx 2009-03-23 14:07:41 UTC (rev 129) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx 2009-03-24 15:33:41 UTC (rev 130) @@ -163,10 +163,10 @@ } ]]> </script> - <JButton id='buttonEdit' text='lutinmatrix.create.matrix.button' enabled='{isDimensionEdit()}' - onActionPerformed='btnAction()' constraints='BorderLayout.SOUTH'/> <JScrollPane id='editArea' constraints='BorderLayout.CENTER'> <JTable id='table' autoResizeMode='{JTable.AUTO_RESIZE_OFF}' cellSelectionEnabled='{true}' selectionMode='{ListSelectionModel.SINGLE_INTERVAL_SELECTION}'/> </JScrollPane> + <JButton id='buttonEdit' text='lutinmatrix.create.matrix.button' visible='{isDimensionEdit()}' + onActionPerformed='btnAction()' constraints='BorderLayout.SOUTH'/> </MatrixEditor> \ No newline at end of file Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixEditor.java =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixEditor.java 2009-03-23 14:07:41 UTC (rev 129) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixEditor.java 2009-03-24 15:33:41 UTC (rev 130) @@ -33,7 +33,7 @@ // Inisialize matrixND public abstract void setMatrix(MatrixND matrix); - + /** * @return Returns the linearModel. */ @@ -70,7 +70,6 @@ public void setVisible(Boolean visible){ this.visible = visible; getTable().setVisible(visible); - getButtonEdit().setVisible(visible); super.setVisible(visible); }