====== Pxxo_Widget_Decorator_Roundedbox ======
Ce décorateur permet de générer une boite aux coins arrondis (pleine ou filaire) autours d'un widget. Le résultat a été testé et validé sous Internet Explorer 6, Internet Explorer 7, Firefox 2 (et +), Safari et Opéra. De plus, contrairement à la prise en charge partielle de la propriété CSS **border-radius** par les différents navigateurs (à l'heure où j'écris ces lignes), les coins arrondis générés par ce décorateur sont anti-aliasés afin d'obtenir un visuel plus soigné.
* [[http://apps.pxxo.net/showcase/|Exemple d'utilisation en ligne]]
* [[fr:install|Installer]]
===== Paramètres =====
Aucun des paramètres ci-dessous n'est obligatoire.
^ Nom ^ Type ^ Valeur par défaut ^ Description ^
| ''borderRadius'' | Integer | 11 | rayon de l'arrondi des coins en __pixel__ (ATTENTION ne pas spécifier d'unité, ce paramètre doit être numérique) |
| ''borderColor'' | Array | Array(0,0,0) | Triplet de valeur correspondant au code RGB de la couleur de la bordure de la boîte. Chacune des valeurs doit être comprises entre 0 et 255 (bornes incluses). |
| ''backgroundColor'' | Array | Array(255,255,255) | Triplet de valeur correspondant au code RGB de la couleur d'arrière plan. Chacune des valeurs doit être comprises entre 0 et 255 (bornes incluses). |
| ''foregroundColor'' | Array | Array(255,255,255) | Triplet de valeur correspondant au code RGB de la couleur d'avant plan. Chacune des valeurs doit être comprises entre 0 et 255 (bornes incluses). |
| ''width'' | String | 100% | Largeur de la boîte. Veuillez spécifier l'unité (px, %, ...) |
| ''height'' | String | //null// | Hauteur de la boîte. Veuillez spécifier l'unité (px, %, ...) |
| ''widthContent'' | String | //null// | Largeur du contenu de la boîte. Veuillez spécifier l'unité (px, %, ...) |
| ''heightContent'' | String | //null// | Hauteur du contenu de la boîte. Veuillez spécifier l'unité (px, %, ...) |
| ''alignCenterContent'' | boolean | true | Si à true centre le contenu du widget décoré par rapport à la boîte. Pour que celui-ci soit pris en compte, le paramètre //widthContent// doit être valorisé. |
| ''overflowX'' | String | hidden | gestion de l'overflow horizontal ; valeurs autorisées : hidden, auto, scroll |
| ''overflowY'' | String | auto | gestion de l'overflow vertical ; valeurs autorisées : hidden, auto, scroll |
| ''padding'' | String | 0px | //Padding// de la boîte. Veuillez spécifier l'unité (px, %, ...) |
| ''margin'' | String | 0px | //Margin// par rapport à la boîte. Veuillez spécifier l'unité (px, %, ...) |
===== Exemples =====
Voici quelques exemples pour illustrer la manière de mettre en oeuvre ce décorateur et l'usage qu'on peut en faire.
__Exemple 1 : sans paramètre__
path = dirname(__FILE__); // Chemin physique de la racine de l'application
$config->url_root = dirname($_SERVER['PHP_SELF']); // URL de la racine de l'application (public)
$config->resources_path = $config->path.'/rsc'; // Chemin physique du répertoire de ressources
$config->resources_url = $config->url_root.'/rsc'; // URL du répertoire de ressources (public)
$config->cache_flag = false;
$config->register();
// widget qui sera décoré
require_once 'Pxxo/Widget/Htmler.php';
$o = new Pxxo_Widget_Htmler( array('element'=>'div','content'=>'Exemple de contenu simple pour illustrer l\'utilisation du décorateur Pxxo_Widget_Decorator_Roundedbox.') );
// on le decore d'un boite aux coins arrondis
require_once 'Pxxo/Widget/Decorator/Roundedbox.php';
$o->addDecorator( new Pxxo_Widget_Decorator_Roundedbox( array() ) );
// on inclue le resultat dans une page XHTML pour afficher l'exemple en standalone
$o->addDecorator('Pxxo_Widget_Decorator_Core');
// execution
$o->main();
$o->dump();
?>
{{ fr:doc:roundedbox_exple1.png | Exemple 1 }}
Voici quelques exemples de visuel qu'on peut obtenir avec ce décorateur.
__Exemple 2 : changement des couleurs__
path = dirname(__FILE__); // Chemin physique de la racine de l'application
$config->url_root = dirname($_SERVER['PHP_SELF']); // URL de la racine de l'application (public)
$config->resources_path = $config->path.'/rsc'; // Chemin physique du répertoire de ressources
$config->resources_url = $config->url_root.'/rsc'; // URL du répertoire de ressources (public)
$config->cache_flag = false;
$config->register();
// widget qui sera décoré
require_once 'Pxxo/Widget/Htmler.php';
$o = new Pxxo_Widget_Htmler( array('element'=>'div','content'=>'Exemple de contenu simple pour illustrer l\'utilisation du décorateur Pxxo_Widget_Decorator_Roundedbox.') );
// on le decore d'un boite aux coins arrondis
require_once 'Pxxo/Widget/Decorator/Roundedbox.php';
$o->addDecorator(
new Pxxo_Widget_Decorator_Roundedbox(
array(
'foregroundColor'=>array(255,255,255),
'backgroundColor'=>array(255,255,255),
'borderColor'=>array(45,124,193),
)
)
);
// on inclue le resultat dans une page XHTML pour afficher l'exemple en standalone
$o->addDecorator('Pxxo_Widget_Decorator_Core');
// execution
$o->main();
$o->dump();
?>
{{ fr:doc:roundedbox_exple2.png | Exemple 2 }}
__Exemple 3 : changement des couleurs et de //borderRadius//__
path = dirname(__FILE__); // Chemin physique de la racine de l'application
$config->url_root = dirname($_SERVER['PHP_SELF']); // URL de la racine de l'application (public)
$config->resources_path = $config->path.'/rsc'; // Chemin physique du répertoire de ressources
$config->resources_url = $config->url_root.'/rsc'; // URL du répertoire de ressources (public)
$config->cache_flag = false;
$config->register();
// widget qui sera décoré
require_once 'Pxxo/Widget/Htmler.php';
$o = new Pxxo_Widget_Htmler( array('element'=>'div','content'=>'Exemple de contenu simple pour illustrer l\'utilisation du décorateur Pxxo_Widget_Decorator_Roundedbox.','style'=>'color: #FFFFFF;') );
// on le decore d'un boite aux coins arrondis
require_once 'Pxxo/Widget/Decorator/Roundedbox.php';
$o->addDecorator(
new Pxxo_Widget_Decorator_Roundedbox(
array(
'foregroundColor'=>array(45,124,193),
'backgroundColor'=>array(255,255,255),
'borderColor'=>array(45,124,193),
'borderRadius'=>5,
)
)
);
// on inclue le resultat dans une page XHTML pour afficher l'exemple en standalone
$o->addDecorator('Pxxo_Widget_Decorator_Core');
// execution
$o->main();
$o->dump();
?>
{{ fr:doc:roundedbox_exple3.png | Exemple 3 }}
__Exemple 4 : on fixe les tailles et le comportement en //overflow//__
path = dirname(__FILE__); // Chemin physique de la racine de l'application
$config->url_root = dirname($_SERVER['PHP_SELF']); // URL de la racine de l'application (public)
$config->resources_path = $config->path.'/rsc'; // Chemin physique du répertoire de ressources
$config->resources_url = $config->url_root.'/rsc'; // URL du répertoire de ressources (public)
$config->cache_flag = false;
$config->register();
// widget qui sera décoré
require_once 'Pxxo/Widget/Htmler.php';
$o = new Pxxo_Widget_Htmler( array('element'=>'div','content'=>'Exemple de contenu simple pour illustrer l\'utilisation du décorateur Pxxo_Widget_Decorator_Roundedbox ... blabla
et reblabla
et je dirai même plus blablabla ...
','style'=>'color: #FFFFFF;') );
// on le decore d'un boite aux coins arrondis
require_once 'Pxxo/Widget/Decorator/Roundedbox.php';
$o->addDecorator(
new Pxxo_Widget_Decorator_Roundedbox(
array(
'foregroundColor'=>array(45,124,193),
'backgroundColor'=>array(255,255,255),
'borderColor'=>array(45,124,193),
'borderRadius'=>5,
'width'=>'325px',
'widthContent'=>'300px',
'heightContent'=>'90px',
'overflowX'=>'auto',
'overflowY'=>'scroll',
)
)
);
// on inclue le resultat dans une page XHTML pour afficher l'exemple en standalone
$o->addDecorator('Pxxo_Widget_Decorator_Core');
// execution
$o->main();
$o->dump();
?>
{{ fr:doc:roundedbox_exple4.png | Exemple 4 }}