Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#626 Le 30/09/2010, à 16:48

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

J'ai fait des essais avec GET@widget.get_active(), et j'ai bien True ou False.

oui mais si tu veux le retour des toggle sans avoir modifier ton glade, tu ne sauras pas si il est true ou false (ou du moins false s'il n'est pas activé).

Par contre, dans le glade, pour savoir si le widget est visible, il n'est rien indiqué , juste si il est invisible, pareil pour active.

tu ne peux pas cree une liste du genre ?

widget1 on/off (en fonction s'il est invisible alors off sinon c'est on...)

je suis tjrs à la chasse pour utiliser le moins possible, bien que maintenant, la norme memoire c'est 4Go sur tous les nouveaux PC).

même a 4go si on peut limiter c'est mieux.

Donc plutot GEO@@window1, argument geo@800,600,0,120

pas mal ça smile

Pour le multi, je pensais plus à un truc du genre :

MULTI@@vbox1@@set_active(True)

et tout les widget de vbox1 s'activent.

on_active
off_active
toggle_active

tu peux preciser ce qu'ils font stp.

MULTI@@SET  → MULTI@@SET@@cmd()@@widget,widget
MULTI@@GET  → MULTI@@GET@@cmd()@@widget,widget
TOGGLE@@SENSITIVE → TOGGLE@@SENSITIVE@@widget,widget
TOGGLE@@VISIBLE → TOGGLE@@VISIBLE@@widget,widget
TOGGLE@@ACTIVE → TOGGLE@@ACTIVE@@widget,widget

Je pige pas l'interet des TOGGLE si y a les multi, c'est pas la même chose ?
les multi ne fonctionnent pas pour les toggle ?

pour le moment je ne teste pas car je vais pioncer un peu mais je teste ça cette nuit.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#627 Le 30/09/2010, à 18:21

Wild_Child_87

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Cool les commandes multi, je test smile

EDIT:

Ça marche chez moi, par contre j'ai ça comme retour console, je sais pas si c'est normal:

Commande:

echo "MULTI@@SET@@set_sensitive(False)@@_entry_nom,_entry_password"

Retour:

+ ./glade2script.py -g ./mpd_schedule.glade -d '--systray=systray@icone_48@MPD Schedule' -t '@@treeview1@@Artiste - Piste|FONT|BACK' -t '@@treeview2@@ICON|Artiste - Album - Titre|HIDE|BACK'
glade2script 0.1m.1, copyright 2010
{u'scrolledwindow3': [True, True, False], u'scrolledwindow2': [True, True, False], u'_volume': [True, True, False], u'_pause': [True, True, False], u'_hbox17': [True, True, False], u'_check_crossfade': [True, True, False], u'vbox8': [True, True, False], u'_pleinecran': [True, True, False], u'vbox2': [True, True, False], u'vbox3': [True, True, False], u'vbox1': [True, True, False], u'vbox6': [True, True, False], u'vbox7': [True, True, False], u'vbox4': [True, True, False], u'vbox5': [True, True, False], u'alignment7': [True, True, False], u'alignment6': [True, True, False], u'alignment5': [True, True, False], u'alignment4': [True, True, False], u'_progression': [True, True, False], u'scrolledwindow1': [True, True, False], u'lire': [True, True, False], u'_titre': [True, True, False], u'label8': [True, True, False], u'label9': [True, True, False], u'label1': [True, True, False], u'label2': [True, True, False], u'label3': [True, True, False], u'label4': [True, True, False], u'label5': [True, True, False], u'label6': [True, True, False], u'label7': [True, True, False], u'preference': [True, False, False], u'_check_popup': [True, True, False], u'connecte': [True, True, False], u'valider': [True, True, False], u'en_cours': [True, True, False], u'notebook1': [True, True, False], u'_search': [True, True, False], u'button1': [True, True, False], u'label666': [True, True, False], u'_systray_lecture': [True, True, False], u'_imagelocal': [True, True, False], u'vider': [True, True, False], u'label18': [True, True, False], u'label19': [True, True, False], u'_check_connexion': [True, True, False], u'_text_licence': [True, True, False], u'label12': [True, True, False], u'label13': [True, True, False], u'_popup_artistealbum': [True, True, False], u'label11': [True, True, False], u'label16': [True, True, False], u'label17': [True, True, False], u'label14': [True, True, False], u'label15': [True, True, False], u'hbox4': [True, True, False], u'hbox5': [True, True, False], u'hbox6': [True, True, False], u'hbox7': [True, True, False], u'hbox1': [True, True, False], u'hbox2': [True, True, False], u'hbox3': [True, True, False], u'hbox8': [True, True, False], u'hbox9': [True, True, False], u'_notebook2': [True, True, False], u'popup': [True, False, False], u'image10': [True, True, False], u'image9': [True, True, False], u'image8': [True, True, False], u'hseparator1': [True, True, False], u'image3': [True, True, False], u'image2': [True, True, False], u'image1': [True, True, False], u'image7': [True, True, False], u'image6': [True, True, False], u'image5': [True, True, False], u'image4': [True, True, False], u'hbox16': [True, True, False], u'systray': [True, True, False], u'_filechooserdialog1': [True, False, False], u'quitter': [True, True, False], u'_frame4': [True, True, False], u'_check_single': [True, True, False], u'dialog-vbox1': [True, True, False], u'menuitem6': [True, True, False], u'_filechooser_musique': [True, True, False], u'retirer': [True, True, False], u'_aleatoire2': [True, True, False], u'menu_pochette': [True, True, False], u'eventlabel': [True, True, False], u'_repeter2': [True, True, False], u'treeview1': [True, True, False], u'treeview2': [True, True, False], u'_popup_pochette': [True, True, False], u'hbox19': [True, True, False], u'_artistealbum': [True, True, False], u'_repeter': [True, True, False], u'_entry_nom': [True, True, False], u'a_propos': [True, True, False], u'_text_news': [True, True, False], u'_check_verif': [True, True, False], u'frame3': [True, True, False], u'frame2': [True, True, False], u'frame1': [True, True, False], u'_menuitem3': [True, True, False], u'preferences': [True, True, False], u'_menuitem1': [True, True, False], u'_entry_port': [True, True, False], u'menuitem1': [True, True, False], u'alignment3': [True, True, False], u'menuitem3': [True, True, False], u'menuitem2': [True, True, False], u'alignment2': [True, True, False], u'alignment1': [True, True, False], u'_entry_hote': [True, True, False], u'_combobox1': [True, True, False], u'_combobox2': [True, True, False], u'event_pochette': [True, True, False], u'apropos': [True, False, False], u'ajoute': [True, True, False], u'_aleatoire': [True, True, False], u'suivant': [True, True, False], u'label10': [True, True, False], u'image11': [True, True, False], u'_check_hide': [True, True, False], u'_check_consume': [True, True, False], u'window1': [True, True, False], u'_connexion': [True, True, False], u'viewport3': [True, True, False], u'viewport2': [True, True, False], u'viewport1': [True, True, False], u'dialog-action_area1': [True, True, False], u'fermer': [True, True, False], u'_supprime': [True, True, False], u'arreter': [True, True, False], u'hbox14': [True, True, False], u'hbox15': [True, True, False], u'hbox12': [True, True, False], u'hbox13': [True, True, False], u'hbox10': [True, True, False], u'hbox11': [True, True, False], u'statusbar1': [True, True, False], u'eventbox1': [True, True, False], u'hbox18': [True, True, False], u'hbox_encours': [True, True, False], u'_pochette': [True, True, False], u'_show': [True, True, False], u'_lecture': [True, True, False], u'_combo': [True, True, False], u'_entry_password': [True, True, False], u'menu1': [True, True, False], u'_crossfade': [True, True, False], u'_popup_titre': [True, True, False], u'precedent': [True, True, False], u'_reinitialiser': [True, True, False]}

Dernière modification par Wild_Child_87 (Le 30/09/2010, à 18:45)

Hors ligne

#628 Le 30/09/2010, à 19:16

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

AnsuzPeorth a écrit :

