11use crate :: message_prelude:: * ;
22
3- pub use crate :: document:: DocumentsMessageHandler ;
3+ pub use crate :: document:: PortfolioMessageHandler ;
44pub use crate :: input:: { InputMapper , InputPreprocessor } ;
55pub use crate :: tool:: ToolMessageHandler ;
66
@@ -13,7 +13,7 @@ pub struct Dispatcher {
1313 input_mapper : InputMapper ,
1414 global_message_handler : GlobalMessageHandler ,
1515 tool_message_handler : ToolMessageHandler ,
16- documents_message_handler : DocumentsMessageHandler ,
16+ portfolio_message_handler : PortfolioMessageHandler ,
1717 messages : VecDeque < Message > ,
1818 pub responses : Vec < FrontendMessage > ,
1919}
@@ -22,8 +22,8 @@ pub struct Dispatcher {
2222// The last occurrence of the message in the message queue is sufficient to ensure correctness
2323// In addition, these messages do not change any state in the backend (aside from caches)
2424const SIDE_EFFECT_FREE_MESSAGES : & [ MessageDiscriminant ] = & [
25- MessageDiscriminant :: Documents ( DocumentsMessageDiscriminant :: Document ( DocumentMessageDiscriminant :: RenderDocument ) ) ,
26- MessageDiscriminant :: Documents ( DocumentsMessageDiscriminant :: Document ( DocumentMessageDiscriminant :: FolderChanged ) ) ,
25+ MessageDiscriminant :: Portfolio ( PortfolioMessageDiscriminant :: Document ( DocumentMessageDiscriminant :: RenderDocument ) ) ,
26+ MessageDiscriminant :: Portfolio ( PortfolioMessageDiscriminant :: Document ( DocumentMessageDiscriminant :: FolderChanged ) ) ,
2727 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: UpdateLayer ) ,
2828 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: DisplayFolderTreeStructure ) ,
2929 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: UpdateOpenDocumentsList ) ,
@@ -47,11 +47,11 @@ impl Dispatcher {
4747 self . log_message ( & message) ;
4848 match message {
4949 NoOp => ( ) ,
50- Documents ( message) => self . documents_message_handler . process_action ( message, & self . input_preprocessor , & mut self . messages ) ,
50+ Portfolio ( message) => self . portfolio_message_handler . process_action ( message, & self . input_preprocessor , & mut self . messages ) ,
5151 Global ( message) => self . global_message_handler . process_action ( message, ( ) , & mut self . messages ) ,
5252 Tool ( message) => self
5353 . tool_message_handler
54- . process_action ( message, ( self . documents_message_handler . active_document ( ) , & self . input_preprocessor ) , & mut self . messages ) ,
54+ . process_action ( message, ( self . portfolio_message_handler . active_document ( ) , & self . input_preprocessor ) , & mut self . messages ) ,
5555 Frontend ( message) => self . responses . push ( message) ,
5656 InputPreprocessor ( message) => self . input_preprocessor . process_action ( message, ( ) , & mut self . messages ) ,
5757 InputMapper ( message) => {
@@ -69,7 +69,7 @@ impl Dispatcher {
6969 list. extend ( self . input_mapper . actions ( ) ) ;
7070 list. extend ( self . global_message_handler . actions ( ) ) ;
7171 list. extend ( self . tool_message_handler . actions ( ) ) ;
72- list. extend ( self . documents_message_handler . actions ( ) ) ;
72+ list. extend ( self . portfolio_message_handler . actions ( ) ) ;
7373 list
7474 }
7575
@@ -129,14 +129,14 @@ mod test {
129129 init_logger ( ) ;
130130 let mut editor = create_editor_with_three_layers ( ) ;
131131
132- let document_before_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
133- editor. handle_message ( DocumentsMessage :: Copy ( User ) ) ;
134- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
132+ let document_before_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
133+ editor. handle_message ( PortfolioMessage :: Copy ( User ) ) ;
134+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
135135 clipboard : User ,
136136 path : vec ! [ ] ,
137137 insert_index : -1 ,
138138 } ) ;
139- let document_after_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
139+ let document_after_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
140140
141141 let layers_before_copy = document_before_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
142142 let layers_after_copy = document_after_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
@@ -163,18 +163,18 @@ mod test {
163163 init_logger ( ) ;
164164 let mut editor = create_editor_with_three_layers ( ) ;
165165
166- let document_before_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
166+ let document_before_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
167167 let shape_id = document_before_copy. root . as_folder ( ) . unwrap ( ) . layer_ids [ 1 ] ;
168168
169169 editor. handle_message ( DocumentMessage :: SetSelectedLayers ( vec ! [ vec![ shape_id] ] ) ) ;
170- editor. handle_message ( DocumentsMessage :: Copy ( User ) ) ;
171- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
170+ editor. handle_message ( PortfolioMessage :: Copy ( User ) ) ;
171+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
172172 clipboard : User ,
173173 path : vec ! [ ] ,
174174 insert_index : -1 ,
175175 } ) ;
176176
177- let document_after_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
177+ let document_after_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
178178
179179 let layers_before_copy = document_before_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
180180 let layers_after_copy = document_after_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
@@ -206,7 +206,7 @@ mod test {
206206
207207 editor. handle_message ( DocumentMessage :: CreateEmptyFolder ( vec ! [ ] ) ) ;
208208
209- let document_before_added_shapes = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
209+ let document_before_added_shapes = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
210210 let folder_id = document_before_added_shapes. root . as_folder ( ) . unwrap ( ) . layer_ids [ FOLDER_INDEX ] ;
211211
212212 // TODO: This adding of a Line and Pen should be rewritten using the corresponding functions in EditorTestUtils.
@@ -228,22 +228,22 @@ mod test {
228228
229229 editor. handle_message ( DocumentMessage :: SetSelectedLayers ( vec ! [ vec![ folder_id] ] ) ) ;
230230
231- let document_before_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
231+ let document_before_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
232232
233- editor. handle_message ( DocumentsMessage :: Copy ( User ) ) ;
233+ editor. handle_message ( PortfolioMessage :: Copy ( User ) ) ;
234234 editor. handle_message ( DocumentMessage :: DeleteSelectedLayers ) ;
235- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
235+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
236236 clipboard : User ,
237237 path : vec ! [ ] ,
238238 insert_index : -1 ,
239239 } ) ;
240- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
240+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
241241 clipboard : User ,
242242 path : vec ! [ ] ,
243243 insert_index : -1 ,
244244 } ) ;
245245
246- let document_after_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
246+ let document_after_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
247247
248248 let layers_before_copy = document_before_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
249249 let layers_after_copy = document_after_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
@@ -294,26 +294,26 @@ mod test {
294294 const SHAPE_INDEX : usize = 1 ;
295295 const RECT_INDEX : usize = 0 ;
296296
297- let document_before_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
297+ let document_before_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
298298 let rect_id = document_before_copy. root . as_folder ( ) . unwrap ( ) . layer_ids [ RECT_INDEX ] ;
299299 let ellipse_id = document_before_copy. root . as_folder ( ) . unwrap ( ) . layer_ids [ ELLIPSE_INDEX ] ;
300300
301301 editor. handle_message ( DocumentMessage :: SetSelectedLayers ( vec ! [ vec![ rect_id] , vec![ ellipse_id] ] ) ) ;
302- editor. handle_message ( DocumentsMessage :: Copy ( User ) ) ;
302+ editor. handle_message ( PortfolioMessage :: Copy ( User ) ) ;
303303 editor. handle_message ( DocumentMessage :: DeleteSelectedLayers ) ;
304304 editor. draw_rect ( 0. , 800. , 12. , 200. ) ;
305- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
305+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
306306 clipboard : User ,
307307 path : vec ! [ ] ,
308308 insert_index : -1 ,
309309 } ) ;
310- editor. handle_message ( DocumentsMessage :: PasteIntoFolder {
310+ editor. handle_message ( PortfolioMessage :: PasteIntoFolder {
311311 clipboard : User ,
312312 path : vec ! [ ] ,
313313 insert_index : -1 ,
314314 } ) ;
315315
316- let document_after_copy = editor. dispatcher . documents_message_handler . active_document ( ) . graphene_document . clone ( ) ;
316+ let document_after_copy = editor. dispatcher . portfolio_message_handler . active_document ( ) . graphene_document . clone ( ) ;
317317
318318 let layers_before_copy = document_before_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
319319 let layers_after_copy = document_after_copy. root . as_folder ( ) . unwrap ( ) . layers ( ) ;
@@ -343,7 +343,7 @@ mod test {
343343 fn map_to_vec ( paths : Vec < & [ LayerId ] > ) -> Vec < Vec < LayerId > > {
344344 paths. iter ( ) . map ( |layer| layer. to_vec ( ) ) . collect :: < Vec < _ > > ( )
345345 }
346- let sorted_layers = map_to_vec ( editor. dispatcher . documents_message_handler . active_document ( ) . all_layers_sorted ( ) ) ;
346+ let sorted_layers = map_to_vec ( editor. dispatcher . portfolio_message_handler . active_document ( ) . all_layers_sorted ( ) ) ;
347347 println ! ( "Sorted layers: {:?}" , sorted_layers) ;
348348
349349 let verify_order = |handler : & mut DocumentMessageHandler | {
@@ -357,15 +357,15 @@ mod test {
357357 editor. handle_message ( DocumentMessage :: SetSelectedLayers ( sorted_layers[ ..2 ] . to_vec ( ) ) ) ;
358358
359359 editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( 1 ) ) ;
360- let ( all, non_selected, selected) = verify_order ( editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
360+ let ( all, non_selected, selected) = verify_order ( editor. dispatcher . portfolio_message_handler . active_document_mut ( ) ) ;
361361 assert_eq ! ( all, non_selected. into_iter( ) . chain( selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
362362
363363 editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( -1 ) ) ;
364- let ( all, non_selected, selected) = verify_order ( editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
364+ let ( all, non_selected, selected) = verify_order ( editor. dispatcher . portfolio_message_handler . active_document_mut ( ) ) ;
365365 assert_eq ! ( all, selected. into_iter( ) . chain( non_selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
366366
367367 editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( i32:: MAX ) ) ;
368- let ( all, non_selected, selected) = verify_order ( editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
368+ let ( all, non_selected, selected) = verify_order ( editor. dispatcher . portfolio_message_handler . active_document_mut ( ) ) ;
369369 assert_eq ! ( all, non_selected. into_iter( ) . chain( selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
370370 }
371371}
0 commit comments