Parametrisierte Snippets
Parametrisierte Snippets enthalten @param-Deklarationen im Script-Header. Beim Einfügen aus der Galerie erscheint ein Dialog, in dem der Nutzer die Werte anpassen kann — bevor das Shape auf der Folie erstellt wird.
Wie es funktioniert
- Das Script deklariert Parameter mit
// @param-Zeilen am Anfang - Beim Ausführen aus der Galerie erkennt PPPTools die Parameter automatisch
- Ein Dialog wird angezeigt — der Nutzer passt Werte an
- Das Script wird mit den eingegebenen Werten über die
Params-Variable ausgeführt
Im Advanced Snippet Editor kann das Snippet auch ohne Dialog getestet werden — die @param-Zeilen enthalten Standardwerte, die dann verwendet werden.
@param-Syntax
// @param <typ> <name> "<label>" [attribute=wert ...]
Pflichtfelder:
| Teil | Beschreibung |
|---|---|
<typ> |
Datentyp: int, float, string, bool, color, enum |
<name> |
Variablenname im Script (kein Leerzeichen, CamelCase empfohlen) |
"<label>" |
Anzeigename im Dialog (in Anführungszeichen) |
Optionale Attribute:
| Attribut | Beschreibung | Beispiel |
|---|---|---|
default= |
Standardwert | default=200 |
min= |
Minimaler Wert (int/float) | min=10 |
max= |
Maximaler Wert (int/float) | max=500 |
options= |
Auswahloptionen (nur enum, mit \| getrennt) |
options="Klein\|Mittel\|Gross" |
tooltip= |
Hinweistext im Dialog | tooltip="Breite in Pt" |
Typen
int — Ganzzahl
// @param int Zaehne "Anzahl Zähne" default=12 min=4 max=32
Im Script:
int zaehne = Params.GetInt("Zaehne");
float — Dezimalzahl
// @param float Groesse "Grösse (pt)" default=200 min=50 max=600
Im Script:
double groesse = Params.GetFloat("Groesse");
string — Text
// @param string Titel "Beschriftung" default="Phase 1"
Im Script:
string titel = Params.GetString("Titel");
bool — Ja/Nein
// @param bool MitSchatten "Schatten anzeigen" default=false
Im Script:
bool mitSchatten = Params.GetBool("MitSchatten");
color — Farbe
// @param color Fuellfarbe "Füllfarbe" default=#4A90D9
Im Script:
var farbe = Params.GetColor("Fuellfarbe");
int rgb = System.Drawing.ColorTranslator.ToOle(farbe);
Farb-Standardwert als #RRGGBB oder Farbnamen (Red, Blue, White …).
enum — Auswahl aus Liste
// @param enum Stil "Stil" options="Einfach|Doppelt|Gestrichelt" default=Einfach
Im Script:
string stil = Params.GetString("Stil");
// Vergleich:
if (stil == "Doppelt") { ... }
Vollständiges Beispiel
// @param int Zaehne "Anzahl Zähne" default=12 min=4 max=32
// @param float Groesse "Grösse (pt)" default=200 min=50 max=500
// @param float Links "Links (pt)" default=100 min=0
// @param float Oben "Oben (pt)" default=80 min=0
// @param color Fuell "Füllfarbe" default=#8264C8
// @param color Rahmen "Rahmenfarbe" default=#5A3CB4
// @param bool MitLoch "Mit Mittelloch" default=true
// @help https://docs.ppptools.ch/de/helper-beispiel-zahnrad
int zaehne = Params.GetInt("Zaehne");
double size = Params.GetFloat("Groesse");
double left = Params.GetFloat("Links");
double top = Params.GetFloat("Oben");
var fillC = Params.GetColor("Fuell");
var lineC = Params.GetColor("Rahmen");
bool loch = Params.GetBool("MitLoch");
int fillRgb = System.Drawing.ColorTranslator.ToOle(fillC);
int lineRgb = System.Drawing.ColorTranslator.ToOle(lineC);
// ... Shape-Code ...
@help — Link zur Dokumentation
Mit // @help <url> kann ein Link zur Doku-Seite des Snippets hinterlegt werden. Im @param-Dialog erscheint dann ein ?-Button, der die URL im Browser öffnet.
// @help https://docs.ppptools.ch/de/helper-beispiel-zahnrad
Params im Script
Der Params-Accessor ist im Script immer verfügbar. Wird ein Name aufgerufen, der im Dialog nicht ausgefüllt wurde, gibt die Methode den Standardwert zurück.
| Methode | Rückgabetyp | Beschreibung |
|---|---|---|
Params.GetInt("name") |
int |
Ganzzahl-Parameter |
Params.GetFloat("name") |
double |
Dezimalzahl-Parameter |
Params.GetString("name") |
string |
Text-Parameter |
Params.GetBool("name") |
bool |
Bool-Parameter |
Params.GetColor("name") |
System.Drawing.Color |
Farb-Parameter |
Alle Methoden akzeptieren einen optionalen zweiten Parameter als Fallback:
int zaehne = Params.GetInt("Zaehne", 8); // Fallback = 8
Testen im Advanced Snippet Editor
Im Advanced Snippet Editor wird beim ▶ Ausführen kein Dialog angezeigt — die Standardwerte aus den @param-Zeilen werden direkt verwendet. So können Snippets schnell entwickelt und getestet werden.
Mit 🔍 Analyse → Code analysieren werden alle erkannten @param-Parameter angezeigt und auf Syntaxfehler geprüft.
Parametrisierte Beispiel-Snippets
| Snippet | Parameter |
|---|---|
| Zahnrad | Anzahl Zähne, Grösse, Position, Füll- und Rahmenfarbe |
| PostIt | Grösse, Position, Farben, Text |
| Persona | Grösse, Position, Hautfarbe, Haarfarbe |