/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the Collabora Office project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#include <string_view>

#pragma once

namespace sc
{
/** Operations that can be performed on a sheet. */
enum class OperationType
{
    Unknown,
    ApplyAttributes,
    ApplyAttributesWithChangedRange,
    ApplyAttributesToCell,
    DeleteContent,
    DeleteCell,
    TransliterateText,
    SetNormalString,
    SetValue,
    SetValues,
    SetString,
    SetTextEdit,
    SetFormula,
    SetFormulas,
    SetCellText,
    ApplyStyle,
    PutData,
    SetNoteText,
    ReplaceNoteText,
    InsertThreadedComment,
    ShowNote,
    ImportNote,
    InsertColumnsBefore,
    InsertColumnsAfter,
    InsertRowsBefore,
    InsertRowsAfter,
    InsertCellsDown,
    InsertCellsRight,
    DeleteColumns,
    DeleteRows,
    DeleteCellsLeft,
    DeleteCellsUp,
    MoveBlock,
    ClearItems,
    ChangeIndent,
    AutoFormat,
    EnterMatrix,
    MultipleOps,
    FillSimple,
    FillSeries,
    FillAuto,
    MergeCells,
    UnmergeCells,
    InsertNameList,
    ConvertFormulaToValue,
    Sort,
    Query,
    SubTotals,
    PivotTableUpdate,
    PivotTableReplace,
    PivotTableRemove,
    PivotTableCreate,
    SparklineInsert,
    SparklineDelete,
    SparklineChange,
    SparklineGroup,
    SparklineUngroup,
    SparklineGroupDelete,
    SparklineGroupChange,
    EnterData,
    InsertSheetView,
};

std::string_view operationTypeString(OperationType eType);
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
