blockly > BlockSvg

BlockSvg-Klasse

Klasse für die SVG-Darstellung eines Blocks. Wird normalerweise nicht direkt aufgerufen. Verwenden Sie stattdessen workspace.newBlock().

Unterschrift:

export declare class BlockSvg extends Block implements IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode 

Erweitert: Block

Implementiert:IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode

Konstruktoren

Konstruktor Modifikatoren Beschreibung
(constructor)(workspace, prototypeName, opt_id) Erstellt eine neue Instanz der Klasse BlockSvg.

Attribute

Attribut Modifikatoren Typ Beschreibung
COLLAPSED_WARNING_ID

static

readonly

(nicht deklariert) ID für die Warnung „Zusammengefasste Warnungen“. Ermöglicht es uns, die Warnung „Zusammengefasste Warnungen“ zu entfernen, ohne Warnungen zu entfernen, die zum Block gehören.
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (Optional)
zerlegen? (p1: Workspace) => BlockSvg (Optional)
height Zahl Höhe dieses Blocks, ohne Berücksichtigung von Anweisungsblöcken darüber oder darunter. Die Höhe wird in Arbeitsbereichseinheiten angegeben.
INLINE

static

readonly

(nicht deklariert) Konstante zum Identifizieren von Zeilen, die inline gerendert werden sollen. Nicht mit Blockly.inputTypes kollidieren.
Mutator MutatorIcon | null Das Mutator-Symbol des Blocks (falls vorhanden).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (nicht deklariert) Ist dieser Block ein BlockSVG?
saveConnections? (rootBlock: BlockSvg) => void

(Optional) Eine optionale Methode, mit der ein Datensatz der mit diesem Block verbundenen Blöcke gespeichert wird, damit sie später wiederhergestellt werden können, nachdem dieser Block neu zusammengesetzt (neu konfiguriert) wurde. Normalerweise werden die verbundenen Blöcke in Eigenschaften für Blöcke im Mutator-Flyout aufgezeichnet, sodass die entsprechenden verbundenen Blöcke in diesem Block automatisch neu angeordnet werden, nachdem dieser Block neu zusammengesetzt wurde.

Damit die gespeicherten Verbindungsinformationen auf dem neuesten Stand bleiben, sorgt MutatorIcon dafür, dass ein Event-Listener diese Methode aufruft, wenn das Mutator-Flyout geöffnet ist und eine Änderung im Arbeitsbereich dieses Blocks erfolgt.

style BlockStyle
width Zahl Breite dieses Blocks, einschließlich aller verbundenen Wertblöcke. Die Breite wird in Arbeitsbereichseinheiten angegeben.
Arbeitsbereich WorkspaceSvg

Methoden

Methode Modifikatoren Beschreibung
addClass(className) Fügen Sie der SVG-Gruppe dieses Blocks eine CSS-Klasse hinzu.
addIcon(icon)
addSelect() Fügt dem Block den visuellen „Auswählen“-Effekt hinzu, wählt ihn aber nicht tatsächlich aus und löst kein Ereignis aus.
appendInput(input)
bringToFront(blockOnly) Verschiebt diesen Block an den Anfang des sichtbaren Arbeitsbereichs. -Tags berücksichtigen den Z-Index nicht. SVG rendert sie daher in der Reihenfolge, in der sie im DOM stehen. Wenn Sie diesen Block zuerst in der der Blockgruppe platzieren, wird er über allen anderen Blöcken gerendert. Diese Methode sollte nur sparsam verwendet werden, da sie teuer ist, weil die DOM-Knoten neu angeordnet werden.
bumpNeighbours()

Verschiebt nicht verbundene Blöcke.

Zwei Blöcke, die nicht miteinander verbunden sind, sollten nicht zufällig auf dem Bildschirm ausgerichtet sein, da dies für Endnutzer verwirrend ist.

