var Script1:string;
voiraussi,signet,history,menu:boolean;
SkipSignet,HistorySeparator,HistoryCss,Item,Parent,Link,HistoryLine,FormCss,voiraussicss,LegendeVoir,LegendeSignet,Css,ListSignet,ListLink,FormName,ParamFormName: string;
ParentNum:integer;
MenuColor,MenuTextColor,MenuName:string;
Nsr,Background_image,Background_repeat:string;
BorderWidth:string;
css_filename:string;
begin

css_filename := GetParam('FilenameCss',GetProjet+'_hw.css');
FormName := GetParam('FormName','LinkedTopic');
signet := GetParam('Signet','true');
Script1 := GetParam('Script','autotitre.spr');
voiraussi := GetParam('VoirAussi','combobox');
css := GetParam('ListCss','');
FormCss := GetParam('FormCss','');
LegendeSignet := GetParam('LegendeSignet','Aller à : ');
LegendeVoir := GetParam('LegendeVoir','Voir aussi : ');
SkipSignet := GetParam('SkipSignet','');
History := GetParam('History','true')='true';
HistorySeparator := GetParam('HistorySeparator',' > ');
Menu := GetParam('Menu','true')='true';
Background_image := GetParam('image','');
Background_repeat:= GetParam('repeat','no-repeat');
BorderWidth := GetParam('Border','2px');

if background_image<>'' then
begin
// ne pas oublier de déclarer l'image à help&web
// en effet elle ne va pas apparaitre dans le code mais juste dans la css
AddBitmapFile(background_image);
// le bandeau est contenu dans un div id="nsr" en htmlhelp et nsr2 en html
if Condition('_HTMLHELP_') then nsr := '#nsr' else nsr:='#nsr2';
SetCss(css_filename,nsr,'background-image','url('+background_image+')');
SetCss(css_filename,nsr,'background-repeat',Background_repeat);
end;

// on défini la bordure dans la zone centrale de la même couleur que la zone fixe
SetCss(css_filename,'#mainbody','Border-Right-Width',BorderWidth);
SetCss(css_filename,'#mainbody','Border-Left-Width',BorderWidth);
SetCss(css_filename,'#mainbody','Border-Top-Width',BorderWidth);
SetCss(css_filename,'#mainbody','Border-Bottom-Width','0');
SetCss(css_filename,'#mainbody','Border-Style','solid');
SetCss(css_filename,'#mainbody','Border-Color',ColorToHtml(StringToColor(GetElement(eFixeColor))));


if LegendeVoir<>'' then LegendeVoir:=',Label='+LegendeVoir;
if FormName<>'' then ParamFormName:=',FormName='+FormName else PAramFormName:='';


if LegendeSignet<>'' then LegendeSignet:='Legende='+LegendeSignet;
if Css<>'' then
begin
if LegendeSignet<>'' then LegendeSignet := LegendeSignet+',';
LegendeSignet := LegendeSignet+'css='+Css;
voiraussicss:=',css='+css;
end else voiraussicss:='';

if Skipsignet<>'' then SkipSignet:=',SKIP='+SkipSignet;
LegendeSignet := LegendeSignet+ParamFormName+SkipSignet;

write('<<DEBUT ZONE FIXE>>');

