Bezeichnung
SetIconProperties -- ändert die Eigenschaften eines Amiga-Piktogrammes (V4.5)
Übersicht
SetIconProperties(id, table)
SetIconProperties(file$, type[, tooltypes, deftool$]) (nur Amiga)
Beschreibung
Mit diesem Befehl können Sie die Eigenschaften eines Piktogrammes ändern. Dies ist vor allem für Amiga-Piktogramme nützlich, da diese neben den Bilddaten auch Metadaten enthalten, z.B. Piktogramm-Typ, Merkmale, allgemeine Informationen und so weiter. Diese Metadaten können mit SetIconProperties() geändert werden.

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

Wenn Sie eine Piktogramm-ID an SetIconProperties() übergeben, müssen Sie im zweiten Argument eine Tabelle übergeben, um die tatsächlich zu ändernden Eigenschaften anzugeben. Die folgenden Piktogramm-Eigenschaften können derzeit geändert werden:

Type:
Mit diesem Tag können Sie den gewünschten Amiga-Piktogramm-Typ für das Piktogramm einstellen. Dies muss eine der folgenden Konstanten sein:

#AMIGAICON_DISK:
Ein Piktogramm eines Laufwerks (z.B. RAM, HD, CD-ROM, usw.)

#AMIGAICON_DRAWER:
Ein Piktogramm einer Schublade.

#AMIGAICON_TOOL:
Ein Piktogramm eines Programms.

#AMIGAICON_PROJECT:
Ein Piktogramm eines Projekts. Ein Projekt ist eine Datendatei, die von einem anderen Programm geöffnet werden kann. Das Programm, das verwendet werden sollte, um das Projekt zu öffnen, sollte im Tag DefaultTool übergeben werden (siehe unten).

#AMIGAICON_GARBAGE:
Ein Papierkorb-Piktogramm.

##AMIGAICON_DEVICE:
Ein Piktogramm eines Gerätes.

#AMIGAICON_KICKSTART:
Ein Kickstart-Piktogramm.

(V9.0)

IconX:
Die x-Position des Piktogramms in Bezug auf die linke obere Ecke der Schublade, in der es gespeichert ist. (V9.0)

IconY:
Die y-Position des Piktogramms in Bezug auf die linke obere Ecke der Schublade, in der es gespeichert ist. (V9.0)

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

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

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

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

ViewAll:
Wenn Type auf einen Container-Typ wie #AMIGAICON_DRAWER festgelegt ist, können Sie diesen Tag auf True setzen, um die Workbench anzuweisen, alle Dateien der Schublade anzuzeigen und nicht nur die, 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, kann dies auf eine Zeichenkette gesetzt werden, die den Namen (und optional den Pfad) des Programms enthält, mit dem die Datei geöffnet werden soll. (V9.0)

ToolTypes:
Wenn Sie dem Piktogramm Merkmale hinzufügen möchten, müssen Sie im Tag ToolTypes eine Tabelle übergeben. Die Tabelle muss eine Liste von Untertabellen enthalten, und zwar eine Untertabelle pro Merkmaleintrag. Jede Untertabelle kann die folgenden Tags enthalten:

Key:
Dieser Tag ist obligatorisch. Er gibt den Namen des ToolTypes an. Tooltype-Namen sollten nur Buchstaben des englischen Alphabets enthalten, sollten immer im Großbuchstabenformat sein und sie dürfen keine Leerzeichen verwenden. Wenn Sie ein Leerzeichen wünschen, verwenden Sie stattdessen einen Unterstrich ("_"). Außerdem sollten Zahlen nicht als Anfangszeichen eines Tooltype-Namens verwendet werden.

Value:
Dieser Tag ist optional. Mit diesem können Sie dem ToolType einen Wert zuordnen. Wenn Sie diesen Wert nicht setzen, wird der ToolType ein boolescher Wert sein.

Enabled:
Auch dieser Tag ist optional. Die Voreinstellung ist True. Wenn Sie ToolTypes hinzufügen möchten, die anfänglich deaktiviert sind, können Sie diesen Tag auf False setzen. In diesem Fall wird der ToolType in Klammern eingeschlossen, was bedeutet, dass er deaktiviert ist.

Alternativ können Sie Merkmale auch mit dem Tag RawToolTypes festlegen (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 RawToolTypes die Merkmale nicht in ihre einzelnen Bestandteile (Name, Wert, aktiviertes Flag). Stattdessen kopiert der Tag RawToolTypes die Merkmale ohne zusätzliche Verarbeitung auf das Piktogramm. Dadurch ist es möglich, benutzerdefinierte Daten auch in den Merkmalen zu speichern. Wenn Sie dies tun möchten, setzen Sie einfach RawToolTypes auf eine Tabelle, die alle Merkmale enthält, die als einfache Zeichenkette festgelegt werden soll. (V9.0)

Um die Eigenschaften eines Piktogrammes zu lesen, benutzen Sie den Befehl GetIconProperties().

Eingaben
id
Syntax 1: Identifikator des zu ändernden Piktogrammes
table
Syntax 1: Tabelle mit den einzustellenden Piktogramm-Eigenschaften
file$
Syntax 2: das zu ändernde Piktogramm
type
Syntax 2: neuer Typ für das Piktogramm; muss eine der Konstanten von oben sein
tooltypes
Syntax 2, optional: eine Tabelle mit einer Liste aller ToolTypes, die Sie einstellen wollen; jeder Listeneintrag muss mindestens den Tag Key enthalten; Standard ist {} (eine leere Tabelle)
deftool$
Syntax 2, optional: das DefaultTool, das für dieses Piktogramm gesetzt wird; wird nur für Piktogramme vom Typ #AMIGAICON_PROJECT gesetzt; Standardmäßig auf "".
Beispiel
SetIconProperties(1, {
    Type = #AMIGAICON_PROJECT,
    DefaultTool = "Hollywood:System/Hollywood",
    ToolTypes = {
       {Key = "BORDERLESS"},
       {Key = "BACKFILL", Value = "GRADIENT"},
       {Key = "STARTCOLOR", Value = "$000000"},
       {Key = "ENDCOLOR", Value = "$0000ff"},
       {Key = "FIXED", Enabled = False}
    }
})
Der obige Code setzt den Typ von Piktogramm 1 auf #AMIGAICON_PROJECT, das Programm auf "Hollywood:System/Hollywood" und fügt einige Merkmale hinzu.


SetIconProperties("MyCoolScript.hws.info", #AMIGAICON_PROJECT, {
{Key = "BORDERLESS"},
{Key = "BACKFILL", Value = "GRADIENT"},
{Key = "STARTCOLOR", Value = "$000000"},
{Key = "ENDCOLOR", Value = "$0000ff"},
{Key = "FIXED", Enabled = False} }, "Hollywood:System/Hollywood")
Der obige Code setzt Hollywood als DefaultTool für "MyCoolScript.hws". Darüber hinaus fügt es mehrere Tooltypes dem Piktogramm des Skripts hinzu, die Hollywood mitteilen, was als Hintergrund dem Skript hinzugefügt werden sollte (z.B. Farbverlauf des Hintergrunds).

Navigation zeigen