1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 */ 9 10 #include <undoconvert.hxx> 11 #include <globstr.hrc> 12 #include <scresid.hxx> 13 #include <undoutil.hxx> 14 15 namespace sc { 16 UndoFormulaToValue(ScDocShell * pDocSh,TableValues & rUndoValues)17UndoFormulaToValue::UndoFormulaToValue( ScDocShell* pDocSh, TableValues& rUndoValues ) : 18 ScSimpleUndo(pDocSh) 19 { 20 maUndoValues.swap(rUndoValues); 21 } 22 GetComment() const23OUString UndoFormulaToValue::GetComment() const 24 { 25 return ScResId(STR_UNDO_FORMULA_TO_VALUE); 26 } 27 Undo()28void UndoFormulaToValue::Undo() 29 { 30 Execute(); 31 } 32 Redo()33void UndoFormulaToValue::Redo() 34 { 35 Execute(); 36 } 37 Execute()38void UndoFormulaToValue::Execute() 39 { 40 ScDocument& rDoc = pDocShell->GetDocument(); 41 rDoc.SwapNonEmpty(maUndoValues); 42 43 ScUndoUtil::MarkSimpleBlock(pDocShell, maUndoValues.getRange()); 44 45 pDocShell->PostPaint(maUndoValues.getRange(), PaintPartFlags::Grid); 46 pDocShell->PostDataChanged(); 47 rDoc.BroadcastCells(maUndoValues.getRange(), SfxHintId::ScDataChanged); 48 } 49 50 } 51 52 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 53