Oxygen XML Editor 14.2 Author API

ro.sync.ecss.extensions.commons.table.operations
Class DeleteColumnOperationBase

java.lang.Object
  extended by ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
      extended by ro.sync.ecss.extensions.commons.table.operations.DeleteColumnOperationBase
All Implemented Interfaces:
AuthorOperation, Extension
Direct Known Subclasses:
DeleteColumnOperation, DeleteColumnOperation, DeleteColumnOperation, DeleteColumnOperation, DeleteColumnOperation

@API(type=INTERNAL,
     src=PUBLIC)
public abstract class DeleteColumnOperationBase
extends AbstractTableOperation

Base implementation for operations used to delete a table column.


Field Summary
protected  int deletedColumnIndex
          The index of the deleted column.
protected  AuthorElement tableElem
          The table element.
 
Fields inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
tableHelper
 
Fields inherited from interface ro.sync.ecss.extensions.api.AuthorOperation
NAMESPACE_ARGUMENT, NAMESPACE_ARGUMENT_DESCRIPTOR, SCHEMA_AWARE_ARGUMENT, SCHEMA_AWARE_ARGUMENT_DESCRIPTOR
 
Constructor Summary
DeleteColumnOperationBase(AuthorTableHelper documentTypeHelper)
          Constructor.
 
Method Summary
protected  boolean canDeleteColumn()
           
 void doOperation(AuthorAccess authorAccess, ArgumentsMap args)
          Delete the table column at the caret position.
 ArgumentDescriptor[] getArguments()
          No arguments for this operation.
 java.lang.String getDescription()
           
 boolean performDeleteColumn(AuthorAccess authorAccess, java.util.List<ContentInterval> columnIntervals, boolean placeCaretInNextCell)
          Delete table column.
protected  void updateAppliableColWidthsNumber(AuthorAccess authorAccess, AuthorElement tableElem, int deletedColumnIndex)
          If the table has anything else to update when a column is deleted...
protected abstract  void updateTableColSpan(AuthorAccess authorAccess, AuthorTableCellSpanProvider spanProvider, AuthorElement cell, int colStartIndex, int colEndIndex)
          Update the column span for the table cell that is included into the deleted column.
 
Methods inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
createEmptyCell, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableElem

protected AuthorElement tableElem
The table element.


deletedColumnIndex

protected int deletedColumnIndex
The index of the deleted column.

Constructor Detail

DeleteColumnOperationBase

public DeleteColumnOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.

Parameters:
documentTypeHelper - The table helper specific to a document type. An implementation of AuthorTableHelper.
Method Detail

performDeleteColumn

public boolean performDeleteColumn(AuthorAccess authorAccess,
                                   java.util.List<ContentInterval> columnIntervals,
                                   boolean placeCaretInNextCell)
                            throws AuthorOperationException
Delete table column.

Parameters:
authorAccess - The access to Author operations.
columnIntervals - The intervals of the column to be deleted. If null, the column at caret offset is deleted.
placeCaretInNextCell - true to place caret in the next cell.
Returns:
true if a column is deleted
Throws:
java.lang.IllegalArgumentException
AuthorOperationException

updateAppliableColWidthsNumber

protected void updateAppliableColWidthsNumber(AuthorAccess authorAccess,
                                              AuthorElement tableElem,
                                              int deletedColumnIndex)
If the table has anything else to update when a column is deleted...

Parameters:
authorAccess - The author access.
tableElem - The table access.
deletedColumnIndex - The deleted column index.

doOperation

public final void doOperation(AuthorAccess authorAccess,
                              ArgumentsMap args)
                       throws java.lang.IllegalArgumentException,
                              AuthorOperationException
Delete the table column at the caret position. For this operation the caret must be inside a table cell.

Parameters:
authorAccess - The author access. Provides access to specific informations and actions for editor, document, workspace, tables, change tracking, utility a.s.o.
args - The map of arguments. All the arguments defined by method AuthorOperation.getArguments() must be present in the map of arguments.
Throws:
java.lang.IllegalArgumentException - Thrown when one or more arguments are illegal.
AuthorOperationException - Thrown when the operation fails.
See Also:
AuthorOperation.doOperation(ro.sync.ecss.extensions.api.AuthorAccess, ro.sync.ecss.extensions.api.ArgumentsMap)

updateTableColSpan

protected abstract void updateTableColSpan(AuthorAccess authorAccess,
                                           AuthorTableCellSpanProvider spanProvider,
                                           AuthorElement cell,
                                           int colStartIndex,
                                           int colEndIndex)
                                    throws AuthorOperationException
Update the column span for the table cell that is included into the deleted column.

Parameters:
authorAccess - The author access. Provides access to specific informations and actions for editor, document, workspace, tables, change tracking, utility a.s.o.
spanProvider - The table span provider. The object responsible for providing information about the cell spanning.
cell - The table cell.
colStartIndex - The new column start index, 1 based.
colEndIndex - The new column end index, 1 based.
Throws:
AuthorOperationException - When the operation fails.

getArguments

public ArgumentDescriptor[] getArguments()
No arguments for this operation.

Returns:
An array of ArgumentDescriptor representing the arguments this operation uses.
See Also:
AuthorOperation.getArguments()

getDescription

public java.lang.String getDescription()
Returns:
The description of the extension.
See Also:
Extension.getDescription()

canDeleteColumn

protected boolean canDeleteColumn()
Returns:
true if a column from the specified table can be deleted. false otherwise.

Oxygen XML Editor 14.2 Author API

© Copyright SyncRO Soft SRL 2002 - 2013. All rights reserved.