Der Messwertmanager erfasst alle Messwerte, die sich auf den Blockly-Arbeitsbereich beziehen, und erstellt Berichte dazu. In diesem Leitfaden wird die Bedeutung der einzelnen Messwerte beschrieben. die vom Messwertmanager zurückgegeben werden. Weitere Informationen zum Metrics Manager können Sie sich auch das Video 2021 Metrics Deep Dive ansehen.
Messwerte
Messwerte im Tool
workspace.getMetricsManager().getToolboxMetrics();
Die Messwerte der Toolbox bestehen aus den height
, width
und position
einer Kategorie-Toolbox. Das gilt nicht für Informationen im Flyout, das mit der Toolbox verknüpft ist.
Die position
der Toolbox hat den Typ Blockly.utils.toolbox.Position
.
Messwerte für Flyouts
workspace.getMetricsManager().getFlyoutMetrics();
Die Flyout-Messwerte bestehen aus den height
, width
und position
einer Flyout-Toolbox. Hinweis: Dies ist nicht das Flyout, das mit der Kategorie-Toolbox verknüpft ist. Dies betrifft nur Flyout-Toolboxes,
wie im Foto unten zu sehen.
Die position
des Flyouts hat den 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 das SVG mit der Klasse blocklySvg
. Dieses SVG enthält den sichtbaren Arbeitsbereich sowie die Symbolleiste.
Messwerte ansehen
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Die Messwerte für die Wiedergabe sind die height
, width
, top
und left
des Darstellungsbereichs. Der Darstellungsbereich ist der sichtbare Teil des Arbeitsbereichs. Das gilt nicht für die beiden Arten von Toolboxen.
„Oben links“ bezieht sich auf den Ursprung des Arbeitsbereichs. Wenn wir die Maus sind die obere und linke Position des Darstellungsbereichs aktualisiert.
Absolute Messwerte
workspace.getMetricsManager().getAbsoluteMetrics();
Die absoluten Messwerte setzen sich aus dem Versatz von top
und left
des Darstellungsbereichs zusammen.
aus der SVG-Datei. Je nachdem, wo sich die Toolbox im
Arbeitsbereich ist dies normalerweise die Breite oder Höhe der Toolbox.
Content-Messdaten
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Die Inhaltsmesswerte setzen sich aus height
, width
, top
und left
zusammen.
Begrenzungsrahmen um alle Blöcke oder Arbeitsbereichskommentare hinzu.
Scroll-Messwerte
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Die Scroll-Messwerte setzen sich aus height
, width
, top
und left
von
scrollen können. Bei einem beweglichen Arbeitsbereich ist der scrollbare Bereich der Inhalt
-Bereich und ein wenig Abstand.
Koordinatensysteme
Standardmäßig werden alle vom Metrics Manager berechneten Messwerte als Pixel zurückgegeben.
Koordinaten. Gegebenenfalls können Sie bestimmte Messwerte
Arbeitsbereichskoordinaten, indem Sie true
an die Messwertmethoden übergeben. Beispiel: metricsManager.getViewMetrics(true)
workspaceCoordinate = pixelCoordinates / workspace.scale
Workspace-Koordinaten werden in der Regel für Elemente verwendet, die sich im Arbeitsbereich befinden, z. B. Blöcke und Workspace-Kommentare. Die Workspace-Koordinaten ändern sich nicht, wenn der Nutzer heran- oder herauszoomt.
Messwerte überschreiben
Entwickler, die ihre eigenen Messwerte für den Arbeitsbereich bereitstellen möchten
ein Ersatz-Messwertmanagerobjekt registrieren, das die
IMetricsManager
-Schnittstelle oder erweitert Blockly.MetricsManager
.
Ein Beispiel hierfür finden Sie im Continuous Toolbox-Plug-in oder im Fixed Edges-Plug-in.