Añade soporte para inyectar acciones en código

This commit is contained in:
Manuel Cillero 2025-07-21 08:58:09 +02:00
parent 86e4c4f110
commit 613ab5243c
10 changed files with 316 additions and 4 deletions

View file

@ -1,7 +1,8 @@
use crate::core::action::ActionBox;
use crate::core::theme::ThemeRef;
use crate::core::AnyInfo;
use crate::locale::L10n;
use crate::service;
use crate::{inject_actions, service};
/// Representa una referencia a una extensión.
///
@ -70,6 +71,15 @@ pub trait ExtensionTrait: AnyInfo + Send + Sync {
vec![]
}
/// Devuelve la lista de acciones que la extensión va a registrar.
///
/// Estas [acciones](crate::core::action) se despachan por orden de registro o por
/// [peso](crate::Weight), permitiendo personalizar el comportamiento de la aplicación en puntos
/// específicos.
fn actions(&self) -> Vec<ActionBox> {
inject_actions![]
}
/// Inicializa la extensión durante la lógica de arranque de la aplicación.
///
/// Se llama una sola vez, después de que todas las dependencias se han inicializado y antes de