| Amiga Impact

  · Accueil
  · Actualités
   · Proposer une info
  · Agenda
   · Proposer une date
  · Articles
  · Forum
  · Petites Annonces
  · Chat IRC
  · À propos du site
   · Confidentialité



 | Connexion

Identifiant :

Mot de passe :

 Mémoriser

  · Inscription
  · Mot de passe oublié



 | En ligne

Illustration du profil de Thunder Illustration du profil de number-one




 | Nous suivre

Flux RSSGoogle+TwitterFacebook





Forum

/   Forums d'Amiga Impact
   /  gadtools je craque…

Accueil Forums AmigaOS, MorphOS et AROS Développement gadtools je craque…

Ce sujet a 6 réponses, 4 participants et a été mis à jour par  Gilloo, il y a 5 ans et 4 mois.

7 sujets de 1 à 7 (sur un total de 7)

Auteur Messages   
#210992 gadtools je craque…
 le 14/05/2014 à 16:03


thellier

Participant
  • Messages : 607

Bonjour
J’essaye désespérément de faire un prog avec des bouttons gadtools (je cherche pas à faire qque chose de beau mais fonctionnel)

Ca ouvre une fenetre
Ca crée et y attache n boutons (une glist)
(Ca marche jusque là)
Je gére les evenements de la fenetre
(Ca marche jusque là)
Et si on clique sur un boutons alors j’enléve tout les boutons, je crée et y attache m boutons (une autre glist) avec la fenetre qui reste ouverte

Et là ca marche pas !!! les anciens n boutons restent quoi que je fasse avec les m nouveaux en plus

QQun a t’il une exemple qui marche qui fasse ça ?

MERCI

Alain

#210998 Répondre à : gadtools je craque…
 le 14/05/2014 à 16:35


elwood

Participant
  • Messages : 1576

Tu as lu ici ? http://wiki.amigaos.net/index.php/GadTools_Gadgets

#210999 Répondre à : gadtools je craque…
 le 14/05/2014 à 16:35


tito

Participant
  • Messages : 208

tu as fait un refresh pour demander à intuition de redessiner ta liste de gadgets ?
void GT_RefreshWindow( struct Window *win, struct Requester *req );

cf ici : 
http://amigang.fr/rkm/Libraries_Manual_guide/node026F.html

doc complete gadtools : 
http://amigang.fr/rkm/Libraries_Manual_guide/node024B.html

(amiga os 3)

Partage de photos entre amis : les réseaux sociaux trop risqués ? les envois par email aléatoires ? le Cloud compliqué ? ---
Essayez album.zaclys.com ! ---
Association loi 1901, 100% made & hosted in France.

#211017 Répondre à : gadtools je craque…
 le 14/05/2014 à 18:06


thellier

Participant
  • Messages : 607

Oui je suis parti du wiki pour faire mon prog
J’ai ajouté un GT_RefreshWindow() et ça change rien

Pourtant c’est un problème simple une fenetre avec n boutons puis avec m boutons differents
Normalement gadtools devrait pouvoir le faire
Je comprends pas … comment on fais pour enlever les boutons à une fenetre

J’enléve avec
RemoveGList(window,glist,-1);
window->FirstGadget=NULL; /* pour etre sur */
GT_RefreshWindow(window,NULL); /* pour etre sur */

puis je cree les nouveaux gadgets avec
glist=NULL;
gad=CreateContext(&glist);

large=80; high=20;
x=2; y=2;
SetButton(4,x,y,large,high, »Offset »); x=x+large;
SetButton(3,x,y,large,high, »Name « ); x=x+large;
SetButton(2,x,y,large,high, »Size « ); x=x+large;
SetButton(1,x,y,large,high, »Call « ); x=x+large;
SetButton(0,x,y,large,high, »Called »); x=x+large;

AddGList(window,glist,0,-1,NULL);
RefreshGList(glist,window,NULL,-1);
GT_RefreshWindow(window,NULL);

avec SetButton definit ainsi

