Feelin est un système Open Source orienté objet pour AmigaOS. Il propose deux choses :
- Une petite bibliothèque, coeur du système objet, rapide et puissante. Elle contient tout ce qui est nécessaire pour créer un puissant environnement orienté objet,
- Et un système externe extensible pour créer et gérer des interfaces graphiques orientées objet.
Pour connaître toutes les nouveautés de cette nouvelle version décrites par Gofromiel, son auteur, nous vous invitons à lire la suite…
[MÀJ] Grâce à vos rapports de bugs, un pack qui arrange tout à été réalisé.
Les détails sur cette mise à jour sont disponibles dans la suite.
Télécharger :
- Feelin050517.lha (AmigaOS 3.x) [830 ko]
- Feelin050517_src.lha (Sources) [640 ko]
- Feelin050517_fix01.lha (AmigaOS 3.x) [140 ko]
Nouveautés et caractéristiques de Feelin données par son auteur :
Nouveau standard pour les items de préférence
Les items sont à présent définies dans un style CSS e.g. $button-frame (notez le sign dollar). Le système de préférence a été partiellement réécrit, il est plus efficace.
Preview / Pop / Adjust
Creation du système d’ajustement à partir de deux classes bases FC_Adjust et FC_Preview.
Les précédentes classes “ajustement” et “pop” sont toutes des sous-classes d’elles. Ces sous-classes sont maintenant modulaires. Il est bien plus facile d’en écrire de nouvelles.Documents : XML / HTML
FC_XMLApplication a été divisée pour créer FC_XMLObject. FC_XMLDocument a été divisée pour créer FC_Document, qui est maintenant la classe de base pour l’interprétation de documents. FC_HTMLDocument est une de ces sous-classes. Comme FC_XMLDocument est utilisée pour interpréter du code XML, FC_HTMLDocument peut être utilisée pour interpréter du code HTML (qui est moins formel).
XMLObjects
Feelin n’est plus seulement capable de créer des applications entières à partir de fichiers XML, a présent, il peut également incorporer des objets XML n’importe où dans vos applications (où classes) très facilement. Par exemple, tous les groupes utilisés par l’éditeur de préférence sont générés depuis des fichiers XML.
Les applications XML étaient un premier pas vers la séparation entre le code et la GUI, maintenant l’utilisateur peut faire CE QU’IL VEUT de sa GUI.
FC_PreferenceGroup a été entièrement réécrit
TOUS les groupes de préférences (les objets utilisés par l’éditeur de préférence pour ajuster les préférences) sont désormais des objets XML. Les fichiers XML sont disponibles dans le dossier “Feelin:XMLSources/Feelin/Preferences”.
Une seule minuscule ligne de code est nécessaire pour créer un groupe de préférence ! C’était déjà très facile avant, mais là tout est AUTOMATIQUE ! Grâce au nouveau format standard des items de préférences (e.g. $button-frame), au support XML et au type FPreferenceScript, le processus complet de préférence (génération des objets, chargement, sauvegarde, destruction des objets) est TOTALEMENT AUTOMATIQUE !
BEAUCOUP de nouvelles items de préférences ont été ajoutées à l’ensemble des classes. La GUI est EXTREMEMENT configurable.
Layout & Rendering
Enfin, FC_ImageDisplay est capable des dessiner des DEGRADES. Cette amélioration tant attendue rend la GUI encore plus jolie et tout douce.
Le nouveau système de recalcul du layout (le quatrième !) est fabuleux ! Les requêtes de recalcul sont mises en tampons, et même si 20 requêtes sont parvenues à FC_Window, 1 seul rafraichissement sera effectué ! Et comme d’habitude seuls les objets modifiés sont mis à jour.
L’expansion de la fenêtre est également plus jolie, puisqu’elle s’agrandi de tous cotés et plus seulement vers la droite et en bas. Ainsi, une fenêtre centrée qui s’agrandi, pour faire plus de place à ses objets, reste centrée.
FC_Area et FC_Window sont à présent des sous-classes de FC_Frame, qui est à présent en charge de l’attribut FA_Back. Le rafraichissement est maintenant juste parfait 🙂 Le mode de rafraichissement complexe a été amélioré, il est a présent fabuleux !
Events
Le nouveau code FV_EVENT_BUTTON_WHEEL pour l’événement FF_EVENT_BUTTON a été ajouté. Il peut être utilisé pour réagir à la roue de la souris. La plupart des classes utilisent à présent cette facilité. En fait, tout ce qui peut être ajusté avec la souris peut maintenant l’être aussi avec la roue : listes, sliders, props, cycles… et même les groupes-pages !
Dialogues
Sous-classe de FC_Window, FC_Dialog peut être utilisée pour créer toutes les requêtes les plus communes directement e.g. “Ok”, “Oui | Non”, “Sauver | Utiliser | Annuler”… Biensûr vous pouvez ajouter vos propres objets, la classe est totalement customizable. Par exemple, FC_PreferenceEditor est devenue une de ses sous-classes.
FC_List
FC_List a été particulièrement mise à jour. Elle est devenue aussi puissante que configurable. Le format des colonnes est a présent défini en XML, et plein de possibilités sont disponibles.
—
Avec 20 nouvelles classes (76 sont disponibles), j’ai fais de mon mieux pour offrir un framework plus puissant et plus agréable aux développeurs Amiga; et une GUI attractive pour les utilisateur qui AIMENT customiser leurs applications, BEAUCOUP 🙂
[MÀJ]
Caractéristiques mises à jour, toujours données par son auteur :
FM_Object_Notify essayait de résoudre la valeur FV_Notify_Always comme une valeur d’attribut, ce qui produisait un accés en lecture illégal à la mémoire à l’adresse 0x49893131.
FC_Adjust
J’avais oublié un NULL à la fin de la définition de la notification sur l’objet “clear”, ce qui produisait des erreurs avec FC_PreviewScheme (c’était la seule à s’en plaindre en fait).FC_AdjustScheme
Le drag’n’drop n’était accepté que si le premier membre du schéma de couleur était défini. Jusqu’à ce que je change de format pour la définition. Il accepte désormais les chaînes de caractères qui commencent par une virgule e.g. “,,c:FFFFBB,,”.FC_Balance
Il n’y avait pas réellement de bug, mais je l’ai tout de même améliorée pour qu’elle utilise la méthode FM_RethinkMethod au lieu de ces propres fonctions, ce qui nous donne un meilleur rafraichissement et un code plus petit et plus propre.Voilà, d’autres bugs ? 😀
—-
Un grand merci à M. Damir (d980) pour son support amical et à M. Henes pour ses rapports de crash et sa sévérité 🙂