Accueil > Projets > ScientificPad / MathMLPad [fr] > ScientificPad / MathMLPad Progression du projet Alpha 2017032510
ScientificPad / MathMLPad Progression du projet Alpha 2017032510
Informations sur la future version de la branche Alpha.
samedi 25 mars 2017, par
Commentaires au 21 février 2018
Affichage d’un texte sous JavaFX :
- Le point d’entrée est la classe Text qui étend la classe Shape. Il est possible d’afficher le texte sous forme de paragraphes. Dans ce cas, il faut séparer les éléments de texte de chaque paragraphe par des ’\n’.
Le découpage n’est pas réalisé par Text, c’est la classe GlyphLayout qui s’en occupe mais au niveau des glyphes. GlyphLayout fait partie d’une API non visible de JavaFX. - La classe NGText.java s’occupe ensuite d’afficher les séries de glyphes. NGText fait aussi partie d’une API non visible.
- L’API Swing apparait plus rationnelle, plus souple d’emploi et plus facilement personnalisable. L’affichage mathématique risque d’être très difficilement réalisable tant l’ensemble semble fouillis.
Commentaires au 25 octobre 2017
- Java 9 est sorti le 21 septembre 2017. Autrement dit avec deux mois de retard par rapport à la précédente date annoncée.
- Netbeans 9 est en période d’incubation chez Apache. Oracle vient de faire don du code à la fondation Apache. Ce transfert provoque un retard de livraison.
- Prendre en compte Ascii Math pour la saisie des expressions mathématiques.
Version originale
ScientificPad suit l’évolution de Java, il existe trois versions à des stades différents :
- Une version pré 2000 basée sur l’API AWT : Le développement de cette version n’est plus actif, en raison de l’évolution des outils de construction des GUI.
- Depuis 2000, La version en cours basée sur l’API SWING. 3 séries de bugs, une longue et difficile démarche de soumission de bugs et de modifications sur Java 7, 8 et finalement 9 ont bloqué puis ralenti son développement. Petite satisfaction, la prise en compte, dans l’OpenJDK de tous mes bugs signalés, de mon patch et de son test associé devrait permettre de relancer le projet à partir de Java9. Pas de BackPort sur les versions précédentes 7 et 8 de Java pour l’instant, donc rien ne justifie de passer en phase Béta. Il est plus simple d’attendre la sortie de Java 9 en juillet 2017.
- Depuis 2016-05-18, une version développée sur l’API JavaFX. En fait une réécriture du Control TextArea de JavaFX : Le modèle de document de TextArea est remplacé par une version JavaFX du modèle de document de javax.swing.text. La prochaine étape étant l’écriture du Skin associé. Cette partie est dépendante également de la sortie de Java 9 qui rend publique la partie Skin des Controls.
- Documentation pour l’écriture du Skin
- Tomas Mukila Separation of View and Controller in JavaFX Controls.
- OpenJDK Wiki UI Controls Architecture.
- Tableau des Classes portées sous JavaFX :
- Documentation pour l’écriture du Skin
Classe | Date | OpenJDK Ref Version | OpenJDK Last Version | Statut | JavaDoc |
---|---|---|---|---|---|
fxAbstractDocument.java | 20170325 | jdk9b162 | UIManager, Bidi | Complète | |
fxAbstractUndoableEdit.java | 20170325 | jdk9b162 | UIManager | Complète | |
fxAttributeSet.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxBadLocationException.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxCannotRedoException.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxCannotUndoException.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxChangeEvent.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxChangeListener.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxCompoundEdit.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxDefaultStyledDocument.java | 20170325 | jdk9b162 | getFont(...) | Complète | |
fxDocument.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxDocumentEvent.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxDocumentFilter.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxDocumentListener.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxElement.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxEventListenerList.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxGapContent.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxGapVector.java | 20170325 | jdk9b162 | Conforme | Non Publique | |
fxIcon.java | 20170325 | jdk9b162 | paintIcon(...) | Complète | |
fxMutableAttributeSet.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxPosition.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxSegment.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxSegmentCache.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxSimpleAttributeSet.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxStateInvariantError.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxStyle.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxStyleConstants.java | 20170326 | jdk9b162 | Conforme | Complète | |
fxStyleContext.java | 20170326 | jdk9b162 | getFon(...), reclaim(...) | Complète | |
fxStyledDocument.java | 20170325 | jdk9b162 | getFont(...) | Complète | |
fxTabSet.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxTabStop.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxTextAttribute.java | 20170326 | jdk9b162 | SharedSecrets.getJavaAWTFontAccess() | Complète | |
fxTreeNode.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxUndoableEdit.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxUndoableEditEvent.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxUndoableEditListener.java | 20170325 | jdk9b162 | Conforme | Complète | |
fxUndoableEditLockSupport.java | 20170325 | jdk9b162 | Conforme | Complète |