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..

Wskaźniki

Dane w sekcji Zestaw narzędzi

workspace.getMetricsManager().getToolboxMetrics();

Dane w sekcji narzędzi składają się z wartości height, widthposition w sekcji narzędzi danej kategorii. Nie obejmuje to informacji na wyskakującym okienku dołączonym do panelu narzędzi.

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

position w skrzynce narzędzi jest typu Blockly.utils.toolbox.Position.

Dane wysuwane

workspace.getMetricsManager().getFlyoutMetrics();

Dane wyskakujących okienek składają się z elementów height, widthposition z sekcji narzędzi wyskakujących okienek. Pamiętaj, że nie jest to menu wyskakujące dołączone do panelu narzędzi kategorii. Dotyczy to tylko wyskakujących okienek narzędzi, jak pokazano na poniższym zdjęciu.

Praca na obszarze roboczym Blockly ze strzałkami wskazującymi szerokość i wysokość wyskakującego okienka

position wyskakującego okienka jest typu Blockly.utils.toolbox.Position.

Dane 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 workspace 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. Nie dotyczy to żadnego z tych typów skrzynek narzędziowych.

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 kursor po obszarze roboczym, pozycja górna i lewa widocznego obszaru są aktualizowane.

Praca w Blockly z niebieskim prostokątem wokół obszaru, który nie obejmuje panelu narzędzi, oraz punktem początkowym przesuniętym z lewy górny róg.

Dane bezwzględne

workspace.getMetricsManager().getAbsoluteMetrics();

Dane bezwzględne składają się z odstępu topleft widoku względem SVG rodzica. 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 panelu narzędzi i na górze obszaru roboczego. Warsztat Blockly z poziomym paskiem 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 o przewijaniu

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.

Miejsce pracy w Blockly otoczone dużym niebieskim kwadratem.

Systemy współrzędnych

Domyślnie wszystkie dane obliczane przez Menedżera danych są zwracane jako współrzędne 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 wartość 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ładem tego jest wtyczka Continuous Toolbox lub wtyczka Fixed Edges.