Paramètres

Les paramètres peuvent être définis dans une application afin d’être utilisés au moment de l’exécution ou enregistrés afin de persister d’une session à l’autre. Vous pouvez lire les variables d’environnement utilisateur ou système, définir les variables d’environnement ou les propriétés au moment de l’exécution ou enregistrer les paramètres dans un fichier.

Variables d'environnement

Les variables d’environnement peuvent être définies pour l’utilisateur ou le système. Elles peuvent être définies avant l’exécution de votre application et utilisées pour configurer un autre comportement de l’application. Ainsi, le paramètre de la variable d’environnement LANG a un effet sur les paramètres régionaux utilisés par les applications Qt.

Pour lire la valeur d’une variable d’environnement dans votre application, utilisez AppFramework.environment.value().

Pour remplacer le paramètre actuel d’une variable d’environnement, utilisez AppFramework.environment.setValue(). Cette modification reste valable tant que l’application fonctionne.

PropertySet

PropertySet est un composant qui permet de définir des paires de valeurs de clé pouvant être utilisées dans les liaisons QML. Ce composant convient bien lorsque vous ne connaissez pas la valeur de la propriété avant le lancement de l’application et est défini au moment de l’exécution.

Pour plus d’informations, reportez-vous à API Reference for PropertySet.

Fichier de paramètres

Les paramètres sont enregistrés dans un fichier JSON et sont à la fois écrits et lus par le composant Settings.

L’emplacement de ce fichier JSON varie selon votre système d’exploitation et selon que l’application a été créée en tant qu’application autonome ou utilisée via AppRun ou AppStudio Player. Dans presque tous les cas, modifier directement le fichier n'est pas nécessaire, mais il peut être nécessaire d'ouvrir ces fichiers à des fins de test de bogue. Si cela est nécessaire, les fichiers sont situés dans les dossiers suivants, nommés selon leur UUID dans ArcGIS Online :

  • Windows : C:\Users\YourUsername\ArcGIS\AppStudio\Settings
  • macOS et Ubuntu : ~\ArcGIS\AppStudio\Settings

Une fois une application conçue, ce fichier de paramètres peut être généré dans un des quatre emplacements standard, selon les informations organisationnelles figurant dans l’application et les permissions utilisateur. Il s’agit d’emplacements de remplacement, et vous pouvez déclarer si votre application les utilisera avec la propriété booléenne useFallbacks.

Définir la valeur des paramètres dans un fichier

Les paramètres sont affectés et stockés comme paires de valeurs de clé, qui permettent de représenter les paramètres que vous avez ajoutés. Si une clé n’existe pas, elle peut être créée dans un paramètre défini par défaut ou dans l’élément sur lequel l’utilisateur la définit. Sachez que ces valeurs de clé respectent la casse ; soyez donc cohérent du début à la fin dans l'utilisation des minuscules et majuscules.

Le composant Settings prend en charge quatre types de valeur différents pouvant être utilisés dans divers contextes. Les exemples suivants présentent des cas d’utilisation standard des valeurs.

Les fonctions value et setValue de base sont destinées aux chaînes et peuvent être utilisées dans des scénarios très variés. Dans ce cas, l'exemple de code suivant fournit une méthode pour définir une adresse URL de chemin par défaut :

readonly property string defaultLibraryPath: "~/ArcGIS/Example App/Library"

Item {
    Component.onDestruction: {
        var paths = libraryTextField.text.trim();

        if (paths.length <= 0) {
            paths = defaultLibraryPath;
        }

            settings.setValue("libraryPaths", paths, defaultLibraryPath);
    }

    TextField {
        id: libraryTextField

        Layout.fillWidth: true

        text: defaultLibraryPath
    }
}

La fonction boolValue offre un choix entre « true » et « false », ce qui est idéal pour une question fermée avec peu de nuance requise. L’exemple de code suivant applique le paramètre à un commutateur et détermine si l’application conserve les identifiants de connexion entre deux sessions :

property bool staySignedIn: false

    Switch {
    checked: staySignedIn
    onCheckedChanged: {
        staySignedIn = true;
        settings.boolValue("staySignedIn", true);
    }
}

Le composant Settings fournit également numberValue pour définir un nombre entier, ce qui est utile pour les paramètres granulaires (par exemple, la taille) ou les scénarios nécessitant un choix entre plusieurs options distinctes, et colorValue, qui stocke une valeur de couleur hexadécimale, largement utilisée pour personnaliser l’apparence d’une application. Bien que ces fonctions stockent différents types de valeurs, elles se comportent de la même manière que boolValue.