Skip to main content

text_document_formatting/
document_formatting_controller.rs

1// Generated by Qleany v1.5.1 from feature_controller.tera
2
3use crate::MergeTextFormatDto;
4use crate::SetBlockFormatDto;
5use crate::SetFrameFormatDto;
6use crate::SetTableCellFormatDto;
7use crate::SetTableFormatDto;
8use crate::SetTextFormatDto;
9use crate::units_of_work::merge_text_format_uow::MergeTextFormatUnitOfWorkFactory;
10use crate::units_of_work::set_block_format_uow::SetBlockFormatUnitOfWorkFactory;
11use crate::units_of_work::set_frame_format_uow::SetFrameFormatUnitOfWorkFactory;
12use crate::units_of_work::set_table_cell_format_uow::SetTableCellFormatUnitOfWorkFactory;
13use crate::units_of_work::set_table_format_uow::SetTableFormatUnitOfWorkFactory;
14use crate::units_of_work::set_text_format_uow::SetTextFormatUnitOfWorkFactory;
15use crate::use_cases::merge_text_format_uc::MergeTextFormatUseCase;
16use crate::use_cases::set_block_format_uc::SetBlockFormatUseCase;
17use crate::use_cases::set_frame_format_uc::SetFrameFormatUseCase;
18use crate::use_cases::set_table_cell_format_uc::SetTableCellFormatUseCase;
19use crate::use_cases::set_table_format_uc::SetTableFormatUseCase;
20use crate::use_cases::set_text_format_uc::SetTextFormatUseCase;
21use anyhow::Result;
22use common::event::{Event, Origin};
23
24use common::event::DocumentFormattingEvent::MergeTextFormat;
25use common::event::DocumentFormattingEvent::SetBlockFormat;
26use common::event::DocumentFormattingEvent::SetFrameFormat;
27use common::event::DocumentFormattingEvent::SetTableCellFormat;
28use common::event::DocumentFormattingEvent::SetTableFormat;
29use common::event::DocumentFormattingEvent::SetTextFormat;
30
31use common::undo_redo::UndoRedoManager;
32use common::{database::db_context::DbContext, event::EventHub};
33use std::sync::Arc;
34
35pub fn set_text_format(
36    db_context: &DbContext,
37    event_hub: &Arc<EventHub>,
38    undo_redo_manager: &mut UndoRedoManager,
39    stack_id: Option<u64>,
40    dto: &SetTextFormatDto,
41) -> Result<()> {
42    let uow_context = SetTextFormatUnitOfWorkFactory::new(db_context, event_hub);
43    let mut uc = SetTextFormatUseCase::new(Box::new(uow_context));
44    uc.execute(dto)?;
45    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
46    // Notify that the handling manifest has been loaded
47    event_hub.send_event(Event {
48        origin: Origin::DocumentFormatting(SetTextFormat),
49        ids: vec![],
50        data: None,
51    });
52    Ok(())
53}
54
55pub fn merge_text_format(
56    db_context: &DbContext,
57    event_hub: &Arc<EventHub>,
58    undo_redo_manager: &mut UndoRedoManager,
59    stack_id: Option<u64>,
60    dto: &MergeTextFormatDto,
61) -> Result<()> {
62    let uow_context = MergeTextFormatUnitOfWorkFactory::new(db_context, event_hub);
63    let mut uc = MergeTextFormatUseCase::new(Box::new(uow_context));
64    uc.execute(dto)?;
65    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
66    // Notify that the handling manifest has been loaded
67    event_hub.send_event(Event {
68        origin: Origin::DocumentFormatting(MergeTextFormat),
69        ids: vec![],
70        data: None,
71    });
72    Ok(())
73}
74
75pub fn set_block_format(
76    db_context: &DbContext,
77    event_hub: &Arc<EventHub>,
78    undo_redo_manager: &mut UndoRedoManager,
79    stack_id: Option<u64>,
80    dto: &SetBlockFormatDto,
81) -> Result<()> {
82    let uow_context = SetBlockFormatUnitOfWorkFactory::new(db_context, event_hub);
83    let mut uc = SetBlockFormatUseCase::new(Box::new(uow_context));
84    uc.execute(dto)?;
85    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
86    // Notify that the handling manifest has been loaded
87    event_hub.send_event(Event {
88        origin: Origin::DocumentFormatting(SetBlockFormat),
89        ids: vec![],
90        data: None,
91    });
92    Ok(())
93}
94
95pub fn set_frame_format(
96    db_context: &DbContext,
97    event_hub: &Arc<EventHub>,
98    undo_redo_manager: &mut UndoRedoManager,
99    stack_id: Option<u64>,
100    dto: &SetFrameFormatDto,
101) -> Result<()> {
102    let uow_context = SetFrameFormatUnitOfWorkFactory::new(db_context, event_hub);
103    let mut uc = SetFrameFormatUseCase::new(Box::new(uow_context));
104    uc.execute(dto)?;
105    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
106    // Notify that the handling manifest has been loaded
107    event_hub.send_event(Event {
108        origin: Origin::DocumentFormatting(SetFrameFormat),
109        ids: vec![],
110        data: None,
111    });
112    Ok(())
113}
114
115pub fn set_table_format(
116    db_context: &DbContext,
117    event_hub: &Arc<EventHub>,
118    undo_redo_manager: &mut UndoRedoManager,
119    stack_id: Option<u64>,
120    dto: &SetTableFormatDto,
121) -> Result<()> {
122    let uow_context = SetTableFormatUnitOfWorkFactory::new(db_context, event_hub);
123    let mut uc = SetTableFormatUseCase::new(Box::new(uow_context));
124    uc.execute(dto)?;
125    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
126    // Notify that the handling manifest has been loaded
127    event_hub.send_event(Event {
128        origin: Origin::DocumentFormatting(SetTableFormat),
129        ids: vec![],
130        data: None,
131    });
132    Ok(())
133}
134
135pub fn set_table_cell_format(
136    db_context: &DbContext,
137    event_hub: &Arc<EventHub>,
138    undo_redo_manager: &mut UndoRedoManager,
139    stack_id: Option<u64>,
140    dto: &SetTableCellFormatDto,
141) -> Result<()> {
142    let uow_context = SetTableCellFormatUnitOfWorkFactory::new(db_context, event_hub);
143    let mut uc = SetTableCellFormatUseCase::new(Box::new(uow_context));
144    uc.execute(dto)?;
145    undo_redo_manager.add_command_to_stack(Box::new(uc), stack_id)?;
146    // Notify that the handling manifest has been loaded
147    event_hub.send_event(Event {
148        origin: Origin::DocumentFormatting(SetTableCellFormat),
149        ids: vec![],
150        data: None,
151    });
152    Ok(())
153}