Visual Components are implemented in FRE for Windows.
Component Synchronizer is a special component that implements an automatic reaction to different events in the Visual Components. You can connect several Visual Components to the Synchronizer, and they will work as a single application.You do not need to use Component Synchronizer with the whole set of the components connected, but connect only those which you use. For example, you can connect to it only Image Viewer via the ImageViewer property and Text Editor via the TextEditor property.Component Synchronizer does not have a user interface. It does not use any internal features of the Visual Components, it uses only the COM API of the components. Component Synchronizer works as described below.
When a component is connected to the Synchronizer through the API
If a component or an object is connected to Component Synchronizer through:
the ImageViewer property
In this case, the IComponentSynchronizer::ImageViewer property is set to the specified ImageViewer object, and then the following operations are performed:
The property
Is set to
IImageViewer::ZoomRectEnabled
True
IImageViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IImageViewer::FRPage
The page in the IComponentSynchronizer::Document with the IComponentSynchronizer::PageIndex index
the ZoomViewer property
In this case, the IComponentSynchronizer::ZoomViewer property is set to the specified ZoomViewer object, and then the following operations are performed:
The property
Is set to
IZoomViewer::SymbolRectEnabled
True
IZoomViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IZoomViewer::FRPage
The page in the IComponentSynchronizer::Document with the IComponentSynchronizer::PageIndex index
the TextEditor property
In this case, the IComponentSynchronizer::TextEditor property is set to the specified TextEditor object, and then the following operations are performed:
The property
Is set to
ITextEditor::SynthesisParamsForDocument
The value of the SynthesisParamsForDocument property of the IComponentSynchronizer::DocumentProcessingParams object
ITextEditor::FRPage
The page in the IComponentSynchronizer::Document with the IComponentSynchronizer::PageIndex index
the TextValidator property
In this case, the IComponentSynchronizer::TextValidator property is set to the specified TextValidator object, and then the following operations are performed:
The property
Is set to
ITextValidator::SynthesisParamsForDocument
The value of the SynthesisParamsForDocument property of the IComponentSynchronizer::DocumentProcessingParams object
ITextValidator::FRDocument
IComponentSynchronizer::Document
the DocumentViewer property
In this case, the IComponentSynchronizer::DocumentViewer property is set to the specified DocumentViewer object, and then the following operations are performed:
The property
Is set to
IDocumentViewer::FRDocument
IComponentSynchronizer::Document
IDocumentViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IDocumentViewer::ActivePage
The page in the IComponentSynchronizer::Document with the IComponentSynchronizer::PageIndex index
the Document property
In this case, the IComponentSynchronizer::Document property is set to the specified FRDocument object, and then the following operations are performed:
In this case, the IComponentSynchronizer::DocumentProcessingParams property is set to the specified DocumentProcessingParams object, and then the following operations are performed:
If Image Viewer generates the OnTableCellsSelected event, Component Synchronizer calls the ShowBlock method of the TextEditor object with the selected block index and the lower right cell index.
the OnAfterDblClick event
If Image Viewer generates the OnAfterDblClick event, Component Synchronizer performs the following operations:
If Image Viewer generates the OnActivePageChanged event and the ZoomViewer, TextEditor, DocumentViewer properties of the ComponentSynchronizer object have already been set, the FRPage or ActivePage property of the corresponding component is set to the specified page of the document.
the OnSelectTool event
If Image Viewer generates the OnSelectTool event, Component Synchronizer performs the following operations:
If Image Viewer generates the OnOptionsChanged event and the ZoomViewer, DocumentViewer, TextEditor, TextValidator properties of the ComponentSynchronizer object have already been set, the UpdateOptions method of the ZoomViewer, DocumentViewer, TextEditor, TextValidator objects is called.
Events of the connected Zoom Viewer:
the OnVisibleDocumentAreaChanged event
If Zoom Viewer generates the OnVisibleDocumentAreaChange event, Component Synchronizer performs the following operations:
If Zoom Viewer generates the OnTableCellsSelected event, Component Synchronizer calls the ShowBlock method of the TextEditor object with the selected block index and the lower right cell index.
the OnAfterDblClick event
If Zoom Viewer generates the OnAfterDblClick event, Component Synchronizer performs the following operations:
If Zoom Viewer generates the OnActivePageChanged event and the ImageViewer, TextEditor, DocumentViewer properties of the ComponentSynchronizer object have already been set, the FRPage or ActivePage property of the corresponding component is set to the specified page of the document.
the OnSelectTool event
If Zoom Viewer generates the OnSelectTool event, Component Synchronizer performs the following operations:
If Zoom Viewer generates the OnOptionsChanged event and the ImageViewer, DocumentViewer, TextEditor, TextValidator properties of the ComponentSynchronizer object have already been set, the UpdateOptions method of the ImageViewer, DocumentViewer, TextEditor, TextValidator objects is called.
Events of the connected Document Viewer:
the OnActivePageChanged event
If Document Viewer generates the OnActivePageChanged event and the ImageViewer, ZoomViewer, TextEditor properties of the ComponentSynchronizer object have already been set, the FRPage property of the corresponding component is set to the specified page of the document.
the OnDocumentChanged event
If Document Viewer generates the OnDocumentChanged event and the ImageViewer, ZoomViewer, TextEditor, TextValidator properties of the ComponentSynchronizer object have already been set:
the FRDocument property of the TextValidator object is set to the new document
the FRPage property of the ImageViewer, ZoomViewer, and TextEditor objects and the ActivePage property of the DocumentViewer object are set to the first page of the new document
the OnOptionsChanged event
If Document Viewer generates the OnOptionsChanged event and the ImageViewer, ZoomViewer, TextEditor, TextValidator properties of the ComponentSynchronizer object have already been set, the UpdateOptions method of the ImageViewer, ZoomViewer, TextEditor, TextValidator objects is called.
Events of the connected Text Editor:
the OnEditorBlockChanged event
If Text Editor generates the OnEditorBlockChanged event, the ComponentSynchronizer performs the following operations:
If the ImageViewer, ZoomViewer properties of the ComponentSynchronizer object have already been set, the SetSelectedBlocksIndices method of the ImageViewer and ZoomViewer object is called for the specified block.
If it is a table block, the SetSelectedCells method of the ImageViewer and ZoomViewer object is called for the selected cell.
Then the ShowDocumentArea method of the ImageViewer and ZoomViewer object is called.
the OnSymbolSelected event
If Text Editor generates the OnSymbolSelected event, Component Synchronizer performs the following operations:
If Text Editor generates the OnActivePageChanged event and the ImageViewer, ZoomViewer, DocumentViewer properties of the ComponentSynchronizer object have already been set, the FRPage or ActivePage property of the corresponding component is set to the specified page of the document.
the OnOptionsChanged event
If Text Editor generates the OnOptionsChanged event and the ImageViewer, ZoomViewer, DocumentViewer, TextValidator properties of the ComponentSynchronizer object have already been set, the UpdateOptions method of the ImageViewer, ZoomViewer, DocumentViewer, TextValidator objects is called.
Events of the connected Text Validator:
the OnSymbolSelected event
If Text Validator generates the OnSymbolSelected event, Component Synchronizer performs the following operations:
If Text Validator generates the OnActivePageChanged event and the ImageViewer, ZoomViewer, TextEditor, DocumentViewer properties of the ComponentSynchronizer object have already been set, the FRPage or ActivePage property of the corresponding component is set to the specified page of the document.
the OnDocumentChanged event
If Text Validator generates the OnDocumentChanged event and the ImageViewer, ZoomViewer, TextEditor, DocumentViewer properties of the ComponentSynchronizer object have already been set:
the FRDocument property of the DocumentViewer object is set to the new document
the FRPage property of the ImageViewer, ZoomViewer, and TextEditor objects and the ActivePage property of the DocumentViewer object are set to the first page of the new document
the OnOptionsChanged event
If Text Validator generates the OnOptionsChanged event and the ImageViewer, ZoomViewer, TextEditor, DocumentViewer properties of the ComponentSynchronizer object have already been set, the UpdateOptions method of the ImageViewer, ZoomViewer, TextEditor, DocumentViewer objects is called.