Bezeichnung
GetIconProperties -- ruft die Eigenschaften von einem Piktogramm ab (V4.5)
Übersicht
t = GetIconProperties(id)
type, tooltypes, deftool$ = GetIconProperties(file$)
Beschreibung
Mit diesem Befehl können Sie die Eigenschaften eines Piktogrammes abrufen. Dies ist vor allem für Amiga-Piktogrammes nützlich, da sie neben den Bilddaten auch Metadaten enthalten, z.B. Piktogramm-Typ, Merkmale (ToolTypes), allgemeine Informationen und so weiter.

Es gibt zwei Möglichkeiten, diesen Befehl zu verwenden: Sie können entweder den Identifikator eines Piktogrammes im ersten Parameter oder den Dateinamen einer Piktogramm-Datei übergeben. Die Übergabe eines Dateinamens an GetIconProperties() wird nur unter AmigaOS und kompatiblen Systemen unterstützt. Die Übergabe einer Piktogramm-ID wird jedoch auf allen Plattformen unterstützt.

Wenn Sie die ID eines Piktogrammes im ersten Parameter übergeben, gibt GetIconProperties() eine Tabelle zurück, in der die folgenden Felder initialisiert sind:

Type:
Dieser Tag wird auf den Amiga-Piktogramm-Typ des Piktogrammes gesetzt. Dies ist eine der folgenden Konstanten:

#AMIGAICON_DISK:
Ein Piktogramm von einem Laufwerk (z.B. RAM, HD, CD-ROM, etc.)

#AMIGAICON_DRAWER:
Ein Piktogramm von einer Schublade/Verzeichnis.

#AMIGAICON_TOOL:
Ein Piktogramm von einem Programm.

#AMIGAICON_PROJECT:
Ein Piktogramm eines Projekts. Ein Projekt ist eine Datendatei, die von einem anderen Programm geöffnet werden kann. Das Programm, welches zum Öffnen des Projekts verwendet werden soll, wird in DefaultTool übergeben, z.B. SYS:Utilities/MultiView.

#AMIGAICON_GARBAGE:
Ein Papierkorb-Piktogramm.

##AMIGAICON_DEVICE:
Ein Piktogramm eines Gerätes (Device).

#AMIGAICON_KICKSTART:
Ein Kickstart-Piktogramm.

(V9.0)

IconX:
Die x-Position des Piktogrammes relativ zur oberen linken Ecke der Schublade, in der es gespeichert ist. (V9.0)

IconY:
Die y-Position des Piktogrammes relativ zur oberen linken Ecke der Schublade, in der es gespeichert ist. (V9.0)

DrawerX:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, wird dieser Tag auf die x-Position des neuen Fensters gesetzt, das beim Doppelklicken auf das Piktogramm geöffnet wird. (V9.0)

DrawerY:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, wird dieser Tag auf die y-Position des neuen Fensters gesetzt, das beim Doppelklicken auf das Piktogramm geöffnet wird. (V9.0)

DrawerWidth:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, wird dieser Tag auf die Breite des neuen Fensters gesetzt, das beim Doppelklicken auf das Piktogramm geöffnet wird. (V9.0)

DrawerHeight:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, wird dieser Tag auf die Höhe des neuen Fensters gesetzt, das beim Doppelklicken auf das Piktogramm geöffnet wird. (V9.0)

ViewAll:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, wird dieser Tag auf True gesetzt, wenn alle Dateien des Verzeichnisses angezeigt werden sollen, anstatt nur diejenigen, die ein Piktogramm haben. (V9.0)

StackSize:
Wenn Type auf #AMIGAICON_TOOL oder #AMIGAICON_PROJECT festgelegt ist, wird dieser Tag auf die Stackgröße für das zu startende Programm gesetzt. (V9.0)

DefaultTool:
Wenn Type auf #AMIGAICON_PROJECT festgelegt ist, wird dieser Tag auf eine Zeichenkette gesetzt, die den Namen (und optional den Pfad) des Programms enthält, mit dem die Datei geöffnet werden soll. (V9.0)

