Menedżer wskaźników

Menedżer danych gromadzi i raportuje wszystkie wskaźniki dotyczące Obszar roboczy Blockly. W tym przewodniku opisano znaczenie każdego zestawu danych zwracanych przez Menedżera wskaźników. Więcej informacji o Menedżerze wskaźników możesz też obejrzeć nasz szczegółowy artykuł na temat wskaźników z 2021 r..

Dane

Wskaźniki z zestawu narzędzi

workspace.getMetricsManager().getToolboxMetrics();

Dane w narzędziach składają się z height, width i position z zestawu narzędzi różnych kategorii. Nie dotyczy to informacji na stronie, które są który znajduje się w zestawie narzędzi.

Obszar roboczy Blockly ze strzałkami wskazującymi szerokość i wysokość zestawu narzędzi.

Pole position zestawu narzędzi jest typu Blockly.utils.toolbox.Position.

Dane wysuwane

workspace.getMetricsManager().getFlyoutMetrics();

Dane w rozwijaniu reklamy składają się z height, width i position elementu wysuwanego menu. Warto zauważyć, że to nie jest menu w zestawie narzędzi kategorii. Dotyczy to tylko wysuwanych skrzynek narzędziowych, na poniższym zdjęciu.

Obszar roboczy Blockly ze strzałkami wskazującymi szerokość i wysokość wysuwanego menu.

position menu rozwijanego jest typu Blockly.utils.toolbox.Position.

Wskaźniki SVG

workspace.getMetricsManager().getSvgMetrics();

Dane SVG składają się z elementów width i height elementu nadrzędnego obszaru roboczego SVG. W przypadku głównego obszaru roboczego jest to plik SVG z klasą blocklySvg. Ten SVG zawiera widoczny obszar roboczy oraz zestaw narzędzi.

Obszar roboczy Blockly z niebieskim prostokątem dookoła.

Wyświetl wskaźniki

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

Na dane o wyświetleniach składają się: height, width, top i left widoczny obszar. Widoczny obszar to widoczna część obszaru roboczego. Ten nie obejmuje żadnego z tych typów narzędzi.

Obszar roboczy Blockly z niebieskim prostokątem wokół obszaru bez zestawu narzędzi.

Lewy górny róg zależy od punktu początkowego obszaru roboczego. Gdy przeciągamy wokół obszaru roboczego górne i lewe położenie widocznego obszaru Zaktualizowano.

Obszar roboczy Blockly z niebieskim prostokątem wokół obszaru bez przybornika i pokazanym odsunięciem od lewego górnego rogu.

Dane bezwzględne

workspace.getMetricsManager().getAbsoluteMetrics();

Dane bezwzględne składają się z odsunięcia widocznego obszaru o top i left. bezpośrednio w SVG. W zależności od tego, gdzie znajduje się zestaw narzędzi, jest to zwykle szerokość lub wysokość zestawu narzędzi.

Obszar roboczy Blockly z niebieską linią po prawej stronie przybornika i u góry obszaru roboczego. Obszar roboczy Blockly z poziomym zestawem narzędzi. Po lewej stronie obszaru roboczego i pod przyborem narzędzi widoczna jest niebieska linia.

Charakterystyka zawartości

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

Na dane dotyczące treści składają się: height, width, top i left ramki ograniczającej wokół bloków lub komentarzy w obszarze roboczym.

Obszar roboczy Blockly z niebieską ramką wokół zawartości obszaru roboczego.

Dane przewijania

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

Dane o przewijaniu składają się z tych elementów: height, width, top i left: obszar, który można przewijać. W przenośnym obszarze roboczym obszarem do przewijania jest zawartość i dopełnienie.

Obszar roboczy Blockly z dużą, niebieską ramką wokół niego.

Systemy współrzędnych

Domyślnie wszystkie wskaźniki obliczone przez Menedżera wskaźników są zwracane w postaci pikseli. . W odpowiednich przypadkach można wyświetlić określone dane w ze współrzędnymi obszaru roboczego, przekazując do metod wskaźników funkcję true. Przykład: metricsManager.getViewMetrics(true)

workspaceCoordinate = pixelCoordinates / workspace.scale

Współrzędne obszaru roboczego są zwykle używane w przypadku elementów znajdujących się w miejscu pracy, takimi jak blokowanie i komentarze w obszarze roboczym. Współrzędne obszaru roboczego nie zmieniają się powiększania i pomniejszania.

Zastępowanie danych

Deweloperzy, którzy chcą udostępniać własne dane dotyczące obszaru roboczego może zarejestrować obiekt menedżera danych zastępczych, który implementuje IMetricsManager lub rozszerzenie Blockly.MetricsManager.

Przykład tego możesz znaleźć we wtyczce Ciągłe narzędzia lub wtyczce Fixed Edges.