Checklist com progresso automático🔗

Problema. Você tem uma lista de tarefas num mapa e quer ver, de relance, quanto de cada bloco já foi feito — sem contar à mão.

Solução. Ícone de check nas tarefas concluídas, mais uma fórmula no nó pai.

Antes de começar

O que você vai aprender

  • Ver o percentual concluído de cada bloco sem contar nada à mão
  • Consultar ícones a partir de fórmula
  • Decidir entre medir filhos diretos e medir o ramo inteiro

Passos🔗

  1. Monte a estrutura: um nó por bloco, tarefas como filhos.

  2. Escolha o ícone de conclusão — o check verde, cujo nome interno é button_ok. Atribua um atalho de teclado a ele em Preferências → Atalhos; sem isso você não vai usar.

  3. No nó pai de cada bloco, crie o atributo progresso com a fórmula:

    =def t = node.children.size()
     def d = node.children.count { it.icons.icons.contains('button_ok') }
     t ? "${(d*100/t).round()}% (${d}/${t})" : "vazio"
  4. Para contar o ramo inteiro, e não só os filhos diretos, troque node.children por node.leaves:

    =def t = node.leaves.size()
     def d = node.leaves.count { it.icons.icons.contains('button_ok') }
     t ? "${(d*100/t).round()}% (${d}/${t})" : "vazio"
  5. Ponha a visibilidade dos atributos em Ver → Atributos → Mostrar todos para ver os percentuais no mapa.

Melhorando🔗

Barra visual. Em vez de percentual em texto, uma barra:

=def t = node.leaves.size()
 def d = node.leaves.count { it.icons.icons.contains('button_ok') }
 def n = t ? (d * 10 / t) as int : 0
 '█' * n + '░' * (10 - n)

Cor automática. Um estilo condicional que aplique verde quando o atributo progresso começar com 100.

Filtro de pendências. Salve o filtro nó não tem button_ok E é folha como Pendências.

Alternativa nativa🔗

O Freeplane tem os ícones de progresso 0% a 100% e o comando Formatar → Progresso, que faz o cálculo hierárquico sem fórmula nenhuma. É menos flexível — faixas de 25% apenas — mas não exige habilitar scripting.

Use a fórmula quando quiser o número exato, a barra, ou contagem sobre condições mais elaboradas.

Erros comuns

  • Não atribuir atalho ao ícone de conclusão — sem isso o hábito não pega e o mapa desatualiza
  • Usar o nome errado do ícone: é o nome interno (button_ok), não o rótulo visível
  • Medir node.children num bloco que tem subgrupos, e obter percentual sem sentido
  • Deixar os atributos ocultos e não enxergar o progresso que você acabou de calcular

Você aprendeu

  • O ícone é o dado; o percentual é consequência calculada
  • O nome interno do ícone é o que a fórmula consulta
  • node.leaves mede o ramo inteiro, node.children só um nível
  • Atalho de teclado para o ícone é o que torna a prática sustentável

Perguntas para reflexão

  1. Por que registrar conclusão como ícone é melhor do que como cor?
  2. O que muda ao trocar node.children por node.leaves nesta fórmula?
  3. Como você descobre o nome interno de um ícone?
  4. Por que a fórmula devolve "vazio" quando o total é zero?

Artigos relacionados

Referências🔗

  1. Freeplane — Formulas
  2. Freeplane — Conditional node styles