WebGadget()

Syntaxe

Resultat = WebGadget(#Gadget, X, Y, Largeur, Hauteur, URL$)
Description
Crée un Navigateur Internet (WebGadget) dans la GadgetList en cours.

Arguments

#Gadget Le numéro d'identification du nouveau gadget.

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
X, Y, Largeur, Hauteur La position et les dimensions du nouveau gadget.
URL$ L'URL à charger.

Valeur de retour

Renvoie une valeur non nulle en cas de succès, zéro sinon.

Si #PB_Any a été utilisé pour le paramètre #Gadget, alors la valeur de retour est le numéro d'identification du gadget, généré automatiquement.

Cette fonction échoue si les composants requis pour le WebGadget ne peuvent pas être chargés. Voir ci-dessous les exigences pour le WebGadget sur chaque OS.

Remarques

Les composants suivants sont requis pour utiliser le WebGadget sur chaque OS. Ces composants sont nécessaires pour utiliser le WebGadget, pas seulement pour la compilation du programme.

Windows
Sur Microsoft Windows, ce gadget utilise l'object ActiveX Internet Explorer 4.0+.

Pensez à remplacer les "\" par des "/" dans vos codes.
Linux
Le WebGadget utilise la bibliothèque WebKitGtk sur Linux. Le paquet est nommé "libwebkit". Certaines distributions peuvent comprendre une ancienne version de ce paquet qui est nommé «WebKitGtk». Si votre distribution ne contient pas ce paquet alors les sources peuvent être téléchargées sur Internet WebKitGtk home page.
OS X
Le WebGadget utilise le composant WebKit de OS X. Ce composant est fourni avec le système d'exploitation. Il n'y a pas d'autres exigences.
Les fonctions suivantes peuvent être utilisées avec WebGadget:
  - 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.


  - 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ée) après un évènement #PB_EventType_DownloadProgress.
    #PB_Web_ProgressMax       : Renvoie la progression actuelle maximum (parfois estimée) 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).
Les évènements suivants sont supportés par EventType() pour ce gadget:
  #PB_EventType_TitleChange      : Le titre de la page a changé (Windows seulement).
  #PB_EventType_StatusChange     : Le message de la barre d'état a changé (Windows seulement).
  #PB_EventType_DownloadStart    : Le téléchargement d'une page a commencé (Windows, OS X).
  #PB_EventType_DownloadProgress : L'information de progression du téléchargement est disponible avec GetGadgetAttribute()  (Windows seulement).
  #PB_EventType_DownloadEnd      : Le téléchargement d'une page s'est terminé (fini ou annulé) (Windows, OS X).
  #PB_EventType_PopupWindow      : Une fenêtre popup vient d'être bloquée (Windows seulement).
  #PB_EventType_PopupMenu        : Le menu popup vient d'être bloqué (utile pour afficher un menu personnalisé) (Windows seulement).

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



Example 2: Utilisation de la procedure NavigationCallback()
  ; Cet exemple affiche le site Web PureBasic.com. La procédure callback interdit la
  ; navigation vers les 'News' du site (#False retourné), mais l'autorise 
  ; pour tous les autres sites (#True retourné).
    
  Procedure NavigationCallback(Gadget, Url$) 
    If Url$= "http://www.purebasic.com/news.php" 
      MessageRequester("", "Pas de News aujourd'hui !") 
      ProcedureReturn #False 
    Else 
      ProcedureReturn #True 
    EndIf 
  EndProcedure 
  
  If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com") 
    SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
  EndIf

Voir aussi

GetGadgetText(), SetGadgetText(), GetGadgetItemText(), SetGadgetItemText(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute()

OS Supportés

Tous

<- UseGadgetList() - Gadget Index - WebGadgetPath() ->