Messwertmanager

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.

Der Arbeitsbereich „Blockly“ mit Pfeilen, die die Breite und Höhe der Toolbox anzeigen.

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.

Der Arbeitsbereich „Blockly“ mit Pfeilen, die die Breite und Höhe des Flyouts anzeigen.

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.

Der Blockly-Arbeitsbereich in einem blauen Rechteck

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.

Der Blockly-Arbeitsbereich mit einem blauen Rechteck um den Bereich herum, der nicht die Toolbox enthält.

„Oben links“ bezieht sich auf den Ursprung des Arbeitsbereichs. Wenn wir die Maus sind die obere und linke Position des Darstellungsbereichs aktualisiert.

Der Blockly-Arbeitsbereich mit einem blauen Rechteck um den Bereich ohne Toolbox und einem Ursprung, der versetzt von der oberen linken Ecke angezeigt wird.

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.

Der Blockly-Arbeitsbereich mit einer blauen Linie rechts neben der Toolbox und oben im Arbeitsbereich. Der Blockly-Arbeitsbereich mit einer horizontalen Toolbox. Links neben dem Arbeitsbereich und unter der Toolbox wird eine blaue Linie angezeigt.

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.

Der Blockly-Arbeitsbereich mit einem blauen Feld um den Inhalt des Arbeitsbereichs

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.

Der Arbeitsbereich „Blockly“ mit einem großen blauen Rahmen.

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.