ToolTypes:
Wenn das Piktogramm Merkmale enthält, werden diese in diesem Tag zurückgegeben. Der Tag ToolTypes enthält eine Tabelle mit einer Liste von Untertabellen, d.h. eine Untertabelle pro Tooltyp-Eintrag. Jede Untertabelle enthält die folgenden Tags:

Key:
Dieser Tag enthält den Namen des Merkmals.

Value:
Dieser Tag enthält den Wert des Merkmals.

Enabled:
Dieser Tag ist ein Boolescher Wert, der angibt, ob der Merkmaltyp aktiviert ist oder nicht.

Alternativ können Sie die Merkmale auch mit dem Tag RawToolTypes abrufen (siehe unten).

(V9.0)

RawToolTypes:
Wenn Sie den Tag ToolTypes aus irgendeinem Grund nicht verwenden möchten, können Sie auch RawToolTypes verwenden. Im Gegensatz zu ToolTypes unterteilt der Tag RawToolTypes die Merkmale nicht in ihre einzelnen Bestandteile (Name, Wert, aktiviertes Flag). Stattdessen gibt der Tag RawToolTypes nur die Merkmale zurück, wie sie im Piktogramm gespeichert sind, d.h. ohne zusätzliche Verarbeitung. Auf diese Weise können auch benutzerdefinierte Daten in den Merkmalen abgerufen werden. RawToolTypes wird auf eine Tabelle gesetzt, die die Merkmale als Zeichenkette enthält. (V9.0)

Images:
Dieser Tag wird auf eine Tabelle gesetzt, die Informationen zu den einzelnen Bildern innerhalb des Piktogrammes enthält. Die Tabelle enthält eine Untertabelle für jedes Bild des Piktogrammes. Jede Untertabelle enthält die folgenden Felder:

Width:
Bildbreite in Pixel.

Height:
Bildhöhe in Pixel.

Standard:
True, wenn das Bild das Standardbild ist, sonst False.

Frames:
Anzahl der Einzelbilder. Dies kann entweder 1 oder 2 sein. Wenn es 1 ist, gibt es nur das normale Bild, wenn es 2 ist, gibt es auch ein ausgewähltes Zustandsbild.

(V9.0)

Um die Eigenschaften eines Piktogrammes einzustellen, verwenden Sie den Befehl SetIconProperties().

Eingaben
id
Syntax 1: ID des Piktogrammes, welches untersucht werden soll
file$
Syntax 2: das Piktogramm, welches untersucht werden soll
Rückgabewerte
t
Syntax 1: Tabelle mit Piktogramm-Eigenschaften
type
Syntax 2: Typ des Piktogrammes; wird eine der oben geschriebenen Konstanten sein
tooltypes
Syntax 2: eine Tabelle mit einer Liste aller Merkmaltypen; für jeden Listeneintrag werden die Felder Key, Value und Enabled initialisiert
deftool$
Syntax 2: die Standard-Merkmalen für dieses Piktogramm; wird nur für Piktogrammes vom Typ #AMIGAICON_PROJECT gesetzt
Beispiel
t = GetIconProperties(1)
For k = 0 To ListItems(t.ToolTypes) - 1
   DebugPrint("Item:", k, "Key:", t.ToolTypes[k].key,
       "Value:", t.ToolTypes[k].value,
       "Enabled:", t.ToolTypes[k].enabled)
Next
Der obige Code ruft die Eigenschaften vom Piktogramm 1 ab und gibt dann alle Informationen aus, die in dessen Merkmalen gespeichert sind.


type, tt, deftool$ = GetIconProperties("MyIcon.info")
For k = 0 To ListItems(tt) - 1
   DebugPrint("Item:", k, "Key:", tt[k].key, "Value:", tt[k].value,
              "Enabled:", tt[k].enabled)
Next
Der obige Code ruft die Eigenschaften des Piktogrammes "MyIcon.info" ab und gibt dann alle in seinen Merkmalen gespeicherten Informationen aus.

Navigation zeigen