Der Messwertmanager erfasst und meldet alle Messwerte, die zum Blockly-Arbeitsbereich gehören. In diesem Leitfaden wird die Bedeutung der einzelnen Messwerte beschrieben, die vom Messwertmanager zurückgegeben werden. Weitere Informationen zum Metrics Manager finden Sie auch in der Messwerte 2021 im Detail.
Messwerte
Toolbox-Messwerte
workspace.getMetricsManager().getToolboxMetrics();
Die Toolbox-Messwerte setzen sich aus den height
, width
und position
einer Kategorie-Toolbox zusammen. Dies umfasst keine Informationen über das Flyout, das an der Toolbox befestigt ist.
Der position
der Toolbox hat den Typ Blockly.utils.toolbox.Position
.
Flyout-Messwerte
workspace.getMetricsManager().getFlyoutMetrics();
Die Flyout-Messwerte bestehen aus den height
, width
und position
einer Flyout-Toolbox. Dabei ist zu beachten, dass dies nicht das Flyout-Element ist, das mit der Kategorie-Toolbox verbunden ist. Dies gilt nur für Flyout-Toolboxen, wie im folgenden Foto gezeigt.
Die position
des Flyouts ist vom Typ Blockly.utils.toolbox.Position
.
SVG-Messwerte
workspace.getMetricsManager().getSvgMetrics();
Die SVG-Messwerte bestehen aus den width
und height
des übergeordneten SVG-Elements des Arbeitsbereichs. Für den Hauptarbeitsbereich ist dies die SVG-Datei mit der Klasse blocklySvg
. Dieses SVG enthält den sichtbaren Arbeitsbereich und die Toolbox.
Messwerte ansehen
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Die Ansichtsmesswerte setzen sich aus height
, width
, top
und left
des Darstellungsbereichs zusammen. Der Darstellungsbereich ist der Teil des Arbeitsbereichs, der sichtbar ist. Beide Arten von Toolboxen sind nicht enthalten.
Der Wert oben links bezieht sich auf den Ursprung des Arbeitsbereichs. Wenn wir den Arbeitsbereich verschieben, wird die obere und linke Position des Darstellungsbereichs aktualisiert.
Absolute Messwerte
workspace.getMetricsManager().getAbsoluteMetrics();
Die absoluten Messwerte setzen sich aus dem top
- und left
-Versatz des Darstellungsbereichs gegenüber der begleitenden SVG zusammen. Je nachdem, wo sich die Toolbox im Arbeitsbereich befindet,
ist das normalerweise die Breite oder Höhe der Toolbox.
Content-Messdaten
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Die Inhaltsmesswerte bestehen aus height
, width
, top
und left
des Begrenzungsrahmens um alle Blöcke oder Arbeitsbereichskommentare.
Scrollmesswerte
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Die Scrollmesswerte setzen sich aus height
, width
, top
und left
des scrollbaren Bereichs zusammen. Bei einem verschiebbaren Arbeitsbereich ist der scrollbare Bereich der Inhaltsbereich mit einem gewissen Abstand.
Koordinatensysteme
Standardmäßig werden alle vom Metrics Manager berechneten Messwerte als Pixelkoordinaten zurückgegeben. Gegebenenfalls besteht die Möglichkeit, bestimmte Messwerte in Arbeitsbereichskoordinaten abzurufen. Dazu übergeben Sie true
an die Messwertmethoden. Beispiel: metricsManager.getViewMetrics(true)
workspaceCoordinate = pixelCoordinates / workspace.scale
Arbeitsbereichskoordinaten werden im Allgemeinen für Elemente verwendet, die sich auf dem Arbeitsbereich befinden, z. B. für Blöcke und Kommentare im Arbeitsbereich. Die Koordinaten des Arbeitsbereichs ändern sich nicht, wenn Nutzende heran- und herauszoomen.
Messwerte überschreiben
Entwickler, die ihre eigenen Messwerte für den Arbeitsbereich bereitstellen möchten, können ein Ersatzobjekt für das Messwertmanager registrieren, das die IMetricsManager
-Schnittstelle implementiert oder Blockly.MetricsManager
erweitert.
Ein Beispiel dafür finden Sie im Plug-in "Continuous Toolbox" oder im Plug-in "Fixed Edges".