L'élément Components permet d'indiquer les composants qui constituent une version du plug-in.
Plusieurs éléments Components peuvent être utilisés pour identifier les composants d'un plug-in ; chaque élément Componentspeut identifier un ou plusieurs composants. Les informations de plate-forme et de produit pour un élément Components sont définies avec l'élément RuntimeRequirements.
Si tous les composants définis dans un élément Components s'appliquent à la même plateforme, vous n'avez pas besoin d'ajouter un élément RuntimeRequirements à chaque élément ComponentEntry.
Outre l'élément RuntimeRequirements, l'élément Components peut contenir un ou plusieurs des éléments suivants :
Les paragraphes suivants présentent la relation de base entre l'élément Components et les éléments qu'il peut contenir.
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> <AssemblyMappings> <AssemblyMapping ... /> <AssemblyMappingFolder ... /> </AssemblyMappings> <Commands ...> <Command ... /> </Commands> </ComponentEntry> <ComponentEntry ... /> </Components>
L'élément requis ComponentEntry sert à fournir des détails sur chaque composant contenu dans l'élément Components.
Vous pouvez définir autant d'éléments ComponentEntry que vous le souhaitez. Les types de composants peuvent avoir les formats de fichier suivants :
Format | Windows | Mac OS | ||
---|---|---|---|---|
AutoCAD | AutoCAD LT | AutoCAD | AutoCAD LT | |
Code source AutoLISP (LSP) | ✓ | ✓ | ✓ | -- |
Fichier AutoLISP à chargement rapide (FAS) | ✓ | ✓ | ✓ | -- |
Projet Visual LISP compilé (VLX) | ✓ | ✓ | -- | -- |
ObjectARX (ARX/CRX) | ✓ | -- | ✓ | -- |
ObjectDBX (DBX) | ✓ | -- | ✓ | -- |
Extensible Application Markup Language (XAML) | ✓ | ✓ | -- | -- |
JavaScript (JS) | ✓ | -- | -- | -- |
Ensemble .NET en mode mixte ou géré (DLL) | ✓ | -- | -- | -- |
Personnalisation partielle (CUI/CUIx) | ✓ | ✓ | -- | -- |
Palette d'outils (ATC) | ✓ | ✓ | -- | -- |
Projet VBA (DVB) | ✓ | -- | -- | -- |
Un élément ComponentEntry peut contenir un élément Commands si l'attribut LoadReasons est défini sur LoadOnCommandInvocation.
Un élément ComponentEntry peut avoir les attributs suivants :
Attribute |
Description |
---|---|
AppName |
Facultatif pour AutoLISP, obligatoire pour ObjectARX et.NET - Nom du composant ; identique à l'élément AppName dans la classe AcadAppInfo de l'API ObjectARX. |
AppDescription |
Description du composant ; identique à l'élément AppDescription dans la classe AcadAppInfo de l'API ObjectARX. |
AppType |
Type de composant ; remplace le type dérivé de l'extension de fichier fournie dans l'attribut ModuleName. Il peut s'agir des types de composants suivants :
|
ModuleName |
Chemin relatif au composant dans le lot ; identique à l'élément ModuleName dans la classe AcadAppInfo de l'API ObjectARX. Le type de composant est déterminé par l'extension de fichier :
Si votre application doit gérer plusieurs langues, différentes versions d'un composant spécifique peuvent être spécifiées en combinant ModuleName avec un code de localisation. Voir la section Référence des codes de localisation pris en charge pour obtenir une liste complète des codes de localisation pris en charge. Remarque : Tous les identificateurs de chemin sont '/' et non '\' et les chemins font référence au dossier racine .bundle.
|
PerDocument |
AutoLISP uniquement - Lorsque cet attribut a la valeur Vrai, le fichier AutoLISP est chargé une fois par document. La valeur par défaut est Vrai. |
LoadReasons |
Possibilité de spécifier plusieurs valeurs – Définit les paramètres de chargement du composant avec l'élément LoadReasons et l'exception du paramètre LoadOnCommandInvocation. Par défaut, les attributs LoadOnAutoCADStartup, LoadOnAppearance et LoadOnProxy sont activés (définis sur Vrai) si l'élément LoadReasons n'est pas spécifié. Si des paramètres doivent être désactivés (définis sur Faux), l'élément LoadReasons doit être spécifié avec les paramètres définis sur Faux. Par défaut, l'attribut LoadOnCommandInvocation est désactivé. S'il est activé, cela désactive les attributs LoadOnAutoCADStartup et LoadOnAppearance, sauf s'ils sont explicitement activés. Si un ou plusieurs éléments Command sont définis comme faisant partie de l'élément Components, LoadOnCommandInvocation est implicitement activée. Voir le manuel de référence d'ObjectARX pour obtenir des détails sur AcadAppInfo LoadReasons. Les paramètres peuvent prendre les valeurs suivantes :
Les paramètres suivants sont disponibles :
|
XamlType |
Type XAML ; la seule valeur prise en charge est actuellement "ContextualTabRule". Elle est obligatoire lorsqu'un fichier XAML est affecté à l'attribut ModuleName. Le fichier d'application qui utilise le fichier XAML doit être répertorié après l'élément ComponentEntry qui contient le fichier XAML. |
L'élément Commands est facultatif, sauf si le paramètre LoadOnCommandInvocation est activé pour l'attribut LoadReasons. Permet de spécifier les commandes à enregistrer pour LoadOnCommandInvocation.
Vous pouvez spécifier plusieurs éléments Command si nécessaire.
Un élément Commands peut être associé aux attributs suivants :
Attribute |
Description |
---|---|
GroupName |
Nom utilisé pour organiser les commandes associées. |
Spécifie le nom local et le nom global de chaque commande.
Un élément Command peut avoir les attributs suivants :
Attribute |
Description |
---|---|
Global |
Nom de la commande globale. |
Local |
Nom de la commande locale. Des commandes peuvent être définies pour plusieurs langues en combinant Local avec un code de localisation. Voir la section Référence des codes de localisation pris en charge pour obtenir une liste complète des codes de localisation pris en charge. |
HelpTopic |
Rubrique d'aide qui s'ouvre lorsque la commande est activée et que l'utilisateur appuie sur la touche F1. Remarque : Pour afficher la rubrique d'aide, un fichier d'aide doit être affecté au plug-in. L'emplacement du fichier d'aide du plug-in est spécifié avec l'attribut HelpFile sous l'élément ApplicationPackage.
|
StartupCommand |
Exécute la commande au démarrage si Vrai. |
L'exemple suivant ajoute deux commandes définies dans un groupe nommé ADSKCMDS :
<Commands GroupName="ADSKCMDS"> <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/> <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/> </Commands>
L'élément AssemblyMappings est facultatif et peut contenir un ou plusieurs éléments AssemblyMapping ou AssemblyMappingFolder. Les éléments AssemblyMapping et AssemblyMappingFolder permettent d'ajouter des fichiers ensemble et des chemins de dossiers aux listes internes utilisées par AutoCAD pour résoudre les ensembles introuvables dans le dossier d'installation du produit.
Attribut |
Description |
---|---|
Name |
Nom de l'élément ComponentEntry auquel l'ensemble est associé et avec lequel il doit être chargé. |
Path |
Chemin relatif vers l'ensemble dans le bundle. |
Attribute |
Description |
---|---|
Path |
Chemin relatif vers les ensembles dans le bundle. |
L'exemple suivant ajoute deux dossiers qui contiennent des ensembles utilisés par un composant :
<AssemblyMappings> <AssemblyMappingFolder Path="./Content/Assemblies" /> <AssemblyMappingFolder Path="./Content/MoreAssemblies" /> </AssemblyMappings>
L'élément RegistryEntries est facultatif et peut contenir au moins un élément RegistryEntry. Un élément RegistryEntry contient la définition d'une entrée de registre que le plug-in doit créer ou modifier. Les entrées de registre sont stockées dans le registre Windows ou dans un fichier de liste de propriétés (PLIST) sur Mac OS.
Attribut |
Description |
---|---|
Name |
Nom de l'entrée de registre à créer ou à modifier. |
Value |
Valeur à affecter à l'entrée de registre. La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |. Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations. Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à l'entrée de registre.
|
Type |
Type de données à affecter à l'entrée de registre. Facultatif lors de la modification d'une entrée de registre existante. Les valeurs valides sont les suivantes :
Si un préfixe opérateur est utilisé en tant que valeur d'entrée de registre, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne. |
Flags |
Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur. Les indicateurs suivants sont pris en charge :
Remarque : Vous devez utiliser l'indicateur Open ou OpenOnce pour modifier la valeur d'une entrée de registre.
|
L'exemple suivant crée la clé de registre MYREGKEY et ajoute les valeurs STRING et NUMBER :
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
L'élément SystemVariables est facultatif et peut contenir au moins un élément SystemVariables. Un élément SystemVariable contient la définition d'une variable système que le plug-in doit créer ou modifier.
Attribut |
Description |
---|---|
Name |
Nom de la variable système à créer ou à modifier. |
Value |
Valeur à attribuer à la variable. La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |. Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations. Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à la variable.
|
PrimaryType |
Type de données à associer à la variable. Facultatif lors de la modification d'une variable système existante. Les valeurs valides sont les suivantes :
Si un préfixe opérateur est utilisé en tant qu'élément de la valeur de la variable, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne. |
StorageType |
Emplacement de stockage de la valeur de la variable, lorsqu'elle est conservée. Facultatif lors de la modification d'une variable système existante. Les valeurs valides sont les suivantes :
|
Owner |
Facultatif, nom de service ACRX. Permet de créer une variable système en lecture seule et uniquement modifiable par l'application qui enregistre le nom de service à l'aide de acrxRegisterService(). |
Flags |
Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur. Les indicateurs suivants sont pris en charge :
Remarque : L'indicateur Open ou OpenOnce doit être utilisé pour modifier la valeur d'une variable.
|
L'exemple suivant crée une variable système appelée MYVARIABLE :
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
L'exemple suivant permet de modifier la valeur de la variable système CURSORSIZE sur 100 lorsque le plug-in est chargé pour la première fois :
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
L'élément EnvironmentVariables est facultatif et peut contenir au moins un élément EnvironmentVariable. Un élément EnvironmentVariable contient la définition d'une variable d'environnement que le plug-in doit créer ou modifier. Les variables d'environnement de registre sont stockées dans le registre Windows ou dans un fichier de liste de propriétés (PLIST) sur Mac OS.
Attribut |
Description |
---|---|
Name |
Nom de la variable d'environnement à créer ou modifier. |
Value |
Valeur à attribuer à la variable. La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |. Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations. Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à la variable.
|
Type |
Type de données facultatif représenté par Value. Les valeurs valides sont les suivantes :
Si un préfixe opérateur est utilisé en tant qu'élément de la valeur de la variable, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne. |
Flags |
Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur. Les indicateurs suivants sont pris en charge :
Remarque : L'indicateur Open ou OpenOnce doit être utilisé pour modifier la valeur d'une variable.
|
Voici un exemple de création de deux variables d'environnement nommées MYNUMVAR et MYSTRVAR :
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
Les préfixes opérateurs sont utilisés pour modifier la valeur d'une variable lorsque le plug-in est chargé. Vous pouvez ajouter un préfixe opérateur dans le tableau suivant pour l'attribut Value de RegistryEntry, SystemVariable ou d'un élément EnvironmentVariable.
Prefix |
Description |
---|---|
+ (signe plus) |
Ajoute ou accole une valeur à une valeur de variable existante. Int16, Int32, Real : ajoute la valeur Value à une valeur de variable existante. String : accole la valeur Value à une valeur de variable existante. |
- (trait d'union) |
Soustrait ou supprime une valeur d'une valeur de variable existante. Int16, Int32, Real : soustrait la valeur Value d'une valeur de variable existante. String : supprime la valeur Value d'une valeur de variable existante. |
& ("et" commercial) |
Opération AND au niveau du bit avec la valeur existante de la variable. Seules les valeurs numériques sont prises en charge. |
| (barre verticale) |
Opération OR au niveau du bit avec la valeur existante de la variable. Seules les valeurs numériques sont prises en charge. |
L'exemple suivant active toujours les accrochages aux objets actifs END, MID, CEN, NOD, QUA et INT et laisse tous les autres paramètres d'accrochage aux objets inchangés :
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />