Tutorial:Erstellen neuer Tischfelder: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
(Neu: Raster) |
||
| Zeile 17: | Zeile 17: | ||
* %% wird zum Operator "%" | * %% wird zum Operator "%" | ||
* Hinweis: Die Support-Dauer in zukünftigen Programmversionen ist unbekannt. :-) | * Hinweis: Die Support-Dauer in zukünftigen Programmversionen ist unbekannt. :-) | ||
;Hinweise zum Raster: | |||
* Anlegen der Rasterdekoration momentan in XML | |||
* Verlinken einer speziell präparierten SVG als Rahmen. | |||
* Die Rasterdekorationen können parameter nach dem üblichen Schema haben | |||
* Über <decoextenstion kann die Rahmen-SVG in Abhängigkeit der Parameter um weitere SVGs ergänzt werden, die drüber gelegt werden. | |||
* Zur SVG: | |||
** Die SVG sollte mit möglichst wenig Transformationen auskommen. Ansonsten keine großen Einschränkungen. | |||
** Es gibt ein speziell präpariertes Rechteck, das den Inhalt des Stelltisches angibt. Das SVG hat stellsi:felderAreaOU und stellsi:felderAreaLR-Flags. Das Recteck kann auch mit display="none" markiert sein. | |||
** Das oder ein anderes Rechteck gibt an, wie die Seitenbereiche für die Größenanpassung auf das richtige Raster modifiziert werden sollen: | |||
*** target: Es handelt sich um einen getrennten Zielbereich für den Inhalt des Stelltisches | |||
*** center: Die Inhalte, die sich direkt über oder direkt seitlich vom Rechteck befinden, werden auf Stelltischmitte zentriert | |||
*** stretch: Die Inhalte, die sich direkt über oder direkt seitlich vom Rechteck befinden, werden auf Stelltischmitte gestreckt | |||
** Im einzelnen werden die hierfür relevanten Punkte beim zeichnen entsprechend transformiert. Dies führt dazu, dass jede Transformation des Punktes zu unerwarteten Ergebnissen führen kann. Daher der Tipp, möglichst keine Transformationen zu nutzen. | |||
Siehe auch: [[Tutorial:Namen von Signalen]] | Siehe auch: [[Tutorial:Namen von Signalen]] | ||
[[Kategorie:Neue Bauform]] | [[Kategorie:Neue Bauform]] | ||
Version vom 11. Juni 2023, 19:45 Uhr
Standard für alle neuen Zeichnungen:
Zeichnungen sollten grundsätzlich als SVG erstellt werden.
Als verbindlicher Maßstab 1mm in der Realität = 1px in der Zeichnung definiert. Dies ist sinnvoll, damit verschiedene Bauformen ohne Probleme in einem Stellwerk kombiniert werden können.
- Provisorische Hinweise zu SimpleScript
Es gibt im Tischfeldeditor bei den Zuständen das Feld "einfaches Script". Wird dieses Feld verwendet, sind jegliche andere Zuweisungen auf diesen zustand ignoriert. Stattdessen wird das Script ausgewertet. Das script ist ein einzeiliger C-sprachiger-Ausdruck mit dem Rückgabetyp int. Zuzugreifende Werte werden zwischen zwei %-Zeichen gesetzt. Dabei gilt folgendes:
- Wenn eine Schnittstelle "sname" und mit dem selben Namen ein Parameter "sname" existiert, dann kann über %sname.leitung% der Zahlenwert dieser Leitung abgefragt werden. leitung kann auch parametriert sein, z.B. %sname.*leitungsname% wenn leitungsname ein Text-Parameter ist, der den Name der zugehörigen Leitung angibt. Rückgabewert ist immer eine Ganzzahl.
- Analog gilt: Wenn eine Eingangslogik "sname" und mit dem selben Namen ein Parameter "sname" existiert, der als "an Script übergeben" markiert ist, dann kann über %.sname% der Zahlenwert dieser Einganglsogik abgefragt werden.
- Die Werte %sname.leitung.min% und %sname.leitung.max% geben Werte zurück, die beim Blinken den kleinsten bzw. größten Wert der Blinkreihe zurückgeben.
- "%#mirror%" ist 1 wenn das Feld gespiegelt ist, -1 wenn es nicht gespiegelt ist, und 0 wenn keine Aussage getroffen werden kann. Punktspiegelung zählt als nicht gespiegelt.
- Wenn ein Parameter "par" existiert und an die Script-Engine übergeben wird…
- und dieser ein Text ist, gibt %..par% 0 zurück, wenn der Text leer oder
<!--$auto-->war oder 1 wenn er ein Text-Parameter mit Inhalt war. - und dieser ein Text ist, gibt %$auto..par% 1 zurück, wenn der Text mit
<!--$auto-->anfängt. - und dieser ein numerisch interpretierbare Auswahlbox (z.B. eine Combobox) war, gibt %..par% den entsprechenden Wert zurück. (Für Checkboxen gilt 0=uncecked, 1=checked, -1=3. Zustand (falls verfügbar).)
- und dieser ein Text ist, gibt %..par% 0 zurück, wenn der Text leer oder
- %% wird zum Operator "%"
- Hinweis: Die Support-Dauer in zukünftigen Programmversionen ist unbekannt. :-)
- Hinweise zum Raster
- Anlegen der Rasterdekoration momentan in XML
- Verlinken einer speziell präparierten SVG als Rahmen.
- Die Rasterdekorationen können parameter nach dem üblichen Schema haben
- Über <decoextenstion kann die Rahmen-SVG in Abhängigkeit der Parameter um weitere SVGs ergänzt werden, die drüber gelegt werden.
- Zur SVG:
- Die SVG sollte mit möglichst wenig Transformationen auskommen. Ansonsten keine großen Einschränkungen.
- Es gibt ein speziell präpariertes Rechteck, das den Inhalt des Stelltisches angibt. Das SVG hat stellsi:felderAreaOU und stellsi:felderAreaLR-Flags. Das Recteck kann auch mit display="none" markiert sein.
- Das oder ein anderes Rechteck gibt an, wie die Seitenbereiche für die Größenanpassung auf das richtige Raster modifiziert werden sollen:
- target: Es handelt sich um einen getrennten Zielbereich für den Inhalt des Stelltisches
- center: Die Inhalte, die sich direkt über oder direkt seitlich vom Rechteck befinden, werden auf Stelltischmitte zentriert
- stretch: Die Inhalte, die sich direkt über oder direkt seitlich vom Rechteck befinden, werden auf Stelltischmitte gestreckt
- Im einzelnen werden die hierfür relevanten Punkte beim zeichnen entsprechend transformiert. Dies führt dazu, dass jede Transformation des Punktes zu unerwarteten Ergebnissen führen kann. Daher der Tipp, möglichst keine Transformationen zu nutzen.
Siehe auch: Tutorial:Namen von Signalen