Module plume.rdf.internaldict#
Dictionnaires internes des dictionnaires de widgets.
- class plume.rdf.internaldict.InternalDict#
Bases :
dict
Dictionnaires interne.
Un dictionnaire interne est un dictionnaire comportant les clés listées ci-après. Les valeurs des dictionnaires de widgets (
plume.rdf.widgetsdict.WidgetsDict
) sont des dictionnaires internes. Un dictionnaire interne traduit les attributs des clés du dictionnaire de widgets sous une forme plus aisément exploitable pour construire un formulaire avec les bibliothèques QT. Il a également pour fonction de référencer les widgets et autres objets QT qui constituent le formulaire, afin de pouvoir les modifier d’autant que de besoin à mesure des actions de l’utilisateur.À l’initialisation, toutes les clés du dictionnaire interne ont pour valeur
None
. Elles doivent être calculées avant la création des widgets avec la méthodeplume.rdf.widgetsdict.WidgetsDict.internalize()
, et recalculées par le même moyen à chaque fois que la clé du dictionnaire de widgets qui porte le dictionnaire interne est modifiée.object
: classification par nature des éléments du dictionnaire. L’objet est une chaîne de caractères pouvant prendre les valeurs : *'group of values'
pour un groupe de valeurs, *'group of properties'
pour un groupe de propriétés, *'translation group'
pour un groupe de traduction, *'edit'
pour un widget de saisie, *'plus button'
pour un bouton plus, *'translation button'
pour un bouton de traduction.main widget type
est le type du widget principal de la clé ('QGroupBox'
,'QLineEdit'
…). SiNone
(clé dite « fantôme), aucun widget ne doit être créé. Ce cas correspond aux catégories de métadonnées dont le modèle couramment utilisé ne prévoit pas l’affichage, mais dont il n’est pas question de perdre les valeurs.
Les clés
... widget
ci-après ont vocation à accueillir les futurs widgets.main widget
: widget principal.grid widget
: widget annexe de typeQGridLayout
, à créer dès lors que le widget principal est de type'QGroupBox'
.label widget
: widget annexe de typeQLabel
portant une étiquette qui fournit le libellé de la catégorie de métadonnée. À créer lorsque la valeur dehas label
estTrue
. Le libellé à afficher est la valeur delabel
.minus widget
: widget annexe de typeQToolButton
permettant à l’utilisateur de supprimer le widget. À créer lorsque la valeur dehas minus button
estTrue
.language widget
: widget annexe de typeQToolButton
permettant à l’utilisateur de spécifier la langue du texte qu’il saisit. À créer lorsque la valeur deauthorized languages
n’est pasNone
.switch source widget
: widget annexe de typeQToolButton
permettant à l’utilisateur de spécifier le thésaurus qu’il veut utiliser, lorsque plusieurs sont disponibles, ou de passer en mode manuel (saisie manuelle des propriétés de l’objet, au lieu de la simple sélection de son IRI dans un thésaurus). À créer lorsque la valeur demultiple sources
estTrue
.unit widget
: widget annexe de typeQToolButton
permettant à l’utilisateur de choisir l’unité de la valeur qu’il est en train de saisir. À créer lorsque la valeur de la cléunits
n’est pasNone
.geo widget
: widget annexe de typeQToolButton
proposant des fonctionnalités d’aide à la saisie des géométries. À créer lorsque la valeur de la clégeo tools
n’est pasNone
.compute widget
: widget annexe de typeQToolButton
permettant à l’utilisateur de mettre à jour la métadonnée par un calcul plutôt que par saisie manuelle. À créer lorsquehas compute button
vautTrue
.
En complément, des clés sont prévues pour les
QMenu
etQAction
associés à certains widgets boutons.switch source menu
: pour leQMenu
associé au widget référencé parswitch source widget
. Ce menu présente une liste de sources (cf.sources
), dont une est sélectionnée (cf.current source
).switch source actions
: liste desQAction
duswitch source menu
.language menu
: pour leQMenu
associé au widget référencé parlanguage widget
. Ce menu présente une liste de langues (cf.authorized languages
), dont une est sélectionnée (cf.language value
), il permet à l’utilisateur de spécifier la langue du texte qu’il est en train de saisir.language actions
: liste desQAction
dulanguage menu
.unit menu
: pour leQMenu
associé au widget référencé parunit widget
. Ce menu présente une liste d’unités disponibles (cf.units
), dont une est sélectionnée (cf.current unit
).unit actions
: liste desQAction
duunit menu
.geo menu
: pour leQMenu
associé au widget référencé pargeo widget
. Ce menu présente une liste fixe d’actions possibles.geo actions
: liste desQAction
dugeo menu
.
Les clés suivantes contiennent les informations nécessaires au paramétrage des widgets.
hidden
: booléen. SiTrue
, le widget principal et tous les widgets annexes doivent être masqués.label
: s’il y a lieu de mettre une étiquette, soit intégrée au widget (par exemple dans le cas d’unQGroupBox
), soit indépendante (cf.has label
), le libellé que portera ladite étiquette.has label
:True
si un widgetQLabel
doit être créé pour porter le libellé de la catégorie de métadonnée. Il devra alors être référencé danslabel widget
.help text
: le cas échéant, texte explicatif à afficher en infobulle.value
: pour un widget de saisie, l’éventuelle valeur à afficher.value help text
: le cas échéant, une explicitation de la valeur à afficher en infobulle sur la valeur d’une métadonnée non éditable. Cette clé fournit par exemple les URL de destination des hyperliens.placeholder text
: le cas échéant, valeur du paramètreplaceholder
(texte de substitution, qui apparaît tant qu’aucune valeur n’est renseignée) pour le widget principal.input mask
: le cas échéant, valeur du paramètreinputMask
(masque de saisie) pour le widget principal.is mandatory
:True
si la métadonnée doit obligatoirement être renseignée.read only
:True
si la métadonnée ne doit pas être modifiable par l’utilisateur, ce qui conduira à désactiver le widget de saisie.has minus button
:True
si un widget annexe bouton moins doit être créé. Il sera alors référencé dansminus widget
.hide minus button
:True
si le widget annexe bouton moins doit être masqué. À noter que même si la valeur de cette clé n’est pasTrue
, le bouton moins devra être masqué sihidden
vautTrue
.regex validator pattern
: le cas échéant, éventuelle expression régulière que la valeur est censée vérifier. Pour usage par unQRegularExpressionValidator
.regex validator flags
: flags associés àregex validator pattern
, le cas échéant.type validator
: si un validateur basé sur le type (QIntValidator
ouQDoubleValidator
) doit être utilisé, le nom du validateur.multiple sources
:True
si la métadonnée fait appel à plusieurs thésaurus ou autorise à la fois la saisie manuelle et l’usage de thésaurus. Un widget de sélection de la source doit alors être créé et référencé dansswitch source widget
.sources
: s’il y a lieu de créer un widget annexe pour spécifier la source (cf.multiple sources
), la liste des sources à afficher dans le menu associé (switch source menu
).current source
: s’il y a lieu de créer un widget annexe pour spécifier la source (cf.multiple sources
), la source qui devra être présentée comme actuellement sélectionnée par le menu associé (switch source menu
).thesaurus values
: le cas échéant, la liste des valeurs à afficher dans le widget principal de typeQComboBox
.authorized languages
liste des langues à présenter dans le menu associé auwidget de sélection de la langue (
language menu
), le cas échéant. La non nullité de cette clé emporte la création d’un widget de sélection de la langue (language widget
).
language value
: s’il y a lieu de créer un widget annexe pour spécifier la langue (cf.authorized languages
), la langue qui devra être présentée comme actuellement sélectionnée par le menu associé (language menu
).units
: liste des unités disponibles, à présenter dans le menu associé au widget de sélection de l’unité (unit menu
), le cas échéant. La non nullité de cette clé emporte la création d’un widget de sélection de l’unité (unit widget
).current unit
: s’il y a lieu de créer un widget pour spécifier l’unité (cf.units
), l’unité qui devra être présentée comme actuellement sélectionné par le menu associé (unit menu
).geo tools
: liste des fonctionnalités d’aide à la saisie des géométries à proposer. La non nullité de cette clé emporte la création d’un bouton d’aide à la saisie des géométries (geo widget
) par lequel l’utilisateur accédera à ces fonctionnalités.has compute button
:True
si un bouton de calcul de la métadonnée doit être créé. Il sera alors référencé danscompute widget
. La méthode de calcul est fournie par la clécompute method
.auto compute
:True
si la métadonnée doit être calculée automatiquement à la création du dictionnaire. La méthode de calcul est fournie par la clécompute method
.compute method
: un objetplume.pg.computer.ComputeMethod
qui porte les informations nécessaires pour exécuter le calcul de la métadonnée.compute parameters
: un dictionnaire (clé-valeur) contenant les paramètres optionnels à fournir à la requête de calcul de la métadonnée.None
pour une clé qui n’a pas de méthode de calcul. Il s’agira d’un dictionnaire vide s’il y a une méthode de calcul mais qu’aucun paramètre optionnel n’est spécifié.
Methods
clear
()copy
()fromkeys
(iterable[, value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(key[, default])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem
(/)Remove and return a (key, value) pair as a 2-tuple.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()