Menedżer wskaźników gromadzi i raportuje wszystkie wskaźniki dotyczące obszaru roboczego Blockly. W tym przewodniku opisano znaczenie każdego zbioru danych zwracanych przez Menedżera wskaźników. Aby dowiedzieć się więcej o Menedżerze wskaźników, możesz też obejrzeć naszą prezentację na temat wskaźników z 2021 roku.
Wskaźniki
Wskaźniki zestawu narzędzi
workspace.getMetricsManager().getToolboxMetrics();
Wskaźniki w zestawie narzędzi składają się z elementów height
, width
i position
zestawu narzędzi kategorii. Nie dotyczy to informacji o wysuwanym panelu
dołączonym do zestawu z narzędziami.
position
zestawu narzędzi jest typu Blockly.utils.toolbox.Position
.
Dane Flyout
workspace.getMetricsManager().getFlyoutMetrics();
Na dane wysuwane składają się height
, width
i position
zestawu narzędzi. Pamiętaj, że nie jest to wysuwane menu dołączone do zestawu narzędzi kategorii. Dotyczy to tylko wysuwanych zestawów narzędzi,
jak widać na zdjęciu poniżej.
Typ position
wysuwanego elementu jest typu Blockly.utils.toolbox.Position
.
Dane SVG
workspace.getMetricsManager().getSvgMetrics();
Dane SVG składają się z width
i height
nadrzędnego pliku SVG obszaru roboczego. W przypadku głównego obszaru roboczego jest to plik SVG z klasą blocklySvg
. Obejmuje on widoczny obszar roboczy i zestaw narzędzi.
Wyświetl wskaźniki
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Na dane o wyświetleniach składają się: height
, width
, top
i left
widocznego obszaru. Widoczny obszar to część obszaru roboczego, która jest widoczna. Nie obejmuje to żadnego z tych rodzajów zestawów narzędzi.
Lewy górny róg znajduje się względem punktu początkowego obszaru roboczego. Gdy przeciągamy po obszarze roboczym, jego górna i lewa pozycja są aktualizowane.
Dane bezwzględne
workspace.getMetricsManager().getAbsoluteMetrics();
Dane bezwzględne składają się z odsunięcia top
i left
widocznego obszaru z pliku SVG. W zależności od tego, gdzie znajduje się zestaw narzędzi w obszarze roboczym, jest to zwykle jego szerokość lub wysokość.
Charakterystyka zawartości
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Na dane o treści składają się height
, width
, top
i left
ramki ograniczającej otaczające bloki i komentarze do obszaru roboczego.
Dane przewijania
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Dane dotyczące przewijania składają się z height
, width
, top
i left
obszaru, który można przewijać. Przewijany obszar roboczy to obszar treści z pewnymi dopełnieniem.
Systemy współrzędnych
Domyślnie wszystkie wskaźniki obliczone przez Menedżera Metrics są zwracane jako współrzędne piksela. W stosownych przypadkach można uzyskać możliwość uzyskania określonych danych we współrzędnych obszaru roboczego poprzez przekazanie do metod danych parametru true
. Na przykład: metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
Współrzędne obszaru roboczego są zwykle używane w przypadku elementów, które znajdują się w obszarze roboczym, np. bloków i komentarzy do obszaru roboczego. Współrzędne obszaru roboczego nie zmieniają się, gdy użytkownik powiększa i pomniejsza widok.
Zastępowanie wskaźników
Deweloperzy, którzy chcą udostępniać własne dane dotyczące obszaru roboczego, mogą zarejestrować zastępczy obiekt menedżera danych, który implementuje interfejs IMetricsManager
lub rozszerza Blockly.MetricsManager
.
Przykład znajdziesz we wtyczce Ciągłe narzędzia lub wtyczce Fixed Edges.