calculateContextMenuLocation(e) protected Gibt den Ort an, an dem das Kontextmenü für diesen Block angezeigt werden soll. Verwenden Sie den Standort eines Klicks, wenn auf den Block geklickt wurde, oder einen Standort, der auf den Feldern des Blocks basiert.
canBeFocused() Siehe IFocusableNode.canBeFocused.
checkAndDelete() Lösche einen Block und blende dabei die Füllwörter aus. Der Block wird nicht gelöscht, wenn er sich in einem Flyout befindet. Diese Aktion wird über das Kontextmenü und Tastenkürzel aufgerufen und löscht die Datei vollständig. Wenn Sie einen Block aus dem Arbeitsbereich entfernen und keine Flyout-Prüfungen durchführen, Ereignisse gruppieren oder Störfaktoren ausblenden müssen, verwenden Sie block.dispose() direkt.
dispose(healStack, animate) Diesen Block entsorgen.
disposeInternal() Entfernt diesen Block, ohne die vom oberen Block erforderlichen Aktionen auszuführen. Löst z.B. UI-Effekte aus oder entfernt Knoten.
drag(newLoc, e) Zieht den Block an die angegebene Position.
endDrag(e) Beendet das Ziehen des Blocks.
generateContextMenu(e) protected Generiere das Kontextmenü für diesen Block.
getBoundingRectangle() Gibt die Koordinaten eines Begrenzungsrahmens zurück, der die Abmessungen dieses Blocks und aller darunter gestapelten Blöcke beschreibt. Koordinatensystem: Arbeitsbereichskoordinaten.
getBoundingRectangleWithoutChildren() Gibt die Koordinaten eines Begrenzungsrahmens zurück, der die Abmessungen dieses Blocks allein beschreibt. Koordinatensystem: Arbeitsbereichskoordinaten.
getChildren(ordered) Alle Blöcke finden, die direkt in diesem Block verschachtelt sind. Umfasst Wert- und Anweisungseingaben sowie alle nachfolgenden Anweisungen. Schließt alle Verbindungen auf einem Ausgabetab oder alle vorherigen Anweisungen aus. Blöcke werden optional nach Position sortiert, von oben nach unten.
getColour() Die Farbe eines Blocks abrufen.
getColourSecondary() Gibt die sekundäre Farbe eines Blocks zurück.
getColourTertiary() Ruft die tertiäre Farbe eines Blocks ab.
getFocusableElement() Siehe IFocusableNode.getFocusableElement.
getFocusableTree() Weitere Informationen finden Sie unter IFocusableNode.getFocusableTree.
getNextBlock() Gibt den nächsten Anweisungsblock zurück, der direkt mit diesem Block verbunden ist.
getPreviousBlock() Gibt den Block zurück, der mit der vorherigen Verbindung verbunden ist.
getRelativeToSurfaceXY() Gibt die Koordinaten der oberen linken Ecke dieses Blocks relativ zum Ursprung (0,0) der Zeichenfläche in Arbeitsbereichseinheiten zurück. Wenn sich der Block im Arbeitsbereich befindet, ist (0, 0) der Ursprung des Koordinatensystems des Arbeitsbereichs. Das ändert sich auch nicht mit der Größe des Arbeitsbereichs.
getStyle() Gibt das BlockStyle-Objekt zurück, das zum Formatieren dieses Blocks verwendet wird.
getSvgRoot() Gibt den Stammknoten des SVG zurück oder null, wenn keiner vorhanden ist.
initSvg() Erstellen und initialisieren Sie die SVG-Darstellung des Blocks. Kann mehrmals aufgerufen werden.
isCopyable() Gibt zurück, ob dieser Block kopiert werden kann.
isMovable() Gibt zurück, ob dieser Block verschiebbar ist.
jsonInit(json)
markDirty() Benachrichtigen Sie jeden Eingang in diesem Block, um seine Felder als „dirty“ zu markieren. Ein „dirty field“ ist ein Feld, das neu gerendert werden muss.
moveBy(dx, dy, reason) Verschiebt einen Block um einen relativen Offset.
moveNumberedInputBefore(inputIndex, refIndex) Verschieben Sie eine nummerierte Eingabe an eine andere Stelle in diesem Block.
moveTo(xy, reason) Verschieben Sie einen Block an eine Position.
onNodeBlur() Weitere Informationen finden Sie unter IFocusableNode.onNodeBlur.
onNodeFocus() Weitere Informationen finden Sie unter IFocusableNode.onNodeFocus.
removeClass(className) Entfernen Sie eine CSS-Klasse aus der SVG-Gruppe dieses Blocks.
removeIcon(type)
removeInput(name, opt_quiet) Entfernen Sie eine Eingabe aus diesem Block.
removeSelect() Entfernt den visuellen „Auswahl“-Effekt aus dem Block, hebt die Auswahl aber nicht auf und löst kein Ereignis aus.
render() Ein Block wird sofort basierend auf seinem Inhalt und seinen Einstellungen neu angeordnet und umgebrochen.
revertDrag() Der Block wird an die Position zurückgesetzt, an der er sich zu Beginn des Ziehens befand.
scheduleSnapAndBump() Rasten Sie am Raster ein und verschieben Sie benachbarte Blöcke am Ende des nächsten Rendervorgangs.
select() Wählt diesen Block aus. Hebt den Block visuell hervor.
setCollapsed(collapsed) Legt fest, ob der Block minimiert ist.
setColour(colour) Farbe eines Blocks ändern
setDeletable(deletable) Fügen Sie die Klasse „blocklyNotDeletable“ hinzu, wenn der Block nicht gelöscht werden kann, oder entfernen Sie die Klasse, wenn der Block gelöscht werden kann.
setDisabledReason(disabled, reason) Sie können einen Grund hinzufügen oder entfernen, warum der Block möglicherweise deaktiviert ist. Wenn ein Block aus irgendeinem Grund deaktiviert ist, wird der Block selbst als deaktiviert betrachtet. Eine Blockierung kann aus mehreren unabhängigen Gründen gleichzeitig deaktiviert werden, z. B. wenn der Nutzer sie manuell deaktiviert oder der Block ungültig ist.
setDragStrategy(dragStrategy) Legt die Drag-Strategie für diesen Block fest.
setEditable(editable) Legen Sie fest, ob dieser Block bearbeitet werden kann oder nicht.
setHighlighted(highlighted) Legen Sie fest, ob der Block hervorgehoben werden soll. Die Blockhervorhebung wird häufig verwendet, um aktuell ausgeführte Blöcke visuell zu kennzeichnen.
setInputsInline(newBoolean) Legen Sie fest, ob die Werteingaben horizontal oder vertikal angeordnet werden.
setMovable(movable) Legen Sie fest, ob dieser Block verschiebbar ist oder nicht.
setMutator(mutator) Geben Sie diesem Block ein Mutator-Dialogfeld.
setNextStatement(newBoolean, opt_check) Legen Sie fest, ob ein weiterer Block an die Unterseite dieses Blocks angehängt werden kann.
setOutput(newBoolean, opt_check) Legen Sie fest, ob dieser Block einen Wert zurückgibt.
setPreviousStatement(newBoolean, opt_check) Legen Sie fest, ob dieser Block an das Ende eines anderen Blocks angehängt werden kann.
setStyle(blockStyleName) Legen Sie die Stil- und Farbwerte eines Blocks fest.
setWarningText(text, id) Legt den Warnungstext für diesen Block fest.
snapToGrid() Rasten Sie diesen Block am nächsten Rasterpunkt ein.
startDrag(e) Startet einen Drag-Vorgang für den Block.
toCopyData() Einen Block zum Kopieren codieren.
toFlyoutInfo() Gibt eine Darstellung dieses Blocks zurück, die in einem Flyout angezeigt werden kann.
translate(x, y) Transformiert einen Block, indem die Translation für das Attribut „transform“ des SVG-Elements des Blocks festgelegt wird.
unselect() Hebt die Auswahl dieses Blocks auf. Die visuelle Hervorhebung des Blocks wird entfernt.