Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Les composants visuels sont implémentés dans FRE pour Windows.
Component Synchronizer est un composant spécial qui met en œuvre une réaction automatique à différents événements au niveau des composants visuels. Vous pouvez connecter plusieurs composants visuels à Component Synchronizer, et ils fonctionneront comme une seule application. Vous n’avez pas besoin d’utiliser Component Synchronizer avec l’ensemble des composants connectés, mais uniquement avec ceux que vous utilisez. Par exemple, vous pouvez y connecter seulement Image Viewer via la propriété ImageViewer et Text Editor via la propriété TextEditor. Component Synchronizer ne possède pas d’interface utilisateur. Il n’utilise aucune fonctionnalité interne des composants visuels ; il utilise uniquement l’API COM des composants. Component Synchronizer fonctionne comme décrit ci-dessous.

Lorsqu’un composant est connecté au Synchronizer via l’API

Si un composant ou un objet est connecté à Component Synchronizer via :
Dans ce cas, la propriété IComponentSynchronizer::ImageViewer est définie sur l’objet ImageViewer spécifié, puis les opérations suivantes sont effectuées :
La propriétéEst définie sur
True
La page du IComponentSynchronizer::Document ayant pour indice IComponentSynchronizer::PageIndex
Dans ce cas, la propriété IComponentSynchronizer::ZoomViewer est définie sur l’objet ZoomViewer spécifié, puis les opérations suivantes sont effectuées :
La propriétéEst définie sur
True
La page du IComponentSynchronizer::Document ayant pour indice IComponentSynchronizer::PageIndex
Dans ce cas, la propriété IComponentSynchronizer::TextEditor est définie sur l’objet TextEditor spécifié, puis les opérations suivantes sont effectuées :
La propriétéEst définie sur
La valeur de la propriété SynthesisParamsForDocument de l’objet IComponentSynchronizer::DocumentProcessingParams
La page du IComponentSynchronizer::Document ayant pour indice IComponentSynchronizer::PageIndex
Dans ce cas, la propriété IComponentSynchronizer::TextValidator est définie sur l’objet TextValidator spécifié, puis les opérations suivantes sont effectuées :
La propriétéEst définie sur
La valeur de la propriété SynthesisParamsForDocument de l’objet IComponentSynchronizer::DocumentProcessingParams
Dans ce cas, la propriété IComponentSynchronizer::DocumentViewer est définie sur l’objet DocumentViewer spécifié, puis les opérations suivantes sont exécutées :
PropriétéValeur définie
La page de IComponentSynchronizer::Document ayant pour indice IComponentSynchronizer::PageIndex
Dans ce cas, la propriété IComponentSynchronizer::Document est définie sur l’objet FRDocument spécifié, puis les opérations suivantes sont exécutées :
PropriétéValeur définie



La première page de IComponentSynchronizer::Document
0

Dans ce cas, la propriété IComponentSynchronizer::DocumentProcessingParams est définie sur l’objet DocumentProcessingParams spécifié, puis les opérations suivantes sont exécutées :
PropriétéValeur définie



La valeur de la propriété SynthesisParamsForDocument de l’objet IComponentSynchronizer::DocumentProcessingParams
Dans ce cas, la propriété IComponentSynchronizer::PageIndex est définie sur la valeur spécifiée, puis les opérations suivantes sont exécutées :
PropriétéValeur définie



La page de IComponentSynchronizer::Document ayant pour indice IComponentSynchronizer::PageIndex

Lorsqu’un composant connecté déclenche un événement

Événements de l’Image Viewer connecté :
Si Image Viewer déclenche l’événement OnMouseButtonUp, Component Synchronizer effectue les opérations suivantes :
if( mouseButton == MBU_LeftButton && ZoomViewer != 0 ) {
 int documentX = 0;
 int documentY = 0;
 ImageViewer->ScreenToDocument( x, y, &documentX, &documentY );
 ZoomViewer->CenterOnDocumentPoint( documentX, documentY );
}
Si Image Viewer déclenche l’événement OnBlockSelectionChanged, Component Synchronizer effectue les opérations suivantes :
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Si Image Viewer déclenche l’événement OnTableCellsSelected, Component Synchronizer appelle la méthode ShowBlock de l’objet TextEditor avec l’indice du bloc sélectionné et celui de la cellule en bas à droite.
Si Image Viewer déclenche l’événement OnAfterDblClick, Component Synchronizer effectue les opérations suivantes :
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Si Image Viewer déclenche l’événement OnActivePageChanged et que les propriétés ZoomViewer, TextEditor et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies, la propriété FRPage ou ActivePage du composant correspondant est définie sur la page spécifiée du document.
Si Image Viewer déclenche l’événement OnSelectTool, Component Synchronizer effectue les opérations suivantes :
if( ZoomViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ZoomViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ZoomViewer->put_ActiveTool( selectedTool );
}
Si Image Viewer déclenche l’événement OnOptionsChanged et que les propriétés ZoomViewer, DocumentViewer, TextEditor et TextValidator de l’objet ComponentSynchronizer ont déjà été définies, la méthode UpdateOptions des objets ZoomViewer, DocumentViewer, TextEditor et TextValidator est appelée.
Événements du Zoom Viewer connecté :
Si Zoom Viewer déclenche l’événement OnVisibleDocumentAreaChange, Component Synchronizer effectue les opérations suivantes :
if( ImageViewer != 0 ) {
 ImageViewer->put_ZoomRect( visibleRect );
 if( isInFocus ) {
  ImageViewer->ShowDocumentArea( visibleRect );
 }
}
Si Zoom Viewer déclenche l’événement OnBlockSelectionChanged, Component Synchronizer effectue les opérations suivantes :
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Si Zoom Viewer déclenche l’événement OnTableCellsSelected, Component Synchronizer appelle la méthode ShowBlock de l’objet TextEditor avec l’indice du bloc sélectionné et celui de la cellule en bas à droite.
Si Zoom Viewer génère l’événement OnAfterDblClick, Component Synchronizer effectue les opérations suivantes :
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Si Zoom Viewer génère l’événement OnActivePageChanged et que les propriétés ImageViewer, TextEditor et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies, la propriété FRPage ou ActivePage du composant correspondant est définie sur la page spécifiée du document.
Si Zoom Viewer génère l’événement OnSelectTool, Component Synchronizer effectue les opérations suivantes :
if( ImageViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ImageViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ImageViewer->put_ActiveTool( selectedTool );
}
Si Zoom Viewer génère l’événement OnOptionsChanged et que les propriétés ImageViewer, DocumentViewer, TextEditor et TextValidator de l’objet ComponentSynchronizer ont déjà été définies, la méthode UpdateOptions des objets ImageViewer, DocumentViewer, TextEditor et TextValidator est appelée.
Événements du Document Viewer connecté :
Si Document Viewer génère l’événement OnActivePageChanged et que les propriétés ImageViewer, ZoomViewer et TextEditor de l’objet ComponentSynchronizer ont déjà été définies, la propriété FRPage du composant correspondant est définie sur la page spécifiée du document.
Si Document Viewer génère l’événement OnDocumentChanged et que les propriétés ImageViewer, ZoomViewer, TextEditor et TextValidator de l’objet ComponentSynchronizer ont déjà été définies :
  • la propriété FRDocument de l’objet TextValidator est définie sur le nouveau document
  • la propriété FRPage des objets ImageViewer, ZoomViewer et TextEditor, ainsi que la propriété ActivePage de l’objet DocumentViewer, sont définies sur la première page du nouveau document
Si Document Viewer génère l’événement OnOptionsChanged et que les propriétés ImageViewer, ZoomViewer, TextEditor et TextValidator de l’objet ComponentSynchronizer ont déjà été définies, la méthode UpdateOptions des objets ImageViewer, ZoomViewer, TextEditor et TextValidator est appelée.
Événements du Text Editor connecté :
Si Text Editor génère l’événement OnEditorBlockChanged, Component Synchronizer effectue les opérations suivantes :
  1. Si les propriétés ImageViewer et ZoomViewer de l’objet ComponentSynchronizer ont déjà été définies, la méthode SetSelectedBlocksIndices des objets ImageViewer et ZoomViewer est appelée pour le bloc spécifié.
  2. S’il s’agit d’un bloc de tableau, la méthode SetSelectedCells des objets ImageViewer et ZoomViewer est appelée pour la cellule sélectionnée.
  3. Ensuite, la méthode ShowDocumentArea des objets ImageViewer et ZoomViewer est appelée.
Si Text Editor génère l’événement OnSymbolSelected, Component Synchronizer effectue les opérations suivantes :
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRect );
}
if( ImageViewer != 0 ) {
 ImageViewer->ShowDocumentArea( symbolRect );
}
if( ZoomViewer != 0 ) {
 ZoomViewer->ShowDocumentArea( symbolRect );
}
Si Text Editor génère l’événement OnActivePageChanged et que les propriétés ImageViewer, ZoomViewer et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies, la propriété FRPage ou ActivePage du composant correspondant est définie sur la page spécifiée du document.
Si Text Editor génère l’événement OnOptionsChanged et que les propriétés ImageViewer, ZoomViewer, DocumentViewer et TextValidator de l’objet ComponentSynchronizer ont déjà été définies, la méthode UpdateOptions des objets ImageViewer, ZoomViewer, DocumentViewer et TextValidator est appelée.
Événements du Text Validator connecté :
Si Text Validator génère l’événement OnSymbolSelected, Component Synchronizer effectue les opérations suivantes :
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRectangle );
}
Si Text Validator génère l’événement OnSelectionChanged, Component Synchronizer effectue les opérations suivantes :
int symbolPos;
IEditorPosition* nextPosition;
position->get_Symbol( &symbolPos );
nextPosition->put_Symbol( symbolPos + length );
if( textEditor != 0 ) {
 textEditor->SetSelection( position, nextPosition );
}
Si Text Validator génère l’événement OnActivePageChanged et que les propriétés ImageViewer, ZoomViewer, TextEditor et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies, la propriété FRPage ou ActivePage du composant correspondant est définie sur la page spécifiée du document.
Si Text Validator génère l’événement OnDocumentChanged et que les propriétés ImageViewer, ZoomViewer, TextEditor et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies :
  • la propriété FRDocument de l’objet DocumentViewer est définie sur le nouveau document
  • les propriétés FRPage des objets ImageViewer, ZoomViewer et TextEditor, ainsi que la propriété ActivePage de l’objet DocumentViewer, sont définies sur la première page du nouveau document.
Si Text Validator génère l’événement OnOptionsChanged et que les propriétés ImageViewer, ZoomViewer, TextEditor et DocumentViewer de l’objet ComponentSynchronizer ont déjà été définies, la méthode UpdateOptions des objets ImageViewer, ZoomViewer, TextEditor et DocumentViewer est appelée.

Voir aussi

ComponentSynchronizer