Classe WorkspaceSvg
Classe d'un espace de travail. Il s'agit d'une zone à l'écran où vous pouvez éventuellement glisser-déposer une corbeille, des barres de défilement ou des bulles.
Signature :
export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg
Extension:Workspace
Implémentation:IASTNodeLocationSvg
Constructeurs
Constructeur | Modificateurs | Description |
---|---|---|
(constructeur)(options) | Construit une nouvelle instance de la classe WorkspaceSvg . |
Propriétés
Propriété | Modificateurs | Type | Description |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextMenuOption[], e: Événement) => void) | nul | Les développeurs peuvent définir cette fonction pour ajouter des options de menu personnalisées au menu contextuel de l'espace de travail ou modifier l'ensemble d'options de menu créé par l'espace de travail. | |
keyboardAccessibilityMode | booléen | "True" si le mode d'accessibilité du clavier est activé, "false" dans le cas contraire. | |
rendu | booléen | État de rendu d'un espace de travail SVG. Renvoie false pour les espaces de travail sans interface graphique et "true" pour les instances de WorkspaceSvg . |
|
Échelle | Nombre | Échelle actuelle. | |
scrollbar | ScrollbarPair | nul | Barres de défilement de cet espace de travail, le cas échéant. | |
scrollX | Nombre | Décalage de défilement horizontal actuel en pixels, par rapport à l'origine de l'espace de travail. Il est utile de penser à une vue et à un canevas qui se déplace en dessous de cette vue. À mesure que le canevas se déplace vers la droite, cette valeur devient plus positive, et la vue affiche désormais "seeing". le côté gauche du canevas. À mesure que le canevas se déplace vers la gauche, cette valeur devient plus négative, et la vue affiche désormais "seeing". le côté droit du canevas. Ce qui est déroutant à propos de cette valeur, c'est qu'elle ne l'est pas, et qu'elle ne doit pas inclure le décalage absoluteLeft. En effet, elle est utilisée pour calculer la valeur "viewLeft". Le paramètre viewLeft est relatif à l'origine de l'espace de travail (bien qu'il soit exprimé en pixels). L'origine de l'espace de travail se trouve dans l'angle supérieur gauche de celui-ci (au moins lorsqu'il est activé). Elle est décalée du coin supérieur gauche de blocklyDiv afin de ne pas se trouver sous la boîte à outils. Lorsque l'espace de travail est activé, viewLeft et l'origine de l'espace de travail se trouvent au même emplacement X. À mesure que le canevas glisse vers la droite en dessous de la vue, cette valeur ("scrollX") devient plus positive, et la valeur "viewLeft" devient plus négative par rapport à l'origine de l'espace de travail (imaginez l'origine de l'espace de travail sous la forme d'un point sur le canevas glissant vers la droite à mesure que le canevas se déplace). Donc, si la ligne "scrollX" incluait la propriété absoluteLeft, cela aurait pour effet de "unshift" l'origine de l'espace de travail. Cela signifie que viewLeft représenterait le bord gauche de blocklyDiv plutôt que le bord gauche de l'espace de travail. |
|
scrollY | Nombre | Décalage actuel du défilement vertical, en pixels, par rapport à l'origine de l'espace de travail. Il est utile de penser à une vue et à un canevas qui se déplace en dessous de cette vue. À mesure que le canevas descend vers le bas, cette valeur devient plus positive, et la vue affiche désormais "seeing". la partie supérieure du canevas. À mesure que le canevas se déplace vers le haut, cette valeur devient plus négative, et la vue affiche "voir". la partie inférieure du canevas. Cette valeur prête à confusion. En effet, elle ne doit pas inclure le décalage absoluteTop. En effet, elle est utilisée pour calculer la valeur "viewTop". La valeur "viewTop" est relative à l'origine de l'espace de travail (bien qu'elle soit exprimée en pixels). L'origine de l'espace de travail se trouve dans l'angle supérieur gauche de celui-ci (au moins lorsqu'il est activé). Elle est décalée du coin supérieur gauche de blocklyDiv afin de ne pas se trouver sous la boîte à outils. Lorsque l'espace de travail est activé, "viewTop" et l'origine de l'espace de travail se trouvent au même emplacement Y. À mesure que le canevas glisse vers le bas, cette valeur (scrollY) devient plus positive, et viewTop devient plus négatif par rapport à l'origine de l'espace de travail (image dans l'origine de l'espace de travail sous la forme d'un point sur le canevas qui glisse vers le bas à mesure que le canevas se déplace). Ainsi, si la fonction "scrollY" incluait "absoluteTop", cela "détacherait" la fonction l'origine de l'espace de travail. Cela signifie que viewTop représenterait le bord supérieur de blocklyDiv, plutôt que le bord supérieur de l'espace de travail. |
|
startScrollX | Nombre | Valeur de défilement horizontal en pixels au début du défilement. | |
startScrollY | Nombre | Valeur de défilement vertical en pixels lors du début du défilement. | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
corbeille | Corbeille | nul | La corbeille de l'espace de travail (le cas échéant) | |
zoomControls_ | ZoomControls | nul |
Méthodes
Méthode | Modificateurs | Description |
---|---|---|
addTopBlock(block) | Ajoute un volume à la liste des volumes supérieurs. | |
addTopBoundedElement(element) | Ajoute un élément limité à la liste des éléments limités en haut. | |
addTopComment(comment) | Ajoute un commentaire à la liste des commentaires les plus populaires. | |
centerOnBlock(id, blockOnly) | Faites défiler l'espace de travail pour le centrer sur le bloc donné. Si d'autres blocs sont empilés en dessous du bloc, l'espace de travail est centré sur la pile, sauf si la valeur "blockOnly" est définie sur "true". | |
cleanUp() | Nettoyez l'espace de travail en ordonnant tous les blocs dans une colonne. | |
clear() | Supprimez tous les blocs dans l'espace de travail, avec une optimisation pour éviter tout redimensionnement. | |
createDom(opt_backgroundClass, injectionDiv) | Créez les éléments DOM de l'espace de travail. | |
createVariable(name, opt_type, opt_id) | Créez une variable portant le nom donné. Mettez à jour le menu déroulant pour afficher immédiatement la nouvelle variable. | |
deleteVariableById(id) | Supprimez une variable à l'aide de l'ID transmis. Mettez à jour le menu déroulant pour indiquer immédiatement que la variable a été supprimée. | |
dispose() | Supprimer cet espace de travail. Dissociez ces éléments de tous les éléments DOM pour éviter les fuites de mémoire. | |
getAllBlocks(ordered) | Recherchez tous les blocs dans l'espace de travail. Les blocs peuvent éventuellement être triés par position. de haut en bas (avec un léger biais de gauche à droite ou de droite à gauche). | |
getAudioManager() | Téléchargez le gestionnaire audio pour cet espace de travail. | |
getBlockById(id) | Recherchez le bloc correspondant à l'ID indiqué dans cet espace de travail. | |
getBlocksBoundingBox() | Calculez le cadre de délimitation des volumes dans l'espace de travail. Système de coordonnées: coordonnées de l'espace de travail | |
getBubbleCanvas() | Obtenez l'élément SVG qui forme la surface de la bulle. | |
getButtonCallback(key) | Obtenez la fonction de rappel associée à une touche donnée pour les clics sur les boutons et les étiquettes du menu déroulant. | |
getCanvas() | Récupérez l'élément SVG qui constitue la surface de dessin. | |
getComponentManager() | Récupère le gestionnaire de composants pour cet espace de travail. | |
getCursor() | Curseur pour cet espace de travail. | |
getDragTarget(e) | Renvoie la cible de déplacement sur laquelle l'événement de pointeur se trouve. | |
getFlyout(opt_own) | Getter du menu déroulant associé à cet espace de travail. Ce menu déroulant peut appartenir soit à la boîte à outils, soit à l'espace de travail, selon la configuration de la boîte à outils. En l'absence de menu déroulant, la valeur sera nulle. | |
getGrid() | Obtenez l'objet Grille pour cet espace de travail, ou la valeur "null" s'il n'y en a pas. | |
getInverseScreenCTM() | Getter de l'écran inversé de CTM. | |
getLayerManager() | ||
getMarkerManager() | Téléchargez le gestionnaire de repères pour cet espace de travail. | |
getMetricsManager() | Récupère le gestionnaire de métriques pour cet espace de travail. | |
getParentSvg() | Obtenez l'élément SVG contenant cet espace de travail. Remarque: Nous partons du principe que cette méthode n'est appelée qu'après l'injection de l'espace de travail dans le DOM. | |
getRenderer() | Associez le moteur de rendu de blocs à cet espace de travail. | |
getRootWorkspace() | ||
getScale() | Permet d'obtenir le facteur de zoom de l'espace de travail. Si l'espace de travail a un parent, nous l'appelons pour obtenir l'échelle de l'espace de travail. | |
getSvgGroup() | Renvoie le groupe SVG de l'espace de travail. | |
getTheme() | Permet d'obtenir l'objet du thème de l'espace de travail. | |
getToolbox() | Getter de la boîte à outils associée à cet espace de travail, le cas échéant. | |
getToolboxCategoryCallback(key) | Récupérez la fonction de rappel associée à une clé donnée pour renseigner les catégories de boîte à outils personnalisées dans cet espace de travail. | |
getTopBlocks(ordered) | Recherche les blocs de premier niveau et les renvoie. Les blocs peuvent éventuellement être triés par position. de haut en bas (avec un léger biais de gauche à droite ou de droite à gauche). | |
getTopBoundedElements() | Recherche les éléments limités de niveau supérieur et les renvoie. | |
getWidth() | Affiche le décalage horizontal de l'espace de travail. Destiné à la compatibilité LTR/RTL en XML. | |
hideChaff(onlyClosePopups) | Fermer les info-bulles, les menus contextuels, les sélections de menus déroulants, etc. | |
hideComponents(onlyClosePopups) | Masquez tous les composants pouvant être masqués automatiquement (par exemple, le menu déroulant, la corbeille et tous les composants enregistrés par l'utilisateur). | |
highlightBlock(id, opt_state) | Mettez un bloc en surbrillance ou supprimez-le dans l'espace de travail. La mise en surbrillance des blocs est souvent utilisée pour marquer visuellement les blocs en cours d'exécution. | |
isDraggable() | Cet espace de travail est-il déplaçable ? | |
isDragging() | L'utilisateur fait-il actuellement glisser un bloc ou fait-il défiler le menu déroulant/l'espace de travail ? | |
isMovable() | Cet espace de travail peut-il être déplacé ? Cela signifie que l'utilisateur peut repositionner les coordonnées XY de l'espace de travail par le biais de la saisie. Cela peut se faire en utilisant les barres de défilement, la molette, le déplacement ou le zoom avec la molette ou le pincement (puisque le zoom est centré sur la position de la souris). Cela n'inclut pas le zoom avec les commandes de zoom, puisque les coordonnées XY sont déterminées par programmation. |
|
isMovableHorizontally() | Cet espace de travail peut-il être déplacé horizontalement ? | |
isMovableVertically() | Cet espace de travail peut-il être déplacé verticalement ? | |
isVisible() | Getter de isVisible | |
markFocused() | Marquez cet espace de travail comme l'espace de travail principal actuellement sélectionné. | |
moveDrag(e) | Suivre le déplacement d'un objet dans cet espace de travail. | |
newBlock(prototypeName, opt_id) | Obtenez un nouveau bloc. | |
newComment(id) | Récupérez un nouveau commentaire. | |
recordDragTargets() | Dressez la liste de toutes les zones de suppression de cet espace de travail. | |
refreshTheme() | Actualisez tous les blocs de l'espace de travail après une modification du thème. | |
registerButtonCallback(key, func) | Enregistre une fonction de rappel associée à une touche donnée pour les clics sur les boutons et les étiquettes du menu déroulant. Par exemple, un bouton spécifié par le fichier XML doit être mis en correspondance avec un appel à RegisterButtonCallback("CREATE_VARIABLE", yourCallbackFunction). | |
registerToolboxCategoryCallback(key, func) | Enregistre une fonction de rappel associée à une clé donnée pour renseigner les catégories de la boîte à outils personnalisées dans cet espace de travail. Consultez les catégories de variable et de procédure à titre d'exemple. | |
removeButtonCallback(key) | Supprimez un rappel associé à un clic sur un bouton dans le menu déroulant. | |
removeToolboxCategoryCallback(key) | Supprimez un rappel associé à un clic sur le nom d'une catégorie personnalisée dans la boîte à outils. | |
removeTopBlock(block) | Supprime un volume de la liste des volumes supérieurs. | |
removeTopBoundedElement(element) | Supprime un élément limité de la liste des éléments limités supérieurs. | |
removeTopComment(comment) | Supprime un commentaire de la liste des commentaires les plus populaires. | |
renameVariableById(id, newName) | Pour renommer une variable, mettez à jour son nom dans le mappage de variables. Mettez à jour le menu déroulant pour afficher immédiatement la variable renommée. | |
render() | Affichez tous les blocs dans l'espace de travail. | |
resize() | Redimensionner et repositionner tout le chrome de l'espace de travail (boîte à outils, corbeille, barres de défilement, etc.) Cette méthode doit être appelée lorsqu'un élément change et nécessite de recalculer les dimensions et les positions de la corbeille, du zoom, de la boîte à outils, etc. (redimensionnement de la fenêtre, par exemple). | |
scrollCenter() | Centrez l'espace de travail. | |
setResizeHandlerWrapper(handler) | Enregistrer les données du gestionnaire de redimensionnement afin de pouvoir les supprimer ultérieurement dans "dispose". | |
setResizesEnabled(enabled) | Indiquez si le redimensionnement est activé pour cet espace de travail. Si cette option est activée, l'espace de travail sera redimensionné si nécessaire. Si cette option est désactivée, Workspace ne sera pas redimensionnée tant qu'elle ne sera pas réactivée. Permet d'éviter le redimensionnement lors d'une opération par lot pour des raisons de performances. | |
setScale(newScale) | Définissez le facteur de zoom de l'espace de travail. | |
setTheme(theme) | Définissez l'objet du thème de l'espace de travail. Si aucun thème n'est transmis, le thème Classic est utilisé par défaut. |
|
setVisible(isVisible) | Active/Désactive la visibilité de l'espace de travail. Actuellement destiné à l'espace de travail principal uniquement. | |
startDrag(e, xy) | Commencez à suivre le déplacement d'un objet dans cet espace de travail. | |
translate(x, y) | Traduisez cet espace de travail en nouvelles coordonnées. | |
updateInverseScreenCTM() | Marquez l'écran inverse CTM comme sale. | |
updateToolbox(toolboxDef) | Modifier l'arborescence de blocs sur la boîte à outils existante | |
zoom(x, y, quantité) | Permet d'effectuer un zoom avant ou arrière sur l'espace de travail par rapport à la coordonnée (x, y) donnée ou par rapport à cette dernière. | |
zoomCenter(type) | Zoomer sur les blocs centrés au centre de la vue avec un zoom avant ou arrière | |
zoomToFit() | Si possible, zoomez sur les volumes pour les adapter à l'espace de travail. |