Feelin (sur GuruMed)
-
Sans doute Frédéric l’a t-il porté sous GCC pour M68k ! Parce que pour OS4 PPC, les macros sont différentes, notament celle qui fait planter le bouzin, je crois, tel que défini dans amiga_compiler.h du SDK OS4 :
#ifdef __GNUC__
#ifdef mc68000
#define REG(reg,arg) arg __asm(#reg)
#else /* PPC*/
#define REG(reg,arg) arg
#endif
#elif …
Or l’erreur envoyé par GCC est justement :
Syntax error before « asm »
Rien qu’avec çà, je crois que ça va poser un sérieux problème, non ?
Je peut t’envoyer le fihier complet, si ça t’intéresse.
Sinon, pour la doc, j’ai un environnement de développement PHP complet, donc zyva, envoie ! Par mail, si c’est pas trop gros (tu as encore mon adresse ?)
Bon, ben si c’est que ça, spa compliqué, essaie de modifier la définition dans
, ça devrait bien se passer ensuite… par contre j’ai plus ton adresse mail parce que j’ai perdu mon compte chez numericable… PS: Quelqu’un pourrait aider Hombre (et moi par la même occasion) pour le choix des registres PPC ??
J’ai vu qu’il y avait des demo dans feelin l’archive que j’ai recuperer sur mon amiga mais j’arrive pas à les faire fonctionner je sais qu’il faud installer feelin manuellement et ça m’embette impeut y’aurai pas moyen d’avoir un installer et une gui pour feelin histoire qu’il devienne un vrai concurant de MUI? enfin je dis ça comme ça.
M’enfin choucroute aux noix, bon d’accord c’est pas la grande classe avec un script Installer, mais il y a un petit script appellé SETUP à la racine du tiroir qui fera tout pour toi, à savoir créer l’assignation « Feelin: » vers le dossier en cours ainsi qu’ajouter le dossier « Feelin:LIBS » à « LIBS: ». Il copie ensuite les préférences et ouvre l’éditeur de préférence pour que tu puisses tout modifier comme tu veux…
Pour tout ça il faut évidement passer par le shell parce qu’il n’y a pas la moindre icône ! L’archive étant faite avant tout pour les développeur…
Voilà !
Je viens de lire un petit bout de doc sur le format XML utilisé par feelin et il y a quelques petites questions qui me frappent tout d’un coup :
– pourquoi avoir écrit un parseur spécifique ? pourquoi ne pas avoir utilisé une lib qui fait ça bien ? Le parseur supporte t’il les DTD, les schéma XML, les entités, les espaces de noms, les xlink, … ?
– je crois me souvenir qu’il existe déjà un format nommé XUL pour décrire une interface graphique. Il a été mis au point par Netscape et supporté par Firefox. Pourquoi ne pas avoir utilisé ce formalisme ouvert ?
Toine – standardisateur
C’est clair, vilain standardisateur !
– J’ai écris un mon propre parser pour l’exercice ! Car comme dit le proverbe (je suis un homme à proverbe) « On est jamais mieux servi que par soit même ». En plus j’en ai rien à cirer des DTD, XML et autre CDATA. Ce qui m’interresse c’est la structure du format qui est drôlement bien pensée, et exigante !
– XUL c’est bien, mais comme le dit le proverbe… Non mais le truc c’est que j’ai déjà écris mon système objet et qu’il est parfaitement adapté à cet exercice, puisque les méthodes, les attributs et les valeurs spéciales des attributs sont définis par des chaines de caractères et pas par des numéros attribués par des dieux miséricordieux.
XUL c’est quand même beaucoup de choses autour, il est pas arrivé là tout seul. Si tu veux tu peux voir les applications et les objets XML de Feelin comme des bébés XUL Tu peux te dire aussi que sans Feelin on aurait attendu encore looongtemps avant de pouvoir définir des applications (ou des objets) en XML. Et encore plus loooogtemps pour avoir un système que les génére à la volée
En plus, les feuilles de styles pour les applications… ben non. Je préfére avoir un éditeur bien à part que tout le monde puisse utiliser, plutôt que proposer des feuilles de styles qui n’interesseront qu’une élite.
Parcontre ce qui manque (pour le moment) c’est un chti langage qu’on pourrait inclure direct dans le fichier XML… Python ce serait bien… Yomgui kestufou ??
– pour le parseur XML, je pense qu’avec le succes grandissant de Feelin (c’est tout ce que je lui souhaite), tu vas devoir l’enrichir … et perdre du temps à refaire ce que d’autres ont déjà fait … Le langage XML évolue très vite (on en est à la version 2.0) et les technologies gravitant autour également.
Un des atouts de XML est de pouvoir facilement étendre les documents décrit grâce aux espaces de noms…
La DTD et shémas t’aide à t’assurer d’emblée que le document XML est bien formé et valide. Car actuellement, comment sait-on les tags/attributs autorisés ? Les valeurs permises ?
Ce sont je pense quelques faiblesses du formalisme XML de Feelin actuellement … Et tiens, pourquoi as-tu choisi le XML et pas un langage custom pour être mieux servi par toi même ?
– je ne connais pas trop XUL mais peut être aurais-tu pu partir d’une implémentation d’un sous-ensemble des concepts. Il y a SMIL aussi je crois dans ce domaine …
– changer le look d’une interface via une feuille de style ça aurait été trop la classe
– intégré du script dans du XML est très intéressant ! et ça se met en général dans des CDATA
Bonne continuation et tiens nous au courant des avancées de Feelin !
Toine
Une question me chagrine, a part pour faire des interfaces basique (boutons/listes etc…) ya t’il un moyen de crée ces propres objets graphique et de faire un rendu custom ?
Désolé de remettre mui sur le tapis mais la grande force de mui est qu’il permet de faire des interfaces standard rapidement mais aussi de crée des objets plus évolués et de faire des choses qui n’existent pas à la base (exemple mes « onglets veticaux » dans l’orga).
Si il faut remettre les mains dans le cambouis pour crée un nouvel objet, autant rester dans le cambouis tous les temps ca évite d’apprendre 2 languages en parallel.
Je suis passé à MUI en C car mes applications en RxMUI étaient limitée par des problêmes de ce genre.
Ceci n’est que mon avis personnel, je n’ai rien contre freelin (ha si juste ces bords de fenetres qui suxx).
Si cela permet a d’autres personnes qui ne programme pas habituellement de se lancer c’est un grand pas en avant.
/me qui fout rien en porgammation en ce moment
Moi j’adhère totalement, je suis un utilisateur lambda, ancien atariste, ancien amigaïste, linuxien/windozien malgré moi et re-amigaïste (même si je n’ai pas d’amiga pour l’instant, je vis ma passion par procuration à travers winUAE). Et je tiens à te remercier, grofoMIEL pour ton super travail, SASG n’a qu’à bien se tenir. le GPL a cela de bon qu’il peut évoluer de manière impressionante en très peu de temps. Je ne suis pas programmeur, mais si tu as besoin de quoi que ce soit, bêta-test, traduction, critique, n’importe quoi je me porte volontaire – tu peux compter sur moi.
j’ai de belles polices de caractères bitmaps que je serai honoré de voir figurer dans ton projet.
Petite question : les icônes sur ce grab sont particulièrement belles, sais-tu ou on peut se les procurer ?
[EDIT] Je crois que je viens de trouver pour les icônes…
[RE-EDIT] Ah ben non, c’est pas ça.
pour le parseur XML, je pense qu’avec le succes grandissant de Feelin (c’est tout ce que je lui souhaite), tu vas devoir l’enrichir
Ben c’est pas sûr. Mais si quelqu’un a vraiment besoin d’un gros parseur XML, avec tout plein d’options de partout, il peut très bien utiliser Expat. Sinon si c’est pour lire vite fait des données, FC_XMLDocument suffit amplement… M’enfin, Fontaine… Mon but en tout cas est de garder tout ça très propre et très léger (mon parseur ne pèse même pas 2Ko).
Car actuellement, comment sait-on les tags/attributs autorisés ? Les valeurs permises ?
Ben c’est carrément trop facile, pour le moment ça marche comme ça : Tu écris ton fichier XML, et si le parser rencontre le moindre problème de syntaxe il te cris dessus en t’indicant où se trouve tes erreurs. Ensuite, c’est la classe FC_XMLObject (nouvelle classe qui s’insère entre FC_XMLDocument et FC_XMLApplication) qui prend le relais.
Si elle rencontre le moindre problème au niveau de la résolution des classes, des méthodes, des attributs ou de leur valeur, elle s’arrète et te cris dessus en te disant où se trouve ton erreur. Parreil pour la classe FC_XMLApplication.
En ce qui concerne les valeurs permises : CE SONT LES MEMES que lorsque tu fais ton programme en C. C’est là tout l’interêt. Puisque Feelin utilise déjà des chaines de caractères pour tout définir, il n’y a pas grand chose à faire pour générer des applications ou des objets avec du XML. C’EST CARREMENT TROP SIMPLE.
Donc, il te suffit de lire la doc… comme d’hab
je ne connais pas trop XUL mais peut être aurais-tu pu partir d’une implémentation d’un sous-ensemble des concepts. Il y a SMIL aussi je crois dans ce domaine
XUL, SMIL ouais super, mais c’est la même chose. XAML tant que tu y ais ! Maintenant tu as Feelin, c’est la même chose (en gros) les noms changent. Feelin reste drôlement plus « évoluable »
changer le look d’une interface via une feuille de style ça aurait été trop la classe
Ben non. Qui vas écrire les feuilles de style ? A la main en plus
intégré du script dans du XML est très intéressant ! et ça se met en général dans des CDATA
C’est vraiment pas grand chose à rajouter. Je préfére pas me précipiter et faire des choses propres, utiles (et utilisables) et très facilement modifiables (grosse indépendance des clases).
ya t’il un moyen de crée ces propres objets graphique et de faire un rendu custom ?
Mais enfin biensûr ! C’est quand même tout l’interêt d’un système objet ! S’il y a un truc qui te plait pas, hop tu fais une sous classe et tu changes ce que tu veux. En plus TOUTES les classes (même celle définies dans le code) sont utilisables par les applications et les objets XML. C’est comme MUI en mieux quoi (pour la faire courte). En fait c’est plutôt comme BOOPSI, puisque MUI n’est qu’une surcouche de ce qui est le véritable système objet.
Si il faut remettre les mains dans le cambouis pour crée un nouvel objet, autant rester dans le cambouis tous les temps ca évite d’apprendre 2 languages en parallel.
Tu sais déjà faire une classe MUI ? C’est encore plus facile de faire une classe pour Feelin. C’est pas pour rien que j’ai gardé quelques similarités…
je n’ai rien contre freelin (ha si juste ces bords de fenetres qui suxx
Ok, mais ils suxx très bien Et s’ils te plaisent pas TU PEUX LES ENLEVER, où en mettre d’autres. Ce n’est pas un patch, c’est juste une option sympathique. Moi qui pensait que tout le monde essayé de se débarasser du look tout pourrit d’Intuition… va comprendre Comme si tu utilisais pas VisualPrefs…. à d’autres !
tu peux compter sur moi
Ben D’ACCORD !! On verra ça après la sortie de Feelin. Là je suis dans la documentation à fond Mais je compte sur toi
les icônes sur ce grab sont particulièrement belles, sais-tu où on peut se les procurer ?
Ben merci, c’est moi qui les ai faites dans les années 60. J’en ai un million depuis
henes a écrit :
Pas faire d’accès disque dans libopen() ? Il va falloir que tu rentres dans les détails.
@Gofromiel: salut ami développeurEffectivement comme le sous-entend l’étonnement d’Henes, tu peux faire des accès dur pendant un libopen(). C’est ce que j’ai fait pour Python pour du debug: j’écrivait dans un fichier un dump des sections data de la lib python…. donc c’est faisable, d’ailleur je vois pas pourquoi cela ne le serait pas, vu que les lib partagées entre dans un contexte parfaitement multi-tâches. Faut juste faire gaffe que tout est bien ouvert correctement (le mieux c’est de toujours utiliser OpenLibrary(), sauf pour Exec forcement donné par le pointeur en 0x4… et encore vu que c’est donner en paramétres au libinit().)
Sinon à la question:
Yomgui kestufou ??
Je répond part: un peu de vacances ça fait du bien!
Ah ouai un autre truc:
Je veux bien faire un module Feelin pour Python, SI et SEULEUMEMENT SI (ça me fait penser à mes études de maths ça tiens…) quelqu’un me fait un port de Feelin sur Morphos ! (na!)
@Gofrocaramel: sinon tu pourrais me dire un truc: Feelin gère t’il bien l’aspect dynamique? Je m’explique par un exemple: sous MUI on peut en temps-réel (au runtime quoi) ajouter/retirer des élèments à la GUI?
Nouveau snapshot, même problème (je ne me souviens plus si je te
l’avais signalé) :
lib_expunge() peut-être exécuté pendant lib_open() et tout exploser.
Cas théorique pour reproduire : une instance de feelin exécute
lib_close() pendant qu’une autre exécute lib_open() (qui casse Forbid
et rend cela possible).
Comme lib_open() ne touche pas à lib_OpenCnt avant la fin, lib_close()
va mettre celui ci à 0 et exécuter lib_expunge(). Boom.
Solution : incrémenter lib_OpenCnt avant les fonctions cassant
Forbid().
Cela dit, Il doit y avoir autre chose qui crash Feelin ici. Je peux te
donner un offset correspondant au dernier snapshot, si tu veux.
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Feelin (sur GuruMed)