# O editor de dashboard

> A bancada por trás do Editar: a paleta e o acréscimo de componentes, o localizador de Componentes, a seleção e os gestos do canvas, as seções de propriedade que todo tipo compartilha, a área Dashboard, as ligações desenhadas entre terminais de símbolo, e o salvamento automático por trás de tudo isso.

Pressione **Editar** na barra do palco da página [View](home) para abrir o editor sobre a
tela que está aberta. Ele exige a permissão **Editar dashboards** do papel (sem ela o verbo
não é desenhado), uma tela sua (um painel de unidade ou uma tela de unidade é arranjado no
ambiente do Process) e uma estação que aceita escrita: enquanto a engenharia está travada ou
o runtime está parado o verbo fica esmaecido e diz por quê. A tela continua rodando enquanto
você edita: os componentes leem valores ao vivo no canvas, então você configura contra o que
a planta está lendo.

Não existe passo de salvar. Toda mudança persiste no instante em que é feita: um campo
quando você sai dele, uma chave quando você a vira, uma movimentação quando você a solta.
Uma escrita que a estação recusa é relatada no feed de ações da barra de status ("A edição
do dashboard não foi salva: …") e a tela é recarregada a partir do que foi salvo.
**Concluir a edição** sai do modo e nunca é recusado, mesmo quando uma trava chega no meio da
edição; escolher um painel de unidade ou uma pasta na coluna, uma saída, uma troca de papel,
uma unidade iniciando uma execução ou o runtime parando também encerram a edição. Enquanto o
editor está aberto a barra retira Expandir e Tela cheia, e o F11 não faz nada.

## A bancada {#the-workbench}

O editor põe três superfícies lado a lado: a coluna Visualização, o canvas com as linhas da
grade, e um trilho de ferramentas à direita. O trilho abre com 380 px de largura, arrasta
para mais largo ou mais estreito (nunca abaixo de 320 px), e se recolhe a uma tira de quatro
botões; um toque nessa tira faz a área escolhida flutuar sobre o canvas até você tocar em
outro lugar, e o alfinete devolve o trilho fixo. As quatro áreas são **Adicionar**,
**Componentes**, **Propriedades** e **Dashboard**. Entrar no editor abre Componentes;
selecionar qualquer coisa no canvas abre Propriedades; Dashboard só abre quando você o
escolhe.

## Adicionar {#add}

**Adicionar** é o catálogo: uma busca por nome, descrição e categoria, um filtro de
**Categoria** (Todas as categorias, e depois Exibição, Controle, Alarme, Mídia, Estrutura),
e os tipos agrupados sob esses cabeçalhos
([Componentes de dashboard](components) traz uma página por tipo). Clique num tipo e ele cai
na primeira célula livre em que o tamanho padrão dele cabe, ou no canto superior esquerdo
preso dentro da grade quando não resta célula livre; arraste-o para o canvas para escolher a
célula exata. Um componente novo assume a camada acima de tudo e abre em Propriedades.

**Símbolo** é o único tipo escolhido antes de ser colocado: a linha dele na paleta abre a
biblioteca de símbolos em vez de soltar alguma coisa. A biblioteca é a mesma galeria que a
página [Símbolos](assets-symbols) usa, numa forma de duas colunas com doze cartões por
página: uma busca por nome, biblioteca, categoria ou palavra-chave, um filtro de
**Biblioteca** (cada uma com a contagem dela), um filtro de **Categoria** e um filtro de
**Origem** (Todos, Sistema, Meus). Um cartão nomeia o símbolo, a biblioteca e a categoria
dele, se ele é do Sistema ou Meu, e o que ele declara ("Estático", "1 entrada", "3 entradas",
"· 2 terminais"). Clique num cartão para colocar aquele símbolo numa célula livre no tamanho
que o autor dele sugeriu, ou arraste-o para uma célula; **‹ Todos os componentes** volta ao
catálogo. Quando a sua própria biblioteca não pode ser lida, a galeria diz isso e lista só as
bibliotecas do sistema.

Ao lado do Símbolo, a categoria Mídia oferece o **Ponto de ligação**: "Coloque uma extremidade
nomeada e tipada sem acrescentar um símbolo." Ele acrescenta um ponto de ligação solto e sem
tipo perto do centro da grade, pronto para ser ligado; veja [Ligações](#connections) abaixo.

## Componentes {#components}

**Componentes** lista todo item persistido da tela, da frente para trás, com a contagem no
cabeçalho. Uma linha mostra o ícone do tipo, a identificação do componente, o tipo dele e o
lugar ("Grade 3,2 · 4×2 · Camada 5"). A busca casa com tipo, nome ou identificação. Uma
tela sem componentes diz "Esta tela ainda não tem componentes. Posicione-os a partir de
Adicionar.", tenha a busca o que tiver; uma busca que deixa de fora todas as peças da tela diz
"Nenhum componente corresponde a esta busca."
Pressionar uma linha seleciona o componente, o revela no canvas e abre Propriedades. Um
componente para o qual esta versão não tem desenhista ainda assim tem a linha e a célula
dele, para que uma tela nunca fique sem uma peça sem dizer nada; as Propriedades dele
oferecem só **Remover componente**.

A identificação é o nome que você deu ao componente em Propriedades ou, enquanto ele não tem
nenhum, o que já o identifica: o título de canto dele, o texto ou o rótulo configurado, o
endereço ou a unidade a que ele está vinculado, o símbolo que ele desenha, ou o tipo dele.

## O canvas {#the-canvas}

O canvas é a tela em execução com as linhas da grade. Um clique seleciona um componente e
abre as Propriedades dele; **Ctrl+clique** o acrescenta à seleção ou o tira de novo (o último
tocado é o primário, aquele a que as seções por tipo e a alça de redimensionamento
pertencem); um clique na grade vazia limpa a seleção. Arraste um componente para movê-lo,
arraste a alça no canto dele para redimensioná-lo; os dois se prendem às células, ficam
presos dentro da grade, e confirmam quando você solta. Sobreposição é permitida. O Escape
larga a seleção e o Delete a remove, mas só enquanto o canvas tem o foco do teclado, para que
uma tecla digitada num campo de propriedade nunca chegue a eles.

Clique com o botão direito num componente para ver o menu dele: **Editar propriedades**,
**Duplicar**, **Trazer para a frente**, **Enviar para trás**, num Símbolo também **Girar
90°**, **Espelhar na horizontal** e **Espelhar na vertical**, e **Excluir**. Dentro de uma
seleção múltipla os verbos nomeiam a contagem ("Duplicar (3)", "Excluir (3)") e agem sobre o
lote inteiro. Clique com o botão direito na grade vazia para ver **Adicionar componente**,
que abre a área Adicionar. Não há área de transferência nem Colar: o Duplicar é a cópia.

Uma remoção é imediata e relatada na barra de status com um **Desfazer** ao lado: um nível
só, a última remoção, válido enquanto aquela entrada estiver na tela. O Desfazer devolve os
componentes com os terminais de ligação que eles tinham, e diz o que não pôde voltar ("Uma
ligação ficou como ponta solta: a linha dela mudou depois da remoção."). Uma oferta cuja tela
não está mais aberta responde "A remoção não foi desfeita: a tela a que ela pertence não está
mais aberta."

No canvas de edição os componentes desenham valores ao vivo mas não aceitam toques: os
controles só respondem em modo de visualização.

## Propriedades {#properties}

**Propriedades** edita a seleção. O cabeçalho dela nomeia o que está em mãos: o ícone e o
nome do tipo, e sob eles a identificação do componente. Sem nada selecionado ela diz
"Selecione um componente, uma linha de ligação, um ponto ou uma junção no canvas. Segure
Ctrl para acrescentar mais e editar o que eles têm em comum."

As seções correm numa ordem só, qualquer que seja o tipo, para que um assunto mantenha o
lugar dele quando você troca de componente:

1. **Identificação**: o **Nome** do componente, que o nomeia na lista Componentes, na busca
   dela e neste cabeçalho, e não desenha nada na tela. O texto de exemplo mostra como a
   lista o chamaria com o campo vazio.
2. As seções do próprio tipo, na ordem **Conteúdo**, **Dados**, **Formato**, depois as
   seções que só aquele tipo pede (Tipo, Mostrador, Indicação, Minigráfico, Barra, Estado,
   Alarmes, Opções, Percurso, Passo, Número, Ação, Cor e ícone, Cor e tamanho, Episódios,
   Colunas, Gráfico, Avaliação, Barras, Fatias, Encaixe, Ligações, Orientação), e depois
   **Histórico**, **Escala**, **Fidelidade e desempenho** e **Caixa de ferramentas**. Cada
   uma está documentada na página do próprio componente; os controles que se repetem entre
   os tipos estão abaixo.
3. **Aparência**, a mesma seção para todo tipo.
4. **Posição e camada**.
5. **Avançado**, fechada por padrão e desenhada só nos tipos que têm extras pouco usados: a
   **Janela (s)** e o **Amostrar a cada (ms)** do cartão de KPI, o **Código do glifo (avançado)** do
   Ícone.
6. **Ações**: **Duplicar componente** e **Remover componente**.

Com vários componentes selecionados o painel diz "N componentes selecionados, editando o que
eles têm em comum. Campos de um tipo só precisam de um único componente." (um lote de um tipo só é
nomeado por ele, "3 componentes Valor") e oferece Aparência, os dois comandos de camada e
**Duplicar N componentes** / **Remover N componentes**. Uma escrita em lote é um salvamento
só para a tela inteira.

### Campos de endereço e a leitura ao vivo {#address-fields-and-the-live-reading}

Todo campo que nomeia um ponto da Logic é uma caixa de combinação em que você pode digitar
livremente, com sugestões tiradas da lista de pontos ao vivo e limitadas a 50 linhas. A lista
é estreitada para a categoria de valor que o campo consome (a um medidor são oferecidos
números, uma lâmpada é encabeçada por pontos booleanos, um controle que escreve lista só o que
pode ser escrito, o comando de execução do Botão lista os pontos de comando de unidade), e
toda linha carrega o tipo dela como dica. Um endereço que a lista não oferece ainda assim é
aceito, inclusive um que ainda não existe. Numa tela definida num modelo do Process, os
canais abstratos do modelo encabeçam toda lista; escolher um deles vincula o canal e deixa a
unidade para ser respondida quando uma unidade abrir a tela.

Assim que um campo nomeia um ponto, uma linha sob ele diz o que o ponto lê neste momento,
encabeçada pela palavra **agora**: o valor escrito do jeito que a estação escreve números
ou, onde ler o texto não diria nada, a coisa em si: uma cor chega como uma amostra ao lado
do hex dela, um ícone como o glifo, uma imagem como uma miniatura. Um ponto que não está
respondendo diz isso num tom suave de atenção, em vez de deixar um número velho, e um campo
vazio não desenha linha nenhuma. A linha acompanha o próprio ritmo do editor e não
acrescenta temporizador nenhum.

### Aparência {#appearance}

Uma seção só carrega o que todo componente tem, tanto para um componente quanto para uma
seleção inteira ("Vale para todos os N componentes selecionados."). Um campo em que os
membros discordam diz **Misto** e aceita para todos eles o valor que você informar.

| Campo | O que ele faz | Valores | Padrão |
|---|---|---|---|
| Mostrar a moldura | Desenha o contorno do próprio componente. | ligado / desligado | desligado |
| Espessura da moldura (px) | Quão pesado é esse contorno. Um px é a borda de um cartão; um traço mais pesado distingue um grupo do que está em volta. | de 1 a 4, tomado na borda mais próxima | 1 |
| Mostrar o fundo | Preenche o retângulo com o par de cores, tornando-o um cartão. Desligado, a grade aparece através dele. | ligado / desligado | desligado |
| Cor do fundo | O preenchimento como um par, Claro e Escuro, cada um com uma amostra e uma caixa de hex: o tema em vigor decide qual metade está na tela, então recolorir significa recolorir as duas. Um hex digitado pela metade não é uma edição e volta ao que era. | `#RRGGBB` cada | `#FFFFFF` claro, `#2B2B2B` escuro |
| Título (canto) | O rótulo de canto do próprio componente, acima do que o tipo desenha. Em branco significa nenhuma linha de legenda. Confirmado quando você sai do campo. | texto, 200 caracteres | vazio |
| Tamanho do título (px) | Em branco deixa cada cartão dimensionar o título dele a partir da célula; um tamanho é o tamanho na tela, então os títulos de uma tela inteira concordam. Um título grande demais para a caixa dele é cortado, com o texto inteiro na dica. | de 11 a 96, ou em branco | em branco (Automático) |
| Cor do título | O par de tinta do título. Sem toque nenhum, o título segue o tom discreto do próprio tema. | `#RRGGBB` cada | `#6B6B6B` claro, `#A0A0A0` escuro |
| Escala do conteúdo | Quanto da caixa o conteúdo toma: 1 preenche a célula como desenhado; a arte responde geometricamente, um mostrador tipograficamente, e um número ainda assim nunca é desenhado cortado. | de 0,25 a 3, passo de 0,05 | 1 |

### Posição e camada {#position-and-layer}

**X**, **Y**, **L** e **A** são as células que o componente ocupa; um valor que o poria fora
da grade é preso e o campo volta ao que era. **Camada (Z)** é o lugar dele na pilha.
**Trazer para a frente** ergue a seleção acima de tudo e **Enviar para trás** a joga abaixo,
mantendo a ordem relativa do lote. Mover e redimensionar continuam por componente.

### Tamanho do mostrador {#display-size}

Todo tipo que escreve um número (Valor, Medidor, cartão de KPI, Progresso, Tabela de pontos)
carrega o mesmo par dentro da seção Formato dele:

| Campo | O que ele faz | Valores | Padrão |
|---|---|---|---|
| Dígitos (ou Caracteres, num Valor que lê texto) | Quantos dígitos o campo comporta antes do separador. Uma leitura que passa disso é marcada, em vez de escrita cortada, com o texto inteiro na dica; um texto que passa dos caracteres dele é escrito cortado. | uma contagem; em branco mantém o padrão derivado do tipo, mostrado como texto de exemplo | derivado por tipo |
| Tamanho da fonte | **Tão grande quanto a célula permitir** deixa a célula decidir, limitada pela largura que os dígitos reservam; **Um tamanho que eu defino** é literal em qualquer célula e é o que faz a mesma leitura concordar em duas telas. | os dois modos | Tão grande quanto a célula permitir |
| Pontos | O tamanho declarado, oferecido só no modo declarado. O que deixa de caber é marcado, não encolhido. | pontos | |

### Lê-se como {#reads-as}

Os mesmos tipos carregam **Lê-se como**: **Número**, **Porcentagem** (o mesmo número com o
sinal ao lado) ou **Duração**; só o Valor também oferece **Texto**, porque ele é o único
tipo que sabe desenhar as palavras de um ponto. A Duração acrescenta **O valor conta**:
**Segundos**, **Milissegundos** ou **Minutos**, já que o valor decorrido chega ao dashboard
como um número comum. Uma frase sob os campos diz quando as casas decimais que você digitou
foram tomadas na borda da faixa delas.

### Escala {#scale}

O Valor, o Medidor, o cartão de KPI, o Progresso, o Gráfico de barras e o Gráfico de pizza
carregam uma seção **Escala** de faixas: "Uma faixa cobre até o limite dela, a partir de onde
a de cima terminou. A cor é o significado: o tema decide a tinta." Cada faixa é um cartão
encabeçado pela redação dela (ou "Faixa N") e por onde ela termina ("até 80", "sem limite
ainda"), pintado no significado dela, com o limite superior, o significado (**Neutro**,
**Informação**, **Sucesso**, **Atenção**, **Crítico**), nos tipos que têm um estado a nomear
um campo de redação ("nomeia este estado", que o componente escreve ao lado da leitura), e
**Mover para cima** / **Mover para baixo**, que trocam significados entre vizinhas e deixam
os limites onde estão. **Adicionar faixa** junta uma; o ✕ no topo a remove. Nos dois
gráficos categóricos as faixas são uma paleta que tinge barras e fatias, então nenhuma
redação é pedida.

O Medidor, o cartão de KPI e o Progresso acrescentam uma **Referência** sob as faixas: "Um
setpoint ou um nominal, marcado na escala onde ele cai. Só é desenhado enquanto a escala
o alcança." **Marcas** é **Nada**, **Um valor fixo** (e então um campo **Valor**) ou **Um
ponto** (e então um campo **Endereço** com a leitura ao vivo dele).

### Fidelidade e desempenho {#fidelity-and-performance}

O Gráfico de linhas carrega a seção que decide quanto dos dados chega ao canvas: uma
**Predefinição** (Fidelidade máxima, Equilibrado, Desempenho máximo; Personalizado é uma
leitura, não uma escolha, mostrada quando os campos não casam com nenhum conjunto nomeado, e
nunca selecionável), **Desenhar toda amostra até** (de 100 a 100.000 pontos), **Acima disso,
preservar** (Preservar os picos, Preservar a forma, Média), **Um símbolo por amostra até** (de 0 a
5.000; 0 nunca os desenha), **Desenhar o que está fora da janela**, **Animar o
desenho** e **Dizer no canto em que modo o gráfico está**. Uma contagem que passa da faixa
dela é tomada na borda e o painel diz qual contagem ele tomou. Sob os campos, uma estimativa
diz quantos pontos a estação guarda e quantos chegam ao canvas, e avisa a partir de 20.000
pontos desenhados ou da memória que o gráfico pode guardar. Os valores e o significado deles
estão em [Gráfico de linhas](component-line-chart).

### Caixa de ferramentas {#toolbox}

Todo tipo de gráfico carrega uma seção **Caixa de ferramentas**: uma caixa de seleção por
botão que o desenho dele consegue honrar, cada uma desenhada com o glifo do próprio botão, na
ordem em que a barra os desenha. "Sem nenhum deles marcado, nenhuma barra é desenhada." Um
Gráfico de linhas oferece Selecionar uma área para ampliar; Restaurar a ampliação; Ajustar a
escala à mão; Mínimo, média e máximo da janela mostrada; Desenhar uma linha de referência;
Salvar PNG; Copiar PNG; Mostrar ou esconder séries; Ligar e desligar a dica de valor; Tela
cheia. Um Gráfico de barras ou um Gráfico de pizza oferece só Salvar PNG; Copiar PNG; Tela
cheia. Enquanto a Navegação de um Gráfico de linhas está em janela fixa, a lista dele deixa de
fora Selecionar uma área para ampliar e Restaurar a ampliação, e a barra dele não os desenha, já
que uma janela que nada move não tem ampliação a que eles respondam; o que estava marcado é
guardado e volta quando a janela volta a se mover. O que cada botão faz está em
[Gráficos](view-charts).

### Os gráficos categóricos {#the-categorical-charts}

O Gráfico de barras e o Gráfico de pizza compartilham um conjunto de seções acima do desenho
próprio deles: **Conteúdo** guarda o **Título do gráfico** desenhado dentro da área de
desenho (não o título de canto); **Dados** guarda um cartão por **ponto** (um endereço, um
**Nome** que recai no endereço, uma **Cor** que recai na vez da paleta, e a leitura ao vivo),
**Adicionar ponto**, e **Ordem** (**como declarado**, **do menor para o maior**, **do maior
para o menor**); **Formato** guarda **Unidade**, **Decimais** e o Lê-se como. "Um ponto
que não está lendo é deixado de fora da comparação, em vez de ser desenhado em zero." Abaixo
disso, **Barras** ou **Fatias** é a seção de cada tipo: veja
[Gráfico de barras](component-bar-chart) e [Gráfico de pizza](component-pie-chart).

## A área Dashboard {#the-dashboard-area}

**Dashboard** guarda o que a tela declara sobre si mesma: nome, descrição, ícone, a grade, a
marca de abertura, a barra de status em tela cheia, os papéis que a veem e a exclusão. Ela é
[Configurações do dashboard](view-settings). Numa tela definida num modelo do Process a área
diz isso: "Esta tela pertence a um modelo do Process. Uma definição serve a todas as unidades dele:
cada unidade a abre sobre os canais vinculados dela."

## Ligações {#connections}

Um [Símbolo](component-symbol) que declara terminais os mostra no editor como marcadores
sobre a arte dele: um terminal livre, um ocupado (com um ponto no centro, pintado na cor da
própria ligação), e um com um aviso quando a ligação dele está indefinida. As ligações são
redes tipadas desenhadas numa camada própria, sob os equipamentos e sobre os cartões, na cor
e na espessura que o [tipo de ligação](assets-connection-types) declara; os oito tipos são
Líquido, Gás, Ar / duto, Elétrico, Sinal, Rede, Material e Eixo mecânico. Os terminais de um
símbolo declaram o tipo deles (ou uma configuração de tipo que a seção Ligações do símbolo
deixa você escolher), e o tipo de uma rede só se resolve quando todos os extremos concordam.
Escolher outro tipo ali leva a ligação junto: um ponto de ligação que tinha o tipo anterior do
terminal passa ao novo, salvo junto com a escolha (escolher de novo o tipo anterior o devolve),
enquanto um ponto posto em outro tipo fica com o dele. Outro símbolo na mesma ligação ainda no
tipo anterior a deixa indefinida até os dois concordarem.

| Gesto | O que ele faz |
|---|---|
| Arrastar um terminal livre até outro terminal livre | Cria uma ligação entre os dois. Tipos que casam fazem uma ligação definida ("Líquido terminais ligados."); pontas em conflito ou sem tipo ainda assim se ligam, como uma rede **indefinida**, desenhada num estilo neutro, fino e tracejado, e o feed diz isso ("Ligados como indefinidos: Líquido × Gás."). |
| Arrastar um terminal livre até a grade vazia | Cria ali um **ponto de ligação** e liga o terminal a ele ("Ponto de ligação criado."). |
| Arrastar um terminal livre até uma linha existente | Divide a linha por uma **junção** e ramifica até o terminal ("Ramo de ligação criado."). A linha precisa estar definida e o tipo dela precisa casar com o do terminal; caso contrário o gesto é recusado com a razão. |
| Arrastar um terminal livre até uma junção, uma ponta aberta ou um ponto de ligação | Junta ali. Uma ponta solta ou um ponto que já carrega uma linha vira o terminal no lugar; um ponto solto ganha a linha que chega ao terminal. |
| Arrastar a alça central de uma linha selecionada até um terminal livre | O mesmo ramo, começado pela linha. |
| Arrastar uma linha | Dobra a linha: a rota vira **Manual** com as dobras que você deixou ("Rota de ligação feita à mão salva."). |
| Arrastar um ponto de ligação, uma junção ou uma ponta aberta | Move o que você arrastou; toda rota presa a ele acompanha, e uma rota manual presa a ele é marcada como precisando de ajuste. Os terminais não podem ser arrastados: a posição deles segue o símbolo. |
| Arrastar uma ponta aberta solta ou um ponto de ligação até um terminal livre | Reconecta ali ("Ponta solta da ligação religada."). |

O teclado faz o mesmo: um terminal, uma linha, a alça central dela e um nó recebem foco;
Enter ou Espaço num terminal livre o marca como origem, Enter ou Espaço no destino completa
o gesto, e o Escape limpa a origem. O Delete remove a linha ou o ponto de ligação
selecionado; numa junção ou numa ponta aberta ele diz qual linha selecionar no lugar.

Um toque numa linha ou num nó o seleciona e abre as Propriedades:

- **Ligação** (uma linha): o nome do tipo ou "Indefinida" no cabeçalho; uma nota de atenção
  quando os tipos dos extremos conflitam ou estão incompletos ("A ramificação fica
  desabilitada até eles concordarem.") e outra quando uma rota manual preservada precisa de
  ajuste depois que um extremo se moveu; **Rota** (Automática ou Manual), **Início** e
  **Fim** (cada extremo com o tipo dele); a dica "Arraste a linha para preservar uma dobra
  feita à mão. Selecione a alça central dela para começar um ramo."; **Refazer a rota automática**
  numa rota manual, que limpa as dobras; e **Excluir este segmento**, que remove só aquela
  linha, nunca o equipamento nem um ramo sem relação. Remover a última linha de uma rede leva
  os extremos dela junto ("Ligação removida com as extremidades dela."); uma junção que fica com
  dois lados se funde numa linha só, uma que fica com um lado vira uma ponta aberta, e uma
  rede cortada em duas vira duas redes.
- **Ponto de ligação**: **Nome** (200 caracteres), **Tipo de ligação** (Não selecionado, ou
  um dos oito), **Função** (Bidirecional, Entrada, Saída), **Direção** (Norte, Nordeste,
  Leste, Sudeste, Sul, Sudoeste, Oeste, Noroeste), e **Remover este ponto**, ou **Remover o
  ponto, manter a ponta aberta** quando uma linha termina nele.
- **Junção**: "Arraste a alça da junção para reposicionar todas as rotas presas a ela. Remova
  um ramo selecionando o segmento dele; a junção se simplifica sozinha quando sobram apenas
  dois lados."
- **Ponta aberta**: onde ela está preservada ("grade 12.5, 4") e como reconectá-la: arraste-a
  até um terminal livre, arraste um terminal até aqui, ou exclua a linha presa a ela.

As rotas automáticas são ortogonais e não levam obstáculo nenhum em conta; uma rota manual
mantém as dobras dela até você refazê-la. Mover, redimensionar, girar, espelhar ou escalar um
símbolo nunca o desconecta: as rotas se prendem de novo a onde os terminais estão agora, e
uma rota manual presa é sinalizada para ajuste quando a ponta dela se moveu. Remover um
símbolo transforma os terminais dele em pontas abertas na última posição delas. Trocar o
desenho de um símbolo (**Trocar o símbolo…**) mantém toda ligação para a qual o desenho novo
ainda declara um terminal e solta as demais como pontas soltas, e o feed diz quantas foram.
As remoções de ligação (uma linha, um ponto, uma rota refeita) relatam com o mesmo
**Desfazer**, que devolve a rede inteira como ela estava; uma edição feita na mesma ligação
no meio do caminho é substituída, e o feed diz isso.

Uma edição de ligação que a estação recusa é mostrada embutida no topo das Propriedades e no
feed ("A edição da ligação não foi salva: …"); enquanto uma escrita de rede está em curso os
botões de ligação ficam desabilitados. Em modo de visualização as mesmas linhas e os mesmos
marcadores de ponta são desenhados sem alças, e uma rede indefinida mantém o estilo tracejado
neutro dela sem aviso nenhum: você pode tê-la deixado assim de propósito.

## O que o editor não faz {#what-the-editor-does-not-do}

Ele não tem desfazer além da última remoção e não tem histórico de edições: toda outra
mudança é salva conforme é feita. Ele não tem área de transferência entre telas, não tem
deslocamento pelas setas do teclado, não tem ferramentas de alinhamento nem de distribuição,
não tem posicionamento livre por pixel e não tem confirmação por edição. Ele não edita um
painel de unidade (arranjado na linha [Painéis](process-panels) do modelo dele) e não cria
telas para um modelo (isso é a linha [Dashboards](process-dashboards) do modelo, que abre
este mesmo editor). Ele nunca dimensiona a grade de um jeito que empurre um componente para
fora dela, e nunca escreve um valor na planta: os controles do canvas de edição são inertes.
