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;
 | 
						|
}
 |