Journal event filtering avec Qt/KDE

Posté par  (site web personnel) .
Étiquettes : aucune
0
13
nov.
2003
Bonjour tout le monde,

Il y aurait-il quelqu'un dans l'assemblée qui ait déjà programmé avec les libs Qt ou KDE ?

Je voudrais en effet faire de l' "event filtering" pour un plugin konqui. Je dois détecter quand une frame a le focus pour mettre à jour les boutons de mon plugin.

Les acteurs sont :
- konq-rellinks ( http://shift.freezope.org/konq_rellinks(...) ) le plugin,
- KHTMLPart ( http://developer.kde.org/documentation/library/cvs-api/khtml/html/c(...) ) qui représente la page HTML dont c'est l'évènement focus ou équivalent que je voudrait filtrer,
- l'event-filtering ( http://www.kde.com/docs/d/kdevelop/1.1.2/en/addendum/index-4.html(...) http://www.kdevelop.org/doc/kde_libref/index-4.html(...) ...) auquel je ne comprend rien :)

Quelqu'un peut-il m'aider ?
Je ne comprend pas comment accéder à l'évènement "focus" de la frame courante :(

Merci,

Franck
  • # Re: event filtering avec Qt/KDE

    Posté par  . Évalué à 2.

    avec Qt dans ton KHTMLPart tu cree une fonction :
    void KHTMLPart::focusInEvent{QFocusEvent *e)
    {
    if(e->gotFocus())//pourrait etre enlevé car c forcément du in mais bon
    emit ihavethefocus(TRUE);
    else
    e->ignore();
    }

    void KHTMLPart::focusOutEvent{QFocusEvent *e)
    {
    if(e->lostFocus())//pourrait etre enlevé car c forcément du in mais bon
    emit ihavethefocus(FALSE);
    else
    e->ignore();
    }

    tu les déclares dans ton .h -ce sont pas des slots-, tu crée un signals void ihavethefocus(bool); (tu peux aussi faire qu'un signal ihavethefocus(), ne surchargé que focusinevent, mais bon là tu sais aussi quand il le perd

    ensuite tu connecte a partir d'une autre class le signal ihavethefocus de KHTMLPart à un slot de la class de ton plugin

    (ca marche si bien sûr khtmlpart découle de QWidget, et que le plugin découle de QObject

    voila mais lit la class QEvent dont tout les évenements découlent t'apprendra bcp

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.