Corso WorkspaceSvg
per uno spazio di lavoro. Questa è un'area sullo schermo con cestino, barre di scorrimento, bolle e trascinamento facoltativi.
Firma:
export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg
Espande: Workspace
Implementa:IASTNodeLocationSvg
Costruttori
Costruttore | Modificatori | Descrizione |
---|---|---|
(costruttore)(opzioni) | Crea una nuova istanza della classe WorkspaceSvg |
Proprietà
Proprietà | Modificatori | Tipo | Descrizione |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextMenuOption[], e: Evento) => void) | null | Gli sviluppatori possono definire questa funzione per aggiungere opzioni di menu personalizzate al menu contestuale dell'area di lavoro o modificare l'insieme di opzioni di menu creato dall'area di lavoro. | |
keyboardAccessibilityMode | booleano | True se la modalità di accessibilità della tastiera è attiva, false negli altri casi. | |
renderizzati | booleano | Lo stato del rendering di un'area di lavoro SVG. Restituisce false per gli spazi di lavoro headless e true per le istanze di WorkspaceSvg . |
|
scalabilità | numero | Scala attuale. | |
barra di scorrimento | ScrollbarPair | null | Le barre di scorrimento di quest'area di lavoro, se presenti. | |
scrollX | numero | Offset a scorrimento orizzontale corrente in unità pixel, rispetto all'origine dell'area di lavoro. È utile pensare a una vista e a un'area di lavoro che si muove al di sotto di tale vista. Man mano che la tela si sposta verso destra, questo valore diventa più positivo e la vista è ora "vista" sul lato sinistro del canvas. Man mano che la tela si sposta verso sinistra, questo valore diventa più negativo e la vista è ora "vista" sul lato destro del canvas. L'aspetto poco chiaro di questo valore è che non include e non deve includere l'offset AbsoluteLeft. Questo perché viene utilizzato per calcolare il valore viewLeft. Il valore viewLeft è relativo all'origine dell'area di lavoro (sebbene in unità di pixel). L'origine dello spazio di lavoro è l'angolo in alto a sinistra dello spazio di lavoro (almeno quando è attivato). Viene spostato dall'angolo superiore sinistro di blocklyDiv in modo da non essere sotto la casella degli strumenti. Quando lo spazio di lavoro è attivato, viewLeft e origine dello spazio di lavoro si trovano nella stessa posizione X. Man mano che il canvas scorre verso destra sotto la vista, questo valore (scrollX) diventa più positivo e la vista a sinistra diventa più negativa rispetto all'origine dello spazio di lavoro (immagina l'origine dello spazio di lavoro come un punto sul canvas che scorre verso destra mentre il canvas si sposta). Quindi, se lo scorrimentoX dovesse includere il valore AbsoluteLeft, questo sarebbe in un modo "unshift" l'origine dell'area di lavoro. Ciò significa che viewLeft rappresenterà il bordo sinistro di blocklyDiv, anziché il bordo sinistro dello spazio di lavoro. |
|
scrollY | numero | Offset dello scorrimento verticale corrente in unità pixel, rispetto all'origine dell'area di lavoro. È utile pensare a una vista e a un'area di lavoro che si muove al di sotto di tale vista. Man mano che la tela si sposta verso il basso, questo valore diventa più positivo e la vista è ora "vista" nella parte superiore del canvas. Man mano che la tela si sposta verso l'alto, questo valore diventa più negativo e la vista "vede" nella parte inferiore del canvas. L'aspetto poco chiaro di questo valore è che non lo contiene e non deve includere l'offset AbsoluteTop. Ciò è dovuto al fatto che viene utilizzato per calcolare il valore viewTop. Il valore viewTop è relativo all'origine dell'area di lavoro (sebbene in unità di pixel). L'origine dello spazio di lavoro è l'angolo in alto a sinistra dello spazio di lavoro (almeno quando è attivato). Viene spostato dall'angolo superiore sinistro di blocklyDiv in modo da non essere sotto la casella degli strumenti. Quando l'area di lavoro è abilitata, viewTop e origine dell'area di lavoro si trovano nella stessa posizione Y. Quando il canvas scorre verso il basso, questo valore (scrollY) diventa più positivo e viewTop diventa più negativo rispetto all'origine dello spazio di lavoro (immagine nell'origine dell'area di lavoro come un punto sul canvas che scorre verso il basso mentre il canvas si sposta). Quindi, se la funzione di scorrimentoY includesse la parte superiore assoluta, questa sarebbe in modo da "ripristinare lo spostamento" l'origine dell'area di lavoro. Ciò significa che viewTop rappresenta il bordo superiore di blocklyDiv, anziché il bordo superiore dell'area di lavoro. |
|
startScrollX | numero | Valore di scorrimento orizzontale avviato in unità di pixel durante lo scorrimento. | |
startScrollY | numero | Valore di scorrimento verticale durante lo scorrimento iniziato in unità di pixel. | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
cestino | Cestino | null | Il cestino dello spazio di lavoro (se presente). | |
zoomControls_ | ZoomControls | null |
Metodi
Metodo | Modificatori | Descrizione |
---|---|---|
addTopBlock(block) | Aggiunge un blocco all'elenco dei blocchi principali. | |
addTopBoundedElement(element) | Aggiunge un elemento limitato all'elenco degli elementi con limite superiore. | |
addTopComment(comment) | Aggiunge un commento all'elenco dei commenti più popolari. | |
centerOnBlock(id, blockOnly) | Fai scorrere lo spazio di lavoro per centrare il blocco in questione. Se al blocco sono presenti altri blocchi impilati sotto il blocco, l'area di lavoro sarà centrata sulla pila, a meno che blockOnly sia true. | |
cleanUp() | Pulisci l'area di lavoro ordinando tutti i blocchi in una colonna. | |
clear() | Smaltimento di tutti i blocchi nell'area di lavoro, con un'ottimizzazione per impedire i ridimensionamenti. | |
createDom(opt_backgroundClass, injectionDiv) | Crea gli elementi DOM dell'area di lavoro. | |
createVariable(name, opt_type, opt_id) | Crea una nuova variabile con il nome specificato. Aggiorna il riquadro a scomparsa per mostrare immediatamente la nuova variabile. | |
deleteVariableById(id) | Elimina una variabile in base all'ID trasmesso. Aggiorna il riquadro a scomparsa per mostrare immediatamente che la variabile è stata eliminata. | |
dispose() | Elimina questo spazio di lavoro. Scollegati da tutti gli elementi DOM per evitare perdite di memoria. | |
getAllBlocks(ordered) | Trova tutti i blocchi nell'area di lavoro. I blocchi sono facoltativamente ordinati per posizione; dall'alto verso il basso (con un leggero bias LTR o RTL). | |
getAudioManager() | Scarica Gestione audio per questa area di lavoro. | |
getBlockById(id) | Trova il blocco in questa area di lavoro con l'ID specificato. | |
getBlocksBoundingBox() | Calcola il riquadro di delimitazione dei blocchi nell'area di lavoro. Sistema di coordinate: coordinate dell'area di lavoro. | |
getBubbleCanvas() | Recupera l'elemento SVG che forma la superficie a bolle. | |
getButtonCallback(key) | Recupera la funzione di callback associata a una determinata chiave per i clic su pulsanti ed etichette nel riquadro a scomparsa. | |
getCanvas() | Recupera l'elemento SVG che forma la superficie di disegno. | |
getComponentManager() | Ottiene il gestore dei componenti per questa area di lavoro. | |
getCursor() | Cursore per quest'area di lavoro. | |
getDragTarget(e) | Restituisce il target di trascinamento a cui si trova l'evento del puntatore. | |
getFlyout(opt_own) | Recupera per il riquadro a scomparsa associato a questa area di lavoro. Questo riquadro può essere di proprietà della casella degli strumenti o dell'area di lavoro, a seconda della configurazione degli strumenti. Sarà null se non è presente alcun riquadro a comparsa. | |
getGrid() | Visualizza l'oggetto griglia per questa area di lavoro o null se non ne esiste. | |
getInverseScreenCTM() | Getter per il CTM a schermo invertito. | |
getLayerManager() | ||
getMarkerManager() | Scarica Gestione indicatori per questa area di lavoro. | |
getMetricsManager() | Ottiene il gestore delle metriche per questa area di lavoro. | |
getParentSvg() | Recupera l'elemento SVG che contiene questa area di lavoro. Nota: presupponiamo che questa venga chiamata solo dopo che l'area di lavoro è stata inserita nel DOM. | |
getRenderer() | Allega il renderer a blocchi a quest'area di lavoro. | |
getRootWorkspace() | ||
getScale() | Visualizza il fattore di zoom dell'area di lavoro. Se l'area di lavoro ha un elemento padre, lo chiameremo per ottenere la scalabilità dell'area di lavoro. | |
getSvgGroup() | Restituisce il gruppo SVG per l'area di lavoro. | |
getTheme() | Recupera l'oggetto tema di Workspace. | |
getToolbox() | Getter per la casella degli strumenti associata a questa area di lavoro, se esistente. | |
getToolboxCategoryCallback(key) | Ottieni la funzione di callback associata a una determinata chiave per compilare le categorie di strumenti personalizzate in quest'area di lavoro. | |
getTopBlocks(ordered) | Trova i blocchi di primo livello e li restituisce. I blocchi sono facoltativamente ordinati per posizione; dall'alto verso il basso (con un leggero bias LTR o RTL). | |
getTopBoundedElements() | Trova gli elementi limitati di primo livello e li restituisce. | |
getWidth() | Restituisce l'offset orizzontale dell'area di lavoro. Destinato alla compatibilità LTR/RTL in XML. | |
hideChaff(onlyClosePopups) | Chiudi le descrizioni comando, i menu contestuali, le selezioni a discesa e così via. | |
hideComponents(onlyClosePopups) | Nascondi tutti i componenti che possono essere nascosti automaticamente (come il riquadro a scomparsa, il cestino e tutti i componenti registrati dall'utente). | |
highlightBlock(id, opt_state) | Evidenzia o rimuovi l'evidenziazione di un blocco nell'area di lavoro. L'evidenziazione dei blocchi viene spesso utilizzata per contrassegnare visivamente i blocchi attualmente in esecuzione. | |
isDraggable() | Quest'area di lavoro è trascinabile? | |
isDragging() | Al momento l'utente sta trascinando un blocco o scorrendo il riquadro a scomparsa/l'area di lavoro? | |
isMovable() | Questo spazio di lavoro è spostabile? Ciò significa che l'utente può riposizionare le coordinate X Y dell'area di lavoro tramite l'input. Ad esempio, puoi utilizzare le barre di scorrimento, la rotellina di scorrimento, il trascinamento o lo zoom con la rotellina di scorrimento o pizzicare (lo zoom è centrato sulla posizione del mouse). Non è incluso lo zoom con i controlli di zoom, poiché le coordinate X Y vengono stabilite in modo programmatico. |
|
isMovableHorizontally() | Questo spazio di lavoro è spostabile orizzontalmente? | |
isMovableVertically() | Questo spazio di lavoro è spostabile verticalmente? | |
isVisible() | Funzione getter per isVisibile | |
markFocused() | Contrassegna questa area di lavoro come area di lavoro principale attualmente in stato attivo. | |
moveDrag(e) | Monitora il trascinamento di un oggetto in quest'area di lavoro. | |
newBlock(prototypeName, opt_id) | Ottieni un blocco appena creato. | |
newComment(id) | Ottieni un commento appena creato. | |
recordDragTargets() | Crea un elenco di tutte le aree eliminate per questa area di lavoro. | |
refreshTheme() | Aggiorna tutti i blocchi nell'area di lavoro dopo l'aggiornamento di un tema. | |
registerButtonCallback(key, func) | Consente di registrare una funzione di callback associata a una determinata chiave per i clic su pulsanti ed etichette nel riquadro a scomparsa. Ad esempio, un pulsante specificato dall'XML deve corrispondere a una chiamata a registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction). | |
registerToolboxCategoryCallback(key, func) | Registra una funzione di callback associata a una determinata chiave per completare le categorie di strumenti personalizzate in quest'area di lavoro. Guarda le categorie di variabili e procedure come esempio. | |
removeButtonCallback(key) | Rimuovere un callback per un clic su un pulsante nel riquadro a scomparsa. | |
removeToolboxCategoryCallback(key) | Rimuovere un callback per un clic sul nome di una categoria personalizzata nella casella degli strumenti. | |
removeTopBlock(block) | Rimuove un blocco dall'elenco dei blocchi principali. | |
removeTopBoundedElement(element) | Rimuove un elemento limitato dall'elenco degli elementi con limite superiore. | |
removeTopComment(comment) | Rimuove un commento dall'elenco dei commenti più popolari. | |
renameVariableById(id, newName) | Rinomina una variabile aggiornandone il nome nella mappa delle variabili. Aggiorna il riquadro a comparsa per mostrare immediatamente la variabile rinominata. | |
render() | Esegui il rendering di tutti i blocchi nell'area di lavoro. | |
resize() | Ridimensiona e riposiziona tutti gli elementi di Chrome dello spazio di lavoro (strumenti, cestino, barre di scorrimento e così via) Dovrebbe essere richiamato quando qualcosa cambia che richiede il ricalcolo delle dimensioni e delle posizioni del cestino, dello zoom, degli strumenti e così via (ad esempio il ridimensionamento della finestra). | |
scrollCenter() | Centra l'area di lavoro. | |
setResizeHandlerWrapper(handler) | Salva i dati del gestore del ridimensionamento in modo da poterli eliminare in un secondo momento durante la dismissione. | |
setResizesEnabled(enabled) | Aggiorna se per questa area di lavoro sono abilitati i ridimensionamenti. Se questa opzione è abilitata, l'area di lavoro verrà ridimensionata quando opportuno. Se l'opzione è disattivata, l'area di lavoro non verrà ridimensionata finché non la riabilita. Utilizza questa opzione per evitare il ridimensionamento durante un'operazione batch, per migliorare le prestazioni. | |
setScale(newScale) | Imposta il fattore di zoom dell'area di lavoro. | |
setTheme(theme) | Imposta l'oggetto tema dell'area di lavoro. Se non viene trasmesso nessun tema, viene usato per impostazione predefinita il tema Classic . |
|
setVisible(isVisible) | Attiva/disattiva la visibilità dello spazio di lavoro. Attualmente destinato solo all'area di lavoro principale. | |
startDrag(e, xy) | Inizia a monitorare il trascinamento di un oggetto in quest'area di lavoro. | |
translate(x, y) | Traduci questa area di lavoro in nuove coordinate. | |
updateInverseScreenCTM() | Contrassegna il CTM dello schermo inverso come sporco. | |
updateToolbox(toolboxDef) | Modifica l'albero dei blocchi nella barra degli strumenti esistente. | |
zoom(x, y, quantità) | Aumenta o diminuisce lo zoom dell'area di lavoro rispetto alla coordinata (x, y) specificata/al centro dell'area di lavoro. | |
zoomCenter(type) | Aumenta o diminuisci lo zoom dei blocchi centrati al centro della vista. | |
zoomToFit() | Se possibile, esegui lo zoom sui blocchi per adattarli allo spazio di lavoro. |