I Visual Components sono implementati in FRE for Windows.
Component Synchronizer è un componente speciale che reagisce automaticamente ai diversi eventi dei Visual Components. È possibile collegare più Visual Components al Synchronizer e farli funzionare come un’unica applicazione.Non è necessario usare Component Synchronizer con tutti i componenti collegati, ma solo con quelli effettivamente utilizzati. Ad esempio, è possibile collegare solo Image Viewer tramite la proprietà ImageViewer e Text Editor tramite la proprietà TextEditor.Component Synchronizer non dispone di un’interfaccia utente. Non usa funzionalità interne dei Visual Components, ma solo la COM API dei componenti. Component Synchronizer funziona come descritto di seguito.
Quando un componente è collegato al Synchronizer tramite l’API
Se un componente o un oggetto è collegato a Component Synchronizer tramite:
la proprietà ImageViewer
In questo caso, la proprietà IComponentSynchronizer::ImageViewer viene impostata sull’oggetto ImageViewer specificato, quindi vengono eseguite le operazioni seguenti:
La proprietà
Viene impostata su
IImageViewer::ZoomRectEnabled
True
IImageViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IImageViewer::FRPage
La pagina di IComponentSynchronizer::Document con indice IComponentSynchronizer::PageIndex
la proprietà ZoomViewer
In questo caso, la proprietà IComponentSynchronizer::ZoomViewer viene impostata sull’oggetto ZoomViewer specificato, quindi vengono eseguite le operazioni seguenti:
La proprietà
Viene impostata su
IZoomViewer::SymbolRectEnabled
True
IZoomViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IZoomViewer::FRPage
La pagina di IComponentSynchronizer::Document con indice IComponentSynchronizer::PageIndex
la proprietà TextEditor
In questo caso, la proprietà IComponentSynchronizer::TextEditor viene impostata sull’oggetto TextEditor specificato, quindi vengono eseguite le operazioni seguenti:
La proprietà
Viene impostata su
ITextEditor::SynthesisParamsForDocument
Il valore della proprietà SynthesisParamsForDocument dell’oggetto IComponentSynchronizer::DocumentProcessingParams
ITextEditor::FRPage
La pagina di IComponentSynchronizer::Document con indice IComponentSynchronizer::PageIndex
la proprietà TextValidator
In questo caso, la proprietà IComponentSynchronizer::TextValidator viene impostata sull’oggetto TextValidator specificato, quindi vengono eseguite le operazioni seguenti:
La proprietà
Viene impostata su
ITextValidator::SynthesisParamsForDocument
Il valore della proprietà SynthesisParamsForDocument dell’oggetto IComponentSynchronizer::DocumentProcessingParams
ITextValidator::FRDocument
IComponentSynchronizer::Document
la proprietà DocumentViewer
In questo caso, la proprietà IComponentSynchronizer::DocumentViewer viene impostata sull’oggetto DocumentViewer specificato, quindi vengono eseguite le operazioni seguenti:
La proprietà
Viene impostata su
IDocumentViewer::FRDocument
IComponentSynchronizer::Document
IDocumentViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IDocumentViewer::ActivePage
La pagina di IComponentSynchronizer::Document con indice IComponentSynchronizer::PageIndex
la proprietà Document
In questo caso, la proprietà IComponentSynchronizer::Document viene impostata sull’oggetto FRDocument specificato, quindi vengono eseguite le operazioni seguenti:
In questo caso, la proprietà IComponentSynchronizer::DocumentProcessingParams viene impostata sull’oggetto DocumentProcessingParams specificato, quindi vengono eseguite le operazioni seguenti:
Se Image Viewer genera l’evento OnTableCellsSelected, Component Synchronizer chiama il metodo ShowBlock dell’oggetto TextEditor con l’indice del Block selezionato e l’indice della cella in basso a destra.
l'evento OnAfterDblClick
Se Image Viewer genera l’evento OnAfterDblClick, Component Synchronizer esegue le seguenti operazioni:
Se Image Viewer genera l’evento OnActivePageChanged e le proprietà ZoomViewer, TextEditor, DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate, la proprietà FRPage o ActivePage del componente corrispondente viene impostata sulla pagina specificata del documento.
l'evento OnSelectTool
Se Image Viewer genera l’evento OnSelectTool, Component Synchronizer esegue le seguenti operazioni:
Se Image Viewer genera l’evento OnOptionsChanged e le proprietà ZoomViewer, DocumentViewer, TextEditor, TextValidator dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo UpdateOptions degli oggetti ZoomViewer, DocumentViewer, TextEditor, TextValidator.
Eventi dello Zoom Viewer connesso:
l'evento OnVisibleDocumentAreaChanged
Se Zoom Viewer genera l’evento OnVisibleDocumentAreaChange, Component Synchronizer esegue le seguenti operazioni:
Se Zoom Viewer genera l’evento OnTableCellsSelected, Component Synchronizer chiama il metodo ShowBlock dell’oggetto TextEditor con l’indice del Block selezionato e l’indice della cella in basso a destra.
l'evento OnAfterDblClick
Se Zoom Viewer genera l’evento OnAfterDblClick, Component Synchronizer esegue le seguenti operazioni:
Se Zoom Viewer genera l’evento OnActivePageChanged e le proprietà ImageViewer, TextEditor e DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate, la proprietà FRPage o ActivePage del componente corrispondente viene impostata sulla pagina specificata del documento.
l'evento OnSelectTool
Se Zoom Viewer genera l’evento OnSelectTool, Component Synchronizer esegue le seguenti operazioni:
Se Zoom Viewer genera l’evento OnOptionsChanged e le proprietà ImageViewer, DocumentViewer, TextEditor e TextValidator dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo UpdateOptions degli oggetti ImageViewer, DocumentViewer, TextEditor e TextValidator.
Eventi del Document Viewer connesso:
l'evento OnActivePageChanged
Se Document Viewer genera l’evento OnActivePageChanged e le proprietà ImageViewer, ZoomViewer e TextEditor dell’oggetto ComponentSynchronizer sono già state impostate, la proprietà FRPage del componente corrispondente viene impostata sulla pagina specificata del documento.
l'evento OnDocumentChanged
Se Document Viewer genera l’evento OnDocumentChanged e le proprietà ImageViewer, ZoomViewer, TextEditor e TextValidator dell’oggetto ComponentSynchronizer sono già state impostate:
la proprietà FRDocument dell’oggetto TextValidator viene impostata sul nuovo documento
le proprietà FRPage degli oggetti ImageViewer, ZoomViewer e TextEditor e la proprietà ActivePage dell’oggetto DocumentViewer vengono impostate sulla prima pagina del nuovo documento
l'evento OnOptionsChanged
Se Document Viewer genera l’evento OnOptionsChanged e le proprietà ImageViewer, ZoomViewer, TextEditor e TextValidator dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo UpdateOptions degli oggetti ImageViewer, ZoomViewer, TextEditor e TextValidator.
Eventi del Text Editor connesso:
l'evento OnEditorBlockChanged
Se Text Editor genera l’evento OnEditorBlockChanged, ComponentSynchronizer esegue le seguenti operazioni:
Se le proprietà ImageViewer e ZoomViewer dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo SetSelectedBlocksIndices degli oggetti ImageViewer e ZoomViewer per il blocco specificato.
Se si tratta di un blocco di tabella, viene chiamato il metodo SetSelectedCells degli oggetti ImageViewer e ZoomViewer per la cella selezionata.
Quindi viene chiamato il metodo ShowDocumentArea degli oggetti ImageViewer e ZoomViewer.
l'evento OnSymbolSelected
Se Text Editor genera l’evento OnSymbolSelected, Component Synchronizer esegue le seguenti operazioni:
Se Text Editor genera l’evento OnActivePageChanged e le proprietà ImageViewer, ZoomViewer e DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate, la proprietà FRPage o ActivePage del componente corrispondente viene impostata sulla pagina del documento specificata.
l'evento OnOptionsChanged
Se Text Editor genera l’evento OnOptionsChanged e le proprietà ImageViewer, ZoomViewer, DocumentViewer e TextValidator dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo UpdateOptions degli oggetti ImageViewer, ZoomViewer, DocumentViewer e TextValidator.
Eventi del Text Validator connesso:
l'evento OnSymbolSelected
Se Text Validator genera l’evento OnSymbolSelected, Component Synchronizer esegue le seguenti operazioni:
Se Text Validator genera l’evento OnActivePageChanged e le proprietà ImageViewer, ZoomViewer, TextEditor e DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate, la proprietà FRPage o ActivePage del componente corrispondente viene impostata sulla pagina del documento specificata.
l'evento OnDocumentChanged
Se Text Validator genera l’evento OnDocumentChanged e le proprietà ImageViewer, ZoomViewer, TextEditor e DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate:
la proprietà FRDocument dell’oggetto DocumentViewer viene impostata sul nuovo documento
la proprietà FRPage degli oggetti ImageViewer, ZoomViewer e TextEditor e la proprietà ActivePage dell’oggetto DocumentViewer vengono impostate sulla prima pagina del nuovo documento
l'evento OnOptionsChanged
Se Text Validator genera l’evento OnOptionsChanged e le proprietà ImageViewer, ZoomViewer, TextEditor e DocumentViewer dell’oggetto ComponentSynchronizer sono già state impostate, viene chiamato il metodo UpdateOptions degli oggetti ImageViewer, ZoomViewer, TextEditor e DocumentViewer.