OnToolChangeTable Method of the IImageViewerEvents Interface
This method is implemented on the client-side. It is called by ABBYY FineReader Engine before changing a table block that has been modified with the help of a tool of Image Viewer:
- Add Vertical Separator (MI_ChooseTool_AddVertSeparator)
- Add Horizontal Separator (MI_ChooseTool_AddHorizSeparator)
- Delete Separator (MI_ChooseTool_DeleteSeparator)
See the description of the Image Viewer Commands to know how these tools can be selected.
It delivers to the client the index of the table block which is going to be changed, and the position and type of the new or deleted separator. With the help of this method it is possible to cancel the operation.
HRESULT OnToolChangeTable( int BlockIndex, int Position, VARIANT_BOOL IsVerticalSeparator, VARIANT_BOOL DeleteSeparator, VARIANT_BOOL* Cancel );
void OnToolChangeTable( int BlockIndex, int Position, bool IsVerticalSeparator, bool deleteSeparator, out bool Cancel );
Visual Basic .NET
Sub OnToolChangeTable( _ BlockIndex As Integer, _ Position As Integer, _ IsVerticalSeparator As Boolean, _ DeleteSeparator As Integer, _ ByRef Cancel As Boolean _ )
- [in] Contains the index of the table block that is going to be modified. The index is in the ILayout::VisualBlocks collection.
- [in] Contains the position of the separator in the table. The position of the separator is its coordinate in a base grid.
- [in] Specifies whether the separator is vertical or horizontal.
- [in] Specifies whether the separator is going to be deleted or added.
- [out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, the separator will not be added (or deleted).
[C++ only] If this method returns a value other than S_OK, it indicates that an error occurred on the client-side, and in this case the value of the Cancel parameter is not taken into account.
- By the base grid here we assume the grid formed by table borders and separators. Each vertical separator increments the horizontal coordinate by one, and each horizontal separator increments the vertical coordinate by one. Coordinate axes are oriented from left to right and from top to bottom.
- The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).