Skip to content

UI Architecture

Marcelo Trindade edited this page Aug 29, 2026 · 1 revision

Arquitetura da UI

A linha v0.11 reconstrói a camada gráfica sem trocar Slint e sem alterar os contratos funcionais do backend.

Referência

A engenharia visual usa como referência a organização da Slint Widgets Gallery:

  • widgets padrão primeiro;
  • layout natural;
  • preferred-*, min-* e stretch;
  • Palette e StyleMetrics;
  • custom components somente quando necessários.

Style

O style oficial é:

Fluent

A aplicação não oferece troca runtime entre famílias de widgets.

A preferência runtime é somente:

  • System;
  • Light;
  • Dark.

Estrutura

ui/
├── app.slint
├── appearance.slint
├── design-system.slint
├── main.slint
├── components/
│   └── app-shell.slint
├── models/
│   └── qso-types.slint
└── pages/
    ├── logbook-page.slint
    ├── qso-editor-page.slint
    ├── tools-page.slint
    └── settings-page.slint

Entry point

ui/app.slint é compilado por build.rs e reexporta:

  • MainWindow;
  • global Appearance.

ui/main.slint mantém o contrato funcional da janela.

Shell

  • MenuBar nativo;
  • sidebar recolhível;
  • workspace;
  • status global.

Páginas

Logbook

Workspace de dados com busca, filtros, linhas, paginação e ações.

Editor

Formulário rolável com GroupBox para campos comuns e metadata condicional.

Tools

ADIF, data health e database backup.

Settings

Appearance, Local station e External lookup links.

Regra de qualidade

São bugs visuais:

  • clipping não intencional;
  • label sobreposta;
  • separador atravessando input;
  • botão truncado;
  • controle sobreposto;
  • conteúdo necessário inacessível.

O baseline de QA é 1050×680, validado em System, Light e Dark.

Veja também

Clone this wiki locally