Je pige plus rien au webgadget!

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Je pige plus rien au webgadget!

Message par Chris »

Jadis, à une époque reculée, quand les dinosaures gambadaient gaiement dans les prairies verdoyantes, on avait un webgadget avec deux commandes. C'était simple à utiliser. Ça marchait pas bien, ... mais c'était simple

Aujourd'hui, les dinosaures se sont éteints, et je vais pas tarder à en faire autant si je n'arrive pas à à trouver de la doc sur ce @¤ù%µ# de Webgadget, sur sa callback et ce qu'il faut mettre dedans, sur la façon de savoir ou en est le téléchargement d'une page grâce à un progressbar comme sur firefox, etc, etc, etc...

Appel au peuple... :roll:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Je pige plus rien au webgadget!

Message par Backup »

Chris a écrit :je n'arrive pas à à trouver de la doc sur ce @¤ù%µ# de Webgadget, sur sa callback et ce qu'il faut mettre dedans, sur la façon de savoir ou en est le téléchargement d'une page grâce à un progressbar comme sur firefox, etc, etc, etc...

Appel au peuple... :roll:
pourtant la doc dit :
#PB_EventType_DownloadProgress: L'information de progression du téléchargement est disponible avec GetGadgetAttribute().
tu as la version 4.51 ?? 8O

la doc complete sur la fonction dit :
WebGadget()

Syntaxe

