Class DeleteColumnOperationBase

java.lang.Object
ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
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 table columns. If there are selections in the table, all the columns that intersect the selections are removed. If there is no selection in the table, the column at caret is deleted.
  • Field Details

    • tableElem

      protected AuthorElement tableElem
      The table element.
    • deletedColumnsIndices

      protected List<Integer> deletedColumnsIndices
      The index of the deleted column.
  • Constructor Details

    • DeleteColumnOperationBase

      public DeleteColumnOperationBase(AuthorTableHelper documentTypeHelper)
      Constructor.
      Parameters:
      documentTypeHelper - The table helper specific to a document type. An implementation of AuthorTableHelper.
  • Method Details

    • performDeleteColumn

      public boolean performDeleteColumn(AuthorAccess authorAccess, List<ContentInterval> columnIntervals, boolean placeCaretInNextCell) throws AuthorOperationException
      Delete table columns. The columns are detected in the following order:
      • from the given column intervals
      • from the selection
      • from the caret position
      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:
      IllegalArgumentException
      AuthorOperationException
    • updateColspec

      protected void updateColspec(AuthorAccess authorAccess, Integer deletedColumnIndex)
      Update the colspec of a table for a given column.
      Parameters:
      authorAccess - The Author access.
      deletedColumnIndex - The index of the deleted column.
    • 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.
    • doOperationInternal

      protected void doOperationInternal(AuthorAccess authorAccess, ArgumentsMap args) throws AuthorOperationException
      Delete the table column at the caret position. For this operation the caret must be inside a table cell.
      Specified by:
      doOperationInternal in class AbstractTableOperation
      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:
      AuthorOperationException - Thrown when the operation fails.
      See Also:
    • 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:
    • getDescription

      public String getDescription()
      Returns:
      The description of the extension.
      See Also:
    • canDeleteColumn

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