L'elemento Components viene utilizzato per specificare i componenti che costituiscono una versione del plug-in.
È possibile utilizzare più elementi Components per identificare i componenti di un plug-in. Ogni elemento Components può identificare uno o più componenti. Le informazioni relative alla piattaforma e al prodotto di un elemento Components vengono definite dall'elemento RuntimeRequirements.
Se tutti i componenti definiti all'interno di un elemento Components si applicano alla stessa piattaforma, non è necessario aggiungere un elemento RuntimeRequirements ad ogni singolo elemento ComponentEntry.
Oltre all'elemento RuntimeRequirements, l'elemento Components può contenere uno o più dei seguenti elementi:
Di seguito viene descritta la relazione di base dell'elemento Components e degli eventuali elementi che può contenere.
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> <AssemblyMappings> <AssemblyMapping ... /> <AssemblyMappingFolder ... /> </AssemblyMappings> <Commands ...> <Command ... /> </Commands> </ComponentEntry> <ComponentEntry ... /> </Components>
L'elemento ComponentEntry è obbligatorio e viene utilizzato per specificare i dettagli relativi ad ogni singolo componente dell'elemento Components.
È possibile specificare un numero illimitato di elementi ComponentEntry in base alle esigenze. I tipi di componenti possono essere uno dei seguenti formati di file:
Formato file | Windows | Mac OS | ||
---|---|---|---|---|
AutoCAD | AutoCAD LT | AutoCAD | AutoCAD LT | |
Codice sorgente AutoLISP (LSP) | ✓ | ✓ | ✓ | -- |
File AutoLISP a caricamento rapido (FAS) | ✓ | ✓ | ✓ | -- |
Progetto Visual LISP compilato (VLX) | ✓ | ✓ | -- | -- |
ObjectARX (ARX/CRX) | ✓ | -- | ✓ | -- |
ObjectDBX (DBX) | ✓ | -- | ✓ | -- |
Extensible Application Markup Language (XAML) | ✓ | ✓ | -- | -- |
JavaScript (JS) | ✓ | -- | -- | -- |
Assembly .NET gestito o in modalità mista (DLL) | ✓ | -- | -- | -- |
Personalizzazione parziale (CUI/CUIx) | ✓ | ✓ | -- | -- |
Tavolozza degli strumenti (ATC) | ✓ | ✓ | -- | -- |
Progetto VBA (DVB) | ✓ | -- | -- | -- |
Un elemento ComponentEntry può contenere un elemento Commands se l'attributo LoadReasons è impostato su LoadOnCommandInvocation.
Un elemento ComponentEntry può presentare i seguenti attributi:
Attributo |
Descrizione |
---|---|
AppName |
Facoltativo per AutoLISP, obbligatorio per ObjectARX e .NET: il nome del componente. Corrisponde all'attributo AppName nella classe AcadAppInfo dell'API ObjectARX. |
AppDescription |
Descrizione del componente. Corrisponde all'attributo AppDescription nella classe AcadAppInfo dell'API ObjectARX. |
AppType |
Tipo di componente. Sostituisce il tipo derivato dall'estensione di file specificata nell'attributo ModuleName. Il tipo di componente può essere uno dei seguenti:
|
ModuleName |
Percorso relativo del componente all'interno del bundle. Corrisponde all'attributo ModuleName nella classe AcadAppInfo dell'API ObjectARX. Il tipo di componente è determinato dall'estensione del file:
Se l'applicazione è in grado di gestire più lingue, è possibile specificare versioni diverse di un determinato componente mediante la combinazione dell'attributo ModuleName e del codice di impostazioni locali. Per un elenco completo delle impostazioni locali supportate, vedere Riferimento per i codici di impostazioni locali supportati. Nota: Tutti gli specificatori di percorso sono "/" e non "\" e i percorsi sono relativi alla cartella .bundle principale.
|
PerDocument |
Solo per AutoLISP: se True, il file AutoLISP viene caricato una sola volta per documento. L'impostazione di default è True. |
LoadReasons |
È consentito specificare più valori. Definisce i parametri di funzionamento per il caricamento del componente con LoadReasons e l'eccezione del parametro LoadOnCommandInvocation. Per default, se LoadReasons non è specificato, LoadOnAutoCADStartup, LoadOnAppearance e LoadOnProxy sono attivati (impostati su True). Se i parametri devono essere disattivati (impostati su False), l'elemento LoadReasons deve essere specificato insieme ai parametri impostati su False. Per default, LoadOnCommandInvocation è disattivato. Se viene attivato, LoadOnAutoCADStartup e LoadOnAppearance vengono disattivati, a meno che non vengano attivati esplicitamente. Se uno o più elementi Command sono definiti come parte dell'elemento Components, LoadOnCommandInvocation è implicitamente attivato. Vedere ObjectARX Reference Guide per i dettagli su LoadReasons di AcadAppInfo. Sono consentiti i seguenti valori per i parametri:
Sono disponibili i seguenti parametri:
|
XamlType |
Tipo XAML; attualmente l'unico valore supportato è ContextualTabRule ed è obbligatorio quando un file XAML viene assegnato all'attributo ModuleName. Il file dell'applicazione che utilizza il file XAML deve essere elencato dopo l'elemento ComponentEntry che contiene il file XAML. |
L'elemento Commands è facoltativo, a meno che il parametro LoadOnCommandInvocation non sia attivato per l'attributo LoadReasons. Consente di specificare quali comandi registrare per LoadOnCommandInvocation.
È possibile specificare più elementi Command in base alle esigenze.
Un elemento Commands può presentare i seguenti attributi:
Attributo |
Descrizione |
---|---|
GroupName |
Nome utilizzato per organizzare i comandi correlati. |
Specifica i nomi globali e locali per ogni comando.
Un elemento Command può presentare i seguenti attributi:
Attributo |
Descrizione |
---|---|
Global |
Nome del comando globale. |
Local |
Nome del comando locale. I comandi possono essere definiti per più lingue mediante la combinazione dell'attributo Local e del codice di impostazioni locali. Per un elenco completo delle impostazioni locali supportate, vedere Riferimento per i codici di impostazioni locali supportati. |
HelpTopic |
Argomento della Guida in linea da aprire quando il comando è attivo e viene premuto F1. Nota: Per visualizzare l'argomento, è necessario che al plug-in sia assegnato un file della Guida. La posizione del file della Guida per il plug-in è specificata dall'attributo HelpFile sotto l'elemento ApplicationPackage.
|
StartupCommand |
Esegue il comando all'avvio quando è impostato su True. |
Nel seguente esempio sono tati aggiunti due comandi definiti in un gruppo denominato ADSKCMDS:
<Commands GroupName="ADSKCMDS"> <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/> <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/> </Commands>
L'elemento AssemblyMappings è facoltativo e può contenere uno o più elementi AssemblyMapping o AssemblyMappingFolder. Gli elementi AssemblyMapping e AssemblyMappingFolder vengono utilizzati per aggiungere i percorsi di cartelle e file di assembly agli elenchi interni utilizzati da AutoCAD per risolvere gli assembly non trovati nella cartella di installazione del prodotto.
Attributo |
Descrizione |
---|---|
Name |
Nome dell'elemento ComponentEntry a cui è associato l'assembly e con cui deve essere caricato. |
Path |
Percorso relativo dell'assembly all'interno del bundle. |
Attributo |
Descrizione |
---|---|
Percorso |
Percorso relativo degli assembly all'interno del bundle. |
Nel seguente esempio sono state aggiunte due cartelle contenenti assiemi utilizzati da un componente:
<AssemblyMappings> <AssemblyMappingFolder Path="./Content/Assemblies" /> <AssemblyMappingFolder Path="./Content/MoreAssemblies" /> </AssemblyMappings>
L'elemento RegistryEntries è facoltativo e può contenere una o più elementi RegistryEntry. Un elemento RegistryEntry contiene la definizione di una voce di registro che il plug-in deve creare o modificare. Le voci di registro vengono memorizzate nel Registro di sistema di Windows o in un file dell'elenco delle proprietà (PLIST) in Mac OS.
Attributo |
Descrizione |
---|---|
Name |
Nome della voce di registro da creare o modificare. |
Value |
Valore da assegnare alla voce di registro. Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |. Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili". Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla voce di registro.
|
Type |
Tipo di dati da assegnare alla voce di registro. Facoltativo quando si modifica una voce di registro esistente. Di seguito sono elencati i valori validi:
Se il prefisso di un operatore viene utilizzato come parte del valore della voce di registro, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa. |
Flags |
Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag. Sono supportati i seguenti flag:
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una voce di registro.
|
Nel seguente esempio viene creata la chiave di registro MYREGKEY e vengono aggiunti i valori STRING e NUMBER:
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
L'elemento SystemVariables è facoltativo e può contenere uno o più elementi SystemVariables. Un elemento SystemVariable contiene la definizione di una variabile di sistema che il plug-in deve creare o modificare.
Attributo |
Descrizione |
---|---|
Name |
Nome della variabile di sistema da creare o modificare. |
Value |
Valore da assegnare alla variabile. Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |. Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili". Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla variabile.
|
PrimaryType |
Tipo di dati da assegnare alla variabile. Facoltativo durante la modifica di una variabile di sistema esistente. Di seguito sono elencati i valori validi:
Se il prefisso di un operatore viene utilizzato come parte del valore della variabile, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa. |
StorageType |
Posizione di memorizzazione per il valore della variabile; quando viene mantenuto. Facoltativo durante la modifica di una variabile di sistema esistente. Di seguito sono elencati i valori validi:
|
Owner |
Nome del servizio AcRX facoltativo. Utilizzato per creare una variabile di sistema di sola lettura e modificabile solo dall'applicazione che registra il nome del servizio mediante acrxRegisterService(). |
Flags |
Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag. Sono supportati i seguenti flag:
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una variabile.
|
Nel seguente esempio viene creata una variabile di sistema denominata MYVARIABLE:
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
Nel seguente esempio il valore della variabile di sistema CURSORSIZE viene modificato in 100 quando il plug-in viene caricato per la prima volta:
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
L'elemento EnvironmentVariables è facoltativo e può contenere uno o più elementi EnvironmentVariable. Un elemento EnvironmentVariable contiene la definizione di una variabile di ambiente che il plug-in deve creare o modificare. Le variabili di ambiente sono memorizzate nel Registro di sistema di Windows o in un file dell'elenco delle proprietà (PLIST) in Mac OS.
Attributo |
Descrizione |
---|---|
Name |
Nome della variabile di ambiente da creare o modificare. |
Value |
Valore da assegnare alla variabile. Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |. Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili". Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla variabile.
|
Type |
Tipo di dati facoltativo rappresentato da Value. Di seguito sono elencati i valori validi:
Se il prefisso di un operatore viene utilizzato come parte del valore della variabile, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa. |
Flags |
Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag. Sono supportati i seguenti flag:
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una variabile.
|
Di seguito è riportato un esempio di creazione di due variabili di ambiente denominate MYNUMVAR e MYSTRVAR:
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
I prefissi degli operatori vengono utilizzati per modificare il valore corrente di una variabile quando il plug-in viene caricato. È possibile aggiungere uno dei prefissi degli operatori elencati nella seguente tabella all'attributo Value di un elemento RegistryEntry, SystemVariable o EnvironmentVariable.
Prefisso |
Descrizione |
---|---|
+ (segno più) |
Aggiunge un valore a quello di una variabile esistente. Int16, Int32, Real: aggiunge Value al valore di una variabile esistente. String: aggiunge Value al valore di una variabile esistente. |
- (trattino) |
Sottrae o rimuove un valore a quello di una variabile esistente. Int16, Int32, Real: sottrae Value dal valore di una variabile esistente. String: rimuove Value dal valore di una variabile esistente. |
e commerciale (&) |
Operazione AND a livello di bit con il valore esistente della variabile; sono supportati solo i valori numerici. |
| (simbolo di pipe) |
Operazione OR a livello di bit con il valore esistente della variabile; sono supportati solo i valori numerici. |
Nel seguente esempio vengono sempre attivati gli snap ad oggetto in esecuzione END, MID, CEN, NOD, QUA e INT, lasciando tutte le altre impostazioni di snap ad oggetto così come sono:
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />