Arborescence :



 Facettes, par catégories :
Menu

 
Catégorie
V5 (40)
V5.01 (20)
V5.10 (16)
V5.20 (32)
V5.30 (17)
V5.31 (1)
V5.32 (5)
V5.33 (16)
V5.34 (6)
V5.35 (1)
V5.40 (29)
V5.41 (7)
V5.42 (4)
V5.43 (6)
V5.50 (1)
V5.60 (1)
V5.61 (1)
V5.70 (9)
V5.71 (4)
 
  Comment insérer ces widgets?

      7. FAQ
          7.8. Fonctionnalités avancées
 7.8.1. FAQ : Construire une aide contextuelle 

Pour les programmeurs, WIT permet de réaliser aisément une aide contextuelle pour des logiciels en cours de développement : en voici les principales étapes (illustrées à l'aide de Visual C++ et des MFC de Microsoft, quelques adaptations mineures sont nécessaires pour d'autres langages).

 Dans WIT, activer le mode expert et le choix des titres des pages HTML générées (menu "Fichier/Options").

 Créer un plan de manuel utilisateur, en cohérence avec les principales fonctionnalités du logiciel à documenter, et avec les différents formulaires de dialogue de ce logiciel. Donner un nom explicite aux fichiers associés à chaque idée.

 Rédiger le manuel utilisateur à l'aide de WIT (définir les mots clés, choisir les modèles de structure et de style ; veiller à ce que dans le modèle de structure, les idées soient organisées en arbre (une idée par page, dans l'onglet "page" du modèle de structure).

 Définir l'endroit où sera généré le site Web correspondant, par exemple "c:\MyInstallDir\Help\Fr", et générer le site à cet endroit.

 Dans Visual C++, surcharger la méthode OnHelpInfo() de toutes les classes de dialogue (formulaires (CDialog), vues (CView), onglets (CPropertyPage) de boîtes de propriétés (CPropertySheet)).

 Dans la base de registres (par exemple), créer des clés (strings) de la forme : "nom_clé" = "chemin_accès_aide", par exemple, pour une boîte de dialogue CMyDialog pour laquelle l'idée "Mon dialogue" de nom de fichier mon-dialogue a été choisi : "CMyDialog" = "text/my-dialog" Les fichiers spécifiques de l'aide ont en effet été générés dans le sous répertoire text du répertoire "c:\MyInstallDir\Help\Fr".

 Dans la classe CxxxxApp (où xxxx est le nom du logiciel en cours de documentation), créer une fonction du type :

void CxxxxApp::ShowHelp(CString helpId) 
{
// Obtenir la clé de base de registre où ont été créées
// les clés du type "CMyDialog"="text/my-dialog". CString regKey = ... ;
// Obtenir la valeur associée au nom "helpId" dans la clé "regKey".
CString helpFile = ...;
// Obtenir le chemin du répertoire d'aide
CString helpPath = "C:\MyInstallDir\Help\Fr"; // par exemple, ou interroger la base de registres.
if (helpFile == _T(""))
{
CString msg;
msg.Format("Bientot de l'aide sur \"%s\", fichier %s ...", helpId, helpFile);
AfxMessageBox(msg);
} else {
// Définir le chemin d'accès au fichier d'aide.
CString helpFile = helpPath + "\\" + helpFile + ".html";
// Lancer l'aide (exemple MSIE)
CString iePath = "C:\Program Files\Internet Explorer\iexplore.exe";
// (ou interroger la base de registres)
_spawnlp(_P_NOWAIT , iePath, "ie", helpFile, NULL );
}
}

 Dans la méthode CMyDialog::OnHelpInfo() appeler la fonction d'affichage de l'aide, en passant en paramètre le nom de la classe (contexte) :

BOOL DDispBookPage::OnHelpInfo(HELPINFO* pHelpInfo) 
{
theApp.ShowHelp("CMyDialog");
return TRUE;
}
 

 Compiler et lancer le programme xxxx. Afficher le dialogue correspondant à CMyDialog et appuyer sur la touche F1 : le navigateur Web est lancé et affiche la page souhaitée (ici "C:\MyInstallDir\Help\Fr\my-dialog.html").

 Le manuel utilisateur peut ensuite être modifié et généré à nouveau au même endroit : il n'est pas nécessaire de modifier le code du logiciel.

Corrélats :  Aide ; Création aide en ligne ; FAQ
Table  | Images  | Bibliography  | Glossary  | Index  | Facettes