Resultat = WebGadget(#Gadget, x, y, Largeur, Hauteur, URL$ [, Options])
Description

Crée un WebGadget (Navigateur Internet) dans la GadgetList. Si #PB_Any est utilisé pour le paramètre '#Gadget', le numéro du nouveau gadget sera renvoyé dans 'Resultat'. #Gadget est le numéro du gadget renvoyé par la fonction EventGadget(). x et y représentent la position du WebGadget dans la fenêtre, Largeur et Hauteur, ses dimensions.

Le paramètre facultatif 'Options' peut être une combinaison des constantes suivantes:
#PB_Web_Mozilla: Utilise l'ActiveX Mozilla à la place de IE (Windows seulement).



- SetGadgetText(): Change l'URL.
- GetGadgetText(): Renvoie l'URL actuelle.
- SetGadgetState(): Effectue une action sur le gadget. 'Etat' peut prendre une des valeurs suivantes:
#PB_Web_Back : Retour en arrière dans la navigation.
#PB_Web_Forward: Avance d'un pas dans la navigation.
#PB_Web_Stop : Arrête le chargement de la page.
#PB_Web_Refresh: Recharge la page actuelle.

Note: Les fonctionnalités suivantes ne fonctionnent pas avec l'ActiveX Mozilla sur windows (option #PB_Web_Mozilla)

- SetGadgetItemText(): avec #PB_Web_HtmlCode comme 'Element' le code html peut être inséré dans le Gadget.
- GetGadgetItemText(): Les constantes suivantes peuvent être utilisées pour obtenir une information:
#PB_Web_HtmlCode : Renvoie le code html du gadget.
#PB_Web_PageTitle : Renvoie le titre de la page affichée.
#PB_Web_StatusMessage: Renvoie le message actuel de la barre d'état.
#PB_Web_SelectedText : Renvoie le texte sélectionné à l'intérieur du gadget.

- SetGadgetAttribute(): Définit les attributs suivants:
#PB_Web_ScrollX : Fixe la position de la barre de défilement horizontale .
#PB_Web_ScrollY : Fixe la position de la barre de défilement verticale.
#PB_Web_BlockPopups : Bloque les fenêtres popup(Valeur=1 pour bloquer et 0 pour débloquer). #PB_EventType_PopupWindow est renvoyé si cet attribut est validé.
#PB_Web_BlockPopupMenu: Bloque le menu popup standard. #PB_EventType_PopupMenu est renvoyé si cet attribut est validé.
#PB_Web_NavigationCallback: Définit une callback pour contrôler (et désactiver) la navigation.

La callback de la navigation doit avoir le format suivant :
Procedure NavigationCallback(Gadget, Url$)
;
; Renvoie #True pour autoriser cette navigation ou #False pour la refuser.
;
ProcedureReturn #True
EndProcedure


- GetGadgetAttribute(): Pour obtenir les attributs suivants :
#PB_Web_ScrollX : Renvoie la position de la barre de défilement horizontale.
#PB_Web_ScrollY : Renvoie la position de la barre de défilement verticale.
#PB_Web_Busy : Renvoie une valeur différente de zéro si le gadget est occupé à charger une page.
#PB_Web_Progress : Renvoie la progression actuelle (parfois estimé) après un évènement #PB_EventType_DownloadProgress.
#PB_Web_ProgressMax : Renvoie la progression actuelle maximum (parfois estimé) après un évènement #PB_EventType_DownloadProgress .
#PB_Web_BlockPopups : Renvoie la valeur actuelle de l'attribut de blocage des fenêtres popup.
#PB_Web_BlockPopupMenu: Renvoie la valeur actuelle de l'attribut de blocage du menu popup.
#PB_Web_NavigationCallback: Renvoie la valeur actuelle de la callback (si elle existe).

Notes: Les fenêtres popups et les menus popups ne sont pas supportés pour le WebGadget sous Linux. Cependant, le #PB_Web_BlockPopups peut encore être défini pour activer l'évènement #PB_EventType_PopupWindow. La même chose s'applique à #PB_Web_BlockPopupMenu.

Les évènements suivants sont supportés par EventType() pour ce gadget:
#PB_EventType_TitleChange : Le titre de la page a changé.
#PB_EventType_StatusChange : Le message de la barre d'état a changé.
#PB_EventType_DownloadStart : Le téléchargement d'une page a commencé.
#PB_EventType_DownloadProgress: L'information de progression du téléchargement est disponible avec GetGadgetAttribute().
#PB_EventType_DownloadEnd : Le téléchargement d'une page s'est terminé (fini ou annulé).
#PB_EventType_PopupWindow : Une fenêtre popup vient d'être bloquée.
#PB_EventType_PopupMenu : Le menu popup vient d'être bloqué (utile pour afficher un menu personnalisé).


Note: Sur Microsoft Windows, ce gadget utilise l'object ActiveX Internet Explorer 4.0+. IE 4.0 ou plus se doit d'être présent sur le système (déjà présent sur Win98/Me et Win2000/XP). Si IE n'est pas présent, WebGadget renvoie 0. Le fichier ATL.dll, présent dans le répertoire PureBasic\Compilers\ est nécessaire (à mettre dans le même répertoire que l'exécutable). Comme alternative, l'ActiveX Mozilla peut être utilisée à la place d'Internet Explorer (http://www.iol.ie/~locka/mozilla/mozilla.htm) si l'option #PB_Web_Mozilla est spécifiée (l'ActiveX Mozilla doit être installée séparément car elle n'est pas fournie avec FireFox ou la suite Mozilla).


Exemple:

If OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
WebGadget(0,10,10,580,280,"http://www.purebasic.com")
; Note: si vous désirez utiliser un fichier local, changez le dernier paramètre en "file://" + chemin + nomdufichier
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Je pige plus rien au webgadget!

Message par Le Soldat Inconnu »

l'état de la progression n'est pas très clair. Du au plugin internet exploreur sans doute.
on arrive rarement à 100% en regardant la progression, voir parfois, ça recule.

Tu affiches la progression et quand tu as le téléchargement terminé, tu forces à 100% (moi je fais comme ca sur la vérification des mises à jour dans mes setup)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Je pige plus rien au webgadget!

Message par djes »

Ce gadget a plein d'autres possibilités ; j'ai vu passer plein de codes sur le fofo anglais.
Répondre