Branch libreoffice-24-8-3
[LibreOffice.git] / sc / inc / paramisc.hxx
blob59608cae15e582fa4db46904e0ac79a0c739011b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #pragma once
22 #include "address.hxx"
23 #include <optional>
25 struct ScSolveParam
27 ScAddress aRefFormulaCell;
28 ScAddress aRefVariableCell;
29 std::optional<OUString> pStrTargetVal;
31 ScSolveParam();
32 ScSolveParam( const ScSolveParam& r );
33 ScSolveParam( const ScAddress& rFormulaCell,
34 const ScAddress& rVariableCell,
35 const OUString& rTargetValStr );
36 ~ScSolveParam();
38 ScSolveParam& operator= ( const ScSolveParam& r );
39 bool operator== ( const ScSolveParam& r ) const;
42 /**
43 * Parameter for data table aka multiple operations.
45 struct SC_DLLPUBLIC ScTabOpParam
47 enum Mode { Column = 0, Row = 1, Both = 2 };
49 ScRefAddress aRefFormulaCell;
50 ScRefAddress aRefFormulaEnd;
51 ScRefAddress aRefRowCell;
52 ScRefAddress aRefColCell;
53 Mode meMode;
55 ScTabOpParam();
56 ScTabOpParam( const ScTabOpParam& r );
57 ScTabOpParam(
58 const ScRefAddress& rFormulaCell, const ScRefAddress& rFormulaEnd,
59 const ScRefAddress& rRowCell, const ScRefAddress& rColCell, Mode eMode );
61 ScTabOpParam& operator= ( const ScTabOpParam& r );
62 bool operator== ( const ScTabOpParam& r ) const;
65 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */