Skip to main content

text_document_formatting/
document_formatting_controller.rs

1// Generated by Qleany v1.4.8 from feature_controller.tera
2
3use crate::MergeTextFormatDto;
4use crate::SetBlockFormatDto;
5use crate::SetFrameFormatDto;
6use crate::SetTextFormatDto;
7use crate::units_of_work::merge_text_format_uow::MergeTextFormatUnitOfWorkFactory;
8use crate::units_of_work::set_block_format_uow::SetBlockFormatUnitOfWorkFactory;
9use crate::units_of_work::set_frame_format_uow::SetFrameFormatUnitOfWorkFactory;
10use crate::units_of_work::set_text_format_uow::SetTextFormatUnitOfWorkFactory;
11use crate::use_cases::merge_text_format_uc::MergeTextFormatUseCase;
12use crate::use_cases::set_block_format_uc::SetBlockFormatUseCase;
13use crate::use_cases::set_frame_format_uc::SetFrameFormatUseCase;
14use crate::use_cases::set_text_format_uc::SetTextFormatUseCase;
15use anyhow::Result;
16use common::event::{Event, Origin};
17
18use common::event::DocumentFormattingEvent::MergeTextFormat;
19use common::event::DocumentFormattingEvent::SetBlockFormat;
20use common::event::DocumentFormattingEvent::SetFrameFormat;
21use common::event::DocumentFormattingEvent::SetTextFormat;
22
23use common::undo_redo::UndoRedoManager;
24use common::{database::db_context::DbContext, event::EventHub};
25use std::sync::Arc;
26
27pub fn set_text_format(
28    db_context: &DbContext,
29    event_hub: &Arc<EventHub>,
30    undo_redo_manager: &mut UndoRedoManager,
31    stack_id: Option<u64>,
32    dto: &SetTextFormatDto,
33) -> Result<()> {
34    let uow_context = SetTextFormatUnitOfWorkFactory::new(db_context, event_hub);
35    let mut uc = SetTextFormatUseCase::new(Box::new(uow_context));
36    uc.execute(dto)?;
37    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
38    // Notify that the handling manifest has been loaded
39    event_hub.send_event(Event {
40        origin: Origin::DocumentFormatting(SetTextFormat),
41        ids: vec![],
42        data: None,
43    });
44    Ok(())
45}
46
47pub fn merge_text_format(
48    db_context: &DbContext,
49    event_hub: &Arc<EventHub>,
50    undo_redo_manager: &mut UndoRedoManager,
51    stack_id: Option<u64>,
52    dto: &MergeTextFormatDto,
53) -> Result<()> {
54    let uow_context = MergeTextFormatUnitOfWorkFactory::new(db_context, event_hub);
55    let mut uc = MergeTextFormatUseCase::new(Box::new(uow_context));
56    uc.execute(dto)?;
57    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
58    // Notify that the handling manifest has been loaded
59    event_hub.send_event(Event {
60        origin: Origin::DocumentFormatting(MergeTextFormat),
61        ids: vec![],
62        data: None,
63    });
64    Ok(())
65}
66
67pub fn set_block_format(
68    db_context: &DbContext,
69    event_hub: &Arc<EventHub>,
70    undo_redo_manager: &mut UndoRedoManager,
71    stack_id: Option<u64>,
72    dto: &SetBlockFormatDto,
73) -> Result<()> {
74    let uow_context = SetBlockFormatUnitOfWorkFactory::new(db_context, event_hub);
75    let mut uc = SetBlockFormatUseCase::new(Box::new(uow_context));
76    uc.execute(dto)?;
77    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
78    // Notify that the handling manifest has been loaded
79    event_hub.send_event(Event {
80        origin: Origin::DocumentFormatting(SetBlockFormat),
81        ids: vec![],
82        data: None,
83    });
84    Ok(())
85}
86
87pub fn set_frame_format(
88    db_context: &DbContext,
89    event_hub: &Arc<EventHub>,
90    undo_redo_manager: &mut UndoRedoManager,
91    stack_id: Option<u64>,
92    dto: &SetFrameFormatDto,
93) -> Result<()> {
94    let uow_context = SetFrameFormatUnitOfWorkFactory::new(db_context, event_hub);
95    let mut uc = SetFrameFormatUseCase::new(Box::new(uow_context));
96    uc.execute(dto)?;
97    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
98    // Notify that the handling manifest has been loaded
99    event_hub.send_event(Event {
100        origin: Origin::DocumentFormatting(SetFrameFormat),
101        ids: vec![],
102        data: None,
103    });
104    Ok(())
105}