Page 1 of 2

Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 01:03
by Lepzulnag
Bonjour à tous :) ,

depuis que j'ai fait l'acquisition de ma Ti-nspire CX, je n'ai travaillé qu'à un seul projet : une bibliothèque pour gérer rapidement des interfaces belles et complexes.

Aujourd'hui, enfin, je viens de terminer le dernier widget qui, selon moi, fait de Winbox une bibliothèque assez générique pour être utilisée dans quasiment tous les cas, alors je fais l'annonce !! Le projet est terminé, il ne reste plus qu'à écrire une documentation et s'occuper des mises à jour. Quand la documentation sera terminée, je le livrerais avec.

D'ici là je vous donne quelques exemples, certains vieux (il y a des traces de lignes de débogage), les derniers plus récents : http://tiplanet.org/forum/archives_voir.php?id=10166 (ATTENTION : cela n'est malheureusement surement pas compatible calculettes non-CX à cause de la gestion du thème)

1/ wTest3.
Donne un exemple de la façon dont sont gérés les Layouts. Ici des Layouts sont inclus dans d'autres. Les boutons aux extremités permettent de faire bouger la fenêtre.

2/ wTest5.
Un exemple de l'organisation d'une fenêtre. Il y a également des boutons et des barres de progression appuyer sur CTRL + flèche pour les remplir/vider plus rapidement). Avec la touche MENU, il est possible d'ouvrir le menu associé à la fenêtre. Si j'avais été moins paresseux j'aurais fait des sous-menus.

3/ wTest6.
Cette application n'a aucun autre intérêt que celui de montrer la structure d'une boîte de dialogue, fort similaire à celle d'une fenêtre, mis à part les deux boutons OK et ANNULER.


Enfin, pour vous donnez une idée plus abstraite mais plus complète, voici la liste des Widgets :
- PANEL (pour gérer ses propres graphismes dans une zone)
- LABEL (une ligne de texte)
- CHECK
- TABLE (pour afficher de multiples données dans une table)
- PIXMAP (affiche une image)
- BUTTON
- REQUEST (une ligne pour saisir un texte, un nombre, une variable)
- TEXT (pour saisir/afficher un long texte)
- LIST (affiche un menu)
- BOXLIST (même chose, mais affichée dans une boîte)
- MAP (sert à afficher de multiples images sélectionnables, par exemple des smileys)
- PROGRESS BAR

Et les Widgets layouts, c'est-à-dire qui contiennent d'autres widgets et les arrangent (un widget layout peut en contenir un autre) :
- WINDOW
- DIALOG
- LAYOUT HORIZONTAL, LAYOUT VERTICAL
- GRID (permet de créer un tableau de widgets, voir exemple wTest3)
- TAB (pour gérer ses widgets en onglets)

Voilà, en espérant que cela vous donne des idées :) . Si vous avez des questions, des idées d'amélioration, je suis là.

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 01:16
by Levak
Nice try but too late =)
Image



· Levak ruuuuuuns

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 01:17
by Adriweb
Let me traduire :
Levak est jaloux que quelqu'un d'autre a fait "pareil" x)
(et donc il met un screenshot d'un truc pour le moment pas public ^^)

Bref, gg sinon :)

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 07:58
by Lionel Debroux
Bien :)

Mais en effet, comme du reste celui des TI-68k, l'OS contient déjà beaucoup de code; malheureusement, TI ne documente rien.

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 17:23
by ElementCoder
Bien :D, c'est une motivation pour moi d'apprendre C et commencer de programmer pour ndless :)

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 05 Jan 2013, 23:58
by Lepzulnag
Bonsoir :)

Je viens de sortir un petit utilitaire qui utilise la librairie WinBox pour convertir des couleurs RGB en une seule couleur, et tester les différents backgrounds supportés par WinBox : http://tiplanet.org/forum/archives_voir.php?id=10179

Mais pour le moment ses deux principales utilités sont de donner un meilleur aperçu des possibilités de la bibliothèque que les petits exemples que j'ai donné, et de tester si le programme marche sur des nSpire en niveaux de gris !

Car oui je n'ai que ma CX et je ne peux tester sur les non-CX :(

Je suis donc à la recherche d'une âme de testeur ! Est-ce que sur une nSpire en niveaux de gris le programme démarre ou plante dès le démarrage ? Est-ce qu-il y a des incohérences graphiques, ou quoi que ce soit ?

J'utilise la SDL, donc c'est fait pour marcher. J'espère 0:]

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 06 Jan 2013, 00:40
by Excale
J'ai testé Winbox Colors.
Je dois avouer que c'est plutôt bien fait :).

Par contre, je n'ai pas compris comment choisir le type de dégradé (et puis seule la couleur 1 définit la couleur de tout le fond), et le bouton "réinitialiser" n'a pas l'air de faire quelque chose.

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 06 Jan 2013, 00:44
by Lepzulnag
Si tu as choisi le dégradé de type 'SOLID', c'est-à-dire uni, seule la couleur 1 est utilisée.
Tu peux choisir d'autres options de dégradé avec la liste ''Type de dégradé".
Le bouton "réinitialiser" sert à remettre le background par défaut si jamais tu l'as changé. Sinon en effet il est inutile :)

J'espère t'avoir aidé.

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 06 Jan 2013, 00:46
by Excale
Justement, je n'arrive pas à dérouler la liste^^.

Re: Winbox, une bibliothèque pour gérer ses fenêtres en C !

Unread postPosted: 06 Jan 2013, 00:49
by Lepzulnag
Ahah, voilà un bug !! :D

Tu as testé sur une non-CX ? Tu as appuyé sur CLICK et non sur flèche droite ? Je me disais bien que ça ne pourrait pas marcher du premier coup.. Je vais faire un petit tour du côté de mon code en attendant...