Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

Toast4D

Biblioteca de notificação do Toast para Delphi VCL - inspirada no ngx-toastr do Angular

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

🍞 Toast4D

Biblioteca de notificações toast para Delphi VCL — inspirada no ngx-toastr do Angular.

Compatível com Delphi 11 Alexandria e superior.


✨ Funcionalidades

Funcionalidade Detalhes
4 tipos visuais Success, Error, Warning, Info
6 posições TopRight, TopLeft, BottomRight, BottomLeft, TopCenter, BottomCenter
Animações Slide-in + Fade-in na entrada; Slide-out + Fade-out na saída
Auto-dismiss Fecha automaticamente após duração configurável (padrão: 4s)
Barra de progresso Indicador visual do tempo restante
Pause on hover Pausa o timer quando o mouse está sobre o toast
Click to dismiss Clique em qualquer lugar para fechar
Botão fechar Botão × no canto superior direito
Empilhamento Múltiplos toasts na mesma posição, reorganizados ao fechar
Sem auto-fechar Duration := 0 para toast permanente
Design moderno Fundo escuro, cores vibrantes, cantos arredondados

📁 Estrutura

pascal
Toast4D/
????????? src/
???   ????????? Toast4D.Types.pas      ??? Enums, TToastOptions, constantes
???   ????????? Toast4D.Theme.pas      ??? Paleta de cores e ??cones por tipo
???   ????????? Toast4D.Animate.pas    ??? Engine de anima????o (slide + fade)
???   ????????? Toast4D.Form.pas       ??? TToastForm: janela flutuante sem borda
???   ????????? Toast4D.Manager.pas    ??? TToastManager: fila e ciclo de vida
???   ????????? Toast4D.pas            ??? Facade p??blica (entry point)
????????? demo/
    ????????? Toast4DDemo.dpr        ??? Projeto de demonstra????o
    ????????? Toast4DDemo.dproj
    ????????? MainForm.pas
    ????????? MainForm.dfm

🚀 Instalação

  1. Abra as Project Options do seu projeto Delphi
  2. Em Library path, adicione o caminho para a pasta src/
  3. Adicione Toast4D na cláusula uses do seu form/unit

📖 Uso

Básico

delphi
uses Toast4D;

// Tipos prontos
TToast.Success('Salvo!', 'Registro gravado com sucesso.');
TToast.Error('Erro!', 'Falha ao conectar ao servidor.');
TToast.Warning('Atenção', 'Sessão expira em 1 minuto.');
TToast.Info('Dica', 'Pressione F5 para atualizar.');

Com opções completas

delphi
uses Toast4D, Toast4D.Types;

var Opts := TToastOptions.Default;
Opts.Title           := 'Upload concluído';
Opts.Message         := 'Arquivo enviado com sucesso.';
Opts.ToastType       := ttSuccess;
Opts.Position        := tpBottomRight;
Opts.Duration        := 6000;         // 6 segundos
Opts.ShowProgressBar := True;
Opts.ShowCloseButton := True;
Opts.ClickToDismiss  := True;
TToast.Show(Opts);

Toast permanente (sem auto-fechar)

delphi
var Opts := TToastOptions.Default;
Opts.Title    := 'Atenção crítica';
Opts.Duration := 0;   // 0 = não fecha automaticamente
TToast.Show(Opts);

Fechar todos

delphi
TToast.DismissAll;

Configuração global

delphi
// No FormCreate ou initialization
TToast.DefaultPosition  := tpTopRight;    // Posição padrão
TToast.DefaultDuration  := 5000;          // 5 segundos
TToast.ShowProgressBar  := True;
TToast.ShowCloseButton  := True;
TToast.ClickToDismiss   := True;
TToast.MaxToastsPerPosition := 5;

🎨 Temas

Tipo Acento Ícone
ttSuccess 🟢 #4ADE80 ✓
ttError 🔴 #F87171 ✕
ttWarning 🟡 #FBBF24 ⚠
ttInfo 🔵 #60A5FA ℹ

📌 Referência da API

delphi
TToast.Success(ATitle, AMessage: string)
TToast.Error  (ATitle, AMessage: string)
TToast.Warning(ATitle, AMessage: string)
TToast.Info   (ATitle, AMessage: string)
TToast.Show   (AOptions: TToastOptions)
TToast.DismissAll

📜 Licença

MIT License — livre para uso pessoal e comercial.