Visual Components são implementados no FRE for Windows.
Component Synchronizer é um componente especial que implementa reações automáticas a diferentes eventos nos Visual Components. Você pode conectar vários Visual Components ao Synchronizer, e eles funcionarão como um único aplicativo.Você não precisa usar o Component Synchronizer com todo o conjunto de componentes conectados, mas apenas com aqueles que utiliza. Por exemplo, é possível conectar a ele apenas o Image Viewer por meio da propriedade ImageViewer e o Text Editor por meio da propriedade TextEditor.O Component Synchronizer não tem interface de usuário. Ele não usa nenhum recurso interno dos Visual Components; usa apenas a API COM dos componentes. O Component Synchronizer funciona conforme descrito abaixo.
Quando um componente é conectado ao Synchronizer por meio da API
Se um componente ou objeto for conectado ao Component Synchronizer por meio de:
a propriedade ImageViewer
Nesse caso, a propriedade IComponentSynchronizer::ImageViewer é definida para o objeto ImageViewer especificado, e as seguintes operações são executadas:
A propriedade
Recebe o valor
IImageViewer::ZoomRectEnabled
True
IImageViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IImageViewer::FRPage
A página em IComponentSynchronizer::Document no índice IComponentSynchronizer::PageIndex
a propriedade ZoomViewer
Nesse caso, a propriedade IComponentSynchronizer::ZoomViewer é definida para o objeto ZoomViewer especificado, e as seguintes operações são executadas:
A propriedade
Recebe o valor
IZoomViewer::SymbolRectEnabled
True
IZoomViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IZoomViewer::FRPage
A página em IComponentSynchronizer::Document no índice IComponentSynchronizer::PageIndex
a propriedade TextEditor
Nesse caso, a propriedade IComponentSynchronizer::TextEditor é definida para o objeto TextEditor especificado, e as seguintes operações são executadas:
A propriedade
Recebe o valor
ITextEditor::SynthesisParamsForDocument
O valor da propriedade SynthesisParamsForDocument do objeto IComponentSynchronizer::DocumentProcessingParams
ITextEditor::FRPage
A página em IComponentSynchronizer::Document no índice IComponentSynchronizer::PageIndex
a propriedade TextValidator
Nesse caso, a propriedade IComponentSynchronizer::TextValidator é definida para o objeto TextValidator especificado, e as seguintes operações são executadas:
A propriedade
Recebe o valor
ITextValidator::SynthesisParamsForDocument
O valor da propriedade SynthesisParamsForDocument do objeto IComponentSynchronizer::DocumentProcessingParams
ITextValidator::FRDocument
IComponentSynchronizer::Document
a propriedade DocumentViewer
Nesse caso, a propriedade IComponentSynchronizer::DocumentViewer é definida para o objeto DocumentViewer especificado, e as seguintes operações são executadas:
A propriedade
Recebe o valor
IDocumentViewer::FRDocument
IComponentSynchronizer::Document
IDocumentViewer::DocumentProcessingParams
IComponentSynchronizer::DocumentProcessingParams
IDocumentViewer::ActivePage
A página em IComponentSynchronizer::Document no índice IComponentSynchronizer::PageIndex
a propriedade Document
Nesse caso, a propriedade IComponentSynchronizer::Document é definida para o objeto FRDocument especificado, e as seguintes operações são executadas:
Nesse caso, a propriedade IComponentSynchronizer::DocumentProcessingParams é definida para o objeto DocumentProcessingParams especificado, e as seguintes operações são executadas:
Se o Image Viewer disparar o evento OnTableCellsSelected, o Component Synchronizer chama o método ShowBlock do objeto TextEditor com o índice do bloco selecionado e o índice da célula inferior direita.
o evento OnAfterDblClick
Se o Image Viewer disparar o evento OnAfterDblClick, o Component Synchronizer executa as seguintes operações:
Se o Image Viewer disparar o evento OnActivePageChanged e as propriedades ZoomViewer, TextEditor e DocumentViewer do objeto ComponentSynchronizer já estiverem definidas, a propriedade FRPage ou ActivePage do componente correspondente será definida para a página especificada do documento.
o evento OnSelectTool
Se o Image Viewer disparar o evento OnSelectTool, o Component Synchronizer executa as seguintes operações:
Se o Image Viewer disparar o evento OnOptionsChanged e as propriedades ZoomViewer, DocumentViewer, TextEditor e TextValidator do objeto ComponentSynchronizer já estiverem definidas, o método UpdateOptions dos objetos ZoomViewer, DocumentViewer, TextEditor e TextValidator será chamado.
Eventos do Zoom Viewer conectado:
o evento OnVisibleDocumentAreaChanged
Se o Zoom Viewer disparar o evento OnVisibleDocumentAreaChange, o Component Synchronizer executa as seguintes operações:
Se o Zoom Viewer disparar o evento OnTableCellsSelected, o Component Synchronizer chama o método ShowBlock do objeto TextEditor com o índice do bloco selecionado e o índice da célula inferior direita.
o evento OnAfterDblClick
Se o Zoom Viewer gerar o evento OnAfterDblClick, o Component Synchronizer executará as seguintes operações:
Se o Zoom Viewer gerar o evento OnActivePageChanged e as propriedades ImageViewer, TextEditor e DocumentViewer do objeto ComponentSynchronizer já tiverem sido definidas, a propriedade FRPage ou ActivePage do componente correspondente será definida como a página especificada do documento.
o evento OnSelectTool
Se o Zoom Viewer gerar o evento OnSelectTool, o Component Synchronizer executará as seguintes operações:
Se o Zoom Viewer gerar o evento OnOptionsChanged e as propriedades ImageViewer, DocumentViewer, TextEditor e TextValidator do objeto ComponentSynchronizer já tiverem sido definidas, o método UpdateOptions dos objetos ImageViewer, DocumentViewer, TextEditor e TextValidator será chamado.
Eventos do Document Viewer conectado:
o evento OnActivePageChanged
Se o Document Viewer gerar o evento OnActivePageChanged e as propriedades ImageViewer, ZoomViewer e TextEditor do objeto ComponentSynchronizer já tiverem sido definidas, a propriedade FRPage do componente correspondente será definida como a página especificada do documento.
o evento OnDocumentChanged
Se o Document Viewer gerar o evento OnDocumentChanged e as propriedades ImageViewer, ZoomViewer, TextEditor e TextValidator do objeto ComponentSynchronizer já tiverem sido definidas:
a propriedade FRDocument do objeto TextValidator será definida como o novo documento
as propriedades FRPage dos objetos ImageViewer, ZoomViewer e TextEditor, e a propriedade ActivePage do objeto DocumentViewer, serão definidas como a primeira página do novo documento
o evento OnOptionsChanged
Se o Document Viewer gerar o evento OnOptionsChanged e as propriedades ImageViewer, ZoomViewer, TextEditor e TextValidator do objeto ComponentSynchronizer já tiverem sido definidas, o método UpdateOptions dos objetos ImageViewer, ZoomViewer, TextEditor e TextValidator será chamado.
Eventos do Text Editor conectado:
o evento OnEditorBlockChanged
Se o Text Editor gerar o evento OnEditorBlockChanged, o ComponentSynchronizer executará as seguintes operações:
Se as propriedades ImageViewer e ZoomViewer do objeto ComponentSynchronizer já tiverem sido definidas, o método SetSelectedBlocksIndices dos objetos ImageViewer e ZoomViewer será chamado para o bloco especificado.
Se for um bloco de tabela, o método SetSelectedCells dos objetos ImageViewer e ZoomViewer será chamado para a célula selecionada.
Em seguida, o método ShowDocumentArea dos objetos ImageViewer e ZoomViewer será chamado.
o evento OnSymbolSelected
Se o Text Editor gerar o evento OnSymbolSelected, o Component Synchronizer executará as seguintes operações:
Se o Text Editor gerar o evento OnActivePageChanged e as propriedades ImageViewer, ZoomViewer e DocumentViewer do objeto ComponentSynchronizer já tiverem sido definidas, a propriedade FRPage ou ActivePage do componente correspondente será definida para a página especificada do documento.
o evento OnOptionsChanged
Se o Text Editor gerar o evento OnOptionsChanged e as propriedades ImageViewer, ZoomViewer, DocumentViewer e TextValidator do objeto ComponentSynchronizer já tiverem sido definidas, o método UpdateOptions dos objetos ImageViewer, ZoomViewer, DocumentViewer e TextValidator será chamado.
Eventos do Text Validator conectado:
o evento OnSymbolSelected
Se o Text Validator gerar o evento OnSymbolSelected, o Component Synchronizer executará as seguintes operações:
Se o Text Validator gerar o evento OnActivePageChanged e as propriedades ImageViewer, ZoomViewer, TextEditor e DocumentViewer do objeto ComponentSynchronizer já tiverem sido definidas, a propriedade FRPage ou ActivePage do componente correspondente será definida para a página especificada do documento.
o evento OnDocumentChanged
Se o Text Validator gerar o evento OnDocumentChanged e as propriedades ImageViewer, ZoomViewer, TextEditor e DocumentViewer do objeto ComponentSynchronizer já tiverem sido definidas:
a propriedade FRDocument do objeto DocumentViewer será definida para o novo documento
a propriedade FRPage dos objetos ImageViewer, ZoomViewer e TextEditor e a propriedade ActivePage do objeto DocumentViewer serão definidas para a primeira página do novo documento
o evento OnOptionsChanged
Se o Text Validator gerar o evento OnOptionsChanged e as propriedades ImageViewer, ZoomViewer, TextEditor e DocumentViewer do objeto ComponentSynchronizer já tiverem sido definidas, o método UpdateOptions dos objetos ImageViewer, ZoomViewer, TextEditor e DocumentViewer será chamado.