void SetButton(ULONG n,ULONG x,ULONG y,ULONG large,ULONG high,UBYTE *name)
{
ng[n].ng_TextAttr = &Topaz80;
ng[n].ng_VisualInfo = vi;
ng[n].ng_LeftEdge = x;
ng[n].ng_TopEdge = y;
ng[n].ng_Width = large;
ng[n].ng_Height = high;
ng[n].ng_GadgetText = name;
ng[n].ng_GadgetID = n+1;
ng[n].ng_Flags = 0;
gad = CreateGadget(BUTTON_KIND, gad, &ng[n], TAG_END);
}

A noter que la création des boutons est ok c’est leur enlevement/remplacement qui marche pas

Alain

#211059 Répondre à : gadtools je craque…
 le 14/05/2014 à 22:49


Gilloo

Participant
  • Messages : 831

Je dirais que c’est normal.
Si on enlève un gadget d’une fenêtre avec RemoveGList, il est enlevé de la liste des gadgets, mais en aucun cas il n’est effacé de la fenêtre.
Il faut faire un RecfFill() avec la couleur du fond, généralement couleur 0, à l’emplacement exact du gadget à enlever avant d’appeler RefreshGList() qui redessine la liste à partir du gadget indiqué en paramètre. L’ideal serait d’effacer avant RemoveGList.

SetRast(window->RPort, 0) marche aussi mais efface toute la zone cliente de la fenêtre, cela peut provoquer un flash pas zoli zoli…

#211421 Répondre à : gadtools je craque…
 le 20/05/2014 à 11:11


thellier

Participant
  • Messages : 607

Merci Gilloo cette fois ça marche 🙂

Par contre j’ai tout mes boutons avec le texte centré
Mais je voudrais les boutons avec le texte aligné à gauche: On fais comment ?

Pour info sur mon prog (ObjDumpFuncs):
Je désassemble avec ObjDump sous OS4 puis mon prog ObjDumpFuncs analyse le source ASM
Il trouve les noms des fonctions, leur tailles, leurs appels (called/calls =entrant/sortant) et en fais une liste en mémoire
On peut afficher cette liste par offset/name/size/called/calls la faire défiler,etc..
Après je peut cliquer sur une des fonctions et cela me donne quelles fonctions l’appellent (called) et quelles fonctions elle appelle (calls)
Bref c’est un explorateur de fonctions d’un exécutable (interactive function-tree)

Alain

#211569 Répondre à : gadtools je craque…
 le 22/05/2014 à 10:13


Gilloo

Participant
  • Messages : 831

fichier gadgets/button.h, dans la liste des tags, on trouve

BUTTON_Justification

suivi des valeurs au choix
/* Justification modes for BUTTON_Justification. */
#define BCJ_LEFT   0
#define BCJ_CENTER 1  /* Default – center text */
#define BCJ_RIGHT  2

donc ajouter BUTTON_Justification, BCJ_LEFT, TAG_END à la place de TAG_END dans CreateGadget et ça devrait rouler.


7 sujets de 1 à 7 (sur un total de 7)

Vous devez être connecté pour répondre à ce sujet.

                   
Derniers sujetsFraîcheur
 · indivision mk2cr il y a 1 heure et 2 minutes
 · Echange 6128 Plus & 464 Plus / Amiga1200 il y a 1 heure et 4 minutes
 · Dans le cerveau de Bill Gates il y a 1 heure et 46 minutes
 · Infos sur la Vampire (suite) il y a 1 heure et 48 minutes
 · Vidéo de l'Amiga Camping 2019 il y a 3 heures et 13 minutes
 · Cherche Amiga 1200 :-) whdload il y a 3 heures et 26 minutes
 · Connecteur IDE Amiga 1200 il y a 4 heures et 24 minutes
 · [VENDS] Pièces pour ordinateur pc il y a 5 heures et 37 minutes
 · Ami2PC Amiga USB transfer tool PREORDER il y a 8 heures et 24 minutes
 · MorphOS au quotidien il y a 15 heures et 9 minutes





RechercheFraîcheur


Copyright © 2004-2019 Amiga Impact. Tous droits réservés. Les marques citées sont déposées par leurs propriétaires respectifs.
Conditions d'Utilisation, Politique de Confidentialité et Information sur les cookies.


Fil RSS WordPressNicolas Gressard, Conseil et développement informatique

Do NOT follow this link or you will be banned from the site!