Verweis auf ein InDesign®-Objekt (Rahmen, Tabelle, Dokument, ...).
Verweis auf ein InDesign®-Objekt (Rahmen, Tabelle, Dokument, ...). Mit Hilfe der ItemRefs kann das Objekt im Zieldokument gefunden werden. Das Objekt enthält einen Verweis auf das Dokument und eine sogenannte UID, über die das Objekt im Dokument gefunden werden kann. UIDs sind dokumentweit eindeutig und werden bei Anlage neuer Objekte immer größer. Die UID 1 bezeichnet das Dokument selbst.
Häufigste Anwendung der ItemRefs sind gFrame und gTable.
So können Sie die Rahmen-UIDs im Dokument anzeigen:
Um die UID einer ItemRef-Variable zu erfragen, verwenden Sie die Funktion item::getint.
Mit Hilfe des Menüs
Fly out der Productrecherche -> Verschiedenes -> Rahmen auswählen ...
können die Rahmen im Dokument ausgewählt werden: In dem erscheinenden Dialog können Sie einen beliebigen
Text eingeben. Alle Zahlen darin werden als UIDs interpretiert und gültige Rahmen-UIDs werden im Dokument ausgewählt.
int main ()
{
showmessage ("UID of gFrame : %d", item::getint (gFrame));
return 0;
}
Mit item::define können Sie aus einer als Ganzzahl (int) gegebenen UID leicht ein ItemRef erzeugen. Aber Achtung: Die gegebene UID (hier 1234), sollte dann auch ein gültiges Objekt im Dokument (hier das aktuelle Frontdokument) adressieren.
int main ()
{
ItemRef myRef = item::alloc ();
item::define (myRef, 0, 1234);
return 0;
}
Die Klasse einer ItemRef-Variable kann mit item::get_class erfragt werden.
int main ()
{
ItemRef pageRef = item::alloc ();
page::get_uid (0, 1, pageRef);
showmessage ("Class of frames : 0x%04X", item::get_class (gFrame));
showmessage ("Class of pages : 0x%04X", item::get_class (pageRef));
return 0;
}
Die UID 1 bezeichnet immer das Dokument. Das Beispiel erzeugt eine ItemRef des Dokumentes des aktuellen Skriptrahmens und zeigt den Dokumentnamen.
int main ()
{
ItemRef docRef = item::alloc ();
char docName [4000];
item::define (docRef, gFrame, 1);
document::name (docName, docRef);
showmessage ("%s", docName);
return 0;
}
Alphabetic index HTML hierarchy of classes or Java