+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité régulier
    Inscrit en
    décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : décembre 2004
    Messages : 19
    Points : 8
    Points
    8

    Par défaut A la ligne automatiquement dans un GtkTextView

    Bonjour,

    Je continue dans la série des questions stupides . Encore une fois, tout est dans le titre, mais j'explique.

    Je crée une chaine de texte quelconques d'une longueur quelconques. Je la stock temporairement dans un objet GtkTextBuffer. Et finalement, je la passe à un objet GtkTextView comme modèle de base que mon client pourra modifier à volonté.

    Le problème que j'ai aujourd'hui est avant d'ordre esthétique. En effet, si la chaine de texte que je passe à mon GtkTextView est trop longue, plutôt que de couper/hacher la chaine pour effectuer le passage à la ligne de façon autonome, le système étire ma fenêtre à l'infini pour pouvoir afficher ma chaine de texte en entier. Comme d'ailleurs lorsque je laisse le GtkTextView vide et que j'écris quelques chose dedans, si je ne fais pas moi-même le saut de ligne, la fenêtre commence à s'étirer, toujours à l'infini.

    J'ai essayé de bloqué la taille de ma fenêtre principale et là, mon GtkTextView est carrément incomplet puisqu'il dépasse les dimension de la fenêtre.

    Si quelqu'un pouvait me mettre sur la voie... en attendant, je vais continuer à fouiner !

    Merci !

    Mote

    PS : Oui, oui, je suis un gros reloud

  2. #2
    Invité régulier
    Inscrit en
    décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : décembre 2004
    Messages : 19
    Points : 8
    Points
    8

    Par défaut

    Re,

    Je vais me faire accuser de SPAM à ce rythme mais rassurez vous, je ne fais pas exprès...

    Bon, j'avais vu les methods set_wrap_mode() et get_wrap_mode() allant avec GtkTextView(), la deuxième n'a eu aucun effet et n'a produit aucune erreur au niveau du prompt. La première par contre me réclamait un argument. Evidement, il n'y avait aucune explication ou même mini-définition d'une des deux method dans le manuel officiel ou même d'exemple. Bref, j'ai mené ma petite enquête, sans savoir que j'avais trouvé la bonne method, et voici ce que j'ai trouvé mis en scène
    Code :
    1
    2
    3
    4
    5
    6
    7
     
    $introDestTxtVw = 'ma chaine de texte d\'une longueur quelconque...'
    $textBufferIntroDestTxtVw = new GtkTextBuffer();
    $textBufferIntroDestTxtVw -> set_text($introDestTxtVw);
    $msgIntroDestTxtVw = new GtkTextView();
    $msgIntroDestTxtVw -> set_buffer($textBufferIntroDestTxtVw);
    $msgIntroDestTxtVw -> set_wrap_mode(Gtk::WRAP_WORD);
    C'est : Gtk::WRAP_WORD qui doit être insérer dans la method set_wrap_mode() pour automatiser le passage à la ligne.

    Donc, je pose une nouvelle question; je fais comment pour trouver les options qui s'applique à une method lorsque même le manuel officiel les passe sous silence ???

    Merci

    Mote

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 1 259
    Points : 1 682
    Points
    1 682

  4. #4
    Invité régulier
    Inscrit en
    décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : décembre 2004
    Messages : 19
    Points : 8
    Points
    8

    Par défaut

    Re,

    Je me doutais un peu de la réponse Teuf13... je m'attendais même à ce que l'on me réponde de lire la source de la librairie PHP-GTK...

    Néanmoins, c'est une réponse que je vais retenir car c'est terrible le coup du devin... j'espère que mes profs d'info accepterons ce genre de réponse l'année prochaine Faut dire, ils ont de ces réponses des fois ça passerait peut être, mdrrrr

    Néanmoins, faudrait presque mettre le lien que tu m'as passé dans la FAQ car ça peut être hyper utile pour la divination... un peu comme le mare de café ou les entrailles de poulet, faut toujours un vecteur quoi (suis sérieux là !!!!)

    Merci encore Teuf13 !!!

    Mote

    PS : Ne vous inquiétez pas, je reviendrais prochainement avec d'autres questions stupides car j'avoue que j'y ai pris goût à PHP-GTK

  5. #5
    Invité régulier
    Inscrit en
    décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : décembre 2004
    Messages : 19
    Points : 8
    Points
    8

    Par défaut

    Re,

    Franchement, c'est sur efficace la divination quand on a le bon vecteur teuf13 !!! J'ai compris les options, au-delà de la liaison et du positionnement, pour la method attach() de GtkTable() avec ton lien qui pointe vers le manuel de la librairie Gnome !!!!

    Merci encore teuf13 !!! t'assures graaaaave Et sérieux, si le lien que tu m'as donné n'est pas déjà dans la FAQ php-gtk, faut le mettre !!! (oui, j'avoue j'ai lu en Z la FAQ )

    Mote

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 1 259
    Points : 1 682
    Points
    1 682

    Par défaut

    Le lien que j'ai filé n'a rien de magique, tu le trouves à partir de la documentation officielle de gtk+ sur http://www.gtk.org/documentation.html Google doit pouvoir trouver ces infos relativement facilement aussi. Le seul truc de magique dans tout ça, c'est qu'il faut penser à regarder l'API C et "deviner" comment les gens qui ont fait le binding php ont "traduit" les constructions C

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •