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