Visual Components están implementados en FRE para Windows.
Component Synchronizer es un componente especial que implementa una respuesta automática a distintos eventos en los Visual Components. Puede conectar varios Visual Components al Synchronizer y funcionarán como una sola aplicación.No es necesario usar Component Synchronizer con todo el conjunto de componentes conectados; conecte solo los que utilice. Por ejemplo, puede conectar únicamente Image Viewer mediante la propiedad ImageViewer y Text Editor mediante la propiedad TextEditor.Component Synchronizer no tiene interfaz de usuario. No utiliza ninguna funcionalidad interna de los Visual Components; usa únicamente la API COM de los componentes. Component Synchronizer funciona como se describe a continuación.
Cuando un componente se conecta al Synchronizer a través de la API
Si un componente o un objeto se conecta a Component Synchronizer a través de:
la propiedad ImageViewer
En este caso, la propiedad IComponentSynchronizer::ImageViewer se establece en el objeto ImageViewer especificado, y luego se realizan las siguientes operaciones:
La propiedad
Se establece en
IImageViewer::ZoomRectEnabled
True
IImageViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IImageViewer::FRPage
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
la propiedad ZoomViewer
En este caso, la propiedad IComponentSynchronizer::ZoomViewer se establece en el objeto ZoomViewer especificado, y luego se realizan las siguientes operaciones:
La propiedad
Se establece en
IZoomViewer::SymbolRectEnabled
True
IZoomViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IZoomViewer::FRPage
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
la propiedad TextEditor
En este caso, la propiedad IComponentSynchronizer::TextEditor se establece en el objeto TextEditor especificado, y luego se realizan las siguientes operaciones:
La propiedad
Se establece en
ITextEditor::SynthesisParamsForDocument
El valor de la propiedad SynthesisParamsForDocument del objeto IComponentSynchronizer::DocumentProcessingParams
ITextEditor::FRPage
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
la propiedad TextValidator
En este caso, la propiedad IComponentSynchronizer::TextValidator se establece en el objeto TextValidator especificado, y luego se realizan las siguientes operaciones:
La propiedad
Se establece en
ITextValidator::SynthesisParamsForDocument
El valor de la propiedad SynthesisParamsForDocument del objeto IComponentSynchronizer::DocumentProcessingParams
ITextValidator::FRDocument
IComponentSynchronizer::Document
la propiedad DocumentViewer
En este caso, la propiedad IComponentSynchronizer::DocumentViewer se establece en el objeto DocumentViewer especificado, y luego se realizan las siguientes operaciones:
La propiedad
Se establece en
IDocumentViewer::FRDocument
IComponentSynchronizer::Document
IDocumentViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IDocumentViewer::ActivePage
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
la propiedad Document
En este caso, la propiedad IComponentSynchronizer::Document se establece en el objeto FRDocument especificado, y luego se realizan las siguientes operaciones:
En este caso, la propiedad IComponentSynchronizer::DocumentProcessingParams se establece en el objeto DocumentProcessingParams especificado, y luego se realizan las siguientes operaciones:
Si Image Viewer genera el evento OnTableCellsSelected, Component Synchronizer llama al método ShowBlock del objeto TextEditor con el índice del bloque seleccionado y el índice de la celda de la esquina inferior derecha.
el evento OnAfterDblClick
Si Image Viewer genera el evento OnAfterDblClick, Component Synchronizer realiza las siguientes operaciones:
Si Image Viewer genera el evento OnActivePageChanged y las Propiedades ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
el evento OnSelectTool
Si Image Viewer genera el evento OnSelectTool, Component Synchronizer realiza las siguientes operaciones:
Si Image Viewer genera el evento OnOptionsChanged y las Propiedades ZoomViewer, DocumentViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ZoomViewer, DocumentViewer, TextEditor y TextValidator.
Eventos del Zoom Viewer conectado:
el evento OnVisibleDocumentAreaChanged
Si Zoom Viewer genera el evento OnVisibleDocumentAreaChange, Component Synchronizer realiza las siguientes operaciones:
Si Zoom Viewer genera el evento OnTableCellsSelected, Component Synchronizer llama al método ShowBlock del objeto TextEditor con el índice del bloque seleccionado y el índice de la celda de la esquina inferior derecha.
el evento OnAfterDblClick
Si Zoom Viewer genera el evento OnAfterDblClick, Component Synchronizer realiza las siguientes operaciones:
Si Zoom Viewer genera el evento OnActivePageChanged y las propiedades ImageViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
el evento OnSelectTool
Si Zoom Viewer genera el evento OnSelectTool, Component Synchronizer realiza las siguientes operaciones:
Si Zoom Viewer genera el evento OnOptionsChanged y las propiedades ImageViewer, DocumentViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ImageViewer, DocumentViewer, TextEditor y TextValidator.
Eventos del Document Viewer conectado:
el evento OnActivePageChanged
Si Document Viewer genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer y TextEditor del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage del componente correspondiente se establece en la página especificada del documento.
el evento OnDocumentChanged
Si Document Viewer genera el evento OnDocumentChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido:
la propiedad FRDocument del objeto TextValidator se establece en el nuevo documento
las propiedades FRPage de los objetos ImageViewer, ZoomViewer y TextEditor, y la propiedad ActivePage del objeto DocumentViewer, se establecen en la primera página del nuevo documento
el evento OnOptionsChanged
Si Document Viewer genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, TextEditor y TextValidator.
Eventos del Text Editor conectado:
el evento OnEditorBlockChanged
Si Text Editor genera el evento OnEditorBlockChanged, ComponentSynchronizer realiza las siguientes operaciones:
Si las propiedades ImageViewer y ZoomViewer del objeto ComponentSynchronizer ya se han establecido, se llama al método SetSelectedBlocksIndices de los objetos ImageViewer y ZoomViewer para el bloque especificado.
Si es un bloque de la tabla, se llama al método SetSelectedCells de los objetos ImageViewer y ZoomViewer para la celda seleccionada.
A continuación, se llama al método ShowDocumentArea de los objetos ImageViewer y ZoomViewer.
el evento OnSymbolSelected
Si Text Editor genera el evento OnSymbolSelected, Component Synchronizer realiza las siguientes operaciones:
Si el Text Editor genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer y DocumentViewer del objeto ComponentSynchronizer ya están establecidas, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
el evento OnOptionsChanged
Si el Text Editor genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, DocumentViewer y TextValidator del objeto ComponentSynchronizer ya están establecidas, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, DocumentViewer y TextValidator.
Eventos del Text Validator conectado:
el evento OnSymbolSelected
Si el Text Validator genera el evento OnSymbolSelected, Component Synchronizer realiza las siguientes operaciones:
Si el Text Validator genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya están establecidas, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
el evento OnDocumentChanged
Si el Text Validator genera el evento OnDocumentChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya están establecidas:
la propiedad FRDocument del objeto DocumentViewer se establece en el nuevo documento
la propiedad FRPage de los objetos ImageViewer, ZoomViewer y TextEditor, y la propiedad ActivePage del objeto DocumentViewer, se establecen en la primera página del nuevo documento
el evento OnOptionsChanged
Si el Text Validator genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya están establecidas, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, TextEditor y DocumentViewer.