| Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
|
|
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 13:56 | |
| Je pense qu'en ajoutant un if supplémentaire, ça marchera: - Code:
-
TimerGlist: if left$(GLIST_params$,6)="Liste " message "Prog principal :"+GLIST_params$ GLIST_params$="" end_if for i% = 1 to GLIST_n_listes% if GLIST_liste_listes%(i%)=ListFiltre% then exit_for next i% TimerGlist_x% = 0 : TimerGlist_y% = 0 if mouse_right_down(ListFiltre%+1)=1 TimerGlist_x% = mouse_x_right_down(ListFiltre%+1) TimerGlist_y% = mouse_y_right_down(ListFiltre%+1) end_if if TimerGlist_x% <> 0 GLIST_right_click% = GLIST_nr%(i%) + int((TimerGlist_y%+13)/14) - 1 caption ButtonLoad%,str$(GLIST_right_click%) else GLIST_right_click% = 0 caption ButtonLoad%,str$(GLIST_right_click%) end_if
return
| |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 14:35 | |
| Merci Klaus pour ton aide Mais je pense que c'est beaucoup plus compliqué que ça: les mouse_right_xxx fonctionnent sur front donc j'ai modifié la procédure de cette manière : - Code:
-
TimerGlist: timer_off TimerGlist% ' ----- évènement clic gauche if left$(GLIST_params$,6)="Liste " message "Prog principal :"+GLIST_params$ GLIST_params$="" end_if ' ----- évènement clic droit if mouse_right_down(ListFiltre%+1)=1 : ' mémo du front 'down' GLIST_mouse_right% = 1 else if mouse_right_up(ListFiltre%+1)=1 : ' et on attend le front 'haut' pour remettre à zero GLIST_mouse_right% = 0 end_if end_if if (GLIST_mouse_right% = 1) if (GLIST_right_click%=0) for i% = 1 to GLIST_n_listes% if GLIST_liste_listes%(i%)=ListFiltre% then exit_for next i% TimerGlist_x% = 0 : TimerGlist_y% = 0 TimerGlist_x% = mouse_x_right_down(ListFiltre%+1) TimerGlist_y% = mouse_y_right_down(ListFiltre%+1) if TimerGlist_x% <> 0 GLIST_right_click% = GLIST_nr%(i%) + int((TimerGlist_y%+13)/14) - 1 GLIST_params$ = "Selected|" : gosub GLIST_function ' pour éviter le scintillement de la liste... if val(GLIST_params$)<>GLIST_right_click% GLIST_params$ = "Item_select|"+str$(GLIST_right_click%)+"|" : gosub GLIST_function end_if end_if end_if else GLIST_right_click% = 0 end_if timer_on TimerGlist% return Petite cerise sur le gâteau : le clic droit sélectionne l'item. le truc qui me manque c'est de pouvoir desélectionner l'item au relachement... on a "Item_select" mais pas "Item_deselect"... je ne sais pas si c'est possible en panoramic... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 16:38 | |
| Juste une remarque, mais comme je l'ai déjà dit, mon idée est que le ON_CLICK devrait déclencher indifféremment sur le clic gauche ET sur le clic droit, à charge pour l'utilisateur, s'il le désire, de tester dans le s/p appelé si c'est droit ou gauche, avec les outils MOUSE disponibles. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 16:42 | |
| D'accord avec toi, cela éviterai de faire de la gymnastique pour pas grand chose...
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 16:55 | |
| D'accord avec JL35 sur on_click par clic gauche ou droit indifféremment !
Pour Nardo26: en Panoramic, on ne peut PAS dé-sélectionner un item dans une liste. Si c'est nécessaire, je peux par contre le faire dans les GLIST puisque c'est moi qui gère l'affichage visuel de la sélection... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 17:20 | |
| C'est possible ? la dlist ne va pas poser prooblème ?
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 17:48 | |
| J'ai relu mon programme: en fait, ça existe déjà ! La fonction s'appelle Item_free ! Tu peux essayer... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 18:57 | |
| J'avais vu la fct, j'ai déjà essayé et cela ne marche pas... mystère... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 19:25 | |
| | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 19:35 | |
| désolé de te donner du boulot... je vais regarder moi aussi de mon coté... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 19:40 | |
| Bon, j'ai regardé la fonction Item_free. Elle est accessible dans le programme de démo par un bouton. Il suffit de cliquer sur une des listes -> cela sélectionne la ligne correspondante dans les 3 listes. Le bouton dé-sélectionne alors les enregistrements. Bon, dans la version distribuée, il y a un bug avec les listes associées: il s'arrête après la première liste (honte sur moi). Je l'ai corrigé, et la nouvelle version est en ligne (un apostrophe devant un return...).
La fonction Item_free marche. Elle agit sur la dernière GLIST selectionnée par Target_is, et sur toutes les listes associées (s'il y en a...). Essaie avec le programme de démo et compare - je serai curieux du résultat. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 21 Sep 2010 - 6:46 | |
| Bonjour Klaus, Après une breve interruption J'ai changé de PC (un portable sous Win 7 avec 4Go de RAM) ca va moins ramer maintenant ! Je me suis remis sur mon programme de filtrage: Lorsque j'utilise les commandes 'item_write' et 'item_free', celles-ci provoquent un réaffichage complet de la Glist. ce qui provoque un clignotement désagréable... il n'y a pas moyen de faire le réaffichage que de l'item concerné (si actuellement visible dans la Glist bien sur) ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 21 Sep 2010 - 18:17 | |
| Difficile. Je vais regarder cela. En fait, la ligne sélectionnée est écrite par la commande print dans le picture simulant la liste. Réécrire par-dessus provoque des résultats bizarrres. C'est la raison pour laquelle je réaffiche la liste à chaque modification.
Je suis en train d'intégrer la scroll-bar "maison" dans GLIST - gros morceau car il faut pouvoir tenir compte de plusieurs GLIST simultanés et qui peuvent en plus être synchronisées - ça progresse. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mer 22 Sep 2010 - 16:32 | |
| Hello Klaus, Suite à un exemple que j'ai voulu donner à papyx, je me suis dis que je me prenais la tête pour changer un attribut de couleur pour un item donné. Que penses-tu de ceci : - Code:
-
'=============== changer l'attribut d'un enregistrement ======================================= ' Syntaxe : GLIST_params$="Item_attribut|12|n°attribut" GLIST_item_attribut:
' on recupère l'indice de l'item GLIST_s$ = right$(GLIST_params$,len(GLIST_params$)-14) GLIST_i% = instr(GLIST_s$,"|") if GLIST_i%=0 GLIST_params$ = "GLIST: parametres Item_attribut invalides" if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$) return end_if GLIST_v$ = left$(GLIST_s$,GLIST_i%-1) if numeric(GLIST_v$)=0 GLIST_params$ = "GLIST: Item_attribut, valeur numérique attendue" if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$) return end_if GLIST_v% = val(GLIST_v$) ' puis son attribut GLIST_s$ = mid$(GLIST_s$,GLIST_i%+1,len(GLIST_s$)-GLIST_i%) GLIST_i% = instr(GLIST_s$,"|") if GLIST_i%=0 GLIST_params$ = "GLIST: parametres Item_attribut invalides" ' if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$) if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_s$) return end_if GLIST_s$ = left$(GLIST_s$,GLIST_i%-1) if numeric(GLIST_s$)=0 GLIST_params$ = "GLIST: Item_attribut, valeur numérique attendue" if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$) return end_if GLIST_v$=item_read$(GLIST_numero_objet%,GLIST_v%) GLIST_i%= instr(GLIST_v$,"|") if GLIST_i% <> 0 GLIST_v$=mid$(GLIST_v$,GLIST_i%+2,len(GLIST_v$)-GLIST_i%) end_if
item_delete GLIST_numero_objet%,GLIST_v% item_insert GLIST_numero_objet%,GLIST_v%,GLIST_s$+"|["+GLIST_v$+"]" if GLIST_v%<GLIST_nr%(GLIST_index%)+GLIST_lignes_affichage%(GLIST_index%) then gosub GLIST_changea return
Ce qui est gênant c'est que l'attribut de couleur est dans le texte de l'item. Il faudrait peut être modifier Item_read de manière à ne pas avoir les codes d'attributs. en gros au lieu de retourner "2|[Texte de l'item]" cette commande retournerai "Texte de l'item" C'est un premier jet : il manque un test pour savoir si l'attribut existe... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Jeu 23 Sep 2010 - 1:20 | |
| Je regarderai ta suggestion dès qued j'aurai fini l'intégration de la scroll_bar "maison".
pour le moment, ni item_read ni item_add gèrent cela - tout est laissé à la charge de l'utilisateur dans la construction de son string. Si déjà on veut gérer l'identifiant de l'attribut, il faut aussi gérer la position d'application qui se situe entre les [...], ni devant, ni derrière... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
| |
|
| |
| Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
|