Eingaben-Aufzeichnung
Die Eingaben-Aufzeichnung zeichnet Maus- und Tastatur-Events auf und erstellt ein neues Panel mit dem resultierenden Skript.
die Eingaben-Aufzeichnung ist dazu gedacht zur Laufzeit für Panels in Vision-Modulen
verwendet zu werden, und sollte daher nicht für GEDI Vorgänge benutzt werden. Innerhalb
des GEDI-Moduls wird mit dem Erweiterungsskript inputRecorder_ext.ctl
die "Maus/Tastatur Eingaben Aufzeichnung" dem Tools
Menü hinzugefügt. Sie kann auch über die Tastenkombination "CTRL"+ "Shift" +
"R" erreicht werden.
Die Eingaben-Aufzeichnung verwendet Maus und Tastatur-Events, erstellt daraus CONTROL Skript-Aufrufe und speichert diese im internen Speicher bis die Aufnahme beendet wird. Wenn die Aufzeichnung wieder über das Tools-Menü beendet wird, wird ein neues Panel erstellt, in welchem das resultierende Skript platziert wird. Die "play()" Funktion in der ScopeLib dieses Panels wird verwendet um die aufgenommenen Events wieder abzuspielen. Ausführen der Funktion startet automatisch das Abspielen.
Das resultierende Skript sollte dennoch überprüft werden. Die letzten Events können entfernt werden, da die Events zum stop der Aufzeichnung sind. Diese Events werden natürlich ebenso aufgezeichnet, sind aber überflüssig.
Das Playback-Skript verwendet die Ctrl++ Klasse InputEventPlayer
. Diese
Klasse verwendet die "current shape", an welche die Events gesendet werden. Wenn keine
Shape gesetzt ist (z.B.: mit clearCurrent()
), werden die Events an das
derzeitig aktive Popup oder Fenster gesendet. Dies ermöglicht eine flexiblere
Adressierung, z.B.: die Adressierung eines Popup-Menüs von einem Rechtsklick. Der
InputEventPlayer adressiert Objekte in einem Panel mit dem üblichen CONTROL Syntax, und
ist damit nicht auf die Funktionalität von z.B. Squish, welches QWidgets nur
oberflächlich kennt, limitiert. Im Kontrast dazu kennen das WinCC OA
UI und die WinCC OA Eingaben-Aufzeichnung alle Objekte eines Panels
(z.B.: auch Primitive Objekte wie Linien, Rechtecke, usw.). Dies bringt allerdings die
Limitierung mit sich, das nur Objekte in einem Panel adressiert werden können. Daher
können GEDI Menü Funktionen nicht mit dem InputEventPlayerverwendet werden. Diese werden
deshalb auch nicht aufgezeichnet. Sollten GEDI Funktionen aus dem Skript verwendet
werden, kann triggerAction()
verwendet werden. Hierbei wird der "Gedi_1" als zweites Argument adressiert.
Aufnahme Overlay
Das aktuell aufgezeichnete Modul wird durch einen Rahmen um die Ecke des Moduls hervorgehoben. Das Aussehen der Hervorhebung kann mit den Konfigurationseinträgen [ui] inputRecorderColor und [ui] inputRecorderLineType angepasst werden.