Bonjour Alec6,
Merci pour t aréponse.
Citation:
Je peux pas encore mettre la tête dans ton code, mais envoi toujours les questions pour swing.
En fait j'attends de voir avec toi ce que l'on peut faire avec mon moteur CSS et je te dirais comment j'ai implementer les choses pour voir si c'est bon (ex : j'ai gerer le backround-image qui marche par exemple avec un JPanel sans etre oblige d'etendre le JPanel et la methode paint.
Citation:
Sinon pour le texte dans les JLabel, je disais que dans un JLabel tu peux mettre du html (notamment pour faire un multilignes).
Je sais pas si on peux appliquer la CSS au texte dans le JLabel. Sinon faudra peut etre faire un composant JLabel spécialisé, en détournant Flying Saucer.
Je vais réflechir à cette problématique. En effet aujourd'hu la CSS s'appliquer a un composant mais si on peut mettre du HTML dedans, je ne sais pas comment ca gerer ce cas la aujourd'hui.
Citation:
Ensuite pour tes balises custom vas y molo en faite; L'idéal c'est de penser au travail en équipe.
Penser en équipe, je suis tout a fait d'accord!!!! Et le but de mon post était effectivement de trouver des personnes (comme toi) pour mettre en place le moteur CSS.
J'ai tente au mieux que le moteur CSS soit le plus configurable possible. Et pour la gestion des selectors (ex : JTextField ou input[type=text]...) ceci est configurable. Tu choisis comment tu veux gerer tes selectors, en implémentant le getLocalName d'un SwingElement (je t'expliquerai en detail si tu le souhaite).
Moi par defaut je propose deux implementations. Celle de Swing (ex : JTextField) et celle de HTML (ex : input[type=text]=). Mais apres tu peux avoir ta propre implementation et gerer les selctors comme tu le souhaite.
Citation:
Donc pour les bouttons par exemple on affecte rarement un style à tout les bouttons mais à une class et moi dans mon swing le met le nom de la classe en clientProperty.
Ca c'est bon je l'ai gerer. En fait tu peux gerer ce cas exactement comme en HTML, autrement dit, gérer ce cas :
- avec une class (.blueClass{background-color:blue}) et affecter la classe avec le client proprerty (button.putClientProperty("class", "blueClass").
- avec un id (JButton#MyId{background-color:blue}) et affecter l'id avec le client proprerty (button.putClientProperty("id", "MyId").
- avec un style inline et affecter le style avec le client proprerty (button.putClientProperty("style", "background-color:blue")
Citation:
Il faudrait en somme pouvoir travailler avec une css pure.
Oui c'est mon but final aussi. Apres il y a les widgets plus complexes comme le tree ou les table. La je vais utiliser la grammaire XUL pour les selector. Autrement dit (JTRee => (selector=tree), JTable => (selector=listbox)). Mais bien sur ceci pourra etre reconfiguré.
Citation:
Mais comment tu gères l'héritage avec un JTogglePanel (si ca hérite bien ) par exemple.
Je pense que tu veux parler du JToggleButton. En fait les selectors se base sur le nom de la classe. Donc tu peux ecrire JButton et JToogleButton.
L'avantage de cette solution c'est que tu peux distinguer JButton et JToogleButton, par contre si tu veux que le style s'applique a un JButton et a un JToogleButton, il faut écrire le selector
JButton , JToogleButton {....}
Citation:
En somme laisse les développeurs swing appliquer leur noms de classes.
Comme je t'ai dit plus haut tu gérer ca comme tu veux comme en CSS avec HTML.
Citation:
Solution plus intéressante peut être: à coté de la css pure et dure il faudrait un XML par exemple qui face l'intermédiaire en disant tout les JButton je veux qu'il ait le style de la class perlimpimpin définie dans la CSS (un XML de médiation en somme). Ca permettrait aussi d'etre plus souple en fonction de Swing ou de SWT.
Pardon je ne comprends pas trop l'interêt d'utiliser un fichier XML. Ca tu peux le faire en CSS.
Citation:
Je suis encore emmerdé par un projet, mais j'arrive dès que possible.
Cool!
Citation:
PS: je suis chiant parait-il en équipe.
Cool! J'aime bien quand il y a des debats sur les choix d'architectures. Apres il n'existe jamais LA solution et il faut savoir faire des concessions. Mais je tente d'etre le plus ouvert possible et si tu trouves que le moteur CSS est tout pourri, je suis pres a faire un refactoring.
Pour info, je suis en train de faire une classe abstraite AbstractCSSEditor ou l'on doit implémenter la méthode createContents ou tu mets les widgets que tu veux voir a ton ecran.
Une fosi lance, ca t'affiche a gauche ton interface avec tes widgets et a droit une textarea ou tu peux sasisir ta CSS.Tu saisis ta CSS dans la textarea, tu appuis sur le bouton Apply Styles et ca t'applique les styles saisies dans la textarea. J'ai commence a l'implementer en SWT. Je vais bien finaliser cette classe pour ensuite la creer pour Swing (peut etre que tu seras interesse de l afaire?).
Donc il est possible d'appliquer au runtime des styles, le seul probleme est que aujourd'hui il n'est pas possible de reseter le dernier style applique. Mais ca je vais m'en occuper la semaine prochaine.
Bonne journee
Angelo