1

2

Tu est au courant que plusieurs libs permettent déja de faire ça?

3

4

Martial ,Je trouve que ca donne un look un peut trop HP. mais bon je suppose qu'on peut personniliser pour faire tout sorte de Look.

--------------------------------------------------------------------------------------------
Je trouverais encore plus sympa si tu en faisait une librairie pour le Basic. La bas ca interesserait surement du monde de pouvoir
profiter d'autre chose que des boites de Dialog d'AMS , meme si certains pourrait trouver a redire.

Si tu rends ca utilisable en C, je te promets rien mais je pourrais me pencher dessus; en utilisant les routines de ExtLiB pour faire cette Lib.

5

J'avais fait une lib graphique du même genre style windows avec les fenêtres, combobox, curseur, listview...
Martial le pb sur TI ce n'est pas de faire des libs, encore faut-il convaincre les programmeurs... de les utiliser! smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

7

pour rendre ton truc compatible C, ça suffit de coller avec un .h qui contient les prototypes avec des register machin, cf extgraph smile

8

9

ça serait cool de pouvoir l'utiliser en effet happy

10

11

Il a pas hurlé contre ta lib pour des boites de dialogue alors qu'AMS fournit deja de beeeelles boites ? tongue

12

13

14

FpgForce :
Il a pas hurlé contre ta lib pour des boites de dialogue alors qu'AMS fournit deja de beeeelles boites ?

Bah si, suffit de lire le topic correspondant pour voir qu'à son habitude, il se prend pour le gourou de la prog TI... ce qui a fait perdre les pédales à Martial gni

15

./13> En fait, ça reste toujours exploitable en C, seulement on ne pourra pas manipuler des structures C représentant tes dialogues.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

16

17

Martial Demolins :
oh si, c'est déjà fait ça. Mais il dit qu'à cause de mon format de données, je ne peux pas adapter la lib au C. Je pense que c'est à cause du hack, mais je n'en sais pas plus, je verrai pour savoir si c'est facilement adaptable.

quel est le pb ? si c'est juste le long à 0(an) qui détermine le contenu du reste, ça se fait facilement avec des unions... (sauf que pour Window ça pourrait être ambigu si x=0 est autorisé, non confus)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

18

19

ah OK tu concatènes les tags... bah ça reste tout à fait possible en C, même si effectivement ça sera pas plus pratique à utiliser qu'en assembleur... (par contre c'est pas impossible que ça soit interdit par le standard sad)

tu prends un pointeur vers un void * que t'appelles voidptr, puis ensuite tu fais :
typedef union {
  int tag;
  BUTTON button;
  ...
} UNION_DE_TOUS_LES_TAGS;

#define ptr ((UNION_DE_TOUS_LES_TAGS *)voidptr)
while (ptr->tag!=TAG_END)
  switch (ptr->tag) {
    case TAG_BUTTON:
      DisplayButton(ptr->button.text);
      voidptr+=sizeof(BUTTON);
      break;
    case TAG_EMPTYLINE:
      ...
  }

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

20

21

Ah oui, si t'as envie que les gens puissent déclarer des fenêtres directement dans leur code, c'est effectivement pas gagné avec ce genre de structures de données hehe Le plus simple ce serait soit que tu aies une taille fixe pour toutes les structures soit que tu passes par un tableau de pointeurs vers chacune des structures, plutôt que de les concaténer...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

22

23

non ce n'est pas nécessaire... il suffit de passer par une union
typedef union {
  struct {
    int tag;
    int *element1;
    ...
  } button;
  struct {
    int tag;
    char *text;
  } text;
  ...
} ITEM;


Le problème par contre c'est que qd qqun va déclarer un bouton en C, par défaut son bouton va avoir la taille du plus grand ITEM possible sad

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

24

Sinon, tu peux faire comme le TIOS : DialogAddMachin, en travaillant sur des zones de mémoire dynamiques.
Mais ce sera assez chiant pour définir des dialogues statiques.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

25

Oui, la solution la plus pratique à utiliser serait sans doute de fournir à l'utilisateur de quoi définir des dialogues dynamiques (DialogAddMachin()) et de quoi définir des dialogues statiques (via des macros, comme tu ne travailles qu'avec des long tu peux considérer un dialogue comme un tableau de longs, et tu rajoutes des macros style #define GW2_BEGIN(name) long name[]={ ou encore #define GW2_BUTTON(text,x,y) GW2_TAG_BUTTON,(long)(text),(long)(x)<<16|(y),)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

26

Pourquoi pas inclure plutôt un langage de création de boîtes de dialogues avec balises qui s'occupe d'une traduction en ASM et inclue ça au C lors de la compilation? Le but étant d'avoir une gestion d'interface à part de la gestion du code! (Le pb majeur c'est que c'est plus vraiment une librairie après.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

27

mais est-ce que ça serait vraiment plus intéressant que des macros confus

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

Ca demande du développement mais l'idée est d'avoir un prog qui permettre de créer son interface visuelle avec quelques cliques, d'expoter ça en je ne sais pas (macros, langage...) et op compiler avec TIGCC.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

29

OK, si tu fais un outil graphique ça peut être intéressant, sinon je vois pas l'intérêt de faire un langage ad-hoc... et d'ailleurs l'outil graphique en question pourrait très bien modifier du code C plutôt qu'un fichier intermédiaire qui devrait être recompilé smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

30