WorkspaceSvg-Klasse
Klasse für einen Arbeitsbereich. Dies ist ein Bildschirmbereich mit optionalem Papierkorbsymbol, Bildlaufleisten, Bubbles und Ziehen.
Unterschrift:
export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg
Erweitert: Workspace
Implementierung:IASTNodeLocationSvg
Konstruktoren
Konstruktor | Modifikatoren | Beschreibung |
---|---|---|
(Konstruktor)(Optionen) | Erstellt eine neue Instanz der WorkspaceSvg -Klasse |
Attribute
Attribut | Modifikatoren | Typ | Beschreibung |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextMenuOption[], e: Ereignis) => void) | null | Entwickler können diese Funktion definieren, um dem Kontextmenü des Arbeitsbereichs benutzerdefinierte Menüoptionen hinzuzufügen oder die im Arbeitsbereich erstellten Menüoptionen zu bearbeiten. | |
keyboardAccessibilityMode | boolean | „True“, wenn der Bedienungshilfemodus für die Tastatur aktiviert ist, andernfalls „False“. | |
gerendert | boolean | Der Renderingstatus eines SVG-Arbeitsbereichs. Gibt false für monitorlose Arbeitsbereiche und „true“ für Instanzen von WorkspaceSvg zurück. |
|
skalieren | Zahl | Aktuelle Waage. | |
Bildlaufleiste | ScrollbarPair | null | Die Bildlaufleisten dieses Arbeitsbereichs, sofern vorhanden. | |
scrollX | Zahl | Aktueller horizontaler Scroll-Offset in Pixeleinheiten, relativ zum Ursprung des Arbeitsbereichs. Es ist hilfreich, über eine Ansicht und einen Canvas nachzudenken, der sich unter dieser Ansicht bewegt. Wenn sich der Canvas nach rechts bewegt, wird dieser Wert positiver und die Ansicht ist jetzt „sehen“. auf der linken Seite des Canvas. Wenn der Canvas nach links bewegt wird, wird dieser Wert negativer und die Ansicht ist jetzt „sehen“. auf der rechten Seite des Canvas. Das Verwirren an diesem Wert ist, dass er den Offset absolutLeft nicht enthalten darf und diesen auch nicht enthalten darf. Das liegt daran, dass er zur Berechnung des Werts „viewLeft“ verwendet wird. "viewLeft" ist relativ zum Ursprung des Arbeitsbereichs, allerdings in Pixeleinheiten. Der Ursprung des Arbeitsbereichs ist die obere linke Ecke des Arbeitsbereichs (zumindest in dem Fall, wenn er aktiviert ist). Er wird von der oberen linken Seite des BlocklyDiv verschoben, damit er sich nicht unter der Toolbox befindet. Wenn der Arbeitsbereich aktiviert ist, befinden sich der Ursprung von „viewLeft“ und des Arbeitsbereichs an derselben X-Position. Wenn der Canvas nach rechts unter die Ansicht gleitet, wird dieser Wert (scrollX) positiver und „viewLeft“ negativer im Verhältnis zum Ursprung des Arbeitsbereichs. Stellen Sie sich den Ursprung des Arbeitsbereichs als einen Punkt auf dem Canvas vor, der sich beim Bewegen des Canvas nach rechts bewegt. Würde also „scrollX“ das Element absoluteLeft einschließen, würde dies Ursprung des Arbeitsbereichs. Das bedeutet, dass „viewLeft“ den linken Rand von „blocklyDiv“ und nicht den linken Rand des Arbeitsbereichs repräsentieren würde. |
|
scrollY | Zahl | Aktueller vertikaler Scroll-Offset in Pixeleinheiten, relativ zum Ursprung des Arbeitsbereichs. Es ist hilfreich, über eine Ansicht und einen Canvas nachzudenken, der sich unter dieser Ansicht bewegt. Bewegt sich der Canvas nach unten, wird dieser Wert positiver und die Ansicht ist jetzt „sehen“. im oberen Teil des Canvas. Wenn sich der Canvas nach oben bewegt, wird dieser Wert negativer und die Ansicht ist „sehen“ im unteren Teil des Canvas. Das Verwirren an diesem Wert ist, dass er den Offset von absoluteTop nicht enthält und diesen auch nicht enthalten darf. Der Grund dafür ist, dass er zur Berechnung des Werts „viewTop“ verwendet wird. „viewTop“ ist relativ zum Ursprung des Arbeitsbereichs, allerdings in Pixeleinheiten. Der Ursprung des Arbeitsbereichs ist die obere linke Ecke des Arbeitsbereichs (zumindest in dem Fall, wenn er aktiviert ist). Er wird von der oberen linken Seite des BlocklyDiv verschoben, damit er sich nicht unter der Toolbox befindet. Wenn der Arbeitsbereich aktiviert ist, befinden sich der „viewTop“- und der „Arbeitsbereich“-Ursprung an derselben Y-Position. Wenn sich der Canvas zum unteren Rand bewegt, wird dieser Wert (scrollY) positiver und „viewTop“ wird im Verhältnis zum Ursprung des Arbeitsbereichs negativer. Das Bild am Ursprung des Arbeitsbereichs wird als Punkt auf dem Canvas nach unten verschoben, während sich der Canvas bewegt. Würde also das Scroll-Y-Element absoluteTop enthalten, würde dies die Verschiebung aufheben. Ursprung des Arbeitsbereichs. Das bedeutet, dass „viewTop“ den oberen Rand von „blocklyDiv“ und nicht den oberen Rand des Arbeitsbereichs darstellt. |
|
startScrollX | Zahl | Wert für horizontales Scrollen bei Beginn des Scrollens in Pixeleinheiten. | |
startScrollY | Zahl | Wert für vertikales Scrollen bei Beginn des Scrollens in Pixeleinheiten | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
Papierkorb | Papierkorb | null | Den Papierkorb des Arbeitsbereichs (falls vorhanden). | |
zoomControls_ | ZoomControls | null |
Methoden
Methode | Modifikatoren | Beschreibung |
---|---|---|
addTopBlock(block) | Fügt einen Block zur Liste der obersten Blöcke hinzu. | |
addTopBoundedElement(element) | Fügt der Liste der oben begrenzten Elemente ein begrenztes Element hinzu. | |
addTopComment(comment) | Fügt der Liste der Top-Kommentare einen Kommentar hinzu. | |
centerOnBlock(id, blockOnly) | Scrollen Sie den Arbeitsbereich, sodass er in der Mitte des ausgewählten Blocks liegt. Sind unter dem Block weitere Blöcke gestapelt, wird der Arbeitsbereich zentriert, sofern „blockOnly“ nicht auf „true“ gesetzt ist. | |
cleanUp() | Bereinigen Sie den Arbeitsbereich, indem Sie alle Blöcke in einer Spalte anordnen. | |
clear() | Alle Blöcke im Arbeitsbereich entsorgen, mit einer Optimierung, um Größenänderungen zu verhindern. | |
createDom(opt_backgroundClass, InjectionDiv) | Erstellen Sie die DOM-Elemente des Arbeitsbereichs. | |
createVariable(name, opt_type, opt_id) | Erstellen Sie eine neue Variable mit dem angegebenen Namen. Aktualisieren Sie das Flyout-Menü, damit die neue Variable sofort angezeigt wird. | |
deleteVariableById(id) | Löscht eine Variable anhand der übergebenen ID. Aktualisieren Sie das Flyout-Menü, um sofort anzuzeigen, dass die Variable gelöscht ist. | |
dispose() | Entsorgen Sie diesen Arbeitsbereich. Heben Sie die Verknüpfung mit allen DOM-Elementen auf, um Speicherlecks zu vermeiden. | |
getAllBlocks(ordered) | Suchen Sie alle Blöcke im Arbeitsbereich. Blöcke werden optional nach Position sortiert. von oben nach unten (mit leichter LTR- oder RTL-Verzerrung) | |
getAudioManager() | Rufen Sie den Audio-Manager für diesen Arbeitsbereich ab. | |
getBlockById(id) | Suchen Sie in diesem Arbeitsbereich nach dem Block mit der angegebenen ID. | |
getBlocksBoundingBox() | Berechnen Sie den Begrenzungsrahmen für die Blöcke im Arbeitsbereich. Koordinatensystem: Koordinaten des Arbeitsbereichs | |
getBubbleCanvas() | Rufen Sie das SVG-Element ab, das die Oberfläche der Blase bildet. | |
getButtonCallback(key) | Ruft die einem bestimmten Schlüssel zugeordnete Callback-Funktion für Klicks auf Schaltflächen und Labels im Flyout-Menü ab. | |
getCanvas() | Rufen Sie das SVG-Element ab, das die Zeichenfläche bildet. | |
getComponentManager() | Ruft den Komponentenmanager für diesen Arbeitsbereich ab. | |
getCursor() | Der Cursor für diesen Arbeitsbereich. | |
getDragTarget(e) | Gibt das Ziehziel zurück, über dem das Zeiger-Ereignis vorbei ist | |
getFlyout(opt_own) | Getter für das mit diesem Arbeitsbereich verknüpfte Flyout-Menü. Dieses Flyout kann je nach Konfiguration der Toolbox entweder der Toolbox oder dem Arbeitsbereich gehören. Er ist null, wenn es keinen Flyout gibt. | |
getGrid() | Ruft das Rasterobjekt für diesen Arbeitsbereich ab oder null, wenn keins vorhanden ist. | |
getInverseScreenCTM() | Getter für den umgekehrten Bildschirm CTM. | |
getLayerManager() | ||
getMarkerManager() | Rufen Sie den Markierungs-Manager für diesen Arbeitsbereich ab. | |
getMetricsManager() | Ruft den Messwertmanager für diesen Arbeitsbereich ab. | |
getParentSvg() | Rufen Sie das SVG-Element ab, das diesen Arbeitsbereich enthält. Hinweis: Es wird davon ausgegangen, dass dies erst aufgerufen wird, nachdem der Arbeitsbereich in das DOM eingefügt wurde. | |
getRenderer() | Fügen Sie den Block-Renderer an diesen Arbeitsbereich an. | |
getRootWorkspace() | ||
getScale() | Rufen Sie den Zoomfaktor des Arbeitsbereichs ab. Wenn der Arbeitsbereich ein übergeordnetes Element hat, rufen wir das übergeordnete Element auf, um die Arbeitsbereichsgröße abzurufen. | |
getSvgGroup() | Gibt die SVG-Gruppe für den Arbeitsbereich zurück. | |
getTheme() | Rufen Sie das Arbeitsbereich-Designobjekt ab. | |
getToolbox() | Getter für die mit diesem Arbeitsbereich verknüpfte Toolbox, sofern vorhanden. | |
getToolboxCategoryCallback(key) | Ruft die Callback-Funktion für einen bestimmten Schlüssel ab, um benutzerdefinierte Toolbox-Kategorien in diesem Arbeitsbereich auszufüllen. | |
getTopBlocks(ordered) | Findet die Blöcke auf oberster Ebene und gibt sie zurück. Blöcke werden optional nach Position sortiert. von oben nach unten (mit leichter LTR- oder RTL-Verzerrung) | |
getTopBoundedElements() | Findet die begrenzten Elemente der obersten Ebene und gibt sie zurück. | |
getWidth() | Gibt den horizontalen Versatz des Arbeitsbereichs zurück Vorgesehen für LTR/RTL-Kompatibilität in XML. | |
hideChaff(onlyClosePopups) | Kurzinfos, Kontextmenüs, Drop-down-Auswahlen usw. schließen. | |
hideComponents(onlyClosePopups) | Alle automatisch ausblendbaren Komponenten wie Flyout, Mülleimer und alle vom Nutzer registrierten Komponenten ausblenden | |
highlightBlock(id, opt_state) | Markieren Sie einen Block im Arbeitsbereich oder heben Sie die Markierung auf. Die Blockhervorhebung wird häufig verwendet, um derzeit ausgeführte Blöcke visuell zu markieren. | |
isDraggable() | Kann dieser Arbeitsbereich ziehbar sein? | |
isDragging() | Zieht die nutzende Person derzeit einen Block weg oder scrollt sie im Flyout- bzw. Arbeitsbereich? | |
isMovable() | Ist dieser Arbeitsbereich beweglich? Das bedeutet, dass der Nutzer die x-y-Koordinaten des Arbeitsbereichs über die Eingabe neu positionieren kann. Dies kann durch Bildlaufleisten, Scrollrad, Ziehen oder das Zoomen mit dem Mausrad oder Pinch (den Zoom, der auf die Mausposition zentriert ist) erfolgen. Dies beinhaltet nicht das Zoomen mit den Zoomsteuerelementen, da die x-y-Koordinaten programmatisch festgelegt werden. |
|
isMovableHorizontally() | Ist dieser Arbeitsbereich horizontal beweglich? | |
isMovableVertically() | Ist dieser Arbeitsbereich vertikal beweglich? | |
isVisible() | Getter für isVisible | |
markFocused() | Kennzeichnen Sie diesen Arbeitsbereich als aktuell fokussierten Hauptarbeitsbereich. | |
moveDrag(e) | Ziehen Sie ein Objekt in diesem Arbeitsbereich. | |
newBlock(prototypeName, opt_id) | Rufen Sie einen neu erstellten Block ab. | |
newComment(id) | Einen neu erstellten Kommentar abrufen. | |
recordDragTargets() | Erstellen Sie eine Liste aller Löschbereiche für diesen Arbeitsbereich. | |
refreshTheme() | Alle Blöcke im Arbeitsbereich werden nach einem Update des Designs aktualisiert. | |
registerButtonCallback(key, func) | Registriert eine einem bestimmten Schlüssel zugeordnete Callback-Funktion für Klicks auf Schaltflächen und Labels im Flyout. Beispielsweise sollte einer in der XML-Datei angegebenen Schaltfläche ein Aufruf von registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction) zugeordnet werden. | |
registerToolboxCategoryCallback(key, func) | Registriert eine Callback-Funktion, die mit einem bestimmten Schlüssel verknüpft ist, um benutzerdefinierte Toolbox-Kategorien in diesem Arbeitsbereich auszufüllen. Sehen Sie sich die Variablen und Prozedurkategorien als Beispiel an. | |
removeButtonCallback(key) | Entfernen Sie einen Callback für einen Klick auf eine Schaltfläche im Flyout. | |
removeToolboxCategoryCallback(key) | Entfernen Sie einen Callback für einen Klick auf den Namen einer benutzerdefinierten Kategorie in der Toolbox. | |
removeTopBlock(block) | Entfernt einen Block aus der Liste der obersten Blöcke. | |
removeTopBoundedElement(element) | Entfernt ein begrenztes Element aus der Liste der oben begrenzten Elemente. | |
removeTopComment(comment) | Entfernt einen Kommentar aus der Liste der Top-Kommentare. | |
renameVariableById(id, newName) | Sie können eine Variable umbenennen, indem Sie ihren Namen in der Variablenzuordnung aktualisieren. Aktualisieren Sie das Flyout-Menü, um die umbenannte Variable sofort anzuzeigen. | |
render() | Alle Blöcke im Arbeitsbereich rendern. | |
resize() | Größe und Position des gesamten Chrome-Browsers (Toolbox, Papierkorb, Bildlaufleisten usw.) ändern Diese Methode sollte aufgerufen werden, wenn sich etwas ändert, das eine Neuberechnung der Abmessungen und Positionen des Papierkorbs, des Zooms, der Toolbox usw. erfordert (z.B. bei der Größenänderung des Fensters). | |
scrollCenter() | Arbeitsbereich zentrieren. | |
setResizeHandlerWrapper(handler) | Speichern Sie die Handler-Daten zur Größenanpassung, damit wir sie später löschen können. | |
setResizesEnabled(enabled) | Legen Sie fest, ob die Größenanpassung für diesen Arbeitsbereich aktiviert ist. Wenn diese Option aktiviert ist, wird die Größe des Arbeitsbereichs bei Bedarf angepasst. Wenn diese Option deaktiviert ist, wird die Größe des Arbeitsbereichs erst dann geändert, wenn Sie ihn wieder aktivieren. Verwenden Sie diese Option, um die Größenanpassung während eines Batchvorgangs zu vermeiden und so die Leistung zu steigern. | |
setScale(newScale) | Legen Sie den Zoomfaktor des Arbeitsbereichs fest. | |
setTheme(theme) | Legen Sie das Designobjekt für den Arbeitsbereich fest. Wenn kein Design übergeben wird, wird standardmäßig das Design Classic verwendet. |
|
setVisible(isVisible) | Schaltet die Sichtbarkeit des Arbeitsbereichs ein oder aus. Derzeit nur für den Hauptarbeitsbereich vorgesehen. | |
startDrag(e, xy) | Starten Sie das Ziehen eines Objekts in diesem Arbeitsbereich. | |
translate(x; y) | Übersetzen Sie diesen Arbeitsbereich in neue Koordinaten. | |
updateInverseScreenCTM() | Kennzeichnen Sie den Umkehrbildschirm des Bildschirms als „schmutzig“. | |
updateToolbox(toolboxDef) | Ändern Sie die Blockstruktur in der vorhandenen Toolbox. | |
zoom(x; y; Wert) | Zoomt den Arbeitsbereich relativ zu bzw. in der Mitte der angegebenen Koordinate (x, y) heran oder heraus. | |
zoomCenter(type) | Zoomen der in der Mitte der Ansicht zentrierten Blöcke durch Heran- oder Herauszoomen. | |
zoomToFit() | Zoomen Sie die Blöcke nach Möglichkeit so, dass sie in den Arbeitsbereich passen. |