70 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\v\model;
 | |
| 
 | |
| /**
 | |
|  * Interface ILayoutManager: interface pour un gestionnaire de mise en page
 | |
|  */
 | |
| interface ILayoutManager extends ITagsManager {
 | |
|   /**
 | |
|    * indiquer si du contenu est affiché dans la section actuelle. dans ce cas,
 | |
|    * les contenus mis en attente seront affichés eux aussi si on utilise
 | |
|    * {@link flushContent()}
 | |
|    */
 | |
|   function haveContent(): bool;
 | |
| 
 | |
|   /** mettre en attente l'affichage du contenu spécifié */
 | |
|   function add($vs): void;
 | |
| 
 | |
|   /**
 | |
|    * $haveContent spécifie s'il y a actuellement du contenu à afficher. mais
 | |
|    * avant d'afficher ce contenu, il faut traiter le contenu en attente.
 | |
|    *
 | |
|    * si $haveContent==true et qu'il y a du contenu en attente, le retourner
 | |
|    * pour affichage. sinon, retourner un tableau vide.
 | |
|    *
 | |
|    * ensuite, le contenu en attente est supprimé
 | |
|    */
 | |
|   function flushContent(bool $haveContent=false): ?array;
 | |
| 
 | |
|   /**
 | |
|    * si {@link haveContent()} est vrai, retourner le contenu encore en attente
 | |
|    * pour affichage, puis {@link flushContent()}
 | |
|    */
 | |
|   function flush(bool $haveContent=false): ?array;
 | |
| 
 | |
|   /**
 | |
|    * @see ITagsManager::push()
 | |
|    * faire {@link flushContent()} avant d'afficher $start
 | |
|    */
 | |
|   function push($mark, ?array $start=null, ?array $end=null): ?array;
 | |
| 
 | |
|   /**
 | |
|    * @see ITagsManager::pop()
 | |
|    * faire {@link flushContent()} avant de dépiler les couches
 | |
|    */
 | |
|   function pop($mark): ?array;
 | |
| 
 | |
|   /** commencer une ligne de façon inconditionnelle */
 | |
|   function startRow($options=null): ?array;
 | |
|   /** terminer la ligne en cours et en commencer une nouvelle */
 | |
|   function row($options=null): ?array;
 | |
| 
 | |
|   /** terminer la colonne en cours et en commencer une nouvelle */
 | |
|   function col($size, $options=null): ?array;
 | |
| 
 | |
|   /** terminer le panel en cours et en commencer un nouveau */
 | |
|   function panel($title, $options=null): ?array;
 | |
| 
 | |
|   /** faire {@link flushContent()} puis terminer explicitement un panel */
 | |
|   function endPanel(): ?array;
 | |
| 
 | |
|   /** faire {@link flushContent()} puis terminer explicitement une colonne */
 | |
|   function endCol(): ?array;
 | |
| 
 | |
|   /** faire {@link flushContent()} puis terminer explicitement une ligne */
 | |
|   function endRow(): ?array;
 | |
| 
 | |
|   /** faire {@link flushContent()} puis terminer toutes les sections en cours */
 | |
|   function end(): ?array;
 | |
| }
 |