Classe WorkspaceSvg
Classe para um espaço de trabalho. Esta é uma área da tela com lixeira, barras de rolagem, balões e recursos opcionais para arrastar.
Signature:
export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg
Estende: Workspace
Implementa: IASTNodeLocationSvg
Construtores
Construtor | Modificadores | Descrição |
---|---|---|
(construtor)(opções) | Cria uma nova instância da classe WorkspaceSvg |
Propriedades
Propriedade | Modificadores | Tipo | Descrição |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextMenuOption[], e: Event) => void) | nulo | Os desenvolvedores podem definir essa função para adicionar opções de menu personalizadas ao menu de contexto do espaço de trabalho ou editar o conjunto de opções de menu criado pelo espaço de trabalho. | |
keyboardAccessibilityMode | booleano | Verdadeiro se o modo de acessibilidade do teclado estiver ativado. Caso contrário, será falso. | |
renderizado | booleano | O status de renderização de um espaço de trabalho SVG. Retorna false para espaços de trabalho sem comando e verdadeiro para instâncias de WorkspaceSvg . |
|
escala | number | Escala atual. | |
barra de rolagem | ScrollbarPair | nulo | As barras de rolagem deste espaço de trabalho, se houver. | |
scrollX | number | Deslocamento de rolagem horizontal atual em unidades de pixel, em relação à origem do espaço de trabalho. É útil pensar em uma visualização e em uma tela que se move por baixo dela. À medida que a tela se move para a direita, esse valor se torna mais positivo, e a visualização passa a ser "visualizada". no lado esquerdo da tela. À medida que a tela se move para a esquerda, esse valor se torna mais negativo, e a visualização passa a ser "visualizada". no lado direito da tela. O ponto confuso sobre esse valor é que ele não inclui e não deve incluir o deslocamento permanenteLeft. Isso ocorre porque ele é usado para calcular o valor de viewLeft. O viewLeft é relativo à origem do espaço de trabalho (embora em unidades de pixel). A origem é o canto superior esquerdo do espaço de trabalho (pelo menos quando está ativado). Ela é deslocada da parte superior esquerda do blocklyDiv para não ficar abaixo da caixa de ferramentas. Quando o espaço de trabalho está ativado, a viewLeft e a origem do espaço de trabalho ficam no mesmo local X. À medida que a tela desliza para a direita abaixo da visualização, esse valor (scrollX) se torna mais positivo, e o viewLeft fica mais negativo em relação à origem do espaço de trabalho. Imagine a origem do espaço de trabalho como um ponto na tela deslizando para a direita enquanto ela se move. Então, se o scrollX fosse incluir o setLeft, isso seria "unshift" a origem do espaço de trabalho. Isso significa que o viewLeft representaria a borda esquerda do blocklyDiv, em vez da borda esquerda do espaço de trabalho. |
|
scrollY | number | Deslocamento de rolagem vertical atual em unidades de pixel, em relação à origem do espaço de trabalho. É útil pensar em uma visualização e em uma tela que se move por baixo dela. À medida que a tela se move para baixo, esse valor se torna mais positivo, e a visualização passa a ser "visualizada". na parte superior da tela. À medida que a tela sobe, esse valor se torna mais negativo, e a visualização passa a ser na parte inferior da tela. Algo confuso sobre esse valor é que ele não inclui e não deve incluir o deslocamento permanenteTop. Isso ocorre porque ele é usado para calcular o valor viewTop. O viewTop é relativo à origem do espaço de trabalho (embora em unidades de pixels). A origem é o canto superior esquerdo do espaço de trabalho (pelo menos quando está ativado). Ela é deslocada da parte superior esquerda do blocklyDiv para não ficar abaixo da caixa de ferramentas. Quando o workspace está ativado, o viewTop e a origem do espaço de trabalho ficam no mesmo local Y. À medida que a tela desliza para a parte de baixo, esse valor (scrollY) se torna mais positivo e o viewTop se torna mais negativo em relação à origem do espaço de trabalho (imagem na origem do espaço de trabalho como um ponto na tela deslizando para baixo à medida que ela se move). Portanto, se o scrollY fosse incluir o setTop, isso seria "unshift" a origem do espaço de trabalho. Isso significa que "viewTop" representa a borda de cima do blocklyDiv, e não a do espaço de trabalho. |
|
startScrollX | number | Valor de rolagem horizontal quando a rolagem é iniciada em unidades de pixel. | |
startScrollY | number | Valor de rolagem vertical quando a rolagem é iniciada em unidades de pixel. | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
lixeira | Lixeira | nulo | A lixeira do espaço de trabalho (se houver) | |
zoomControls_ | ZoomControls | nulo |
Métodos
Método | Modificadores | Descrição |
---|---|---|
addTopBlock(block) | Adiciona um bloco à lista de blocos superiores. | |
addTopBoundedElement(element) | Adiciona um elemento limitado à lista de elementos limitados superiores. | |
addTopComment(comment) | Adiciona um comentário à lista dos principais comentários. | |
centerOnBlock(id, blockOnly) | Role o espaço de trabalho para centralizar no bloco especificado. Se o bloco tiver outros blocos empilhados abaixo dele, o espaço de trabalho será centralizado na pilha, a menos que blockOnly seja verdadeiro. | |
cleanUp() | Limpe o espaço de trabalho ordenando todos os blocos em uma coluna. | |
clear() | Descarte todos os blocos no espaço de trabalho, com uma otimização para evitar redimensionamentos. | |
createDom(opt_backgroundClass, injectDiv) (em inglês) | Crie os elementos DOM do espaço de trabalho. | |
createVariable(name, opt_type, opt_id) | Cria uma nova variável com o nome informado. Atualize o menu suspenso para mostrar a nova variável imediatamente. | |
deleteVariableById(id) | Exclui uma variável pelo ID transmitido. Atualize o menu suspenso para mostrar imediatamente que a variável foi excluída. | |
dispose() | Descarte este espaço de trabalho. Desvincule todos os elementos do DOM para evitar vazamentos de memória. | |
getAllBlocks(ordered) | Encontre todos os blocos no espaço de trabalho. Os blocos podem ser classificados por posição; de cima para baixo (com um leve viés LTR ou RTL). | |
getAudioManager() | Baixe o gerenciador de áudio deste espaço de trabalho. | |
getBlockById(id) | Encontre o bloco nesse espaço de trabalho com o ID especificado. | |
getBlocksBoundingBox() | Calcule a caixa delimitadora dos blocos no espaço de trabalho. Sistema de coordenadas: coordenadas do espaço de trabalho. | |
getBubbleCanvas() | Acesse o elemento SVG que forma a superfície da bolha. | |
getButtonCallback(key) | Acessa a função de retorno de chamada associada a uma determinada chave, para cliques em botões e rótulos no menu suspenso. | |
getCanvas() | Acesse o elemento SVG que forma a superfície de desenho. | |
getComponentManager() | Extrai o gerenciador de componentes deste espaço de trabalho. | |
getCursor() | O cursor deste espaço de trabalho. | |
getDragTarget(e) | Retorna o destino de arrastar sobre o qual o evento do ponteiro está. | |
getFlyout(opt_own) | Getter para o menu suspenso associado a esse espaço de trabalho. Esse menu suspenso pode pertencer à caixa de ferramentas ou ao espaço de trabalho, dependendo da configuração dela. Ele será nulo se não houver um menu suspenso. | |
getGrid() | Extrai o objeto de grade deste espaço de trabalho ou retorna nulo se não houver nenhum. | |
getInverseScreenCTM() | Getter para o CTM de tela invertida. | |
getLayerManager() | ||
getMarkerManager() | Acessar o gerenciador de marcadores deste espaço de trabalho. | |
getMetricsManager() | Recebe o gerenciador de métricas deste espaço de trabalho. | |
getParentSvg() | Extrai o elemento SVG que contém este espaço de trabalho. Observação: presumimos que ele só seja chamado depois que o espaço de trabalho tiver sido injetado no DOM. | |
getRenderer() | Anexar o renderizador de bloco a este espaço de trabalho. | |
getRootWorkspace() | ||
getScale() | Consiga o fator de zoom do espaço de trabalho. Se o espaço de trabalho tiver um pai, chamamos o pai para obter a escala do espaço de trabalho. | |
getSvgGroup() | Retorna o grupo SVG do espaço de trabalho. | |
getTheme() | Acessa o objeto de tema do espaço de trabalho. | |
getToolbox() | Getter para a caixa de ferramentas associada a esse espaço de trabalho, se houver. | |
getToolboxCategoryCallback(key) | Receba a função de callback associada a uma determinada chave para preencher categorias personalizadas da caixa de ferramentas nesse espaço de trabalho. | |
getTopBlocks(ordered) | Encontra os blocos de nível superior e os retorna. Os blocos podem ser classificados por posição; de cima para baixo (com um leve viés LTR ou RTL). | |
getTopBoundedElements() | Encontra os elementos limitados de nível superior e os retorna. | |
getWidth() | Retorna o deslocamento horizontal do espaço de trabalho. Projetado para compatibilidade LTR/RTL em XML. | |
hideChaff(onlyClosePopups) | Fechar dicas, menus de contexto, seleções suspensas etc. | |
hideComponents(onlyClosePopups) | Oculte todos os componentes que podem ser ocultados automaticamente (como o menu suspenso, a lixeira e os componentes registrados pelo usuário). | |
highlightBlock(id, opt_state) | Destacar ou remover o destaque de um bloco no espaço de trabalho. O destaque de bloco é frequentemente usado para marcar visualmente os blocos que estão sendo executados. | |
isDraggable() | Este espaço de trabalho é arrastável? | |
isDragging() | O usuário está arrastando um bloco ou rolando o menu suspenso/espaço de trabalho? | |
isMovable() | Esse espaço de trabalho é móvel? Isso significa que o usuário pode reposicionar as coordenadas X Y do espaço de trabalho usando a entrada. Isso pode acontecer pelas barras de rolagem, pela roda de rolagem, arrastando ou pelo zoom com a roda de rolagem ou fazendo gesto de pinça, já que o zoom é centralizado na posição do mouse. Isso não inclui o zoom com os controles de zoom, já que as coordenadas X Y são decididas programaticamente. |
|
isMovableHorizontally() | Este espaço de trabalho pode ser movido horizontalmente? | |
isMovableVertically() | Este espaço de trabalho pode ser movido verticalmente? | |
isVisible() | Getter para isVisible | |
markFocused() | Marcar este espaço de trabalho como o espaço de trabalho principal em foco no momento. | |
moveDrag(e) | Acompanhe a ação de arrastar um objeto neste espaço de trabalho. | |
newBlock(prototypeName, opt_id) | Gere um bloco recém-criado. | |
newComment(id) | Receba um comentário recém-criado. | |
recordDragTargets() | Faça uma lista de todas as áreas excluídas desse espaço de trabalho. | |
refreshTheme() | Atualizar todos os blocos no espaço de trabalho após uma atualização de tema. | |
registerButtonCallback(key, func) | Registra uma função de callback associada a uma determinada chave, para cliques em botões e rótulos no menu suspenso. Por exemplo, um botão especificado pelo XML deve ser correspondido por uma chamada para registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction). | |
registerToolboxCategoryCallback(key, func) | Registra uma função de callback associada a uma determinada chave, para preencher categorias personalizadas da caixa de ferramentas neste espaço de trabalho. Veja as categorias de variáveis e procedimentos como um exemplo. | |
removeButtonCallback(key) | Remove um callback para um clique em um botão no menu suspenso. | |
removeToolboxCategoryCallback(key) | Remova um callback para um clique no nome de uma categoria personalizada na caixa de ferramentas. | |
removeTopBlock(block) | Remove um bloco da lista de blocos superiores. | |
removeTopBoundedElement(element) | Remove um elemento limitado da lista de elementos limitados superiores. | |
removeTopComment(comment) | Remove um comentário da lista de comentários principais. | |
renameVariableById(id, newName) | Renomeie uma variável atualizando o nome dela no mapa de variáveis. Atualize o menu suspenso para mostrar a variável renomeada imediatamente. | |
render() | Renderizar todos os blocos no espaço de trabalho. | |
resize() | Redimensionar e reposicionar todo o espaço de trabalho do Chrome (caixa de ferramentas, lixeira, barras de rolagem etc.) Ele deve ser chamado quando algo muda e exige o recálculo das dimensões e posições da lixeira, do zoom, da caixa de ferramentas etc. (por exemplo, o redimensionamento da janela). | |
scrollCenter() | Centralize o espaço de trabalho. | |
setResizeHandlerWrapper(handler) | Salvar os dados do gerenciador de redimensionamento para que possamos excluí-los mais tarde. | |
setResizesEnabled(enabled) | Atualize se o redimensionamento está ativado para este espaço de trabalho. Se ativado, o espaço de trabalho será redimensionado quando apropriado. Se desativado, o espaço de trabalho não será redimensionado até que seja reativado. Use para evitar o redimensionamento durante uma operação em lote, para melhorar o desempenho. | |
setScale(newScale) | Defina o fator de zoom do espaço de trabalho. | |
setTheme(theme) | Define o objeto de tema do espaço de trabalho. Se nenhum tema for transmitido, o padrão será Classic . |
|
setVisible(isVisible) | Alterna a visibilidade do espaço de trabalho. No momento, essa opção é destinada apenas ao espaço de trabalho principal. | |
startDrag(e, xy) | Comece a rastrear um objeto arrastando neste espaço de trabalho. | |
translate(x, y) (link em inglês) | Converta este espaço de trabalho para novas coordenadas. | |
updateInverseScreenCTM() | Marque o CTM da tela inversa como suja. | |
updateToolbox(toolboxDef) | Modifique a árvore de blocos na caixa de ferramentas atual. | |
zoom(x, y, amount) | Aumenta ou diminui o zoom do espaço de trabalho em relação a/centralizado na coordenada especificada (x, y). | |
zoomCenter(type) | Aplicando zoom nos blocos centralizados no centro da visualização, aumentando ou diminuindo o zoom. | |
zoomToFit() | Aplique zoom aos blocos para que caibam no espaço de trabalho, se possível. |