blob: 2b8c641a4c350d13e9572f392653556bc5d0e0ff [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef SC_UIITEMS_HXX
#define SC_UIITEMS_HXX
#include "scdllapi.h"
#include "conditio.hxx"
#include "sortparam.hxx"
#include "queryparam.hxx"
#include "paramisc.hxx"
#include <svl/poolitem.hxx>
class ScEditEngineDefaulter;
class EditTextObject;
class ScViewData;
class ScDPSaveData;
// ---------------------------------------------------------------------------
// Items
class ScInputStatusItem : public SfxPoolItem
{
ScAddress aCursorPos;
ScAddress aStartPos;
ScAddress aEndPos;
String aString;
EditTextObject* pEditData;
public:
TYPEINFO();
//UNUSED2008-05 ScInputStatusItem( sal_uInt16 nWhich,
//UNUSED2008-05 SCTAB nTab,
//UNUSED2008-05 SCCOL nCol, SCROW nRow,
//UNUSED2008-05 SCCOL nStartCol, SCROW nStartRow,
//UNUSED2008-05 SCCOL nEndCol, SCROW nSEndRow,
//UNUSED2008-05 const String& rString,
//UNUSED2008-05 const EditTextObject* pData );
ScInputStatusItem( sal_uInt16 nWhich,
const ScAddress& rCurPos,
const ScAddress& rStartPos,
const ScAddress& rEndPos,
const String& rString,
const EditTextObject* pData );
ScInputStatusItem( const ScInputStatusItem& rItem );
~ScInputStatusItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScAddress& GetPos() const { return aCursorPos; }
const ScAddress& GetStartPos() const { return aStartPos; }
const ScAddress& GetEndPos() const { return aEndPos; }
SCTAB GetTab() const { return aCursorPos.Tab(); }
SCCOL GetCol() const { return aCursorPos.Col(); }
SCROW GetRow() const { return aCursorPos.Row(); }
SCCOL GetStartCol() const { return aStartPos.Col(); }
SCROW GetStartRow() const { return aStartPos.Row(); }
SCCOL GetEndCol() const { return aEndPos.Col(); }
SCROW GetEndRow() const { return aEndPos.Row(); }
const String& GetString() const { return aString; }
const EditTextObject* GetEditData() const { return pEditData; }
};
#define SC_TAB_INSERTED 1
#define SC_TAB_DELETED 2
#define SC_TAB_MOVED 3
#define SC_TAB_COPIED 4
#define SC_TAB_HIDDEN 5
class ScTablesHint : public SfxHint
{
sal_uInt16 nId;
SCTAB nTab1;
SCTAB nTab2;
public:
TYPEINFO();
ScTablesHint(sal_uInt16 nNewId, SCTAB nTable1, SCTAB nTable2=0);
~ScTablesHint();
sal_uInt16 GetId() const { return nId; }
SCTAB GetTab1() const { return nTab1; }
SCTAB GetTab2() const { return nTab2; }
};
class ScEditViewHint : public SfxHint
{
ScEditEngineDefaulter* pEditEngine;
ScAddress aCursorPos;
public:
TYPEINFO();
ScEditViewHint( ScEditEngineDefaulter* pEngine, const ScAddress& rCurPos );
~ScEditViewHint();
SCCOL GetCol() const { return aCursorPos.Col(); }
SCROW GetRow() const { return aCursorPos.Row(); }
SCTAB GetTab() const { return aCursorPos.Tab(); }
ScEditEngineDefaulter* GetEngine() const { return pEditEngine; }
private:
ScEditViewHint(); // disabled
};
class ScIndexHint : public SfxHint
{
sal_uInt16 nId;
sal_uInt16 nIndex;
public:
TYPEINFO();
ScIndexHint(sal_uInt16 nNewId, sal_uInt16 nIdx);
~ScIndexHint();
sal_uInt16 GetId() const { return nId; }
sal_uInt16 GetIndex() const { return nIndex; }
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Sortierdialog:
class SC_DLLPUBLIC ScSortItem : public SfxPoolItem
{
public:
TYPEINFO();
ScSortItem( sal_uInt16 nWhich,
ScViewData* ptrViewData,
const ScSortParam* pSortData );
ScSortItem( sal_uInt16 nWhich,
const ScSortParam* pSortData );
ScSortItem( const ScSortItem& rItem );
~ScSortItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberUd ) const;
ScViewData* GetViewData () const { return pViewData; }
const ScSortParam& GetSortData () const { return theSortData; }
private:
ScViewData* pViewData;
ScSortParam theSortData;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Filterdialog:
class SC_DLLPUBLIC ScQueryItem : public SfxPoolItem
{
public:
TYPEINFO();
ScQueryItem( sal_uInt16 nWhich,
ScViewData* ptrViewData,
const ScQueryParam* pQueryData );
ScQueryItem( sal_uInt16 nWhich,
const ScQueryParam* pQueryData );
ScQueryItem( const ScQueryItem& rItem );
~ScQueryItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
ScViewData* GetViewData () const { return pViewData; }
const ScQueryParam& GetQueryData() const { return theQueryData; }
sal_Bool GetAdvancedQuerySource(ScRange& rSource) const;
void SetAdvancedQuerySource(const ScRange* pSource);
private:
ScViewData* pViewData;
ScQueryParam theQueryData;
sal_Bool bIsAdvanced;
ScRange aAdvSource;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Zwischenergebnisdialog:
class SC_DLLPUBLIC ScSubTotalItem : public SfxPoolItem
{
public:
TYPEINFO();
ScSubTotalItem( sal_uInt16 nWhich,
ScViewData* ptrViewData,
const ScSubTotalParam* pSubTotalData );
ScSubTotalItem( sal_uInt16 nWhich,
const ScSubTotalParam* pSubTotalData );
ScSubTotalItem( const ScSubTotalItem& rItem );
~ScSubTotalItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberUd ) const;
ScViewData* GetViewData () const { return pViewData; }
const ScSubTotalParam& GetSubTotalData() const { return theSubTotalData; }
private:
ScViewData* pViewData;
ScSubTotalParam theSubTotalData;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer die Benutzerlisten-TabPage:
class SC_DLLPUBLIC ScUserListItem : public SfxPoolItem
{
public:
TYPEINFO();
ScUserListItem( sal_uInt16 nWhich );
ScUserListItem( const ScUserListItem& rItem );
~ScUserListItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
void SetUserList ( const ScUserList& rUserList );
ScUserList* GetUserList () const { return pUserList; }
private:
ScUserList* pUserList;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer die Konsolidieren-Dialog
class ScConsolidateItem : public SfxPoolItem
{
public:
TYPEINFO();
ScConsolidateItem( sal_uInt16 nWhich,
const ScConsolidateParam* pParam );
ScConsolidateItem( const ScConsolidateItem& rItem );
~ScConsolidateItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScConsolidateParam& GetData() const { return theConsData; }
private:
ScConsolidateParam theConsData;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Pivot-Dialog
class ScPivotItem : public SfxPoolItem
{
public:
TYPEINFO();
ScPivotItem( sal_uInt16 nWhich, const ScDPSaveData* pData,
const ScRange* pRange, sal_Bool bNew );
ScPivotItem( const ScPivotItem& rItem );
~ScPivotItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScDPSaveData& GetData() const { return *pSaveData; }
const ScRange& GetDestRange() const { return aDestRange; }
sal_Bool IsNewSheet() const { return bNewSheet; }
private:
ScDPSaveData* pSaveData;
ScRange aDestRange;
sal_Bool bNewSheet;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Solver-Dialog
class ScSolveItem : public SfxPoolItem
{
public:
TYPEINFO();
ScSolveItem( sal_uInt16 nWhich,
const ScSolveParam* pParam );
ScSolveItem( const ScSolveItem& rItem );
~ScSolveItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScSolveParam& GetData() const { return theSolveData; }
private:
ScSolveParam theSolveData;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Mehrfachoperationen-Dialog
class ScTabOpItem : public SfxPoolItem
{
public:
TYPEINFO();
ScTabOpItem( sal_uInt16 nWhich,
const ScTabOpParam* pParam );
ScTabOpItem( const ScTabOpItem& rItem );
~ScTabOpItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScTabOpParam& GetData() const { return theTabOpData; }
private:
ScTabOpParam theTabOpData;
};
//----------------------------------------------------------------------------
// Parameter-Item fuer den Dialog bedingte Formatierung
class ScCondFrmtItem : public SfxPoolItem
{
public:
TYPEINFO();
ScCondFrmtItem( sal_uInt16 nWhich,
//! const ScConditionalFormat* pCondFrmt );
const ScConditionalFormat& rCondFrmt );
ScCondFrmtItem( const ScCondFrmtItem& rItem );
~ScCondFrmtItem();
virtual String GetValueText() const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
const ScConditionalFormat& GetData() const { return theCondFrmtData; }
private:
ScConditionalFormat theCondFrmtData;
};
#endif