(surtout d'hizoka, vu que ca merde tjrs chez lui smile).

lol lol


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#629 Le 30/09/2010, à 21:06

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

J'ai fait des essais avec GET@widget.get_active(), et j'ai bien True ou False.

oui mais si tu veux le retour des toggle sans avoir modifier ton glade, tu ne sauras pas si il est true ou false (ou du moins false s'il n'est pas activé).

Je comprends pas, la commande que je donne, le résultat sera l'état du widget, si active ou non, même sans avoir touché au glade.

tu ne peux pas cree une liste du genre ?

C'est ce que j'ai fait, un dictionnaire où pour chaque widget, si il est visible, active ou sensitive.

Pour le multi, je pensais plus à un truc du genre :

Ca serait plus difficile à mettre en oeuvre, et je ne veux pas restreindre l'action sur une box, je préfère agir sur chaque widget.

on_active → activer un togglebutton (check, radio)
off_active → desactiver un togglebutton
toggle_active → basculer le togglebutton, l'inverse de son état actuel.

Je pige pas l'interet des TOGGLE si y a les multi, c'est pas la même chose ?
les multi ne fonctionnent pas pour les toggle ?

on peut se servir des 2 pour arriver au même résultat, mais les commandes TOGGLE modifie le dictionnaire, donc les callback toggle_active seront valide.
J'ai plutot ajouté la commande MULTI pour les autres commandes, par exemple modfiier 10 texte en une seule commande, plutot qu'une boucle. (j'en ai l'utilité par exemple pour un reviewers où je dois réinitialiser 45 widget texte).
Ca peut aussi servir si on veut charger plusieurs variables dans l'environnement en une commande.

Wild_Child_87 a écrit :

Ça marche chez moi, par contre j'ai ça comme retour console, je sais pas si c'est normal:

Une coquille, c'est justement le dictionnaire dont je parle plus haut. Tous les widgets avec leurs états.
line 186, supprimer print self.dic_widget


AnsuzPeorth a écrit:

    (surtout d'hizoka, vu que ca merde tjrs chez lui smile).

lol lol

C'est normal, il utilise presque tous les widgets dispo dans son interface, en plus est sous kde, pour bien simplifier les choses smile


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#630 Le 30/09/2010, à 21:43

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

TOGGLE@@SENSITIVE → TOGGLE@@SENSITIVE@@widget,widget
TOGGLE@@VISIBLE → TOGGLE@@VISIBLE@@widget,widget
TOGGLE@@ACTIVE → TOGGLE@@ACTIVE@@widget,widget

fonctionnent

echo 'MULTI@@SET@@set_sensitive(True)@@_mkvinfo,_bouton_extract'
echo 'MULTI@@SET@@set_sensitive(False)@@_mkvinfo,_bouton_extract'

ok aussi, mais du coup y a pas moyen de faire un truc :

echo 'MULTI@@SET@@set_sensitive(False|True)@@_mkvinfo,_bouton_extract'
echo 'MULTI@@ACTIVE@@_mkvinfo,_bouton_extract'

pour faire un peu comme avec TOGGLE ?
car si c'est possible les fonctions TOGGLE deviennent inutiles...

mais bon ce n'est pas tout à fait ce que j'imaginé...
car la ca ne fait que remplacer :

echo 'SET@_mkvinfo.set_sensitive(True)'
echo 'SET@_bouton_extract.set_sensitive(True)'

je voyais un truc plus automatique :

vbox
├─ widget
├─ widget
echo 'MULTI@@SET@@set_sensitive(True)@@vbox'

{u'clear_debug': [True, True, False], u'scrolledwindow8': [True, True, False], u'scrolledwindow3': [True, True, False], u'scrolledwindow2': [True, True, False], u'scrolledwindow1': [True, True, False], u'scrolledwindow7': [True, True, False], u'scrolledwindow6': [True, True, False], u'texte_encapsulage3': [True, True, False], u'texte_encapsulage2': [True, True, False], u'label30': [True, True, False], u'label31': [True, True, False], u'label32': [True, True, False], u'label33': [True, True, False], u'_bitrate': [False, True, False], u'label38': [True, True, False], u'label39': [True, True, False], u'alignment32': [True, True, False], u'dossier_save': [True, True, False], u'_systray': [True, True, False], u'alignment36': [True, True, False], u'_progressbar1': [True, True, False], u'_label_version_2': [True, True, False], u'_label_version_1': [True, True, False], u'vbox2': [True, True, False], u'vbox3': [True, True, False], u'scrolledwindow5': [True, True, False], u'vbox1': [True, True, False], u'vbox6': [True, True, False], u'vbox7': [True, True, False], u'vbox4': [True, True, False], u'vbox5': [True, True, False], u'vbox18': [True, True, False], u'alignment9': [True, True, False], u'alignment7': [True, True, False], u'encapsulage_simple': [True, True, False], u'vbox16': [True, True, False], u'alignment4': [True, True, False], u'alignment3': [True, True, False], u'a_propos': [True, False, False], u'alignment1': [True, True, False], u'vbox13': [True, True, False], u'label8': [True, True, False], u'label9': [True, True, False], u'label1': [True, True, False], u'label2': [True, True, False], u'label4': [True, True, False], u'label5': [True, True, False], u'label6': [True, True, False], u'label7': [True, True, False], u'save_debug': [True, True, False], u'_priorite': [False, True, False], u'alignment28': [True, True, False], u'alignment29': [True, True, False], u'alignment27': [True, True, False], u'scrolledwindow4': [True, True, False], u'_canaux': [True, True, False], u'alignment23': [True, True, False], u'alignment39': [True, True, False], u'alignment38': [True, True, False], u'_filechoose2': [True, True, False], u'checkbutton2': [True, True, False], u'checkbutton3': [True, True, False], u'checkbutton4': [True, True, False], u'_label_up': [True, True, False], u'_frame4': [True, True, False], u'alignment31': [True, True, False], u'label18': [True, True, False], u'_bouton_extract': [False, True, False], u'_textedebug': [True, True, False], u'label13': [True, True, False], u'label10': [True, True, False], u'label11': [True, True, False], u'_window1': [True, True, False], u'label17': [True, True, False], u'label14': [True, True, False], u'label15': [True, True, False], u'hbox4': [True, True, False], u'_table1': [True, True, False], u'_hbox4': [True, True, False], u'hbox7': [True, True, False], u'hbox1': [True, True, False], u'hbox2': [True, True, False], u'hbox3': [True, True, False], u'button1': [True, True, False], u'_notebook2': [True, True, False], u'_notebook3': [True, True, False], u'_filechoose1': [True, True, False], u'alignment37': [True, True, False], u'hbox13': [True, True, False], u'bouton_about': [True, True, False], u'_vbox8': [False, True, False], u'_text_licence': [True, True, False], u'_frame_img': [True, True, False], u'_vbox4': [True, True, False], u'_vbox5': [True, True, False], u'image9': [True, True, False], u'image8': [True, True, False], u'hseparator1': [True, True, False], u'hseparator2': [True, True, False], u'image3': [True, True, False], u'image6': [True, True, False], u'image5': [True, True, False], u'image4': [True, True, False], u'label23': [True, True, False], u'_label_date': [True, True, False], u'label68': [True, True, False], u'label67': [True, True, False], u'label66': [True, True, False], u'hbox14': [True, True, False], u'label60': [True, True, False], u'hbox15': [True, True, False], u'label75': [True, True, False], u'_visualisation_img': [True, True, False], u'_bouton_stop': [True, False, False], u'label26': [True, True, False], u'label77': [True, True, False], u'_resolution': [True, True, False], u'_frame13': [True, True, False], u'hbox12': [True, True, False], u'hbox11': [True, True, False], u'_service_script': [True, True, False], u'encapsulage_total': [True, True, False], u'label29': [True, True, False], u'frame13': [True, True, False], u'treeview1': [True, True, False], u'label78': [True, True, False], u'label79': [True, True, False], u'label74': [True, True, False], u'dialog-vbox1': [True, True, False], u'label76': [True, True, False], u'frame18': [True, True, False], u'label71': [True, True, False], u'label72': [True, True, False], u'label73': [True, True, False], u'_bouton_quit': [True, True, False], u'_dts_ac3': [True, True, False], u'_menu_lanceur': [True, True, False], u'alignment6': [True, True, False], u'frame3': [True, True, False], u'frame1': [True, True, False], u'frame4': [True, True, False], u'label48': [True, True, False], u'vbox17': [True, True, False], u'label44': [True, True, False], u'hbox10': [True, True, False], u'alignment2': [True, True, False], u'alignment40': [True, True, False], u'label55': [True, True, False], u'tree_pistes': [True, True, False], u'_frame_texte': [True, False, False], u'frame27': [True, True, False], u'label56': [True, True, False], u'label57': [True, True, False], u'label54': [True, True, False], u'dossier_mkv': [True, True, False], u'label52': [True, True, False], u'label53': [True, True, False], u'label50': [True, True, False], u'label51': [True, True, False], u'label59': [True, True, False], u'image13': [True, True, False], u'image12': [True, True, False], u'image11': [True, True, False], u'image10': [True, True, False], u'alignment13': [True, True, False], u'label16': [True, True, False], u'bouton_up': [True, True, False], u'preference_suppr': [True, True, False], u'alignment18': [True, True, False], u'_multi_coeur': [True, True, False], u'viewport3': [True, True, False], u'viewport2': [True, True, False], u'viewport1': [True, True, False], u'_mkvinfo': [False, True, False], u'alignment30': [True, True, False], u'viewport6': [True, True, False], u'viewport5': [True, True, False], u'viewport4': [True, True, False], u'dialog-action_area1': [True, True, False], u'hbox5': [True, True, False], u'hbox16': [True, True, False], u'label22': [True, True, False], u'label21': [True, True, False], u'label20': [True, True, False], u'label27': [True, True, False], u'_textview_texte': [True, True, False], u'label25': [True, True, False], u'_menage_tmp': [True, True, False], u'_auto_up': [True, True, False], u'label28': [True, True, False], u'hbox18': [True, True, False], u'hbox19': [True, True, False], u'frame28': [True, True, False], u'frame22': [True, True, False], u'frame23': [True, True, False], u'frame20': [True, True, False], u'frame26': [True, True, False], u'_text_news': [True, True, False], u'frame25': [True, True, False], u'label24': [True, True, False], u'_normalisation': [False, True, False], u'vbox9': [True, True, False]}

c'est vrai que ça fait désordre au lancement du code smile
je m'en va faire : line 186, supprimer print self.dic_widget

Je comprends pas, la commande que je donne, le résultat sera l'état du widget, si active ou non, même sans avoir touché au glade.

en fait je crois que j'ai dis une connerie... laisse, c'est moi (pour changer)...

on_active et off_active ne servent qu'aux toggle ?

Dernière modification par Hizoka (Le 30/09/2010, à 21:45)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#631 Le 30/09/2010, à 22:09

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

echo 'MULTI@@SET@@set_sensitive(False|True)@@_mkvinfo,_bouton_extract'

oui tu peux, mais le dictionnaire ne sera pas modifié. (False ou True hein !)

echo 'MULTI@@ACTIVE@@_mkvinfo,_bouton_extract'
#TOGGLE@@ACTIVE@@_mkvinfo,_bouton_extract

car si c'est possible les fonctions TOGGLE deviennent inutiles...

Nécessaire pour le dictionnaire, sinon j'aurais du filtrer les 3 commandes avec la MULTI, je trouve plus simple de spécifier comme ça ?
Sinon, je vais supprimer les commandes MULTI, elles font un peu doublons, mais elles permettent qd même d'utiliser des commandes pygtk sur plusieurs widget en même temps, c'est pour simplifier, plutot qu'une boucle ou une suite de echo, si c'est la même commande, bien sur !

mais bon ce n'est pas tout à fait ce que j'imaginé...
car la ca ne fait que remplacer :

Oui, mais en référençant les états des widgets, pour que les commandes toggle_active, toggle_sensitive, etc,etc, puisse fonctionner.

je voyais un truc plus automatique :

Ca sera trop galère, si les widgets sont dans des box, qui eux même sont dans tes box, je vais devoir redescendre l'arbre ... Ca ferait beaucoup de code pour une option qui est qd même bien spécifique et qui peut être réglé facilement autrement ! J'essaie de faire le code le plus court possible, car glade2scrip accompagne le soft, donc au plus légé au mieux (il pourrait être installer dans bin, mais j'aime bien laisser le choix smile)

c'est vrai que ça fait désordre au lancement du code smile

Je m'attendais à pire, vue ton interface ....!

je m'en va faire : line 186, supprimer print self.dic_widget

A force d'aller gratter dans le code python, ca te donnera peut être envie de t'y mettre wink

on_active et off_active ne servent qu'aux toggle ?

Oui, ce sont les seuls widget qui ont 2 états.

Dernière modification par AnsuzPeorth (Le 30/09/2010, à 22:11)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#632 Le 30/09/2010, à 22:18

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

bah ce qui serait interessant c'est qu'avec les commandes multiple, il soit capable de s'adapter à l'etat actuel des widget pour savoir s'il faut activé/desactivé (par ex) le widget (mais tu m'as peut être repondu, mais j'ai pas tout tilter...)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#633 Le 30/09/2010, à 22:23

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Hizoka a écrit :

bah ce qui serait interessant c'est qu'avec les commandes multiple, il soit capable de s'adapter à l'etat actuel des widget pour savoir s'il faut activé/desactivé (par ex) le widget (mais tu m'as peut être repondu, mais j'ai pas tout tilter...)

Ben c'est le but des commandes TOGGLE@@* et les callback toggle_*. L'activation ou non se base sur le dictionnaire, d'où l'obligation d'utiliser des commandes qui modifient le dico, même pour modifier un seul widget, sinon, les toggle/TOGGLE ne fonctionneront plus correctement.

J'ai été clair ? Ou alors c'est moi qui suit tordu ?

EDIT: j'ai jouté les commandes pour la taille:
GEO@@GET@@widget → widget="width,height,X,Y"
GEO@@SET@@widget@@width,height,X,Y
J'ai chargé une variable, je trouve plus souple que d'appeler la fonction correspondante, je sais pas koi est le mieux ???

Dernière modification par AnsuzPeorth (Le 30/09/2010, à 22:27)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#634 Le 30/09/2010, à 22:26

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

oui mais y a pas moyen de le faire pour les autres widgets que toggle ?
c'est ça ma question

bouton1 : sensible
bouton2 : insensible
echo 'MULTI@@sensible@@bouton1,bouton2'

donne

bouton1 : insensible
bouton2 : sensible

tu vois le truc ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#635 Le 30/09/2010, à 22:30

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Hizoka a écrit :

oui mais y a pas moyen de le faire pour les autres widgets que toggle ?
c'est ça ma question

bouton1 : sensible
bouton2 : insensible
echo 'MULTI@@sensible@@bouton1,bouton2'

donne

bouton1 : insensible
bouton2 : sensible

tu vois le truc ?

Ben oui, c'est ce que fait la commande

TOGGLE@@SENSITIVE@@widget,widget

ou le callback toogle_sensitive, pour chaque widget

(tu as lu mon edit du post précedent ?)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#636 Le 30/09/2010, à 22:35

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

merci pour l'edit.

Ben oui, c'est ce que fait la commande

ok, je pensais que c'etait uniquement pour les toggle en fait...
donc en effet si ca marche ca limite l'interet des multi mais autant le conserver si c'est implenté, ca servira toujours à quelqu'un smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#637 Le 30/09/2010, à 22:43

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

merci pour l'edit.

Mais tu penses qu'il serait mieux d'appeler la fonction avec les tailles en arguments, ou comme j'ai fait, charger une variable dans l'environnement (donc ITER nécessaire), je sais po ???

ok, je pensais que c'etait uniquement pour les toggle en fait...

ben toggle en anglais c'est basculer, donc on bascule sur 2 etat, pour show/hide, sensitive/insensitive, active/inactive.

donc en effet si ca marche ca limite l'interet des multi mais autant le conserver si c'est implenté, ca servira toujours à quelqu'un smile

Ben comme mon exemple pourles widget texte, mais aussi pour réinitialiser des entry.
Plutot que:

SET@_entry1.set_text(' ')
SET@_entry2.set_text(' ')
SET@_entry3.set_text(' ')

on aura:

MULTI@@SET@@set_text(' ')@@_entry1,_entry2,_entry3

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#638 Le 30/09/2010, à 22:45

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Mais tu penses qu'il serait mieux d'appeler la fonction avec les tailles en arguments, ou comme j'ai fait, charger une variable dans l'environnement (donc ITER nécessaire), je sais po ???

si possible evite les iter c'est chiant, ca rajoute des fonctions dans le code...

ben toggle en anglais c'est basculer, donc on bascule sur 2 etat, pour show/hide, sensitive/insensitive, active/inactive.

ok, je savais pas

ouais faut conserver quand même multi c'est toujours pratique.

echo 'SET@_table1.set_sensitive(False)'
echo 'SET@_vbox4.set_sensitive(False)'
echo 'SET@_hbox4.set_sensitive(False)'
echo 'SET@_vbox5.set_sensitive(False)'
echo 'SET@_frame4.set_sensitive(False)'

devient

MULTI@@SET@@set_sensitive(False)@@_table1,_vbox4,_hbox4,_vbox5,_frame4

c'est un gain de temps ou pas niveau du python ?

Dernière modification par Hizoka (Le 30/09/2010, à 22:46)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#639 Le 30/09/2010, à 22:50

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

si possible evite les iter c'est chiant, ca rajoute des fonctions dans le code...

Dans cette exemple précis, ca change rien, il faudra ajouter une fonction window (puisqu'on récup la taille et emplacement du GUI).
Mais autant éviter ITER, c'est pas simple pour tout le monde de comprendre cette commande, bien pratique pourtant et indispensable !


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#640 Le 30/09/2010, à 22:57

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

c'est un gain de temps ou pas niveau du python ?

Oui, ca évite des dialogues supplémentaire entre bash et python, donc gain de temps.
Par contre ton exemple, il faudrait utiliser TOGGLE, pour référencer l'état dans le dictionnaire, si tu en as besoin, bien sur (si tu comptes utiliser des callbacks toggle_* ou des commande TOGGLE@@* ensuite).

TOGGLE@@SENSITIVE@@_table1,_vbox4,_hbox4,_vbox5,_frame4

Finalement c'est la seule faille, si tu modifie via la GUI, callback toggl_* ou on_active,on_show,etc,etc, ou via la commande TOGGLE@@*, le dico est modifié, par contre si tu passe SET@widget.set_active ou MULTI@@SET@@set_active(True)@@widget, le dico n'est pas modifié, donc les basculement ne fonctionneront plus correctement.
Pour contrer ce problème, je devréais ajouter pas mal de code et de controle, ca perdrait en rapidité alors qu'il est possible de faire ce que l'on veut, si on fait attention wink

Dernière modification par AnsuzPeorth (Le 30/09/2010, à 23:00)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#641 Le 30/09/2010, à 23:07

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ok donc il vaut mieux utiliser TOGGLE smile

cool pour le gain de temps.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#642 Le 30/09/2010, à 23:13

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

vois tu une facon de simplifier ça :

for variable in systray menage_tmp menu_lanceur service_script multi_coeur canaux auto_up
do
	if [[ ${!variable} == True ]]
	then
		echo "TOGGLE@@ACTIVE@@_${variable}"
	fi
done

le but est de cocher les toggle en fonction des paramètres sauvegardés.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#643 Le 30/09/2010, à 23:16

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ok donc il vaut mieux utiliser TOGGLE

Ben oui et non, si par exemple l'user coche une casse, tu fait un TOGGLE après, tu n'auras le résultat voulus (par exemple cocher plusieurs check). Dans ce cas, il serait mieux de passer par des callback on_active, pour forcer la selection du check (même si l'user à déjà modifier un check) et le mémoriser dans le dico.

Les callbacks toggle_active, toggle_sensitive et toggle_visible sont utiles pour avoir les 2 état d'un widget avec un seul bouton.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#644 Le 30/09/2010, à 23:24

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

vois tu une facon de simplifier ça :
le but est de cocher les toggle en fonction des paramètres sauvegardés.

En provenant d'un fichier ?
Genre:

systray=True
menage_tmp=True
etc
etc

A l'arrache, juste pour l'idée (à toi d'améliorer la commande)

var=$(grep True fichier.txt | sed 's/=True//;s/\n/,/')
echo "TOGGLE@@ACTIVE@@$var"

Dernière modification par AnsuzPeorth (Le 30/09/2010, à 23:24)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#645 Le 30/09/2010, à 23:24

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ok donc

echo "TOGGLE@@ACTIVE@@_${variable}"

n'a pas d'interet par rapport a :

echo "SET@_${variable}.set_active(True)"

si je n'utilise pas de toogle sur ces coches ?

ouais j'ai un fichier de ce type mais je le charge, donc j'utilise les variables directement...
m'ai l'idée est bonne...

EDIT :
, je ne me rappelle plus à quelle commande correspond : TREE@@CLEAR
car j'en fait plusieurs si je passe par la commande gtk, je pourrais faire un multi.

Dernière modification par Hizoka (Le 30/09/2010, à 23:32)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#646 Le 30/09/2010, à 23:34

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

si je n'utilise pas de toogle sur ces coches ?

Oui, je pense que tu as compris smile
C'est vrai que les commandes TOGGLE sont surtout utiles pour griser/dégriser ou show/hide des widgets, pour des check, c'est plus délicat, faut pas que l'user est déjà checker, sinon, le basculement ne sera pas ce que l'on souhaite. Pour les check, c'est utile, comme dans ton cas, pour charger des options, mais on peut obtenir le même resultat avec MULTI@@SET@@set_active(True)@@widget,widget (mais pas d'enregistrement dans le dico en passant par cette solution)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#647 Le 30/09/2010, à 23:41

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ouais j'ai un fichier de ce type mais je le charge, donc j'utilise les variables directement...
m'ai l'idée est bonne...

Tu peux le foutre dans une variable et soit le sourcer ou y récupérer du texte. Ca ne te fera qu'un accès au fichier.

je ne me rappelle plus à quelle commande correspond : TREE@@CLEAR
car j'en fait plusieurs si je passe par la commande gtk, je pourrais faire un multi.

Je ne sais pas si je te l'ai dit (peut être dans un post lointain), mais tu n'as pas accès direct.
Les données d'un treeview sont dans un listore, et c'est ce listrore qu'il faut clearer.
Donc:

MULTI@@SET@@clear()@@store_treeview1,store_treeview2

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#648 Le 30/09/2010, à 23:50

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Tu peux le foutre dans une variable et soit le sourcer ou y récupérer du texte. Ca ne te fera qu'un accès au fichier.

oui je le source, comme ça j'ai toutes mes preferences en variables et je les reutilises directement un peu partout.

MULTI@@SET@@clear()@@store_treeview1,store_treeview2

merci


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#649 Le 30/09/2010, à 23:56

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

cool pour le gain de temps.

Si tu veux gagner en réactivité (action depuis la GUI), tu peux essayer de supprimer le time.sleep de la ligne 782.
Tu verras si ca plante big_smile (chez moi, en bash/python, ca merde des fois, selon les scripts, en python/python, pas de soucis, ca dépends du pc aussi je pense !)

Dernière modification par AnsuzPeorth (Le 30/09/2010, à 23:57)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#650 Le 01/10/2010, à 00:03

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

time.sleep(0.001)

je doute que ça fasse perdre beaucoup de temps ça tongue

bon, je me stope la pour cette nuit...

Dernière modification par Hizoka (Le 01/10/2010, à 00:05)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne