VirtualContainer¶
-
class
labpyproject.core.pygame.core.
VirtualContainer
(bgcolor=None, **kwargs)[source]¶ Bases :
labpyproject.core.pygame.core.VirtualItem
VirtualItem dôté des capacités d’un conteneur :
publication : ajout / suppression d’objets enfants
propagation du resize aux objets enfants
layouts basiques : via la propriété direction :
direction = None : layout absolu (canvas), cas par défaut
direction = « horizontal » : layout des éléments de position fixed ou absolute selon l’axe x
direction = « vertical » : respectivement selon l’axe y
Virtual indique que cet objet n’a pas de surface propre (au sens pygame). Comme VirtualItem il ne s’agit pas d’un objet de publication réel. Par contre il s’inscrit dans la gestion générique des couches et de la publication. Sa descendance sera publié réellement par un RealContainer parent (Root par défaut).
À faire
Support de la visibilité, actuellement effectif uniquement pour les composants disposant d’une surface de publication.
Constructeur
- Paramètres
bgcolor (str) – couleur héxa
**kwargs – peut contenir direction ainsi que toutes les propriétés de VirtualItem.
Attributes Summary
valeurs de direction possibles
valeurs de direction équivalentes
valeurs de direction équivalentes
Couleur de fond (str héxa) convertie au format pygame.Color.
Direction de layout (None par défaut)
Methods Summary
add_from_hierarchy
(childlist)Chaine de remontée des items à publier en direction du RealContainer.
add_item
(*childs, **kwargs)Ajout d’un ou plusieurs item(s) virtuel(s).
apply_parent_layout
(prop, val)Applique le layout imposé par le conteneur parent
configure_child_added
(child)Configuration au moment de l’ajout du child.
configure_child_removed
(child)Configuration au moment de la suppression du child.
Crée un CustomSprite de fond si bgcolor != None.
Invalide la mise à jour des surfaces alouées aux childs.
Invalide la position globale absolue exacte
Invalide le layout des childs.
Invalide les listes de childs liées au layout.
Invalide l’éventuel calcul de snap.
Retourne la liste des childs à prendre en compte pour les calculs de snap sauf le fond.
Prise en charge des snaps à la fin du process de resize : pour éviter un bouclage sans fin du process on recalcule les rects en repositionnant au besoin les childs, sans les re resizer.
Indique si un ou plusieurs childs sont flexibles.
Applique le layout basique (si direction != None) aux childs de position fixed ou relative.
En cas de resize personnalisé, re valide tous les marqueurs de resize.
Appelée lorsque la couleur de fond a été modifiée.
on_child_display_discarded
(child)Chaine de remontée des discard d’update jusqu’au prochain RealContainer.
on_child_flex_changed
(child)Appelée par un child dont l’attribut flex a été modifié.
on_child_placement_discarded
(child)Chaine de remontée des discard d’update jusqu’au prochain RealContainer.
on_child_position_changed
(child)Appelée par un child dont l’attribut position a été modifié.
on_child_snap_changed
(child)Appelée par un child dont l’attribut snap a été modifié.
on_child_unresized
(child)Appelée lorsqu’un child n’est plus resizé.
Appelée lorsque la propriété direction a été modifiée.
on_item_added
(parent)Appelée par le container parent lorsque l’item est ajouté.
Appelée lorsque l’item (via sa hiérarchie parente) est publié par le root dans la displaylist finale.
Appelée par le container parent lorsque l’item est supprimé
Appelée lorsque l’item (via sa hiérarchie parente) est dé-publié par le root de la displaylist finale.
Propagé si un parent a été supprimé sans que celui ne supprime sa hiérarchie.
on_publicationRect_coords_changed
(aftersnap)Appelée lors du process de resize quand les coordonnées seules de publicationRect ont été modifiées (pas les dimensions).
on_publicationRect_dims_changed
(aftersnap)Appelée lors du process de resize quand les dimensions (et éventuellement les coords) de publicationRect ont été modifiées
Appelée lorsque les coordonnées du rect de publication de référence (self._publicationRefRect) ont été modifiées (mais pas les dimensions).
Appelée à la fin du process de resize de VirtualContainer pour post traitement éventuel.
Indique que self.publicationRect.width et/ou self.publicationRect.height ont été modifiées lors du process de resize par application d’un snap (adaptation au contenu).
parse_direction
(val)Parse l’attribut direction
remove_from_hierarchy
(childlist)Chaine de remontée des items à supprimer en direction du RealContainer.
remove_item
(*childs)Suppression d’un ou plusieurs item(s) virtuel(s)
resize
(**kwargs)Recalcul de la taille et de la position
Resize le fond.
update
(*args)Appelée à chaque frame: gestion du resize.
Met à jour les coordonnées du rect de publication du fond.
Redéfinition systématique de la surface alouée à chaque child et appel à sa méthode resize (recalcul au besoin).
Reconstitue les listes de childs liées au layout.
xget_childs
([context])Retourne la liste de tous les items de la hiérarchie
Attributes Documentation
-
DIRECTION_ATTR
= [['horizontal', 'h', 'x'], ['vertical', 'v', 'y']]¶ valeurs de direction possibles
-
DIRECTION_HORIZONTAL
= ['horizontal', 'h', 'x']¶ valeurs de direction équivalentes
-
DIRECTION_VERTICAL
= ['vertical', 'v', 'y']¶ valeurs de direction équivalentes
-
bgcolor
¶ Couleur de fond (str héxa) convertie au format pygame.Color.
-
direction
¶ Direction de layout (None par défaut)
Methods Documentation
-
add_from_hierarchy
(childlist)[source]¶ Chaine de remontée des items à publier en direction du RealContainer.
- Paramètres
childlist (list) – liste de VirtualItem(s)
-
add_item
(*childs, **kwargs)[source]¶ Ajout d’un ou plusieurs item(s) virtuel(s).
- Paramètres
childs (list) – liste de VirtualItem(s)
-
apply_parent_layout
(prop, val)[source]¶ Applique le layout imposé par le conteneur parent
- Paramètres
prop (str) – « x » ou « y »
val (int) –
-
configure_child_added
(child)[source]¶ Configuration au moment de l’ajout du child.
- Paramètres
child (VirtualItem) –
-
configure_child_removed
(child)[source]¶ Configuration au moment de la suppression du child.
- Paramètres
child (VirtualItem) –
-
get_snap_childs
()[source]¶ Retourne la liste des childs à prendre en compte pour les calculs de snap sauf le fond.
-
handle_snap
()[source]¶ Prise en charge des snaps à la fin du process de resize : pour éviter un bouclage sans fin du process on recalcule les rects en repositionnant au besoin les childs, sans les re resizer.
-
layout_childs
()[source]¶ Applique le layout basique (si direction != None) aux childs de position fixed ou relative.
-
mark_container_as_resized
()[source]¶ En cas de resize personnalisé, re valide tous les marqueurs de resize.
-
on_child_display_discarded
(child)[source]¶ Chaine de remontée des discard d’update jusqu’au prochain RealContainer.
- Paramètres
child (VirtualItem) –
-
on_child_flex_changed
(child)[source]¶ Appelée par un child dont l’attribut flex a été modifié.
- Paramètres
child (BoxModelObject) –
-
on_child_placement_discarded
(child)[source]¶ Chaine de remontée des discard d’update jusqu’au prochain RealContainer.
- Paramètres
child (BoxModelObject) –
-
on_child_position_changed
(child)[source]¶ Appelée par un child dont l’attribut position a été modifié.
- Paramètres
child (BoxModelObject) –
-
on_child_snap_changed
(child)[source]¶ Appelée par un child dont l’attribut snap a été modifié.
- Paramètres
child (BoxModelObject) –
-
on_child_unresized
(child)[source]¶ Appelée lorsqu’un child n’est plus resizé.
- Paramètres
child (BoxModelObject) –
-
on_item_added
(parent)[source]¶ Appelée par le container parent lorsque l’item est ajouté.
- Paramètres
parent (VirtualContainer) –
-
on_item_added_to_displaylist
()[source]¶ Appelée lorsque l’item (via sa hiérarchie parente) est publié par le root dans la displaylist finale.
-
on_item_removed_from_displaylist
()[source]¶ Appelée lorsque l’item (via sa hiérarchie parente) est dé-publié par le root de la displaylist finale.
-
on_parent_removed
()[source]¶ Propagé si un parent a été supprimé sans que celui ne supprime sa hiérarchie.
-
on_publicationRect_coords_changed
(aftersnap)[source]¶ Appelée lors du process de resize quand les coordonnées seules de publicationRect ont été modifiées (pas les dimensions).
- Paramètres
aftersnap (boolean) – True si consécutif à un calcul de snap, False sinon
-
on_publicationRect_dims_changed
(aftersnap)[source]¶ Appelée lors du process de resize quand les dimensions (et éventuellement les coords) de publicationRect ont été modifiées
- Paramètres
aftersnap (boolean) – True si consécutif à un calcul de snap, False sinon
-
on_publicationRefRect_coords_changed
()[source]¶ Appelée lorsque les coordonnées du rect de publication de référence (self._publicationRefRect) ont été modifiées (mais pas les dimensions).
-
on_resize_achieved
()[source]¶ Appelée à la fin du process de resize de VirtualContainer pour post traitement éventuel.
-
on_snap_occured
()[source]¶ Indique que self.publicationRect.width et/ou self.publicationRect.height ont été modifiées lors du process de resize par application d’un snap (adaptation au contenu).
-
remove_from_hierarchy
(childlist)[source]¶ Chaine de remontée des items à supprimer en direction du RealContainer.
- Paramètres
childlist (list) – liste de VirtualItem(s)
-
remove_item
(*childs)[source]¶ Suppression d’un ou plusieurs item(s) virtuel(s)
- Paramètres
childs (list) – liste de VirtualItem(s)
-
resize
(**kwargs)[source]¶ Recalcul de la taille et de la position
direction : None (canvas), horizontal (liste h), vertical (liste v)
si direction != None : prise en compte des attributs flex des childs
snapW (boolean) : si True le container définit sa largeur par rapport à son contenu
snapH (boolean) : si True le container définit sa hauteur par rapport à son contenu