HistoryLine
Gestion de l'historique de navigation (comme celui présent en haut et en bas de cette aide)
Titre
Affiche le titre de la rubrique, avec possibilité d'y associer une image.
Les fontes employées pour le titre et pour le texte par défaut sont extraites des données du dialogue "Options|Projet|Typographie", tout changement est automatiquement répercuté dans l'ensemble des rubriques utilisants ce script.
TabToTable
Affichage de lignes contenants des tabulations sous la forme d'un tableau
XPButton
Bouton style XP
OppositeLeftRight
Permet de définir deux zones droite et gauche placées sur la même ligne. Un exemple d'utilisation est la ligne du bas de cette aide.
DegraText
Affiche un texte en dégradé de couleurs : Ceci est un dégradé de couleurs
NextTopic
Affiche un lien vers la rubrique suivante, le lien reprend le titre de la rubrique cible, vous pouvez filtrer la rubrique suivante en fonction de ses notes, du type popup ou pas, de son niveau.
NextSignet
Affiche et l'intitulé du signet actuel, le tout lié au signet suivant, vous pouvez tester dans cette aide ce que cela donne.
Titre_Puce
Affichage d'un titre, avec possibilité de lui associé une puce et une image, de définir un lien et un signet sur le titre (c'est ce script qui est employé sur cette page pour les titres des scripts)
AutoJump
Pour chacune des sous-rubriques immédiate de la rubrique, affiche un bouton et un lien reprenant l'intitulé de la sous-rubrique, bien sur à chaque ajout d'une sous-rubrique les liens sont automatiquement créés.
Exemple en image
Arborescence du projet de cet aide
Code à placer en fin de la rubrique "Fonctions à votre disposition"
Aperçu, les liens sont créés par le script
Tout est paramètrable, le bouton, la fonte employée etc.
Nouveautes
Affiche une liste de liens vers les nouveautés de l'aide.
Pour les signaler, placez dans la rubrique à l'endroit de la nouveauté un signet et cochez
VoirAussi
Affiche une liste de liens sur les rubriques ayants un mot-clef particulier, ce mot est passé en paramètre.
Les mots clefs devront avoir étés créés avec la note V
BtnSignet
Affiche une rangée de boutons reliés aux signets de la rubrique.
exemple :
Onglet
Le script Onglet.spr permet de calculer automatiquement le code Help&Web pour créer de beaux onglets.
GlossaryPopup
Composition automatique d'une page Glossaire constituée de la liste alphabétique des popups, sous la forme :
Titre du Popup : contenu du popup
Vous pouvez filtrer les popups référencés dans le glossaire, à l'aide du paramètre "FilterNote"
REF(glossaire.spr:FilterNote=G) n'utilisera que les popups ayants des mots-clefs de type G
GlossaryTerme
Composition automatique d'une page Glossaire constituée de la liste alphabétique des définitions, pour chacune d'entre elle les liens vers les rubriques où elles sont utilisées sont créés.
Voir la rubrique Glossaire de cette aide.
Fig
Affichage d'une image centrée avec une légende, celle-ci est préfixée par "Fig." plus un numéro d'ordre automatiquement incrémenté
Table_Fig
Affichage de l'ensemble des légendes définies par le script Fig, sous la forme d'un lien direct vers l'image associée, voir Illustrations pour un exemple
VertMenuList
Gestion automatique d'un menu vertical basé sur l'arborescence de vos rubriques (2 niveaux max), vous pouvez choisir la couleur de base, les rubriques de départ et de fin, la largeur etc.
Ce composant est l'adaption d'un menu en html+css que vous trouverez là css.maxdesign.com.au/listutorial/sub_master.htm
HorzMenuList
Affichage d'un menu horizontal composé des rubriques d'un même niveau, vous pouvez choisir les couleurs de base, le niveau que décrit votre menu
vous en voyez un exemple dans le bandeau supérieur de cette aide, la ligne Introduction | Manuel | ...
Ce composant est l'adaption d'un menu en html+css que vous trouverez sur www.stylesheetx.com/experiment/h_navbar.php
ListOfTopic
Affichage d'une liste de liens constituée de l'arborescence de vos rubriques, vous pouvez choisir les rubriques de début et de fin, la profondeur, une classe CSS .
Resume
Pour chaque sous-rubrique affiche le titre, la première ligne et un lien vers elle.
Voir le chapitre "Tutoriaux" de l'aide pour un exemple
Urls
Création d'une liste de tous les liens internet contenu dans votre projet, cela ne concerne que les liens textuels.
Texte-Image
Affiche une image sur les navigateurs web qui le permettent et pour les autres le texte équivalent, basé sur une technique expliquée ici
Cela n'a de réelle utilité que dans les formats xhtml et HtmlHelp , pour les autres cela insére simplement une image
ThumbnailImage
Réalisation de la miniature d'une image et de sa légende, affichage de l'image en taille réelle dans une fenêtre popup lors d'un clic sur la miniature, en positionnant Shadow à true vous activez l'effet d'ombrage.
Attention vous ne devez pas utiliser une image bmp
seulement du jpeg, du png ou du gif
Thumbnails
Création automatique d'une planche constitué des vignettes réalisées avec ThumbnailImage, l'image en taille réelle s'affiche dans un popup lors d'un clic sur la miniature et la légende est un lien vers la miniature d'origine.
Vous avez la possibilité de filtrer les miniatures de votre planche, de choisir le numéro de début et de fin de votre série, ainsi bien sur que le style CSS du conteneur.
TitreChapitre
Gestion automatique du bandeau fixe comme dans l'ancienne aide d'Help&Web
HtmlComboSignet
définition d'une liste de sélection reliée aux signets de la rubrique (comme dans cette aide)
Ne Fonctionne qu'en HTML et HtmlHelp
BodyColor
Permet de redéfinir les couleurs du bandeau de titre (zone fixe) et du fond de la page.
Ne Fonctionne qu'en Html et HtmlHelp
BackGroundStrip
Permet de définir l'arrière-plan d'un élément html (body, div etc.) par des stries de 2 couleurs alternées
Exemple
Ne Fonctionne qu'en Html et HtmlHelp
FixedWidth3dBorder
Dessine une image contenant des bordures 3D (dégradé de couleurs) et une zone centrale hachurée (2 couleurs)
Cette image servira de fond pour un élément css (par défaut body)
Exemple
Ne Fonctionne qu'en Html et
HtmlHelpMeta-Dublin-Core
Insertion de métadonnées "Dublin Core" permettent de donner des informations sur les pages Web
Les
données
"date de création" et "date de modification" sont automatiquement renseignéesNe Fonctionne qu'en Html et HtmlHelp
ScrollPanel
Définition d'une zone escamotable
var
strings:TStringList;
Pathfile,sId,PathImg:string;
Id:integer;
Contenu,Titre,ImgScrollUp,ImgScrollDown,Width,CssTitle,CssData,CssSeparation: string;
DefClassTitle,DefClassData,DefImg,ImgHint,OnClick,ClassButton: string;
titleClic,ImgLeft:boolean;
css_filename:string;
begin
Contenu := GetParam('Contenu','');
// ne fonctionne qu'en html et htmlhelp, pour les autres on affiche simplement le contenu
if Condition('_HTML_') then
begin
css_filename := GetParam('FilenameCss',GetProjet+'_hw.css');
PathFile := PathProjet ;
if Condition('_HTMLHELP_') then
begin
PathFile:=PAthFile+'htmlhelp\';
PathImg := 'html\';
end else PathImg:='';
PathFile:=PathFile+'html\';
// création des fichiers javascript et css externe
// ne le créer qu'une seule fois par session
if GetVarInt('scrollpanel.js',0)=0 then
begin
SetVarInt('scrollpanel.js',1);
strings:=TStringList.create;
strings.add('function ShowHide(element, image, title)');
strings.add('{');
strings.add('if (element.className == "ScrollPanelData")');
strings.add('{');
strings.add('element.className = "ScrollPanelDataHidden";');
strings.add('image.src = "scrolldown.gif";');
strings.add('title.className = "ScrollPanelTitleHidden";');
strings.add('}');
strings.add('else');
strings.add('{');
strings.add('element.className = "ScrollPanelData";');
strings.add('image.src = "scrollup.gif";');
strings.add('title.className = "ScrollPanelTitle";');
strings.add('}');
strings.add('}');
Strings.SaveToFile(PathFile+'scrollpanel.js');
Strings.clear;
// génération des styles css
SetCss(css_filename,'.ScrollPanelTitle','border','1px solid black');
SetCss(css_filename,'.ScrollPanelTitle','background-color','black');
SetCss(css_filename,'.ScrollPanelTitle','color','white');
SetCss(css_filename,'.ScrollPanelTitle','font-weight','bold');
SetCss(css_filename,'.ScrollPanelTitleHidden','border','1px solid black');
SetCss(css_filename,'.ScrollPanelTitleHidden','background-color','#FF0000');
SetCss(css_filename,'.ScrollPanelTitleHidden','color','white');
SetCss(css_filename,'.ScrollPanelTitleHidden','font-weight','bold');
SetCss(css_filename,'.ScrollButton','float','right');
SetCss(css_filename,'.ScrollButton','cursor','pointer');
SetCss(css_filename,'.ScrollButtonLeft','float','left');
SetCss(css_filename,'.ScrollButtonLeft','cursor','pointer');
SetCss(css_filename,'.ScrollPanelData','border-right','1px solid black');
SetCss(css_filename,'.ScrollPanelData','border-left','1px solid black');
SetCss(css_filename,'.ScrollPanelData','border-bottom','1px solid black');
SetCss(css_filename,'.ScrollPanelData','background-color','#C0C0C0');
SetCss(css_filename,'.ScrollPanelDataHidden','display','none');
Strings.free;
end; // fin création js et css externe
// insérer lien vers css externe qu'une fois par page
if GetVarInt(css_filename+GetTitre,0)=0 then
begin
SetVarInt(css_filename+GetTitre,1);
writeln('<<WEB(head:<link rel="stylesheet" type="text/css" href="')>>+css_filename+<<FNT(STRING.-,-,-,-:'" />)>>');
end;
// insérer lien vers js externe qu'une fois par page
if GetVarInt('scrollpanel.js'+GetTitre,0)=0 then
begin
SetVarInt('scrollpanel.js'+GetTitre,1);
writeln('<<WEB(head:<script type="text/javascript" src="scrollpanel.js"></script>)>>');
end;
// création d'un Id unique pour chaque ScrollPanel
Id := GetVarInt('IdScrollPanel',0);
sId := IntToStr(Id);
SetVarInt('IdScrollPanel',Id+1);
Titre := GetParam('Titre','');
TitleClic := GetParam('TitleClic','true')='true';
ImgScrollUp := GetParam('ImgScrollUp','scrollup.gif');
ImgScrollDown := GetParam('ImgScrollDown','scrolldown.gif');
ImgLeft := GetParam('ImgPos','Right')='Left';
ImgHint := GetParam('ImgHint','');
Width := GetParam('Width','600px');
cssTitle := GetParam('CssTitle','');
cssData := GetParam('CssData','');
if cssTitle<>'' then cssTitle:=' style="'+CssStyle(cssTitle)+'"';
if cssData<>'' then cssData:=' style="'+CssStyle(cssData)+'"';
CssSeparation := GetParam('CssSeparation','');
if GetParam('Open','false')='true' then
begin
DefClassTitle := 'ScrollPanelTitle';
DefClassData := 'ScrollPanelData';
DefImg := PathImg+ImgScrollUp;
end else begin
DefClassTitle := 'ScrollPanelTitleHidden';
DefClassData := 'ScrollPanelDataHidden';
DefImg := PathImg+ImgScrollDown;
end;
// comme le nom des images est référencé dans du code html non interprété par help&web
// il faut les lui déclarer explicitement
AddBitmapFile(ImgScrollUp);
AddBitmapFile(ImgScrollDown);
OnClick := 'ShowHide(document.getElementById('+ #39+'ScrollData'+sID+#39+'), document.getElementById('+#39+'ScrollImg'+sId+#39+'), document.getElementById('+#39+'ScrollTitle'+sId+#39+'))';
write('<<WEB(<div class="ScrollablePanel" style="width:')>>+Width+<<FNT(STRING.-,-,-,-:'">)>>');
write('<<WEB(<a name="ScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'" id="AScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'" style="display: none;"></a>)>>');
ClassButton := 'ScrollButton';
if imgLeft then ClassButton:=ClassButton+'Left';
write('<<WEB(<div class="')>>+DefClassTitle+<<FNT(STRING.-,-,-,-:'"')>>+cssTitle+<<FNT(STRING.-,-,-,-:' id="ScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'">)>>');
write('<<WEB(<img alt="')>>+imgHint+<<FNT(STRING.-,-,-,-:'" title="')>>+imgHint+<<FNT(STRING.-,-,-,-:'" class="')>>+ClassButton+<<FNT(STRING.-,-,-,-:'" src="')>>+DefImg+<<FNT(STRING.-,-,-,-:'" onclick="')>>+OnClick+<<FNT(STRING.-,-,-,-:'" id="ScrollImg')>>+sID+<<FNT(STRING.-,-,-,-:'"/>)>>');
if titleClic then write('<<WEB(<a href="#ScrollTiltle')>>+sId+<<FNT(STRING.-,-,-,-:'" onclick="')>>+onclick+<<FNT(STRING.-,-,-,-:'">)>>');
write(titre);
if titleclic then write('<<WEB(</a>)>>');
write('<<WEB(</div>)>>');
write('<<WEB(<div class="')>>+DefClassData+<<FNT(STRING.-,-,-,-:'"')>>+cssData+<<FNT(STRING.-,-,-,-:' id="ScrollData')>>+sId+<<FNT(STRING.-,-,-,-:'">)>>');
write(GetContenuPartage(Contenu));
writeln('<<WEB(</div>)>>');
if CssSeparation<>'' then write('<<WEB(<div class="')>>+CssSeparation+<<FNT(STRING.-,-,-,-:'" style="width:')>>+Width+<<FNT(STRING.-,-,-,-:'"> </div>)>>');
write('<<WEB(</div>)>>');
end else write(GetContenuPartage(Contenu)); // fin if HTML
end;
end.
Pathfile,sId,PathImg:string;
Id:integer;
Contenu,Titre,ImgScrollUp,ImgScrollDown,Width,CssTitle,CssData,CssSeparation: string;
DefClassTitle,DefClassData,DefImg,ImgHint,OnClick,ClassButton: string;
titleClic,ImgLeft:boolean;
css_filename:string;
begin
Contenu := GetParam('Contenu','');
// ne fonctionne qu'en html et htmlhelp, pour les autres on affiche simplement le contenu
if Condition('_HTML_') then
begin
css_filename := GetParam('FilenameCss',GetProjet+'_hw.css');
PathFile := PathProjet ;
if Condition('_HTMLHELP_') then
begin
PathFile:=PAthFile+'htmlhelp\';
PathImg := 'html\';
end else PathImg:='';
PathFile:=PathFile+'html\';
// création des fichiers javascript et css externe
// ne le créer qu'une seule fois par session
if GetVarInt('scrollpanel.js',0)=0 then
begin
SetVarInt('scrollpanel.js',1);
strings:=TStringList.create;
strings.add('function ShowHide(element, image, title)');
strings.add('{');
strings.add('if (element.className == "ScrollPanelData")');
strings.add('{');
strings.add('element.className = "ScrollPanelDataHidden";');
strings.add('image.src = "scrolldown.gif";');
strings.add('title.className = "ScrollPanelTitleHidden";');
strings.add('}');
strings.add('else');
strings.add('{');
strings.add('element.className = "ScrollPanelData";');
strings.add('image.src = "scrollup.gif";');
strings.add('title.className = "ScrollPanelTitle";');
strings.add('}');
strings.add('}');
Strings.SaveToFile(PathFile+'scrollpanel.js');
Strings.clear;
// génération des styles css
SetCss(css_filename,'.ScrollPanelTitle','border','1px solid black');
SetCss(css_filename,'.ScrollPanelTitle','background-color','black');
SetCss(css_filename,'.ScrollPanelTitle','color','white');
SetCss(css_filename,'.ScrollPanelTitle','font-weight','bold');
SetCss(css_filename,'.ScrollPanelTitleHidden','border','1px solid black');
SetCss(css_filename,'.ScrollPanelTitleHidden','background-color','#FF0000');
SetCss(css_filename,'.ScrollPanelTitleHidden','color','white');
SetCss(css_filename,'.ScrollPanelTitleHidden','font-weight','bold');
SetCss(css_filename,'.ScrollButton','float','right');
SetCss(css_filename,'.ScrollButton','cursor','pointer');
SetCss(css_filename,'.ScrollButtonLeft','float','left');
SetCss(css_filename,'.ScrollButtonLeft','cursor','pointer');
SetCss(css_filename,'.ScrollPanelData','border-right','1px solid black');
SetCss(css_filename,'.ScrollPanelData','border-left','1px solid black');
SetCss(css_filename,'.ScrollPanelData','border-bottom','1px solid black');
SetCss(css_filename,'.ScrollPanelData','background-color','#C0C0C0');
SetCss(css_filename,'.ScrollPanelDataHidden','display','none');
Strings.free;
end; // fin création js et css externe
// insérer lien vers css externe qu'une fois par page
if GetVarInt(css_filename+GetTitre,0)=0 then
begin
SetVarInt(css_filename+GetTitre,1);
writeln('<<WEB(head:<link rel="stylesheet" type="text/css" href="')>>+css_filename+<<FNT(STRING.-,-,-,-:'" />)>>');
end;
// insérer lien vers js externe qu'une fois par page
if GetVarInt('scrollpanel.js'+GetTitre,0)=0 then
begin
SetVarInt('scrollpanel.js'+GetTitre,1);
writeln('<<WEB(head:<script type="text/javascript" src="scrollpanel.js"></script>)>>');
end;
// création d'un Id unique pour chaque ScrollPanel
Id := GetVarInt('IdScrollPanel',0);
sId := IntToStr(Id);
SetVarInt('IdScrollPanel',Id+1);
Titre := GetParam('Titre','');
TitleClic := GetParam('TitleClic','true')='true';
ImgScrollUp := GetParam('ImgScrollUp','scrollup.gif');
ImgScrollDown := GetParam('ImgScrollDown','scrolldown.gif');
ImgLeft := GetParam('ImgPos','Right')='Left';
ImgHint := GetParam('ImgHint','');
Width := GetParam('Width','600px');
cssTitle := GetParam('CssTitle','');
cssData := GetParam('CssData','');
if cssTitle<>'' then cssTitle:=' style="'+CssStyle(cssTitle)+'"';
if cssData<>'' then cssData:=' style="'+CssStyle(cssData)+'"';
CssSeparation := GetParam('CssSeparation','');
if GetParam('Open','false')='true' then
begin
DefClassTitle := 'ScrollPanelTitle';
DefClassData := 'ScrollPanelData';
DefImg := PathImg+ImgScrollUp;
end else begin
DefClassTitle := 'ScrollPanelTitleHidden';
DefClassData := 'ScrollPanelDataHidden';
DefImg := PathImg+ImgScrollDown;
end;
// comme le nom des images est référencé dans du code html non interprété par help&web
// il faut les lui déclarer explicitement
AddBitmapFile(ImgScrollUp);
AddBitmapFile(ImgScrollDown);
OnClick := 'ShowHide(document.getElementById('+ #39+'ScrollData'+sID+#39+'), document.getElementById('+#39+'ScrollImg'+sId+#39+'), document.getElementById('+#39+'ScrollTitle'+sId+#39+'))';
write('<<WEB(<div class="ScrollablePanel" style="width:')>>+Width+<<FNT(STRING.-,-,-,-:'">)>>');
write('<<WEB(<a name="ScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'" id="AScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'" style="display: none;"></a>)>>');
ClassButton := 'ScrollButton';
if imgLeft then ClassButton:=ClassButton+'Left';
write('<<WEB(<div class="')>>+DefClassTitle+<<FNT(STRING.-,-,-,-:'"')>>+cssTitle+<<FNT(STRING.-,-,-,-:' id="ScrollTitle')>>+sId+<<FNT(STRING.-,-,-,-:'">)>>');
write('<<WEB(<img alt="')>>+imgHint+<<FNT(STRING.-,-,-,-:'" title="')>>+imgHint+<<FNT(STRING.-,-,-,-:'" class="')>>+ClassButton+<<FNT(STRING.-,-,-,-:'" src="')>>+DefImg+<<FNT(STRING.-,-,-,-:'" onclick="')>>+OnClick+<<FNT(STRING.-,-,-,-:'" id="ScrollImg')>>+sID+<<FNT(STRING.-,-,-,-:'"/>)>>');
if titleClic then write('<<WEB(<a href="#ScrollTiltle')>>+sId+<<FNT(STRING.-,-,-,-:'" onclick="')>>+onclick+<<FNT(STRING.-,-,-,-:'">)>>');
write(titre);
if titleclic then write('<<WEB(</a>)>>');
write('<<WEB(</div>)>>');
write('<<WEB(<div class="')>>+DefClassData+<<FNT(STRING.-,-,-,-:'"')>>+cssData+<<FNT(STRING.-,-,-,-:' id="ScrollData')>>+sId+<<FNT(STRING.-,-,-,-:'">)>>');
write(GetContenuPartage(Contenu));
writeln('<<WEB(</div>)>>');
if CssSeparation<>'' then write('<<WEB(<div class="')>>+CssSeparation+<<FNT(STRING.-,-,-,-:'" style="width:')>>+Width+<<FNT(STRING.-,-,-,-:'"> </div>)>>');
write('<<WEB(</div>)>>');
end else write(GetContenuPartage(Contenu)); // fin if HTML
end;
end.
Box
Ne Fonctionne qu'en Html et HtmlHelp
dbTable
Affichage d'une table de données csv avec possibilité de filtrer sur les champs, pour créer vos bases allez dans le menu
Search
Incorporation d'un moteur de recherche en javascript basé sur tipue.com, la base de donnée est alimentée par les mots clefs de vos rubriques, la première ligne de celles-ci ou le contenu de l'objet "SearchResume" que vous leur avez assigné.
Search Result
Composant à placer sur la page charger d'afficher les résultats
L'utilisation est très simple, il vous suffit simplement d'indiquer la page des résultats au travers de la propriété TopicResult du composant Search puis de compiler votre projet et voilà ...
Vous pouvez entièrement paramètrer les composants pour les adapter à votre charte graphique
ShakeImage
Fait bouger une image lorsque le curseur de la souris passe dessus
Ne Fonctionne qu'en Html et HtmlHelp image normale dans les autres modes.
PngBehavior
Correctif du bug IE Windows des png transparence alpha
utilise pngbehavior.htc d'Erik Arvidsson webfx.eae.net/contact.html#erik