Arcane  v3.16.6.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IProperty.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IProperty.h (C) 2000-2025 */
9/* */
10/* Interface des propriétés. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IPROPERTY_H
13#define ARCANE_CORE_IPROPERTY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IPropertyValue;
29class IPropertyType;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
39{
40 public:
41
42 virtual ~Property() = default;
43
44 public:
45
54
56 {
57 StString,
58 StReal,
59 StInteger,
60 StBool
61 };
62};
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
71: public Property
72{
73 public:
74
76 virtual void valueToString(String& str) const = 0;
78 virtual void nameToString(String& str) const = 0;
80 virtual void setValueFromString(const String& str) = 0;
82 virtual bool isDefaultValue() const = 0;
84 virtual bool isOriginalValue() const = 0;
86 virtual void originalValueToString(String& str) const = 0;
88 virtual bool canBeEdited() const = 0;
90 virtual IPropertyType* type() = 0;
93};
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
102: public Property
103{
104 public:
105
107 virtual void typeNameToString(String& str) const = 0;
108
110 virtual ePropertyKind kind() const = 0;
111
117 virtual Integer nbEnumeratedValue() const = 0;
118
124 virtual String enumeratedValue(Integer i) const = 0;
125
131 virtual eSimpleType simpleType() const = 0;
132};
133
134/*---------------------------------------------------------------------------*/
135/*---------------------------------------------------------------------------*/
141: public Property
142{
143 public:
144
146 virtual void nameToString(String& str) const = 0;
148 virtual IPropertyType* type() = 0;
149};
150
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
153
154} // namespace Arcane
155
156/*---------------------------------------------------------------------------*/
157/*---------------------------------------------------------------------------*/
158
159#endif
Fichier de configuration d'Arcane.
Interface d'une instance d'un type de propriété.
Definition IProperty.h:142
virtual IPropertyType * type()=0
Retourne le type de l'instance.
virtual void nameToString(String &str) const =0
Stocke le nom de l'instance dans str.
Interface d'un type de propriété.
Definition IProperty.h:103
virtual ePropertyKind kind() const =0
Retourne le genre du type de la propriété
virtual eSimpleType simpleType() const =0
Retourne le type simple du stockage de la propriété. Cette méthode n'est valide que les types du genr...
virtual Integer nbEnumeratedValue() const =0
Retourne le nombre de valeurs enumérées possible pour le type. Cette méthode n'est utile que les type...
virtual void typeNameToString(String &str) const =0
Retourne dans str le nom du type.
virtual String enumeratedValue(Integer i) const =0
Retourne la ième valeur enumérée du type. Cette méthode n'est utile que les types du genre PkEnum....
Interface d'une valeur propriété.
Definition IProperty.h:72
virtual void originalValueToString(String &str) const =0
Stocke la valeur originale de la propriété dans str.
virtual bool isOriginalValue() const =0
Retourne si la valeur actuelle est la valeur originelle.
virtual void nameToString(String &str) const =0
Stocke le nom de la propriété dans str.
virtual IPropertyType * type()=0
Retourne le type de cette propriété.
virtual void valueToString(String &str) const =0
Stocke la valeur de la propriété dans str.
virtual bool canBeEdited() const =0
Retourne si la valeur peut être éditée.
virtual IPropertyTypeInstance * typeInstance()=0
Retourne l'instance associé à cette valeur.
virtual void setValueFromString(const String &str)=0
Positionne la nouvelle valeur de la propriété à str.
virtual bool isDefaultValue() const =0
Retourne si la valeur actuelle est la valeur par défaut.
Définition des types pour les propriétés.
Definition IProperty.h:39
eSimpleType
Type simple dans le cas d'un genre PkSimple.
Definition IProperty.h:56
ePropertyKind
Genre d'une propriété
Definition IProperty.h:48
@ PkSimple
Genre simple (Réel, entier, chaîne, ...)
Definition IProperty.h:49
@ PkComplex
Genre complexe contenant des sous-types.
Definition IProperty.h:52
@ PkEnum
Genre énuméré
Definition IProperty.h:50
@ PkExtended
Genre étendu.
Definition IProperty.h:51
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.