// si flag History alors création à plat du chemin d'accés à la rubrique
// parent > parent2 > ...
if History then
begin
HistoryLine := '';
HistoryCss := GetParam('HistoryCss','');
Parent := GetTitre;
// masque pour poser un lien
Link := '<<MCR(JI(qchPath,`%s')>>+<<FNT(NUMBER.-,-,-,-:#39)>>+<<FNT(STRING.-,-,-,-:'):%s)>>';
Parent := GetParentOf(GetNumOf(Parent));
while GetNumOf(Parent)>-1 do
begin
ParentNum := GetNumOf(Parent);
Item := Format(Link,[GetNomOf(ParentNum),GetTitreOf(ParentNum)]);
if HistoryLine<>'' then HistoryLine := Item +HistorySeparator+HistoryLine else HistoryLine :=Item;
Parent := GetParentOf(ParentNum);
end;

// on va insérer notre ligne historique dans une section ayant pour style css HistoryCss

if HistoryLine<>'' then
begin
if HistoryCss<>'' then HistoryCss:=' class="'+HistoryCss+'"';
write('<<WEB(<span')>>+HistoryCss+<<FNT(STRING.-,-,-,-:'>)>>');
write(HistoryLine+HistorySeparator);
write('<<WEB(</span>)>>');
end;
end;

write('<<REF(')>>+script1+<<FNT(STRING.-,-,-,-:')>>');

ListSignet := '';
ListLink := '';
if Condition('_HTML_') then
begin
if Signet then ListSignet := Script('listsignet.spr',LegendeSignet);
end;

if VoirAussi<>'none' then
begin
// si hlp on change la fonte pour le lien 'Voir aussi'
if Condition('_HLP_') then
begin
write('<<FNT(voiraussi.Arial,9,-,-:)>>');
write('<<REF(linkedtopic.spr:style=')>>+VoirAussi+voiraussicss+LegendeVoir+<<FNT(STRING.-,-,-,-:')>>');
end else
ListLink := Script('ListLinkedTopic','style='+VoirAussi+voiraussicss+ParamFormName+LegendeVoir);


end;

if (ListSignet<>'')or(ListLink<>'') then
begin
if Formcss<>'' then Formcss:=' class="'+Formcss+'"';
write('<<WEB(<form style="margin-top: 5px; margin-bottom:5px" action="" id="')>>+FormName+<<FNT(STRING.-,-,-,-:'"')>>+Formcss+<<FNT(STRING.-,-,-,-:'><div>)>>');
write(ListSignet);
write(ListLink);
write('<<WEB(</div></form>)>>');
end;

if Condition('_HLP_')and(VoirAussi<>'none') then
begin
write('<<FNT(')>>);
<<FNT(KEYWORD.-,-,-,-:if)>> Condition(<<FNT(STRING.-,-,-,-:'_ISRUB_CHAPITRE_')>>) <<FNT(KEYWORD.-,-,-,-:then)>>
<<FNT(KEYWORD.-,-,-,-:write)>>(GetElement(eFntDefaultChapter)) <<FNT(KEYWORD.-,-,-,-:else)>> <<FNT(KEYWORD.-,-,-,-:write)>>(GetElement(eFntDefaultTopic));
<<FNT(KEYWORD.-,-,-,-:write)>>(<<FNT(STRING.-,-,-,-:':)>>'
);
end;

//if Condition('_HTML_') then write('<<WEB(</div>)>>');
if Menu then
begin
// par défaut on va se baser sur la couleur de la zone fixe pour déterminer les couleurs du menu
MenuColor := GetParam('MenuColor',ColorToHtml(StringToColor(GetElement(eFixeColor))));
MenuTextColor := GetParam('MenuTextColor',ColorToHtml(GetShadowColor(StringToColor(GetElement(eFixeColor)))));
// le nom du menu est assigné au paramètre id du <div> qui contient le menu
// vous pourrez manipuler son apparence depuis une feuille de style css
MenuName := GetParam('MenuName','navmenucontainer');
// on utilise le composant horzmenulist pour créer notre barre de menu
// il s'agira des rubriques de 1er niveau
write('<<REF(horzmenulist.spr:Margin-Left=0px,BackgroundColor=')>>+MenuColor+<<FNT(STRING.-,-,-,-:',idname=')>>+MenuName+<<FNT(STRING.-,-,-,-:',TextColor=')>>+MenuColor+<<FNT(STRING.-,-,-,-:')>>');
end;
write('<<FIN ZONE FIXE:>>');
end;
end.

Sommaire