diff options
Diffstat (limited to 'sc/inc')
189 files changed, 0 insertions, 45770 deletions
diff --git a/sc/inc/AccessibleFilterMenu.hxx b/sc/inc/AccessibleFilterMenu.hxx deleted file mode 100644 index 2345208ae..000000000 --- a/sc/inc/AccessibleFilterMenu.hxx +++ /dev/null @@ -1,194 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ACCESSIBLEFILTERMENU_HXX -#define SC_ACCESSIBLEFILTERMENU_HXX - -#include "AccessibleContextBase.hxx" -#include "cppuhelper/implbase1.hxx" - -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/accessibility/XAccessibleText.hpp> -#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp> -#include <com/sun/star/accessibility/TextSegment.hpp> - -#include <vector> - -namespace com { namespace sun { namespace star { - namespace accessibility { - struct AccessibleEventObject; - } -}}} - -class ScDocument; -class ScMenuFloatingWindow; - -typedef ::cppu::ImplHelper1< - ::com::sun::star::accessibility::XAccessibleSelection > ScAccessibleFilterMenu_BASE; - -class ScAccessibleFilterMenu : - public ScAccessibleContextBase, - public ScAccessibleFilterMenu_BASE -{ -public: - explicit ScAccessibleFilterMenu( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent, - ScMenuFloatingWindow* pWin, const ::rtl::OUString& rName, size_t nMenuPos, ScDocument* pDoc); - virtual ~ScAccessibleFilterMenu(); - - // XAccessibleComponent - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& rPoint ) - throw (::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL isVisible() - throw (::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL grabFocus() - throw (::com::sun::star::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL getForeground() - throw (::com::sun::star::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL getBackground() - throw (::com::sun::star::uno::RuntimeException); - - // XAccessibleContext - - virtual ::rtl::OUString SAL_CALL getAccessibleName() - throw (::com::sun::star::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL - getAccessibleChild(sal_Int32 nIndex) - throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IndexOutOfBoundsException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL - getAccessibleStateSet() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw (::com::sun::star::uno::RuntimeException); - - // XAccessibleEventBroadcaster - - using ScAccessibleContextBase::addEventListener; - using ScAccessibleContextBase::removeEventListener; - - virtual void SAL_CALL - addEventListener( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessibleEventListener>& xListener) - throw (com::sun::star::uno::RuntimeException); - - // Remove an existing event listener. - virtual void SAL_CALL - removeEventListener( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessibleEventListener>& xListener) - throw (com::sun::star::uno::RuntimeException); - - // XAccessibleSelection - - virtual void SAL_CALL selectAccessibleChild(sal_Int32 nChildIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int32 nChildIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL clearAccessibleSelection() - throw (::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL selectAllAccessibleChildren() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::sal_Int32 SAL_CALL getSelectedAccessibleChildCount() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL - getSelectedAccessibleChild(sal_Int32 nChildIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL deselectAccessibleChild(sal_Int32 nChildIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - // XInterface - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL acquire() throw (); - virtual void SAL_CALL release() throw (); - - // XTypeProvider - - virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId() - throw (::com::sun::star::uno::RuntimeException); - - // non-UNO methods - - void appendMenuItem(const ::rtl::OUString& rName, bool bEnabled, size_t nMenuPos); - void setMenuPos(size_t nMenuPos); - void setEnabled(bool bEnabled); - -protected: - - sal_Int32 getMenuItemCount() const; - - virtual Rectangle GetBoundingBoxOnScreen() const - throw (::com::sun::star::uno::RuntimeException); - - virtual Rectangle GetBoundingBox() const - throw (::com::sun::star::uno::RuntimeException); - -private: - bool isSelected() const; - bool isFocused() const; - - void updateStates(); - -private: - ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > > maMenuItems; - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > mxStateSet; - - size_t mnMenuPos; - ScMenuFloatingWindow* mpWindow; - ScDocument* mpDoc; - - bool mbEnabled:1; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/AccessibleFilterMenuItem.hxx b/sc/inc/AccessibleFilterMenuItem.hxx deleted file mode 100644 index b689a5af6..000000000 --- a/sc/inc/AccessibleFilterMenuItem.hxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ACCESSIBLEFILTERMENUITEM_HXX -#define SC_ACCESSIBLEFILTERMENUITEM_HXX - -#include "AccessibleContextBase.hxx" -#include "cppuhelper/implbase1.hxx" - -#include <com/sun/star/accessibility/XAccessibleAction.hpp> - -class ScMenuFloatingWindow; - -typedef ::cppu::ImplHelper1< - ::com::sun::star::accessibility::XAccessibleAction > ScAccessibleFilterMenuItem_BASE; - -class ScAccessibleFilterMenuItem : - public ScAccessibleContextBase, - public ScAccessibleFilterMenuItem_BASE -{ -public: - explicit ScAccessibleFilterMenuItem( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent, ScMenuFloatingWindow* pWin, const ::rtl::OUString& rName, size_t nMenuPos); - - virtual ~ScAccessibleFilterMenuItem(); - - // XAccessibleContext - - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible > SAL_CALL - getAccessibleChild(sal_Int32 nIndex) - throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IndexOutOfBoundsException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL - getAccessibleStateSet() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw (::com::sun::star::uno::RuntimeException); - - // XAccessibleAction - - virtual ::sal_Int32 SAL_CALL getAccessibleActionCount() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::sal_Bool SAL_CALL doAccessibleAction(sal_Int32 nIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual ::rtl::OUString SAL_CALL getAccessibleActionDescription(sal_Int32 nIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessibleKeyBinding > SAL_CALL - getAccessibleActionKeyBinding(sal_Int32 nIndex) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - // XInterface - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL acquire() throw (); - virtual void SAL_CALL release() throw (); - - // Non-UNO Methods - - void setEnabled(bool bEnabled); - -protected: - - virtual Rectangle GetBoundingBoxOnScreen() const - throw (::com::sun::star::uno::RuntimeException); - - virtual Rectangle GetBoundingBox() const - throw (::com::sun::star::uno::RuntimeException); - -private: - bool isSelected() const; - bool isFocused() const; - void updateStateSet(); - -private: - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > mxStateSet; - - ScMenuFloatingWindow* mpWindow; - ::rtl::OUString maName; - size_t mnMenuPos; - bool mbEnabled; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/AccessibleFilterTopWindow.hxx b/sc/inc/AccessibleFilterTopWindow.hxx deleted file mode 100644 index a399fd1ce..000000000 --- a/sc/inc/AccessibleFilterTopWindow.hxx +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ACCESSIBLEFILTERTOPWINDOW_HXX -#define SC_ACCESSIBLEFILTERTOPWINDOW_HXX - -#include "AccessibleFilterMenu.hxx" -#include "cppuhelper/implbase1.hxx" - -class ScDPFieldPopupWindow; -class ScDocument; - -class ScAccessibleFilterTopWindow : public ScAccessibleFilterMenu -{ -public: - ScAccessibleFilterTopWindow( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent, - ScDPFieldPopupWindow* pWin, const ::rtl::OUString& rName, ScDocument* pDoc); - virtual ~ScAccessibleFilterTopWindow(); - - // XAccessibleContext - - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL - getAccessibleChild(sal_Int32 nIndex) - throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IndexOutOfBoundsException); - - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw (::com::sun::star::uno::RuntimeException); - - // Non-UNO Methods - - enum ChildControlType { - LISTBOX, TOGGLE_ALL, SINGLE_ON_BTN, SINGLE_OFF_BTN, OK_BTN, CANCEL_BTN - }; - void setAccessibleChild( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible >& rAccessible, - ChildControlType eType); - -private: - /** The top menu part */ - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccMenu; - - /** check list box for field member visibility */ - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccListBox; - - /** check box for toggling all field member's visibility. */ - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccToggleAll; - - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccSingleOnBtn; - - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccSingleOffBtn; - - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccOkBtn; - - ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > - mxAccCancelBtn; - - ScDPFieldPopupWindow* mpWindow; - ScDocument* mpDoc; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/AccessibleGlobal.hxx b/sc/inc/AccessibleGlobal.hxx deleted file mode 100644 index d9e01c586..000000000 --- a/sc/inc/AccessibleGlobal.hxx +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ACCESSIBLEGLOBAL_HXX -#define SC_ACCESSIBLEGLOBAL_HXX - -#include <com/sun/star/accessibility/XAccessibleStateSet.hpp> -#include "cppuhelper/implbase1.hxx" - -#include <set> - -/** - * Generic XAccessibleStateSet implementation. - */ -class ScAccessibleStateSet : public ::cppu::WeakImplHelper1< ::com::sun::star::accessibility::XAccessibleStateSet > -{ -public: - ScAccessibleStateSet(); - virtual ~ScAccessibleStateSet(); - - // XAccessibleStateSet - - virtual ::sal_Bool SAL_CALL isEmpty() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::sal_Bool SAL_CALL contains(sal_Int16 nState) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::sal_Bool SAL_CALL containsAll( - const ::com::sun::star::uno::Sequence<sal_Int16>& aStateSet) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence<sal_Int16> SAL_CALL getStates() - throw (::com::sun::star::uno::RuntimeException); - - // Non-UNO Methods - - void insert(sal_Int16 nState); - void clear(); - -private: - ::std::set<sal_Int16> maStates; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/ViewSettingsSequenceDefines.hxx b/sc/inc/ViewSettingsSequenceDefines.hxx deleted file mode 100644 index 685fa11a8..000000000 --- a/sc/inc/ViewSettingsSequenceDefines.hxx +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SC_VIEWSETTINGSSEQUENCEDEFINES_HXX -#define _SC_VIEWSETTINGSSEQUENCEDEFINES_HXX - -// this are the defines for the position of the settings in the -// ViewSettingsSequence - -#define SC_VIEWSETTINGS_COUNT 23 - -#define SC_VIEW_ID 0 -#define SC_TABLE_VIEWSETTINGS 1 -#define SC_ACTIVE_TABLE 2 -#define SC_HORIZONTAL_SCROLL_BAR_WIDTH 3 -#define SC_ZOOM_TYPE 4 -#define SC_ZOOM_VALUE 5 -#define SC_PAGE_VIEW_ZOOM_VALUE 6 -#define SC_PAGE_BREAK_PREVIEW 7 -#define SC_SHOWZERO 8 -#define SC_SHOWNOTES 9 -#define SC_SHOWGRID 10 -#define SC_GRIDCOLOR 11 -#define SC_SHOWPAGEBR 12 -#define SC_COLROWHDR 13 -#define SC_SHEETTABS 14 -#define SC_OUTLSYMB 15 -#define SC_SNAPTORASTER 16 -#define SC_RASTERVIS 17 -#define SC_RASTERRESX 18 -#define SC_RASTERRESY 19 -#define SC_RASTERSUBX 20 -#define SC_RASTERSUBY 21 -#define SC_RASTERSYNC 22 - - -// this are the defines for the position of the settings in the -// TableViewSettingsSequence - -#define SC_TABLE_VIEWSETTINGS_COUNT 16 - -#define SC_CURSOR_X 0 -#define SC_CURSOR_Y 1 -#define SC_HORIZONTAL_SPLIT_MODE 2 -#define SC_VERTICAL_SPLIT_MODE 3 -#define SC_HORIZONTAL_SPLIT_POSITION 4 -#define SC_VERTICAL_SPLIT_POSITION 5 -#define SC_ACTIVE_SPLIT_RANGE 6 -#define SC_POSITION_LEFT 7 -#define SC_POSITION_RIGHT 8 -#define SC_POSITION_TOP 9 -#define SC_POSITION_BOTTOM 10 -#define SC_TABLE_ZOOM_TYPE 11 -#define SC_TABLE_ZOOM_VALUE 12 -#define SC_TABLE_PAGE_VIEW_ZOOM_VALUE 13 -#define SC_TABLE_TAB_BG_COLOR 14 -#define SC_TABLE_SHOWGRID 15 - -#define SC_CURSORPOSITIONX "CursorPositionX" -#define SC_CURSORPOSITIONY "CursorPositionY" -#define SC_HORIZONTALSPLITMODE "HorizontalSplitMode" -#define SC_VERTICALSPLITMODE "VerticalSplitMode" -#define SC_HORIZONTALSPLITPOSITION "HorizontalSplitPosition" -#define SC_VERTICALSPLITPOSITION "VerticalSplitPosition" -#define SC_HORIZONTALSPLITPOSITION_TWIPS "HorizontalSplitPositionTwips" -#define SC_VERTICALSPLITPOSITION_TWIPS "VerticalSplitPositionTwips" -#define SC_ACTIVESPLITRANGE "ActiveSplitRange" -#define SC_POSITIONLEFT "PositionLeft" -#define SC_POSITIONRIGHT "PositionRight" -#define SC_POSITIONTOP "PositionTop" -#define SC_POSITIONBOTTOM "PositionBottom" -#define SC_TABLESELECTED "TableSelected" - -#define SC_TABLES "Tables" -#define SC_ACTIVETABLE "ActiveTable" -#define SC_HORIZONTALSCROLLBARWIDTH "HorizontalScrollbarWidth" -#define SC_RELHORIZONTALTABBARWIDTH "RelativeHorizontalTabbarWidth" -#define SC_ZOOMTYPE "ZoomType" -#define SC_ZOOMVALUE "ZoomValue" -#define SC_PAGEVIEWZOOMVALUE "PageViewZoomValue" -#define SC_SHOWPAGEBREAKPREVIEW "ShowPageBreakPreview" -#define SC_VIEWID "ViewId" -#define SC_VIEW "view" - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/addincfg.hxx b/sc/inc/addincfg.hxx deleted file mode 100644 index 4f5c8e0a1..000000000 --- a/sc/inc/addincfg.hxx +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ADDINCFG_HXX -#define SC_ADDINCFG_HXX - -#include <unotools/configitem.hxx> - -class ScAddInCfg : public utl::ConfigItem -{ - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - ScAddInCfg(); - - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames ); - virtual void Commit(); - - com::sun::star::uno::Sequence< com::sun::star::uno::Any> - GetProperties(const com::sun::star::uno::Sequence< rtl::OUString >& rNames) - { return ConfigItem::GetProperties( rNames ); } - - using ConfigItem::GetNodeNames; -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/addincol.hxx b/sc/inc/addincol.hxx deleted file mode 100644 index 3e6dd416f..000000000 --- a/sc/inc/addincol.hxx +++ /dev/null @@ -1,247 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ADDINCOL_HXX -#define SC_ADDINCOL_HXX - -#include "global.hxx" -#include <com/sun/star/sheet/XVolatileResult.hpp> -#include <com/sun/star/sheet/XAddIn.hpp> -#include <com/sun/star/sheet/XResultListener.hpp> -#include <com/sun/star/sheet/ResultEvent.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/reflection/XIdlMethod.hpp> -#include <com/sun/star/sheet/LocalizedName.hpp> -#include <tools/string.hxx> -#include <i18npool/lang.h> -#include <rtl/ustring.h> -#include "scdllapi.h" -#include <rtl/ustring.hxx> - -#include "scmatrix.hxx" - -#include <boost/unordered_map.hpp> - - -class String; -class SfxObjectShell; -class ScUnoAddInFuncData; -class ScMatrix; -class ScFuncDesc; - - -typedef ::boost::unordered_map< String, const ScUnoAddInFuncData*, ScStringHashCode, ::std::equal_to< String > > ScAddInHashMap; - - -enum ScAddInArgumentType -{ - SC_ADDINARG_NONE, // - - SC_ADDINARG_INTEGER, // long - SC_ADDINARG_DOUBLE, // double - SC_ADDINARG_STRING, // string - SC_ADDINARG_INTEGER_ARRAY, // sequence<sequence<long>> - SC_ADDINARG_DOUBLE_ARRAY, // sequence<sequence<double>> - SC_ADDINARG_STRING_ARRAY, // sequence<sequence<string>> - SC_ADDINARG_MIXED_ARRAY, // sequence<sequence<any>> - SC_ADDINARG_VALUE_OR_ARRAY, // any - SC_ADDINARG_CELLRANGE, // XCellRange - SC_ADDINARG_CALLER, // XPropertySet - SC_ADDINARG_VARARGS // sequence<any> -}; - -//------------------------------------------------------------------------ - -struct ScAddInArgDesc -{ - String aInternalName; // used to match configuration and reflection information - String aName; - String aDescription; - ScAddInArgumentType eType; - sal_Bool bOptional; -}; - -class ScUnoAddInFuncData -{ -private: - String aOriginalName; // kept in formula - String aLocalName; // for display - String aUpperName; // for entering formulas - String aUpperLocal; // for entering formulas - String aDescription; - com::sun::star::uno::Reference< com::sun::star::reflection::XIdlMethod> xFunction; - com::sun::star::uno::Any aObject; - long nArgCount; - ScAddInArgDesc* pArgDescs; - long nCallerPos; - sal_uInt16 nCategory; - rtl::OString sHelpId; - mutable com::sun::star::uno::Sequence< com::sun::star::sheet::LocalizedName> aCompNames; - mutable sal_Bool bCompInitialized; - -public: - ScUnoAddInFuncData( const String& rNam, const String& rLoc, - const String& rDesc, - sal_uInt16 nCat, const rtl::OString&, - const com::sun::star::uno::Reference< - com::sun::star::reflection::XIdlMethod>& rFunc, - const com::sun::star::uno::Any& rO, - long nAC, const ScAddInArgDesc* pAD, - long nCP ); - ~ScUnoAddInFuncData(); - - const String& GetOriginalName() const { return aOriginalName; } - const String& GetLocalName() const { return aLocalName; } - const String& GetUpperName() const { return aUpperName; } - const String& GetUpperLocal() const { return aUpperLocal; } - const com::sun::star::uno::Reference< com::sun::star::reflection::XIdlMethod>& GetFunction() const - { return xFunction; } - const com::sun::star::uno::Any& GetObject() const { return aObject; } - long GetArgumentCount() const { return nArgCount; } - const ScAddInArgDesc* GetArguments() const { return pArgDescs; } - long GetCallerPos() const { return nCallerPos; } - const String& GetDescription() const { return aDescription; } - sal_uInt16 GetCategory() const { return nCategory; } - const rtl::OString GetHelpId() const { return sHelpId; } - - const com::sun::star::uno::Sequence< com::sun::star::sheet::LocalizedName>& GetCompNames() const; - sal_Bool GetExcelName( LanguageType eDestLang, String& rRetExcelName ) const; - - void SetFunction( const com::sun::star::uno::Reference< com::sun::star::reflection::XIdlMethod>& rNewFunc, - const com::sun::star::uno::Any& rNewObj ); - void SetArguments( long nNewCount, const ScAddInArgDesc* pNewDescs ); - void SetCallerPos( long nNewPos ); - void SetCompNames( const com::sun::star::uno::Sequence< com::sun::star::sheet::LocalizedName>& rNew ); -}; - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScUnoAddInCollection -{ -private: - long nFuncCount; - ScUnoAddInFuncData** ppFuncData; - ScAddInHashMap* pExactHashMap; // exact internal name - ScAddInHashMap* pNameHashMap; // internal name upper - ScAddInHashMap* pLocalHashMap; // localized name upper - sal_Bool bInitialized; - - void Initialize(); - void ReadConfiguration(); - void ReadFromAddIn( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface>& xInterface ); - void UpdateFromAddIn( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface>& xInterface, - const String& rServiceName ); - void LoadComponent( const ScUnoAddInFuncData& rFuncData ); - -public: - ScUnoAddInCollection(); - ~ScUnoAddInCollection(); - - /// User enetered name. rUpperName MUST already be upper case! - String FindFunction( const String& rUpperName, sal_Bool bLocalFirst ); - - // rName is the exact Name. - // Only if bComplete is set, the function reference and argument types - // are initialized (component may have to be loaded). - const ScUnoAddInFuncData* GetFuncData( const String& rName, bool bComplete = false ); - - /** For enumeration in ScCompiler::OpCodeMap::getAvailableMappings(). - @param nIndex - 0 <= nIndex < GetFuncCount() - */ - const ScUnoAddInFuncData* GetFuncData( long nIndex ); - - void Clear(); - - void LocalizeString( String& rName ); // modify rName - input: exact name - - long GetFuncCount(); - sal_Bool FillFunctionDesc( long nFunc, ScFuncDesc& rDesc ); - - static sal_Bool FillFunctionDescFromData( const ScUnoAddInFuncData& rFuncData, ScFuncDesc& rDesc ); - - sal_Bool GetExcelName( const String& rCalcName, LanguageType eDestLang, String& rRetExcelName ); - sal_Bool GetCalcName( const String& rExcelName, String& rRetCalcName ); - // both leave rRet... unchanged, if no matching name is found -}; - - -class ScUnoAddInCall -{ -private: - const ScUnoAddInFuncData* pFuncData; - com::sun::star::uno::Sequence<com::sun::star::uno::Any> aArgs; - com::sun::star::uno::Sequence<com::sun::star::uno::Any> aVarArg; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xCaller; - sal_Bool bValidCount; - // result: - sal_uInt16 nErrCode; - sal_Bool bHasString; - double fValue; - String aString; - ScMatrixRef xMatrix; - com::sun::star::uno::Reference<com::sun::star::sheet::XVolatileResult> xVarRes; - - void ExecuteCallWithArgs( - com::sun::star::uno::Sequence<com::sun::star::uno::Any>& rCallArgs); - -public: - // exact name - ScUnoAddInCall( ScUnoAddInCollection& rColl, const String& rName, - long nParamCount ); - ~ScUnoAddInCall(); - - sal_Bool NeedsCaller() const; - void SetCaller( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface>& rInterface ); - void SetCallerFromObjectShell( SfxObjectShell* pSh ); - - sal_Bool ValidParamCount(); - ScAddInArgumentType GetArgType( long nPos ); - void SetParam( long nPos, const com::sun::star::uno::Any& rValue ); - - void ExecuteCall(); - - void SetResult( const com::sun::star::uno::Any& rNewRes ); - - sal_uInt16 GetErrCode() const { return nErrCode; } - sal_Bool HasString() const { return bHasString; } - bool HasMatrix() const { return xMatrix.get(); } - sal_Bool HasVarRes() const { return ( xVarRes.is() ); } - double GetValue() const { return fValue; } - const String& GetString() const { return aString; } - ScMatrixRef GetMatrix() const { return xMatrix; } - com::sun::star::uno::Reference<com::sun::star::sheet::XVolatileResult> - GetVarRes() const { return xVarRes; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/address.hxx b/sc/inc/address.hxx deleted file mode 100644 index f2ad941d6..000000000 --- a/sc/inc/address.hxx +++ /dev/null @@ -1,828 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ADDRESS_HXX -#define SC_ADDRESS_HXX - -#include <tools/stream.hxx> -#include <tools/string.hxx> -#include <tools/solar.h> -#include <tools/debug.hxx> -#include <rtl/ustrbuf.hxx> -#include <osl/endian.h> - -#ifndef INCLUDED_LIMITS -#include <limits> -#define INCLUDED_LIMITS -#endif -#include "scdllapi.h" -#include <formula/grammar.hxx> - -#include <com/sun/star/uno/Sequence.hxx> - -namespace com { namespace sun { namespace star { - namespace sheet { - struct ExternalLinkInfo; - } -}}} - -class ScDocument; - -// The typedefs -typedef sal_Int32 SCROW; -typedef sal_Int16 SCCOL; -typedef sal_Int16 SCTAB; -typedef sal_Int32 SCCOLROW; // a type capable of holding either SCCOL or SCROW - -// temporarily signed typedefs -typedef sal_Int32 SCsROW; -typedef sal_Int16 SCsCOL; -typedef sal_Int16 SCsTAB; -typedef sal_Int32 SCsCOLROW; - -// size_t typedef to be able to find places where code was changed from USHORT -// to size_t and is used to read/write from/to streams. -typedef size_t SCSIZE; - -// Maximum possible value of data type, NOT maximum row value. -// MSC confuses numeric_limit max() with macro max() if vcl/wintypes.hxx is -// included, we should not be using those stupid macros anyway. -#undef min -#undef max -const SCROW SCROW_MAX = ::std::numeric_limits<SCROW>::max(); -const SCCOL SCCOL_MAX = ::std::numeric_limits<SCCOL>::max(); -const SCTAB SCTAB_MAX = ::std::numeric_limits<SCTAB>::max(); -const SCCOLROW SCCOLROW_MAX = ::std::numeric_limits<SCCOLROW>::max(); -const SCSIZE SCSIZE_MAX = ::std::numeric_limits<SCSIZE>::max(); - -// A define to handle critical sections we hopefully don't need very often. -#define SC_ROWLIMIT_MORE_THAN_32K 1 /* set to 1 if we throw the switch */ - -// The maximum values. Defines are needed for preprocessor checks, for example -// in bcaslot.cxx, otherwise type safe constants are preferred. -#define MAXROWCOUNT_DEFINE 1048576 -#define MAXCOLCOUNT_DEFINE 1024 - -// Count values -const SCROW MAXROWCOUNT = MAXROWCOUNT_DEFINE; -const SCCOL MAXCOLCOUNT = MAXCOLCOUNT_DEFINE; -const SCTAB MAXTABCOUNT = 32000; -const SCCOLROW MAXCOLROWCOUNT = MAXROWCOUNT; -// Maximum values -const SCROW MAXROW = MAXROWCOUNT - 1; -const SCCOL MAXCOL = MAXCOLCOUNT - 1; -const SCTAB MAXTAB = MAXTABCOUNT - 1; -const SCCOLROW MAXCOLROW = MAXROW; - - -// Special values -const SCTAB SC_TAB_APPEND = SCTAB_MAX; -const SCTAB TABLEID_DOC = SCTAB_MAX; // entire document, e.g. protect -const SCROW SCROWS32K = 32000; -const SCCOL SCCOL_REPEAT_NONE = SCCOL_MAX; -const SCROW SCROW_REPEAT_NONE = SCROW_MAX; - - -// We hope to get rid of the binary file format. If not, these are the places -// we'd have to investigate because variable types changed. Just place code in -// #if SC_ROWLIMIT_STREAM_ACCESS for now. -#define SC_ROWLIMIT_STREAM_ACCESS 0 -// usage: -//#if SC_ROWLIMIT_STREAM_ACCESS -//#error address types changed! -//... code ... -//#endif // SC_ROWLIMIT_STREAM_ACCESS - - -// For future reference, place in code where more than 64k rows would need a -// special handling: -// #if SC_ROWLIMIT_MORE_THAN_64K -// #error row limit 64k -// #endif -#if MAXROWCOUNT_DEFINE > 65536 -#define SC_ROWLIMIT_MORE_THAN_64K 1 -#else -#define SC_ROWLIMIT_MORE_THAN_64K 0 -#endif -const SCROW SCROWS64K = 65536; - -// === old stuff defines ===================================================== - -#define MAXROW_30 8191 -#define MAXROW_40 31999 - -#ifdef SC_LIMIT_ROWS -#undef MAXROWCOUNT_DEFINE -#define MAXROWCOUNT_DEFINE 8192 -const SCROW W16MAXROWCOUNT = MAXROWCOUNT_DEFINE; -const SCROW W16MAXROW = W16MAXROWCOUNT - 1; -#define MAXROWCOUNT W16MAXROWCOUNT -#define MAXROW W16MAXROW -#endif - -#define VALIDCOL(nCol) (ValidCol(nCol)) -#define VALIDROW(nRow) (ValidRow(nRow)) -#define VALIDTAB(nTab) (ValidTab(nTab)) -#define VALIDCOLROW(nCol,nRow) (ValidColRow(nCol,nRow)) -#define VALIDCOLROWTAB(nCol,nRow,nTab) (ValidColRowTab(nCol,nRow,nTab)) - -// === old stuff defines end ================================================= - -inline bool ValidCol( SCCOL nCol ) -{ - return static_cast<SCCOL>(0) <= nCol && nCol <= MAXCOL; -} - -inline bool ValidRow( SCROW nRow ) -{ - return static_cast<SCROW>(0) <= nRow && nRow <= MAXROW; -} - -inline bool ValidTab( SCTAB nTab ) -{ - return static_cast<SCTAB>(0) <= nTab && nTab <= MAXTAB; -} - -inline bool ValidTab( SCTAB nTab, SCTAB nMaxTab ) -{ - return static_cast<SCTAB>(0) <= nTab && nTab <= nMaxTab; -} - -inline bool ValidColRow( SCCOL nCol, SCROW nRow ) -{ - return ValidCol( nCol) && ValidRow( nRow); -} - -inline bool ValidColRowTab( SCCOL nCol, SCROW nRow, SCTAB nTab ) -{ - return ValidCol( nCol) && ValidRow( nRow) && ValidTab( nTab); -} - -inline SCCOL SanitizeCol( SCCOL nCol ) -{ - return nCol < 0 ? 0 : (nCol > MAXCOL ? MAXCOL : nCol); -} - -inline SCROW SanitizeRow( SCROW nRow ) -{ - return nRow < 0 ? 0 : (nRow > MAXROW ? MAXROW : nRow); -} - -inline SCTAB SanitizeTab( SCTAB nTab ) -{ - return nTab < 0 ? 0 : (nTab > MAXTAB ? MAXTAB : nTab); -} - -inline SCTAB SanitizeTab( SCTAB nTab, SCTAB nMaxTab ) -{ - return nTab < 0 ? 0 : (nTab > nMaxTab ? nMaxTab : nTab); -} - -// === ScAddress ============================================================= - -// The old cell address is combined in one UINT32: -// +---+---+-------+ -// |Tab|Col| Row | -// +---+---+-------+ -// For speed reasons access isn't done by shifting bits but by using platform -// dependent casts, which unfortunately also leads to aliasing problems when -// not using gcc -fno-strict-aliasing - -// The result of ConvertRef() is a bit group of the following: - -#define SCA_COL_ABSOLUTE 0x01 -#define SCA_ROW_ABSOLUTE 0x02 -#define SCA_TAB_ABSOLUTE 0x04 -#define SCA_TAB_3D 0x08 -#define SCA_COL2_ABSOLUTE 0x10 -#define SCA_ROW2_ABSOLUTE 0x20 -#define SCA_TAB2_ABSOLUTE 0x40 -#define SCA_TAB2_3D 0x80 -#define SCA_VALID_ROW 0x0100 -#define SCA_VALID_COL 0x0200 -#define SCA_VALID_TAB 0x0400 -// SCA_BITS is a convience for -// (SCA_VALID_TAB | SCA_VALID_COL | SCA_VALID_ROW | SCA_TAB_3D | SCA_TAB_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_COL_ABSOLUTE) -#define SCA_BITS 0x070F -// somewhat cheesy kludge to force the display of the document name even for -// local references. Requires TAB_3D to be valid -#define SCA_FORCE_DOC 0x0800 -#define SCA_VALID_ROW2 0x1000 -#define SCA_VALID_COL2 0x2000 -#define SCA_VALID_TAB2 0x4000 -#define SCA_VALID 0x8000 - -#define SCA_ABS SCA_VALID \ - | SCA_COL_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_TAB_ABSOLUTE - -#define SCR_ABS SCA_ABS \ - | SCA_COL2_ABSOLUTE | SCA_ROW2_ABSOLUTE | SCA_TAB2_ABSOLUTE - -#define SCA_ABS_3D SCA_ABS | SCA_TAB_3D -#define SCR_ABS_3D SCR_ABS | SCA_TAB_3D - -// === ScAddress ============================================================= - -class ScAddress -{ -private: - SCROW nRow; - SCCOL nCol; - SCTAB nTab; - -public: - - enum Uninitialized { UNINITIALIZED }; - enum InitializeInvalid { INITIALIZE_INVALID }; - - struct Details { - formula::FormulaGrammar::AddressConvention eConv; - SCROW nRow; - SCCOL nCol; - inline Details( formula::FormulaGrammar::AddressConvention eConvP, SCROW nRowP, SCCOL nColP ) - : eConv( eConvP ), nRow( nRowP ), nCol( nColP ) - {} - inline Details( formula::FormulaGrammar::AddressConvention eConvP, ScAddress const & rAddr ) - : eConv( eConvP ), nRow( rAddr.Row() ), nCol( rAddr.Col() ) - {} - inline Details( formula::FormulaGrammar::AddressConvention eConvP) - : eConv( eConvP ), nRow( 0 ), nCol( 0 ) - {} - /* Use the formula::FormulaGrammar::AddressConvention associated with rAddr::Tab() */ - Details( const ScDocument* pDoc, const ScAddress & rAddr ); - }; - SC_DLLPUBLIC static const Details detailsOOOa1; - - struct ExternalInfo - { - ::rtl::OUString maTabName; - sal_uInt16 mnFileId; - bool mbExternal; - - inline ExternalInfo() : mnFileId(0), mbExternal(false) {} - }; - - inline ScAddress() : nRow(0), nCol(0), nTab(0) {} - inline ScAddress( SCCOL nColP, SCROW nRowP, SCTAB nTabP ) - : nRow(nRowP), nCol(nColP), nTab(nTabP) - {} - /** Yes, it is what it seems to be: Uninitialized. May be used for - performance reasons if it is initialized by other means. */ - inline ScAddress( Uninitialized ) {} - inline ScAddress( InitializeInvalid ) - : nRow(-1), nCol(-1), nTab(-1) {} - inline ScAddress( const ScAddress& r ) - : nRow(r.nRow), nCol(r.nCol), nTab(r.nTab) - {} - inline ScAddress& operator=( const ScAddress& r ); - - inline void Set( SCCOL nCol, SCROW nRow, SCTAB nTab ); - inline SCROW Row() const { return nRow; } - inline SCCOL Col() const { return nCol; } - inline SCTAB Tab() const { return nTab; } - inline void SetRow( SCROW nRowP ) { nRow = nRowP; } - inline void SetCol( SCCOL nColP ) { nCol = nColP; } - inline void SetTab( SCTAB nTabP ) { nTab = nTabP; } - inline void SetInvalid() { nRow = -1; nCol = -1; nTab = -1; } - inline bool IsValid() const { return (nRow >= 0) && (nCol >= 0) && (nTab >= 0); } - inline void PutInOrder( ScAddress& r ); - inline void IncRow( SCsROW n=1 ) { nRow = sal::static_int_cast<SCROW>(nRow + n); } - inline void IncCol( SCsCOL n=1 ) { nCol = sal::static_int_cast<SCCOL>(nCol + n); } - inline void IncTab( SCsTAB n=1 ) { nTab = sal::static_int_cast<SCTAB>(nTab + n); } - inline void GetVars( SCCOL& nColP, SCROW& nRowP, SCTAB& nTabP ) const - { nColP = nCol; nRowP = nRow; nTabP = nTab; } - - SC_DLLPUBLIC sal_uInt16 Parse( const String&, ScDocument* = NULL, - const Details& rDetails = detailsOOOa1, - ExternalInfo* pExtInfo = NULL, - const ::com::sun::star::uno::Sequence< - const ::com::sun::star::sheet::ExternalLinkInfo > * pExternalLinks = NULL ); - - SC_DLLPUBLIC void Format( rtl::OUString&, sal_uInt16 = 0, ScDocument* = NULL, - const Details& rDetails = detailsOOOa1) const; - SC_DLLPUBLIC void Format( String&, sal_uInt16 = 0, ScDocument* = NULL, - const Details& rDetails = detailsOOOa1) const; - - // The document for the maximum defined sheet number - SC_DLLPUBLIC bool Move( SCsCOL dx, SCsROW dy, SCsTAB dz, ScDocument* =NULL ); - inline bool operator==( const ScAddress& r ) const; - inline bool operator!=( const ScAddress& r ) const; - inline bool operator<( const ScAddress& r ) const; - inline bool operator<=( const ScAddress& r ) const; - inline bool operator>( const ScAddress& r ) const; - inline bool operator>=( const ScAddress& r ) const; - - inline size_t hash() const; - - /// "A1" or "$A$1" or R1C1 or R[1]C[1] - String GetColRowString( bool bAbsolute = false, - const Details& rDetails = detailsOOOa1) const; -}; - -inline void ScAddress::PutInOrder( ScAddress& r ) -{ - if ( r.Col() < Col() ) - { - SCCOL nTmp = r.Col(); - r.SetCol( Col() ); - SetCol( nTmp ); - } - if ( r.Row() < Row() ) - { - SCROW nTmp = r.Row(); - r.SetRow( Row() ); - SetRow( nTmp ); - } - if ( r.Tab() < Tab() ) - { - SCTAB nTmp = r.Tab(); - r.SetTab( Tab() ); - SetTab( nTmp ); - } -} - -inline void ScAddress::Set( SCCOL nColP, SCROW nRowP, SCTAB nTabP ) -{ - nCol = nColP; - nRow = nRowP; - nTab = nTabP; -} - -inline ScAddress& ScAddress::operator=( const ScAddress& r ) -{ - nCol = r.nCol; - nRow = r.nRow; - nTab = r.nTab; - return *this; -} - -inline bool ScAddress::operator==( const ScAddress& r ) const -{ - return nRow == r.nRow && nCol == r.nCol && nTab == r.nTab; -} - -inline bool ScAddress::operator!=( const ScAddress& r ) const -{ - return !operator==( r ); -} - -inline bool ScAddress::operator<( const ScAddress& r ) const -{ - // Same behavior as the old sal_uInt32 nAddress < r.nAddress with encoded - // tab|col|row bit fields. - if (nTab == r.nTab) - { - if (nCol == r.nCol) - return nRow < r.nRow; - else - return nCol < r.nCol; - } - else - return nTab < r.nTab; -} - -inline bool ScAddress::operator<=( const ScAddress& r ) const -{ - return operator<( r ) || operator==( r ); -} - -inline bool ScAddress::operator>( const ScAddress& r ) const -{ - return !operator<=( r ); -} - -inline bool ScAddress::operator>=( const ScAddress& r ) const -{ - return !operator<( r ); -} - - -inline size_t ScAddress::hash() const -{ - // Assume that there are not that many addresses with row > 2^16 AND column - // > 2^8 AND sheet > 2^8 so we won't have too many collisions. - if (nRow <= 0xffff) - return (static_cast<size_t>(nTab) << 24) ^ - (static_cast<size_t>(nCol) << 16) ^ static_cast<size_t>(nRow); - else - return (static_cast<size_t>(nTab) << 28) ^ - (static_cast<size_t>(nCol) << 24) ^ static_cast<size_t>(nRow); -} - -struct ScAddressHashFunctor -{ - size_t operator()( const ScAddress & rAdr ) const - { - return rAdr.hash(); - } -}; - -struct ScAddressEqualFunctor -{ - bool operator()( const ScAddress & rAdr1, const ScAddress & rAdr2 ) const - { - return rAdr1 == rAdr2; - } -}; - - -// === ScRange =============================================================== - -class ScRange -{ -public: - ScAddress aStart, aEnd; - inline ScRange() : aStart(), aEnd() {} - inline ScRange( ScAddress::Uninitialized e ) - : aStart( e ), aEnd( e ) {} - inline ScRange( ScAddress::InitializeInvalid e ) - : aStart( e ), aEnd( e ) {} - inline ScRange( const ScAddress& s, const ScAddress& e ) - : aStart( s ), aEnd( e ) { aStart.PutInOrder( aEnd ); } - inline ScRange( const ScRange& r ) : aStart( r.aStart ), aEnd( r.aEnd ) {} - inline ScRange( const ScAddress& r ) : aStart( r ), aEnd( r ) {} - inline ScRange( SCCOL nCol, SCROW nRow, SCTAB nTab ) - : aStart( nCol, nRow, nTab ), aEnd( aStart ) {} - inline ScRange( SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2 ) - : aStart( nCol1, nRow1, nTab1 ), aEnd( nCol2, nRow2, nTab2 ) {} - - inline ScRange& operator=( const ScRange& r ) - { aStart = r.aStart; aEnd = r.aEnd; return *this; } - inline ScRange& operator=( const ScAddress& rPos ) - { aStart = aEnd = rPos; return *this; } - inline void SetInvalid() { aStart.SetInvalid(); aEnd.SetInvalid(); } - inline bool IsValid() const { return aStart.IsValid() && aEnd.IsValid(); } - inline bool In( const ScAddress& ) const; // is Address& in Range? - inline bool In( const ScRange& ) const; // is Range& in Range? - - sal_uInt16 Parse( const String&, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1, - ScAddress::ExternalInfo* pExtInfo = NULL, - const ::com::sun::star::uno::Sequence< - const ::com::sun::star::sheet::ExternalLinkInfo > * pExternalLinks = NULL ); - - SC_DLLPUBLIC sal_uInt16 ParseAny( const String&, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1 ); - SC_DLLPUBLIC sal_uInt16 ParseCols( const String&, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1 ); - SC_DLLPUBLIC sal_uInt16 ParseRows( const String&, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1 ); - - /** Parse an Excel style reference up to and including the sheet name - separator '!', including detection of external documents and sheet - names, and in case of MOOXML import the bracketed index is used to - determine the actual document name passed in pExternalLinks. For - internal references (resulting rExternDocName empty), aStart.nTab and - aEnd.nTab are set, or -1 if sheet name not found. - @param bOnlyAcceptSingle If <TRUE/>, a 3D reference (Sheet1:Sheet2) - encountered results in an error (NULL returned). - @param pExternalLinks pointer to ExternalLinkInfo sequence, may be - NULL for non-filter usage, in which case indices such as [1] are - not resolved. - @returns - Pointer to the position after '!' if successfully parsed, and - rExternDocName, rStartTabName and/or rEndTabName filled if - applicable. SCA_... flags set in nFlags. - Or if no valid document and/or sheet header could be parsed the start - position passed with pString. - Or NULL if a 3D sheet header could be parsed but - bOnlyAcceptSingle==true was given. - */ - const sal_Unicode* Parse_XL_Header( const sal_Unicode* pString, const ScDocument* pDoc, - String& rExternDocName, String& rStartTabName, String& rEndTabName, sal_uInt16& nFlags, - bool bOnlyAcceptSingle, - const ::com::sun::star::uno::Sequence< - const ::com::sun::star::sheet::ExternalLinkInfo > * pExternalLinks = NULL ); - - SC_DLLPUBLIC void Format( String&, sal_uInt16 = 0, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1 ) const; - - SC_DLLPUBLIC void Format( rtl::OUString&, sal_uInt16 = 0, ScDocument* = NULL, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1 ) const; - - inline void GetVars( SCCOL& nCol1, SCROW& nRow1, SCTAB& nTab1, - SCCOL& nCol2, SCROW& nRow2, SCTAB& nTab2 ) const; - // The document for the maximum defined sheet number - SC_DLLPUBLIC bool Move( SCsCOL dx, SCsROW dy, SCsTAB dz, ScDocument* =NULL ); - SC_DLLPUBLIC void Justify(); - SC_DLLPUBLIC void ExtendTo( const ScRange& rRange ); - SC_DLLPUBLIC bool Intersects( const ScRange& ) const; // do two ranges intersect? - inline bool operator==( const ScRange& r ) const; - inline bool operator!=( const ScRange& r ) const; - inline bool operator<( const ScRange& r ) const; - inline bool operator<=( const ScRange& r ) const; - inline bool operator>( const ScRange& r ) const; - inline bool operator>=( const ScRange& r ) const; - - /// Hash 2D area ignoring table number. - inline size_t hashArea() const; - /// Hash start column and start and end rows. - inline size_t hashStartColumn() const; -}; - -inline void ScRange::GetVars( SCCOL& nCol1, SCROW& nRow1, SCTAB& nTab1, - SCCOL& nCol2, SCROW& nRow2, SCTAB& nTab2 ) const -{ - aStart.GetVars( nCol1, nRow1, nTab1 ); - aEnd.GetVars( nCol2, nRow2, nTab2 ); -} - -inline bool ScRange::operator==( const ScRange& r ) const -{ - return ( (aStart == r.aStart) && (aEnd == r.aEnd) ); -} - -inline bool ScRange::operator!=( const ScRange& r ) const -{ - return !operator==( r ); -} - -// Sort on upper left corner, if equal then use lower right too. -inline bool ScRange::operator<( const ScRange& r ) const -{ - return aStart < r.aStart || (aStart == r.aStart && aEnd < r.aEnd) ; -} - -inline bool ScRange::operator<=( const ScRange& r ) const -{ - return operator<( r ) || operator==( r ); -} - -inline bool ScRange::operator>( const ScRange& r ) const -{ - return !operator<=( r ); -} - -inline bool ScRange::operator>=( const ScRange& r ) const -{ - return !operator<( r ); -} - -inline bool ScRange::In( const ScAddress& rAddr ) const -{ - return - aStart.Col() <= rAddr.Col() && rAddr.Col() <= aEnd.Col() && - aStart.Row() <= rAddr.Row() && rAddr.Row() <= aEnd.Row() && - aStart.Tab() <= rAddr.Tab() && rAddr.Tab() <= aEnd.Tab(); -} - -inline bool ScRange::In( const ScRange& r ) const -{ - return - aStart.Col() <= r.aStart.Col() && r.aEnd.Col() <= aEnd.Col() && - aStart.Row() <= r.aStart.Row() && r.aEnd.Row() <= aEnd.Row() && - aStart.Tab() <= r.aStart.Tab() && r.aEnd.Tab() <= aEnd.Tab(); -} - - -inline size_t ScRange::hashArea() const -{ - // Assume that there are not that many ranges with identical corners so we - // won't have too many collisions. Also assume that more lower row and - // column numbers are used so that there are not too many conflicts with - // the columns hashed into the values, and that start row and column - // usually don't exceed certain values. High bits are not masked off and - // may overlap with lower bits of other values, e.g. if start column is - // greater than assumed. - return - (static_cast<size_t>(aStart.Row()) << 26) ^ // start row <= 2^6 - (static_cast<size_t>(aStart.Col()) << 21) ^ // start column <= 2^5 - (static_cast<size_t>(aEnd.Col()) << 15) ^ // end column <= 2^6 - static_cast<size_t>(aEnd.Row()); // end row <= 2^15 -} - - -inline size_t ScRange::hashStartColumn() const -{ - // Assume that for the start row more lower row numbers are used so that - // there are not too many conflicts with the column hashed into the higher - // values. - return - (static_cast<size_t>(aStart.Col()) << 24) ^ // start column <= 2^8 - (static_cast<size_t>(aStart.Row()) << 16) ^ // start row <= 2^8 - static_cast<size_t>(aEnd.Row()); -} - - -struct ScRangeHashAreaFunctor -{ - size_t operator()( const ScRange & rRange ) const - { - return rRange.hashArea(); - } -}; - -struct ScRangeEqualFunctor -{ - bool operator()( const ScRange & rRange1, const ScRange & rRange2 ) const - { - return rRange1 == rRange2; - } -}; - - -// === ScRangePair =========================================================== - -class ScRangePair -{ -private: - ScRange aRange[2]; - -public: - ScRangePair() {} - ScRangePair( const ScRangePair& r ) - { aRange[0] = r.aRange[0]; aRange[1] = r.aRange[1]; } - ScRangePair( const ScRange& r1, const ScRange& r2 ) - { aRange[0] = r1; aRange[1] = r2; } - - inline ScRangePair& operator= ( const ScRangePair& r ); - const ScRange& GetRange( sal_uInt16 n ) const { return aRange[n]; } - ScRange& GetRange( sal_uInt16 n ) { return aRange[n]; } - inline int operator==( const ScRangePair& ) const; - inline int operator!=( const ScRangePair& ) const; -}; - -inline ScRangePair& ScRangePair::operator= ( const ScRangePair& r ) -{ - aRange[0] = r.aRange[0]; - aRange[1] = r.aRange[1]; - return *this; -} - -inline int ScRangePair::operator==( const ScRangePair& r ) const -{ - return ( (aRange[0] == r.aRange[0]) && (aRange[1] == r.aRange[1]) ); -} - -inline int ScRangePair::operator!=( const ScRangePair& r ) const -{ - return !operator==( r ); -} - -// === ScRefAddress ========================================================== - -class ScRefAddress -{ - ScAddress aAdr; - bool bRelCol; - bool bRelRow; - bool bRelTab; -public: - inline ScRefAddress() : bRelCol(false), bRelRow(false), bRelTab(false) - {} - inline ScRefAddress( SCCOL nCol, SCROW nRow, SCTAB nTab, - bool bRelColP, bool bRelRowP, bool bRelTabP ) : - aAdr(nCol, nRow, nTab), - bRelCol(bRelColP), bRelRow(bRelRowP), bRelTab(bRelTabP) - {} - inline ScRefAddress( const ScAddress& rAdr, - bool bRelColP, bool bRelRowP, bool bRelTabP ) : - aAdr(rAdr), - bRelCol(bRelColP), bRelRow(bRelRowP), bRelTab(bRelTabP) - {} - inline ScRefAddress( const ScRefAddress& rRef ) : - aAdr(rRef.aAdr), bRelCol(rRef.bRelCol), bRelRow(rRef.bRelRow), - bRelTab(rRef.bRelTab) - {} - - inline ScRefAddress& operator=( const ScRefAddress& ); - - inline bool IsRelCol() const { return bRelCol; } - inline bool IsRelRow() const { return bRelRow; } - inline bool IsRelTab() const { return bRelTab; } - - inline void SetRelCol(bool bNewRelCol) { bRelCol = bNewRelCol; } - inline void SetRelRow(bool bNewRelRow) { bRelRow = bNewRelRow; } - inline void SetRelTab(bool bNewRelTab) { bRelTab = bNewRelTab; } - - inline void Set( const ScAddress& rAdr, - bool bNewRelCol, bool bNewRelRow, bool bNewRelTab ); - inline void Set( SCCOL nNewCol, SCROW nNewRow, SCTAB nNewTab, - bool bNewRelCol, bool bNewRelRow, bool bNewRelTab ); - - inline const ScAddress& GetAddress() const { return aAdr; } - inline SCCOL Col() const { return aAdr.Col(); } - inline SCROW Row() const { return aAdr.Row(); } - inline SCTAB Tab() const { return aAdr.Tab(); } - - inline int operator == ( const ScRefAddress& r ) const; - inline int operator != ( const ScRefAddress& r ) const - { return !(operator==(r)); } - - String GetRefString( ScDocument* pDoc, SCTAB nActTab, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1) const; -}; - -inline ScRefAddress& ScRefAddress::operator=( const ScRefAddress& rRef ) -{ - aAdr = rRef.aAdr; - bRelCol = rRef.bRelCol; - bRelRow = rRef.bRelRow; - bRelTab = rRef.bRelTab; - return *this; -} - -inline void ScRefAddress::Set( const ScAddress& rAdr, - bool bNewRelCol, bool bNewRelRow, bool bNewRelTab ) -{ - aAdr = rAdr; - bRelCol = bNewRelCol; - bRelRow = bNewRelRow; - bRelTab = bNewRelTab; -} - -inline void ScRefAddress::Set( SCCOL nNewCol, SCROW nNewRow, SCTAB nNewTab, - bool bNewRelCol, bool bNewRelRow, bool bNewRelTab ) -{ - aAdr.Set( nNewCol, nNewRow, nNewTab); - bRelCol = bNewRelCol; - bRelRow = bNewRelRow; - bRelTab = bNewRelTab; -} - -inline int ScRefAddress::operator==( const ScRefAddress& r ) const -{ - return aAdr == r.aAdr && bRelCol == r.bRelCol && bRelRow == r.bRelRow && - bRelTab == r.bRelTab; -} - -// =========================================================================== -// Global functions -// =========================================================================== - -// Special values for cells always broadcasting or listening (RECALCMODE_ALWAYS -// and the like). -#define BCA_BRDCST_ALWAYS ScAddress( 0, SCROW_MAX, 0 ) -#define BCA_LISTEN_ALWAYS ScRange( BCA_BRDCST_ALWAYS, BCA_BRDCST_ALWAYS ) - -template< typename T > void PutInOrder( T& nStart, T& nEnd ) -{ - if (nEnd < nStart) - { - T nTemp; - nTemp = nEnd; - nEnd = nStart; - nStart = nTemp; - } -} - -bool ConvertSingleRef( ScDocument* pDoc, const String& rRefString, - SCTAB nDefTab, ScRefAddress& rRefAddress, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1, - ScAddress::ExternalInfo* pExtInfo = NULL ); - -bool ConvertDoubleRef(ScDocument* pDoc, const String& rRefString, - SCTAB nDefTab, ScRefAddress& rStartRefAddress, - ScRefAddress& rEndRefAddress, - const ScAddress::Details& rDetails = ScAddress::detailsOOOa1, - ScAddress::ExternalInfo* pExtInfo = NULL ); - -/// append alpha representation of column to buffer -SC_DLLPUBLIC void ScColToAlpha( rtl::OUStringBuffer& rBuffer, SCCOL nCol); - -inline void ScColToAlpha( String& rStr, SCCOL nCol) -{ - rtl::OUStringBuffer aBuf(2); - ScColToAlpha( aBuf, nCol); - rStr.Append( aBuf.getStr(), static_cast<xub_StrLen>(aBuf.getLength())); -} - -inline String ScColToAlpha( SCCOL nCol ) -{ - rtl::OUStringBuffer aBuf(2); - ScColToAlpha( aBuf, nCol); - return aBuf.makeStringAndClear(); -} - -/// get column number of A..IV... string -bool AlphaToCol( SCCOL& rCol, const String& rStr); - -#endif // SC_ADDRESS_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/addruno.hxx b/sc/inc/addruno.hxx deleted file mode 100644 index a60b8bc7c..000000000 --- a/sc/inc/addruno.hxx +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ADDRUNO_HXX -#define SC_ADDRUNO_HXX - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <cppuhelper/implbase2.hxx> -#include <svl/lstner.hxx> -#include "global.hxx" -#include "address.hxx" - - -class ScAddressConversionObj : public ::cppu::WeakImplHelper2< - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScRange aRange; - sal_Int32 nRefSheet; - sal_Bool bIsRange; - - sal_Bool ParseUIString( const String& rUIString, ::formula::FormulaGrammar::AddressConvention eConv = ::formula::FormulaGrammar::CONV_OOO ); - -public: - - ScAddressConversionObj(ScDocShell* pDocSh, sal_Bool bForRange); - virtual ~ScAddressConversionObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/afmtuno.hxx b/sc/inc/afmtuno.hxx deleted file mode 100644 index 66a25442b..000000000 --- a/sc/inc/afmtuno.hxx +++ /dev/null @@ -1,312 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_AFMTUNO_HXX -#define SC_AFMTUNO_HXX - -#include <svl/lstner.hxx> -#include <svl/itemprop.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XContainer.hpp> -#include <com/sun/star/container/XIndexContainer.hpp> -#include <com/sun/star/container/XNameReplace.hpp> -#include <com/sun/star/container/XContainerListener.hpp> -#include <com/sun/star/container/XSet.hpp> -#include <com/sun/star/container/ContainerEvent.hpp> -#include <com/sun/star/container/XIndexReplace.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/container/XNamed.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase6.hxx> - -class ScAutoFormatFieldObj; -class ScAutoFormatObj; - - -#define SC_AFMTOBJ_INVALID USHRT_MAX - - -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - ScAutoFormatsObj_CreateInstance( - const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory >& ); - - -class ScAutoFormatsObj : public ::cppu::WeakImplHelper4< - ::com::sun::star::container::XNameContainer, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::lang::XServiceInfo > -{ -private: - ScAutoFormatObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); - ScAutoFormatObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScAutoFormatsObj(); - virtual ~ScAutoFormatsObj(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString> getSupportedServiceNames_Static(); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScAutoFormatObj : public ::cppu::WeakImplHelper6< - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XNamed, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XUnoTunnel, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - SfxItemPropertySet aPropSet; - sal_uInt16 nFormatIndex; - - ScAutoFormatFieldObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); - -public: - ScAutoFormatObj(sal_uInt16 nIndex); - virtual ~ScAutoFormatObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // per getImplementation gerufen: - sal_Bool IsInserted() const { return nFormatIndex != SC_AFMTOBJ_INVALID; } - void InitFormat( sal_uInt16 nNewIndex ); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScAutoFormatObj* getImplementation( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface> xObj ); -}; - - -class ScAutoFormatFieldObj : public ::cppu::WeakImplHelper2< - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - SfxItemPropertySet aPropSet; - sal_uInt16 nFormatIndex; - sal_uInt16 nFieldIndex; - -public: - ScAutoFormatFieldObj(sal_uInt16 nFormat, sal_uInt16 nField); - virtual ~ScAutoFormatFieldObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/appluno.hxx b/sc/inc/appluno.hxx deleted file mode 100644 index f8d82cd7d..000000000 --- a/sc/inc/appluno.hxx +++ /dev/null @@ -1,214 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_APPLUNO_HXX -#define SC_APPLUNO_HXX - -#include <svl/itemprop.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/sheet/XRecentFunctions.hpp> -#include <com/sun/star/sheet/XFunctionDescriptions.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase4.hxx> -#include <rtl/ustring.hxx> - -class ScFunctionDescriptionObj; - - - -com::sun::star::uno::Reference<com::sun::star::uno::XInterface> SAL_CALL - ScSpreadsheetSettings_CreateInstance( - const com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory>& rSMgr ); -com::sun::star::uno::Reference<com::sun::star::uno::XInterface> SAL_CALL - ScRecentFunctionsObj_CreateInstance( - const com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory>& rSMgr ); -com::sun::star::uno::Reference<com::sun::star::uno::XInterface> SAL_CALL - ScFunctionListObj_CreateInstance( - const com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory>& rSMgr ); - - -class ScSpreadsheetSettings : public cppu::WeakImplHelper2< - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo> -{ -private: - SfxItemPropertySet aPropSet; - -public: - ScSpreadsheetSettings(); - virtual ~ScSpreadsheetSettings(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScRecentFunctionsObj : public cppu::WeakImplHelper2< - com::sun::star::sheet::XRecentFunctions, - com::sun::star::lang::XServiceInfo> -{ -public: - ScRecentFunctionsObj(); - virtual ~ScRecentFunctionsObj(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(); - - // XRecentFunctions - virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getRecentFunctionIds() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setRecentFunctionIds( const ::com::sun::star::uno::Sequence< - sal_Int32 >& aRecentFunctionIds ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxRecentFunctions() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScFunctionListObj : public cppu::WeakImplHelper4< - com::sun::star::sheet::XFunctionDescriptions, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XNameAccess, - com::sun::star::lang::XServiceInfo> -{ -public: - ScFunctionListObj(); - virtual ~ScFunctionListObj(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(); - - // XFunctionDescriptions - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - getById( sal_Int32 nId ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/appoptio.hxx b/sc/inc/appoptio.hxx deleted file mode 100644 index e10b1e625..000000000 --- a/sc/inc/appoptio.hxx +++ /dev/null @@ -1,156 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_APPOPTIO_HXX -#define SC_APPOPTIO_HXX - -#include <vcl/field.hxx> -#include <svx/zoomitem.hxx> -#include <unotools/configitem.hxx> -#include "scdllapi.h" -#include "global.hxx" -#include "optutil.hxx" - -class SC_DLLPUBLIC ScAppOptions -{ -public: - ScAppOptions(); - ScAppOptions( const ScAppOptions& rCpy ); - ~ScAppOptions(); - - void SetDefaults(); - - // Set or get the initial tab count for new spreadsheet, it is used by VBA API currently. - void SetTabCountInNewSpreadsheet( SCTAB nCount ) { nTabCountInNewSpreadsheet = nCount; } - SCTAB GetTabCountInNewSpreadsheet() const { return nTabCountInNewSpreadsheet; } - - void SetAppMetric( FieldUnit eUnit ) { eMetric = eUnit; } - FieldUnit GetAppMetric() const { return eMetric; } - void SetZoom( sal_uInt16 nNew ) { nZoom = nNew; } - sal_uInt16 GetZoom() const { return nZoom; } - void SetZoomType( SvxZoomType eNew ) { eZoomType = eNew; } - SvxZoomType GetZoomType() const { return eZoomType; } - void SetSynchronizeZoom( sal_Bool bNew ) { bSynchronizeZoom = bNew; } - sal_Bool GetSynchronizeZoom() const { return bSynchronizeZoom; } - sal_uInt16 GetLRUFuncListCount() const { return nLRUFuncCount; } - sal_uInt16* GetLRUFuncList() const { return pLRUList; } - void SetLRUFuncList( const sal_uInt16* pList, - const sal_uInt16 nCount ); - void SetStatusFunc( sal_uInt16 nNew ) { nStatusFunc = nNew; } - sal_uInt16 GetStatusFunc() const { return nStatusFunc; } - void SetAutoComplete( sal_Bool bNew ) { bAutoComplete = bNew; } - sal_Bool GetAutoComplete() const { return bAutoComplete; } - void SetDetectiveAuto( sal_Bool bNew ) { bDetectiveAuto = bNew; } - sal_Bool GetDetectiveAuto() const { return bDetectiveAuto; } - - void SetTrackContentColor(sal_uInt32 nNew) { nTrackContentColor = nNew; } - sal_uInt32 GetTrackContentColor() const { return nTrackContentColor; } - void SetTrackInsertColor(sal_uInt32 nNew) { nTrackInsertColor = nNew; } - sal_uInt32 GetTrackInsertColor() const { return nTrackInsertColor; } - void SetTrackDeleteColor(sal_uInt32 nNew) { nTrackDeleteColor = nNew; } - sal_uInt32 GetTrackDeleteColor() const { return nTrackDeleteColor; } - void SetTrackMoveColor(sal_uInt32 nNew) { nTrackMoveColor = nNew; } - sal_uInt32 GetTrackMoveColor() const { return nTrackMoveColor; } - - ScLkUpdMode GetLinkMode() const { return eLinkMode ;} - void SetLinkMode( ScLkUpdMode nSet ) { eLinkMode = nSet;} - - void SetDefaultObjectSizeWidth(sal_Int32 nNew) { nDefaultObjectSizeWidth = nNew; } - sal_Int32 GetDefaultObjectSizeWidth() const { return nDefaultObjectSizeWidth; } - void SetDefaultObjectSizeHeight(sal_Int32 nNew) { nDefaultObjectSizeHeight = nNew; } - sal_Int32 GetDefaultObjectSizeHeight() const { return nDefaultObjectSizeHeight; } - - void SetShowSharedDocumentWarning( sal_Bool bNew ) { mbShowSharedDocumentWarning = bNew; } - sal_Bool GetShowSharedDocumentWarning() const { return mbShowSharedDocumentWarning; } - - - const ScAppOptions& operator= ( const ScAppOptions& rOpt ); - -private: - SCTAB nTabCountInNewSpreadsheet; - FieldUnit eMetric; - sal_uInt16 nLRUFuncCount; - sal_uInt16* pLRUList; - SvxZoomType eZoomType; - sal_uInt16 nZoom; - sal_Bool bSynchronizeZoom; - sal_uInt16 nStatusFunc; - sal_Bool bAutoComplete; - sal_Bool bDetectiveAuto; - sal_uInt32 nTrackContentColor; - sal_uInt32 nTrackInsertColor; - sal_uInt32 nTrackDeleteColor; - sal_uInt32 nTrackMoveColor; - ScLkUpdMode eLinkMode; - sal_Int32 nDefaultObjectSizeWidth; - sal_Int32 nDefaultObjectSizeHeight; - sal_Bool mbShowSharedDocumentWarning; -}; - - -//================================================================== -// Config Item containing app options -//================================================================== - -class ScAppCfg : public ScAppOptions -{ - // spread about 5 config paths - //! split ScAppOptions into different classes - - ScLinkConfigItem aLayoutItem; - ScLinkConfigItem aInputItem; - ScLinkConfigItem aRevisionItem; - ScLinkConfigItem aContentItem; - ScLinkConfigItem aSortListItem; - ScLinkConfigItem aMiscItem; - - DECL_LINK( LayoutCommitHdl, void* ); - DECL_LINK( InputCommitHdl, void* ); - DECL_LINK( RevisionCommitHdl, void* ); - DECL_LINK( ContentCommitHdl, void* ); - DECL_LINK( SortListCommitHdl, void* ); - DECL_LINK( MiscCommitHdl, void* ); - - com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetInputPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetRevisionPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetContentPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetSortListPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetMiscPropertyNames(); - -public: - ScAppCfg(); - - void SetOptions( const ScAppOptions& rNew ); - void OptionsChanged(); // after direct access to ScAppOptions base class -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/arealink.hxx b/sc/inc/arealink.hxx deleted file mode 100644 index 0f3424e99..000000000 --- a/sc/inc/arealink.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_AREALINK_HXX -#define SC_AREALINK_HXX - -#include "global.hxx" -#include "refreshtimer.hxx" -#include "address.hxx" -#include <sfx2/lnkbase.hxx> -#include "scdllapi.h" - -class ScDocShell; -class SfxObjectShell; -class AbstractScLinkedAreaDlg; -struct AreaLink_Impl; - -class SC_DLLPUBLIC ScAreaLink : public ::sfx2::SvBaseLink, public ScRefreshTimer -{ -private: - AreaLink_Impl* pImpl; - String aFileName; - String aFilterName; - String aOptions; - String aSourceArea; - ScRange aDestArea; - bool bAddUndo; - bool bInCreate; - bool bDoInsert; // is set to FALSE for first update - bool FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const String& rAreaName ); - -public: - TYPEINFO(); - ScAreaLink( SfxObjectShell* pShell, const String& rFile, - const String& rFilter, const String& rOpt, - const String& rArea, const ScRange& rDest, sal_uLong nRefresh ); - virtual ~ScAreaLink(); - - virtual void Closed(); - virtual ::sfx2::SvBaseLink::UpdateResult DataChanged( - const String& rMimeType, const ::com::sun::star::uno::Any & rValue ); - - virtual void Edit( Window*, const Link& rEndEditHdl ); - - sal_Bool Refresh( const String& rNewFile, const String& rNewFilter, - const String& rNewArea, sal_uLong nNewRefresh ); - - void SetInCreate(bool bSet) { bInCreate = bSet; } - void SetDoInsert(bool bSet) { bDoInsert = bSet; } - void SetDestArea(const ScRange& rNew); - void SetSource(const String& rDoc, const String& rFlt, const String& rOpt, - const String& rArea); - - bool IsEqual( const String& rFile, const String& rFilter, const String& rOpt, - const String& rSource, const ScRange& rDest ) const; - - const String& GetFile() const { return aFileName; } - const String& GetFilter() const { return aFilterName; } - const String& GetOptions() const { return aOptions; } - const String& GetSource() const { return aSourceArea; } - const ScRange& GetDestArea() const { return aDestArea; } - - DECL_LINK( RefreshHdl, ScAreaLink* ); - DECL_LINK( AreaEndEditHdl, void* ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/attarray.hxx b/sc/inc/attarray.hxx deleted file mode 100644 index dcf58aaac..000000000 --- a/sc/inc/attarray.hxx +++ /dev/null @@ -1,247 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ATRARR_HXX -#define SC_ATRARR_HXX - -#include "global.hxx" -#include "attrib.hxx" - -class ScDocument; -class ScEditDataArray; -class ScMarkArray; -class ScPatternAttr; -class ScStyleSheet; -class ScFlatBoolRowSegments; - -class Rectangle; -class SfxItemPoolCache; -class SfxStyleSheetBase; -class SvxBoxItem; -class SvxBoxInfoItem; - -namespace editeng { class SvxBorderLine; } - -#define SC_LINE_EMPTY 0 -#define SC_LINE_SET 1 -#define SC_LINE_DONTCARE 2 - -#define SC_ATTRARRAY_DELTA 4 - -struct ScLineFlags -{ - sal_uInt8 nLeft; - sal_uInt8 nRight; - sal_uInt8 nTop; - sal_uInt8 nBottom; - sal_uInt8 nHori; - sal_uInt8 nVert; - - ScLineFlags() : nLeft(SC_LINE_EMPTY),nRight(SC_LINE_EMPTY),nTop(SC_LINE_EMPTY), - nBottom(SC_LINE_EMPTY),nHori(SC_LINE_EMPTY),nVert(SC_LINE_EMPTY) {} -}; - -struct ScMergePatternState -{ - SfxItemSet* pItemSet; // allocated in MergePatternArea, used for resulting ScPatternAttr - const ScPatternAttr* pOld1; // existing objects, temporary - const ScPatternAttr* pOld2; - - ScMergePatternState() : pItemSet(NULL), pOld1(NULL), pOld2(NULL) {} -}; - -struct ScAttrEntry -{ - SCROW nRow; - const ScPatternAttr* pPattern; -}; - - -class ScAttrArray -{ -private: - SCCOL nCol; - SCTAB nTab; - ScDocument* pDocument; - - SCSIZE nCount; - SCSIZE nLimit; - ScAttrEntry* pData; - -friend class ScDocument; // for FillInfo -friend class ScDocumentIterator; -friend class ScAttrIterator; -friend class ScHorizontalAttrIterator; -friend void lcl_IterGetNumberFormat( sal_uLong& nFormat, - const ScAttrArray*& rpArr, SCROW& nAttrEndRow, - const ScAttrArray* pNewArr, SCROW nRow, ScDocument* pDoc ); - - sal_Bool ApplyFrame( const SvxBoxItem* pLineOuter, const SvxBoxInfoItem* pLineInner, - SCROW nStartRow, SCROW nEndRow, - sal_Bool bLeft, SCCOL nDistRight, sal_Bool bTop, SCROW nDistBottom ); - - void RemoveCellCharAttribs( SCROW nStartRow, SCROW nEndRow, - const ScPatternAttr* pPattern, ScEditDataArray* pDataArray ); - -public: - ScAttrArray( SCCOL nNewCol, SCTAB nNewTab, ScDocument* pDoc ); - ~ScAttrArray(); - - void SetTab(SCTAB nNewTab) { nTab = nNewTab; } - void SetCol(SCCOL nNewCol) { nCol = nNewCol; } -#if OSL_DEBUG_LEVEL > 1 - void TestData() const; -#endif - void Reset( const ScPatternAttr* pPattern, sal_Bool bAlloc = sal_True ); - sal_Bool Concat(SCSIZE nPos); - - const ScPatternAttr* GetPattern( SCROW nRow ) const; - const ScPatternAttr* GetPatternRange( SCROW& rStartRow, SCROW& rEndRow, SCROW nRow ) const; - void MergePatternArea( SCROW nStartRow, SCROW nEndRow, ScMergePatternState& rState, sal_Bool bDeep ) const; - - void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner, ScLineFlags& rFlags, - SCROW nStartRow, SCROW nEndRow, sal_Bool bLeft, SCCOL nDistRight ) const; - void ApplyBlockFrame( const SvxBoxItem* pLineOuter, const SvxBoxInfoItem* pLineInner, - SCROW nStartRow, SCROW nEndRow, sal_Bool bLeft, SCCOL nDistRight ); - - void SetPattern( SCROW nRow, const ScPatternAttr* pPattern, sal_Bool bPutToPool = false ); - void SetPatternArea( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr* pPattern, - sal_Bool bPutToPool = false, ScEditDataArray* pDataArray = NULL ); - void ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, ScStyleSheet* pStyle ); - void ApplyCacheArea( SCROW nStartRow, SCROW nEndRow, SfxItemPoolCache* pCache, - ScEditDataArray* pDataArray = NULL ); - bool SetAttrEntries(ScAttrEntry* pNewData, SCSIZE nSize); - void ApplyLineStyleArea( SCROW nStartRow, SCROW nEndRow, - const ::editeng::SvxBorderLine* pLine, sal_Bool bColorOnly ); - - void ClearItems( SCROW nStartRow, SCROW nEndRow, const sal_uInt16* pWhich ); - void ChangeIndent( SCROW nStartRow, SCROW nEndRow, sal_Bool bIncrement ); - - /// Including current, may return -1 - SCsROW GetNextUnprotected( SCsROW nRow, sal_Bool bUp ) const; - - /// May return -1 if not found - SCsROW SearchStyle( SCsROW nRow, const ScStyleSheet* pSearchStyle, - sal_Bool bUp, ScMarkArray* pMarkArray = NULL ); - sal_Bool SearchStyleRange( SCsROW& rRow, SCsROW& rEndRow, const ScStyleSheet* pSearchStyle, - sal_Bool bUp, ScMarkArray* pMarkArray = NULL ); - - sal_Bool ApplyFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags ); - sal_Bool RemoveFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags ); - - sal_Bool Search( SCROW nRow, SCSIZE& nIndex ) const; - - sal_Bool HasLines( SCROW nRow1, SCROW nRow2, Rectangle& rSizes, - sal_Bool bLeft, sal_Bool bRight ) const; - bool HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const; - sal_Bool ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow, - SCCOL& rPaintCol, SCROW& rPaintRow, - sal_Bool bRefresh, sal_Bool bAttrs ); - sal_Bool RemoveAreaMerge( SCROW nStartRow, SCROW nEndRow ); - - void FindStyleSheet( const SfxStyleSheetBase* pStyleSheet, ScFlatBoolRowSegments& rUsedRows, bool bReset ); - sal_Bool IsStyleSheetUsed( const ScStyleSheet& rStyle, sal_Bool bGatherAllStyles ) const; - - void DeleteAreaSafe(SCROW nStartRow, SCROW nEndRow); - void SetPatternAreaSafe( SCROW nStartRow, SCROW nEndRow, - const ScPatternAttr* pWantedPattern, sal_Bool bDefault ); - void CopyAreaSafe( SCROW nStartRow, SCROW nEndRow, long nDy, ScAttrArray& rAttrArray ); - - sal_Bool IsEmpty() const; - - sal_Bool GetFirstVisibleAttr( SCROW& rFirstRow ) const; - sal_Bool GetLastVisibleAttr( SCROW& rLastRow, SCROW nLastData ) const; - sal_Bool HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const; - sal_Bool IsVisibleEqual( const ScAttrArray& rOther, - SCROW nStartRow, SCROW nEndRow ) const; - sal_Bool IsAllEqual( const ScAttrArray& rOther, SCROW nStartRow, SCROW nEndRow ) const; - - sal_Bool TestInsertCol( SCROW nStartRow, SCROW nEndRow) const; - sal_Bool TestInsertRow( SCSIZE nSize ) const; - void InsertRow( SCROW nStartRow, SCSIZE nSize ); - void DeleteRow( SCROW nStartRow, SCSIZE nSize ); - void DeleteRange( SCSIZE nStartIndex, SCSIZE nEndIndex ); - void DeleteArea( SCROW nStartRow, SCROW nEndRow ); - void MoveTo( SCROW nStartRow, SCROW nEndRow, ScAttrArray& rAttrArray ); - void CopyArea( SCROW nStartRow, SCROW nEndRow, long nDy, ScAttrArray& rAttrArray, - sal_Int16 nStripFlags = 0 ); - - void DeleteHardAttr( SCROW nStartRow, SCROW nEndRow ); -}; - - -// ------------------------------------------------------------------------------ -// Iterator for attributes -// ------------------------------------------------------------------------------ - -class ScAttrIterator -{ - const ScAttrArray* pArray; - SCSIZE nPos; - SCROW nRow; - SCROW nEndRow; -public: - inline ScAttrIterator( const ScAttrArray* pNewArray, SCROW nStart, SCROW nEnd ); - inline const ScPatternAttr* Next( SCROW& rTop, SCROW& rBottom ); - SCROW GetNextRow() const { return nRow; } -}; - - -inline ScAttrIterator::ScAttrIterator( const ScAttrArray* pNewArray, SCROW nStart, SCROW nEnd ) : - pArray( pNewArray ), - nRow( nStart ), - nEndRow( nEnd ) -{ - if ( nStart > 0 ) - pArray->Search( nStart, nPos ); - else - nPos = 0; -} - -inline const ScPatternAttr* ScAttrIterator::Next( SCROW& rTop, SCROW& rBottom ) -{ - const ScPatternAttr* pRet; - if ( nPos < pArray->nCount && nRow <= nEndRow ) - { - rTop = nRow; - rBottom = Min( pArray->pData[nPos].nRow, nEndRow ); - pRet = pArray->pData[nPos].pPattern; - nRow = rBottom + 1; - ++nPos; - } - else - pRet = NULL; - return pRet; -} - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/attrib.hxx b/sc/inc/attrib.hxx deleted file mode 100644 index a7e21b7dd..000000000 --- a/sc/inc/attrib.hxx +++ /dev/null @@ -1,400 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCATTR_HXX -#define SC_SCATTR_HXX - -#include <svl/poolitem.hxx> -#include <svl/intitem.hxx> -#include <svl/eitem.hxx> -#include "scdllapi.h" -#include "global.hxx" -#include "address.hxx" - -//------------------------------------------------------------------------ - - // flags for cells hidden by merge - // and control for auto filter -#define SC_MF_HOR 0x0001 -#define SC_MF_VER 0x0002 -#define SC_MF_AUTO 0x0004 /// autofilter arrow -#define SC_MF_BUTTON 0x0008 /// field button for datapilot -#define SC_MF_SCENARIO 0x0010 -#define SC_MF_BUTTON_POPUP 0x0020 /// dp button with popup arrow -#define SC_MF_HIDDEN_MEMBER 0x0040 /// dp field button with presence of hidden member -#define SC_MF_DP_TABLE 0x0080 /// dp table output - -#define SC_MF_ALL 0x00FF - - -class EditTextObject; -namespace editeng { class SvxBorderLine; } - -sal_Bool SC_DLLPUBLIC ScHasPriority( const ::editeng::SvxBorderLine* pThis, const ::editeng::SvxBorderLine* pOther ); - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScMergeAttr: public SfxPoolItem -{ - SCsCOL nColMerge; - SCsROW nRowMerge; -public: - TYPEINFO(); - ScMergeAttr(); - ScMergeAttr( SCsCOL nCol, SCsROW nRow = 0); - ScMergeAttr( const ScMergeAttr& ); - ~ScMergeAttr(); - - virtual String GetValueText() const; - - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rStream, sal_uInt16 nVer ) const; - - SCsCOL GetColMerge() const {return nColMerge; } - SCsROW GetRowMerge() const {return nRowMerge; } - - sal_Bool IsMerged() const { return nColMerge>1 || nRowMerge>1; } - - inline ScMergeAttr& operator=(const ScMergeAttr& rMerge) - { - nColMerge = rMerge.nColMerge; - nRowMerge = rMerge.nRowMerge; - return *this; - } -}; - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScMergeFlagAttr: public SfxInt16Item -{ -public: - ScMergeFlagAttr(); - ScMergeFlagAttr(sal_Int16 nFlags); - ~ScMergeFlagAttr(); - - sal_Bool IsHorOverlapped() const { return ( GetValue() & SC_MF_HOR ) != 0; } - sal_Bool IsVerOverlapped() const { return ( GetValue() & SC_MF_VER ) != 0; } - sal_Bool IsOverlapped() const { return ( GetValue() & ( SC_MF_HOR | SC_MF_VER ) ) != 0; } - - sal_Bool HasAutoFilter() const { return ( GetValue() & SC_MF_AUTO ) != 0; } - sal_Bool HasButton() const { return ( GetValue() & SC_MF_BUTTON ) != 0; } - bool HasDPTable() const { return ( GetValue() & SC_MF_DP_TABLE ) != 0; } - - sal_Bool IsScenario() const { return ( GetValue() & SC_MF_SCENARIO ) != 0; } -}; - -//------------------------------------------------------------------------ -class SC_DLLPUBLIC ScProtectionAttr: public SfxPoolItem -{ - sal_Bool bProtection; // protect cell - sal_Bool bHideFormula; // hide formula - sal_Bool bHideCell; // hide cell - sal_Bool bHidePrint; // don't print cell -public: - TYPEINFO(); - ScProtectionAttr(); - ScProtectionAttr( sal_Bool bProtect, - sal_Bool bHFormula = false, - sal_Bool bHCell = false, - sal_Bool bHPrint = false); - ScProtectionAttr( const ScProtectionAttr& ); - ~ScProtectionAttr(); - - virtual String GetValueText() const; - virtual SfxItemPresentation GetPresentation( - SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String& rText, - const IntlWrapper* pIntl = 0 ) const; - - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create( SvStream& rStream, sal_uInt16 nVer ) const; - - virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; - virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); - - sal_Bool GetProtection() const { return bProtection; } - sal_Bool SetProtection( sal_Bool bProtect); - sal_Bool GetHideFormula() const { return bHideFormula; } - sal_Bool SetHideFormula( sal_Bool bHFormula); - sal_Bool GetHideCell() const { return bHideCell; } - sal_Bool SetHideCell( sal_Bool bHCell); - sal_Bool GetHidePrint() const { return bHidePrint; } - sal_Bool SetHidePrint( sal_Bool bHPrint); - inline ScProtectionAttr& operator=(const ScProtectionAttr& rProtection) - { - bProtection = rProtection.bProtection; - bHideFormula = rProtection.bHideFormula; - bHideCell = rProtection.bHideCell; - bHidePrint = rProtection.bHidePrint; - return *this; - } -}; - - -//---------------------------------------------------------------------------- -// ScRangeItem: manages an area of a table - -#define SCR_INVALID 0x01 -#define SCR_ALLTABS 0x02 -#define SCR_TONEWTAB 0x04 - -class ScRangeItem : public SfxPoolItem -{ -public: - TYPEINFO(); - - inline ScRangeItem( const sal_uInt16 nWhich ); - inline ScRangeItem( const sal_uInt16 nWhich, - const ScRange& rRange, - const sal_uInt16 nNewFlags = 0 ); - inline ScRangeItem( const ScRangeItem& rCpy ); - - inline ScRangeItem& operator=( const ScRangeItem &rCpy ); - - // "pure virtual methods" from SfxPoolItem - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String &rText, - const IntlWrapper* pIntl = 0 ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - const ScRange& GetRange() const { return aRange; } - void SetRange( const ScRange& rNew ) { aRange = rNew; } - - sal_uInt16 GetFlags() const { return nFlags; } - void SetFlags( sal_uInt16 nNew ) { nFlags = nNew; } - -private: - ScRange aRange; - sal_uInt16 nFlags; -}; - -inline ScRangeItem::ScRangeItem( const sal_uInt16 nWhichP ) - : SfxPoolItem( nWhichP ), nFlags( SCR_INVALID ) // == invalid area -{ -} - -inline ScRangeItem::ScRangeItem( const sal_uInt16 nWhichP, - const ScRange& rRange, - const sal_uInt16 nNew ) - : SfxPoolItem( nWhichP ), aRange( rRange ), nFlags( nNew ) -{ -} - -inline ScRangeItem::ScRangeItem( const ScRangeItem& rCpy ) - : SfxPoolItem( rCpy.Which() ), aRange( rCpy.aRange ), nFlags( rCpy.nFlags ) -{} - -inline ScRangeItem& ScRangeItem::operator=( const ScRangeItem &rCpy ) -{ - aRange = rCpy.aRange; - return *this; -} - -//---------------------------------------------------------------------------- -// ScTableListItem: manages a list of tables -//---------------------------------------------------------------------------- -class ScTableListItem : public SfxPoolItem -{ -public: - TYPEINFO(); - - inline ScTableListItem( const sal_uInt16 nWhich ); - ScTableListItem( const ScTableListItem& rCpy ); - ~ScTableListItem(); - - ScTableListItem& operator=( const ScTableListItem &rCpy ); - - // "pure virtual Methoden" from SfxPoolItem - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String &rText, - const IntlWrapper* pIntl = 0 ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - -public: - sal_uInt16 nCount; - SCTAB* pTabArr; -}; - -inline ScTableListItem::ScTableListItem( const sal_uInt16 nWhichP ) - : SfxPoolItem(nWhichP), nCount(0), pTabArr(NULL) -{} - -//---------------------------------------------------------------------------- -// page format item: contents of header and footer - -#define SC_HF_LEFTAREA 1 -#define SC_HF_CENTERAREA 2 -#define SC_HF_RIGHTAREA 3 - -class SC_DLLPUBLIC ScPageHFItem : public SfxPoolItem -{ - EditTextObject* pLeftArea; - EditTextObject* pCenterArea; - EditTextObject* pRightArea; - -public: - TYPEINFO(); - ScPageHFItem( sal_uInt16 nWhich ); - ScPageHFItem( const ScPageHFItem& rItem ); - ~ScPageHFItem(); - - virtual String GetValueText() const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - virtual SfxPoolItem* Create( SvStream& rStream, sal_uInt16 nVer ) const; - - virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; - virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); - - const EditTextObject* GetLeftArea() const { return pLeftArea; } - const EditTextObject* GetCenterArea() const { return pCenterArea; } - const EditTextObject* GetRightArea() const { return pRightArea; } - - void SetLeftArea( const EditTextObject& rNew ); - void SetCenterArea( const EditTextObject& rNew ); - void SetRightArea( const EditTextObject& rNew ); - - // Set method with pointer assignment, nArea see defines above - void SetArea( EditTextObject *pNew, int nArea ); -}; - - -//---------------------------------------------------------------------------- -// page format item: contents of header and footer - -class SC_DLLPUBLIC ScViewObjectModeItem: public SfxEnumItem -{ -public: - TYPEINFO(); - - ScViewObjectModeItem( sal_uInt16 nWhich ); - ScViewObjectModeItem( sal_uInt16 nWhich, ScVObjMode eMode ); - ~ScViewObjectModeItem(); - - virtual sal_uInt16 GetValueCount() const; - virtual String GetValueText( sal_uInt16 nVal ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create(SvStream &, sal_uInt16) const; - virtual sal_uInt16 GetVersion( sal_uInt16 nFileVersion ) const; - virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, - SfxMapUnit eCoreMetric, - SfxMapUnit ePresMetric, - String& rText, - const IntlWrapper* pIntl = 0 ) const; -}; - -//---------------------------------------------------------------------------- -// - -class ScDoubleItem : public SfxPoolItem -{ -public: - TYPEINFO(); - ScDoubleItem( sal_uInt16 nWhich, double nVal=0 ); - ScDoubleItem( const ScDoubleItem& rItem ); - ~ScDoubleItem(); - - virtual String GetValueText() const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - virtual SfxPoolItem* Create( SvStream& rStream, sal_uInt16 nVer ) const; - - double GetValue() const { return nValue; } - - void SetValue( const double nVal ) { nValue = nVal;} - -private: - double nValue; -}; - - -// ============================================================================ - -/** Member ID for "page scale to width" value in QueryValue() and PutValue(). */ -const sal_uInt8 SC_MID_PAGE_SCALETO_WIDTH = 1; -/** Member ID for "page scale to height" value in QueryValue() and PutValue(). */ -const sal_uInt8 SC_MID_PAGE_SCALETO_HEIGHT = 2; - - -/** Contains the "scale to width/height" attribute in page styles. */ -class SC_DLLPUBLIC ScPageScaleToItem : public SfxPoolItem -{ -public: - TYPEINFO(); - - /** Default c'tor sets the width and height to 0. */ - explicit ScPageScaleToItem(); - explicit ScPageScaleToItem( sal_uInt16 nWidth, sal_uInt16 nHeight ); - - virtual ~ScPageScaleToItem(); - - virtual ScPageScaleToItem* Clone( SfxItemPool* = 0 ) const; - - virtual int operator==( const SfxPoolItem& rCmp ) const; - - inline sal_uInt16 GetWidth() const { return mnWidth; } - inline sal_uInt16 GetHeight() const { return mnHeight; } - inline bool IsValid() const { return mnWidth || mnHeight; } - - inline void SetWidth( sal_uInt16 nWidth ) { mnWidth = nWidth; } - inline void SetHeight( sal_uInt16 nHeight ) { mnHeight = nHeight; } - inline void Set( sal_uInt16 nWidth, sal_uInt16 nHeight ) - { mnWidth = nWidth; mnHeight = nHeight; } - inline void SetInvalid() { mnWidth = mnHeight = 0; } - - virtual SfxItemPresentation GetPresentation( - SfxItemPresentation ePresentation, - SfxMapUnit, SfxMapUnit, - XubString& rText, - const IntlWrapper* = 0 ) const; - - virtual bool QueryValue( ::com::sun::star::uno::Any& rAny, sal_uInt8 nMemberId = 0 ) const; - virtual bool PutValue( const ::com::sun::star::uno::Any& rAny, sal_uInt8 nMemberId = 0 ); - -private: - sal_uInt16 mnWidth; - sal_uInt16 mnHeight; -}; - -// ============================================================================ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/autoform.hxx b/sc/inc/autoform.hxx deleted file mode 100644 index 1a6fc3453..000000000 --- a/sc/inc/autoform.hxx +++ /dev/null @@ -1,285 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_AUTOFORM_HXX -#define SC_AUTOFORM_HXX - -/************************************************************************* -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - - Die akt. Struktur der Autoformatierung darf nicht mehr veraendert werden. - Diese wird durch unterschiedlichen Code vom StartWriter und vom StarCalc - eingelesen/geschrieben. - Sollte sich doch mal eine Aenderung nicht vermeiden lassen, dann auf - jedenfall in beiden Applikationen aendern. - - The structure of table auto formatting should not changed. It is used - by different code of Writer and Calc. If a change is necessary, the - source code of both applications must be changed! - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -**************************************************************************/ - -#include "scitems.hxx" -#include <editeng/adjitem.hxx> -#include <svx/algitem.hxx> -#include <editeng/boxitem.hxx> -#include <editeng/brshitem.hxx> -#include <editeng/cntritem.hxx> -#include <editeng/colritem.hxx> -#include <editeng/crsditem.hxx> -#include <editeng/fhgtitem.hxx> -#include <editeng/fontitem.hxx> -#include <editeng/postitem.hxx> -#include <editeng/shdditem.hxx> -#include <editeng/udlnitem.hxx> -#include <editeng/wghtitem.hxx> -#include <editeng/justifyitem.hxx> -#include <svx/rotmodit.hxx> -#include <svl/intitem.hxx> -#include <editeng/bolnitem.hxx> -#include "scdllapi.h" -#include "collect.hxx" -#include "global.hxx" -#include "zforauto.hxx" - - -struct ScAfVersions; - - -/// Contains all items for one cell of a table autoformat. -class ScAutoFormatDataField -{ -private: - SvxFontItem aFont; - SvxFontHeightItem aHeight; - SvxWeightItem aWeight; - SvxPostureItem aPosture; - - SvxFontItem aCJKFont; - SvxFontHeightItem aCJKHeight; - SvxWeightItem aCJKWeight; - SvxPostureItem aCJKPosture; - - SvxFontItem aCTLFont; - SvxFontHeightItem aCTLHeight; - SvxWeightItem aCTLWeight; - SvxPostureItem aCTLPosture; - - SvxUnderlineItem aUnderline; - SvxOverlineItem aOverline; - SvxCrossedOutItem aCrossedOut; - SvxContourItem aContour; - SvxShadowedItem aShadowed; - SvxColorItem aColor; - SvxBoxItem aBox; - SvxLineItem aTLBR; - SvxLineItem aBLTR; - SvxBrushItem aBackground; - - // Writer specific - SvxAdjustItem aAdjust; - - // Calc specific - SvxHorJustifyItem aHorJustify; - SvxVerJustifyItem aVerJustify; - SfxBoolItem aStacked; - SvxMarginItem aMargin; - SfxBoolItem aLinebreak; - // from SO5, 504k on, rotated text - SfxInt32Item aRotateAngle; - SvxRotateModeItem aRotateMode; - - // number format - ScNumFormatAbbrev aNumFormat; - -public: - ScAutoFormatDataField(); - ScAutoFormatDataField( const ScAutoFormatDataField& rCopy ); - ~ScAutoFormatDataField(); - - const ScNumFormatAbbrev& GetNumFormat() const { return aNumFormat; } - const SvxFontItem& GetFont() const { return aFont; } - const SvxFontHeightItem& GetHeight() const { return aHeight; } - const SvxWeightItem& GetWeight() const { return aWeight; } - const SvxPostureItem& GetPosture() const { return aPosture; } - const SvxFontItem& GetCJKFont() const { return aCJKFont; } - const SvxFontHeightItem& GetCJKHeight() const { return aCJKHeight; } - const SvxWeightItem& GetCJKWeight() const { return aCJKWeight; } - const SvxPostureItem& GetCJKPosture() const { return aCJKPosture; } - const SvxFontItem& GetCTLFont() const { return aCTLFont; } - const SvxFontHeightItem& GetCTLHeight() const { return aCTLHeight; } - const SvxWeightItem& GetCTLWeight() const { return aCTLWeight; } - const SvxPostureItem& GetCTLPosture() const { return aCTLPosture; } - const SvxUnderlineItem& GetUnderline() const { return aUnderline; } - const SvxOverlineItem& GetOverline() const { return aOverline; } - const SvxCrossedOutItem& GetCrossedOut() const { return aCrossedOut; } - const SvxContourItem& GetContour() const { return aContour; } - const SvxShadowedItem& GetShadowed() const { return aShadowed; } - const SvxColorItem& GetColor() const { return aColor; } - const SvxHorJustifyItem& GetHorJustify() const { return aHorJustify; } - const SvxVerJustifyItem& GetVerJustify() const { return aVerJustify; } - const SfxBoolItem& GetStacked() const { return aStacked; } - const SfxBoolItem& GetLinebreak() const { return aLinebreak; } - const SvxMarginItem& GetMargin() const { return aMargin; } - const SvxBoxItem& GetBox() const { return aBox; } - const SvxLineItem& GetTLBR() const { return aTLBR; } - const SvxLineItem& GetBLTR() const { return aBLTR; } - const SvxBrushItem& GetBackground() const { return aBackground; } - const SvxAdjustItem& GetAdjust() const { return aAdjust; } - const SfxInt32Item& GetRotateAngle() const { return aRotateAngle; } - const SvxRotateModeItem& GetRotateMode() const { return aRotateMode; } - - void SetNumFormat( const ScNumFormatAbbrev& rNumFormat ) { aNumFormat = rNumFormat; } - void SetFont( const SvxFontItem& rFont ) { aFont = rFont; } - void SetHeight( const SvxFontHeightItem& rHeight ) { aHeight = rHeight; } - void SetWeight( const SvxWeightItem& rWeight ) { aWeight = rWeight; } - void SetPosture( const SvxPostureItem& rPosture ) { aPosture = rPosture; } - void SetCJKFont( const SvxFontItem& rCJKFont ) { aCJKFont = rCJKFont; } - void SetCJKHeight( const SvxFontHeightItem& rCJKHeight ) { aCJKHeight = rCJKHeight; } - void SetCJKWeight( const SvxWeightItem& rCJKWeight ) { aCJKWeight = rCJKWeight; } - void SetCJKPosture( const SvxPostureItem& rCJKPosture ) { aCJKPosture = rCJKPosture; } - void SetCTLFont( const SvxFontItem& rCTLFont ) { aCTLFont = rCTLFont; } - void SetCTLHeight( const SvxFontHeightItem& rCTLHeight ) { aCTLHeight = rCTLHeight; } - void SetCTLWeight( const SvxWeightItem& rCTLWeight ) { aCTLWeight = rCTLWeight; } - void SetCTLPosture( const SvxPostureItem& rCTLPosture ) { aCTLPosture = rCTLPosture; } - void SetUnderline( const SvxUnderlineItem& rUnderline ) { aUnderline = rUnderline; } - void SetOverline( const SvxOverlineItem& rOverline ) { aOverline = rOverline; } - void SetCrossedOut( const SvxCrossedOutItem& rCrossedOut ) { aCrossedOut = rCrossedOut; } - void SetContour( const SvxContourItem& rContour ) { aContour = rContour; } - void SetShadowed( const SvxShadowedItem& rShadowed ) { aShadowed = rShadowed; } - void SetColor( const SvxColorItem& rColor ) { aColor = rColor; } - void SetHorJustify( const SvxHorJustifyItem& rHorJustify ) { aHorJustify = rHorJustify; } - void SetVerJustify( const SvxVerJustifyItem& rVerJustify ) { aVerJustify = rVerJustify; } - void SetStacked( const SfxBoolItem& rStacked ) { aStacked.SetValue( rStacked.GetValue() ); } - void SetLinebreak( const SfxBoolItem& rLinebreak ) { aLinebreak.SetValue( rLinebreak.GetValue() ); } - void SetMargin( const SvxMarginItem& rMargin ) { aMargin = rMargin; } - void SetBox( const SvxBoxItem& rBox ) { aBox = rBox; } - void SetTLBR( const SvxLineItem& rTLBR ) { aTLBR = rTLBR; } - void SetBLTR( const SvxLineItem& rBLTR ) { aBLTR = rBLTR; } - void SetBackground( const SvxBrushItem& rBackground ) { aBackground = rBackground; } - void SetAdjust( const SvxAdjustItem& rAdjust ); - void SetRotateAngle( const SfxInt32Item& rRotateAngle ) { aRotateAngle.SetValue( rRotateAngle.GetValue() ); } - void SetRotateMode( const SvxRotateModeItem& rRotateMode ) { aRotateMode.SetValue( rRotateMode.GetValue() ); } - - sal_Bool Load( SvStream& rStream, const ScAfVersions& rVersions, sal_uInt16 nVer ); - sal_Bool Save( SvStream& rStream ); - -#ifdef READ_OLDVERS - sal_Bool LoadOld( SvStream& rStream, const ScAfVersions& rVersions ); -#endif -}; - - -class SC_DLLPUBLIC ScAutoFormatData : public ScDataObject -{ -private: - String aName; - sal_uInt16 nStrResId; - // common flags of Calc and Writer - sal_Bool bIncludeFont : 1; - sal_Bool bIncludeJustify : 1; - sal_Bool bIncludeFrame : 1; - sal_Bool bIncludeBackground : 1; - - // Calc specific flags - sal_Bool bIncludeValueFormat : 1; - sal_Bool bIncludeWidthHeight : 1; - - ScAutoFormatDataField** ppDataField; - - SC_DLLPRIVATE ScAutoFormatDataField& GetField( sal_uInt16 nIndex ); - SC_DLLPRIVATE const ScAutoFormatDataField& GetField( sal_uInt16 nIndex ) const; - -public: - ScAutoFormatData(); - ScAutoFormatData( const ScAutoFormatData& rData ); - virtual ~ScAutoFormatData(); - - virtual ScDataObject* Clone() const { return new ScAutoFormatData( *this ); } - - void SetName( const String& rName ) { aName = rName; nStrResId = USHRT_MAX; } - void GetName( String& rName ) const { rName = aName; } - - sal_Bool GetIncludeValueFormat() const { return bIncludeValueFormat; } - sal_Bool GetIncludeFont() const { return bIncludeFont; } - sal_Bool GetIncludeJustify() const { return bIncludeJustify; } - sal_Bool GetIncludeFrame() const { return bIncludeFrame; } - sal_Bool GetIncludeBackground() const { return bIncludeBackground; } - sal_Bool GetIncludeWidthHeight() const { return bIncludeWidthHeight; } - - void SetIncludeValueFormat( sal_Bool bValueFormat ) { bIncludeValueFormat = bValueFormat; } - void SetIncludeFont( sal_Bool bFont ) { bIncludeFont = bFont; } - void SetIncludeJustify( sal_Bool bJustify ) { bIncludeJustify = bJustify; } - void SetIncludeFrame( sal_Bool bFrame ) { bIncludeFrame = bFrame; } - void SetIncludeBackground( sal_Bool bBackground ) { bIncludeBackground = bBackground; } - void SetIncludeWidthHeight( sal_Bool bWidthHeight ) { bIncludeWidthHeight = bWidthHeight; } - - const SfxPoolItem* GetItem( sal_uInt16 nIndex, sal_uInt16 nWhich ) const; - void PutItem( sal_uInt16 nIndex, const SfxPoolItem& rItem ); - void CopyItem( sal_uInt16 nToIndex, sal_uInt16 nFromIndex, sal_uInt16 nWhich ); - - const ScNumFormatAbbrev& GetNumFormat( sal_uInt16 nIndex ) const; - - sal_Bool IsEqualData( sal_uInt16 nIndex1, sal_uInt16 nIndex2 ) const; - - void FillToItemSet( sal_uInt16 nIndex, SfxItemSet& rItemSet, ScDocument& rDoc ) const; - void GetFromItemSet( sal_uInt16 nIndex, const SfxItemSet& rItemSet, const ScNumFormatAbbrev& rNumFormat ); - - sal_Bool Load( SvStream& rStream, const ScAfVersions& rVersions ); - sal_Bool Save( SvStream& rStream ); - -#ifdef READ_OLDVERS - sal_Bool LoadOld( SvStream& rStream, const ScAfVersions& rVersions ); -#endif -}; - -class SC_DLLPUBLIC ScAutoFormat : public ScSortedCollection -{ -private: - sal_Bool bSaveLater; - -public: - ScAutoFormat( sal_uInt16 nLim = 4, sal_uInt16 nDel = 4, sal_Bool bDup = false ); - ScAutoFormat( const ScAutoFormat& AutoFormat ); - virtual ~ScAutoFormat(); - virtual ScDataObject* Clone() const { return new ScAutoFormat( *this ); } - ScAutoFormatData* operator[]( const sal_uInt16 nIndex ) const {return (ScAutoFormatData*)At( nIndex );} - virtual short Compare( ScDataObject* pKey1, ScDataObject* pKey2 ) const; - sal_Bool Load(); - sal_Bool Save(); - sal_uInt16 FindIndexPerName( const String& rName ) const; - void SetSaveLater( sal_Bool bSet ); - sal_Bool IsSaveLater() const { return bSaveLater; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/autonamecache.hxx b/sc/inc/autonamecache.hxx deleted file mode 100644 index 651415776..000000000 --- a/sc/inc/autonamecache.hxx +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_AUTONAMECACHE_HXX -#define SC_AUTONAMECACHE_HXX - -#include <vector> -#include <boost/unordered_map.hpp> -#include "address.hxx" -#include "global.hxx" - -typedef ::std::vector< ScAddress > ScAutoNameAddresses; -typedef ::boost::unordered_map< String, ScAutoNameAddresses, ScStringHashCode, ::std::equal_to< String > > ScAutoNameHashMap; - -// -// Cache for faster lookup of automatic names during CompileXML -// (during CompileXML, no document content is changed) -// - -class ScAutoNameCache -{ - ScAutoNameHashMap aNames; - ScDocument* pDoc; - SCTAB nCurrentTab; - -public: - ScAutoNameCache( ScDocument* pD ); - ~ScAutoNameCache(); - - const ScAutoNameAddresses& GetNameOccurrences( const String& rName, SCTAB nTab ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/bigrange.hxx b/sc/inc/bigrange.hxx deleted file mode 100644 index 1589c73c8..000000000 --- a/sc/inc/bigrange.hxx +++ /dev/null @@ -1,276 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_BIGRANGE_HXX -#define SC_BIGRANGE_HXX - - -#include "global.hxx" -#include "document.hxx" - - -static const sal_Int32 nInt32Min = 0x80000000; -static const sal_Int32 nInt32Max = 0x7fffffff; - - -class ScBigAddress -{ - sal_Int32 nRow; - sal_Int32 nCol; - sal_Int32 nTab; - -public: - ScBigAddress() : nRow(0), nCol(0), nTab(0) {} - ScBigAddress( sal_Int32 nColP, sal_Int32 nRowP, sal_Int32 nTabP ) - : nRow( nRowP ), nCol( nColP ), nTab( nTabP ) {} - ScBigAddress( const ScBigAddress& r ) - : nRow( r.nRow ), nCol( r.nCol ), nTab( r.nTab ) {} - ScBigAddress( const ScAddress& r ) - : nRow( r.Row() ), nCol( r.Col() ), nTab( r.Tab() ) {} - - sal_Int32 Col() const { return nCol; } - sal_Int32 Row() const { return nRow; } - sal_Int32 Tab() const { return nTab; } - - void Set( sal_Int32 nColP, sal_Int32 nRowP, sal_Int32 nTabP ) - { nCol = nColP; nRow = nRowP; nTab = nTabP; } - void SetCol( sal_Int32 nColP ) { nCol = nColP; } - void SetRow( sal_Int32 nRowP ) { nRow = nRowP; } - void SetTab( sal_Int32 nTabP ) { nTab = nTabP; } - void IncCol( sal_Int32 n = 1 ) { nCol += n; } - void IncRow( sal_Int32 n = 1 ) { nRow += n; } - void IncTab( sal_Int32 n = 1 ) { nTab += n; } - - void GetVars( sal_Int32& nColP, sal_Int32& nRowP, sal_Int32& nTabP ) const - { nColP = nCol; nRowP = nRow; nTabP = nTab; } - - inline void PutInOrder( ScBigAddress& r ); - inline sal_Bool IsValid( const ScDocument* ) const; - inline ScAddress MakeAddress() const; - - ScBigAddress& operator=( const ScBigAddress& r ) - { nCol = r.nCol; nRow = r.nRow; nTab = r.nTab; return *this; } - ScBigAddress& operator=( const ScAddress& r ) - { nCol = r.Col(); nRow = r.Row(); nTab = r.Tab(); return *this; } - int operator==( const ScBigAddress& r ) const - { return nCol == r.nCol && nRow == r.nRow && nTab == r.nTab; } - int operator!=( const ScBigAddress& r ) const - { return !operator==( r ); } - - friend inline SvStream& operator<< ( SvStream& rStream, const ScBigAddress& rAdr ); - friend inline SvStream& operator>> ( SvStream& rStream, ScBigAddress& rAdr ); -}; - - -inline void ScBigAddress::PutInOrder( ScBigAddress& r ) -{ - sal_Int32 nTmp; - if ( r.nCol < nCol ) - { - nTmp = r.nCol; - r.nCol = nCol; - nCol = nTmp; - } - if ( r.nRow < nRow ) - { - nTmp = r.nRow; - r.nRow = nRow; - nRow = nTmp; - } - if ( r.nTab < nTab ) - { - nTmp = r.nTab; - r.nTab = nTab; - nTab = nTmp; - } -} - - -inline sal_Bool ScBigAddress::IsValid( const ScDocument* pDoc ) const -{ // min/max interval bounds define whole col/row/tab - return - ((0 <= nCol && nCol <= MAXCOL) - || nCol == nInt32Min || nCol == nInt32Max) && - ((0 <= nRow && nRow <= MAXROW) - || nRow == nInt32Min || nRow == nInt32Max) && - ((0 <= nTab && nTab < pDoc->GetTableCount()) - || nTab == nInt32Min || nTab == nInt32Max) - ; -} - - -inline ScAddress ScBigAddress::MakeAddress() const -{ - SCCOL nColA; - SCROW nRowA; - SCTAB nTabA; - - if ( nCol < 0 ) - nColA = 0; - else if ( nCol > MAXCOL ) - nColA = MAXCOL; - else - nColA = (SCCOL) nCol; - - if ( nRow < 0 ) - nRowA = 0; - else if ( nRow > MAXROW ) - nRowA = MAXROW; - else - nRowA = (SCROW) nRow; - - if ( nTab < 0 ) - nTabA = 0; - else if ( nTab > MAXTAB ) - nTabA = MAXTAB; - else - nTabA = (SCTAB) nTab; - - return ScAddress( nColA, nRowA, nTabA ); -} - - -inline SvStream& operator<< ( SvStream& rStream, const ScBigAddress& rAdr ) -{ - rStream << rAdr.nCol << rAdr.nRow << rAdr.nTab; - return rStream; -} - - -inline SvStream& operator>> ( SvStream& rStream, ScBigAddress& rAdr ) -{ - rStream >> rAdr.nCol >> rAdr.nRow >> rAdr.nTab; - return rStream; -} - - -class ScBigRange -{ -public: - - ScBigAddress aStart; - ScBigAddress aEnd; - - ScBigRange() : aStart(), aEnd() {} - ScBigRange( const ScBigAddress& s, const ScBigAddress& e ) - : aStart( s ), aEnd( e ) { aStart.PutInOrder( aEnd ); } - ScBigRange( const ScBigRange& r ) - : aStart( r.aStart ), aEnd( r.aEnd ) {} - ScBigRange( const ScRange& r ) - : aStart( r.aStart ), aEnd( r.aEnd ) {} - ScBigRange( const ScBigAddress& r ) - : aStart( r ), aEnd( r ) {} - ScBigRange( const ScAddress& r ) - : aStart( r ), aEnd( r ) {} - ScBigRange( sal_Int32 nCol, sal_Int32 nRow, sal_Int32 nTab ) - : aStart( nCol, nRow, nTab ), aEnd( aStart ) {} - ScBigRange( sal_Int32 nCol1, sal_Int32 nRow1, sal_Int32 nTab1, - sal_Int32 nCol2, sal_Int32 nRow2, sal_Int32 nTab2 ) - : aStart( nCol1, nRow1, nTab1 ), - aEnd( nCol2, nRow2, nTab2 ) {} - - void Set( sal_Int32 nCol1, sal_Int32 nRow1, sal_Int32 nTab1, - sal_Int32 nCol2, sal_Int32 nRow2, sal_Int32 nTab2 ) - { aStart.Set( nCol1, nRow1, nTab1 ); - aEnd.Set( nCol2, nRow2, nTab2 ); } - - void GetVars( sal_Int32& nCol1, sal_Int32& nRow1, sal_Int32& nTab1, - sal_Int32& nCol2, sal_Int32& nRow2, sal_Int32& nTab2 ) const - { aStart.GetVars( nCol1, nRow1, nTab1 ); - aEnd.GetVars( nCol2, nRow2, nTab2 ); } - - sal_Bool IsValid( const ScDocument* pDoc ) const - { return aStart.IsValid( pDoc ) && aEnd.IsValid( pDoc ); } - inline ScRange MakeRange() const - { return ScRange( aStart.MakeAddress(), - aEnd.MakeAddress() ); } - - inline sal_Bool In( const ScBigAddress& ) const; // is Address& in range? - inline sal_Bool In( const ScBigRange& ) const; // is Range& in range? - inline sal_Bool Intersects( const ScBigRange& ) const; // do two ranges overlap? - - ScBigRange& operator=( const ScBigRange& r ) - { aStart = r.aStart; aEnd = r.aEnd; return *this; } - int operator==( const ScBigRange& r ) const - { return (aStart == r.aStart) && (aEnd == r.aEnd); } - int operator!=( const ScBigRange& r ) const - { return !operator==( r ); } - - friend inline SvStream& operator<< ( SvStream& rStream, const ScBigRange& rRange ); - friend inline SvStream& operator>> ( SvStream& rStream, ScBigRange& rRange ); -}; - - -inline sal_Bool ScBigRange::In( const ScBigAddress& rAddr ) const -{ - return - aStart.Col() <= rAddr.Col() && rAddr.Col() <= aEnd.Col() && - aStart.Row() <= rAddr.Row() && rAddr.Row() <= aEnd.Row() && - aStart.Tab() <= rAddr.Tab() && rAddr.Tab() <= aEnd.Tab(); -} - - -inline sal_Bool ScBigRange::In( const ScBigRange& r ) const -{ - return - aStart.Col() <= r.aStart.Col() && r.aEnd.Col() <= aEnd.Col() && - aStart.Row() <= r.aStart.Row() && r.aEnd.Row() <= aEnd.Row() && - aStart.Tab() <= r.aStart.Tab() && r.aEnd.Tab() <= aEnd.Tab(); -} - - -inline sal_Bool ScBigRange::Intersects( const ScBigRange& r ) const -{ - return !( - Min( aEnd.Col(), r.aEnd.Col() ) < Max( aStart.Col(), r.aStart.Col() ) - || Min( aEnd.Row(), r.aEnd.Row() ) < Max( aStart.Row(), r.aStart.Row() ) - || Min( aEnd.Tab(), r.aEnd.Tab() ) < Max( aStart.Tab(), r.aStart.Tab() ) - ); -} - - -inline SvStream& operator<< ( SvStream& rStream, const ScBigRange& rRange ) -{ - rStream << rRange.aStart; - rStream << rRange.aEnd; - return rStream; -} - - -inline SvStream& operator>> ( SvStream& rStream, ScBigRange& rRange ) -{ - rStream >> rRange.aStart; - rStream >> rRange.aEnd; - return rStream; -} - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/brdcst.hxx b/sc/inc/brdcst.hxx deleted file mode 100644 index ae97f6897..000000000 --- a/sc/inc/brdcst.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SC_BRDCST_HXX -#define _SC_BRDCST_HXX - -#include "global.hxx" -#include "address.hxx" -#include <tools/rtti.hxx> -#include <svl/hint.hxx> -#include <svl/smplhint.hxx> -class ScBaseCell; - -#define SC_HINT_DYING SFX_HINT_DYING -#define SC_HINT_DATACHANGED SFX_HINT_DATACHANGED -#define SC_HINT_TABLEOPDIRTY SFX_HINT_USER00 -#define SC_HINT_CALCALL SFX_HINT_USER01 - -class ScHint : public SfxSimpleHint -{ -private: - ScAddress aAddress; - ScBaseCell* pCell; - -public: - TYPEINFO(); - ScHint( sal_uLong n, const ScAddress& a, ScBaseCell* p ) - : SfxSimpleHint( n ), aAddress( a ), pCell( p ) {} - ScBaseCell* GetCell() const { return pCell; } - void SetCell( ScBaseCell* p ) { pCell = p; } - const ScAddress& GetAddress() const { return aAddress; } - ScAddress& GetAddress() { return aAddress; } - void SetAddress( const ScAddress& rAdr ) { aAddress = rAdr; } -}; - -class ScAreaChangedHint : public SfxHint -{ -private: - ScRange aNewRange; -public: - TYPEINFO(); - ScAreaChangedHint(const ScRange& rRange) : aNewRange(rRange) {} - const ScRange& GetRange() const { return aNewRange; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/callform.hxx b/sc/inc/callform.hxx deleted file mode 100644 index 022e4d8c1..000000000 --- a/sc/inc/callform.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CALLFORM_HXX -#define SC_CALLFORM_HXX - -#include "collect.hxx" - -#include <rtl/ustring.hxx> - -#define MAXFUNCPARAM 16 -#define MAXARRSIZE 0xfffe - -#ifndef WNT -#define CALLTYPE -#else -#define CALLTYPE __cdecl -#endif - -extern "C" { -typedef void (CALLTYPE* AdvData)( double& nHandle, void* pData ); -} - -enum ParamType -{ - PTR_DOUBLE, - PTR_STRING, - PTR_DOUBLE_ARR, - PTR_STRING_ARR, - PTR_CELL_ARR, - NONE -}; - -class ModuleData; -class FuncData : public ScDataObject -{ -friend class FuncCollection; - const ModuleData* pModuleData; - String aInternalName; - String aFuncName; - sal_uInt16 nNumber; - sal_uInt16 nParamCount; - ParamType eAsyncType; - ParamType eParamType[MAXFUNCPARAM]; -private: - FuncData(const String& rIName); -public: - FuncData(const ModuleData*pModule, - const String& rIName, - const String& rFName, - sal_uInt16 nNo, - sal_uInt16 nCount, - const ParamType* peType, - ParamType eType); - FuncData(const FuncData& rData); - virtual ScDataObject* Clone() const { return new FuncData(*this); } - - const String& GetModuleName() const; - const String& GetInternalName() const { return aInternalName; } - const String& GetFuncName() const { return aFuncName; } - sal_uInt16 GetParamCount() const { return nParamCount; } - ParamType GetParamType(sal_uInt16 nIndex) const { return eParamType[nIndex]; } - ParamType GetReturnType() const { return eParamType[0]; } - ParamType GetAsyncType() const { return eAsyncType; } - sal_Bool Call(void** ppParam); - sal_Bool Unadvice(double nHandle); - - // name and description of parameter nParam. - // nParam==0 => Desc := function description, - // Name := n/a - bool getParamDesc( ::rtl::OUString& aName, ::rtl::OUString& aDesc, sal_uInt16 nParam ); - -}; - - -class FuncCollection : public ScSortedCollection -{ -public: - FuncCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4, sal_Bool bDup = false) : ScSortedCollection ( nLim, nDel, bDup ) {} - FuncCollection(const FuncCollection& rFuncCollection) : ScSortedCollection ( rFuncCollection ) {} - - virtual ScDataObject* Clone() const { return new FuncCollection(*this); } - FuncData* operator[]( const sal_uInt16 nIndex) const {return (FuncData*)At(nIndex);} - virtual short Compare(ScDataObject* pKey1, ScDataObject* pKey2) const; - sal_Bool SearchFunc( const String& rName, sal_uInt16& rIndex ) const; -}; - - -sal_Bool InitExternalFunc(const rtl::OUString& rModuleName); -void ExitExternalFunc(); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/cell.hxx b/sc/inc/cell.hxx deleted file mode 100644 index 4c92203ee..000000000 --- a/sc/inc/cell.hxx +++ /dev/null @@ -1,550 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CELL_HXX -#define SC_CELL_HXX - -#include <stddef.h> - -#include <set> -#include <vector> -#include <boost/shared_ptr.hpp> - -#include <tools/mempool.hxx> -#include <svl/listener.hxx> -#include "global.hxx" -#include "rangenam.hxx" -#include "formula/grammar.hxx" -#include "tokenarray.hxx" -#include "formularesult.hxx" -#include <rtl/ustrbuf.hxx> -#include <unotools/fontcvt.hxx> -#include "scdllapi.h" - -#define USE_MEMPOOL -#define TEXTWIDTH_DIRTY 0xffff - -// in addition to SCRIPTTYPE_... flags from scripttypeitem.hxx: -// set (in nScriptType) if type has not been determined yet -#define SC_SCRIPTTYPE_UNKNOWN 0x08 - -class ScDocument; -class EditTextObject; -class ScMatrix; -class SvtBroadcaster; -class ScCodeArray; -class ScProgress; -class ScPostIt; -class ScPatternAttr; - -// ============================================================================ - -/** Default cell clone flags: do not start listening, do not adjust 3D refs to - old position, clone note captions of cell notes. */ -const int SC_CLONECELL_DEFAULT = 0x0000; - -/** If set, cloned formula cells will start to listen to the document. */ -const int SC_CLONECELL_STARTLISTENING = 0x0001; - -/** If set, relative 3D references of cloned formula cells will be adjusted to - old position (used while swapping cells for sorting a cell range). */ -const int SC_CLONECELL_ADJUST3DREL = 0x0002; - -/** If set, the caption object of a cell note will not be cloned (used while - copying cells to undo document, where captions are handled in drawing undo). */ -const int SC_CLONECELL_NOCAPTION = 0x0004; - -// ============================================================================ - -class SC_DLLPUBLIC ScBaseCell -{ -protected: - ~ScBaseCell(); // not virtual - not to be called directly. - -public: - explicit ScBaseCell( CellType eNewType ); - - /** Base copy constructor. Does NOT clone cell note or broadcaster! */ - ScBaseCell( const ScBaseCell& rCell ); - - /** Returns a clone of this cell at the same position, cell note and - broadcaster will not be cloned. */ - ScBaseCell* CloneWithoutNote( ScDocument& rDestDoc, int nCloneFlags = SC_CLONECELL_DEFAULT ) const; - - /** Returns a clone of this cell for the passed document position, cell - note and broadcaster will not be cloned. */ - ScBaseCell* CloneWithoutNote( ScDocument& rDestDoc, const ScAddress& rDestPos, int nCloneFlags = SC_CLONECELL_DEFAULT ) const; - - /** Returns a clone of this cell, clones cell note and caption object too - (unless SC_CLONECELL_NOCAPTION flag is set). Broadcaster will not be cloned. */ - ScBaseCell* CloneWithNote( const ScAddress& rOwnPos, ScDocument& rDestDoc, const ScAddress& rDestPos, int nCloneFlags = SC_CLONECELL_DEFAULT ) const; - - /** Due to the fact that ScBaseCell does not have a vtable, this function - deletes the cell by calling the appropriate d'tor of the derived class. */ - void Delete(); - - inline CellType GetCellType() const { return (CellType)eCellType; } - - /** Returns true, if the cell is empty (neither value nor formula nor cell note). - Returns false for formula cells returning nothing, use HasEmptyData() for that. */ - bool IsBlank( bool bIgnoreNotes = false ) const; - -// for idle-calculations - inline sal_uInt16 GetTextWidth() const { return nTextWidth; } - inline void SetTextWidth( sal_uInt16 nNew ) { nTextWidth = nNew; } - - inline sal_uInt8 GetScriptType() const { return nScriptType; } - inline void SetScriptType( sal_uInt8 nNew ) { nScriptType = nNew; } - - /** Returns true, if the cell contains a note. */ - inline bool HasNote() const { return mpNote != 0; } - /** Returns the pointer to a cell note object (read-only). */ - inline const ScPostIt* GetNote() const { return mpNote; } - /** Returns the pointer to a cell note object. */ - inline ScPostIt* GetNote() { return mpNote; } - /** Takes ownership of the passed cell note object. */ - void TakeNote( ScPostIt* pNote ); - /** Returns and forgets the own cell note object. Caller takes ownership! */ - ScPostIt* ReleaseNote(); - /** Deletes the own cell note object. */ - void DeleteNote(); - - /** Returns true, if the cell contains a broadcaster. */ - inline bool HasBroadcaster() const { return mpBroadcaster != 0; } - /** Returns the pointer to the cell broadcaster. */ - inline SvtBroadcaster* GetBroadcaster() const { return mpBroadcaster; } - /** Takes ownership of the passed cell broadcaster. */ - void TakeBroadcaster( SvtBroadcaster* pBroadcaster ); - /** Returns and forgets the own cell broadcaster. Caller takes ownership! */ - SvtBroadcaster* ReleaseBroadcaster(); - /** Deletes the own cell broadcaster. */ - void DeleteBroadcaster(); - - // String- oder EditCell - static ScBaseCell* CreateTextCell( const String& rString, ScDocument* ); - - // nOnlyNames may be one or more of SC_LISTENING_NAMES_* - void StartListeningTo( ScDocument* pDoc ); - void EndListeningTo( ScDocument* pDoc, - ScTokenArray* pArr = NULL, - ScAddress aPos = ScAddress() ); - - /** Error code if ScFormulaCell, else 0. */ - sal_uInt16 GetErrorCode() const; - /** ScFormulaCell with formula::svEmptyCell result, or ScNoteCell (may have been - created due to reference to empty cell). */ - sal_Bool HasEmptyData() const; - sal_Bool HasValueData() const; - sal_Bool HasStringData() const; - String GetStringData() const; // only real strings - - static sal_Bool CellEqual( const ScBaseCell* pCell1, const ScBaseCell* pCell2 ); - -private: - ScBaseCell& operator=( const ScBaseCell& ); - -private: - ScPostIt* mpNote; /// The cell note. Cell takes ownership! - SvtBroadcaster* mpBroadcaster; /// Broadcaster for changed values. Cell takes ownership! - -protected: - sal_uInt16 nTextWidth; - sal_uInt8 eCellType; // enum CellType - sal_uInt8 spart Speicher - sal_uInt8 nScriptType; -}; - -// ============================================================================ - -class SC_DLLPUBLIC ScNoteCell : public ScBaseCell -{ -public: -#ifdef USE_MEMPOOL - DECL_FIXEDMEMPOOL_NEWDEL( ScNoteCell ) -#endif - - /** Cell takes ownership of the passed broadcaster. */ - explicit ScNoteCell( SvtBroadcaster* pBC = 0 ); - /** Cell takes ownership of the passed note and broadcaster. */ - explicit ScNoteCell( ScPostIt* pNote, SvtBroadcaster* pBC = 0 ); - -#if OSL_DEBUG_LEVEL > 0 - ~ScNoteCell(); -#endif - -private: - ScNoteCell( const ScNoteCell& ); -}; - -class SC_DLLPUBLIC ScValueCell : public ScBaseCell -{ -public: -#ifdef USE_MEMPOOL - DECL_FIXEDMEMPOOL_NEWDEL( ScValueCell ) -#endif - ScValueCell(); - explicit ScValueCell( double fValue ); - -#if OSL_DEBUG_LEVEL > 0 - ~ScValueCell(); -#endif - - inline void SetValue( double fValue ) { mfValue = fValue; } - inline double GetValue() const { return mfValue; } - -private: - double mfValue; -}; - -class SC_DLLPUBLIC ScStringCell : public ScBaseCell -{ -public: -#ifdef USE_MEMPOOL - DECL_FIXEDMEMPOOL_NEWDEL( ScStringCell ) -#endif - - ScStringCell(); - explicit ScStringCell( const String& rString ); - -#if OSL_DEBUG_LEVEL > 0 - ~ScStringCell(); -#endif - - inline void SetString( const String& rString ) { maString = rString; } - inline void GetString( String& rString ) const { rString = maString; } - inline const String& GetString() const { return maString; } - -private: - String maString; -}; - -class SC_DLLPUBLIC ScEditCell : public ScBaseCell -{ -private: - EditTextObject* pData; - String* pString; // for faster access to formulas - ScDocument* pDoc; // for EditEngine access with Pool - - void SetTextObject( const EditTextObject* pObject, - const SfxItemPool* pFromPool ); - - // not implemented - ScEditCell( const ScEditCell& ); - -public: - -#ifdef USE_MEMPOOL - DECL_FIXEDMEMPOOL_NEWDEL( ScEditCell ) -#endif - - ~ScEditCell(); // always because of pData! - - ScEditCell( const EditTextObject* pObject, ScDocument*, - const SfxItemPool* pFromPool /* = NULL */ ); - ScEditCell( const ScEditCell& rCell, ScDocument& rDoc ); - // for line breaks - ScEditCell( const String& rString, ScDocument* ); - - void SetData( const EditTextObject* pObject, - const SfxItemPool* pFromPool /* = NULL */ ); - void GetData( const EditTextObject*& rpObject ) const; - void GetString( String& rString ) const; - - const EditTextObject* GetData() const { return pData; } - - /** Removes character attribute based on new pattern attributes. */ - void RemoveCharAttribs( const ScPatternAttr& rAttr ); -}; - -class ScEditDataArray -{ -public: - class Item - { - public: - explicit Item(SCTAB nTab, SCCOL nCol, SCROW nRow, - EditTextObject* pOldData, EditTextObject* pNewData); - ~Item(); - - const EditTextObject* GetOldData() const; - const EditTextObject* GetNewData() const; - SCTAB GetTab() const; - SCCOL GetCol() const; - SCROW GetRow() const; - - private: - Item(); // disabled - - private: - ::boost::shared_ptr<EditTextObject> mpOldData; - ::boost::shared_ptr<EditTextObject> mpNewData; - SCTAB mnTab; - SCCOL mnCol; - SCROW mnRow; - - }; - - ScEditDataArray(); - ~ScEditDataArray(); - - void AddItem(SCTAB nTab, SCCOL nCol, SCROW nRow, - EditTextObject* pOldData, EditTextObject* pNewData); - - const Item* First(); - const Item* Next(); - -private: - ::std::vector<Item>::const_iterator maIter; - ::std::vector<Item> maArray; -}; - -enum ScMatrixMode { - MM_NONE = 0, // No matrix formula - MM_FORMULA = 1, // Upper left matrix formula cell - MM_REFERENCE = 2, // Remaining cells, via ocMatRef reference token - MM_FAKE = 3 // Interpret "as-if" matrix formula (legacy) -}; - -class SC_DLLPUBLIC ScFormulaCell : public ScBaseCell, public SvtListener -{ -private: - ScFormulaResult aResult; - formula::FormulaGrammar::Grammar eTempGrammar; // used between string (creation) and (re)compilation - ScTokenArray* pCode; // The (new) token array - ScDocument* pDocument; - ScFormulaCell* pPrevious; - ScFormulaCell* pNext; - ScFormulaCell* pPreviousTrack; - ScFormulaCell* pNextTrack; - sal_uLong nFormatIndex; // Number format set by calculation - short nFormatType; // Number format type set by calculation - sal_uInt16 nSeenInIteration; // Iteration cycle in which the cell was last encountered - sal_uInt8 cMatrixFlag; // One of ScMatrixMode - sal_Bool bDirty : 1; // Must be (re)calculated - sal_Bool bChanged : 1; // Whether something changed regarding display/representation - sal_Bool bRunning : 1; // Already interpreting right now - sal_Bool bCompile : 1; // Must be (re)compiled - sal_Bool bSubTotal : 1; // Cell is part of or contains a SubTotal - sal_Bool bIsIterCell : 1; // Cell is part of a circular reference - sal_Bool bInChangeTrack : 1; // Cell is in ChangeTrack - sal_Bool bTableOpDirty : 1; // Dirty flag for TableOp - sal_Bool bNeedListening : 1; // Listeners need to be re-established after UpdateReference - - enum ScInterpretTailParameter - { - SCITP_NORMAL, - SCITP_FROM_ITERATION, - SCITP_CLOSE_ITERATION_CIRCLE - }; - void InterpretTail( ScInterpretTailParameter ); - - ScFormulaCell( const ScFormulaCell& ); - -public: - -#ifdef USE_MEMPOOL - DECL_FIXEDMEMPOOL_NEWDEL( ScFormulaCell ) -#endif - - ScAddress aPos; - - ~ScFormulaCell(); - ScFormulaCell(); - - /** Empty formula cell, or with a preconstructed token array. */ - ScFormulaCell( ScDocument*, const ScAddress&, const ScTokenArray* = NULL, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT, - sal_uInt8 = MM_NONE ); - - /** With formula string and grammar to compile with. - formula::FormulaGrammar::GRAM_DEFAULT effectively isformula::FormulaGrammar::GRAM_NATIVE_UI that - also includes formula::FormulaGrammar::CONV_UNSPECIFIED, therefor uses the address - convention associated with rPos::nTab by default. */ - ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos, - const String& rFormula, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT, - sal_uInt8 cMatInd = MM_NONE ); - - ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, const ScAddress& rPos, int nCloneFlags = SC_CLONECELL_DEFAULT ); - - void GetFormula( String& rFormula, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ) const; - void GetFormula( rtl::OUStringBuffer& rBuffer, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ) const; - - void SetDirty(); - void SetDirtyVar(); - // If setting entire document dirty after load, no broadcasts but still append to FormulaTree. - void SetDirtyAfterLoad(); - inline void ResetTableOpDirtyVar() { bTableOpDirty = false; } - void SetTableOpDirty(); - sal_Bool IsDirtyOrInTableOpDirty() const; - sal_Bool GetDirty() const { return bDirty; } - void ResetDirty() { bDirty = false; } - sal_Bool NeedsListening() const { return bNeedListening; } - void SetNeedsListening( sal_Bool bVar ) { bNeedListening = bVar; } - void Compile(const String& rFormula, - sal_Bool bNoListening = false, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ); - void CompileTokenArray( sal_Bool bNoListening = false ); - void CompileXML( ScProgress& rProgress ); // compile temporary string tokens - void CalcAfterLoad(); - bool MarkUsedExternalReferences(); - void Interpret(); - inline sal_Bool IsIterCell() const { return bIsIterCell; } - inline sal_uInt16 GetSeenInIteration() const { return nSeenInIteration; } - - sal_Bool HasOneReference( ScRange& r ) const; - /* Checks if the formula contains reference list that can be - expressed by one reference (like A1;A2;A3:A5 -> A1:A5). The - reference list is not required to be sorted (i.e. A3;A1;A2 is - still recognized as A1:A3), but no overlapping is allowed. - If one reference is recognized, the rRange is filled. - - It is similar to HasOneReference(), but more general. - */ - bool HasRefListExpressibleAsOneReference(ScRange& rRange) const; - sal_Bool HasRelNameReference() const; - sal_Bool HasColRowName() const; - - bool UpdateReference(UpdateRefMode eUpdateRefMode, - const ScRange& r, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL, - const ScAddress* pUndoCellPos = NULL ); - - void TransposeReference(); - void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest, - ScDocument* pUndoDoc ); - - void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ); - - void UpdateInsertTab(SCTAB nTable, SCTAB nNewSheets = 1); - void UpdateInsertTabAbs(SCTAB nTable); - sal_Bool UpdateDeleteTab(SCTAB nTable, sal_Bool bIsMove = false, SCTAB nSheets = 1); - void UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo); - void UpdateRenameTab(SCTAB nTable, const String& rName); - sal_Bool TestTabRefAbs(SCTAB nTable); - void UpdateCompile( sal_Bool bForceIfNameInUse = false ); - sal_Bool IsRangeNameInUse(sal_uInt16 nIndex) const; - void FindRangeNamesInUse(std::set<sal_uInt16>& rIndexes) const; - void ReplaceRangeNamesInUse( const ScRangeData::IndexMap& rMap ); - sal_Bool IsSubTotal() const { return bSubTotal; } - sal_Bool IsChanged() const { return bChanged; } - void ResetChanged() { bChanged = false; } - sal_Bool IsEmpty(); // formula::svEmptyCell result - // display as empty string if formula::svEmptyCell result - sal_Bool IsEmptyDisplayedAsString(); - sal_Bool IsValue(); // also sal_True if formula::svEmptyCell - double GetValue(); - double GetValueAlways(); // ignore errors - void GetString( String& rString ); - const ScMatrix* GetMatrix(); - sal_Bool GetMatrixOrigin( ScAddress& rPos ) const; - void GetResultDimensions( SCSIZE& rCols, SCSIZE& rRows ); - sal_uInt16 GetMatrixEdge( ScAddress& rOrgPos ); - sal_uInt16 GetErrCode(); // interpret first if necessary - sal_uInt16 GetRawError(); // don't interpret, just return code or result error - short GetFormatType() const { return nFormatType; } - sal_uLong GetFormatIndex() const { return nFormatIndex; } - void GetFormatInfo( short& nType, sal_uLong& nIndex ) const - { nType = nFormatType; nIndex = nFormatIndex; } - sal_uInt8 GetMatrixFlag() const { return cMatrixFlag; } - ScTokenArray* GetCode() const { return pCode; } - - sal_Bool IsRunning() const { return bRunning; } - void SetRunning( sal_Bool bVal ) { bRunning = bVal; } - void CompileDBFormula(); - void CompileDBFormula( sal_Bool bCreateFormulaString ); - void CompileNameFormula( sal_Bool bCreateFormulaString ); - void CompileColRowNameFormula(); - ScFormulaCell* GetPrevious() const { return pPrevious; } - ScFormulaCell* GetNext() const { return pNext; } - void SetPrevious( ScFormulaCell* pF ) { pPrevious = pF; } - void SetNext( ScFormulaCell* pF ) { pNext = pF; } - ScFormulaCell* GetPreviousTrack() const { return pPreviousTrack; } - ScFormulaCell* GetNextTrack() const { return pNextTrack; } - void SetPreviousTrack( ScFormulaCell* pF ) { pPreviousTrack = pF; } - void SetNextTrack( ScFormulaCell* pF ) { pNextTrack = pF; } - - virtual void Notify( SvtBroadcaster& rBC, const SfxHint& rHint); - void SetCompile( sal_Bool bVal ) { bCompile = bVal; } - ScDocument* GetDocument() const { return pDocument; } - void SetMatColsRows( SCCOL nCols, SCROW nRows ); - void GetMatColsRows( SCCOL& nCols, SCROW& nRows ) const; - - // cell belongs to ChangeTrack and not to the real document - void SetInChangeTrack( sal_Bool bVal ) { bInChangeTrack = bVal; } - sal_Bool IsInChangeTrack() const { return bInChangeTrack; } - - // standard format for type and format - // for format "Standard" possibly the format used in the formula cell - sal_uLong GetStandardFormat( SvNumberFormatter& rFormatter, sal_uLong nFormat ) const; - - // For import filters! - void AddRecalcMode( formula::ScRecalcMode ); - /** For import only: set a double result. */ - void SetHybridDouble( double n ) { aResult.SetHybridDouble( n); } - /** For import only: set a string result. - If for whatever reason you have to use both, SetHybridDouble() and - SetHybridString() or SetHybridFormula(), use SetHybridDouble() first - for performance reasons.*/ - void SetHybridString( const String& r ) - { aResult.SetHybridString( r); } - /** For import only: set a temporary formula string to be compiled later. - If for whatever reason you have to use both, SetHybridDouble() and - SetHybridString() or SetHybridFormula(), use SetHybridDouble() first - for performance reasons.*/ - void SetHybridFormula( const String& r, - const formula::FormulaGrammar::Grammar eGrammar ) - { aResult.SetHybridFormula( r); eTempGrammar = eGrammar; } - void SetErrCode( sal_uInt16 n ); - inline sal_Bool IsHyperLinkCell() const { return pCode && pCode->IsHyperLink(); } - EditTextObject* CreateURLObject() ; - void GetURLResult( String& rURL, String& rCellText ); - - /** Determines whether or not the result string contains more than one paragraph */ - bool IsMultilineResult(); - - void MaybeInterpret(); -}; - -// Iterator for references in a formula cell -class ScDetectiveRefIter -{ -private: - ScTokenArray* pCode; - ScAddress aPos; -public: - ScDetectiveRefIter( ScFormulaCell* pCell ); - sal_Bool GetNextRef( ScRange& rRange ); - ScToken* GetNextRefToken(); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/cellform.hxx b/sc/inc/cellform.hxx deleted file mode 100644 index 9c45c52ce..000000000 --- a/sc/inc/cellform.hxx +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CELLFORM_HXX -#define SC_CELLFORM_HXX - -#include <tools/solar.h> -#include "scdllapi.h" - -class String; - -class ScBaseCell; -class SvNumberFormatter; -class Color; - -enum ScForceTextFmt { - ftDontForce, // numbers as numbers - ftForce, // numbers as text - ftCheck // is the numberformat a textformat? -}; - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScCellFormat -{ -public: - static void GetString( ScBaseCell* pCell, sal_uLong nFormat, String& rString, - Color** ppColor, SvNumberFormatter& rFormatter, - sal_Bool bNullVals = sal_True, - sal_Bool bFormula = false, - ScForceTextFmt eForceTextFmt = ftDontForce ); - - static void GetInputString( ScBaseCell* pCell, sal_uLong nFormat, String& rString, - SvNumberFormatter& rFormatter ); -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/cellsuno.hxx b/sc/inc/cellsuno.hxx deleted file mode 100644 index b55a28d91..000000000 --- a/sc/inc/cellsuno.hxx +++ /dev/null @@ -1,1576 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CELLSUNO_HXX -#define SC_CELLSUNO_HXX - -#include "global.hxx" // ScRange, ScAddress -#include "rangelst.hxx" // ScRangeList - -#include "formula/grammar.hxx" -#include <svl/lstner.hxx> -#include <svl/listener.hxx> -#include <svl/itemprop.hxx> -#include <com/sun/star/table/XTableChartsSupplier.hpp> -#include <com/sun/star/chart/XChartDataArray.hpp> -#include <com/sun/star/text/XTextFieldsSupplier.hpp> -#include <com/sun/star/drawing/XDrawPageSupplier.hpp> -#include <com/sun/star/sheet/XSheetCellRange.hpp> -#include <com/sun/star/sheet/XFormulaQuery.hpp> -#include <com/sun/star/sheet/XCellRangeAddressable.hpp> -#include <com/sun/star/sheet/XSheetOperation.hpp> -#include <com/sun/star/sheet/XSheetCellRangeContainer.hpp> -#include <com/sun/star/sheet/XCellFormatRangesSupplier.hpp> -#include <com/sun/star/sheet/XUniqueCellFormatRangesSupplier.hpp> -#include <com/sun/star/sheet/XCellRangesQuery.hpp> -#include <com/sun/star/sheet/XSheetFilterableEx.hpp> -#include <com/sun/star/sheet/XSpreadsheet.hpp> -#include <com/sun/star/sheet/XSheetPageBreak.hpp> -#include <com/sun/star/sheet/XCellRangeMovement.hpp> -#include <com/sun/star/text/XText.hpp> -#include <com/sun/star/sheet/XPrintAreas.hpp> -#include <com/sun/star/sheet/XSheetLinkable.hpp> -#include <com/sun/star/sheet/XSubTotalCalculatable.hpp> -#include <com/sun/star/sheet/XArrayFormulaRange.hpp> -#include <com/sun/star/sheet/XCellRangeData.hpp> -#include <com/sun/star/sheet/XCellRangeFormula.hpp> -#include <com/sun/star/sheet/XCellSeries.hpp> -#include <com/sun/star/sheet/XMultipleOperation.hpp> -#include <com/sun/star/sheet/XFormulaTokens.hpp> -#include <com/sun/star/sheet/XArrayFormulaTokens.hpp> -#include <com/sun/star/sheet/XCellAddressable.hpp> -#include <com/sun/star/util/XReplaceable.hpp> -#include <com/sun/star/util/XIndent.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/util/XMergeable.hpp> -#include <com/sun/star/table/XAutoFormattable.hpp> -#include <com/sun/star/util/XSortable.hpp> -#include <com/sun/star/util/XImportable.hpp> -#include <com/sun/star/table/XColumnRowRange.hpp> -#include <com/sun/star/table/XCell2.hpp> -#include <com/sun/star/table/BorderLine.hpp> -#include <com/sun/star/table/TableBorder.hpp> -#include <com/sun/star/sheet/XDataPilotTablesSupplier.hpp> -#include <com/sun/star/sheet/XSheetAnnotationAnchor.hpp> -#include <com/sun/star/sheet/XScenariosSupplier.hpp> -#include <com/sun/star/sheet/XSheetAnnotationsSupplier.hpp> -#include <com/sun/star/sheet/XSheetAuditing.hpp> -#include <com/sun/star/sheet/XSheetOutline.hpp> -#include <com/sun/star/util/XProtectable.hpp> -#include <com/sun/star/sheet/XScenario.hpp> -#include <com/sun/star/sheet/XScenarioEnhanced.hpp> -#include <com/sun/star/util/XModifyBroadcaster.hpp> -#include <com/sun/star/beans/XPropertyState.hpp> -#include <com/sun/star/beans/XMultiPropertySet.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/document/XActionLockable.hpp> -#include <com/sun/star/beans/XTolerantMultiPropertySet.hpp> -#include <com/sun/star/sheet/XExternalSheetName.hpp> -#include <com/sun/star/document/XEventsSupplier.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> - -#ifndef __SGI_STL_VECTOR -#include <vector> -#endif - -class ScDocShell; -class ScMarkData; -class ScMemChart; -class ScPrintRangeSaver; -class ScAttrRectIterator; -class ScCellRangeObj; -class SvxUnoText; -class ScLinkListener; -class ScPatternAttr; -class SvxBoxItem; -class SvxBoxInfoItem; -class SvxItemPropertySet; - -namespace editeng { class SvxBorderLine; } - -class ScLinkListener : public SvtListener -{ - Link aLink; -public: - ScLinkListener(const Link& rL) : aLink(rL) {} - virtual ~ScLinkListener(); - virtual void Notify( SvtBroadcaster& rBC, const SfxHint& rHint ); -}; - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >* XModifyListenerPtr; -SV_DECL_PTRARR_DEL( XModifyListenerArr_Impl, XModifyListenerPtr, 4, 4 ) - -class ScNamedEntry; -typedef ScNamedEntry* ScNamedEntryPtr; -SV_DECL_PTRARR_DEL( ScNamedEntryArr_Impl, ScNamedEntryPtr, 4, 4 ) - - -// ScCellRangesBase - base class for ScCellRangesObj (with access by index) -// and ScCellRangeObj (without access by index) - -// XServiceInfo is implemented in derived classes - -class ScHelperFunctions -{ -public: - static const ::editeng::SvxBorderLine* GetBorderLine( ::editeng::SvxBorderLine& rLine, const com::sun::star::table::BorderLine& rStruct ); - static void FillBoxItems( SvxBoxItem& rOuter, SvxBoxInfoItem& rInner, const com::sun::star::table::TableBorder& rBorder ); - static void FillBorderLine( com::sun::star::table::BorderLine& rStruct, const ::editeng::SvxBorderLine* pLine ); - static void FillTableBorder( com::sun::star::table::TableBorder& rBorder, - const SvxBoxItem& rOuter, const SvxBoxInfoItem& rInner ); - static void ApplyBorder( ScDocShell* pDocShell, const ScRangeList& rRanges, - const SvxBoxItem& rOuter, const SvxBoxInfoItem& rInner ); -}; - -namespace ooo -{ - namespace vba { - namespace excel { - class ScVbaCellRangeAccess; // Vba Helper class - } - } -} - -class SC_DLLPUBLIC ScCellRangesBase : public com::sun::star::beans::XPropertySet, - public com::sun::star::beans::XMultiPropertySet, - public com::sun::star::beans::XPropertyState, - public com::sun::star::sheet::XSheetOperation, - public com::sun::star::chart::XChartDataArray, - public com::sun::star::util::XIndent, - public com::sun::star::sheet::XCellRangesQuery, - public com::sun::star::sheet::XFormulaQuery, - public com::sun::star::util::XReplaceable, - public com::sun::star::util::XModifyBroadcaster, - public com::sun::star::lang::XServiceInfo, - public com::sun::star::lang::XUnoTunnel, - public com::sun::star::lang::XTypeProvider, - public com::sun::star::beans::XTolerantMultiPropertySet, - public cppu::OWeakObject, - public SfxListener -{ - friend class ScTabViewObj; // for select() - friend class ScTableSheetObj; // for createCursorByRange() - friend class ooo::vba::excel::ScVbaCellRangeAccess; - -private: - const SfxItemPropertySet* pPropSet; - ScDocShell* pDocShell; - ScLinkListener* pValueListener; - ScPatternAttr* pCurrentFlat; - ScPatternAttr* pCurrentDeep; - SfxItemSet* pCurrentDataSet; - SfxItemSet* pNoDfltCurrentDataSet; - ScMarkData* pMarkData; - ScRangeList aRanges; - sal_Int64 nObjectId; - sal_Bool bChartColAsHdr; - sal_Bool bChartRowAsHdr; - sal_Bool bCursorOnly; - sal_Bool bGotDataChangedHint; - XModifyListenerArr_Impl aValueListeners; - - DECL_LINK( ValueListenerHdl, SfxHint* ); - -private: - void PaintRanges_Impl( sal_uInt16 nPart ); - ScRangeListRef GetLimitedChartRanges_Impl( long nDataColumns, long nDataRows ) const; - void ForceChartListener_Impl(); - ScMemChart* CreateMemChart_Impl() const; - - const ScPatternAttr* GetCurrentAttrsFlat(); - const ScPatternAttr* GetCurrentAttrsDeep(); - SfxItemSet* GetCurrentDataSet(bool bNoDflt = false); - void ForgetMarkData(); - void ForgetCurrentAttrs(); - - com::sun::star::uno::Reference<com::sun::star::sheet::XSheetCellRanges> - QueryDifferences_Impl(const com::sun::star::table::CellAddress& aCompare, - sal_Bool bColumnDiff); - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> - Find_Impl(const com::sun::star::uno::Reference< - com::sun::star::util::XSearchDescriptor>& xDesc, - const ScAddress* pLastPos); - -protected: - const ScMarkData* GetMarkData(); - - // GetItemPropertyMap for derived classes must contain all entries, including base class - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual ::com::sun::star::beans::PropertyState GetOnePropertyState( - sal_uInt16 nItemWhich, const SfxItemPropertySimpleEntry* pEntry ); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - -public: - ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR); - ScCellRangesBase(ScDocShell* pDocSh, const ScRangeList& rR); - virtual ~ScCellRangesBase(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - virtual void RefChanged(); - - // from derived classes and by getImplementation - ScDocShell* GetDocShell() const { return pDocShell; } - ScDocument* GetDocument() const; - const ScRangeList& GetRangeList() const { return aRanges; } - void AddRange(const ScRange& rRange, const sal_Bool bMergeRanges); - - // arouse object created via service: - void InitInsertRange(ScDocShell* pDocSh, const ScRange& rR); - - void SetNewRange(const ScRange& rNew); // for cursor - void SetNewRanges(const ScRangeList& rNew); - - void SetCursorOnly(sal_Bool bSet); - sal_Bool IsCursorOnly() const { return bCursorOnly; } - - // XSheetOperation - virtual double SAL_CALL computeFunction( ::com::sun::star::sheet::GeneralFunction nFunction ) - throw(::com::sun::star::uno::Exception, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearContents( sal_Int32 nContentFlags ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XMultiPropertySet - virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) - throw (::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL - getPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XTolerantMultiPropertySet - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::SetPropertyTolerantFailed > SAL_CALL - setPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::GetPropertyTolerantResult > SAL_CALL - getPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::GetDirectPropertyTolerantResult > SAL_CALL - getDirectPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::uno::RuntimeException); - - // XPropertyState - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL - getPropertyStates( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( - const ::rtl::OUString& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XIndent - virtual void SAL_CALL decrementIndent() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL incrementIndent() throw(::com::sun::star::uno::RuntimeException); - - // XChartData - virtual void SAL_CALL addChartDataChangeEventListener( - const ::com::sun::star::uno::Reference< - ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeChartDataChangeEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual double SAL_CALL getNotANumber() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isNotANumber( double nNumber ) - throw(::com::sun::star::uno::RuntimeException); - - // XChartDataArray - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > > SAL_CALL - getData() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setData( const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Sequence< double > >& aData ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getRowDescriptions() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setRowDescriptions( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aRowDescriptions ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getColumnDescriptions() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setColumnDescriptions( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aColumnDescriptions ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangesQuery - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryVisibleCells() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryEmptyCells() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryContentCells( sal_Int16 nContentFlags ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryFormulaCells( sal_Int32 nResultFlags ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryColumnDifferences( - const ::com::sun::star::table::CellAddress& aCompare ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryRowDifferences( - const ::com::sun::star::table::CellAddress& aCompare ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryIntersection( - const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException); - - // XFormulaQuery - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryDependents( sal_Bool bRecursive ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL - queryPrecedents( sal_Bool bRecursive ) - throw(::com::sun::star::uno::RuntimeException); - - // XSearchable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XSearchDescriptor > SAL_CALL - createSearchDescriptor() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - findAll( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XSearchDescriptor >& xDesc ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - findFirst( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XSearchDescriptor >& xDesc ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - findNext( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface >& xStartAt, - const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XSearchDescriptor >& xDesc ) - throw(::com::sun::star::uno::RuntimeException); - - // XReplaceable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XReplaceDescriptor > SAL_CALL - createReplaceDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL replaceAll( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XSearchDescriptor >& xDesc ) - throw(::com::sun::star::uno::RuntimeException); - - // XModifyBroadcaster - virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScCellRangesBase* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class SC_DLLPUBLIC ScCellRangesObj : public ScCellRangesBase, - public com::sun::star::sheet::XSheetCellRangeContainer, - public com::sun::star::container::XNameContainer, - public com::sun::star::container::XEnumerationAccess -{ -private: - ScNamedEntryArr_Impl aNamedEntries; - - ScCellRangeObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const; - -public: - ScCellRangesObj(ScDocShell* pDocSh, const ScRangeList& rR); - virtual ~ScCellRangesObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void RefChanged(); - - // XSheetCellRanges - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumerationAccess > SAL_CALL - getCells() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getRangeAddressesAsString() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL - getRangeAddresses() throw(::com::sun::star::uno::RuntimeException); - - // XSheetCellRangeContainer - virtual void SAL_CALL addRangeAddress( const ::com::sun::star::table::CellRangeAddress& rRange, - sal_Bool bMergeRanges ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRangeAddress( const ::com::sun::star::table::CellRangeAddress& rRange ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRangeAddresses( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& rRanges, - sal_Bool bMergeRanges ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRangeAddresses( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& rRanges ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class SC_DLLPUBLIC ScCellRangeObj : public ScCellRangesBase, - public com::sun::star::sheet::XCellRangeAddressable, - public com::sun::star::sheet::XSheetCellRange, - public com::sun::star::sheet::XArrayFormulaRange, - public com::sun::star::sheet::XArrayFormulaTokens, - public com::sun::star::sheet::XCellRangeData, - public com::sun::star::sheet::XCellRangeFormula, - public com::sun::star::sheet::XMultipleOperation, - public com::sun::star::util::XMergeable, - public com::sun::star::sheet::XCellSeries, - public com::sun::star::table::XAutoFormattable, - public com::sun::star::util::XSortable, - public com::sun::star::sheet::XSheetFilterableEx, - public com::sun::star::sheet::XSubTotalCalculatable, - public com::sun::star::util::XImportable, - public com::sun::star::sheet::XCellFormatRangesSupplier, - public com::sun::star::sheet::XUniqueCellFormatRangesSupplier, - public com::sun::star::table::XColumnRowRange -{ -private: - const SfxItemPropertySet* pRangePropSet; - ScRange aRange; - -protected: - const ScRange& GetRange() const { return aRange; } - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > - GetCellByPosition_Impl( sal_Int32 nColumn, sal_Int32 nRow ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - - void SetArrayFormula_Impl( const rtl::OUString& rFormula, - const rtl::OUString& rFormulaNmsp, - const formula::FormulaGrammar::Grammar eGrammar ) - throw(::com::sun::star::uno::RuntimeException); - -public: - ScCellRangeObj(ScDocShell* pDocSh, const ScRange& rR); - virtual ~ScCellRangeObj(); - - // uses ObjectShell from document, if set (returns NULL otherwise) - static com::sun::star::uno::Reference<com::sun::star::table::XCellRange> - CreateRangeFromDoc( ScDocument* pDoc, const ScRange& rR ); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void RefChanged(); - - // via getImplementation() - virtual void SetArrayFormulaWithGrammar( const ::rtl::OUString& rFormula, - const ::rtl::OUString& rFormulaNmsp, - const formula::FormulaGrammar::Grammar ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeAddressable - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getRangeAddress() - throw(::com::sun::star::uno::RuntimeException); - - // XSheetCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL - getSpreadsheet() throw(::com::sun::star::uno::RuntimeException); - - // XArrayFormulaRange - virtual ::rtl::OUString SAL_CALL getArrayFormula() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setArrayFormula( const ::rtl::OUString& aFormula ) - throw(::com::sun::star::uno::RuntimeException); - - // XArrayFormulaTokens - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL getArrayTokens() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setArrayTokens( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::FormulaToken >& aTokens ) - throw (::com::sun::star::uno::RuntimeException); - - // XCellRangeData - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any > > SAL_CALL getDataArray() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDataArray( const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any > >& aArray ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeFormula - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< - ::rtl::OUString > > SAL_CALL getFormulaArray() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormulaArray( const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Sequence< ::rtl::OUString > >& aArray ) - throw (::com::sun::star::uno::RuntimeException); - - // XMultipleOperation - virtual void SAL_CALL setTableOperation( - const ::com::sun::star::table::CellRangeAddress& aFormulaRange, - ::com::sun::star::sheet::TableOperationMode nMode, - const ::com::sun::star::table::CellAddress& aColumnCell, - const ::com::sun::star::table::CellAddress& aRowCell ) - throw(::com::sun::star::uno::RuntimeException); - - // XMergeable - virtual void SAL_CALL merge( sal_Bool bMerge ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getIsMerged() throw(::com::sun::star::uno::RuntimeException); - - // XCellSeries - virtual void SAL_CALL fillSeries( ::com::sun::star::sheet::FillDirection nFillDirection, - ::com::sun::star::sheet::FillMode nFillMode, - ::com::sun::star::sheet::FillDateMode nFillDateMode, - double fStep, double fEndValue ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL fillAuto( ::com::sun::star::sheet::FillDirection nFillDirection, - sal_Int32 nSourceCount ) - throw(::com::sun::star::uno::RuntimeException); - - // XAutoFormattable - virtual void SAL_CALL autoFormat( const ::rtl::OUString& aName ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XSortable - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - createSortDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL sort( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& xDescriptor ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetFilterableEx - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL - createFilterDescriptorByObject( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSheetFilterable >& xObject ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetFilterable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL - createFilterDescriptor( sal_Bool bEmpty ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL filter( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSheetFilterDescriptor >& xDescriptor ) - throw(::com::sun::star::uno::RuntimeException); - - // XSubTotalCalculatable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor > SAL_CALL - createSubTotalDescriptor( sal_Bool bEmpty ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL applySubTotals( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSubTotalDescriptor >& xDescriptor, - sal_Bool bReplace ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeSubTotals() throw(::com::sun::star::uno::RuntimeException); - - // XImportable - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - createImportDescriptor( sal_Bool bEmpty ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL doImport( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aDescriptor ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellFormatRangesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getCellFormatRanges() throw(::com::sun::star::uno::RuntimeException); - - // XUniqueCellFormatRangesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getUniqueCellFormatRanges() throw(::com::sun::star::uno::RuntimeException); - - // XColumnRowRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableColumns > SAL_CALL - getColumns() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableRows > SAL_CALL - getRows() throw(::com::sun::star::uno::RuntimeException); - - // XCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL - getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, - sal_Int32 nRight, sal_Int32 nBottom ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByName( const ::rtl::OUString& aRange ) - throw(::com::sun::star::uno::RuntimeException); - ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > - getCellRangeByName( const ::rtl::OUString& aRange, const ScAddress::Details& rDetails ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet overloaded due to Range-Properties - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -//! really derive cell from range? - -class SC_DLLPUBLIC ScCellObj : public ScCellRangeObj, - public com::sun::star::text::XText, - public com::sun::star::container::XEnumerationAccess, - public com::sun::star::table::XCell2, - public com::sun::star::sheet::XFormulaTokens, - public com::sun::star::sheet::XCellAddressable, - public com::sun::star::sheet::XSheetAnnotationAnchor, - public com::sun::star::text::XTextFieldsSupplier, - public com::sun::star::document::XActionLockable -{ -private: - SvxUnoText* pUnoText; - const SfxItemPropertySet* pCellPropSet; - ScAddress aCellPos; - sal_Int16 nActionLockCount; - -private: - String GetInputString_Impl(sal_Bool bEnglish) const; - String GetOutputString_Impl() const; - void SetString_Impl(const String& rString, sal_Bool bInterpret, sal_Bool bEnglish); - double GetValue_Impl() const; - void SetValue_Impl(double fValue); - com::sun::star::table::CellContentType GetResultType_Impl(); - -protected: - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - -public: - static const SvxItemPropertySet* GetEditPropertySet(); - static const SfxItemPropertyMap* GetCellPropertyMap(); - - ScCellObj(ScDocShell* pDocSh, const ScAddress& rP); - virtual ~ScCellObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void RefChanged(); - - SvxUnoText& GetUnoText(); - - // XML import needs to set results at formula cells, - // not meant for any other purpose. - void SetFormulaResultString( const ::rtl::OUString& rResult ); - void SetFormulaResultDouble( double fResult ); - void SetFormulaWithGrammar( const ::rtl::OUString& rFormula, - const ::rtl::OUString& rFormulaNmsp, const formula::FormulaGrammar::Grammar ); - const ScAddress& GetPosition() const { return aCellPos; } - - void InputEnglishString( const ::rtl::OUString& rText ); - - // XText - virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent, - sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XSimpleText - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& aTextPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::rtl::OUString& aString, sal_Bool bAbsorb ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nControlCharacter, sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XTextRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XCell - virtual ::rtl::OUString SAL_CALL getFormula() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormula( const ::rtl::OUString& aFormula ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormulaResult( double nValue ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormulaString( const ::rtl::OUString& aFormula ) - throw(::com::sun::star::uno::RuntimeException); - virtual double SAL_CALL getValue() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setValue( double nValue ) throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellContentType SAL_CALL getType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getError() throw(::com::sun::star::uno::RuntimeException); - - // XFormulaTokens - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL getTokens() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTokens( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::FormulaToken >& aTokens ) - throw (::com::sun::star::uno::RuntimeException); - - // XCellAddressable - virtual ::com::sun::star::table::CellAddress SAL_CALL getCellAddress() - throw(::com::sun::star::uno::RuntimeException); - - // XSheetAnnotationAnchor - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetAnnotation > SAL_CALL - getAnnotation() throw(::com::sun::star::uno::RuntimeException); - - // XTextFieldsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumerationAccess > SAL_CALL - getTextFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getTextFieldMasters() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet overloaded due to cell properties - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - // XActionLockable - virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setActionLocks( sal_Int16 nLock ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException); - - static String GetOutputString_Impl(ScDocument* pDoc, const ScAddress& aPos); -}; - - -class ScTableSheetObj : public ScCellRangeObj, - public com::sun::star::sheet::XSpreadsheet, - public com::sun::star::container::XNamed, - public com::sun::star::sheet::XSheetPageBreak, - public com::sun::star::sheet::XCellRangeMovement, - public com::sun::star::table::XTableChartsSupplier, - public com::sun::star::sheet::XDataPilotTablesSupplier, - public com::sun::star::sheet::XScenariosSupplier, - public com::sun::star::sheet::XSheetAnnotationsSupplier, - public com::sun::star::drawing::XDrawPageSupplier, - public com::sun::star::sheet::XPrintAreas, - public com::sun::star::sheet::XSheetLinkable, - public com::sun::star::sheet::XSheetAuditing, - public com::sun::star::sheet::XSheetOutline, - public com::sun::star::util::XProtectable, - public com::sun::star::sheet::XScenario, - public com::sun::star::sheet::XScenarioEnhanced, - public com::sun::star::sheet::XExternalSheetName, - public com::sun::star::document::XEventsSupplier -{ - friend class ScTableSheetsObj; // for insertByName() - -private: - const SfxItemPropertySet* pSheetPropSet; - - SCTAB GetTab_Impl() const; - void PrintAreaUndo_Impl( ScPrintRangeSaver* pOldRanges ); - -protected: - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - -public: - ScTableSheetObj(ScDocShell* pDocSh, SCTAB nTab); - virtual ~ScTableSheetObj(); - - void InitInsertSheet(ScDocShell* pDocSh, SCTAB nTab); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XSpreadsheet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellCursor > - SAL_CALL createCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellCursor > SAL_CALL - createCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSheetCellRange >& aRange ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL - getSpreadsheet() throw(::com::sun::star::uno::RuntimeException); - - // XCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL - getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, - sal_Int32 nRight, sal_Int32 nBottom ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - using ScCellRangeObj::getCellRangeByName; - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByName( const ::rtl::OUString& aRange ) - throw(::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetPageBreak - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TablePageBreakData > SAL_CALL - getColumnPageBreaks() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TablePageBreakData > SAL_CALL - getRowPageBreaks() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeAllManualPageBreaks() throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeMovement - virtual void SAL_CALL insertCells( const ::com::sun::star::table::CellRangeAddress& aRange, - ::com::sun::star::sheet::CellInsertMode nMode ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRange( const ::com::sun::star::table::CellRangeAddress& aRange, - ::com::sun::star::sheet::CellDeleteMode nMode ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL moveRange( const ::com::sun::star::table::CellAddress& aDestination, - const ::com::sun::star::table::CellRangeAddress& aSource ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL copyRange( const ::com::sun::star::table::CellAddress& aDestination, - const ::com::sun::star::table::CellRangeAddress& aSource ) - throw(::com::sun::star::uno::RuntimeException); - - // XTableChartsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableCharts > SAL_CALL - getCharts() throw(::com::sun::star::uno::RuntimeException); - - // XDataPilotTablesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotTables > SAL_CALL - getDataPilotTables() throw(::com::sun::star::uno::RuntimeException); - - // XScenariosSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XScenarios > SAL_CALL - getScenarios() throw(::com::sun::star::uno::RuntimeException); - - // XSheetAnnotationsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetAnnotations > SAL_CALL - getAnnotations() throw(::com::sun::star::uno::RuntimeException); - - // XDrawPageSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL - getDrawPage() throw(::com::sun::star::uno::RuntimeException); - - // XPrintAreas - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL - getPrintAreas() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPrintAreas( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aPrintAreas ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getPrintTitleColumns() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPrintTitleColumns( sal_Bool bPrintTitleColumns ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getTitleColumns() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTitleColumns( - const ::com::sun::star::table::CellRangeAddress& aTitleColumns ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getPrintTitleRows() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPrintTitleRows( sal_Bool bPrintTitleRows ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getTitleRows() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTitleRows( - const ::com::sun::star::table::CellRangeAddress& aTitleRows ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetLinkable - virtual ::com::sun::star::sheet::SheetLinkMode SAL_CALL getLinkMode() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setLinkMode( ::com::sun::star::sheet::SheetLinkMode nLinkMode ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getLinkUrl() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setLinkUrl( const ::rtl::OUString& aLinkUrl ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getLinkSheetName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setLinkSheetName( const ::rtl::OUString& aLinkSheetName ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL link( const ::rtl::OUString& aUrl, - const ::rtl::OUString& aSheetName, - const ::rtl::OUString& aFilterName, - const ::rtl::OUString& aFilterOptions, - ::com::sun::star::sheet::SheetLinkMode nMode ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetAuditing - virtual sal_Bool SAL_CALL hideDependents( const ::com::sun::star::table::CellAddress& aPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hidePrecedents( const ::com::sun::star::table::CellAddress& aPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL showDependents( const ::com::sun::star::table::CellAddress& aPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL showPrecedents( const ::com::sun::star::table::CellAddress& aPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL showErrors( const ::com::sun::star::table::CellAddress& aPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL showInvalid() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearArrows() throw(::com::sun::star::uno::RuntimeException); - - // XSheetOutline - virtual void SAL_CALL group( const ::com::sun::star::table::CellRangeAddress& aRange, - ::com::sun::star::table::TableOrientation nOrientation ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL ungroup( const ::com::sun::star::table::CellRangeAddress& aRange, - ::com::sun::star::table::TableOrientation nOrientation ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL autoOutline( const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearOutline() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL hideDetail( const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL showDetail( const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL showLevel( sal_Int16 nLevel, - ::com::sun::star::table::TableOrientation nOrientation ) - throw(::com::sun::star::uno::RuntimeException); - - // XProtectable - virtual void SAL_CALL protect( const ::rtl::OUString& aPassword ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL unprotect( const ::rtl::OUString& aPassword ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException); - - // XScenario - virtual sal_Bool SAL_CALL getIsScenario() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getScenarioComment() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setScenarioComment( const ::rtl::OUString& aScenarioComment ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRanges( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aRanges ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL apply() throw(::com::sun::star::uno::RuntimeException); - // XScenarioEnhanced - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL - getRanges( ) - throw(::com::sun::star::uno::RuntimeException); - - // XExternalSheetName - virtual void SAL_CALL setExternalName( const ::rtl::OUString& aUrl, const ::rtl::OUString& aSheetName ) - throw (::com::sun::star::container::ElementExistException, - ::com::sun::star::uno::RuntimeException); - - // XEventsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace > SAL_CALL getEvents() - throw (::com::sun::star::uno::RuntimeException); - - // XPropertySet overloaded due to sheet properties - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScTableSheetObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScTableColumnObj : public ScCellRangeObj, - public com::sun::star::container::XNamed -{ -private: - const SfxItemPropertySet* pColPropSet; - -protected: - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - -public: - ScTableColumnObj(ScDocShell* pDocSh, SCCOL nCol, SCTAB nTab); - virtual ~ScTableColumnObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet overloaded due to column properties - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScTableRowObj : public ScCellRangeObj -{ -private: - const SfxItemPropertySet* pRowPropSet; - -protected: - virtual const SfxItemPropertyMap* GetItemPropertyMap(); - virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - ::com::sun::star::uno::Any& ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - -public: - ScTableRowObj(ScDocShell* pDocSh, SCROW nRow, SCTAB nTab); - virtual ~ScTableRowObj(); - - // XPropertySet overloaded due to row properties - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScCellsObj : public cppu::WeakImplHelper2< - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScRangeList aRanges; - -public: - ScCellsObj(ScDocShell* pDocSh, const ScRangeList& rR); - virtual ~ScCellsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScCellsEnumeration : public cppu::WeakImplHelper2< - com::sun::star::container::XEnumeration, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScRangeList aRanges; - ScAddress aPos; - ScMarkData* pMark; - sal_Bool bAtEnd; - -private: - void Advance_Impl(); - void CheckPos_Impl(); - -public: - ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR); - virtual ~ScCellsEnumeration(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XEnumeration - virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL nextElement() - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScCellFormatsObj : public cppu::WeakImplHelper3< - com::sun::star::container::XIndexAccess, - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScRange aTotalRange; - -private: - ScCellRangeObj* GetObjectByIndex_Impl(long nIndex) const; - -public: - ScCellFormatsObj(ScDocShell* pDocSh, const ScRange& rR); - virtual ~ScCellFormatsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScCellFormatsEnumeration : public cppu::WeakImplHelper2< - com::sun::star::container::XEnumeration, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; - ScAttrRectIterator* pIter; - ScRange aNext; - sal_Bool bAtEnd; - sal_Bool bDirty; - -private: - void Advance_Impl(); - ScCellRangeObj* NextObject_Impl(); - -public: - ScCellFormatsEnumeration(ScDocShell* pDocSh, const ScRange& rR); - virtual ~ScCellFormatsEnumeration(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XEnumeration - virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL nextElement() - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -typedef std::vector< ScRangeList > ScMyRangeLists; - -class ScUniqueCellFormatsObj : public cppu::WeakImplHelper3< - com::sun::star::container::XIndexAccess, - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScRange aTotalRange; - ScMyRangeLists aRangeLists; - -private: - void GetObjects_Impl(); - -public: - ScUniqueCellFormatsObj(ScDocShell* pDocSh, const ScRange& rR); - virtual ~ScUniqueCellFormatsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScUniqueCellFormatsEnumeration : public cppu::WeakImplHelper2< - com::sun::star::container::XEnumeration, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScMyRangeLists aRangeLists; - ScDocShell* pDocShell; - sal_Int32 nCurrentPosition; - -public: - ScUniqueCellFormatsEnumeration(ScDocShell* pDocShell, const ScMyRangeLists& rRangeLists); - virtual ~ScUniqueCellFormatsEnumeration(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XEnumeration - virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL nextElement() - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/cfgids.hxx b/sc/inc/cfgids.hxx deleted file mode 100644 index 0e901fc6d..000000000 --- a/sc/inc/cfgids.hxx +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _CFGID_HXX -#define _CFGID_HXX - -#define SCCFG_DOC SFX_ITEMTYPE_SC_BEGIN -#define SCCFG_VIEW (SFX_ITEMTYPE_SC_BEGIN + 1) -#define SCCFG_APP (SFX_ITEMTYPE_SC_BEGIN + 2) -#define SCCFG_SPELLCHECK (SFX_ITEMTYPE_SC_BEGIN + 3) -#define SCCFG_PRINT (SFX_ITEMTYPE_SC_BEGIN + 4) -#define SCCFG_STATUSBAR (SFX_ITEMTYPE_SC_BEGIN + 5) -#define SCCFG_INPUT (SFX_ITEMTYPE_SC_BEGIN + 8) -#define SCCFG_NAVIPI (SFX_ITEMTYPE_SC_BEGIN + 9) - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx deleted file mode 100644 index 2756a62b3..000000000 --- a/sc/inc/chart2uno.hxx +++ /dev/null @@ -1,611 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHART2UNO_HXX -#define SC_CHART2UNO_HXX - -#include "cellsuno.hxx" // for XModifyListenerArr_Impl / ScLinkListener -#include "rangelst.hxx" -#include "externalrefmgr.hxx" -#include "token.hxx" -#include "chartlis.hxx" - -#include <svl/lstner.hxx> -#include <com/sun/star/chart/ChartDataRowSource.hpp> -#include <com/sun/star/chart2/data/XDataProvider.hpp> -#include <com/sun/star/chart2/data/XRangeXMLConversion.hpp> -#include <com/sun/star/chart2/data/XDataSource.hpp> -#include <com/sun/star/chart2/data/XDataSequence.hpp> -#include <com/sun/star/chart2/data/XTextualDataSequence.hpp> -#include <com/sun/star/chart2/data/XNumericalDataSequence.hpp> -#include <com/sun/star/chart2/data/XLabeledDataSequence.hpp> -#include <com/sun/star/chart2/data/DataSequenceRole.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/util/XCloneable.hpp> -#include <com/sun/star/util/XModifyBroadcaster.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase6.hxx> -#include <cppuhelper/implbase7.hxx> -#include <rtl/ustring.hxx> -#include <svl/itemprop.hxx> - -#include <boost/unordered_set.hpp> -#include <list> -#include <vector> -#include <memory> -#include <boost/shared_ptr.hpp> - -#define USE_CHART2_EMPTYDATASEQUENCE 0 - -class ScDocument; - -// DataProvider ============================================================== - -class ScChart2DataProvider : public - ::cppu::WeakImplHelper4< - ::com::sun::star::chart2::data::XDataProvider, - ::com::sun::star::chart2::data::XRangeXMLConversion, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo>, - SfxListener -{ -public: - - explicit ScChart2DataProvider( ScDocument* pDoc ); - virtual ~ScChart2DataProvider(); - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDataProvider --------------------------------------------------------- - - virtual ::sal_Bool SAL_CALL createDataSourcePossible( - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments ) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::chart2::data::XDataSource > SAL_CALL createDataSource( - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments ) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue > SAL_CALL detectArguments( - const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource >& xDataSource ) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::sal_Bool SAL_CALL createDataSequenceByRangeRepresentationPossible( - const ::rtl::OUString& aRangeRepresentation ) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation( - const ::rtl::OUString& aRangeRepresentation ) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XRangeSelection > SAL_CALL getRangeSelection() - throw (::com::sun::star::uno::RuntimeException); - - // XRangeXMLConversion --------------------------------------------------- - - virtual ::rtl::OUString SAL_CALL convertRangeToXML( const ::rtl::OUString& sRangeRepresentation ) - throw ( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException ); - - virtual ::rtl::OUString SAL_CALL convertRangeFromXML( const ::rtl::OUString& sXMLRange ) - throw ( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException ); - - // XPropertySet ---------------------------------------------------------- - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertySetInfo> SAL_CALL - getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL setPropertyValue( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Any& rValue) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& rPropertyName) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addPropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& xListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removePropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removeVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo ---------------------------------------------------------- - - virtual ::rtl::OUString SAL_CALL getImplementationName() throw( - ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& - rServiceName) throw( ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL - getSupportedServiceNames() throw( - ::com::sun::star::uno::RuntimeException); - -private: - - ScDocument* m_pDocument; - SfxItemPropertySet m_aPropSet; - sal_Bool m_bIncludeHiddenCells; -}; - - -// DataSource ================================================================ - -class ScChart2DataSource : public - ::cppu::WeakImplHelper2< - ::com::sun::star::chart2::data::XDataSource, - ::com::sun::star::lang::XServiceInfo>, - SfxListener -{ -public: - - explicit ScChart2DataSource( ScDocument* pDoc); - virtual ~ScChart2DataSource(); - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDataSource ----------------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< - ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL - getDataSequences() throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo ---------------------------------------------------------- - - virtual ::rtl::OUString SAL_CALL getImplementationName() throw( - ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& - rServiceName) throw( ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL - getSupportedServiceNames() throw( - ::com::sun::star::uno::RuntimeException); - - // implementation - - void AddLabeledSequence(const com::sun::star::uno::Reference < com::sun::star::chart2::data::XLabeledDataSequence >& xNew); - -private: - - ScDocument* m_pDocument; - typedef std::list < com::sun::star::uno::Reference< com::sun::star::chart2::data::XLabeledDataSequence > > LabeledList; - LabeledList m_aLabeledSequences; - -}; - - -// DataSequence ============================================================== - -class ScChart2DataSequence : public - ::cppu::WeakImplHelper7< - ::com::sun::star::chart2::data::XDataSequence, - ::com::sun::star::chart2::data::XTextualDataSequence, - ::com::sun::star::chart2::data::XNumericalDataSequence, - ::com::sun::star::util::XCloneable, - ::com::sun::star::util::XModifyBroadcaster, - ::com::sun::star::beans::XPropertySet, -// ::com::sun::star::lang::XUnoTunnel, - ::com::sun::star::lang::XServiceInfo>, - SfxListener -{ -public: - explicit ScChart2DataSequence( ScDocument* pDoc, - const com::sun::star::uno::Reference< com::sun::star::chart2::data::XDataProvider >& xDP, - ::std::vector<ScTokenRef>* pTokens, bool bIncludeHiddenCells ); - - virtual ~ScChart2DataSequence(); - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDataSequence --------------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > - SAL_CALL getData() throw (::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSourceRangeRepresentation() - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > - SAL_CALL generateLabel(::com::sun::star::chart2::data::LabelOrigin nOrigin) - throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex ) - throw (::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - - // XNumericalDataSequence -------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< double > - SAL_CALL getNumericalData( ) throw (::com::sun::star::uno::RuntimeException); - - // XTextualDataSequence -------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > - SAL_CALL getTextualData( ) throw (::com::sun::star::uno::RuntimeException); - - // XPropertySet ---------------------------------------------------------- - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertySetInfo> SAL_CALL - getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL setPropertyValue( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Any& rValue) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& rPropertyName) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addPropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& xListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removePropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removeVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XCloneable ------------------------------------------------------------ - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone() - throw (::com::sun::star::uno::RuntimeException); - - // XModifyBroadcaster ---------------------------------------------------- - - virtual void SAL_CALL addModifyListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeModifyListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo ---------------------------------------------------------- - - virtual ::rtl::OUString SAL_CALL getImplementationName() throw( - ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& - rServiceName) throw( ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL - getSupportedServiceNames() throw( - ::com::sun::star::uno::RuntimeException); - -private: - void setDataChangedHint(bool b); - - // Implementation -------------------------------------------------------- - - void RefChanged(); - DECL_LINK( ValueListenerHdl, SfxHint* ); - -private: - ScChart2DataSequence(); // disabled - ScChart2DataSequence(const ScChart2DataSequence& r); // disabled - - class ExternalRefListener : public ScExternalRefManager::LinkListener - { - public: - ExternalRefListener(ScChart2DataSequence& rParent, ScDocument* pDoc); - virtual ~ExternalRefListener(); - virtual void notify(sal_uInt16 nFileId, ScExternalRefManager::LinkUpdateType eType); - void addFileId(sal_uInt16 nFileId); - void removeFileId(sal_uInt16 nFileId); - const ::boost::unordered_set<sal_uInt16>& getAllFileIds(); - - private: - ExternalRefListener(); - ExternalRefListener(const ExternalRefListener& r); - - ScChart2DataSequence& mrParent; - ::boost::unordered_set<sal_uInt16> maFileIds; - ScDocument* mpDoc; - }; - - /** - * Build an internal data array to cache the data ranges, and other - * information such as hidden values. - */ - void BuildDataCache(); - - void RebuildDataCache(); - - sal_Int32 FillCacheFromExternalRef(const ScTokenRef& pToken); - - void UpdateTokensFromRanges(const ScRangeList& rRanges); - - ExternalRefListener* GetExtRefListener(); - - void StopListeningToAllExternalRefs(); - - void CopyData(const ScChart2DataSequence& r); - -private: - - // data array - struct Item - { - double mfValue; - ::rtl::OUString maString; - bool mbIsValue; - Item(); - }; - - class HiddenRangeListener : public ScChartHiddenRangeListener - { - public: - HiddenRangeListener(ScChart2DataSequence& rParent); - virtual ~HiddenRangeListener(); - - virtual void notify(); - - private: - ScChart2DataSequence& mrParent; - }; - - ::std::list<Item> m_aDataArray; - - /** - * Cached data for getData. We may also need to cache data for the - * numerical and textural data series if they turn out to be bottlenecks - * under certain scenarios. - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > m_aMixedDataCache; - - ::com::sun::star::uno::Sequence<sal_Int32> m_aHiddenValues; - - // properties - ::com::sun::star::chart2::data::DataSequenceRole m_aRole; - sal_Bool m_bIncludeHiddenCells; - - // internals - typedef ::std::auto_ptr< ::std::vector<ScTokenRef> > TokenListPtr; - typedef ::std::auto_ptr< ::std::vector<sal_uInt32> > RangeIndexMapPtr; - typedef ::std::auto_ptr<ExternalRefListener> ExtRefListenerPtr; - - sal_Int64 m_nObjectId; - ScDocument* m_pDocument; - TokenListPtr m_pTokens; - RangeIndexMapPtr m_pRangeIndices; - ExtRefListenerPtr m_pExtRefListener; - com::sun::star::uno::Reference < com::sun::star::chart2::data::XDataProvider > m_xDataProvider; - SfxItemPropertySet m_aPropSet; - - ::std::auto_ptr<HiddenRangeListener> m_pHiddenListener; - ScLinkListener* m_pValueListener; - XModifyListenerArr_Impl m_aValueListeners; - - bool m_bGotDataChangedHint; - bool m_bExtDataRebuildQueued; -}; - -#if USE_CHART2_EMPTYDATASEQUENCE -// DataSequence ============================================================== - -class ScChart2EmptyDataSequence : public - ::cppu::WeakImplHelper6< - ::com::sun::star::chart2::data::XDataSequence, - ::com::sun::star::chart2::data::XTextualDataSequence, - ::com::sun::star::util::XCloneable, - ::com::sun::star::util::XModifyBroadcaster, - ::com::sun::star::beans::XPropertySet, -// ::com::sun::star::lang::XUnoTunnel, - ::com::sun::star::lang::XServiceInfo>, - SfxListener -{ -public: - - explicit ScChart2EmptyDataSequence( ScDocument* pDoc, - const com::sun::star::uno::Reference< com::sun::star::chart2::data::XDataProvider >& xDP, - const ScRangeListRef& rRangeList, sal_Bool bColumn ); - virtual ~ScChart2EmptyDataSequence(); - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDataSequence --------------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > - SAL_CALL getData() throw (::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSourceRangeRepresentation() - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > - SAL_CALL generateLabel(::com::sun::star::chart2::data::LabelOrigin nOrigin) - throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex ) - throw (::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - - // XTextualDataSequence -------------------------------------------------- - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > - SAL_CALL getTextualData( ) throw (::com::sun::star::uno::RuntimeException); - - // XPropertySet ---------------------------------------------------------- - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertySetInfo> SAL_CALL - getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL setPropertyValue( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Any& rValue) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& rPropertyName) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addPropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& xListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removePropertyChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removeVetoableChangeListener( - const ::rtl::OUString& rPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener>& rListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XCloneable ------------------------------------------------------------ - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone() - throw (::com::sun::star::uno::RuntimeException); - - // XModifyBroadcaster ---------------------------------------------------- - - virtual void SAL_CALL addModifyListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeModifyListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo ---------------------------------------------------------- - - virtual ::rtl::OUString SAL_CALL getImplementationName() throw( - ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& - rServiceName) throw( ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL - getSupportedServiceNames() throw( - ::com::sun::star::uno::RuntimeException); - - // Implementation -------------------------------------------------------- - - ScRangeListRef GetRangeList() { return m_xRanges; } - -private: - - // properties - ::com::sun::star::chart2::data::DataSequenceRole m_aRole; - sal_Bool m_bIncludeHiddenCells; - // internals - ScRangeListRef m_xRanges; - ScDocument* m_pDocument; - com::sun::star::uno::Reference < com::sun::star::chart2::data::XDataProvider > m_xDataProvider; - SfxItemPropertySet m_aPropSet; - sal_Bool m_bColumn; // defines the orientation to create the right labels - -}; -#endif - -#endif // SC_CHART2UNO_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chartarr.hxx b/sc/inc/chartarr.hxx deleted file mode 100644 index 6470240c3..000000000 --- a/sc/inc/chartarr.hxx +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTARR_HXX -#define SC_CHARTARR_HXX - -// ----------------------------------------------------------------------- - -#include "rangelst.hxx" -#include "chartpos.hxx" - -#include <boost/ptr_container/ptr_vector.hpp> - -class ScDocument; - -// ScMemChart is a stripped-down SchMemChart from old chart, -// used only to transport a rectangular data array for the UNO API, -// contains only column/row header text and data values. - -class ScMemChart -{ - short nRowCnt; - short nColCnt; - double* pData; - ::rtl::OUString* pColText; - ::rtl::OUString* pRowText; - - ScMemChart(const ScMemChart& rMemChart); // not implemented - -public: - ScMemChart(short nCols, short nRows); - ~ScMemChart(); - - short GetColCount() const { return nColCnt; } - short GetRowCount() const { return nRowCnt; } - const ::rtl::OUString& GetColText(short nCol) const { return pColText[nCol]; } - const ::rtl::OUString& GetRowText(short nRow) const { return pRowText[nRow]; } - double GetData(short nCol, short nRow) const { return pData[nCol * nRowCnt + nRow]; } - void SetData(short nCol, short nRow, const double& rVal) { pData[nCol * nRowCnt + nRow] = rVal; } - void SetColText(short nCol, const ::rtl::OUString& rText) { pColText[nCol] = rText; } - void SetRowText(short nRow, const ::rtl::OUString& rText) { pRowText[nRow] = rText; } -}; - -class SC_DLLPUBLIC ScChartArray // only parameter-struct -{ - ::rtl::OUString aName; - ScDocument* pDocument; - ScChartPositioner aPositioner; - bool bValid; // for creation out of SchMemChart - -private: - ScMemChart* CreateMemChartSingle(); - ScMemChart* CreateMemChartMulti(); -public: - ScChartArray( ScDocument* pDoc, SCTAB nTab, - SCCOL nStartColP, SCROW nStartRowP, - SCCOL nEndColP, SCROW nEndRowP, - const ::rtl::OUString& rChartName ); - ScChartArray( ScDocument* pDoc, const ScRangeListRef& rRangeList, - const ::rtl::OUString& rChartName ); - ScChartArray( const ScChartArray& rArr ); - ~ScChartArray(); - - const ScRangeListRef& GetRangeList() const { return aPositioner.GetRangeList(); } - void SetRangeList( const ScRangeListRef& rNew ) { aPositioner.SetRangeList(rNew); } - void SetRangeList( const ScRange& rNew ) { aPositioner.SetRangeList(rNew); } - const ScChartPositionMap* GetPositionMap() { return aPositioner.GetPositionMap(); } - - void SetHeaders(bool bCol, bool bRow) { aPositioner.SetHeaders(bCol, bRow); } - bool HasColHeaders() const { return aPositioner.HasColHeaders(); } - bool HasRowHeaders() const { return aPositioner.HasRowHeaders(); } - bool IsValid() const { return bValid; } - void SetName(const ::rtl::OUString& rNew) { aName = rNew; } - const ::rtl::OUString& GetName() const { return aName; } - - bool operator==(const ScChartArray& rCmp) const; - - ScMemChart* CreateMemChart(); -}; - -class ScChartCollection -{ - typedef ::boost::ptr_vector<ScChartArray> DataType; - DataType maData; -public: - ScChartCollection(); - ScChartCollection(const ScChartCollection& rColl); - - SC_DLLPUBLIC void push_back(ScChartArray* p); - void clear(); - size_t size() const; - bool empty() const; - ScChartArray* operator[](size_t nIndex); - const ScChartArray* operator[](size_t nIndex) const; - - bool operator==(const ScChartCollection& rCmp) const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/charthelper.hxx b/sc/inc/charthelper.hxx deleted file mode 100644 index 47c1d35e6..000000000 --- a/sc/inc/charthelper.hxx +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTHELPER_HXX -#define SC_CHARTHELPER_HXX - -#include <tools/solar.h> -#include "address.hxx" -#include "global.hxx" -#include "rangelst.hxx" - -#include <com/sun/star/chart2/XChartDocument.hpp> - -class SdrObject; -class SdrPage; -class ScModelObj; - -typedef ::std::vector< ScRangeList > ScRangeListVector; - -/** Use this to handle charts in a calc document -*/ -class ScChartHelper -{ -public: - static sal_uInt16 DoUpdateAllCharts( ScDocument* pDoc ); - static void AdjustRangesOfChartsOnDestinationPage( ScDocument* pSrcDoc, ScDocument* pDestDoc, const SCTAB nSrcTab, const SCTAB nDestTab ); - static ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument > GetChartFromSdrObject( SdrObject* pObject ); - static void GetChartRanges( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument >& xChartDoc, - ::com::sun::star::uno::Sequence< rtl::OUString >& rRanges ); - static void SetChartRanges( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument >& xChartDoc, - const ::com::sun::star::uno::Sequence< rtl::OUString >& rRanges ); - - static void AddRangesIfProtectedChart( ScRangeListVector& rRangesVector, ScDocument* pDocument, SdrObject* pObject ); - static void FillProtectedChartRangesVector( ScRangeListVector& rRangesVector, ScDocument* pDocument, SdrPage* pPage ); - static void GetChartNames( ::std::vector< ::rtl::OUString >& rChartNames, SdrPage* pPage ); - static void CreateProtectedChartListenersAndNotify( ScDocument* pDoc, SdrPage* pPage, ScModelObj* pModelObj, SCTAB nTab, - const ScRangeListVector& rRangesVector, const ::std::vector< ::rtl::OUString >& rExcludedChartNames, bool bSameDoc = true ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chartlis.hxx b/sc/inc/chartlis.hxx deleted file mode 100644 index 95c246ac8..000000000 --- a/sc/inc/chartlis.hxx +++ /dev/null @@ -1,220 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTLIS_HXX -#define SC_CHARTLIS_HXX - - -#include <vcl/timer.hxx> -#include <svl/listener.hxx> -#include "collect.hxx" -#include "rangelst.hxx" -#include "token.hxx" -#include "externalrefmgr.hxx" - -#include <memory> -#include <vector> -#include <list> -#include <boost/unordered_set.hpp> - -class ScDocument; -class ScChartUnoData; -#include <com/sun/star/chart/XChartData.hpp> -#include <com/sun/star/chart/XChartDataChangeEventListener.hpp> - -class SC_DLLPUBLIC ScChartListener : public StrData, public SvtListener -{ -public: - class ExternalRefListener : public ScExternalRefManager::LinkListener - { - public: - ExternalRefListener(ScChartListener& rParent, ScDocument* pDoc); - virtual ~ExternalRefListener(); - virtual void notify(sal_uInt16 nFileId, ScExternalRefManager::LinkUpdateType eType); - void addFileId(sal_uInt16 nFileId); - void removeFileId(sal_uInt16 nFileId); - ::boost::unordered_set<sal_uInt16>& getAllFileIds(); - - private: - ExternalRefListener(); - ExternalRefListener(const ExternalRefListener& r); - - ScChartListener& mrParent; - ::boost::unordered_set<sal_uInt16> maFileIds; - ScDocument* mpDoc; - }; - -private: - - ::std::auto_ptr<ExternalRefListener> mpExtRefListener; - ::std::auto_ptr< ::std::vector<ScTokenRef> > mpTokens; - - ScChartUnoData* pUnoData; - ScDocument* pDoc; - sal_Bool bUsed; // for ScChartListenerCollection::FreeUnused - sal_Bool bDirty; - sal_Bool bSeriesRangesScheduled; - - // not implemented - ScChartListener& operator=( const ScChartListener& ); - -public: - ScChartListener( const String& rName, ScDocument* pDoc, - const ScRange& rRange ); - ScChartListener( const String& rName, ScDocument* pDoc, - const ScRangeListRef& rRangeListRef ); - ScChartListener( const String& rName, ScDocument* pDoc, - ::std::vector<ScTokenRef>* pTokens ); - ScChartListener( const ScChartListener& ); - virtual ~ScChartListener(); - virtual ScDataObject* Clone() const; - - void SetUno( const com::sun::star::uno::Reference< com::sun::star::chart::XChartDataChangeEventListener >& rListener, - const com::sun::star::uno::Reference< com::sun::star::chart::XChartData >& rSource ); - com::sun::star::uno::Reference< com::sun::star::chart::XChartDataChangeEventListener > GetUnoListener() const; - com::sun::star::uno::Reference< com::sun::star::chart::XChartData > GetUnoSource() const; - - sal_Bool IsUno() const { return (pUnoData != NULL); } - - virtual void Notify( SvtBroadcaster& rBC, const SfxHint& rHint ); - void StartListeningTo(); - void EndListeningTo(); - void ChangeListening( const ScRangeListRef& rRangeListRef, - sal_Bool bDirty = false ); - void Update(); - ScRangeListRef GetRangeList() const; - void SetRangeList( const ScRangeListRef& rNew ); - void SetRangeList( const ScRange& rNew ); - sal_Bool IsUsed() const { return bUsed; } - void SetUsed( sal_Bool bFlg ) { bUsed = bFlg; } - sal_Bool IsDirty() const { return bDirty; } - void SetDirty( sal_Bool bFlg ) { bDirty = bFlg; } - - void UpdateChartIntersecting( const ScRange& rRange ); - - // if chart series ranges are to be updated later on (e.g. DeleteTab, InsertTab) - void ScheduleSeriesRanges() { bSeriesRangesScheduled = sal_True; } - void UpdateScheduledSeriesRanges(); - void UpdateSeriesRanges(); - - ExternalRefListener* GetExtRefListener(); - void SetUpdateQueue(); - - sal_Bool operator==( const ScChartListener& ); - sal_Bool operator!=( const ScChartListener& r ) - { return !operator==( r ); } -}; - -// ============================================================================ - -class ScChartHiddenRangeListener -{ -public: - ScChartHiddenRangeListener(); - virtual ~ScChartHiddenRangeListener(); - virtual void notify() = 0; -}; - -// ============================================================================ - -class ScChartListenerCollection : public ScStrCollection -{ -public: - struct RangeListenerItem - { - ScRange maRange; - ScChartHiddenRangeListener* mpListener; - explicit RangeListenerItem(const ScRange& rRange, ScChartHiddenRangeListener* p); - }; - -private: - ::std::list<RangeListenerItem> maHiddenListeners; - - Timer aTimer; - ScDocument* pDoc; - - DECL_LINK( TimerHdl, Timer* ); - - // not implemented - ScChartListenerCollection& operator=( const ScChartListenerCollection& ); - - using ScStrCollection::operator==; - -public: - ScChartListenerCollection( ScDocument* pDoc ); - ScChartListenerCollection( const ScChartListenerCollection& ); - virtual ScDataObject* Clone() const; - - virtual ~ScChartListenerCollection(); - - // only needed after copy-ctor, if newly added to doc - void StartAllListeners(); - - void ChangeListening( const String& rName, - const ScRangeListRef& rRangeListRef, - sal_Bool bDirty = sal_False ); - // use FreeUnused only the way it's used in ScDocument::UpdateChartListenerCollection - void FreeUnused(); - void FreeUno( const com::sun::star::uno::Reference< com::sun::star::chart::XChartDataChangeEventListener >& rListener, - const com::sun::star::uno::Reference< com::sun::star::chart::XChartData >& rSource ); - void StartTimer(); - void UpdateDirtyCharts(); - void SC_DLLPUBLIC SetDirty(); - void SetDiffDirty( const ScChartListenerCollection&, - sal_Bool bSetChartRangeLists = false ); - - void SetRangeDirty( const ScRange& rRange ); // for example rows/columns - - void UpdateScheduledSeriesRanges(); - void UpdateChartsContainingTab( SCTAB nTab ); - - sal_Bool operator==( const ScChartListenerCollection& ); - - /** - * Start listening on hide/show change within specified cell range. A - * single listener may listen on multiple ranges when the caller passes - * the same pointer multiple times with different ranges. - * - * Note that the caller is responsible for managing the life-cycle of the - * listener instance. - */ - void StartListeningHiddenRange( const ScRange& rRange, - ScChartHiddenRangeListener* pListener ); - - /** - * Remove all ranges associated with passed listener instance from the - * list of hidden range listeners. This does not delete the passed - * listener instance. - */ - void EndListeningHiddenRange( ScChartHiddenRangeListener* pListener ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chartlock.hxx b/sc/inc/chartlock.hxx deleted file mode 100644 index aa441212a..000000000 --- a/sc/inc/chartlock.hxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTLOCK_HXX -#define SC_CHARTLOCK_HXX - - -#include <vcl/timer.hxx> - -#include <cppuhelper/weakref.hxx> -#include <com/sun/star/frame/XModel.hpp> - -#include <memory> - -class ScDocument; - -/** All current charts in the calc will be locked in constructor and unlocked in destructor. -*/ -class ScChartLockGuard -{ -public: - ScChartLockGuard( ScDocument* pDoc ); - virtual ~ScChartLockGuard(); - - void AlsoLockThisChart( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XModel >& xModel ); - -private: - std::vector< ::com::sun::star::uno::WeakReference< - ::com::sun::star::frame::XModel > > maChartModels; - - ScChartLockGuard(); - ScChartLockGuard( const ScChartLockGuard& ); -}; - -/** Use this to lock all charts in the calc for a little time. - They will unlock automatically unless you call StartOrContinueLocking() again. -*/ -class ScTemporaryChartLock -{ -public: - ScTemporaryChartLock( ScDocument* pDoc ); - virtual ~ScTemporaryChartLock(); - - void StartOrContinueLocking(); - void StopLocking(); - void AlsoLockThisChart( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XModel >& xModel ); - -private: - ScDocument* mpDoc; - Timer maTimer; - std::auto_ptr< ScChartLockGuard > mapScChartLockGuard; - - DECL_LINK( TimeoutHdl, Timer* ); - - ScTemporaryChartLock(); - ScTemporaryChartLock( const ScTemporaryChartLock& ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chartpos.hxx b/sc/inc/chartpos.hxx deleted file mode 100644 index d92b8c062..000000000 --- a/sc/inc/chartpos.hxx +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTPOS_HXX -#define SC_CHARTPOS_HXX - -// ----------------------------------------------------------------------- - -#include "collect.hxx" -#include "rangelst.hxx" - - -class ScAddress; -class Table; - -class ScChartPositionMap -{ - friend class ScChartPositioner; - - ScAddress** ppData; - ScAddress** ppColHeader; - ScAddress** ppRowHeader; - sal_uLong nCount; - SCCOL nColCount; - SCROW nRowCount; - - ScChartPositionMap( SCCOL nChartCols, SCROW nChartRows, - SCCOL nColAdd, // header columns - SCROW nRowAdd, // header rows - Table& rCols // table with col tables with address* - ); - ~ScChartPositionMap(); //! deletes all ScAddress* - - // not implemented - ScChartPositionMap( const ScChartPositionMap& ); - ScChartPositionMap& operator=( const ScChartPositionMap& ); - -public: - - sal_uLong GetCount() const { return nCount; } - SCCOL GetColCount() const { return nColCount; } - SCROW GetRowCount() const { return nRowCount; } - - sal_Bool IsValid( SCCOL nCol, SCROW nRow ) const - { return nCol < nColCount && nRow < nRowCount; } - // data column by column - sal_uLong GetIndex( SCCOL nCol, SCROW nRow ) const - { return (sal_uLong) nCol * nRowCount + nRow; } - - const ScAddress* GetPosition( sal_uLong nIndex ) const - { - if ( nIndex < nCount ) - return ppData[ nIndex ]; - return NULL; - } - - //! might be NULL indicating "no value" - const ScAddress* GetPosition( SCCOL nChartCol, SCROW nChartRow ) const - { - if ( IsValid( nChartCol, nChartRow ) ) - return ppData[ GetIndex( nChartCol, nChartRow ) ]; - return NULL; - } - const ScAddress* GetColHeaderPosition( SCCOL nChartCol ) const - { - if ( nChartCol < nColCount ) - return ppColHeader[ nChartCol ]; - return NULL; - } - const ScAddress* GetRowHeaderPosition( SCROW nChartRow ) const - { - if ( nChartRow < nRowCount ) - return ppRowHeader[ nChartRow ]; - return NULL; - } -}; - - -enum ScChartGlue { - SC_CHARTGLUE_NA, - SC_CHARTGLUE_NONE, // old mimic - SC_CHARTGLUE_COLS, // old mimic - SC_CHARTGLUE_ROWS, - SC_CHARTGLUE_BOTH -}; - -class ScDocument; - -class ScChartPositioner // only parameter struct -{ - ScRangeListRef aRangeListRef; - ScDocument* pDocument; - ScChartPositionMap* pPositionMap; - ScChartGlue eGlue; - SCCOL nStartCol; - SCROW nStartRow; - sal_Bool bColHeaders; - sal_Bool bRowHeaders; - sal_Bool bDummyUpperLeft; - -private: - void CheckColRowHeaders(); - - void GlueState(); // summarised areas - void CreatePositionMap(); - -public: - ScChartPositioner( ScDocument* pDoc, SCTAB nTab, - SCCOL nStartColP, SCROW nStartRowP, - SCCOL nEndColP, SCROW nEndRowP ); - ScChartPositioner( ScDocument* pDoc, const ScRangeListRef& rRangeList ); - ScChartPositioner( const ScChartPositioner& rPositioner ); - - virtual ~ScChartPositioner(); - - const ScRangeListRef& GetRangeList() const { return aRangeListRef; } - void SetRangeList( const ScRangeListRef& rNew ) { aRangeListRef = rNew; } - void SetRangeList( const ScRange& rNew ); - - void SetHeaders(sal_Bool bCol, sal_Bool bRow) { bColHeaders=bCol; bRowHeaders=bRow; } - sal_Bool HasColHeaders() const { return bColHeaders; } - sal_Bool HasRowHeaders() const { return bRowHeaders; } - void SetDummyUpperLeft(sal_Bool bNew) { bDummyUpperLeft = bNew; } - void SeteGlue(ScChartGlue eNew) { eGlue = eNew; } - void SetStartCol(SCCOL nNew) { nStartCol = nNew; } - void SetStartRow(SCROW nNew) { nStartRow = nNew; } - - sal_Bool operator==(const ScChartPositioner& rCmp) const; - - void InvalidateGlue() - { - eGlue = SC_CHARTGLUE_NA; - if ( pPositionMap ) - { - delete pPositionMap; - pPositionMap = NULL; - } - } - const ScChartPositionMap* GetPositionMap(); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chartuno.hxx b/sc/inc/chartuno.hxx deleted file mode 100644 index 5f987d9b6..000000000 --- a/sc/inc/chartuno.hxx +++ /dev/null @@ -1,206 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHARTUNO_HXX -#define SC_CHARTUNO_HXX - -#include "address.hxx" -#include <svl/lstner.hxx> -#include <tools/string.hxx> -#include <comphelper/proparrhlp.hxx> -#include <comphelper/propertycontainer.hxx> - -#include <com/sun/star/table/XTableChart.hpp> -#include <com/sun/star/table/XTableCharts.hpp> -#include <com/sun/star/document/XEmbeddedObjectSupplier.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <com/sun/star/container/XNamed.hpp> -#include <cppuhelper/compbase4.hxx> -#include <cppuhelper/implbase4.hxx> - - -class ScDocShell; -class ScRangeListRef; -class ScChartObj; - - -class ScChartsObj : public cppu::WeakImplHelper4< - com::sun::star::table::XTableCharts, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; // Charts are per sheet - - ScChartObj* GetObjectByIndex_Impl(long nIndex) const; - ScChartObj* GetObjectByName_Impl(const ::rtl::OUString& aName) const; - -public: - ScChartsObj(ScDocShell* pDocSh, SCTAB nT); - virtual ~ScChartsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XTableCharts - virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName, - const ::com::sun::star::awt::Rectangle& aRect, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aRanges, - sal_Bool bColumnHeaders, sal_Bool bRowHeaders ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -typedef ::cppu::WeakComponentImplHelper4< - ::com::sun::star::table::XTableChart, - ::com::sun::star::document::XEmbeddedObjectSupplier, - ::com::sun::star::container::XNamed, - ::com::sun::star::lang::XServiceInfo > ScChartObj_Base; - -typedef ::comphelper::OPropertyContainer ScChartObj_PBase; -typedef ::comphelper::OPropertyArrayUsageHelper< ScChartObj > ScChartObj_PABase; - -class ScChartObj : public ::comphelper::OBaseMutex - ,public ScChartObj_Base - ,public ScChartObj_PBase - ,public ScChartObj_PABase - ,public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; // Charts are per sheet - String aChartName; - - void Update_Impl( const ScRangeListRef& rRanges, bool bColHeaders, bool bRowHeaders ); - void GetData_Impl( ScRangeListRef& rRanges, bool& rColHeaders, bool& rRowHeaders ) const; - -protected: - // ::comphelper::OPropertySetHelper - virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper(); - virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) - throw (::com::sun::star::uno::Exception); - using ::cppu::OPropertySetHelper::getFastPropertyValue; - virtual void SAL_CALL getFastPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const; - - // ::comphelper::OPropertyArrayUsageHelper - virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const; - -public: - ScChartObj(ScDocShell* pDocSh, SCTAB nT, const String& rN); - virtual ~ScChartObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XInterface - DECLARE_XINTERFACE() - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XComponent - virtual void SAL_CALL disposing(); - - // XTableChart - virtual sal_Bool SAL_CALL getHasColumnHeaders() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setHasColumnHeaders( sal_Bool bHasColumnHeaders ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getHasRowHeaders() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setHasRowHeaders( sal_Bool bHasRowHeaders ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL - getRanges( ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setRanges( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aRanges ) - throw(::com::sun::star::uno::RuntimeException); - - // XEmbeddedObjectSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > SAL_CALL - getEmbeddedObject() throw(::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() - throw (::com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx deleted file mode 100644 index 1885074b6..000000000 --- a/sc/inc/chgtrack.hxx +++ /dev/null @@ -1,1350 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CHGTRACK_HXX -#define SC_CHGTRACK_HXX - -#include <deque> - -#include <tools/string.hxx> -#include <tools/datetime.hxx> -#include <tools/table.hxx> -#include <tools/stack.hxx> -#include <tools/mempool.hxx> -#include <tools/link.hxx> -#include <unotools/options.hxx> -#include "global.hxx" -#include "bigrange.hxx" -#include "collect.hxx" -#include "scdllapi.h" - -#ifdef SC_CHGTRACK_CXX -// core/inc -#include "refupdat.hxx" -#endif - -class ScBaseCell; -class ScDocument; - - -enum ScChangeActionType -{ - SC_CAT_NONE, - SC_CAT_INSERT_COLS, - SC_CAT_INSERT_ROWS, - SC_CAT_INSERT_TABS, - SC_CAT_DELETE_COLS, - SC_CAT_DELETE_ROWS, - SC_CAT_DELETE_TABS, - SC_CAT_MOVE, - SC_CAT_CONTENT, - SC_CAT_REJECT -}; - - -enum ScChangeActionState -{ - SC_CAS_VIRGIN, - SC_CAS_ACCEPTED, - SC_CAS_REJECTED -}; - - -enum ScChangeActionClipMode -{ - SC_CACM_NONE, - SC_CACM_CUT, - SC_CACM_COPY, - SC_CACM_PASTE -}; - -class SvStream; - -// --- ScChangeActionLinkEntry --------------------------------------------- - -// Inserts itself as the head of a chain (better: linked list?), or before a LinkEntry -// on delete: automatically remove of what is linked (German original was strange...) -// ppPrev == &previous->pNext oder address of pointer to head of linked list, -// *ppPrev == this - -class ScChangeAction; - -class ScChangeActionLinkEntry -{ - // not implemented, prevent usage - ScChangeActionLinkEntry( - const ScChangeActionLinkEntry& ); - ScChangeActionLinkEntry& operator=( const ScChangeActionLinkEntry& ); - -protected: - - ScChangeActionLinkEntry* pNext; - ScChangeActionLinkEntry** ppPrev; - ScChangeAction* pAction; - ScChangeActionLinkEntry* pLink; - -public: - - DECL_FIXEDMEMPOOL_NEWDEL( ScChangeActionLinkEntry ) - - ScChangeActionLinkEntry( - ScChangeActionLinkEntry** ppPrevP, - ScChangeAction* pActionP ) - : pNext( *ppPrevP ), - ppPrev( ppPrevP ), - pAction( pActionP ), - pLink( NULL ) - { - if ( pNext ) - pNext->ppPrev = &pNext; - *ppPrevP = this; - } - - virtual ~ScChangeActionLinkEntry() - { - ScChangeActionLinkEntry* p = pLink; - UnLink(); - Remove(); - if ( p ) - delete p; - } - - void SetLink( ScChangeActionLinkEntry* pLinkP ) - { - UnLink(); - if ( pLinkP ) - { - pLink = pLinkP; - pLinkP->pLink = this; - } - } - - void UnLink() - { - if ( pLink ) - { - pLink->pLink = NULL; - pLink = NULL; - } - } - - void Remove() - { - if ( ppPrev ) - { - if ( ( *ppPrev = pNext ) != NULL ) - pNext->ppPrev = ppPrev; - ppPrev = NULL; // not inserted - } - } - - void Insert( ScChangeActionLinkEntry** ppPrevP ) - { - if ( !ppPrev ) - { - ppPrev = ppPrevP; - if ( (pNext = *ppPrevP) ) - pNext->ppPrev = &pNext; - *ppPrevP = this; - } - } - - const ScChangeActionLinkEntry* GetLink() const { return pLink; } - ScChangeActionLinkEntry* GetLink() { return pLink; } - const ScChangeActionLinkEntry* GetNext() const { return pNext; } - ScChangeActionLinkEntry* GetNext() { return pNext; } - const ScChangeAction* GetAction() const { return pAction; } - ScChangeAction* GetAction() { return pAction; } -}; - -// --- ScChangeActionCellListEntry ----------------------------------------- -// this is only for the XML Export in the hxx -class ScChangeActionContent; - -class ScChangeActionCellListEntry -{ - friend class ScChangeAction; - friend class ScChangeActionDel; - friend class ScChangeActionMove; - friend class ScChangeTrack; - - ScChangeActionCellListEntry* pNext; - ScChangeActionContent* pContent; - - ScChangeActionCellListEntry( - ScChangeActionContent* pContentP, - ScChangeActionCellListEntry* pNextP ) - : pNext( pNextP ), - pContent( pContentP ) - {} - -public: - const ScChangeActionCellListEntry* GetNext() const { return pNext; } // this is only for the XML Export public - const ScChangeActionContent* GetContent() const { return pContent; } // this is only for the XML Export public - - DECL_FIXEDMEMPOOL_NEWDEL( ScChangeActionCellListEntry ) -}; - -// --- ScChangeAction ------------------------------------------------------- - -class ScChangeTrack; -class ScChangeActionIns; -class ScChangeActionDel; -class ScChangeActionContent; - -class ScChangeAction -{ - friend class ScChangeTrack; - friend class ScChangeActionIns; - friend class ScChangeActionDel; - friend class ScChangeActionMove; - friend class ScChangeActionContent; - - // not implemented, prevent usage - ScChangeAction( const ScChangeAction& ); - ScChangeAction& operator=( const ScChangeAction& ); - -protected: - - ScBigRange aBigRange; // Ins/Del/MoveTo/ContentPos - DateTime aDateTime; //! UTC - String aUser; // who? - String aComment; // user comment - ScChangeAction* pNext; // next in linked list - ScChangeAction* pPrev; // previous in linked list - ScChangeActionLinkEntry* pLinkAny; // arbitrary links - ScChangeActionLinkEntry* pLinkDeletedIn; // access to insert areas which were - // deleted or moved or rejected - ScChangeActionLinkEntry* pLinkDeleted; // links to deleted - ScChangeActionLinkEntry* pLinkDependent; // links to dependent - sal_uLong nAction; - sal_uLong nRejectAction; - ScChangeActionType eType; - ScChangeActionState eState; - - - ScChangeAction( ScChangeActionType, - const ScRange& ); - - // only to be used in the XML import - ScChangeAction( ScChangeActionType, - const ScBigRange&, - const sal_uLong nAction, - const sal_uLong nRejectAction, - const ScChangeActionState eState, - const DateTime& aDateTime, - const String& aUser, - const String& aComment ); - // only to be used in the XML import - ScChangeAction( ScChangeActionType, - const ScBigRange&, - const sal_uLong nAction); - - virtual ~ScChangeAction(); - - String GetRefString( const ScBigRange&, - ScDocument*, sal_Bool bFlag3D = false ) const; - - void SetActionNumber( sal_uLong n ) { nAction = n; } - void SetRejectAction( sal_uLong n ) { nRejectAction = n; } - void SetUser( const String& r ) { aUser = r; } - void SetType( ScChangeActionType e ) { eType = e; } - void SetState( ScChangeActionState e ) { eState = e; } - void SetRejected(); - - ScBigRange& GetBigRange() { return aBigRange; } - - ScChangeActionLinkEntry* AddLink( ScChangeAction* p, - ScChangeActionLinkEntry* pL ) - { - ScChangeActionLinkEntry* pLnk = - new ScChangeActionLinkEntry( - &pLinkAny, p ); - pLnk->SetLink( pL ); - return pLnk; - } - void RemoveAllAnyLinks(); - - virtual ScChangeActionLinkEntry* GetDeletedIn() const - { return pLinkDeletedIn; } - virtual ScChangeActionLinkEntry** GetDeletedInAddress() - { return &pLinkDeletedIn; } - ScChangeActionLinkEntry* AddDeletedIn( ScChangeAction* p ) - { - return new ScChangeActionLinkEntry( - GetDeletedInAddress(), p ); - } - sal_Bool RemoveDeletedIn( const ScChangeAction* ); - void SetDeletedIn( ScChangeAction* ); - - ScChangeActionLinkEntry* AddDeleted( ScChangeAction* p ) - { - return new ScChangeActionLinkEntry( - &pLinkDeleted, p ); - } - void RemoveAllDeleted(); - - ScChangeActionLinkEntry* AddDependent( ScChangeAction* p ) - { - return new ScChangeActionLinkEntry( - &pLinkDependent, p ); - } - void RemoveAllDependent(); - - void RemoveAllLinks(); - - virtual void AddContent( ScChangeActionContent* ) = 0; - virtual void DeleteCellEntries() = 0; - - virtual void UpdateReference( const ScChangeTrack*, - UpdateRefMode, const ScBigRange&, - sal_Int32 nDx, sal_Int32 nDy, sal_Int32 nDz ); - - void Accept(); - virtual sal_Bool Reject( ScDocument* ) = 0; - void RejectRestoreContents( ScChangeTrack*, - SCsCOL nDx, SCsROW nDy ); - - // used in Reject() instead of IsRejectable() - sal_Bool IsInternalRejectable() const; - - // Derived classes that hold a pointer to the - // ChangeTrack must return that. Otherwise NULL. - virtual const ScChangeTrack* GetChangeTrack() const = 0; - -public: - - sal_Bool IsInsertType() const - { - return eType == SC_CAT_INSERT_COLS || - eType == SC_CAT_INSERT_ROWS || - eType == SC_CAT_INSERT_TABS; - } - sal_Bool IsDeleteType() const - { - return eType == SC_CAT_DELETE_COLS || - eType == SC_CAT_DELETE_ROWS || - eType == SC_CAT_DELETE_TABS; - } - sal_Bool IsVirgin() const - { return eState == SC_CAS_VIRGIN; } - sal_Bool IsAccepted() const - { return eState == SC_CAS_ACCEPTED; } - sal_Bool IsRejected() const - { return eState == SC_CAS_REJECTED; } - - // Action rejects another Action - sal_Bool IsRejecting() const - { return nRejectAction != 0; } - - // if action is visible in the document - sal_Bool IsVisible() const; - - // if action if touchable - sal_Bool IsTouchable() const; - - // if action is an entry in dialog root - sal_Bool IsDialogRoot() const; - - // if an entry in a dialog shall be a drop down entry - sal_Bool IsDialogParent() const; - - // if action is a delete with subdeletes (aufgeklappt = open ?) - sal_Bool IsMasterDelete() const; - - // if action is acceptable/selectable/rejectable - sal_Bool IsClickable() const; - - // if action is rejectable - sal_Bool IsRejectable() const; - - const ScBigRange& GetBigRange() const { return aBigRange; } - SC_DLLPUBLIC DateTime GetDateTime() const; // local time - const DateTime& GetDateTimeUTC() const // UTC time - { return aDateTime; } - const String& GetUser() const { return aUser; } - const String& GetComment() const { return aComment; } - ScChangeActionType GetType() const { return eType; } - ScChangeActionState GetState() const { return eState; } - sal_uLong GetActionNumber() const { return nAction; } - sal_uLong GetRejectAction() const { return nRejectAction; } - - ScChangeAction* GetNext() const { return pNext; } - ScChangeAction* GetPrev() const { return pPrev; } - - sal_Bool IsDeletedIn() const - { return GetDeletedIn() != NULL; } - sal_Bool IsDeleted() const - { return IsDeleteType() || IsDeletedIn(); } - sal_Bool IsDeletedIn( const ScChangeAction* ) const; - sal_Bool IsDeletedInDelType( ScChangeActionType ) const; - void RemoveAllDeletedIn(); - - const ScChangeActionLinkEntry* GetFirstDeletedEntry() const - { return pLinkDeleted; } - const ScChangeActionLinkEntry* GetFirstDependentEntry() const - { return pLinkDependent; } - sal_Bool HasDependent() const - { return pLinkDependent != NULL; } - sal_Bool HasDeleted() const - { return pLinkDeleted != NULL; } - - // description will be appended to string - // with bSplitRange only one column/row will be considered for delete - // (for a listing of entries) - virtual void GetDescription( String&, ScDocument*, - sal_Bool bSplitRange = false, bool bWarning = true ) const; - - virtual void GetRefString( String&, ScDocument*, - sal_Bool bFlag3D = false ) const; - - // for DocumentMerge set old date of the other - // action, fetched by GetDateTimeUTC - void SetDateTimeUTC( const DateTime& rDT ) - { aDateTime = rDT; } - - // set user comment - void SetComment( const String& rStr ) - { aComment = rStr; } - - // only to be used in the XML import - void SetDeletedInThis( sal_uLong nActionNumber, - const ScChangeTrack* pTrack ); - // only to be used in the XML import - void AddDependent( sal_uLong nActionNumber, - const ScChangeTrack* pTrack ); -}; - - -// --- ScChangeActionIns ---------------------------------------------------- - -class ScChangeActionIns : public ScChangeAction -{ - friend class ScChangeTrack; - - ScChangeActionIns( const ScRange& rRange ); - virtual ~ScChangeActionIns(); - - virtual void AddContent( ScChangeActionContent* ) {} - virtual void DeleteCellEntries() {} - - virtual sal_Bool Reject( ScDocument* ); - - virtual const ScChangeTrack* GetChangeTrack() const { return 0; } - -public: - ScChangeActionIns(const sal_uLong nActionNumber, - const ScChangeActionState eState, - const sal_uLong nRejectingNumber, - const ScBigRange& aBigRange, - const String& aUser, - const DateTime& aDateTime, - const String &sComment, - const ScChangeActionType eType); // only to use in the XML import - - virtual void GetDescription( String&, ScDocument*, - sal_Bool bSplitRange = false, bool bWarning = true ) const; -}; - - -// --- ScChangeActionDel ---------------------------------------------------- - -class ScChangeActionMove; - -class ScChangeActionDelMoveEntry : public ScChangeActionLinkEntry -{ - friend class ScChangeActionDel; - friend class ScChangeTrack; - - short nCutOffFrom; - short nCutOffTo; - - - ScChangeActionDelMoveEntry( - ScChangeActionDelMoveEntry** ppPrevP, - ScChangeActionMove* pMove, - short nFrom, short nTo ) - : ScChangeActionLinkEntry( - (ScChangeActionLinkEntry**) - ppPrevP, - (ScChangeAction*) pMove ), - nCutOffFrom( nFrom ), - nCutOffTo( nTo ) - {} - - ScChangeActionDelMoveEntry* GetNext() - { - return (ScChangeActionDelMoveEntry*) - ScChangeActionLinkEntry::GetNext(); - } - ScChangeActionMove* GetMove() - { - return (ScChangeActionMove*) - ScChangeActionLinkEntry::GetAction(); - } - -public: - const ScChangeActionDelMoveEntry* GetNext() const - { - return (const ScChangeActionDelMoveEntry*) - ScChangeActionLinkEntry::GetNext(); - } - const ScChangeActionMove* GetMove() const - { - return (const ScChangeActionMove*) - ScChangeActionLinkEntry::GetAction(); - } - short GetCutOffFrom() const { return nCutOffFrom; } - short GetCutOffTo() const { return nCutOffTo; } -}; - - -class ScChangeActionDel : public ScChangeAction -{ - friend class ScChangeTrack; - friend void ScChangeAction::Accept(); - - ScChangeTrack* pTrack; - ScChangeActionCellListEntry* pFirstCell; - ScChangeActionIns* pCutOff; // cut insert - short nCutOff; // +: start -: end - ScChangeActionDelMoveEntry* pLinkMove; - SCsCOL nDx; - SCsROW nDy; - - ScChangeActionDel( const ScRange& rRange, - SCsCOL nDx, SCsROW nDy, ScChangeTrack* ); - virtual ~ScChangeActionDel(); - - ScChangeActionIns* GetCutOffInsert() { return pCutOff; } - - virtual void AddContent( ScChangeActionContent* ); - virtual void DeleteCellEntries(); - - void UndoCutOffMoves(); - void UndoCutOffInsert(); - - virtual void UpdateReference( const ScChangeTrack*, - UpdateRefMode, const ScBigRange&, - sal_Int32 nDx, sal_Int32 nDy, sal_Int32 nDz ); - - virtual sal_Bool Reject( ScDocument* ); - - virtual const ScChangeTrack* GetChangeTrack() const { return pTrack; } - -public: - ScChangeActionDel(const sal_uLong nActionNumber, - const ScChangeActionState eState, - const sal_uLong nRejectingNumber, - const ScBigRange& aBigRange, - const String& aUser, - const DateTime& aDateTime, - const String &sComment, - const ScChangeActionType eType, - const SCsCOLROW nD, - ScChangeTrack* pTrack); // only to use in the XML import - // which of nDx and nDy is set is dependend on the type - - // is the last in a row (or single) - sal_Bool IsBaseDelete() const; - - // is the first in a row (or single) - sal_Bool IsTopDelete() const; - - // is part of a row - sal_Bool IsMultiDelete() const; - - // is col, belonging to a TabDelete - sal_Bool IsTabDeleteCol() const; - - SCsCOL GetDx() const { return nDx; } - SCsROW GetDy() const { return nDy; } - ScBigRange GetOverAllRange() const; // BigRange + (nDx, nDy) - - const ScChangeActionCellListEntry* GetFirstCellEntry() const - { return pFirstCell; } - const ScChangeActionDelMoveEntry* GetFirstMoveEntry() const - { return pLinkMove; } - const ScChangeActionIns* GetCutOffInsert() const { return pCutOff; } - short GetCutOffCount() const { return nCutOff; } - - virtual void GetDescription( String&, ScDocument*, - sal_Bool bSplitRange = false, bool bWarning = true ) const; - void SetCutOffInsert( ScChangeActionIns* p, short n ) - { pCutOff = p; nCutOff = n; } // only to use in the XML import - // this should be protected, but for the XML import it is public - // only to use in the XML import - // this should be protected, but for the XML import it is public - ScChangeActionDelMoveEntry* AddCutOffMove( ScChangeActionMove* pMove, - short nFrom, short nTo ) - { - return new ScChangeActionDelMoveEntry( - &pLinkMove, pMove, nFrom, nTo ); - } -}; - - -// --- ScChangeActionMove --------------------------------------------------- - -class ScChangeActionMove : public ScChangeAction -{ - friend class ScChangeTrack; - friend class ScChangeActionDel; - - ScBigRange aFromRange; - ScChangeTrack* pTrack; - ScChangeActionCellListEntry* pFirstCell; - sal_uLong nStartLastCut; // for PasteCut undo - sal_uLong nEndLastCut; - - ScChangeActionMove( const ScRange& rFromRange, - const ScRange& rToRange, - ScChangeTrack* pTrackP ) - : ScChangeAction( SC_CAT_MOVE, rToRange ), - aFromRange( rFromRange ), - pTrack( pTrackP ), - pFirstCell( NULL ), - nStartLastCut(0), - nEndLastCut(0) - {} - virtual ~ScChangeActionMove(); - - virtual void AddContent( ScChangeActionContent* ); - virtual void DeleteCellEntries(); - - ScBigRange& GetFromRange() { return aFromRange; } - - void SetStartLastCut( sal_uLong nVal ) { nStartLastCut = nVal; } - sal_uLong GetStartLastCut() const { return nStartLastCut; } - void SetEndLastCut( sal_uLong nVal ) { nEndLastCut = nVal; } - sal_uLong GetEndLastCut() const { return nEndLastCut; } - - virtual void UpdateReference( const ScChangeTrack*, - UpdateRefMode, const ScBigRange&, - sal_Int32 nDx, sal_Int32 nDy, sal_Int32 nDz ); - - virtual sal_Bool Reject( ScDocument* ); - - virtual const ScChangeTrack* GetChangeTrack() const { return pTrack; } - -protected: - using ScChangeAction::GetRefString; - -public: - ScChangeActionMove(const sal_uLong nActionNumber, - const ScChangeActionState eState, - const sal_uLong nRejectingNumber, - const ScBigRange& aToBigRange, - const String& aUser, - const DateTime& aDateTime, - const String &sComment, - const ScBigRange& aFromBigRange, - ScChangeTrack* pTrack); // only to use in the XML import - const ScChangeActionCellListEntry* GetFirstCellEntry() const - { return pFirstCell; } // only to use in the XML export - - const ScBigRange& GetFromRange() const { return aFromRange; } - SC_DLLPUBLIC void GetDelta( sal_Int32& nDx, sal_Int32& nDy, sal_Int32& nDz ) const; - - virtual void GetDescription( String&, ScDocument*, - sal_Bool bSplitRange = false, bool bWarning = true ) const; - - virtual void GetRefString( String&, ScDocument*, - sal_Bool bFlag3D = false ) const; -}; - - -// --- ScChangeActionContent ------------------------------------------------ - -enum ScChangeActionContentCellType -{ - SC_CACCT_NONE = 0, - SC_CACCT_NORMAL, - SC_CACCT_MATORG, - SC_CACCT_MATREF -}; - -class Stack; - -class ScChangeActionContent : public ScChangeAction -{ - friend class ScChangeTrack; - - String aOldValue; - String aNewValue; - ScBaseCell* pOldCell; - ScBaseCell* pNewCell; - ScChangeActionContent* pNextContent; // at the same position - ScChangeActionContent* pPrevContent; - ScChangeActionContent* pNextInSlot; // in the same slot - ScChangeActionContent** ppPrevInSlot; - - void InsertInSlot( ScChangeActionContent** pp ) - { - if ( !ppPrevInSlot ) - { - ppPrevInSlot = pp; - if ( ( pNextInSlot = *pp ) != NULL ) - pNextInSlot->ppPrevInSlot = &pNextInSlot; - *pp = this; - } - } - void RemoveFromSlot() - { - if ( ppPrevInSlot ) - { - if ( ( *ppPrevInSlot = pNextInSlot ) != NULL ) - pNextInSlot->ppPrevInSlot = ppPrevInSlot; - ppPrevInSlot = NULL; // not inserted - } - } - ScChangeActionContent* GetNextInSlot() { return pNextInSlot; } - - void ClearTrack(); - - static void GetStringOfCell( String& rStr, - const ScBaseCell* pCell, - const ScDocument* pDoc, - const ScAddress& rPos ); - - static void GetStringOfCell( String& rStr, - const ScBaseCell* pCell, - const ScDocument* pDoc, - sal_uLong nFormat ); - - static void SetValue( String& rStr, ScBaseCell*& pCell, - const ScAddress& rPos, - const ScBaseCell* pOrgCell, - const ScDocument* pFromDoc, - ScDocument* pToDoc ); - - static void SetValue( String& rStr, ScBaseCell*& pCell, - sal_uLong nFormat, - const ScBaseCell* pOrgCell, - const ScDocument* pFromDoc, - ScDocument* pToDoc ); - - static void SetCell( String& rStr, ScBaseCell* pCell, - sal_uLong nFormat, const ScDocument* pDoc ); - - static sal_Bool NeedsNumberFormat( const ScBaseCell* ); - - void SetValueString( String& rValue, - ScBaseCell*& pCell, const String& rStr, - ScDocument* pDoc ); - - void GetValueString( String& rStr, - const String& rValue, - const ScBaseCell* pCell ) const; - - void GetFormulaString( String& rStr, - const ScFormulaCell* pCell ) const; - - virtual void AddContent( ScChangeActionContent* ) {} - virtual void DeleteCellEntries() {} - - virtual void UpdateReference( const ScChangeTrack*, - UpdateRefMode, const ScBigRange&, - sal_Int32 nDx, sal_Int32 nDy, sal_Int32 nDz ); - - virtual sal_Bool Reject( ScDocument* ); - - virtual const ScChangeTrack* GetChangeTrack() const { return 0; } - - // pRejectActions!=NULL: reject actions get - // stacked, no SetNewValue, no Append - sal_Bool Select( ScDocument*, ScChangeTrack*, - sal_Bool bOldest, Stack* pRejectActions ); - - void PutValueToDoc( ScBaseCell*, const String&, - ScDocument*, SCsCOL nDx, SCsROW nDy ) const; - -protected: - using ScChangeAction::GetRefString; - -public: - - DECL_FIXEDMEMPOOL_NEWDEL( ScChangeActionContent ) - - ScChangeActionContent( const ScRange& rRange ) - : ScChangeAction( SC_CAT_CONTENT, rRange ), - pOldCell( NULL ), - pNewCell( NULL ), - pNextContent( NULL ), - pPrevContent( NULL ), - pNextInSlot( NULL ), - ppPrevInSlot( NULL ) - {} - ScChangeActionContent(const sal_uLong nActionNumber, - const ScChangeActionState eState, - const sal_uLong nRejectingNumber, - const ScBigRange& aBigRange, - const String& aUser, - const DateTime& aDateTime, - const String &sComment, - ScBaseCell* pOldCell, - ScDocument* pDoc, - const String& sOldValue); // to use for XML Import - ScChangeActionContent(const sal_uLong nActionNumber, - ScBaseCell* pNewCell, - const ScBigRange& aBigRange, - ScDocument* pDoc, - const String& sNewValue); // to use for XML Import of Generated Actions - virtual ~ScChangeActionContent(); - - ScChangeActionContent* GetNextContent() const { return pNextContent; } - ScChangeActionContent* GetPrevContent() const { return pPrevContent; } - ScChangeActionContent* GetTopContent() const; - sal_Bool IsTopContent() const - { return pNextContent == NULL; } - - virtual ScChangeActionLinkEntry* GetDeletedIn() const; - virtual ScChangeActionLinkEntry** GetDeletedInAddress(); - - void PutOldValueToDoc( ScDocument*, - SCsCOL nDx, SCsROW nDy ) const; - void PutNewValueToDoc( ScDocument*, - SCsCOL nDx, SCsROW nDy ) const; - - void SetOldValue( const ScBaseCell*, - const ScDocument* pFromDoc, - ScDocument* pToDoc, - sal_uLong nFormat ); - void SetOldValue( const ScBaseCell*, - const ScDocument* pFromDoc, - ScDocument* pToDoc ); - void SetNewValue( const ScBaseCell*, ScDocument* ); - - // Used in import filter AppendContentOnTheFly, - // takes ownership of cells. - void SetOldNewCells( ScBaseCell* pOldCell, - sal_uLong nOldFormat, ScBaseCell* pNewCell, - sal_uLong nNewFormat, ScDocument* pDoc ); - - // Use this only in the XML import, - // takes ownership of cell. - void SetNewCell( ScBaseCell* pCell, ScDocument* pDoc, const String& rFormatted ); - - // These functions should be protected but for - // the XML import they are public. - void SetNextContent( ScChangeActionContent* p ) - { pNextContent = p; } - void SetPrevContent( ScChangeActionContent* p ) - { pPrevContent = p; } - - // don't use: - // assigns String / creates forumula cell - void SetOldValue( const String& rOld, ScDocument* ); - void SetNewValue( const String& rNew, ScDocument* ); - - void GetOldString( String& ) const; - void GetNewString( String& ) const; - const ScBaseCell* GetOldCell() const { return pOldCell; } - const ScBaseCell* GetNewCell() const { return pNewCell; } - virtual void GetDescription( String&, ScDocument*, - sal_Bool bSplitRange = false, bool bWarning = true ) const; - virtual void GetRefString( String&, ScDocument*, - sal_Bool bFlag3D = false ) const; - - static ScChangeActionContentCellType GetContentCellType( const ScBaseCell* ); - - // NewCell - sal_Bool IsMatrixOrigin() const - { - return GetContentCellType( GetNewCell() ) - == SC_CACCT_MATORG; - } - sal_Bool IsMatrixReference() const - { - return GetContentCellType( GetNewCell() ) - == SC_CACCT_MATREF; - } - // OldCell - sal_Bool IsOldMatrixOrigin() const - { - return GetContentCellType( GetOldCell() ) - == SC_CACCT_MATORG; - } - sal_Bool IsOldMatrixReference() const - { - return GetContentCellType( GetOldCell() ) - == SC_CACCT_MATREF; - } - -}; - - -// --- ScChangeActionReject ------------------------------------------------- - -class Stack; - -class ScChangeActionReject : public ScChangeAction -{ - friend class ScChangeTrack; - friend class ScChangeActionContent; - - ScChangeActionReject( sal_uLong nReject ) - : ScChangeAction( SC_CAT_REJECT, ScRange() ) - { - SetRejectAction( nReject ); - SetState( SC_CAS_ACCEPTED ); - } - - virtual void AddContent( ScChangeActionContent* ) {} - virtual void DeleteCellEntries() {} - - virtual sal_Bool Reject( ScDocument* ) { return false; } - - virtual const ScChangeTrack* GetChangeTrack() const { return 0; } - -public: - ScChangeActionReject(const sal_uLong nActionNumber, - const ScChangeActionState eState, - const sal_uLong nRejectingNumber, - const ScBigRange& aBigRange, - const String& aUser, - const DateTime& aDateTime, - const String &sComment); // only to use in the XML import -}; - - -// --- ScChangeTrack -------------------------------------------------------- - -enum ScChangeTrackMsgType -{ - SC_CTM_NONE, - SC_CTM_APPEND, // Actions appended - SC_CTM_REMOVE, // Actions removed - SC_CTM_CHANGE, // Actions changed - SC_CTM_PARENT // became a parent (and wasn't before) -}; - -struct ScChangeTrackMsgInfo -{ - DECL_FIXEDMEMPOOL_NEWDEL( ScChangeTrackMsgInfo ) - - ScChangeTrackMsgType eMsgType; - sal_uLong nStartAction; - sal_uLong nEndAction; -}; - -// MsgQueue for notification via ModifiedLink -typedef std::deque<ScChangeTrackMsgInfo*> ScChangeTrackMsgQueue; -DECLARE_STACK( ScChangeTrackMsgStack, ScChangeTrackMsgInfo* ) - -enum ScChangeTrackMergeState -{ - SC_CTMS_NONE, - SC_CTMS_PREPARE, - SC_CTMS_OWN, - SC_CTMS_UNDO, - SC_CTMS_OTHER -}; - -// Table, additionally to pFirst/pNext/pLast/pPrev, to enable fast access by ActionNumber and by list -DECLARE_TABLE( ScChangeActionTable, ScChangeAction* ) - -// Internally generated actions start at this value (nearly all bits set) -// and are decremented, to keep values in a table seperated from "normal" actions. -#define SC_CHGTRACK_GENERATED_START ((sal_uInt32) 0xfffffff0) - -class ScChangeTrack : public utl::ConfigurationListener -{ - friend void ScChangeAction::RejectRestoreContents( ScChangeTrack*, SCsCOL, SCsROW ); - friend sal_Bool ScChangeActionDel::Reject( ScDocument* pDoc ); - friend void ScChangeActionDel::DeleteCellEntries(); - friend void ScChangeActionMove::DeleteCellEntries(); - friend sal_Bool ScChangeActionMove::Reject( ScDocument* pDoc ); - - static const SCROW nContentRowsPerSlot; - static const SCSIZE nContentSlots; - - com::sun::star::uno::Sequence< sal_Int8 > aProtectPass; - ScChangeActionTable aTable; - ScChangeActionTable aGeneratedTable; - ScChangeActionTable aPasteCutTable; - ScChangeTrackMsgQueue aMsgQueue; - ScChangeTrackMsgStack aMsgStackTmp; - ScChangeTrackMsgStack aMsgStackFinal; - ScStrCollection aUserCollection; - String aUser; - Link aModifiedLink; - ScRange aInDeleteRange; - DateTime aFixDateTime; - ScChangeAction* pFirst; - ScChangeAction* pLast; - ScChangeActionContent* pFirstGeneratedDelContent; - ScChangeActionContent** ppContentSlots; - ScChangeActionMove* pLastCutMove; - ScChangeActionLinkEntry* pLinkInsertCol; - ScChangeActionLinkEntry* pLinkInsertRow; - ScChangeActionLinkEntry* pLinkInsertTab; - ScChangeActionLinkEntry* pLinkMove; - ScChangeTrackMsgInfo* pBlockModifyMsg; - ScDocument* pDoc; - sal_uLong nActionMax; - sal_uLong nGeneratedMin; - sal_uLong nMarkLastSaved; - sal_uLong nStartLastCut; - sal_uLong nEndLastCut; - sal_uLong nLastMerge; - ScChangeTrackMergeState eMergeState; - sal_uInt16 nLoadedFileFormatVersion; - sal_Bool bLoadSave; - sal_Bool bInDelete; - sal_Bool bInDeleteUndo; - sal_Bool bInDeleteTop; - sal_Bool bInPasteCut; - sal_Bool bUseFixDateTime; - sal_Bool bTime100thSeconds; - - // not implemented, prevent usage - ScChangeTrack( const ScChangeTrack& ); - ScChangeTrack& operator=( const ScChangeTrack& ); - -#ifdef SC_CHGTRACK_CXX - static SCROW InitContentRowsPerSlot(); - - // sal_True if one is MM_FORMULA and the other is - // not, or if both are and range differs - static sal_Bool IsMatrixFormulaRangeDifferent( - const ScBaseCell* pOldCell, - const ScBaseCell* pNewCell ); - - void Init(); - void DtorClear(); - void SetLoadSave( sal_Bool bVal ) { bLoadSave = bVal; } - void SetInDeleteRange( const ScRange& rRange ) - { aInDeleteRange = rRange; } - void SetInDelete( sal_Bool bVal ) - { bInDelete = bVal; } - void SetInDeleteTop( sal_Bool bVal ) - { bInDeleteTop = bVal; } - void SetInDeleteUndo( sal_Bool bVal ) - { bInDeleteUndo = bVal; } - void SetInPasteCut( sal_Bool bVal ) - { bInPasteCut = bVal; } - void SetMergeState( ScChangeTrackMergeState eState ) - { eMergeState = eState; } - ScChangeTrackMergeState GetMergeState() const { return eMergeState; } - void SetLastMerge( sal_uLong nVal ) { nLastMerge = nVal; } - sal_uLong GetLastMerge() const { return nLastMerge; } - - void SetLastCutMoveRange( const ScRange&, ScDocument* ); - - // create block of ModifyMsg - void StartBlockModify( ScChangeTrackMsgType, - sal_uLong nStartAction ); - void EndBlockModify( sal_uLong nEndAction ); - - void AddDependentWithNotify( ScChangeAction* pParent, - ScChangeAction* pDependent ); - - void Dependencies( ScChangeAction* ); - void UpdateReference( ScChangeAction*, sal_Bool bUndo ); - void UpdateReference( ScChangeAction** ppFirstAction, - ScChangeAction* pAct, sal_Bool bUndo ); - void Append( ScChangeAction* pAppend, sal_uLong nAction ); - SC_DLLPUBLIC void AppendDeleteRange( const ScRange&, - ScDocument* pRefDoc, SCsTAB nDz, - sal_uLong nRejectingInsert ); - void AppendOneDeleteRange( const ScRange& rOrgRange, - ScDocument* pRefDoc, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - sal_uLong nRejectingInsert ); - void LookUpContents( const ScRange& rOrgRange, - ScDocument* pRefDoc, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void Remove( ScChangeAction* ); - void MasterLinks( ScChangeAction* ); - - // Content on top an Position - ScChangeActionContent* SearchContentAt( const ScBigAddress&, - ScChangeAction* pButNotThis ) const; - void DeleteGeneratedDelContent( - ScChangeActionContent* ); - ScChangeActionContent* GenerateDelContent( const ScAddress&, - const ScBaseCell*, - const ScDocument* pFromDoc ); - void DeleteCellEntries( - ScChangeActionCellListEntry*&, - ScChangeAction* pDeletor ); - - // Reject action and all dependent actions, - // Table stems from previous GetDependents, - // only needed for Insert and Move (MasterType), - // is NULL otherwise. - // bRecursion == called from reject with table - sal_Bool Reject( ScChangeAction*, - ScChangeActionTable*, sal_Bool bRecursion ); - -#endif // SC_CHGTRACK_CXX - - void ClearMsgQueue(); - virtual void ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 ); - -public: - - static SCSIZE ComputeContentSlot( sal_Int32 nRow ) - { - if ( nRow < 0 || nRow > MAXROW ) - return nContentSlots - 1; - return static_cast< SCSIZE >( nRow / nContentRowsPerSlot ); - } - - SC_DLLPUBLIC ScChangeTrack( ScDocument* ); - ScChangeTrack( ScDocument*, - const ScStrCollection& ); // only to use in the XML import - SC_DLLPUBLIC virtual ~ScChangeTrack(); - void Clear(); - - ScChangeActionContent* GetFirstGenerated() const { return pFirstGeneratedDelContent; } - ScChangeAction* GetFirst() const { return pFirst; } - ScChangeAction* GetLast() const { return pLast; } - sal_uLong GetActionMax() const { return nActionMax; } - sal_Bool IsGenerated( sal_uLong nAction ) const - { return nAction >= nGeneratedMin; } - ScChangeAction* GetAction( sal_uLong nAction ) const - { return aTable.Get( nAction ); } - ScChangeAction* GetGenerated( sal_uLong nGenerated ) const - { return aGeneratedTable.Get( nGenerated ); } - ScChangeAction* GetActionOrGenerated( sal_uLong nAction ) const - { - return IsGenerated( nAction ) ? - GetGenerated( nAction ) : - GetAction( nAction ); - } - sal_uLong GetLastSavedActionNumber() const - { return nMarkLastSaved; } - void SetLastSavedActionNumber(sal_uLong nNew) - { nMarkLastSaved = nNew; } - ScChangeAction* GetLastSaved() const - { return aTable.Get( nMarkLastSaved ); } - ScChangeActionContent** GetContentSlots() const { return ppContentSlots; } - - sal_Bool IsLoadSave() const { return bLoadSave; } - const ScRange& GetInDeleteRange() const - { return aInDeleteRange; } - sal_Bool IsInDelete() const { return bInDelete; } - sal_Bool IsInDeleteTop() const { return bInDeleteTop; } - sal_Bool IsInDeleteUndo() const { return bInDeleteUndo; } - sal_Bool IsInPasteCut() const { return bInPasteCut; } - SC_DLLPUBLIC void SetUser( const String& ); - const String& GetUser() const { return aUser; } - const ScStrCollection& GetUserCollection() const - { return aUserCollection; } - ScDocument* GetDocument() const { return pDoc; } - // for import filter - const DateTime& GetFixDateTime() const { return aFixDateTime; } - - // set this if the date/time set with - // SetFixDateTime...() shall be applied to - // appended actions - void SetUseFixDateTime( sal_Bool bVal ) - { bUseFixDateTime = bVal; } - // for MergeDocument, apply original date/time as UTC - void SetFixDateTimeUTC( const DateTime& rDT ) - { aFixDateTime = rDT; } - // for import filter, apply original date/time as local time - void SetFixDateTimeLocal( const DateTime& rDT ) - { aFixDateTime = rDT; aFixDateTime.ConvertToUTC(); } - - void Append( ScChangeAction* ); - - // pRefDoc may be NULL => no lookup of contents - // => no generation of deleted contents - SC_DLLPUBLIC void AppendDeleteRange( const ScRange&, - ScDocument* pRefDoc, - sal_uLong& nStartAction, sal_uLong& nEndAction, - SCsTAB nDz = 0 ); - // nDz: multi TabDel, LookUpContent must be searched - // with an offset of -nDz - - // after new value was set in the document, - // old value from RefDoc/UndoDoc - void AppendContent( const ScAddress& rPos, - ScDocument* pRefDoc ); - // after new values were set in the document, - // old values from RefDoc/UndoDoc - void AppendContentRange( const ScRange& rRange, - ScDocument* pRefDoc, - sal_uLong& nStartAction, sal_uLong& nEndAction, - ScChangeActionClipMode eMode = SC_CACM_NONE ); - // after new value was set in the document, - // old value from pOldCell, nOldFormat, - // RefDoc==NULL => Doc - void AppendContent( const ScAddress& rPos, - const ScBaseCell* pOldCell, - sal_uLong nOldFormat, ScDocument* pRefDoc = NULL ); - // after new value was set in the document, - // old value from pOldCell, format from Doc - void AppendContent( const ScAddress& rPos, - const ScBaseCell* pOldCell ); - // after new values were set in the document, - // old values from RefDoc/UndoDoc. - // All contents with a cell in RefDoc - void AppendContentsIfInRefDoc( ScDocument* pRefDoc, - sal_uLong& nStartAction, sal_uLong& nEndAction ); - - // Meant for import filter, creates and inserts - // an unconditional content action of the two - // cells without querying the document, not - // even for number formats (though the number - // formatter of the document may be used). - // The action is returned and may be used to - // set user name, description, date/time et al. - // Takes ownership of the cells! - SC_DLLPUBLIC ScChangeActionContent* AppendContentOnTheFly( const ScAddress& rPos, - ScBaseCell* pOldCell, - ScBaseCell* pNewCell, - sal_uLong nOldFormat = 0, - sal_uLong nNewFormat = 0 ); - - // Only use the following two if there is no different solution! - // (Assign String for NewValue or creation of a formula respectively) - - SC_DLLPUBLIC void AppendInsert( const ScRange& ); - - // pRefDoc may be NULL => no lookup of contents - // => no generation of deleted contents - SC_DLLPUBLIC void AppendMove( const ScRange& rFromRange, - const ScRange& rToRange, - ScDocument* pRefDoc ); - - // Cut to Clipboard - void ResetLastCut() - { - nStartLastCut = nEndLastCut = 0; - if ( pLastCutMove ) - { - delete pLastCutMove; - pLastCutMove = NULL; - } - } - sal_Bool HasLastCut() const - { - return nEndLastCut > 0 && - nStartLastCut <= nEndLastCut && - pLastCutMove; - } - - SC_DLLPUBLIC void Undo( sal_uLong nStartAction, sal_uLong nEndAction, bool bMerge = false ); - - // adjust references for MergeDocument - //! may only be used in a temporary opened document. - //! the Track (?) is unclean afterwards - void MergePrepare( ScChangeAction* pFirstMerge, bool bShared = false ); - void MergeOwn( ScChangeAction* pAct, sal_uLong nFirstMerge, bool bShared = false ); - static sal_Bool MergeIgnore( const ScChangeAction&, sal_uLong nFirstMerge ); - - // This comment was already really strange in German. - // Tried to structure it a little. Hope no information got lost... - // - // Insert dependents into table. - // ScChangeAction is - // - "Insert": really dependents - // - "Move": dependent contents in FromRange / - // deleted contents in ToRange - // OR inserts in FromRange or ToRange - // - "Delete": a list of deleted (what?) - // OR for content, different contents at the same position - // OR MatrixReferences belonging to MatrixOrigin - // - // With bListMasterDelete (==TRUE ?) all Deletes of a row belonging - // to a MasterDelete are listed (possibly it is - // "all Deletes belonging...are listed in a row?) - // - // With bAllFlat (==TRUE ?) all dependents of dependents - // will be inserted flatly. - - SC_DLLPUBLIC void GetDependents( ScChangeAction*, - ScChangeActionTable&, - sal_Bool bListMasterDelete = false, - sal_Bool bAllFlat = false ) const; - - // Reject visible action (and dependents) - sal_Bool Reject( ScChangeAction*, bool bShared = false ); - - // Accept visible action (and dependents) - SC_DLLPUBLIC sal_Bool Accept( ScChangeAction* ); - - void AcceptAll(); // all Virgins - sal_Bool RejectAll(); // all Virgins - - // Selects a content of several contents at the same - // position and accepts this one and - // the older ones, rejects the more recent ones. - // If bOldest==TRUE then the first OldValue - // of a Virgin-Content-List will be restored. - sal_Bool SelectContent( ScChangeAction*, - sal_Bool bOldest = false ); - - // If ModifiedLink is set, changes go to - // ScChangeTrackMsgQueue - void SetModifiedLink( const Link& r ) - { aModifiedLink = r; ClearMsgQueue(); } - const Link& GetModifiedLink() const { return aModifiedLink; } - ScChangeTrackMsgQueue& GetMsgQueue() { return aMsgQueue; } - - void NotifyModified( ScChangeTrackMsgType eMsgType, - sal_uLong nStartAction, sal_uLong nEndAction ); - - sal_uInt16 GetLoadedFileFormatVersion() const - { return nLoadedFileFormatVersion; } - - sal_uLong AddLoadedGenerated(ScBaseCell* pOldCell, - const ScBigRange& aBigRange, const String& sNewValue ); // only to use in the XML import - void AppendLoaded( ScChangeAction* pAppend ); // this is only for the XML import public, it should be protected - void SetActionMax(sal_uLong nTempActionMax) - { nActionMax = nTempActionMax; } // only to use in the XML import - - void SetProtection( const com::sun::star::uno::Sequence< sal_Int8 >& rPass ) - { aProtectPass = rPass; } - com::sun::star::uno::Sequence< sal_Int8 > GetProtection() const - { return aProtectPass; } - sal_Bool IsProtected() const - { return aProtectPass.getLength() != 0; } - - // If time stamps of actions of this - // ChangeTrack and a second one are to be - // compared including 100th seconds. - void SetTime100thSeconds( sal_Bool bVal ) - { bTime100thSeconds = bVal; } - sal_Bool IsTime100thSeconds() const - { return bTime100thSeconds; } - - void AppendCloned( ScChangeAction* pAppend ); - SC_DLLPUBLIC ScChangeTrack* Clone( ScDocument* pDocument ) const; - void MergeActionState( ScChangeAction* pAct, const ScChangeAction* pOtherAct ); -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/chgviset.hxx b/sc/inc/chgviset.hxx deleted file mode 100644 index 33d399175..000000000 --- a/sc/inc/chgviset.hxx +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SC_CHGVISET_HXX -#define SC_CHGVISET_HXX - -#include <tools/datetime.hxx> -#include <tools/string.hxx> -#include "rangelst.hxx" -#include "scdllapi.h" - -enum ScChgsDateMode{ SCDM_DATE_BEFORE=0,SCDM_DATE_SINCE=1,SCDM_DATE_EQUAL=2, - SCDM_DATE_NOTEQUAL=3,SCDM_DATE_BETWEEN=4, SCDM_DATE_SAVE=5, - SCDM_NO_DATEMODE=6}; - -namespace utl { - class TextSearch; -} - -class ScDocument; - -class SC_DLLPUBLIC ScChangeViewSettings -{ -private: - - utl::TextSearch* pCommentSearcher; - DateTime aFirstDateTime; - DateTime aLastDateTime; - String aAuthorToShow; - String aComment; - ScRangeList aRangeList; - ScChgsDateMode eDateMode; - sal_Bool bShowIt; - sal_Bool bIsDate; - sal_Bool bIsAuthor; - sal_Bool bIsComment; - sal_Bool bIsRange; - sal_Bool bEveryoneButMe; - sal_Bool bShowAccepted; - sal_Bool bShowRejected; - bool mbIsActionRange; - sal_uLong mnFirstAction; - sal_uLong mnLastAction; - -public: - - ScChangeViewSettings() - { - pCommentSearcher=NULL; - bIsDate=false; - bIsAuthor=false; - bIsRange=false; - bIsComment=false; - bShowIt=false; - eDateMode=SCDM_DATE_BEFORE; - bEveryoneButMe=false; - bShowAccepted=false; - bShowRejected=false; - mbIsActionRange = false; - } - - ScChangeViewSettings( const ScChangeViewSettings& r ); - - ~ScChangeViewSettings(); - - sal_Bool ShowChanges() const {return bShowIt;} - void SetShowChanges(sal_Bool nFlag=sal_True){bShowIt=nFlag;} - - sal_Bool HasDate() const {return bIsDate;} - void SetHasDate(sal_Bool nFlag=sal_True) {bIsDate=nFlag;} - - void SetTheDateMode(ScChgsDateMode eDatMod){ eDateMode=eDatMod; } - ScChgsDateMode GetTheDateMode() const { return eDateMode; } - - void SetTheFirstDateTime(const DateTime& aDateTime) {aFirstDateTime=aDateTime;} - const DateTime& GetTheFirstDateTime()const {return aFirstDateTime;} - - void SetTheLastDateTime(const DateTime& aDateTime) {aLastDateTime=aDateTime;} - const DateTime& GetTheLastDateTime()const {return aLastDateTime;} - - - sal_Bool HasAuthor() const {return bIsAuthor;} - void SetHasAuthor(sal_Bool nFlag=sal_True) {bIsAuthor=nFlag;} - - String GetTheAuthorToShow()const {return aAuthorToShow;} - void SetTheAuthorToShow(const String& aString){aAuthorToShow=aString;} - - sal_Bool HasComment() const {return bIsComment;} - void SetHasComment(sal_Bool nFlag=sal_True) {bIsComment=nFlag;} - - String GetTheComment()const {return aComment;} - void SetTheComment(const String& aString); - - sal_Bool IsValidComment(const String* pCommentStr) const; - - sal_Bool IsEveryoneButMe() const {return bEveryoneButMe;} - void SetEveryoneButMe(sal_Bool nFlag=sal_True) {bEveryoneButMe=nFlag;} - - - sal_Bool HasRange() const {return bIsRange;} - void SetHasRange(sal_Bool nFlag=sal_True) {bIsRange=nFlag;} - - const ScRangeList& GetTheRangeList()const {return aRangeList;} - void SetTheRangeList(const ScRangeList& aRl){aRangeList=aRl;} - - sal_Bool IsShowAccepted() const { return bShowAccepted; } - void SetShowAccepted( sal_Bool bVal ) { bShowAccepted = bVal; } - - sal_Bool IsShowRejected() const { return bShowRejected; } - void SetShowRejected( sal_Bool bVal ) { bShowRejected = bVal; } - - ScChangeViewSettings& operator= ( const ScChangeViewSettings& r ); - - /// Adjust dates according to selected DateMode - void AdjustDateMode( const ScDocument& rDoc ); - - bool HasActionRange() const { return mbIsActionRange; } - void SetHasActionRange( bool nFlag = true ) { mbIsActionRange = nFlag; } - void GetTheActionRange( sal_uLong& nFirst, sal_uLong& nLast ) const { nFirst = mnFirstAction; nLast = mnLastAction; } - void SetTheActionRange( sal_uLong nFirst, sal_uLong nLast ) { mnFirstAction = nFirst; mnLastAction = nLast; } -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/clipparam.hxx b/sc/inc/clipparam.hxx deleted file mode 100644 index 5a98657d4..000000000 --- a/sc/inc/clipparam.hxx +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CLIPPARAM_HXX -#define SC_CLIPPARAM_HXX - -#include "rangelst.hxx" -#include "rangenam.hxx" -#include "charthelper.hxx" - -#include <vector> - -/** - * This struct stores general clipboard parameters associated with a - * ScDocument instance created in clipboard mode. - */ -struct ScClipParam -{ - enum Direction { Unspecified, Column, Row }; - - ScRangeList maRanges; - Direction meDirection; - bool mbCutMode; - sal_uInt32 mnSourceDocID; - ScRangeListVector maProtectedChartRangesVector; - - ScClipParam(); - ScClipParam(const ScRange& rRange, bool bCutMode); - explicit ScClipParam(const ScClipParam& r); - - bool isMultiRange() const; - - /** - * Get the column size of a pasted range. Note that when the range is - * non-contiguous, we first compress all individual ranges into a single - * range, and the size of that compressed range is returned. - */ - SCCOL getPasteColSize(); - - /** - * Same as the above method, but returns the row size of the compressed - * range. - */ - SCROW getPasteRowSize(); - - /** - * Return a single range that encompasses all individual ranges. - */ - ScRange getWholeRange() const; - - void transpose(); - - sal_uInt32 getSourceDocID() const { return mnSourceDocID; } - void setSourceDocID( sal_uInt32 nVal ) { mnSourceDocID = nVal; } -}; - -// ============================================================================ - -struct ScClipRangeNameData -{ - ScRangeData::IndexMap maRangeMap; - ::std::vector<ScRangeData*> mpRangeNames; // Don't insert NULL pointers. - bool mbReplace; - - ScClipRangeNameData(); - ~ScClipRangeNameData(); - void insert(sal_uInt16 nOldIndex, sal_uInt16 nNewIndex); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/collect.hxx b/sc/inc/collect.hxx deleted file mode 100644 index dcf2b8b74..000000000 --- a/sc/inc/collect.hxx +++ /dev/null @@ -1,202 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_COLLECT_HXX -#define SC_COLLECT_HXX - -#include "address.hxx" -#include <tools/string.hxx> - -#ifndef INCLUDED_LIMITS_H -#include <limits.h> -#define INCLUDED_LIMITS_H -#endif -#include "scdllapi.h" - -#define MAXCOLLECTIONSIZE 16384 -#define MAXDELTA 1024 -#define SCPOS_INVALID USHRT_MAX - -#define SC_STRTYPE_VALUE 0 -#define SC_STRTYPE_STANDARD 1 - -class ScDocument; - -class SC_DLLPUBLIC ScDataObject -{ -public: - ScDataObject() {} - virtual ~ScDataObject(); - virtual ScDataObject* Clone() const = 0; -}; - -class SC_DLLPUBLIC ScCollection : public ScDataObject -{ -protected: - sal_uInt16 nCount; - sal_uInt16 nLimit; - sal_uInt16 nDelta; - ScDataObject** pItems; -public: - ScCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4); - ScCollection(const ScCollection& rCollection); - virtual ~ScCollection(); - - virtual ScDataObject* Clone() const; - - void AtFree(sal_uInt16 nIndex); - void Free(ScDataObject* pScDataObject); - void FreeAll(); - - sal_Bool AtInsert(sal_uInt16 nIndex, ScDataObject* pScDataObject); - virtual sal_Bool Insert(ScDataObject* pScDataObject); - - ScDataObject* At(sal_uInt16 nIndex) const; - virtual sal_uInt16 IndexOf(ScDataObject* pScDataObject) const; - sal_uInt16 GetCount() const; - - ScDataObject* operator[]( const sal_uInt16 nIndex) const {return At(nIndex);} - ScCollection& operator=( const ScCollection& rCol ); -}; - - -class SC_DLLPUBLIC ScSortedCollection : public ScCollection -{ -private: - sal_Bool bDuplicates; -protected: - // for ScStrCollection load/store - void SetDups( sal_Bool bVal ) { bDuplicates = bVal; } - sal_Bool IsDups() const { return bDuplicates; } -public: - ScSortedCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4, sal_Bool bDup = false); - ScSortedCollection(const ScSortedCollection& rScSortedCollection) : - ScCollection(rScSortedCollection), - bDuplicates(rScSortedCollection.bDuplicates) {} - - virtual sal_uInt16 IndexOf(ScDataObject* pScDataObject) const; - virtual short Compare(ScDataObject* pKey1, ScDataObject* pKey2) const = 0; - virtual sal_Bool IsEqual(ScDataObject* pKey1, ScDataObject* pKey2) const; - sal_Bool Search(ScDataObject* pScDataObject, sal_uInt16& rIndex) const; - virtual sal_Bool Insert(ScDataObject* pScDataObject); - virtual sal_Bool InsertPos(ScDataObject* pScDataObject, sal_uInt16& nIndex); - - sal_Bool operator==(const ScSortedCollection& rCmp) const; -}; - - - -//------------------------------------------------------------------------ -class StrData : public ScDataObject -{ -friend class ScStrCollection; - String aStr; -public: - StrData(const String& rStr) : aStr(rStr) {} - StrData(const StrData& rData) : ScDataObject(), aStr(rData.aStr) {} - virtual ScDataObject* Clone() const; - const String& GetString() const { return aStr; } - // SetString only, if StrData is not in ScStrCollection! for example - // for Searcher - void SetString( const String& rNew ) { aStr = rNew; } -}; - -class SvStream; - -class SC_DLLPUBLIC ScStrCollection : public ScSortedCollection -{ -public: - ScStrCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4, sal_Bool bDup = false) : - ScSortedCollection ( nLim, nDel, bDup ) {} - ScStrCollection(const ScStrCollection& rScStrCollection) : - ScSortedCollection ( rScStrCollection ) {} - - virtual ScDataObject* Clone() const; - StrData* operator[]( const sal_uInt16 nIndex) const {return (StrData*)At(nIndex);} - virtual short Compare(ScDataObject* pKey1, ScDataObject* pKey2) const; -}; - -//------------------------------------------------------------------------ -// TypedScStrCollection: wie ScStrCollection, nur, dass Zahlen vor Strings -// sortiert werden - -class TypedStrData : public ScDataObject -{ -public: - TypedStrData( const String& rStr, double nVal = 0.0, - sal_uInt16 nType = SC_STRTYPE_STANDARD ) - : aStrValue(rStr), - nValue(nVal), - nStrType(nType) {} - - TypedStrData( const TypedStrData& rCpy ) - : ScDataObject(), - aStrValue(rCpy.aStrValue), - nValue(rCpy.nValue), - nStrType(rCpy.nStrType) {} - - virtual ScDataObject* Clone() const; - - sal_Bool IsStrData() const { return nStrType != 0; } - const String& GetString() const { return aStrValue; } - double GetValue () const { return nValue; } - -private: - friend class TypedScStrCollection; - - String aStrValue; - double nValue; - sal_uInt16 nStrType; // 0 = Value -}; - -class SC_DLLPUBLIC TypedScStrCollection : public ScSortedCollection -{ -private: - sal_Bool bCaseSensitive; - -public: - TypedScStrCollection( sal_uInt16 nLim = 4, sal_uInt16 nDel = 4, sal_Bool bDup = false ); - - TypedScStrCollection( const TypedScStrCollection& rCpy ) - : ScSortedCollection( rCpy ) { bCaseSensitive = rCpy.bCaseSensitive; } - ~TypedScStrCollection(); - - virtual ScDataObject* Clone() const; - virtual short Compare( ScDataObject* pKey1, ScDataObject* pKey2 ) const; - - TypedStrData* operator[]( const sal_uInt16 nIndex) const; - - void SetCaseSensitive( sal_Bool bSet ); - - sal_Bool FindText( const String& rStart, String& rResult, sal_uInt16& rPos, sal_Bool bBack ) const; - sal_Bool GetExactMatch( String& rString ) const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx deleted file mode 100644 index af0f898fd..000000000 --- a/sc/inc/column.hxx +++ /dev/null @@ -1,453 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_COLUMN_HXX -#define SC_COLUMN_HXX - -#include "markarr.hxx" -#include "global.hxx" -#include "address.hxx" -#include "rangenam.hxx" - -#include <set> - -namespace editeng { class SvxBorderLine; } - -class Fraction; -class OutputDevice; -class Rectangle; -class SfxBroadcaster; -class SfxItemPoolCache; -class SfxItemSet; -class SvtListener; -class SfxPoolItem; -class SfxStyleSheetBase; -class SvxBoxInfoItem; -class SvxBoxItem; - -class ScAttrIterator; -class ScAttrArray; -struct ScAttrEntry; -class ScBaseCell; -class ScDocument; -class ScEditDataArray; -class ScFormulaCell; -class ScMarkData; -class ScPatternAttr; -class ScStyleSheet; -class SvtBroadcaster; -class TypedScStrCollection; -class ScProgress; -class ScPostIt; -struct ScFunctionData; -struct ScLineFlags; -struct ScMergePatternState; -class ScFlatBoolRowSegments; -struct ScSetStringParam; -struct ScColWidthParam; - -#define COLUMN_DELTA 4 - - -struct ScNeededSizeOptions -{ - const ScPatternAttr* pPattern; - bool bFormula; - bool bSkipMerged; - bool bGetFont; - bool bTotalSize; - - ScNeededSizeOptions() - { - pPattern = NULL; - bFormula = false; - bSkipMerged = true; - bGetFont = true; - bTotalSize = false; - } -}; - -struct ColEntry -{ - SCROW nRow; - ScBaseCell* pCell; -}; - - -class ScColumn -{ -private: - SCCOL nCol; - SCTAB nTab; - - SCSIZE nCount; - SCSIZE nLimit; - ColEntry* pItems; - - ScAttrArray* pAttrArray; - ScDocument* pDocument; - -friend class ScDocument; // for FillInfo -friend class ScDocumentIterator; -friend class ScValueIterator; -friend class ScDBQueryDataIterator; -friend class ScColumnIterator; -friend class ScQueryCellIterator; -friend class ScMarkedDataIter; -friend class ScCellIterator; -friend class ScHorizontalCellIterator; -friend class ScHorizontalAttrIterator; - -public: - static bool bDoubleAlloc; // for Import: double size for alloc - - class DoubleAllocSwitch - { - public: - DoubleAllocSwitch(bool bNewVal = true); - ~DoubleAllocSwitch(); - private: - bool mbOldVal; - }; -public: - ScColumn(); - ~ScColumn(); - - void Init(SCCOL nNewCol, SCTAB nNewTab, ScDocument* pDoc); - - bool Search( SCROW nRow, SCSIZE& nIndex ) const; - ScBaseCell* GetCell( SCROW nRow ) const; - void Insert( SCROW nRow, ScBaseCell* pCell ); - void Insert( SCROW nRow, sal_uInt32 nFormatIndex, ScBaseCell* pCell ); - void Append( SCROW nRow, ScBaseCell* pCell ); - void Delete( SCROW nRow ); - void DeleteAtIndex( SCSIZE nIndex ); - void FreeAll(); - void Resize( SCSIZE nSize ); - void SwapRow( SCROW nRow1, SCROW nRow2 ); - void SwapCell( SCROW nRow, ScColumn& rCol); - - bool HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const; - bool HasAttribSelection( const ScMarkData& rMark, sal_uInt16 nMask ) const; - bool ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow, - SCCOL& rPaintCol, SCROW& rPaintRow, - bool bRefresh, bool bAttrs ); - - bool IsEmptyVisData(bool bNotes) const; // without Broadcaster - bool IsEmptyData() const; - bool IsEmptyAttr() const; - bool IsEmpty() const; - - // data only: - bool IsEmptyBlock(SCROW nStartRow, SCROW nEndRow, bool bIgnoreNotes = false) const; - SCSIZE GetEmptyLinesInBlock( SCROW nStartRow, SCROW nEndRow, ScDirection eDir ) const; - bool HasDataAt(SCROW nRow) const; - bool HasVisibleDataAt(SCROW nRow) const; - SCROW GetFirstDataPos() const; - SCROW GetLastDataPos() const; - SCROW GetLastVisDataPos(bool bNotes) const; // without Broadcaster - SCROW GetFirstVisDataPos(bool bNotes) const; - bool GetPrevDataPos(SCROW& rRow) const; - bool GetNextDataPos(SCROW& rRow) const; - void FindDataAreaPos(SCROW& rRow, long nMovY) const; // (without Broadcaster) - void FindUsed( SCROW nStartRow, SCROW nEndRow, bool* pUsed ) const; - - SCSIZE VisibleCount( SCROW nStartRow, SCROW nEndRow ) const; - sal_uInt16 GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const; - bool HasSelectionMatrixFragment(const ScMarkData& rMark) const; - - bool GetFirstVisibleAttr( SCROW& rFirstRow ) const; - bool GetLastVisibleAttr( SCROW& rLastRow ) const; - bool HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const; - bool IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow = 0, - SCROW nEndRow = MAXROW ) const; - bool IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const; - - bool TestInsertCol( SCROW nStartRow, SCROW nEndRow) const; - bool TestInsertRow( SCSIZE nSize ) const; - void InsertRow( SCROW nStartRow, SCSIZE nSize ); - void DeleteRow( SCROW nStartRow, SCSIZE nSize ); - void DeleteRange( SCSIZE nStartIndex, SCSIZE nEndIndex, sal_uInt16 nDelFlag ); - void DeleteArea(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nDelFlag ); - void CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, bool bKeepScenarioFlags, bool bCloneNoteCaptions); - void CopyFromClip(SCROW nRow1, SCROW nRow2, long nDy, - sal_uInt16 nInsFlag, bool bAsLink, bool bSkipAttrForEmpty, ScColumn& rColumn); - void StartListeningInArea( SCROW nRow1, SCROW nRow2 ); - void BroadcastInArea( SCROW nRow1, SCROW nRow2 ); - - void RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow ); - - // Selection (?) of this document - void MixMarked( const ScMarkData& rMark, sal_uInt16 nFunction, - bool bSkipEmpty, ScColumn& rSrcCol ); - void MixData( SCROW nRow1, SCROW nRow2, sal_uInt16 nFunction, bool bSkipEmpty, - ScColumn& rSrcCol ); - - ScFormulaCell* CreateRefCell( ScDocument* pDestDoc, const ScAddress& rDestPos, - SCSIZE nIndex, sal_uInt16 nFlags ) const; - - ScAttrIterator* CreateAttrIterator( SCROW nStartRow, SCROW nEndRow ) const; - - - SCCOL GetCol() const { return nCol; } - - // UpdateSelectionFunction: multi-select - void UpdateSelectionFunction( const ScMarkData& rMark, - ScFunctionData& rData, - ScFlatBoolRowSegments& rHiddenRows, - bool bDoExclude, SCROW nExStartRow, SCROW nExEndRow ); - void UpdateAreaFunction( ScFunctionData& rData, - ScFlatBoolRowSegments& rHiddenRows, - SCROW nStartRow, SCROW nEndRow ); - - void CopyToColumn(SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, - ScColumn& rColumn, const ScMarkData* pMarkData = NULL, - bool bAsLink = false ); - void UndoToColumn(SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, - ScColumn& rColumn, const ScMarkData* pMarkData = NULL ); - - void CopyScenarioFrom( const ScColumn& rSrcCol ); - void CopyScenarioTo( ScColumn& rDestCol ) const; - bool TestCopyScenarioTo( const ScColumn& rDestCol ) const; - void MarkScenarioIn( ScMarkData& rDestMark ) const; - - void CopyUpdated( const ScColumn& rPosCol, ScColumn& rDestCol ) const; - - void SwapCol(ScColumn& rCol); - void MoveTo(SCROW nStartRow, SCROW nEndRow, ScColumn& rCol); - - - bool HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const; - - // TRUE = format for numbers is set - bool SetString( SCROW nRow, SCTAB nTab, const String& rString, - formula::FormulaGrammar::AddressConvention conv = formula::FormulaGrammar::CONV_OOO, - ScSetStringParam* pParam = NULL ); - void SetValue( SCROW nRow, const double& rVal); - void SetError( SCROW nRow, const sal_uInt16 nError); - - void GetString( SCROW nRow, String& rString ) const; - void GetInputString( SCROW nRow, String& rString ) const; - double GetValue( SCROW nRow ) const; - void GetFormula( SCROW nRow, String& rFormula ) const; - CellType GetCellType( SCROW nRow ) const; - SCSIZE GetCellCount() const { return nCount; } - sal_uInt32 GetWeightedCount() const; - sal_uInt32 GetCodeCount() const; // RPN-Code in formulas - sal_uInt16 GetErrCode( SCROW nRow ) const; - - bool HasStringData( SCROW nRow ) const; - bool HasValueData( SCROW nRow ) const; - bool HasStringCells( SCROW nStartRow, SCROW nEndRow ) const; - - /** Returns the pointer to a cell note object at the passed row. */ - ScPostIt* GetNote( SCROW nRow ); - /** Sets the passed cell note object at the passed row. Takes ownership! */ - void TakeNote( SCROW nRow, ScPostIt* pNote ); - /** Returns and forgets a cell note object at the passed row. */ - ScPostIt* ReleaseNote( SCROW nRow ); - /** Deletes the note at the passed row. */ - void DeleteNote( SCROW nRow ); - - void SetDirty(); - void SetDirty( const ScRange& ); - void SetDirtyVar(); - void SetDirtyAfterLoad(); - void SetTableOpDirty( const ScRange& ); - void CalcAll(); - void CalcAfterLoad(); - void CompileAll(); - void CompileXML( ScProgress& rProgress ); - - void ResetChanged( SCROW nStartRow, SCROW nEndRow ); - - bool UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL ); - void UpdateInsertTab( SCTAB nTable, SCTAB nNewSheets = 1); - void UpdateInsertTabOnlyCells( SCTAB nTable, SCTAB nNewSheets = 1); - void UpdateDeleteTab( SCTAB nTable, bool bIsMove, ScColumn* pRefUndo = NULL, SCTAB nSheets = 1 ); - void UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo); - void UpdateCompile( bool bForceIfNameInUse = false ); - void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest, - ScDocument* pUndoDoc ); - void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ); - - void SetTabNo(SCTAB nNewTab); - bool IsRangeNameInUse(SCROW nRow1, SCROW nRow2, sal_uInt16 nIndex) const; - void FindRangeNamesInUse(SCROW nRow1, SCROW nRow2, std::set<sal_uInt16>& rIndexes) const; - void ReplaceRangeNamesInUse( SCROW nRow1, SCROW nRow2, const ScRangeData::IndexMap& rMap ); - - const SfxPoolItem* GetAttr( SCROW nRow, sal_uInt16 nWhich ) const; - const ScPatternAttr* GetPattern( SCROW nRow ) const; - const ScPatternAttr* GetMostUsedPattern( SCROW nStartRow, SCROW nEndRow ) const; - - sal_uInt32 GetNumberFormat( SCROW nRow ) const; - sal_uInt32 GetNumberFormat( SCROW nStartRow, SCROW nEndRow ) const; - - void MergeSelectionPattern( ScMergePatternState& rState, const ScMarkData& rMark, bool bDeep ) const; - void MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW nRow2, bool bDeep ) const; - void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner, - ScLineFlags& rFlags, - SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight ) const; - void ApplyBlockFrame( const SvxBoxItem* pLineOuter, const SvxBoxInfoItem* pLineInner, - SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight ); - - void ApplyAttr( SCROW nRow, const SfxPoolItem& rAttr ); - void ApplyPattern( SCROW nRow, const ScPatternAttr& rPatAttr ); - void ApplyPatternArea( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr& rPatAttr, - ScEditDataArray* pDataArray = NULL ); - bool SetAttrEntries(ScAttrEntry* pData, SCSIZE nSize); - void SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr, bool bPutToPool = false ); - void SetPatternArea( SCROW nStartRow, SCROW nEndRow, - const ScPatternAttr& rPatAttr, bool bPutToPool = false ); - void ApplyPatternIfNumberformatIncompatible( const ScRange& rRange, - const ScPatternAttr& rPattern, short nNewType ); - - void ApplyStyle( SCROW nRow, const ScStyleSheet& rStyle ); - void ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, const ScStyleSheet& rStyle ); - void ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark); - void ApplySelectionLineStyle( const ScMarkData& rMark, - const ::editeng::SvxBorderLine* pLine, bool bColorOnly ); - - const ScStyleSheet* GetStyle( SCROW nRow ) const; - const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const; - const ScStyleSheet* GetAreaStyle( bool& rFound, SCROW nRow1, SCROW nRow2 ) const; - - void FindStyleSheet( const SfxStyleSheetBase* pStyleSheet, ScFlatBoolRowSegments& rUsedRows, bool bReset ); - bool IsStyleSheetUsed( const ScStyleSheet& rStyle, bool bGatherAllStyles ) const; - - /// May return -1 if not found - SCsROW SearchStyle( SCsROW nRow, const ScStyleSheet* pSearchStyle, - bool bUp, bool bInSelection, const ScMarkData& rMark ); - bool SearchStyleRange( SCsROW& rRow, SCsROW& rEndRow, const ScStyleSheet* pSearchStyle, - bool bUp, bool bInSelection, const ScMarkData& rMark ); - - bool ApplyFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags ); - bool RemoveFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags ); - void ClearItems( SCROW nStartRow, SCROW nEndRow, const sal_uInt16* pWhich ); - - void RemoveProtected( SCROW nStartRow, SCROW nEndRow ); - - SCsROW ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark ); - - void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark ); - void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark ); - - long GetNeededSize( SCROW nRow, OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - bool bWidth, const ScNeededSizeOptions& rOptions ); - sal_uInt16 GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - bool bFormula, sal_uInt16 nOldWidth, - const ScMarkData* pMarkData, - const ScColWidthParam* pParam ); - void GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, sal_uInt16* pHeight, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - bool bShrink, sal_uInt16 nMinHeight, SCROW nMinStart ); -private: - long GetSimpleTextNeededSize( SCSIZE nIndex, OutputDevice* pDev, - bool bWidth ); -public: - - /// Including current, may return -1 - SCsROW GetNextUnprotected( SCROW nRow, bool bUp ) const; - - void GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollection& rStrings, bool& rHasDates); - bool GetDataEntries(SCROW nRow, TypedScStrCollection& rStrings, bool bLimit); - - void UpdateInsertTabAbs(SCTAB nNewPos); - bool TestTabRefAbs(SCTAB nTable); - bool GetNextSpellingCell(SCROW& nRow, bool bInSel, const ScMarkData& rData) const; - - void RemoveAutoSpellObj(); - - void StartListening( SvtListener& rLst, SCROW nRow ); - void EndListening( SvtListener& rLst, SCROW nRow ); - void MoveListeners( SvtBroadcaster& rSource, SCROW nDestRow ); - void StartAllListeners(); - void StartNeededListeners(); // only for cells where NeedsListening()==true - void SetRelNameDirty(); - - void CompileDBFormula(); - void CompileDBFormula( bool bCreateFormulaString ); - void CompileNameFormula( bool bCreateFormulaString ); - void CompileColRowNameFormula(); - - sal_Int32 GetMaxStringLen( SCROW nRowStart, SCROW nRowEnd, CharSet eCharSet ) const; - xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, - SCROW nRowStart, SCROW nRowEnd ) const; - -private: - ScBaseCell* CloneCell(SCSIZE nIndex, sal_uInt16 nFlags, ScDocument& rDestDoc, const ScAddress& rDestPos); -}; - - -class ScColumnIterator // walk through all data of a area/range -{ - const ScColumn* pColumn; - SCSIZE nPos; - SCROW nTop; - SCROW nBottom; -public: - ScColumnIterator( const ScColumn* pCol, SCROW nStart=0, SCROW nEnd=MAXROW ); - ~ScColumnIterator(); - - bool Next( SCROW& rRow, ScBaseCell*& rpCell ); - SCSIZE GetIndex() const; -}; - - -class ScMarkedDataIter // walk through data in a selected area/range -{ - const ScColumn* pColumn; - SCSIZE nPos; - ScMarkArrayIter* pMarkIter; - SCROW nTop; - SCROW nBottom; - bool bNext; - bool bAll; - -public: - ScMarkedDataIter( const ScColumn* pCol, const ScMarkData* pMarkData, - bool bAllIfNone = false ); - ~ScMarkedDataIter(); - - bool Next( SCSIZE& rIndex ); -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx deleted file mode 100644 index 1646479b5..000000000 --- a/sc/inc/compiler.hxx +++ /dev/null @@ -1,547 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_COMPILER_HXX -#define SC_COMPILER_HXX - -#ifndef INCLUDED_STRING_H -#include <string.h> -#define INCLUDED_STRING_H -#endif -#include <tools/mempool.hxx> -#include "scdllapi.h" -#include "global.hxx" -#include "refdata.hxx" -#include "formula/token.hxx" -#include "formula/grammar.hxx" -#include <unotools/charclass.hxx> -#include <rtl/ustrbuf.hxx> -#include <com/sun/star/sheet/ExternalLinkInfo.hpp> -#include <vector> - -#include <formula/FormulaCompiler.hxx> - -#include <boost/intrusive_ptr.hpp> - -#ifndef INCLUDED_HASH_MAP -#include <boost/unordered_map.hpp> -#define INCLUDED_HASH_MAP -#endif - -//----------------------------------------------- - -// constants and data types also for external modules (ScInterpreter et al) - -#define MAXCODE 512 /* maximum number of tokens in formula */ -#define MAXSTRLEN 1024 /* maximum length of input string of one symbol */ -#define MAXJUMPCOUNT 32 /* maximum number of jumps (ocChose) */ - -// flag values of CharTable -#define SC_COMPILER_C_ILLEGAL 0x00000000 -#define SC_COMPILER_C_CHAR 0x00000001 -#define SC_COMPILER_C_CHAR_BOOL 0x00000002 -#define SC_COMPILER_C_CHAR_WORD 0x00000004 -#define SC_COMPILER_C_CHAR_VALUE 0x00000008 -#define SC_COMPILER_C_CHAR_STRING 0x00000010 -#define SC_COMPILER_C_CHAR_DONTCARE 0x00000020 -#define SC_COMPILER_C_BOOL 0x00000040 -#define SC_COMPILER_C_WORD 0x00000080 -#define SC_COMPILER_C_WORD_SEP 0x00000100 -#define SC_COMPILER_C_VALUE 0x00000200 -#define SC_COMPILER_C_VALUE_SEP 0x00000400 -#define SC_COMPILER_C_VALUE_EXP 0x00000800 -#define SC_COMPILER_C_VALUE_SIGN 0x00001000 -#define SC_COMPILER_C_VALUE_VALUE 0x00002000 -#define SC_COMPILER_C_STRING_SEP 0x00004000 -#define SC_COMPILER_C_NAME_SEP 0x00008000 // there can be only one! '\'' -#define SC_COMPILER_C_CHAR_IDENT 0x00010000 // identifier (built-in function) or reference start -#define SC_COMPILER_C_IDENT 0x00020000 // identifier or reference continuation -#define SC_COMPILER_C_ODF_LBRACKET 0x00040000 // ODF '[' reference bracket -#define SC_COMPILER_C_ODF_RBRACKET 0x00080000 // ODF ']' reference bracket -#define SC_COMPILER_C_ODF_LABEL_OP 0x00100000 // ODF '!!' automatic intersection of labels -#define SC_COMPILER_C_ODF_NAME_MARKER 0x00200000 // ODF '$$' marker that starts a defined (range) name -#define SC_COMPILER_C_CHAR_NAME 0x00400000 // start character of a defined name -#define SC_COMPILER_C_NAME 0x00800000 // continuation character of a defined name - -#define SC_COMPILER_FILE_TAB_SEP '#' // 'Doc'#Tab - - -class ScDocument; -class ScMatrix; -class ScRangeData; -class ScExternalRefManager; -class ScTokenArray; - -// constants and data types internal to compiler - -/* - OpCode eOp; // OpCode - formula::StackVar eType; // type of data - sal_uInt16 nRefCnt; // reference count - sal_Bool bRaw; // not cloned yet and trimmed to real size - */ - -#define SC_TOKEN_FIX_MEMBERS \ - OpCode eOp; \ - formula::StackVar eType; \ - mutable sal_uInt16 nRefCnt; \ - sal_Bool bRaw; - -struct ScDoubleRawToken -{ -private: - SC_TOKEN_FIX_MEMBERS -public: - union - { // union only to assure alignment identical to ScRawToken - double nValue; - struct { - sal_uInt8 cByte; - bool bHasForceArray; - } sbyte; - }; - DECL_FIXEDMEMPOOL_NEWDEL( ScDoubleRawToken ); -}; - -struct ScRawToken -{ - friend class ScCompiler; - // Friends that use a temporary ScRawToken on the stack (and therefor need - // the private dtor) and know what they're doing.. - friend class ScTokenArray; - friend sal_uInt16 lcl_ScRawTokenOffset(); -private: - SC_TOKEN_FIX_MEMBERS -public: - union { - double nValue; - struct { - sal_uInt8 cByte; - bool bHasForceArray; - } sbyte; - ScComplexRefData aRef; - struct { - sal_uInt16 nFileId; - sal_Unicode cTabName[MAXSTRLEN+1]; - ScComplexRefData aRef; - } extref; - struct { - sal_uInt16 nFileId; - sal_Unicode cName[MAXSTRLEN+1]; - } extname; - struct { - bool bGlobal; - sal_uInt16 nIndex; - } name; - ScMatrix* pMat; - sal_Unicode cStr[ MAXSTRLEN+1 ]; // string (up to 255 characters + 0) - short nJump[MAXJUMPCOUNT+1]; // If/Chose token - }; - - //! other members not initialized - ScRawToken() : bRaw( sal_True ) {} -private: - ~ScRawToken() {} //! only delete via Delete() -public: - DECL_FIXEDMEMPOOL_NEWDEL( ScRawToken ); - formula::StackVar GetType() const { return (formula::StackVar) eType; } - OpCode GetOpCode() const { return (OpCode) eOp; } - void NewOpCode( OpCode e ) { eOp = e; } - void IncRef() { nRefCnt++; } - void DecRef() { if( !--nRefCnt ) Delete(); } - sal_uInt16 GetRef() const { return nRefCnt; } - SC_DLLPUBLIC void Delete(); - - // Use these methods only on tokens that are not part of a token array, - // since the reference count is cleared! - void SetOpCode( OpCode eCode ); - void SetString( const sal_Unicode* pStr ); - void SetSingleReference( const ScSingleRefData& rRef ); - void SetDoubleReference( const ScComplexRefData& rRef ); - void SetDouble( double fVal ); - - // These methods are ok to use, reference count not cleared. - void SetName(bool bGlobal, sal_uInt16 nIndex); - void SetExternalSingleRef( sal_uInt16 nFileId, const String& rTabName, const ScSingleRefData& rRef ); - void SetExternalDoubleRef( sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& rRef ); - void SetExternalName( sal_uInt16 nFileId, const String& rName ); - void SetMatrix( ScMatrix* p ); - void SetExternal(const sal_Unicode* pStr); - - ScRawToken* Clone() const; // real copy! - formula::FormulaToken* CreateToken() const; // create typified token - void Load( SvStream&, sal_uInt16 nVer ); - - static xub_StrLen GetStrLen( const sal_Unicode* pStr ); // as long as a "string" is an array - static size_t GetStrLenBytes( xub_StrLen nLen ) - { return nLen * sizeof(sal_Unicode); } - static size_t GetStrLenBytes( const sal_Unicode* pStr ) - { return GetStrLenBytes( GetStrLen( pStr ) ); } -}; - -inline void intrusive_ptr_add_ref(ScRawToken* p) -{ - p->IncRef(); -} - -inline void intrusive_ptr_release(ScRawToken* p) -{ - p->DecRef(); -} - -typedef ::boost::intrusive_ptr<ScRawToken> ScRawTokenRef; - -class SC_DLLPUBLIC ScCompiler : public formula::FormulaCompiler -{ -public: - - enum EncodeUrlMode - { - ENCODE_BY_GRAMMAR, - ENCODE_ALWAYS, - ENCODE_NEVER, - }; - - struct Convention - { - const formula::FormulaGrammar::AddressConvention meConv; - - Convention( formula::FormulaGrammar::AddressConvention eConvP ); - virtual ~Convention(); - - virtual void MakeRefStr( rtl::OUStringBuffer& rBuffer, - const ScCompiler& rCompiler, - const ScComplexRefData& rRef, - sal_Bool bSingleRef ) const = 0; - virtual ::com::sun::star::i18n::ParseResult - parseAnyToken( const String& rFormula, - xub_StrLen nSrcPos, - const CharClass* pCharClass) const = 0; - - /** - * Parse the symbol string and pick up the file name and the external - * range name. - * - * @return true on successful parse, or false otherwise. - */ - virtual bool parseExternalName( const String& rSymbol, String& rFile, String& rName, - const ScDocument* pDoc, - const ::com::sun::star::uno::Sequence< - const ::com::sun::star::sheet::ExternalLinkInfo > * pExternalLinks ) const = 0; - - virtual String makeExternalNameStr( const String& rFile, const String& rName ) const = 0; - - virtual void makeExternalRefStr( ::rtl::OUStringBuffer& rBuffer, const ScCompiler& rCompiler, - sal_uInt16 nFileId, const String& rTabName, const ScSingleRefData& rRef, - ScExternalRefManager* pRefMgr ) const = 0; - - virtual void makeExternalRefStr( ::rtl::OUStringBuffer& rBuffer, const ScCompiler& rCompiler, - sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& rRef, - ScExternalRefManager* pRefMgr ) const = 0; - - enum SpecialSymbolType - { - /** - * Character between sheet name and address. In OOO A1 this is - * '.', while XL A1 and XL R1C1 this is '!'. - */ - SHEET_SEPARATOR, - - /** - * In OOO A1, a sheet name may be prefixed with '$' to indicate an - * absolute sheet position. - */ - ABS_SHEET_PREFIX - }; - virtual sal_Unicode getSpecialSymbol( SpecialSymbolType eSymType ) const = 0; - - virtual sal_uLong getCharTableFlags( sal_Unicode c, sal_Unicode cLast ) const = 0; - - protected: - const sal_uLong* mpCharTable; - }; - friend struct Convention; - -private: - - - static CharClass *pCharClassEnglish; // character classification for en_US locale - static const Convention *pConventions[ formula::FormulaGrammar::CONV_LAST ]; - - static const Convention * const pConvOOO_A1; - static const Convention * const pConvOOO_A1_ODF; - static const Convention * const pConvXL_A1; - static const Convention * const pConvXL_R1C1; - static const Convention * const pConvXL_OOX; - - static struct AddInMap - { - const char* pODFF; - const char* pEnglish; - bool bMapDupToInternal; // when writing ODFF - const char* pOriginal; // programmatical name - const char* pUpper; // upper case programmatical name - } maAddInMap[]; - static const AddInMap* GetAddInMap(); - static size_t GetAddInMapCount(); - - ScDocument* pDoc; - ScAddress aPos; - - // For CONV_XL_OOX, may be set via API by MOOXML filter. - ::com::sun::star::uno::Sequence< const ::com::sun::star::sheet::ExternalLinkInfo > maExternalLinks; - - sal_Unicode cSymbol[MAXSTRLEN]; // current Symbol - String aFormula; // formula source code - xub_StrLen nSrcPos; // tokenizer position (source code) - ScRawTokenRef pRawToken; - - const CharClass* pCharClass; // which character classification is used for parseAnyToken - sal_uInt16 mnPredetectedReference; // reference when reading ODF, 0 (none), 1 (single) or 2 (double) - SCsTAB nMaxTab; // last sheet in document - sal_Int32 mnRangeOpPosInSymbol; // if and where a range operator is in symbol - const Convention *pConv; - EncodeUrlMode meEncodeUrlMode; - bool mbCloseBrackets; // whether to close open brackets automatically, default TRUE - bool mbExtendedErrorDetection; - bool mbRewind; // whether symbol is to be rewound to some step during lexical analysis - - sal_Bool NextNewToken(bool bInArray = false); - - virtual void SetError(sal_uInt16 nError); - xub_StrLen NextSymbol(bool bInArray); - sal_Bool IsValue( const String& ); - sal_Bool IsOpCode( const String&, bool bInArray ); - sal_Bool IsOpCode2( const String& ); - sal_Bool IsString(); - sal_Bool IsReference( const String& ); - sal_Bool IsSingleReference( const String& ); - sal_Bool IsPredetectedReference( const String& ); - sal_Bool IsDoubleReference( const String& ); - sal_Bool IsMacro( const String& ); - sal_Bool IsNamedRange( const String& ); - bool IsExternalNamedRange( const String& rSymbol ); - bool IsDBRange( const String& ); - sal_Bool IsColRowName( const String& ); - sal_Bool IsBoolean( const String& ); - void AutoCorrectParsedSymbol(); - - void SetRelNameReference(); - - static void InitCharClassEnglish(); - -public: - ScCompiler( ScDocument* pDocument, const ScAddress&); - - ScCompiler( ScDocument* pDocument, const ScAddress&,ScTokenArray& rArr); - -public: - static void DeInit(); /// all - - // for ScAddress::Format() - static void CheckTabQuotes( String& aTabName, - const formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO ); - - static sal_Bool EnQuote( String& rStr ); - sal_Unicode GetNativeAddressSymbol( Convention::SpecialSymbolType eType ) const; - - - // Check if it is a valid english function name - bool IsEnglishSymbol( const String& rName ); - - //! _either_ CompileForFAP _or_ AutoCorrection, _not_ both - // #i101512# SetCompileForFAP is in formula::FormulaCompiler - void SetAutoCorrection( sal_Bool bVal ) - { bAutoCorrect = bVal; bIgnoreErrors = bVal; } - void SetCloseBrackets( bool bVal ) { mbCloseBrackets = bVal; } - void SetRefConvention( const Convention *pConvP ); - void SetRefConvention( const formula::FormulaGrammar::AddressConvention eConv ); - - /// Set symbol map if not empty. - void SetFormulaLanguage( const OpCodeMapPtr & xMap ); - - void SetGrammar( const formula::FormulaGrammar::Grammar eGrammar ); - - EncodeUrlMode GetEncodeUrlMode() const; -private: - /** Set grammar and reference convention from within SetFormulaLanguage() - or SetGrammar(). - - @param eNewGrammar - The new grammar to be set and the associated reference convention. - - @param eOldGrammar - The previous grammar that was active before SetFormulaLanguage(). - */ - void SetGrammarAndRefConvention( - const formula::FormulaGrammar::Grammar eNewGrammar, - const formula::FormulaGrammar::Grammar eOldGrammar ); -public: - - /// Set external link info for ScAddress::CONV_XL_OOX. - inline void SetExternalLinks( - const ::com::sun::star::uno::Sequence< - const ::com::sun::star::sheet::ExternalLinkInfo > & rLinks ) - { - maExternalLinks = rLinks; - } - - void CreateStringFromXMLTokenArray( String& rFormula, String& rFormulaNmsp ); - - void SetExtendedErrorDetection( bool bVal ) { mbExtendedErrorDetection = bVal; } - - sal_Bool IsCorrected() { return bCorrected; } - const String& GetCorrectedFormula() { return aCorrectedFormula; } - - // Use convention from this->aPos by default - ScTokenArray* CompileString( const String& rFormula ); - ScTokenArray* CompileString( const String& rFormula, const String& rFormulaNmsp ); - const ScDocument* GetDoc() const { return pDoc; } - const ScAddress& GetPos() const { return aPos; } - - void MoveRelWrap( SCCOL nMaxCol, SCROW nMaxRow ); - static void MoveRelWrap( ScTokenArray& rArr, ScDocument* pDoc, const ScAddress& rPos, - SCCOL nMaxCol, SCROW nMaxRow ); - - sal_Bool UpdateNameReference( UpdateRefMode eUpdateRefMode, - const ScRange&, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - sal_Bool& rChanged, sal_Bool bSharedFormula = false); - - ScRangeData* UpdateReference( UpdateRefMode eUpdateRefMode, - const ScAddress& rOldPos, const ScRange&, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - bool& rChanged, bool& rRefSizeChanged ); - - /// Only once for converted shared formulas, - /// token array has to be compiled afterwards. - void UpdateSharedFormulaReference( UpdateRefMode eUpdateRefMode, - const ScAddress& rOldPos, const ScRange&, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - ScRangeData* UpdateInsertTab(SCTAB nTable, sal_Bool bIsName, SCTAB nNewSheets = 1 ); - ScRangeData* UpdateDeleteTab(SCTAB nTable, sal_Bool bIsMove, sal_Bool bIsName, sal_Bool& bCompile, SCTAB nSheets = 1); - ScRangeData* UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, sal_Bool bIsName ); - - bool HasModifiedRange(); - - /** If the character is allowed as first character in sheet names or - references, includes '$' and '?'. */ - static inline sal_Bool IsCharWordChar( String const & rStr, - xub_StrLen nPos, - const formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO ) - { - sal_Unicode c = rStr.GetChar( nPos ); - sal_Unicode cLast = nPos > 0 ? rStr.GetChar(nPos-1) : 0; - if (c < 128) - { - return pConventions[eConv] ? static_cast<sal_Bool>( - (pConventions[eConv]->getCharTableFlags(c, cLast) & SC_COMPILER_C_CHAR_WORD) == SC_COMPILER_C_CHAR_WORD) : - false; // no convention => assume invalid - } - else - return ScGlobal::pCharClass->isLetterNumeric( rStr, nPos ); - } - - /** If the character is allowed in sheet names, thus may be part of a - reference, includes '$' and '?' and such. */ - static inline sal_Bool IsWordChar( String const & rStr, - xub_StrLen nPos, - const formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO ) - { - sal_Unicode c = rStr.GetChar( nPos ); - sal_Unicode cLast = nPos > 0 ? rStr.GetChar(nPos-1) : 0; - if (c < 128) - { - return pConventions[eConv] ? static_cast<sal_Bool>( - (pConventions[eConv]->getCharTableFlags(c, cLast) & SC_COMPILER_C_WORD) == SC_COMPILER_C_WORD) : - false; // convention not known => assume invalid - } - else - return ScGlobal::pCharClass->isLetterNumeric( rStr, nPos ); - } - - /** If the character is allowed as tested by nFlags (SC_COMPILER_C_... - bits) for all known address conventions. If more than one bit is given - in nFlags, all bits must match. If bTestLetterNumeric is sal_False and - char>=128, no LetterNumeric test is done and sal_False is returned. */ - static inline bool IsCharFlagAllConventions( String const & rStr, - xub_StrLen nPos, - sal_uLong nFlags, - bool bTestLetterNumeric = true ) - { - sal_Unicode c = rStr.GetChar( nPos ); - sal_Unicode cLast = nPos > 0 ? rStr.GetChar( nPos-1 ) : 0; - if (c < 128) - { - for ( int nConv = formula::FormulaGrammar::CONV_UNSPECIFIED; - ++nConv < formula::FormulaGrammar::CONV_LAST; ) - { - if (pConventions[nConv] && - ((pConventions[nConv]->getCharTableFlags(c, cLast) & nFlags) != nFlags)) - return false; - // convention not known => assume valid - } - return true; - } - else if (bTestLetterNumeric) - return ScGlobal::pCharClass->isLetterNumeric( rStr, nPos ); - else - return false; - } - -private: - // FormulaCompiler - virtual String FindAddInFunction( const String& rUpperName, sal_Bool bLocalFirst ) const; - virtual void fillFromAddInCollectionUpperName( NonConstOpCodeMapPtr xMap ) const; - virtual void fillFromAddInCollectionEnglishName( NonConstOpCodeMapPtr xMap ) const; - virtual void fillFromAddInMap( NonConstOpCodeMapPtr xMap, formula::FormulaGrammar::Grammar _eGrammar ) const; - virtual void fillAddInToken(::std::vector< ::com::sun::star::sheet::FormulaOpCodeMapEntry >& _rVec,bool _bIsEnglish) const; - - virtual sal_Bool HandleExternalReference(const formula::FormulaToken& _aToken); - virtual sal_Bool HandleRange(); - virtual sal_Bool HandleSingleRef(); - virtual sal_Bool HandleDbData(); - - virtual formula::FormulaTokenRef ExtendRangeReference( formula::FormulaToken & rTok1, formula::FormulaToken & rTok2, bool bReuseDoubleRef ); - virtual void CreateStringFromExternal(rtl::OUStringBuffer& rBuffer, formula::FormulaToken* pTokenP); - virtual void CreateStringFromSingleRef(rtl::OUStringBuffer& rBuffer,formula::FormulaToken* _pTokenP); - virtual void CreateStringFromDoubleRef(rtl::OUStringBuffer& rBuffer,formula::FormulaToken* _pTokenP); - virtual void CreateStringFromMatrix( rtl::OUStringBuffer& rBuffer, formula::FormulaToken* _pTokenP); - virtual void CreateStringFromIndex(rtl::OUStringBuffer& rBuffer,formula::FormulaToken* _pTokenP); - virtual void LocalizeString( String& rName ); // modify rName - input: exact name - virtual sal_Bool IsImportingXML() const; - - /// Access the CharTable flags - inline sal_uLong GetCharTableFlags( sal_Unicode c, sal_Unicode cLast ) - { return c < 128 ? pConv->getCharTableFlags(c, cLast) : 0; } -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/compressedarray.hxx b/sc/inc/compressedarray.hxx deleted file mode 100644 index c0650b39f..000000000 --- a/sc/inc/compressedarray.hxx +++ /dev/null @@ -1,417 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_COMPRESSEDARRAY_HXX -#define SC_COMPRESSEDARRAY_HXX - -#ifndef INCLUDED_CSTDDEF -#include <cstddef> -#define INCLUDED_CSTDDEF -#endif - -#ifndef INCLUDED_ALGORITHM -#include <algorithm> -#define INCLUDED_ALGORITHM -#endif -#include "scdllapi.h" - -const size_t nScCompressedArrayDelta = 4; - -template< typename A, typename D > class ScCompressedArrayIterator; - -/** Compressed array of row (or column) entries, e.g. heights, flags, ... - - The array stores ranges of values such that consecutive values occupy only - one entry. Initially it consists of one DataEntry with an implied start - row/column of 0 and an end row/column of access type maximum value. - - typename A := access type, e.g. SCROW or SCCOL, must be a POD. - - typename D := data type, e.g. sal_uInt16 or sal_uInt8 or whatever, may also be a - struct or class. - - D::operator==() and D::operator=() must be implemented. Force template - instantiation for a specific type in source/core/data/compressedarray.cxx - - TODO: Currently the allocated memory never shrinks, must manually invoke - Resize() if needed. - */ - -template< typename A, typename D > class ScCompressedArray -{ -public: - struct DataEntry - { - A nEnd; // start is end of previous entry + 1 - D aValue; - DataEntry() {} //! uninitialized - }; - - /** Construct with nMaxAccess=MAXROW, for example. */ - ScCompressedArray( A nMaxAccess, - const D& rValue, - size_t nDelta = nScCompressedArrayDelta ); - /** Construct from a plain array of D */ - ScCompressedArray( A nMaxAccess, - const D* pDataArray, size_t nDataCount ); - virtual ~ScCompressedArray(); - void Resize( size_t nNewSize ); - void Reset( const D& rValue ); - void SetValue( A nPos, const D& rValue ); - void SetValue( A nStart, A nEnd, const D& rValue ); - const D& GetValue( A nPos ) const; - - /** Get value for a row, and it's region end row */ - const D& GetValue( A nPos, size_t& nIndex, A& nEnd ) const; - - /** Get next value and it's region end row. If nIndex<nCount, nIndex is - incremented first. If the resulting nIndex>=nCount, the value of the - last entry is returned again. */ - const D& GetNextValue( size_t& nIndex, A& nEnd ) const; - - /** Insert rows before nStart and copy value for inserted rows from - nStart-1, return that value. */ - const D& Insert( A nStart, size_t nCount ); - - void Remove( A nStart, size_t nCount ); - - /** Copy rArray.nStart+nSourceDy to this.nStart */ - void CopyFrom( const ScCompressedArray& rArray, - A nStart, A nEnd, long nSourceDy = 0 ); - - - // methods public for the coupled array sum methods - /** Obtain index into entries for nPos */ - SC_DLLPUBLIC size_t Search( A nPos ) const; - /** Get number of entries */ - size_t GetEntryCount() const; - -protected: - -friend class ScCompressedArrayIterator<A,D>; - - size_t nCount; - size_t nLimit; - size_t nDelta; - DataEntry* pData; - A nMaxAccess; -}; - - -template< typename A, typename D > -void ScCompressedArray<A,D>::Reset( const D& rValue ) -{ - // Create a temporary copy in case we got a reference passed that points to - // a part of the array to be reallocated. - D aTmpVal( rValue); - delete[] pData; - nCount = nLimit = 1; - pData = new DataEntry[1]; - pData[0].aValue = aTmpVal; - pData[0].nEnd = nMaxAccess; -} - - -template< typename A, typename D > -void ScCompressedArray<A,D>::SetValue( A nPos, const D& rValue ) -{ - SetValue( nPos, nPos, rValue); -} - - -template< typename A, typename D > -const D& ScCompressedArray<A,D>::GetValue( A nPos ) const -{ - size_t nIndex = Search( nPos); - return pData[nIndex].aValue; -} - - -template< typename A, typename D > -const D& ScCompressedArray<A,D>::GetValue( A nPos, size_t& nIndex, A& nEnd ) const -{ - nIndex = Search( nPos); - nEnd = pData[nIndex].nEnd; - return pData[nIndex].aValue; -} - - -template< typename A, typename D > -const D& ScCompressedArray<A,D>::GetNextValue( size_t& nIndex, A& nEnd ) const -{ - if (nIndex < nCount) - ++nIndex; - size_t nEntry = (nIndex < nCount ? nIndex : nCount-1); - nEnd = pData[nEntry].nEnd; - return pData[nEntry].aValue; -} - - -template< typename A, typename D > -size_t ScCompressedArray<A,D>::GetEntryCount() const -{ - return nCount; -} - - -// === ScCompressedArrayIterator ============================================= - -/** Iterator for ScCompressedArray. - - @ATTENTION: the iterator is not persistant if the underlying - ScCompressedArray happens to be changed by any means, for example by - setting new values or adding or removing or combining entries. If you do - such things inside a loop you MUST resynchronize the iterator by calling - <method>Resync()</method> with the row where resynchronization should - start. After doing so, <method>GetRangeStart()</method> and - <method>GetRangeEnd()</method> may not point to the previous access points - anymore. Use with care. - */ - -template< typename A, typename D > class ScCompressedArrayIterator -{ -public: - ScCompressedArrayIterator( - const ScCompressedArray<A,D> & rArray, - A nStart, A nEnd ); - /// Set new start and end, position on start. - void NewLimits( A nStart, A nEnd ); - A GetIterStart() const; - A GetIterEnd() const; - /// Advance by a single access point (e.g. row). - bool operator ++(); - A GetPos() const; - operator bool() const; - const D& operator *() const; - /// Advance an entire range, one entry of the array. - bool NextRange(); - A GetRangeStart() const; - A GetRangeEnd() const; - /// Resync to underlying array, calling Search(). - void Resync( A nPos ); - /** Set position without resyncing, avoid calling Search() if possible. - Position obtained from steering coupled iterator is NOT checked for - iterator bounds. */ - template< typename X > - void Follow( const ScCompressedArrayIterator<A,X>& ); - -private: - const ScCompressedArray<A,D> & rArray; - size_t nIndex; - A nIterStart; - A nIterEnd; - A nCurrent; - bool bEnd; -}; - - -template< typename A, typename D > -ScCompressedArrayIterator<A,D>::ScCompressedArrayIterator( - const ScCompressedArray<A,D> & rArrayP, A nStart, A nEnd ) - : rArray( rArrayP ) - // other values set in NewLimits() -{ - NewLimits( nStart, nEnd); -} - - -template< typename A, typename D > -void ScCompressedArrayIterator<A,D>::NewLimits( A nStart, A nEnd ) -{ - nIterStart = nStart; - nIterEnd = nEnd; - nIndex = rArray.Search( nStart); - nCurrent = GetRangeStart(); - bEnd = (nIterEnd < nIterStart); -} - - -template< typename A, typename D > -A ScCompressedArrayIterator<A,D>::GetIterStart() const -{ - return nIterStart; -} - - -template< typename A, typename D > -A ScCompressedArrayIterator<A,D>::GetIterEnd() const -{ - return nIterEnd; -} - - -template< typename A, typename D > -bool ScCompressedArrayIterator<A,D>::operator++() -{ - if (nCurrent < GetRangeEnd()) - { - ++nCurrent; - return true; - } - else - return NextRange(); -} - - -template< typename A, typename D > -A ScCompressedArrayIterator<A,D>::GetPos() const -{ - return nCurrent; -} - - -template< typename A, typename D > -bool ScCompressedArrayIterator<A,D>::NextRange() -{ - if (!operator bool()) - return false; - - if (rArray.pData[nIndex].nEnd >= nIterEnd) - bEnd = true; - else if (++nIndex >= rArray.GetEntryCount()) - { - nIndex = rArray.GetEntryCount() - 1; - bEnd = true; - } - nCurrent = bEnd ? nIterEnd : GetRangeStart(); - return operator bool(); -} - - -template< typename A, typename D > -ScCompressedArrayIterator<A,D>::operator bool() const -{ - return !bEnd; -} - - -template< typename A, typename D > -const D& ScCompressedArrayIterator<A,D>::operator*() const -{ - return rArray.pData[nIndex].aValue; -} - - -template< typename A, typename D > -A ScCompressedArrayIterator<A,D>::GetRangeStart() const -{ - if (nIndex == 0) - return nIterStart > 0 ? nIterStart : 0; - else - return nIterStart > rArray.pData[nIndex-1].nEnd ? nIterStart : - rArray.pData[nIndex-1].nEnd + 1; -} - - -template< typename A, typename D > -A ScCompressedArrayIterator<A,D>::GetRangeEnd() const -{ - return nIterEnd < rArray.pData[nIndex].nEnd ? nIterEnd : - rArray.pData[nIndex].nEnd; -} - - -template< typename A, typename D > -void ScCompressedArrayIterator<A,D>::Resync( A nPos ) -{ - if (nPos < nIterStart) - nPos = nIterStart; - else if (nPos > nIterEnd) - nPos = nIterEnd; - nCurrent = nPos; - bEnd = (nIterEnd < nIterStart); - nIndex = rArray.Search( nPos); -} - - -// === ScBitMaskCompressedArray ============================================== - -/** The data type represents bits, managable by bitwise operations. - */ - -template< typename A, typename D > class ScBitMaskCompressedArray : public ScCompressedArray<A,D> -{ -public: - ScBitMaskCompressedArray( A nMaxAccessP, - const D& rValue, - size_t nDeltaP = nScCompressedArrayDelta ) - : ScCompressedArray<A,D>( nMaxAccessP, rValue, nDeltaP) - {} - ScBitMaskCompressedArray( A nMaxAccessP, - const D* pDataArray, size_t nDataCount ) - : ScCompressedArray<A,D>( nMaxAccessP, - pDataArray, nDataCount) - {} - void AndValue( A nPos, const D& rValueToAnd ); - void OrValue( A nPos, const D& rValueToOr ); - void AndValue( A nStart, A nEnd, const D& rValueToAnd ); - void OrValue( A nStart, A nEnd, const D& rValueToOr ); - - /** Copy values from rArray and bitwise AND them with rValueToAnd. */ - void CopyFromAnded( - const ScBitMaskCompressedArray& rArray, - A nStart, A nEnd, const D& rValueToAnd, - long nSourceDy = 0 ); - - /** Return the first row where an entry meets the condition: - ((aValue & rBitMask) == rMaskedCompare), searching between nStart and - nEnd. If no entry meets this condition, ::std::numeric_limits<A>::max() - is returned. */ - SC_DLLPUBLIC A GetFirstForCondition( A nStart, A nEnd, - const D& rBitMask, - const D& rMaskedCompare ) const; - - /** Return the last row where an entry meets the condition: - ((aValue & rBitMask) != 0), start searching at nStart. If no entry - meets this condition, ::std::numeric_limits<A>::max() is returned. */ - A GetLastAnyBitAccess( A nStart, - const D& rBitMask ) const; -}; - - -template< typename A, typename D > -void ScBitMaskCompressedArray<A,D>::AndValue( A nPos, const D& rValueToAnd ) -{ - const D& rValue = GetValue( nPos); - if ((rValue & rValueToAnd) != rValue) - SetValue( nPos, rValue & rValueToAnd); -} - - -template< typename A, typename D > -void ScBitMaskCompressedArray<A,D>::OrValue( A nPos, const D& rValueToOr ) -{ - const D& rValue = GetValue( nPos); - if ((rValue | rValueToOr) != rValue) - SetValue( nPos, rValue | rValueToOr); -} - - -#endif // SC_COMPRESSEDARRAY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx deleted file mode 100644 index d5f52e73b..000000000 --- a/sc/inc/conditio.hxx +++ /dev/null @@ -1,308 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CONDITIO_HXX -#define SC_CONDITIO_HXX - -#include "global.hxx" -#include "address.hxx" -#include "formula/grammar.hxx" -#include <svl/svarray.hxx> -#include "scdllapi.h" -#include "rangelst.hxx" - -class ScBaseCell; -class ScFormulaCell; -class ScTokenArray; - - -#define SC_COND_GROW 16 - -// nOptions Flags -#define SC_COND_NOBLANKS 1 - - -// ordering of ScConditionMode and ScQueryOp is equal, -// to facilitate the merging of both in the future - -enum ScConditionMode -{ - SC_COND_EQUAL, - SC_COND_LESS, - SC_COND_GREATER, - SC_COND_EQLESS, - SC_COND_EQGREATER, - SC_COND_NOTEQUAL, - SC_COND_BETWEEN, - SC_COND_NOTBETWEEN, - SC_COND_DUPLICATE, - SC_COND_NOTDUPLICATE, - SC_COND_DIRECT, - SC_COND_NONE -}; - -enum ScConditionValType -{ - SC_VAL_VALUE, - SC_VAL_STRING, - SC_VAL_FORMULA -}; - -class ScConditionalFormat; - -class SC_DLLPUBLIC ScConditionEntry -{ - // stored data: - ScConditionMode eOp; - sal_uInt16 nOptions; - double nVal1; // input or calculated - double nVal2; - String aStrVal1; // input or calculated - String aStrVal2; - String aStrNmsp1; // namespace to be used on (re)compilation, e.g. in XML import - String aStrNmsp2; // namespace to be used on (re)compilation, e.g. in XML import - formula::FormulaGrammar::Grammar eTempGrammar1; // grammar to be used on (re)compilation, e.g. in XML import - formula::FormulaGrammar::Grammar eTempGrammar2; // grammar to be used on (re)compilation, e.g. in XML import - sal_Bool bIsStr1; // for recognition of empty strings - sal_Bool bIsStr2; - ScTokenArray* pFormula1; // entered formula - ScTokenArray* pFormula2; - ScAddress aSrcPos; // source position for formulas - // temporary data: - String aSrcString; // formula source position as text during XML import - ScFormulaCell* pFCell1; - ScFormulaCell* pFCell2; - ScDocument* pDoc; - sal_Bool bRelRef1; - sal_Bool bRelRef2; - sal_Bool bFirstRun; - - void MakeCells( const ScAddress& rPos ); - void Compile( const String& rExpr1, const String& rExpr2, - const String& rExprNmsp1, const String& rExprNmsp2, - formula::FormulaGrammar::Grammar eGrammar1, - formula::FormulaGrammar::Grammar eGrammar2, - sal_Bool bTextToReal ); - void Interpret( const ScAddress& rPos ); - - sal_Bool IsValid( double nArg, const ScAddress& rAddr ) const; - sal_Bool IsValidStr( const String& rArg, const ScAddress& rAddr ) const; - -public: - ScConditionEntry( ScConditionMode eOper, - const String& rExpr1, const String& rExpr2, - ScDocument* pDocument, const ScAddress& rPos, - const String& rExprNmsp1, const String& rExprNmsp2, - formula::FormulaGrammar::Grammar eGrammar1, - formula::FormulaGrammar::Grammar eGrammar2 ); - ScConditionEntry( ScConditionMode eOper, - const ScTokenArray* pArr1, const ScTokenArray* pArr2, - ScDocument* pDocument, const ScAddress& rPos ); - ScConditionEntry( const ScConditionEntry& r ); // flat copy of formulas - // true copy of formulas (for Ref-Undo): - ScConditionEntry( ScDocument* pDocument, const ScConditionEntry& r ); - virtual ~ScConditionEntry(); - - int operator== ( const ScConditionEntry& r ) const; - - void SetParent( ScConditionalFormat* pNew ) { pCondFormat = pNew; } - - sal_Bool IsCellValid( ScBaseCell* pCell, const ScAddress& rPos ) const; - - ScConditionMode GetOperation() const { return eOp; } - sal_Bool IsIgnoreBlank() const { return ( nOptions & SC_COND_NOBLANKS ) == 0; } - void SetIgnoreBlank(sal_Bool bSet); - ScAddress GetSrcPos() const { return aSrcPos; } - - ScAddress GetValidSrcPos() const; // adjusted to allow textual representation of expressions - - void SetSrcString( const String& rNew ); // for XML import - - void SetFormula1( const ScTokenArray& rArray ); - void SetFormula2( const ScTokenArray& rArray ); - - String GetExpression( const ScAddress& rCursor, sal_uInt16 nPos, sal_uLong nNumFmt = 0, - const formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ) const; - - ScTokenArray* CreateTokenArry( sal_uInt16 nPos ) const; - - void CompileAll(); - void CompileXML(); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - - void SourceChanged( const ScAddress& rChanged ); - - bool MarkUsedExternalReferences() const; - -protected: - virtual void DataChanged( const ScRange* pModified ) const; - ScDocument* GetDocument() const { return pDoc; } - ScConditionalFormat* pCondFormat; -}; - -// -// single entry for conditional formatting -// - -class SC_DLLPUBLIC ScCondFormatEntry : public ScConditionEntry -{ - String aStyleName; - - using ScConditionEntry::operator==; - -public: - ScCondFormatEntry( ScConditionMode eOper, - const String& rExpr1, const String& rExpr2, - ScDocument* pDocument, const ScAddress& rPos, - const String& rStyle, - const String& rExprNmsp1 = EMPTY_STRING, - const String& rExprNmsp2 = EMPTY_STRING, - formula::FormulaGrammar::Grammar eGrammar1 = formula::FormulaGrammar::GRAM_DEFAULT, - formula::FormulaGrammar::Grammar eGrammar2 = formula::FormulaGrammar::GRAM_DEFAULT ); - ScCondFormatEntry( ScConditionMode eOper, - const ScTokenArray* pArr1, const ScTokenArray* pArr2, - ScDocument* pDocument, const ScAddress& rPos, - const String& rStyle ); - ScCondFormatEntry( const ScCondFormatEntry& r ); - ScCondFormatEntry( ScDocument* pDocument, const ScCondFormatEntry& r ); - virtual ~ScCondFormatEntry(); - - int operator== ( const ScCondFormatEntry& r ) const; - - const String& GetStyle() const { return aStyleName; } - void UpdateStyleName(const String& rNew) { aStyleName=rNew; } - -protected: - virtual void DataChanged( const ScRange* pModified ) const; -}; - -// -// complete conditional formatting -// - -class SC_DLLPUBLIC ScConditionalFormat -{ - ScDocument* pDoc; - ScRangeList* pAreas; // area for Paint - sal_uInt32 nKey; // Index in attributes - ScCondFormatEntry** ppEntries; - sal_uInt16 nEntryCount; - sal_Bool bIsUsed; // temporary at Save - ScRangeListRef pRanges; // Ranges for conditional format - -public: - ScConditionalFormat(sal_uInt32 nNewKey, ScDocument* pDocument); - ScConditionalFormat(const ScConditionalFormat& r); - ~ScConditionalFormat(); - - // true copy of formulas (for Ref-Undo / between documents) - ScConditionalFormat* Clone(ScDocument* pNewDoc = NULL) const; - - void AddEntry( const ScCondFormatEntry& rNew ); - void AddRangeInfo( const ScRangeListRef& rRanges ); - const ScRangeListRef& GetRangeInfo() const { return pRanges; } - - sal_Bool IsEmpty() const { return (nEntryCount == 0); } - sal_uInt16 Count() const { return nEntryCount; } - - void CompileAll(); - void CompileXML(); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - void RenameCellStyle( const String& rOld, const String& rNew ); - - void SourceChanged( const ScAddress& rAddr ); - - const ScCondFormatEntry* GetEntry( sal_uInt16 nPos ) const; - - const String& GetCellStyle( ScBaseCell* pCell, const ScAddress& rPos ) const; - - sal_Bool EqualEntries( const ScConditionalFormat& r ) const; - - void DoRepaint( const ScRange* pModified ); - void InvalidateArea(); - - sal_uInt32 GetKey() const { return nKey; } - void SetKey(sal_uInt32 nNew) { nKey = nNew; } // only if not inserted! - - void SetUsed(sal_Bool bSet) { bIsUsed = bSet; } - sal_Bool IsUsed() const { return bIsUsed; } - - bool MarkUsedExternalReferences() const; - - // sorted (via PTRARR) by Index - // operator== only for sorting - sal_Bool operator ==( const ScConditionalFormat& r ) const { return nKey == r.nKey; } - sal_Bool operator < ( const ScConditionalFormat& r ) const { return nKey < r.nKey; } -}; - -// -// List of areas and formats: -// - -typedef ScConditionalFormat* ScConditionalFormatPtr; - -SV_DECL_PTRARR_SORT(ScConditionalFormats_Impl, ScConditionalFormatPtr, - SC_COND_GROW, SC_COND_GROW) - -class ScConditionalFormatList : public ScConditionalFormats_Impl -{ -public: - ScConditionalFormatList() {} - ScConditionalFormatList(const ScConditionalFormatList& rList); - ScConditionalFormatList(ScDocument* pNewDoc, const ScConditionalFormatList& rList); - ~ScConditionalFormatList() {} - - void InsertNew( ScConditionalFormat* pNew ) - { if (!Insert(pNew)) delete pNew; } - - ScConditionalFormat* GetFormat( sal_uInt32 nKey ); - - void CompileAll(); - void CompileXML(); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void RenameCellStyle( const String& rOld, const String& rNew ); - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - - void SourceChanged( const ScAddress& rAddr ); - - /** Temporarily during save, returns RefManager's decision whether ALL - * references are marked now. */ - bool MarkUsedExternalReferences() const; - - sal_Bool operator==( const ScConditionalFormatList& r ) const; // for Ref-Undo -}; - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/confuno.hxx b/sc/inc/confuno.hxx deleted file mode 100644 index 52a40e731..000000000 --- a/sc/inc/confuno.hxx +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CONFUNO_HXX -#define SC_CONFUNO_HXX - -#include <svl/itemprop.hxx> -#include <svl/lstner.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <cppuhelper/implbase2.hxx> - -class ScDocShell; - -class ScDocumentConfiguration : public cppu::WeakImplHelper2< - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SfxItemPropertySet aPropSet; - -public: - ScDocumentConfiguration(ScDocShell* pDocShell); - virtual ~ScDocumentConfiguration(); - - // SfxListener - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/consoli.hxx b/sc/inc/consoli.hxx deleted file mode 100644 index 2754ce980..000000000 --- a/sc/inc/consoli.hxx +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CONSOLI_HXX -#define SC_CONSOLI_HXX - -#include "global.hxx" -#include "address.hxx" - -class ScDocument; - -struct ScReferenceEntry // without constructor ! -{ - SCCOL nCol; - SCROW nRow; - SCTAB nTab; -}; - - -//! Use delta value for data? - -class ScReferenceList // without constructor ! -{ -private: - SCSIZE nCount; - SCSIZE nFullSize; // incl. fill entries - ScReferenceEntry* pData; - -public: - void Init() { nCount=0; nFullSize=0; pData=NULL; } - void Clear() { delete[] pData; } - - SCSIZE GetCount() { return nCount; } - const ScReferenceEntry& GetEntry( SCSIZE nPos ) { return pData[nPos]; } - void SetFullSize( SCSIZE nNew ) { nFullSize = nNew; } - - void AddEntry( SCCOL nCol, SCROW nRow, SCTAB nTab ); -}; - -// -// Sequence: -// 1) create ScConsData -// 2) Parameter (Size/Flags) -// 3) AddFields for all areas (only needed for bColByName or bRowByName) -// 4) DoneFields ( " " ) -// 5) AddData for all areas -// perhaps AddName after each area -// 6) OutputToDocument -// - -//! Use structure ScDocument if a certain size is exceeded? - -class ScConsData -{ -private: - ScSubTotalFunc eFunction; - sal_Bool bReference; - sal_Bool bColByName; - sal_Bool bRowByName; - sal_Bool bSubTitles; - SCSIZE nColCount; - SCSIZE nRowCount; - sal_Bool** ppUsed; - double** ppSum; - double** ppCount; - double** ppSumSqr; - ScReferenceList** ppRefs; - String** ppColHeaders; - String** ppRowHeaders; - SCSIZE nDataCount; - SCSIZE nTitleCount; - String** ppTitles; - SCSIZE** ppTitlePos; - sal_Bool bCornerUsed; - String aCornerText; // only for bColByName && bRowByName - -public: - ScConsData(); - ~ScConsData(); - - void SetSize( SCCOL nCols, SCROW nRows ); - void SetFlags( ScSubTotalFunc eFunc, sal_Bool bColName, sal_Bool bRowName, sal_Bool bRef ); - - void InitData(sal_Bool bDelete=sal_True); - void DeleteData(); - - void AddFields( ScDocument* pSrcDoc, SCTAB nTab, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - void DoneFields(); - - void AddData( ScDocument* pSrcDoc, SCTAB nTab, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - void AddName( const String& rName ); - - void OutputToDocument( ScDocument* pDestDoc, SCCOL nCol, SCROW nRow, SCTAB nTab ); - - void GetSize( SCCOL& rCols, SCROW& rRows ) const; - SCROW GetInsertCount() const; -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/convuno.hxx b/sc/inc/convuno.hxx deleted file mode 100644 index 03ba01fb2..000000000 --- a/sc/inc/convuno.hxx +++ /dev/null @@ -1,220 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CONVUNO_HXX -#define SC_CONVUNO_HXX - -#include <algorithm> -#include <i18npool/lang.h> -#include <com/sun/star/table/CellAddress.hpp> -#include <com/sun/star/table/CellRangeAddress.hpp> -#include <com/sun/star/lang/Locale.hpp> -#include "global.hxx" -#include "address.hxx" - - -class ScUnoConversion -{ -public: - static LanguageType GetLanguage( const com::sun::star::lang::Locale& rLocale ); - static void FillLocale( com::sun::star::lang::Locale& rLocale, LanguageType eLang ); - - // CellAddress -> ScAddress - static inline void FillScAddress( - ScAddress& rScAddress, - const ::com::sun::star::table::CellAddress& rApiAddress ); - // ScAddress -> CellAddress - static inline void FillApiAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ScAddress& rScAddress ); - // CellRangeAddress -> ScRange - static inline void FillScRange( - ScRange& rScRange, - const ::com::sun::star::table::CellRangeAddress& rApiRange ); - // ScRange -> CellRangeAddress - static inline void FillApiRange( - ::com::sun::star::table::CellRangeAddress& rApiRange, - const ScRange& rScRange ); - // CellAddress -> CellRangeAddress - static inline void FillApiRange( - ::com::sun::star::table::CellRangeAddress& rApiRange, - const ::com::sun::star::table::CellAddress& rApiAddress ); - // CellRangeAddress-Start -> CellAddress - static inline void FillApiStartAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ::com::sun::star::table::CellRangeAddress& rApiRange ); - // CellRangeAddress-End -> CellAddress - static inline void FillApiEndAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ::com::sun::star::table::CellRangeAddress& rApiRange ); - - /** Returns true, if the passed ranges have at least one common cell. */ - static inline bool Intersects( - const ::com::sun::star::table::CellRangeAddress& rApiARange1, - const ::com::sun::star::table::CellRangeAddress& rApiARange2 ); - /** Returns true, if the passed address rApiInner is inside the passed range rApiOuter. */ - static inline bool Contains( - const ::com::sun::star::table::CellRangeAddress& rApiOuter, - const ::com::sun::star::table::CellAddress& rApiInner ); - /** Returns true, if the passed range rApiInner is completely inside the passed range rApiOuter. */ - static inline bool Contains( - const ::com::sun::star::table::CellRangeAddress& rApiOuter, - const ::com::sun::star::table::CellRangeAddress& rApiInner ); -}; - - -inline void ScUnoConversion::FillScAddress( - ScAddress& rScAddress, - const ::com::sun::star::table::CellAddress& rApiAddress ) -{ - rScAddress.Set( (SCCOL)rApiAddress.Column, (SCROW)rApiAddress.Row, (SCTAB)rApiAddress.Sheet ); -} - -inline void ScUnoConversion::FillApiAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ScAddress& rScAddress ) -{ - rApiAddress.Column = rScAddress.Col(); - rApiAddress.Row = rScAddress.Row(); - rApiAddress.Sheet = rScAddress.Tab(); -} - -inline void ScUnoConversion::FillScRange( - ScRange& rScRange, - const ::com::sun::star::table::CellRangeAddress& rApiRange ) -{ - rScRange.aStart.Set( (SCCOL)rApiRange.StartColumn, (SCROW)rApiRange.StartRow, (SCTAB)rApiRange.Sheet ); - rScRange.aEnd.Set( (SCCOL)rApiRange.EndColumn, (SCROW)rApiRange.EndRow, (SCTAB)rApiRange.Sheet ); -} - -inline void ScUnoConversion::FillApiRange( - ::com::sun::star::table::CellRangeAddress& rApiRange, - const ScRange& rScRange ) -{ - rApiRange.StartColumn = rScRange.aStart.Col(); - rApiRange.StartRow = rScRange.aStart.Row(); - rApiRange.Sheet = rScRange.aStart.Tab(); - rApiRange.EndColumn = rScRange.aEnd.Col(); - rApiRange.EndRow = rScRange.aEnd.Row(); -} - -inline void ScUnoConversion::FillApiRange( - ::com::sun::star::table::CellRangeAddress& rApiRange, - const ::com::sun::star::table::CellAddress& rApiAddress ) -{ - rApiRange.StartColumn = rApiRange.EndColumn = rApiAddress.Column; - rApiRange.StartRow = rApiRange.EndRow = rApiAddress.Row; - rApiRange.Sheet = rApiAddress.Sheet; -} - -inline void ScUnoConversion::FillApiStartAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ::com::sun::star::table::CellRangeAddress& rApiRange ) -{ - rApiAddress.Column = rApiRange.StartColumn; - rApiAddress.Row = rApiRange.StartRow; - rApiAddress.Sheet = rApiRange.Sheet; -} - -inline void ScUnoConversion::FillApiEndAddress( - ::com::sun::star::table::CellAddress& rApiAddress, - const ::com::sun::star::table::CellRangeAddress& rApiRange ) -{ - rApiAddress.Column = rApiRange.EndColumn; - rApiAddress.Row = rApiRange.EndRow; - rApiAddress.Sheet = rApiRange.Sheet; -} - -inline bool ScUnoConversion::Intersects( - const ::com::sun::star::table::CellRangeAddress& rApiRange1, - const ::com::sun::star::table::CellRangeAddress& rApiRange2 ) -{ - return (rApiRange1.Sheet == rApiRange2.Sheet) && - (::std::max( rApiRange1.StartColumn, rApiRange2.StartColumn ) <= ::std::min( rApiRange1.EndColumn, rApiRange2.EndColumn )) && - (::std::max( rApiRange1.StartRow, rApiRange2.StartRow ) <= ::std::min( rApiRange1.EndRow, rApiRange2.EndRow )); -} - -inline bool ScUnoConversion::Contains( - const ::com::sun::star::table::CellRangeAddress& rApiOuter, - const ::com::sun::star::table::CellAddress& rApiInner ) -{ - return (rApiOuter.Sheet == rApiInner.Sheet) && - (rApiOuter.StartColumn <= rApiInner.Column) && (rApiInner.Column <= rApiOuter.EndColumn) && - (rApiOuter.StartRow <= rApiInner.Row) && (rApiInner.Row <= rApiOuter.EndRow); -} - -inline bool ScUnoConversion::Contains( - const ::com::sun::star::table::CellRangeAddress& rApiOuter, - const ::com::sun::star::table::CellRangeAddress& rApiInner ) -{ - return (rApiOuter.Sheet == rApiInner.Sheet) && - (rApiOuter.StartColumn <= rApiInner.StartColumn) && (rApiInner.EndColumn <= rApiOuter.EndColumn) && - (rApiOuter.StartRow <= rApiInner.StartRow) && (rApiInner.EndRow <= rApiOuter.EndRow); -} - -//___________________________________________________________________ - -inline sal_Bool operator==( - const ::com::sun::star::table::CellAddress& rApiAddress1, - const ::com::sun::star::table::CellAddress& rApiAddress2 ) -{ - return - (rApiAddress1.Column == rApiAddress2.Column) && - (rApiAddress1.Row == rApiAddress2.Row) && - (rApiAddress1.Sheet == rApiAddress2.Sheet); -} - -inline sal_Bool operator!=( - const ::com::sun::star::table::CellAddress& rApiAddress1, - const ::com::sun::star::table::CellAddress& rApiAddress2 ) -{ - return !(rApiAddress1 == rApiAddress2); -} - -inline sal_Bool operator==( - const ::com::sun::star::table::CellRangeAddress& rApiRange1, - const ::com::sun::star::table::CellRangeAddress& rApiRange2 ) -{ - return - (rApiRange1.StartColumn == rApiRange2.StartColumn) && - (rApiRange1.StartRow == rApiRange2.StartRow) && - (rApiRange1.EndColumn == rApiRange2.EndColumn) && - (rApiRange1.EndRow == rApiRange2.EndRow) && - (rApiRange1.Sheet == rApiRange2.Sheet); -} - -inline sal_Bool operator!=( - const ::com::sun::star::table::CellRangeAddress& rApiRange1, - const ::com::sun::star::table::CellRangeAddress& rApiRange2 ) -{ - return !(rApiRange1 == rApiRange2); -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/cursuno.hxx b/sc/inc/cursuno.hxx deleted file mode 100644 index 292dcad9d..000000000 --- a/sc/inc/cursuno.hxx +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_CURSUNO_HXX -#define SC_CURSUNO_HXX - -#include "cellsuno.hxx" -#include <com/sun/star/table/XCellCursor.hpp> -#include <com/sun/star/sheet/XSheetCellCursor.hpp> -#include <com/sun/star/sheet/XUsedAreaCursor.hpp> - -class ScCellCursorObj : public ScCellRangeObj, - public com::sun::star::sheet::XSheetCellCursor, - public com::sun::star::sheet::XUsedAreaCursor, - public com::sun::star::table::XCellCursor -{ -public: - ScCellCursorObj(ScDocShell* pDocSh, const ScRange& rR); - virtual ~ScCellCursorObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XSheetCellCursor - virtual void SAL_CALL collapseToCurrentRegion() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL collapseToCurrentArray() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL collapseToMergedArea() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL expandToEntireColumns() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL expandToEntireRows() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL collapseToSize( sal_Int32 nColumns, sal_Int32 nRows ) - throw(::com::sun::star::uno::RuntimeException); - - // XUsedAreaCursor - virtual void SAL_CALL gotoStartOfUsedArea( sal_Bool bExpand ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL gotoEndOfUsedArea( sal_Bool bExpand ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellCursor - virtual void SAL_CALL gotoStart() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL gotoEnd() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL gotoNext() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL gotoPrevious() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nRowOffset ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL - getSpreadsheet() throw(::com::sun::star::uno::RuntimeException); - - // XCellRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL - getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, - sal_Int32 nRight, sal_Int32 nBottom ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::uno::RuntimeException); - using ScCellRangeObj::getCellRangeByName; - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getCellRangeByName( const ::rtl::OUString& aRange ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dapiuno.hxx b/sc/inc/dapiuno.hxx deleted file mode 100644 index 08abed632..000000000 --- a/sc/inc/dapiuno.hxx +++ /dev/null @@ -1,963 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DAPIUNO_HXX -#define SC_DAPIUNO_HXX - -#include "global.hxx" -#include "dpobject.hxx" -#include "rangeutl.hxx" // ScArea -#include "cellsuno.hxx" // for XModifyListenerArr_Impl - -#include <svl/lstner.hxx> -#include <svl/itemprop.hxx> - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/util/XModifyBroadcaster.hpp> - -#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldGroupInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp> -#include <com/sun/star/sheet/DataPilotFieldReference.hpp> -#include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp> -#include <com/sun/star/sheet/GeneralFunction.hpp> -#include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.hpp> -#include <com/sun/star/sheet/XDataPilotDescriptor.hpp> -#include <com/sun/star/sheet/XDataPilotField.hpp> -#include <com/sun/star/sheet/XDataPilotFieldGrouping.hpp> -#include <com/sun/star/sheet/XDataPilotTable.hpp> -#include <com/sun/star/sheet/XDataPilotTable2.hpp> -#include <com/sun/star/sheet/XDataPilotTables.hpp> - -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> - -#include <memory> -#include <vector> - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldFilter; - struct DataPilotTablePositionData; -}}}} - -class ScDocShell; -class ScDPSaveDimension; -class ScDPSaveGroupDimension; -class ScDPSaveNumGroupDimension; -struct ScDPNumGroupInfo; - -class ScDataPilotTableObj; -class ScDataPilotFieldObj; -class ScDataPilotItemObj; - - -class ScDataPilotConversion -{ -public: - static com::sun::star::sheet::GeneralFunction FirstFunc( sal_uInt16 nBits ); - static sal_uInt16 FunctionBit( com::sun::star::sheet::GeneralFunction eFunc ); - - static void FillGroupInfo( - ::com::sun::star::sheet::DataPilotFieldGroupInfo& rInfo, - const ScDPNumGroupInfo& rGroupInfo ); -}; - -/** DataPilotTables collection per sheet. */ -class ScDataPilotTablesObj : public cppu::WeakImplHelper4< - com::sun::star::sheet::XDataPilotTables, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; - - ScDataPilotTableObj* GetObjectByIndex_Impl( sal_Int32 nIndex ); - ScDataPilotTableObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScDataPilotTablesObj(ScDocShell* pDocSh, SCTAB nT); - virtual ~ScDataPilotTablesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDataPilotTables - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotDescriptor > SAL_CALL - createDataPilotDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertNewByName( const ::rtl::OUString& aName, - const ::com::sun::star::table::CellAddress& aOutputAddress, - const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XDataPilotDescriptor >& xDescriptor ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -// ScDataPilotDescriptorBase is never instantiated directly -class ScDataPilotDescriptorBase : public com::sun::star::sheet::XDataPilotDescriptor, - public com::sun::star::beans::XPropertySet, - public com::sun::star::sheet::XDataPilotDataLayoutFieldSupplier, - public com::sun::star::lang::XServiceInfo, - public com::sun::star::lang::XUnoTunnel, - public com::sun::star::lang::XTypeProvider, - public cppu::OWeakObject, - public SfxListener -{ -private: - SfxItemPropertySet maPropSet; - ScDocShell* pDocShell; - -public: - ScDataPilotDescriptorBase(ScDocShell* pDocSh); - virtual ~ScDataPilotDescriptorBase(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - ScDocShell* GetDocShell() const { return pDocShell; } - - // in the derivatives: - virtual ScDPObject* GetDPObject() const = 0; - virtual void SetDPObject(ScDPObject* pDPObj) = 0; - - // XDataPilotDescriptor - // getName, setName, getTag, setTag in derived classes - - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getSourceRange() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSourceRange( const ::com::sun::star::table::CellRangeAddress& aSourceRange ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL - getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getDataPilotFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getColumnFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getRowFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getPageFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getDataFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL - getHiddenFields() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XDataPilotDataLayoutFieldSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotField > - SAL_CALL getDataLayoutField() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScDataPilotDescriptorBase* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::sheet::XDataPilotDescriptor> xObj ); - - // XTypeProvider (overloaded in ScDataPilotTableObj) - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo is in derived classes -}; - -class ScDataPilotDescriptor : public ScDataPilotDescriptorBase -{ -private: - ScDPObject* mpDPObject; - -public: - ScDataPilotDescriptor(ScDocShell* pDocSh); - virtual ~ScDataPilotDescriptor(); - - virtual ScDPObject* GetDPObject() const; - virtual void SetDPObject(ScDPObject* pDPObj); - - // rest of XDataPilotDescriptor (incl. XNamed) - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTag() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTag( const ::rtl::OUString& aTag ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScDataPilotTableObj : public ScDataPilotDescriptorBase, - public com::sun::star::sheet::XDataPilotTable2, - public com::sun::star::util::XModifyBroadcaster -{ -private: - SCTAB nTab; - String aName; - XModifyListenerArr_Impl aModifyListeners; - - void Refreshed_Impl(); - -public: - ScDataPilotTableObj(ScDocShell* pDocSh, SCTAB nT, const String& rN); - virtual ~ScDataPilotTableObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - virtual ScDPObject* GetDPObject() const; - virtual void SetDPObject(ScDPObject* pDPObj); - - // rest of XDataPilotDescriptor (incl. XNamed) - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTag() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTag( const ::rtl::OUString& aTag ) - throw(::com::sun::star::uno::RuntimeException); - - // XDataPilotTable - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getOutputRange() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - - // XDataPilotTable2 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > - SAL_CALL getDrillDownData(const ::com::sun::star::table::CellAddress& aAddr) - throw(::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::sheet::DataPilotTablePositionData - SAL_CALL getPositionData(const ::com::sun::star::table::CellAddress& aAddr) - throw(::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL insertDrillDownSheet(const ::com::sun::star::table::CellAddress& aAddr) - throw(::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getOutputRangeByType( sal_Int32 nType ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XModifyBroadcaster - virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XTypeProvider (overloaded) - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -struct ScFieldIdentifier -{ - ::rtl::OUString maFieldName; /// Source field name. - sal_Int32 mnFieldIdx; /// Field index (if several fields with same name exist). - bool mbDataLayout; /// True = data layout field collecting all data fields as items. - - inline explicit ScFieldIdentifier() : - mnFieldIdx( 0 ), mbDataLayout( false ) {} - - inline explicit ScFieldIdentifier( const ::rtl::OUString& rFieldName, sal_Int32 nFieldIdx, bool bDataLayout ) : - maFieldName( rFieldName ), mnFieldIdx( nFieldIdx ), mbDataLayout( bDataLayout ) {} -}; - -/** Base class of all implementation objects based on a DataPilot descriptor - or DataPilot table object. Wraps acquiring and releasing the parent. */ -class ScDataPilotChildObjBase -{ -protected: - explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase& rParent ); - explicit ScDataPilotChildObjBase( ScDataPilotDescriptorBase& rParent, const ScFieldIdentifier& rFieldId ); - virtual ~ScDataPilotChildObjBase(); - - /** Returns the wrapped DataPilot object (calls GetDPObject() at parent). */ - ScDPObject* GetDPObject() const; - /** Sets the passed DataPilot object (calls SetDPObject() at parent). */ - void SetDPObject( ScDPObject* pDPObject ); - - /** Returns the DataPilot dimension object related to the field described by maFieldId. */ - ScDPSaveDimension* GetDPDimension( ScDPObject** ppDPObject = 0 ) const; - - /** Returns the number of members for the field described by maFieldId. */ - sal_Int32 GetMemberCount() const; - /** Returns the collection of members for the field described by maFieldId. */ - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > - GetMembers() const; - -protected: - ScDataPilotDescriptorBase& mrParent; - ScFieldIdentifier maFieldId; - -private: - ScDataPilotChildObjBase& operator=( const ScDataPilotChildObjBase& ); -}; - -typedef ::cppu::WeakImplHelper4 -< - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::container::XNameAccess, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotFieldsObjImpl; - -/** Collection of all DataPilot fields, or of all fields from a specific dimension. */ -class ScDataPilotFieldsObj : public ScDataPilotChildObjBase, public ScDataPilotFieldsObjImpl -{ -public: - explicit ScDataPilotFieldsObj( - ScDataPilotDescriptorBase& rParent ); - - explicit ScDataPilotFieldsObj( - ScDataPilotDescriptorBase& rParent, - ::com::sun::star::sheet::DataPilotFieldOrientation eOrient ); - - virtual ~ScDataPilotFieldsObj(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - ScDataPilotFieldObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const; - ScDataPilotFieldObj* GetObjectByName_Impl( const ::rtl::OUString& rName ) const; - -private: - ::com::sun::star::uno::Any maOrient; /// Field orientation, no value = all fields. -}; - -typedef ::cppu::WeakImplHelper5 -< - ::com::sun::star::container::XNamed, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::sheet::XDataPilotField, - ::com::sun::star::sheet::XDataPilotFieldGrouping, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotFieldObjImpl; - -/** Implementation of a single DataPilot field. */ -class ScDataPilotFieldObj : public ScDataPilotChildObjBase, public ScDataPilotFieldObjImpl -{ -public: - ScDataPilotFieldObj( - ScDataPilotDescriptorBase& rParent, - const ScFieldIdentifier& rIdent ); - - ScDataPilotFieldObj( - ScDataPilotDescriptorBase& rParent, - const ScFieldIdentifier& rIdent, - const ::com::sun::star::uno::Any& rOrient ); - - virtual ~ScDataPilotFieldObj(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XDatePilotField - virtual com::sun::star::uno::Reference<com::sun::star::container::XIndexAccess> SAL_CALL - getItems() throw (::com::sun::star::uno::RuntimeException); - - // only called from property-functions: - com::sun::star::sheet::DataPilotFieldOrientation getOrientation(void) const; - void setOrientation(com::sun::star::sheet::DataPilotFieldOrientation Orientation); - com::sun::star::sheet::GeneralFunction getFunction(void) const; - void setFunction(com::sun::star::sheet::GeneralFunction Function); - com::sun::star::uno::Sequence< com::sun::star::sheet::GeneralFunction > getSubtotals() const; - void setSubtotals(const com::sun::star::uno::Sequence< com::sun::star::sheet::GeneralFunction >& rFunctions); - rtl::OUString getCurrentPage() const; - void setCurrentPage(const rtl::OUString& sPage); - sal_Bool getUseCurrentPage() const; - void setUseCurrentPage(sal_Bool bUse); - const com::sun::star::sheet::DataPilotFieldAutoShowInfo* getAutoShowInfo(); - void setAutoShowInfo(const com::sun::star::sheet::DataPilotFieldAutoShowInfo* pInfo); - const com::sun::star::sheet::DataPilotFieldLayoutInfo* getLayoutInfo(); - void setLayoutInfo(const com::sun::star::sheet::DataPilotFieldLayoutInfo* pInfo); - const com::sun::star::sheet::DataPilotFieldReference* getReference(); - void setReference(const com::sun::star::sheet::DataPilotFieldReference* pInfo); - const com::sun::star::sheet::DataPilotFieldSortInfo* getSortInfo(); - void setSortInfo(const com::sun::star::sheet::DataPilotFieldSortInfo* pInfo); - sal_Bool getShowEmpty() const; - void setShowEmpty(sal_Bool bShow); - - sal_Bool hasGroupInfo(); - com::sun::star::sheet::DataPilotFieldGroupInfo getGroupInfo(); - void setGroupInfo(const com::sun::star::sheet::DataPilotFieldGroupInfo* pInfo); - - // XDataPilotFieldGrouping - sal_Bool HasString(const com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, const ::rtl::OUString& aString); - virtual com::sun::star::uno::Reference < com::sun::star::sheet::XDataPilotField > SAL_CALL - createNameGroup(const com::sun::star::uno::Sequence< ::rtl::OUString >& aItems) - throw (::com::sun::star::uno::RuntimeException, - ::com::sun::star::lang::IllegalArgumentException); - virtual com::sun::star::uno::Reference < com::sun::star::sheet::XDataPilotField > SAL_CALL - createDateGroup(const com::sun::star::sheet::DataPilotFieldGroupInfo& rInfo) - throw (::com::sun::star::uno::RuntimeException, - ::com::sun::star::lang::IllegalArgumentException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > - mxItems; - SfxItemPropertySet maPropSet; - ::com::sun::star::uno::Any maOrient; -}; - -typedef ::std::vector< ::rtl::OUString > ScFieldGroupMembers; - -struct ScFieldGroup -{ - ::rtl::OUString maName; - ScFieldGroupMembers maMembers; -}; - -typedef ::std::vector< ScFieldGroup > ScFieldGroups; - -typedef ::cppu::WeakImplHelper4 -< - ::com::sun::star::container::XNameContainer, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotFieldGroupsObjImpl; - -/** Implementation of all grouped items in a DataPilot field. - - This is a stand-alone object without any connection to the base DataPilot - field. Grouping info has to be written back with the GroupInfo property of - the DataPilot field after modifying this object. - */ -class ScDataPilotFieldGroupsObj : public ScDataPilotFieldGroupsObjImpl -{ -public: - explicit ScDataPilotFieldGroupsObj( const ScFieldGroups& rGroups ); - virtual ~ScDataPilotFieldGroupsObj(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw (::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // implementation - ScFieldGroup& getFieldGroup( const ::rtl::OUString& rName ) throw(::com::sun::star::uno::RuntimeException); - void renameFieldGroup( const ::rtl::OUString& rOldName, const ::rtl::OUString& rNewName ) throw(::com::sun::star::uno::RuntimeException); - -private: - ScFieldGroups::iterator implFindByName( const ::rtl::OUString& rName ); - -private: - ScFieldGroups maGroups; -}; - -typedef ::cppu::WeakImplHelper5 -< - ::com::sun::star::container::XNameContainer, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::container::XNamed, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotFieldGroupObjImpl; - -class ScDataPilotFieldGroupObj : public ScDataPilotFieldGroupObjImpl -{ -public: - explicit ScDataPilotFieldGroupObj( ScDataPilotFieldGroupsObj& rParent, const ::rtl::OUString& rGroupName ); - virtual ~ScDataPilotFieldGroupObj(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw (::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - ScDataPilotFieldGroupsObj& mrParent; - ::rtl::OUString maGroupName; -}; - -typedef ::cppu::WeakImplHelper2 -< - ::com::sun::star::container::XNamed, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotFieldGroupItemObjImpl; - -class ScDataPilotFieldGroupItemObj : public ScDataPilotFieldGroupItemObjImpl -{ -public: - explicit ScDataPilotFieldGroupItemObj( ScDataPilotFieldGroupObj& rParent, const ::rtl::OUString& rName ); - virtual ~ScDataPilotFieldGroupItemObj(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - ScDataPilotFieldGroupObj& mrParent; - ::rtl::OUString maName; -}; - -typedef ::cppu::WeakImplHelper4 -< - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::container::XNameAccess, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotItemsObjImpl; - -class ScDataPilotItemsObj : public ScDataPilotChildObjBase, public ScDataPilotItemsObjImpl -{ -public: - explicit ScDataPilotItemsObj( ScDataPilotDescriptorBase& rParent, const ScFieldIdentifier& rFieldId ); - virtual ~ScDataPilotItemsObj(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - ScDataPilotItemObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const; -}; - -typedef ::cppu::WeakImplHelper3 -< - ::com::sun::star::container::XNamed, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo -> -ScDataPilotItemObjImpl; - -class ScDataPilotItemObj : public ScDataPilotChildObjBase, public ScDataPilotItemObjImpl -{ -public: - explicit ScDataPilotItemObj( - ScDataPilotDescriptorBase& rParent, - const ScFieldIdentifier& rFieldId, - sal_Int32 nIndex ); - - virtual ~ScDataPilotItemObj(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - SfxItemPropertySet maPropSet; - sal_Int32 mnIndex; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/datauno.hxx b/sc/inc/datauno.hxx deleted file mode 100644 index 9aebfee56..000000000 --- a/sc/inc/datauno.hxx +++ /dev/null @@ -1,699 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DATAUNO_HXX -#define SC_DATAUNO_HXX - -#include "global.hxx" -#include "queryparam.hxx" -#include "subtotalparam.hxx" - -#include <com/sun/star/sheet/TableFilterField.hpp> -#include <com/sun/star/sheet/GeneralFunction.hpp> -#include <com/sun/star/sheet/XCellRangeReferrer.hpp> -#include <com/sun/star/sheet/XSheetFilterDescriptor.hpp> -#include <com/sun/star/sheet/XConsolidationDescriptor.hpp> -#include <com/sun/star/sheet/XDatabaseRanges.hpp> -#include <com/sun/star/sheet/XDatabaseRange.hpp> -#include <com/sun/star/sheet/XUnnamedDatabaseRanges.hpp> -#include <com/sun/star/sheet/XSubTotalDescriptor.hpp> -#include <com/sun/star/sheet/XSubTotalField.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/container/XNamed.hpp> -#include <com/sun/star/util/XRefreshable.hpp> -#include <com/sun/star/sheet/XSheetFilterDescriptor2.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase6.hxx> -#include "svl/itemprop.hxx" -#include "svl/lstner.hxx" - -class ScDBData; -class ScDocShell; - -class ScSubTotalFieldObj; -class ScDatabaseRangeObj; -class ScDataPilotDescriptorBase; - -struct ScSortParam; - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >* XDBRefreshListenerPtr; -SV_DECL_PTRARR_DEL( XDBRefreshListenerArr_Impl, XDBRefreshListenerPtr, 4, 4 ) - -class ScDataUnoConversion -{ -public: - static ScSubTotalFunc GeneralToSubTotal( com::sun::star::sheet::GeneralFunction eSummary ); - static com::sun::star::sheet::GeneralFunction SubTotalToGeneral( ScSubTotalFunc eSubTotal ); -}; - - -// ImportDescriptor is not available as Uno-Objekt any longer, only Property-Sequence - -class ScImportDescriptor -{ -public: - static void FillImportParam( - ScImportParam& rParam, - const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq ); - static void FillProperties( - com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq, - const ScImportParam& rParam ); - static long GetPropertyCount(); -}; - -// SortDescriptor is not available as Uno-Objekt any longer, only Property-Sequence - -class ScSortDescriptor -{ -public: - static void FillSortParam( - ScSortParam& rParam, - const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq ); - static void FillProperties( - com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq, - const ScSortParam& rParam ); - static long GetPropertyCount(); -}; - - -// ScSubTotalDescriptorBase - base class for SubTotalDescriptor stand alone and in DB area (context?) - -// to uno, both look the same - -class ScSubTotalDescriptorBase : public cppu::WeakImplHelper6< - com::sun::star::sheet::XSubTotalDescriptor, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XUnoTunnel, - com::sun::star::lang::XServiceInfo > -{ -private: - SfxItemPropertySet aPropSet; - - ScSubTotalFieldObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); - -public: - ScSubTotalDescriptorBase(); - virtual ~ScSubTotalDescriptorBase(); - - // in derived classes: - // (Fields are within the range) - virtual void GetData( ScSubTotalParam& rParam ) const = 0; - virtual void PutData( const ScSubTotalParam& rParam ) = 0; - - // XSubTotalDescriptor - virtual void SAL_CALL addNew( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns, - sal_Int32 nGroupColumn ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clear() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScSubTotalDescriptorBase* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::sheet::XSubTotalDescriptor> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// ScSubTotalDescriptor - dummy container to use with XImportTarget - -class ScSubTotalDescriptor : public ScSubTotalDescriptorBase -{ -private: - ScSubTotalParam aStoredParam; - -public: - ScSubTotalDescriptor(); - virtual ~ScSubTotalDescriptor(); - - // from ScSubTotalDescriptorBase: - virtual void GetData( ScSubTotalParam& rParam ) const; - virtual void PutData( const ScSubTotalParam& rParam ); - - // external access: - void SetParam( const ScSubTotalParam& rNew ); -}; - - -// ScRangeSubTotalDescriptor - SubTotalDescriptor of a data base area - -class ScRangeSubTotalDescriptor : public ScSubTotalDescriptorBase -{ -private: - ScDatabaseRangeObj* pParent; - -public: - ScRangeSubTotalDescriptor(ScDatabaseRangeObj* pPar); - virtual ~ScRangeSubTotalDescriptor(); - - // from ScSubTotalDescriptorBase: - virtual void GetData( ScSubTotalParam& rParam ) const; - virtual void PutData( const ScSubTotalParam& rParam ); -}; - - -class ScSubTotalFieldObj : public cppu::WeakImplHelper2< - com::sun::star::sheet::XSubTotalField, - com::sun::star::lang::XServiceInfo > -{ -private: - com::sun::star::uno::Reference<com::sun::star::sheet::XSubTotalDescriptor> xRef; - ScSubTotalDescriptorBase& rParent; - sal_uInt16 nPos; - -public: - ScSubTotalFieldObj( ScSubTotalDescriptorBase* pDesc, sal_uInt16 nP ); - virtual ~ScSubTotalFieldObj(); - - // XSubTotalField - virtual sal_Int32 SAL_CALL getGroupColumn() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setGroupColumn( sal_Int32 nGroupColumn ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::SubTotalColumn > SAL_CALL - getSubTotalColumns() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSubTotalColumns( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScConsolidationDescriptor : public cppu::WeakImplHelper2< - com::sun::star::sheet::XConsolidationDescriptor, - com::sun::star::lang::XServiceInfo > -{ -private: - ScConsolidateParam aParam; - -public: - ScConsolidationDescriptor(); - virtual ~ScConsolidationDescriptor(); - - void SetParam( const ScConsolidateParam& rNew ); - const ScConsolidateParam& GetParam() const { return aParam; } - - // XConsolidationDescriptor - virtual ::com::sun::star::sheet::GeneralFunction SAL_CALL getFunction() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFunction( ::com::sun::star::sheet::GeneralFunction nFunction ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL - getSources( ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSources( const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aSources ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellAddress SAL_CALL getStartOutputPosition() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setStartOutputPosition( - const ::com::sun::star::table::CellAddress& aStartOutputPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getUseColumnHeaders() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setUseColumnHeaders( sal_Bool bUseColumnHeaders ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getUseRowHeaders() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setUseRowHeaders( sal_Bool bUseRowHeaders ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getInsertLinks() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setInsertLinks( sal_Bool bInsertLinks ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// ScFilterDescriptorBase - base class for FilterDescriptor -// stand alone, in a DB area (or context?) and in the DataPilot - -// to uno, all three look the same - -class ScFilterDescriptorBase : public cppu::WeakImplHelper4< - com::sun::star::sheet::XSheetFilterDescriptor, - com::sun::star::sheet::XSheetFilterDescriptor2, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - SfxItemPropertySet aPropSet; - ScDocShell* pDocSh; - -public: - static void fillQueryParam( - ScQueryParam& rParam, ScDocument* pDoc, - const ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField2>& aFilterFields); - - ScFilterDescriptorBase(ScDocShell* pDocShell); - virtual ~ScFilterDescriptorBase(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // in the derived classes(?): - // (nField[] here within the area) - virtual void GetData( ScQueryParam& rParam ) const = 0; - virtual void PutData( const ScQueryParam& rParam ) = 0; - - // XSheetFilterDescriptor - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField > SAL_CALL - getFilterFields() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFilterFields( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::TableFilterField >& aFilterFields ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetFilterDescriptor2 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField2 > SAL_CALL - getFilterFields2() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFilterFields2( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::TableFilterField2 >& aFilterFields ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// ScFilterDescriptor - dummy container to use with XFilterable - -class ScFilterDescriptor : public ScFilterDescriptorBase -{ -private: - ScQueryParam aStoredParam; // nField[] here within the area - -public: - ScFilterDescriptor(ScDocShell* pDocSh); - virtual ~ScFilterDescriptor(); - - // from ScFilterDescriptorBase: - virtual void GetData( ScQueryParam& rParam ) const; - virtual void PutData( const ScQueryParam& rParam ); - - // external access: - void SetParam( const ScQueryParam& rNew ); - const ScQueryParam& GetParam() const { return aStoredParam; } -}; - - -// ScRangeFilterDescriptor - FilterDescriptor of a data base area - -class ScRangeFilterDescriptor : public ScFilterDescriptorBase -{ -private: - ScDatabaseRangeObj* pParent; - -public: - ScRangeFilterDescriptor(ScDocShell* pDocSh, ScDatabaseRangeObj* pPar); - virtual ~ScRangeFilterDescriptor(); - - // from ScFilterDescriptorBase: - virtual void GetData( ScQueryParam& rParam ) const; - virtual void PutData( const ScQueryParam& rParam ); -}; - - -// ScDataPilotFilterDescriptor - FilterDescriptor of a DataPilotDescriptors - -class ScDataPilotFilterDescriptor : public ScFilterDescriptorBase -{ -private: - ScDataPilotDescriptorBase* pParent; - -public: - ScDataPilotFilterDescriptor(ScDocShell* pDocSh, ScDataPilotDescriptorBase* pPar); - virtual ~ScDataPilotFilterDescriptor(); - - // from ScFilterDescriptorBase: - virtual void GetData( ScQueryParam& rParam ) const; - virtual void PutData( const ScQueryParam& rParam ); -}; - - -class ScDatabaseRangeObj : public cppu::WeakImplHelper6< - com::sun::star::sheet::XDatabaseRange, - com::sun::star::util::XRefreshable, - com::sun::star::container::XNamed, - com::sun::star::sheet::XCellRangeReferrer, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - String aName; - SfxItemPropertySet aPropSet; - XDBRefreshListenerArr_Impl aRefreshListeners; - bool bIsUnnamed; - SCTAB aTab; - -private: - ScDBData* GetDBData_Impl() const; - void Refreshed_Impl(); - -public: - ScDatabaseRangeObj(ScDocShell* pDocSh, const String& rNm); - ScDatabaseRangeObj(ScDocShell* pDocSh, const SCTAB nTab); - virtual ~ScDatabaseRangeObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // nField[] here within the area: - void GetQueryParam(ScQueryParam& rQueryParam) const; - void SetQueryParam(const ScQueryParam& rQueryParam); - void GetSubTotalParam(ScSubTotalParam& rSubTotalParam) const; - void SetSubTotalParam(const ScSubTotalParam& rSubTotalParam); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XDatabaseRange - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getDataArea() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDataArea( const ::com::sun::star::table::CellRangeAddress& aDataArea ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - getSortDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL - getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor > SAL_CALL - getSubTotalDescriptor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - getImportDescriptor() throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeReferrer - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getReferredCells() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScDatabaseRangesObj : public cppu::WeakImplHelper4< - com::sun::star::sheet::XDatabaseRanges, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScDatabaseRangeObj* GetObjectByIndex_Impl(size_t nIndex); - ScDatabaseRangeObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScDatabaseRangesObj(ScDocShell* pDocSh); - virtual ~ScDatabaseRangesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDatabaseRanges - virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName, - const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScUnnamedDatabaseRangesObj : public cppu::WeakImplHelper1< - com::sun::star::sheet::XUnnamedDatabaseRanges>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - -public: - ScUnnamedDatabaseRangesObj(ScDocShell* pDocSh); - virtual ~ScUnnamedDatabaseRangesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XUnnamedDatabaseRanges - virtual void SAL_CALL setByTable( const ::com::sun::star::table::CellRangeAddress& aRange ) - throw(::com::sun::star::uno::RuntimeException, - ::com::sun::star::lang::IndexOutOfBoundsException ); - virtual com::sun::star::uno::Any SAL_CALL getByTable( sal_Int32 nTab ) - throw(::com::sun::star::uno::RuntimeException, - ::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::container::NoSuchElementException ); - virtual sal_Bool SAL_CALL hasByTable( sal_Int32 nTab ) - throw (::com::sun::star::uno::RuntimeException, - ::com::sun::star::lang::IndexOutOfBoundsException); -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx deleted file mode 100644 index 2772a0216..000000000 --- a/sc/inc/dbdata.hxx +++ /dev/null @@ -1,266 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DBCOLECT_HXX -#define SC_DBCOLECT_HXX - -#include "scdllapi.h" -#include "collect.hxx" -#include "global.hxx" // MAXQUERY -#include "sortparam.hxx" // MAXSORT -#include "refreshtimer.hxx" -#include "address.hxx" -#include "scdllapi.h" -#include "subtotalparam.hxx" -#include "queryparam.hxx" - -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/ptr_container/ptr_set.hpp> -#include <boost/scoped_ptr.hpp> - -class ScDocument; - -class ScDBData : public ScRefreshTimer -{ -private: - ScSortParam maSortParam; - ScQueryParam maQueryParam; - ScSubTotalParam maSubTotal; - ScImportParam maImportParam; - - // DBParam - const ::rtl::OUString aName; - SCTAB nTable; - SCCOL nStartCol; - SCROW nStartRow; - SCCOL nEndCol; - SCROW nEndRow; - bool bByRow; - bool bHasHeader; - bool bDoSize; - bool bKeepFmt; - bool bStripData; - - // QueryParam - bool bIsAdvanced; // true if created by advanced filter - ScRange aAdvSource; // source range - - bool bDBSelection; // not in Param: if selection, block update - - sal_uInt16 nIndex; // unique index formulas - bool bAutoFilter; // AutoFilter? (not saved) - bool bModified; // is set/cleared for/by(?) UpdateReference - - using ScRefreshTimer::operator==; - -public: - struct less : public ::std::binary_function<ScDBData, ScDBData, bool> - { - bool operator() (const ScDBData& left, const ScDBData& right) const; - }; - - SC_DLLPUBLIC ScDBData(const ::rtl::OUString& rName, - SCTAB nTab, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - bool bByR = true, bool bHasH = true); - ScDBData(const ScDBData& rData); - ScDBData(const ::rtl::OUString& rName, const ScDBData& rData); - ~ScDBData(); - - ScDBData& operator= (const ScDBData& rData); - - bool operator== (const ScDBData& rData) const; - - SCTAB GetTable() const; - const ::rtl::OUString& GetName() const { return aName; } - void GetArea(SCTAB& rTab, SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2) const; - SC_DLLPUBLIC void GetArea(ScRange& rRange) const; - void SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - void MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - bool IsByRow() const { return bByRow; } - void SetByRow(bool bByR) { bByRow = bByR; } - bool HasHeader() const { return bHasHeader; } - void SetHeader(bool bHasH) { bHasHeader = bHasH; } - void SetIndex(sal_uInt16 nInd) { nIndex = nInd; } - sal_uInt16 GetIndex() const { return nIndex; } - bool IsDoSize() const { return bDoSize; } - void SetDoSize(bool bSet) { bDoSize = bSet; } - bool IsKeepFmt() const { return bKeepFmt; } - void SetKeepFmt(bool bSet) { bKeepFmt = bSet; } - bool IsStripData() const { return bStripData; } - void SetStripData(bool bSet) { bStripData = bSet; } - - ::rtl::OUString GetSourceString() const; - ::rtl::OUString GetOperations() const; - - void GetSortParam(ScSortParam& rSortParam) const; - void SetSortParam(const ScSortParam& rSortParam); - - SC_DLLPUBLIC void GetQueryParam(ScQueryParam& rQueryParam) const; - SC_DLLPUBLIC void SetQueryParam(const ScQueryParam& rQueryParam); - SC_DLLPUBLIC bool GetAdvancedQuerySource(ScRange& rSource) const; - SC_DLLPUBLIC void SetAdvancedQuerySource(const ScRange* pSource); - - void GetSubTotalParam(ScSubTotalParam& rSubTotalParam) const; - void SetSubTotalParam(const ScSubTotalParam& rSubTotalParam); - - void GetImportParam(ScImportParam& rImportParam) const; - void SetImportParam(const ScImportParam& rImportParam); - - bool IsDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bStartOnly) const; - bool IsDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const; - - bool HasImportParam() const { return maImportParam.bImport; } - SC_DLLPUBLIC bool HasQueryParam() const; - bool HasSortParam() const { return maSortParam.bDoSort[0]; } - bool HasSubTotalParam() const { return maSubTotal.bGroupActive[0]; } - - bool HasImportSelection() const { return bDBSelection; } - void SetImportSelection(bool bSet) { bDBSelection = bSet; } - - bool HasAutoFilter() const { return bAutoFilter; } - void SetAutoFilter(bool bSet) { bAutoFilter = bSet; } - - bool IsModified() const { return bModified; } - void SetModified(bool bMod) { bModified = bMod; } - - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - void UpdateReference(ScDocument* pDoc, UpdateRefMode eUpdateRefMode, - SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz); - - void ExtendDataArea(ScDocument* pDoc); -}; - -class SC_DLLPUBLIC ScDBCollection -{ -public: - enum RangeType { GlobalNamed, GlobalAnonymous, SheetAnonymous }; - - /** - * Stores global named database ranges. - */ - class SC_DLLPUBLIC NamedDBs - { - friend class ScDBCollection; - - typedef ::boost::ptr_set<ScDBData, ScDBData::less> DBsType; - DBsType maDBs; - ScDBCollection& mrParent; - ScDocument& mrDoc; - NamedDBs(ScDBCollection& rParent, ScDocument& rDoc); - NamedDBs(const NamedDBs& r); - public: - typedef DBsType::iterator iterator; - typedef DBsType::const_iterator const_iterator; - - iterator begin(); - iterator end(); - const_iterator begin() const; - const_iterator end() const; - ScDBData* findByIndex(sal_uInt16 nIndex); - ScDBData* findByName(const ::rtl::OUString& rName); - bool insert(ScDBData* p); - void erase(iterator itr); - void erase(const ScDBData& r); - bool empty() const; - size_t size() const; - bool operator== (const NamedDBs& r) const; - }; - - /** - * Stores global anonymous database ranges. - */ - class AnonDBs - { - typedef ::boost::ptr_vector<ScDBData> DBsType; - DBsType maDBs; - public: - typedef DBsType::iterator iterator; - typedef DBsType::const_iterator const_iterator; - - iterator begin(); - iterator end(); - const_iterator begin() const; - const_iterator end() const; - const ScDBData* findAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bStartOnly) const; - const ScDBData* findByRange(const ScRange& rRange) const; - ScDBData* getByRange(const ScRange& rRange); - void insert(ScDBData* p); - void erase(iterator itr); - bool empty() const; - size_t size() const; - bool operator== (const AnonDBs& r) const; - }; - -private: - Link aRefreshHandler; - ScDocument* pDoc; - sal_uInt16 nEntryIndex; // counter for unique indices - NamedDBs maNamedDBs; - AnonDBs maAnonDBs; - -public: - ScDBCollection(ScDocument* pDocument); - ScDBCollection(const ScDBCollection& r); - - NamedDBs& getNamedDBs(); - const NamedDBs& getNamedDBs() const; - - AnonDBs& getAnonDBs(); - const AnonDBs& getAnonDBs() const; - - const ScDBData* GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_Bool bStartOnly) const; - ScDBData* GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_Bool bStartOnly); - const ScDBData* GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const; - ScDBData* GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - const ScDBData* GetFilterDBAtTable(SCTAB nTab) const; - ScDBData* GetDBNearCursor(SCCOL nCol, SCROW nRow, SCTAB nTab ); - - void DeleteOnTab( SCTAB nTab ); - void UpdateReference(UpdateRefMode eUpdateRefMode, - SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz); - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - - sal_uInt16 GetEntryIndex() { return nEntryIndex; } - void SetEntryIndex(sal_uInt16 nInd) { nEntryIndex = nInd; } - - void SetRefreshHandler( const Link& rLink ) - { aRefreshHandler = rLink; } - const Link& GetRefreshHandler() const { return aRefreshHandler; } - - bool empty() const; - bool operator== (const ScDBCollection& r) const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dbdocutl.hxx b/sc/inc/dbdocutl.hxx deleted file mode 100644 index ecf2d3b3c..000000000 --- a/sc/inc/dbdocutl.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DBDOCUTL_HXX -#define SC_DBDOCUTL_HXX - -#include "address.hxx" -#include <tools/solar.h> -#include <com/sun/star/uno/Reference.hxx> - -class ScDocument; - -namespace com { namespace sun { namespace star { namespace sdbc { - class XRow; -} } } } - - -class ScDatabaseDocUtil -{ -public: - /** - * Detailed information on single string value. - */ - struct StrData - { - bool mbSimpleText; - sal_uInt32 mnStrLength; - - StrData(); - }; - static void PutData( ScDocument* pDoc, SCCOL nCol, SCROW nRow, SCTAB nTab, - const ::com::sun::star::uno::Reference< - ::com::sun::star::sdbc::XRow>& xRow, long nRowPos, - long nType, sal_Bool bCurrency, StrData* pStrData = NULL ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/defltuno.hxx b/sc/inc/defltuno.hxx deleted file mode 100644 index d7965b989..000000000 --- a/sc/inc/defltuno.hxx +++ /dev/null @@ -1,132 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DEFLTUNO_HXX -#define SC_DEFLTUNO_HXX - -#include <svl/lstner.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/XPropertyState.hpp> -#include <cppuhelper/implbase3.hxx> -#include <svl/itemprop.hxx> - -class ScDocShell; - - -class ScDocDefaultsObj : public ::cppu::WeakImplHelper3< - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::beans::XPropertyState, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SfxItemPropertyMap aPropertyMap; - - void ItemsChanged(); - -public: - ScDocDefaultsObj(ScDocShell* pDocSh); - virtual ~ScDocDefaultsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XPropertyState - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL - getPropertyStates( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( - const ::rtl::OUString& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/detdata.hxx b/sc/inc/detdata.hxx deleted file mode 100644 index 8928fca62..000000000 --- a/sc/inc/detdata.hxx +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DETDATA_HXX -#define SC_DETDATA_HXX - -#include <svl/svarray.hxx> -#include "global.hxx" -#include "address.hxx" - - -//------------------------------------------------------------------------ - -#define SC_DETOP_GROW 4 - -//------------------------------------------------------------------------ -enum ScDetOpType -{ - SCDETOP_ADDSUCC, - SCDETOP_DELSUCC, - SCDETOP_ADDPRED, - SCDETOP_DELPRED, - SCDETOP_ADDERROR -}; - -//------------------------------------------------------------------------ - -class ScDetOpData -{ - ScAddress aPos; - ScDetOpType eOperation; - -public: - ScDetOpData( const ScAddress& rP, ScDetOpType eOp ) : - aPos(rP), eOperation(eOp) {} - - ScDetOpData( const ScDetOpData& rData ) : - aPos(rData.aPos), eOperation(rData.eOperation) {} - - const ScAddress& GetPos() const { return aPos; } - ScDetOpType GetOperation() const { return eOperation; } - - // for UpdateRef: - void SetPos(const ScAddress& rNew) { aPos=rNew; } - - int operator== ( const ScDetOpData& r ) const - { return eOperation == r.eOperation && aPos == r.aPos; } -}; - -//------------------------------------------------------------------------ - -// -// list of operators -// - -typedef ScDetOpData* ScDetOpDataPtr; - -SV_DECL_PTRARR_DEL(ScDetOpArr_Impl, ScDetOpDataPtr, SC_DETOP_GROW, SC_DETOP_GROW) - -class ScDetOpList : public ScDetOpArr_Impl -{ - sal_Bool bHasAddError; // updated in append - -public: - ScDetOpList() : bHasAddError(false) {} - ScDetOpList(const ScDetOpList& rList); - ~ScDetOpList() {} - - void DeleteOnTab( SCTAB nTab ); - void UpdateReference( ScDocument* pDoc, UpdateRefMode eUpdateRefMode, - const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - sal_Bool operator==( const ScDetOpList& r ) const; // for ref-undo - - void Append( ScDetOpData* pData ); - - sal_Bool HasAddError() const { return bHasAddError; } -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/detfunc.hxx b/sc/inc/detfunc.hxx deleted file mode 100644 index 2b051c373..000000000 --- a/sc/inc/detfunc.hxx +++ /dev/null @@ -1,176 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DETFUNC_HXX -#define SC_DETFUNC_HXX - -#include "address.hxx" -#include <tools/gen.hxx> -#include <tools/color.hxx> -#include "scdllapi.h" -#include "token.hxx" - -#include <vector> - -class SdrObject; -class SdrPage; -class String; - -class ScPostIt; -class ScCommentData; -class ScDetectiveData; -class ScDocument; -class ScAddress; -class ScRange; -class ScRangeList; - -#define SC_DET_MAXCIRCLE 1000 - -enum ScDetectiveDelete { SC_DET_ALL, SC_DET_DETECTIVE, SC_DET_CIRCLES, SC_DET_ARROWS }; - -enum ScDetectiveObjType -{ - SC_DETOBJ_NONE, - SC_DETOBJ_ARROW, - SC_DETOBJ_FROMOTHERTAB, - SC_DETOBJ_TOOTHERTAB, - SC_DETOBJ_CIRCLE -}; - -class SC_DLLPUBLIC ScDetectiveFunc -{ - static ColorData nArrowColor; - static ColorData nErrorColor; - static ColorData nCommentColor; - static sal_Bool bColorsInitialized; - - ScDocument* pDoc; - SCTAB nTab; - - enum DrawPosMode - { - DRAWPOS_TOPLEFT, /// Top-left edge of the cell. - DRAWPOS_BOTTOMRIGHT, /// Bottom-right edge of the cell. - DRAWPOS_DETARROW, /// Position inside cell for detective arrows. - DRAWPOS_CAPTIONLEFT, /// Top-left edge of the cell for captions. - DRAWPOS_CAPTIONRIGHT /// Top-right edge of the cell for captions (incl. merged cells). - }; - - /** Returns a drawing layer position for the passed cell address. */ - Point GetDrawPos( SCCOL nCol, SCROW nRow, DrawPosMode eMode ) const; - - /** Returns the drawing layer rectangle for the passed cell range. */ - Rectangle GetDrawRect( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const; - - /** Returns the drawing layer rectangle for the passed cell address. */ - Rectangle GetDrawRect( SCCOL nCol, SCROW nRow ) const; - - sal_Bool HasArrow( const ScAddress& rStart, - SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab ); - - void DeleteArrowsAt( SCCOL nCol, SCROW nRow, sal_Bool bDestPnt ); - void DeleteBox( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - - sal_Bool HasError( const ScRange& rRange, ScAddress& rErrPos ); - - void FillAttributes( ScDetectiveData& rData ); - - // called from DrawEntry/DrawAlienEntry and InsertObject - sal_Bool InsertArrow( SCCOL nCol, SCROW nRow, - SCCOL nRefStartCol, SCROW nRefStartRow, - SCCOL nRefEndCol, SCROW nRefEndRow, - sal_Bool bFromOtherTab, sal_Bool bRed, - ScDetectiveData& rData ); - sal_Bool InsertToOtherTab( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, sal_Bool bRed, - ScDetectiveData& rData ); - - // DrawEntry / DrawAlienEntry check for existing arrows and errors - sal_Bool DrawEntry( SCCOL nCol, SCROW nRow, const ScRange& rRef, - ScDetectiveData& rData ); - sal_Bool DrawAlienEntry( const ScRange& rRef, - ScDetectiveData& rData ); - - void DrawCircle( SCCOL nCol, SCROW nRow, ScDetectiveData& rData ); - - sal_uInt16 InsertPredLevel( SCCOL nCol, SCROW nRow, ScDetectiveData& rData, sal_uInt16 nLevel ); - sal_uInt16 InsertPredLevelArea( const ScRange& rRef, - ScDetectiveData& rData, sal_uInt16 nLevel ); - sal_uInt16 FindPredLevel( SCCOL nCol, SCROW nRow, sal_uInt16 nLevel, sal_uInt16 nDeleteLevel ); - sal_uInt16 FindPredLevelArea( const ScRange& rRef, - sal_uInt16 nLevel, sal_uInt16 nDeleteLevel ); - - sal_uInt16 InsertErrorLevel( SCCOL nCol, SCROW nRow, ScDetectiveData& rData, sal_uInt16 nLevel ); - - sal_uInt16 InsertSuccLevel( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - ScDetectiveData& rData, sal_uInt16 nLevel ); - sal_uInt16 FindSuccLevel( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nLevel, sal_uInt16 nDeleteLevel ); - - sal_Bool FindFrameForObject( SdrObject* pObject, ScRange& rRange ); - - void Modified(); - -public: - ScDetectiveFunc(ScDocument* pDocument, SCTAB nTable) : pDoc(pDocument),nTab(nTable) {} - - sal_Bool ShowSucc( SCCOL nCol, SCROW nRow ); - sal_Bool ShowPred( SCCOL nCol, SCROW nRow ); - sal_Bool ShowError( SCCOL nCol, SCROW nRow ); - - sal_Bool DeleteSucc( SCCOL nCol, SCROW nRow ); - sal_Bool DeletePred( SCCOL nCol, SCROW nRow ); - sal_Bool DeleteAll( ScDetectiveDelete eWhat ); - - sal_Bool MarkInvalid(sal_Bool& rOverflow); - - void GetAllPreds(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ::std::vector<ScTokenRef>& rRefTokens); - void GetAllSuccs(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ::std::vector<ScTokenRef>& rRefTokens); - - static void UpdateAllComments( ScDocument& rDoc ); // on all tables - void UpdateAllArrowColors(); // on all tables - - static sal_Bool IsNonAlienArrow( SdrObject* pObject ); - - ScDetectiveObjType GetDetectiveObjectType( SdrObject* pObject, SCTAB nObjTab, - ScAddress& rPosition, ScRange& rSource, sal_Bool& rRedLine ); - void InsertObject( ScDetectiveObjType eType, const ScAddress& rPosition, - const ScRange& rSource, sal_Bool bRedLine ); - - static ColorData GetArrowColor(); - static ColorData GetErrorColor(); - static ColorData GetCommentColor(); - static void InitializeColors(); - static sal_Bool IsColorsInitialized(); -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dispuno.hxx b/sc/inc/dispuno.hxx deleted file mode 100644 index 38353dcf2..000000000 --- a/sc/inc/dispuno.hxx +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DISPUNO_HXX -#define SC_DISPUNO_HXX - -#include <com/sun/star/frame/XDispatchProviderInterceptor.hpp> -#include <com/sun/star/view/XSelectionChangeListener.hpp> -#include <cppuhelper/implbase2.hxx> -#include <svl/lstner.hxx> -#include <svl/svarray.hxx> -#include "global.hxx" // ScImportParam - - -namespace com { namespace sun { namespace star { namespace frame { - class XDispatchProviderInterception; -} } } } - -class ScTabViewShell; - - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XStatusListener >* XStatusListenerPtr; -SV_DECL_PTRARR_DEL( XStatusListenerArr_Impl, XStatusListenerPtr, 4, 4 ) - - -class ScDispatchProviderInterceptor : public cppu::WeakImplHelper2< - com::sun::star::frame::XDispatchProviderInterceptor, - com::sun::star::lang::XEventListener>, - public SfxListener -{ - ScTabViewShell* pViewShell; - - // the component which's dispatches we're intercepting - ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatchProviderInterception> m_xIntercepted; - - // chaining - ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatchProvider> m_xSlaveDispatcher; - ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatchProvider> m_xMasterDispatcher; - - // own dispatch - ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatch> m_xMyDispatch; - -public: - - ScDispatchProviderInterceptor(ScTabViewShell* pViewSh); - virtual ~ScDispatchProviderInterceptor(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDispatchProvider - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL - queryDispatch( const ::com::sun::star::util::URL& aURL, - const ::rtl::OUString& aTargetFrameName, - sal_Int32 nSearchFlags ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatch > > SAL_CALL - queryDispatches( const ::com::sun::star::uno::Sequence< - ::com::sun::star::frame::DispatchDescriptor >& aDescripts ) - throw(::com::sun::star::uno::RuntimeException); - - // XDispatchProviderInterceptor - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider > SAL_CALL - getSlaveDispatchProvider() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSlaveDispatchProvider( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatchProvider >& xNewDispatchProvider ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider > SAL_CALL - getMasterDispatchProvider() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setMasterDispatchProvider( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XDispatchProvider >& xNewSupplier ) - throw(::com::sun::star::uno::RuntimeException); - - // XEventListener - virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScDispatch : public cppu::WeakImplHelper2< - com::sun::star::frame::XDispatch, - com::sun::star::view::XSelectionChangeListener >, - public SfxListener -{ - ScTabViewShell* pViewShell; - XStatusListenerArr_Impl aDataSourceListeners; - ScImportParam aLastImport; - sal_Bool bListeningToView; - -public: - - ScDispatch(ScTabViewShell* pViewSh); - virtual ~ScDispatch(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDispatch - virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& aURL, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aArgs ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addStatusListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XStatusListener >& xControl, - const ::com::sun::star::util::URL& aURL ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeStatusListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::frame::XStatusListener >& xControl, - const ::com::sun::star::util::URL& aURL ) - throw(::com::sun::star::uno::RuntimeException); - - // XSelectionChangeListener - virtual void SAL_CALL selectionChanged( const ::com::sun::star::lang::EventObject& aEvent ) - throw (::com::sun::star::uno::RuntimeException); - - // XEventListener - virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) - throw (::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx deleted file mode 100644 index d79879297..000000000 --- a/sc/inc/dociter.hxx +++ /dev/null @@ -1,565 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DOCITER_HXX -#define SC_DOCITER_HXX - -#include "address.hxx" -#include <tools/solar.h> -#include "global.hxx" -#include "scdllapi.h" -#include "queryparam.hxx" - -#include <memory> - -#include <set> -#include <vector> -#include <boost/shared_ptr.hpp> - -class ScDocument; -class ScBaseCell; -class ScPatternAttr; -class ScAttrArray; -class ScAttrIterator; -class ScRange; -class ScFlatBoolRowSegments; - -class ScDocumentIterator // walk through all non-empty cells -{ -private: - ScDocument* pDoc; - SCTAB nStartTab; - SCTAB nEndTab; - - const ScPatternAttr* pDefPattern; - - SCCOL nCol; - SCROW nRow; - SCTAB nTab; - ScBaseCell* pCell; - const ScPatternAttr* pPattern; - - - SCSIZE nColPos; - SCSIZE nAttrPos; - - sal_Bool GetThis(); - sal_Bool GetThisCol(); - -public: - ScDocumentIterator( ScDocument* pDocument, SCTAB nStartTable, SCTAB nEndTable ); - ~ScDocumentIterator(); - - sal_Bool GetFirst(); - sal_Bool GetNext(); - - ScBaseCell* GetCell(); - const ScPatternAttr* GetPattern(); - void GetPos( SCCOL& rCol, SCROW& rRow, SCTAB& rTab ); -}; - -class ScValueIterator // walk through all values in an area -{ -private: - double fNextValue; - ScDocument* pDoc; - const ScAttrArray* pAttrArray; - sal_uLong nNumFormat; // for CalcAsShown - sal_uLong nNumFmtIndex; - SCCOL nStartCol; - SCROW nStartRow; - SCTAB nStartTab; - SCCOL nEndCol; - SCROW nEndRow; - SCTAB nEndTab; - SCCOL nCol; - SCROW nRow; - SCTAB nTab; - SCSIZE nColRow; - SCROW nNextRow; - SCROW nAttrEndRow; - short nNumFmtType; - sal_Bool bNumValid; - sal_Bool bSubTotal; - sal_Bool bNextValid; - sal_Bool bCalcAsShown; - sal_Bool bTextAsZero; - - sal_Bool GetThis(double& rValue, sal_uInt16& rErr); -public: - - ScValueIterator(ScDocument* pDocument, - const ScRange& rRange, sal_Bool bSTotal = false, - sal_Bool bTextAsZero = false ); - void GetCurNumFmtInfo( short& nType, sal_uLong& nIndex ); - /// Does NOT reset rValue if no value found! - sal_Bool GetFirst(double& rValue, sal_uInt16& rErr); - /// Does NOT reset rValue if no value found! - sal_Bool GetNext(double& rValue, sal_uInt16& rErr) - { - return bNextValid ? ( bNextValid = false, rValue = fNextValue, - rErr = 0, nRow = nNextRow, - ++nColRow, bNumValid = false, sal_True ) - : ( ++nRow, GetThis(rValue, rErr) ); - } -}; - -class ScDBQueryDataIterator -{ -public: - struct Value - { - ::rtl::OUString maString; - double mfValue; - sal_uInt16 mnError; - bool mbIsNumber; - - Value(); - }; - -private: - static SCROW GetRowByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow); - static ScBaseCell* GetCellByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow); - static ScAttrArray* GetAttrArrayByCol(ScDocument& rDoc, SCTAB nTab, SCCOL nCol); - static bool IsQueryValid(ScDocument& rDoc, const ScQueryParam& rParam, SCTAB nTab, SCROW nRow, ScBaseCell* pCell); - static SCSIZE SearchColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCROW nRow, SCCOL nCol); - - class DataAccess - { - public: - DataAccess(const ScDBQueryDataIterator* pParent); - virtual ~DataAccess() = 0; - virtual bool getCurrent(Value& rValue) = 0; - virtual bool getFirst(Value& rValue) = 0; - virtual bool getNext(Value& rValue) = 0; - protected: - const ScDBQueryDataIterator* mpParent; - }; - - class DataAccessInternal : public DataAccess - { - public: - DataAccessInternal(const ScDBQueryDataIterator* pParent, ScDBQueryParamInternal* pParam, ScDocument* pDoc); - virtual ~DataAccessInternal(); - virtual bool getCurrent(Value& rValue); - virtual bool getFirst(Value& rValue); - virtual bool getNext(Value& rValue); - - private: - ScDBQueryParamInternal* mpParam; - ScDocument* mpDoc; - const ScAttrArray* pAttrArray; - sal_uLong nNumFormat; // for CalcAsShown - sal_uLong nNumFmtIndex; - SCCOL nCol; - SCROW nRow; - SCSIZE nColRow; - SCROW nAttrEndRow; - SCTAB nTab; - short nNumFmtType; - bool bCalcAsShown; - }; - - class DataAccessMatrix : public DataAccess - { - public: - DataAccessMatrix(const ScDBQueryDataIterator* pParent, ScDBQueryParamMatrix* pParam); - virtual ~DataAccessMatrix(); - virtual bool getCurrent(Value& rValue); - virtual bool getFirst(Value& rValue); - virtual bool getNext(Value& rValue); - - private: - bool isValidQuery(SCROW mnRow, const ScMatrix& rMat) const; - - ScDBQueryParamMatrix* mpParam; - SCROW mnCurRow; - SCROW mnRows; - SCCOL mnCols; - }; - - ::std::auto_ptr<ScDBQueryParamBase> mpParam; - ::std::auto_ptr<DataAccess> mpData; - -public: - ScDBQueryDataIterator(ScDocument* pDocument, ScDBQueryParamBase* pParam); - /// Does NOT reset rValue if no value found! - bool GetFirst(Value& rValue); - /// Does NOT reset rValue if no value found! - bool GetNext(Value& rValue); -}; - -class ScCellIterator // walk through all cells in an area -{ // for SubTotal no hidden and no sub-total lines -private: - ScDocument* pDoc; - SCCOL nStartCol; - SCROW nStartRow; - SCTAB nStartTab; - SCCOL nEndCol; - SCROW nEndRow; - SCTAB nEndTab; - SCCOL nCol; - SCROW nRow; - SCTAB nTab; - SCSIZE nColRow; - sal_Bool bSubTotal; - - ScBaseCell* GetThis(); -public: - ScCellIterator(ScDocument* pDocument, - SCCOL nSCol, SCROW nSRow, SCTAB nSTab, - SCCOL nECol, SCROW nERow, SCTAB nETab, - sal_Bool bSTotal = false); - ScCellIterator(ScDocument* pDocument, - const ScRange& rRange, sal_Bool bSTotal = false); - ScBaseCell* GetFirst(); - ScBaseCell* GetNext(); - SCCOL GetCol() const { return nCol; } - SCROW GetRow() const { return nRow; } - SCTAB GetTab() const { return nTab; } - ScAddress GetPos() const { return ScAddress( nCol, nRow, nTab ); } -}; - -class ScQueryCellIterator // walk through all non-empty cells in an area -{ - enum StopOnMismatchBits - { - nStopOnMismatchDisabled = 0x00, - nStopOnMismatchEnabled = 0x01, - nStopOnMismatchOccurred = 0x02, - nStopOnMismatchExecuted = nStopOnMismatchEnabled | nStopOnMismatchOccurred - }; - - enum TestEqualConditionBits - { - nTestEqualConditionDisabled = 0x00, - nTestEqualConditionEnabled = 0x01, - nTestEqualConditionMatched = 0x02, - nTestEqualConditionFulfilled = nTestEqualConditionEnabled | nTestEqualConditionMatched - }; - -private: - ScQueryParam aParam; - ScDocument* pDoc; - const ScAttrArray* pAttrArray; - sal_uLong nNumFormat; - SCTAB nTab; - SCCOL nCol; - SCROW nRow; - SCSIZE nColRow; - SCROW nAttrEndRow; - sal_uInt8 nStopOnMismatch; - sal_uInt8 nTestEqualCondition; - sal_Bool bAdvanceQuery; - sal_Bool bIgnoreMismatchOnLeadingStrings; - - ScBaseCell* GetThis(); - - /* Only works if no regular expression is involved, only - searches for rows in one column, and only the first - query entry is considered with simple conditions - SC_LESS_EQUAL (sorted ascending) or SC_GREATER_EQUAL - (sorted descending). Check these things before - invocation! Delivers a starting point, continue with - GetThis() and GetNext() afterwards. Introduced for - FindEqualOrSortedLastInRange() - */ - ScBaseCell* BinarySearch(); - -public: - ScQueryCellIterator(ScDocument* pDocument, SCTAB nTable, - const ScQueryParam& aParam, sal_Bool bMod = true); - // for bMod = FALSE the QueryParam has to be filled - // (bIsString) - ScBaseCell* GetFirst(); - ScBaseCell* GetNext(); - SCCOL GetCol() { return nCol; } - SCROW GetRow() { return nRow; } - - // increments all Entry.nField, if column - // changes, for ScInterpreter ScHLookup() - void SetAdvanceQueryParamEntryField( sal_Bool bVal ) - { bAdvanceQuery = bVal; } - void AdvanceQueryParamEntryField(); - - /** If set, iterator stops on first non-matching cell - content. May be used in SC_LESS_EQUAL queries where a - cell range is assumed to be sorted; stops on first - value being greater than the queried value and - GetFirst()/GetNext() return NULL. StoppedOnMismatch() - returns sal_True then. - However, the iterator's conditions are not set to end - all queries, GetCol() and GetRow() return values for - the non-matching cell, further GetNext() calls may be - executed. */ - void SetStopOnMismatch( sal_Bool bVal ) - { - nStopOnMismatch = sal::static_int_cast<sal_uInt8>(bVal ? nStopOnMismatchEnabled : - nStopOnMismatchDisabled); - } - sal_Bool StoppedOnMismatch() const - { return nStopOnMismatch == nStopOnMismatchExecuted; } - - /** If set, an additional test for SC_EQUAL condition is - executed in ScTable::ValidQuery() if SC_LESS_EQUAL or - SC_GREATER_EQUAL conditions are to be tested. May be - used where a cell range is assumed to be sorted to stop - if an equal match is found. */ - void SetTestEqualCondition( sal_Bool bVal ) - { - nTestEqualCondition = sal::static_int_cast<sal_uInt8>(bVal ? - nTestEqualConditionEnabled : - nTestEqualConditionDisabled); - } - sal_Bool IsEqualConditionFulfilled() const - { return nTestEqualCondition == nTestEqualConditionFulfilled; } - - /** In a range assumed to be sorted find either the last of - a sequence of equal entries or the last being less than - (or greater than) the queried value. Used by the - interpreter for [HV]?LOOKUP() and MATCH(). Column and - row position of the found entry are returned, otherwise - invalid. - - @param bSearchForEqualAfterMismatch - Continue searching for an equal entry even if the - last entry matching the range was found, in case - the data is not sorted. Is always done if regular - expressions are involved. - - @param bIgnoreMismatchOnLeadingStrings - Normally strings are sorted behind numerical - values. If this parameter is sal_True, the search does - not stop when encountering a string and does not - assume that no values follow anymore. - If querying for a string a mismatch on the first - entry, e.g. column header, is ignored. - - @ATTENTION! StopOnMismatch, TestEqualCondition and - the internal IgnoreMismatchOnLeadingStrings and query - params are in an undefined state upon return! The - iterator is not usable anymore except for obtaining the - number format! - */ - sal_Bool FindEqualOrSortedLastInRange( SCCOL& nFoundCol, - SCROW& nFoundRow, sal_Bool bSearchForEqualAfterMismatch = false, - sal_Bool bIgnoreMismatchOnLeadingStrings = sal_True ); -}; - -class ScDocAttrIterator // all attribute areas -{ -private: - ScDocument* pDoc; - SCTAB nTab; - SCCOL nEndCol; - SCROW nStartRow; - SCROW nEndRow; - SCCOL nCol; - ScAttrIterator* pColIter; - -public: - ScDocAttrIterator(ScDocument* pDocument, SCTAB nTable, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - ~ScDocAttrIterator(); - - const ScPatternAttr* GetNext( SCCOL& rCol, SCROW& rRow1, SCROW& rRow2 ); -}; - -class ScAttrRectIterator // all attribute areas, including areas stretching - // across more then one column -{ -private: - ScDocument* pDoc; - SCTAB nTab; - SCCOL nEndCol; - SCROW nStartRow; - SCROW nEndRow; - SCCOL nIterStartCol; - SCCOL nIterEndCol; - ScAttrIterator* pColIter; - -public: - ScAttrRectIterator(ScDocument* pDocument, SCTAB nTable, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - ~ScAttrRectIterator(); - - void DataChanged(); - const ScPatternAttr* GetNext( SCCOL& rCol1, SCCOL& rCol2, SCROW& rRow1, SCROW& rRow2 ); -}; - -class ScHorizontalCellIterator // walk through all non empty cells in an area -{ // row by row -private: - ScDocument* pDoc; - SCTAB nTab; - SCCOL nStartCol; - SCCOL nEndCol; - SCROW nEndRow; - SCROW* pNextRows; - SCSIZE* pNextIndices; - SCCOL nCol; - SCROW nRow; - sal_Bool bMore; - -public: - ScHorizontalCellIterator(ScDocument* pDocument, SCTAB nTable, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - ~ScHorizontalCellIterator(); - - ScBaseCell* GetNext( SCCOL& rCol, SCROW& rRow ); - sal_Bool ReturnNext( SCCOL& rCol, SCROW& rRow ); - -private: - void Advance(); -}; - - -// -// returns all areas with non-default formatting (horizontal) -// - -class ScHorizontalAttrIterator -{ -private: - ScDocument* pDoc; - SCTAB nTab; - SCCOL nStartCol; - SCROW nStartRow; - SCCOL nEndCol; - SCROW nEndRow; - - SCROW* pNextEnd; - SCSIZE* pIndices; - const ScPatternAttr** ppPatterns; - SCCOL nCol; - SCROW nRow; - sal_Bool bRowEmpty; - -public: - ScHorizontalAttrIterator( ScDocument* pDocument, SCTAB nTable, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - ~ScHorizontalAttrIterator(); - - const ScPatternAttr* GetNext( SCCOL& rCol1, SCCOL& rCol2, SCROW& rRow ); -}; - -// -// returns non-empty cells and areas with formatting (horizontal) -// - -class SC_DLLPUBLIC ScUsedAreaIterator -{ -private: - ScHorizontalCellIterator aCellIter; - ScHorizontalAttrIterator aAttrIter; - - SCCOL nNextCol; - SCROW nNextRow; - - SCCOL nCellCol; - SCROW nCellRow; - const ScBaseCell* pCell; - SCCOL nAttrCol1; - SCCOL nAttrCol2; - SCROW nAttrRow; - const ScPatternAttr* pPattern; - - SCCOL nFoundStartCol; // results after GetNext - SCCOL nFoundEndCol; - SCROW nFoundRow; - const ScPatternAttr* pFoundPattern; - const ScBaseCell* pFoundCell; - -public: - ScUsedAreaIterator( ScDocument* pDocument, SCTAB nTable, - SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ); - ~ScUsedAreaIterator(); - - sal_Bool GetNext(); - - SCCOL GetStartCol() const { return nFoundStartCol; } - SCCOL GetEndCol() const { return nFoundEndCol; } - SCROW GetRow() const { return nFoundRow; } - const ScPatternAttr* GetPattern() const { return pFoundPattern; } - const ScBaseCell* GetCell() const { return pFoundCell; } -}; - -class ScRowBreakIterator -{ -public: - static SCROW NOT_FOUND; - - explicit ScRowBreakIterator(::std::set<SCROW>& rBreaks); - SCROW first(); - SCROW next(); - -private: - ::std::set<SCROW>& mrBreaks; - ::std::set<SCROW>::const_iterator maItr; - ::std::set<SCROW>::const_iterator maEnd; -}; - -class ScDocRowHeightUpdater -{ -public: - struct TabRanges - { - SCTAB mnTab; - ::boost::shared_ptr<ScFlatBoolRowSegments> mpRanges; - - TabRanges(); - TabRanges(SCTAB nTab); - }; - - /** - * Passing a NULL pointer to pTabRangesArray forces the heights of all - * rows in all tables to be updated. - */ - explicit ScDocRowHeightUpdater( - ScDocument& rDoc, OutputDevice* pOutDev, double fPPTX, double fPPTY, - const ::std::vector<TabRanges>* pTabRangesArray = NULL); - - void update(); - -private: - void updateAll(); - -private: - ScDocument& mrDoc; - OutputDevice* mpOutDev; - double mfPPTX; - double mfPPTY; - const ::std::vector<TabRanges>* mpTabRangesArray; -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/docoptio.hxx b/sc/inc/docoptio.hxx deleted file mode 100644 index 8ebcc36ef..000000000 --- a/sc/inc/docoptio.hxx +++ /dev/null @@ -1,253 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DOCOPTIO_HXX -#define SC_DOCOPTIO_HXX - -#include <unotools/configitem.hxx> -#include <svl/poolitem.hxx> -#include <svl/itemprop.hxx> -#include "scdllapi.h" -#include "scmod.hxx" -#include "optutil.hxx" - -#include "formula/grammar.hxx" - -class SC_DLLPUBLIC ScDocOptions -{ - double fIterEps; // epsilon value dazu - sal_uInt16 nIterCount; // number - SCTAB nInitTabCount; // number of Tabs for new Spreadssheet doc - sal_uInt16 nPrecStandardFormat; // precision for standard format - ScOptionsUtil::KeyBindingType eKeyBindingType; - sal_uInt16 nDay; // Null date: - sal_uInt16 nMonth; - sal_uInt16 nYear; - sal_uInt16 nYear2000; // earlier 19YY is assumed, 20YY otherwise (if only YY of year is given) - sal_uInt16 nTabDistance; // distance of standard tabs - sal_Bool bIsIgnoreCase; // ignore case for comparisons? - sal_Bool bIsIter; // iterations for circular refs - sal_Bool bCalcAsShown; // calculate as shown (wrt precision) - sal_Bool bMatchWholeCell; // search criteria must match the whole cell - sal_Bool bDoAutoSpell; // auto-spelling - sal_Bool bLookUpColRowNames; // determine column-/row titles automagically - sal_Bool bFormulaRegexEnabled; // regular expressions in formulas enabled - bool bUseEnglishFuncName; // use English function name even if the locale is not English. - ::formula::FormulaGrammar::Grammar eFormulaGrammar; // formula grammar used to switch different formula syntax - - ::rtl::OUString aFormulaSepArg; - ::rtl::OUString aFormulaSepArrayRow; - ::rtl::OUString aFormulaSepArrayCol; - -public: - ScDocOptions(); - ScDocOptions( const ScDocOptions& rCpy ); - ~ScDocOptions(); - - sal_Bool IsLookUpColRowNames() const { return bLookUpColRowNames; } - void SetLookUpColRowNames( sal_Bool bVal ) { bLookUpColRowNames = bVal; } - sal_Bool IsAutoSpell() const { return bDoAutoSpell; } - void SetAutoSpell( sal_Bool bVal ) { bDoAutoSpell = bVal; } - sal_Bool IsMatchWholeCell() const { return bMatchWholeCell; } - void SetMatchWholeCell( sal_Bool bVal ){ bMatchWholeCell = bVal; } - sal_Bool IsIgnoreCase() const { return bIsIgnoreCase; } - void SetIgnoreCase( sal_Bool bVal ) { bIsIgnoreCase = bVal; } - sal_Bool IsIter() const { return bIsIter; } - void SetIter( sal_Bool bVal ) { bIsIter = bVal; } - sal_uInt16 GetIterCount() const { return nIterCount; } - void SetIterCount( sal_uInt16 nCount) { nIterCount = nCount; } - SCTAB GetInitTabCount() const { return nInitTabCount; } - void SetInitTabCount( SCTAB nTabs) { nInitTabCount = nTabs; } - double GetIterEps() const { return fIterEps; } - void SetIterEps( double fEps ) { fIterEps = fEps; } - - void GetDate( sal_uInt16& rD, sal_uInt16& rM, sal_uInt16& rY ) const - { rD = nDay; rM = nMonth; rY = nYear;} - void SetDate (sal_uInt16 nD, sal_uInt16 nM, sal_uInt16 nY) - { nDay = nD; nMonth = nM; nYear = nY; } - sal_uInt16 GetTabDistance() const { return nTabDistance;} - void SetTabDistance( sal_uInt16 nTabDist ) {nTabDistance = nTabDist;} - - void ResetDocOptions(); - - inline const ScDocOptions& operator=( const ScDocOptions& rOpt ); - inline bool operator==( const ScDocOptions& rOpt ) const; - inline bool operator!=( const ScDocOptions& rOpt ) const; - - sal_uInt16 GetStdPrecision() const { return nPrecStandardFormat; } - void SetStdPrecision( sal_uInt16 n ) { nPrecStandardFormat = n; } - - ScOptionsUtil::KeyBindingType GetKeyBindingType() const { return eKeyBindingType; } - void SetKeyBindingType( ScOptionsUtil::KeyBindingType e ) { eKeyBindingType = e; } - - sal_Bool IsCalcAsShown() const { return bCalcAsShown; } - void SetCalcAsShown( sal_Bool bVal ) { bCalcAsShown = bVal; } - - void SetYear2000( sal_uInt16 nVal ) { nYear2000 = nVal; } - sal_uInt16 GetYear2000() const { return nYear2000; } - - void SetFormulaRegexEnabled( sal_Bool bVal ) { bFormulaRegexEnabled = bVal; } - sal_Bool IsFormulaRegexEnabled() const { return bFormulaRegexEnabled; } - - void SetFormulaSyntax( ::formula::FormulaGrammar::Grammar eGram ) { eFormulaGrammar = eGram; } - ::formula::FormulaGrammar::Grammar GetFormulaSyntax() const { return eFormulaGrammar; } - - void SetUseEnglishFuncName( bool bVal ) { bUseEnglishFuncName = bVal; } - bool GetUseEnglishFuncName() const { return bUseEnglishFuncName; } - - void SetFormulaSepArg(const ::rtl::OUString& rSep) { aFormulaSepArg = rSep; } - ::rtl::OUString GetFormulaSepArg() const { return aFormulaSepArg; } - - void SetFormulaSepArrayRow(const ::rtl::OUString& rSep) { aFormulaSepArrayRow = rSep; } - ::rtl::OUString GetFormulaSepArrayRow() const { return aFormulaSepArrayRow; } - - void SetFormulaSepArrayCol(const ::rtl::OUString& rSep) { aFormulaSepArrayCol = rSep; } - ::rtl::OUString GetFormulaSepArrayCol() const { return aFormulaSepArrayCol; } - - void ResetFormulaSeparators(); - static const LocaleDataWrapper& GetLocaleDataWrapper(); -}; - -inline const ScDocOptions& ScDocOptions::operator=( const ScDocOptions& rCpy ) -{ - bIsIgnoreCase = rCpy.bIsIgnoreCase; - bIsIter = rCpy.bIsIter; - nIterCount = rCpy.nIterCount; - nInitTabCount = rCpy.nInitTabCount; - fIterEps = rCpy.fIterEps; - nPrecStandardFormat = rCpy.nPrecStandardFormat; - eKeyBindingType = rCpy.eKeyBindingType; - nDay = rCpy.nDay; - nMonth = rCpy.nMonth; - nYear = rCpy.nYear; - nYear2000 = rCpy.nYear2000; - nTabDistance = rCpy.nTabDistance; - bCalcAsShown = rCpy.bCalcAsShown; - bMatchWholeCell = rCpy.bMatchWholeCell; - bDoAutoSpell = rCpy.bDoAutoSpell; - bLookUpColRowNames = rCpy.bLookUpColRowNames; - bFormulaRegexEnabled= rCpy.bFormulaRegexEnabled; - bUseEnglishFuncName = rCpy.bUseEnglishFuncName; - eFormulaGrammar = rCpy.eFormulaGrammar; - aFormulaSepArg = rCpy.aFormulaSepArg; - aFormulaSepArrayRow = rCpy.aFormulaSepArrayRow; - aFormulaSepArrayCol = rCpy.aFormulaSepArrayCol; - - return *this; -} - -inline bool ScDocOptions::operator==( const ScDocOptions& rOpt ) const -{ - return ( - rOpt.bIsIgnoreCase == bIsIgnoreCase - && rOpt.bIsIter == bIsIter - && rOpt.nIterCount == nIterCount - && rOpt.nInitTabCount == nInitTabCount - && rOpt.fIterEps == fIterEps - && rOpt.nPrecStandardFormat == nPrecStandardFormat - && rOpt.eKeyBindingType == eKeyBindingType - && rOpt.nDay == nDay - && rOpt.nMonth == nMonth - && rOpt.nYear == nYear - && rOpt.nYear2000 == nYear2000 - && rOpt.nTabDistance == nTabDistance - && rOpt.bCalcAsShown == bCalcAsShown - && rOpt.bMatchWholeCell == bMatchWholeCell - && rOpt.bDoAutoSpell == bDoAutoSpell - && rOpt.bLookUpColRowNames == bLookUpColRowNames - && rOpt.bFormulaRegexEnabled == bFormulaRegexEnabled - && rOpt.bUseEnglishFuncName == bUseEnglishFuncName - && rOpt.eFormulaGrammar == eFormulaGrammar - && rOpt.aFormulaSepArg == aFormulaSepArg - && rOpt.aFormulaSepArrayRow == aFormulaSepArrayRow - && rOpt.aFormulaSepArrayCol == aFormulaSepArrayCol - ); -} - -inline bool ScDocOptions::operator!=( const ScDocOptions& rOpt ) const -{ - return !(operator==(rOpt)); -} - -//================================================================== -// Item for preferences dialog - calculation -//================================================================== - -class SC_DLLPUBLIC ScTpCalcItem : public SfxPoolItem -{ -public: - TYPEINFO(); - ScTpCalcItem( sal_uInt16 nWhich, - const ScDocOptions& rOpt ); - ScTpCalcItem( const ScTpCalcItem& rItem ); - ~ScTpCalcItem(); - - virtual String GetValueText() const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - const ScDocOptions& GetDocOptions() const { return theOptions; } - -private: - ScDocOptions theOptions; -}; - -//================================================================== -// Config Item containing document options -//================================================================== - -class ScDocCfg : public ScDocOptions -{ - ScLinkConfigItem aCalcItem; - ScLinkConfigItem aFormulaItem; - ScLinkConfigItem aLayoutItem; - ScLinkConfigItem aCompatItem; - ScLinkConfigItem aDefaultsItem; - - DECL_LINK( CalcCommitHdl, void* ); - DECL_LINK( FormulaCommitHdl, void* ); - DECL_LINK( LayoutCommitHdl, void* ); - DECL_LINK( CompatCommitHdl, void* ); - DECL_LINK( DefaultsCommitHdl, void* ); - - com::sun::star::uno::Sequence<rtl::OUString> GetCalcPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetFormulaPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetCompatPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetDefaultsPropertyNames(); - -public: - ScDocCfg(); - - void SetOptions( const ScDocOptions& rNew ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/docparam.hxx b/sc/inc/docparam.hxx deleted file mode 100644 index c5d0ec310..000000000 --- a/sc/inc/docparam.hxx +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DOCPARAM_HXX -#define SC_DOCPARAM_HXX - -#include "address.hxx" - -// Let's put here misc structures that get passed to ScDocument's methods. - -struct ScColWidthParam -{ - SCROW mnMaxTextRow; - sal_uInt32 mnMaxTextLen; - bool mbSimpleText; - - ScColWidthParam(); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/docpool.hxx b/sc/inc/docpool.hxx deleted file mode 100644 index bf3351b09..000000000 --- a/sc/inc/docpool.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCDOCPOL_HXX -#define SC_SCDOCPOL_HXX - -#include <svl/itempool.hxx> -#include "scdllapi.h" - -class ScStyleSheet; - -class SC_DLLPUBLIC ScDocumentPool: public SfxItemPool -{ - SfxPoolItem** ppPoolDefaults; - SfxItemPool* pSecondary; - static sal_uInt16* pVersionMap1; - static sal_uInt16* pVersionMap2; - static sal_uInt16* pVersionMap3; - static sal_uInt16* pVersionMap4; - static sal_uInt16* pVersionMap5; - static sal_uInt16* pVersionMap6; - static sal_uInt16* pVersionMap7; - static sal_uInt16* pVersionMap8; - static sal_uInt16* pVersionMap9; - static sal_uInt16* pVersionMap10; - static sal_uInt16* pVersionMap11; - -public: - ScDocumentPool( SfxItemPool* pSecPool = NULL, sal_Bool bLoadRefCounts = false ); -protected: - virtual ~ScDocumentPool(); -public: - - virtual SfxItemPool* Clone() const; - virtual SfxMapUnit GetMetric( sal_uInt16 nWhich ) const; - - virtual const SfxPoolItem& Put( const SfxPoolItem&, sal_uInt16 nWhich = 0 ); - virtual void Remove( const SfxPoolItem& ); - static void CheckRef( const SfxPoolItem& ); - - void StyleDeleted( ScStyleSheet* pStyle ); // delete templates(?) in organizer - void CellStyleCreated( const String& rName ); - virtual SfxItemPresentation GetPresentation( - const SfxPoolItem& rItem, - SfxItemPresentation ePresentation, - SfxMapUnit ePresentationMetric, - String& rText, - const IntlWrapper* pIntl = 0 ) const; - - static void InitVersionMaps(); - static void DeleteVersionMaps(); -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx deleted file mode 100644 index 4d1c3078e..000000000 --- a/sc/inc/document.hxx +++ /dev/null @@ -1,1877 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DOCUMENT_HXX -#define SC_DOCUMENT_HXX - - -#include <vcl/prntypes.hxx> -#include <vcl/timer.hxx> -#include <com/sun/star/uno/Reference.hxx> -#include <rtl/ref.hxx> -#include "scdllapi.h" -#include "rangelst.hxx" -#include "rangenam.hxx" -#include "table.hxx" -#include "brdcst.hxx" -#include "tabopparams.hxx" -#include "types.hxx" -#include "formula/grammar.hxx" -#include <com/sun/star/chart2/XChartDocument.hpp> -#include "scdllapi.h" - -#include <memory> -#include <map> -#include <set> -#include <list> -#include <vector> -#include <boost/ptr_container/ptr_vector.hpp> - -namespace editeng { class SvxBorderLine; } - -class KeyEvent; -class OutputDevice; -class SdrObject; -class SfxBroadcaster; -class SfxListener; -class SfxHint; -class SfxItemSet; -class SfxObjectShell; -class SfxBindings; -class SfxPoolItem; -class SfxItemPool; -class SfxPrinter; -class SfxStatusBarManager; -class SfxStyleSheetBase; -class SvMemoryStream; -class SvNumberFormatter; -class SvxBoxInfoItem; -class SvxBoxItem; -class SvxBrushItem; -class SvxForbiddenCharactersTable; -namespace sfx2 { - class LinkManager; - } -class SvxSearchItem; -class SvxShadowItem; -class Window; -class XColorTable; - -struct ScAttrEntry; -class ScAutoFormatData; -class ScBaseCell; -class ScStringCell; -class ScBroadcastAreaSlotMachine; -class ScChangeViewSettings; -class ScChartCollection; -class ScChartListenerCollection; -class ScConditionalFormat; -class ScConditionalFormatList; -class ScDBCollection; -class ScDBData; -class ScDetOpData; -class ScDetOpList; -class ScDocOptions; -class ScDocProtection; -class ScDocumentPool; -class ScDrawLayer; -class ScExtDocOptions; -class ScExternalRefManager; -class ScFormulaCell; -class ScMacroManager; -class ScMarkData; -class ScOutlineTable; -class ScPatternAttr; -class ScPrintRangeSaver; -class ScRangeData; -class ScRangeName; -class ScStyleSheet; -class ScStyleSheetPool; -class ScTable; -class ScTableProtection; -class ScTokenArray; -class ScValidationData; -class ScValidationDataList; -class ScViewOptions; -class ScStrCollection; -class TypedScStrCollection; -class ScChangeTrack; -class ScFieldEditEngine; -class ScNoteEditEngine; -struct ScConsolidateParam; -class ScDPObject; -class ScDPCollection; -class ScMatrix; -class ScScriptTypeData; -class ScPoolHelper; -struct ScSortParam; -class ScRefreshTimerControl; -class ScUnoListenerCalls; -class ScUnoRefList; -class ScRecursionHelper; -struct RowInfo; -struct ScTableInfo; -struct ScTabOpParam; -class VirtualDevice; -class ScAutoNameCache; -class ScTemporaryChartLock; -class ScLookupCache; -struct ScLookupCacheMapImpl; -class SfxUndoManager; -class ScFormulaParserPool; -struct ScClipParam; -struct ScClipRangeNameData; -class ScRowBreakIterator; -struct ScSetStringParam; -class ScDocRowHeightUpdater; -struct ScColWidthParam; -struct ScCopyBlockFromClipParams; - -namespace com { namespace sun { namespace star { - namespace lang { - class XMultiServiceFactory; - struct EventObject; - } - namespace i18n { - class XBreakIterator; - } - namespace util { - class XModifyListener; - } - namespace embed { - class XEmbeddedObject; - } - namespace script { namespace vba { - class XVBAEventProcessor; - } } - namespace sheet { - struct TablePageBreakData; - } -} } } - -#include <svl/zforlist.hxx> - -#define SC_DOC_NEW 0xFFFF - -#define SC_MACROCALL_ALLOWED 0 -#define SC_MACROCALL_NOTALLOWED 1 -#define SC_MACROCALL_ASK 2 - -#define SC_ASIANCOMPRESSION_INVALID 0xff -#define SC_ASIANKERNING_INVALID 0xff - -enum ScDocumentMode - { - SCDOCMODE_DOCUMENT, - SCDOCMODE_CLIP, - SCDOCMODE_UNDO - }; - - -struct ScDocStat -{ - String aDocName; - SCTAB nTableCount; - sal_uLong nCellCount; - sal_uInt16 nPageCount; -}; - -// DDE link modes -const sal_uInt8 SC_DDE_DEFAULT = 0; -const sal_uInt8 SC_DDE_ENGLISH = 1; -const sal_uInt8 SC_DDE_TEXT = 2; -const sal_uInt8 SC_DDE_IGNOREMODE = 255; /// For usage in FindDdeLink() only! - -class ScDocument -{ -friend class ScDocumentIterator; -friend class ScValueIterator; -friend class ScDBQueryDataIterator; -friend class ScCellIterator; -friend class ScQueryCellIterator; -friend class ScHorizontalCellIterator; -friend class ScHorizontalAttrIterator; -friend class ScDocAttrIterator; -friend class ScAttrRectIterator; -friend class ScDocShell; -friend class ScDocRowHeightUpdater; - - typedef ::std::vector<ScTable*> TableContainer; -private: - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceManager; - - rtl::Reference<ScPoolHelper> xPoolHelper; - - SfxUndoManager* mpUndoManager; - ScFieldEditEngine* pEditEngine; // uses pEditPool from xPoolHelper - ScNoteEditEngine* pNoteEngine; // uses pEditPool from xPoolHelper - SfxItemPool* pNoteItemPool; // SfxItemPool to be used if pDrawLayer not created. - SfxObjectShell* pShell; - SfxPrinter* pPrinter; - VirtualDevice* pVirtualDevice_100th_mm; - ScDrawLayer* pDrawLayer; // SdrModel - XColorTable* pColorTable; - ScConditionalFormatList* pCondFormList; // conditional formats - ScValidationDataList* pValidationList; // validity - SvNumberFormatterIndexTable* pFormatExchangeList; // for application of number formats - TableContainer maTabs; - mutable ScRangeName* pRangeName; - ScDBCollection* pDBCollection; - ScDPCollection* pDPCollection; - ScChartCollection* pChartCollection; - std::auto_ptr< ScTemporaryChartLock > apTemporaryChartLock; - ScPatternAttr* pSelectionAttr; // Attributes of a block - mutable sfx2::LinkManager* pLinkManager; - ScFormulaCell* pFormulaTree; // formula tree (start) - ScFormulaCell* pEOFormulaTree; // formula tree (end), last cell - ScFormulaCell* pFormulaTrack; // BroadcastTrack (start) - ScFormulaCell* pEOFormulaTrack; // BrodcastTrack (end), last cell - ScBroadcastAreaSlotMachine* pBASM; // BroadcastAreas - ScChartListenerCollection* pChartListenerCollection; - ScStrCollection* pOtherObjects; // non-chart OLE objects - SvMemoryStream* pClipData; - ScDetOpList* pDetOpList; - ScChangeTrack* pChangeTrack; - SfxBroadcaster* pUnoBroadcaster; - ScUnoListenerCalls* pUnoListenerCalls; - ScUnoRefList* pUnoRefUndoList; - ScChangeViewSettings* pChangeViewSettings; - ScScriptTypeData* pScriptTypeData; - ScRefreshTimerControl* pRefreshTimerControl; - rtl::Reference<SvxForbiddenCharactersTable> xForbiddenCharacters; - - ScFieldEditEngine* pCacheFieldEditEngine; - - ::std::auto_ptr<ScDocProtection> pDocProtection; - ::std::auto_ptr<ScClipParam> mpClipParam; - - ::std::auto_ptr<ScExternalRefManager> pExternalRefMgr; - ::std::auto_ptr<ScMacroManager> mpMacroMgr; - - - // mutable for lazy construction - mutable ::std::auto_ptr< ScFormulaParserPool > - mxFormulaParserPool; /// Pool for all external formula parsers used by this document. - - String aDocName; // optional: name of document - String aDocCodeName; // optional: name of document (twice?) - ScRangePairListRef xColNameRanges; - ScRangePairListRef xRowNameRanges; - - ScViewOptions* pViewOptions; // view options - ScDocOptions* pDocOptions; // document options - ScExtDocOptions* pExtDocOptions; // for import etc. - ScConsolidateParam* pConsolidateDlgData; - - ScRecursionHelper* pRecursionHelper; // information for recursive and iterative cell formulas - - ScAutoNameCache* pAutoNameCache; // for automatic name lookup during CompileXML - - ScLookupCacheMapImpl* pLookupCacheMapImpl; // cache for lookups like VLOOKUP and MATCH - - sal_Int64 nUnoObjectId; // counted up for UNO objects - - sal_uInt32 nRangeOverflowType; // used in (xml) loading for overflow warnings - - ScRange aEmbedRange; - ScAddress aCurTextWidthCalcPos; - ScAddress aOnlineSpellPos; // within whole document - ScRange aVisSpellRange; - ScAddress aVisSpellPos; // within aVisSpellRange (see nVisSpellState) - - Timer aTrackTimer; - - com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor > - mxVbaEvents; - -public: - boost::ptr_vector< ScInterpreterTableOpParams > aTableOpList; // list of ScInterpreterTableOpParams currently in use - ScInterpreterTableOpParams aLastTableOpParams; // remember last params -private: - - LanguageType eLanguage; // default language - LanguageType eCjkLanguage; // default language for asian text - LanguageType eCtlLanguage; // default language for complex text - CharSet eSrcSet; // during reading: source character set - - /** The compiler grammar used in document storage. GRAM_PODF for ODF 1.1 - documents, GRAM_ODFF for ODF 1.2 documents. */ - formula::FormulaGrammar::Grammar eStorageGrammar; - - /** The compiler grammar used in ODF import after brackets had been - stripped (which they shouldn't, but until that's fixed) by the XML - importer. */ - formula::FormulaGrammar::Grammar eXmlImportGrammar; - - sal_uLong nFormulaCodeInTree; // FormelRPN im Formelbaum - sal_uLong nXMLImportedFormulaCount; // progress count during XML import - sal_uInt16 nInterpretLevel; // >0 if in interpreter - sal_uInt16 nMacroInterpretLevel; // >0 if macro in interpreter - sal_uInt16 nInterpreterTableOpLevel; // >0 if in interpreter TableOp - SCTAB nMaxTableNumber; - sal_uInt16 nSrcVer; // file version (load/save) - SCROW nSrcMaxRow; // number of lines to load/save - sal_uInt16 nFormulaTrackCount; - sal_uInt16 nHardRecalcState; // 0: soft, 1: hard-warn, 2: hard - SCTAB nVisibleTab; // for OLE etc. - - ScLkUpdMode eLinkMode; - - sal_Bool bAutoCalc; // calculate automatically - sal_Bool bAutoCalcShellDisabled; // in/from/for ScDocShell disabled - // are there ForcedFormulas which have to be calculated - // in interaction with ScDocShell SetDocumentModified, - // AutoCalcShellDisabled and TrackFormulas - sal_Bool bForcedFormulaPending; - sal_Bool bCalculatingFormulaTree; - sal_Bool bIsClip; - sal_Bool bIsUndo; - sal_Bool bIsVisible; // set from view ctor - - sal_Bool bIsEmbedded; // display/adjust Embedded area? - - // no SetDirty for ScFormulaCell::CompileTokenArray but at the end of - // ScDocument::CompileAll[WithFormats], CopyScenario, CopyBlockFromClip - sal_Bool bNoSetDirty; - // no broadcast, construct no listener during insert from a different - // Doc (per filter or the like ), not until CompileAll / CalcAfterLoad - sal_Bool bInsertingFromOtherDoc; - bool bLoadingMedium; - bool bImportingXML; // special handling of formula text - sal_Bool bXMLFromWrapper; // distinguish ScXMLImportWrapper from external component - sal_Bool bCalcingAfterLoad; // in CalcAfterLoad TRUE - // don't construct/destruct listeners temporarily - sal_Bool bNoListening; - sal_Bool bIdleDisabled; - sal_Bool bInLinkUpdate; // TableLink or AreaLink - sal_Bool bChartListenerCollectionNeedsUpdate; - // are/were there RC_FORCED formula cells in the document (if set once to TRUE then set forever) - sal_Bool bHasForcedFormulas; - // is the Doc being destroyed? (no Notify-Tracking etc. needed anymore) - sal_Bool bInDtorClear; - // expand reference if insert column/row takes place at the border - // of a reference - // is fetched in each UpdateReference from InputOptions, - // assigned, and restored at the end of UpdateReference - sal_Bool bExpandRefs; - // for detective update, is set for each change of a formula - sal_Bool bDetectiveDirty; - - sal_uInt8 nMacroCallMode; // Macros per warning dialog disabled? - sal_Bool bHasMacroFunc; // valid only after loading - - sal_uInt8 nVisSpellState; - - sal_uInt8 nAsianCompression; - sal_uInt8 nAsianKerning; - sal_Bool bSetDrawDefaults; - - sal_Bool bPastingDrawFromOtherDoc; - - sal_uInt8 nInDdeLinkUpdate; // originating DDE links (stacked bool) - - sal_Bool bInUnoBroadcast; - sal_Bool bInUnoListenerCall; - formula::FormulaGrammar::Grammar eGrammar; - - mutable sal_Bool bStyleSheetUsageInvalid; - - bool mbUndoEnabled; - bool mbAdjustHeightEnabled; - bool mbExecuteLinkEnabled; - bool mbChangeReadOnlyEnabled; // allow changes in read-only document (for API import filters) - bool mbStreamValidLocked; - - sal_Int16 mnNamedRangesLockCount; - - ::std::set<ScFormulaCell*> maSubTotalCells; - -public: - SC_DLLPUBLIC sal_uLong GetCellCount() const; // all cells - SCSIZE GetCellCount(SCTAB nTab, SCCOL nCol) const; - sal_uLong GetCodeCount() const; // RPN-Code in formulas - DECL_LINK( GetUserDefinedColor, sal_uInt16 * ); - // number formatter - -public: - SC_DLLPUBLIC ScDocument( ScDocumentMode eMode = SCDOCMODE_DOCUMENT, - SfxObjectShell* pDocShell = NULL ); - SC_DLLPUBLIC ~ScDocument(); - - inline ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > - GetServiceManager() const { return xServiceManager; } - - SC_DLLPUBLIC const String& GetName() const { return aDocName; } - void SetName( const String& r ) { aDocName = r; } - const String& GetCodeName() const { return aDocCodeName; } - void SetCodeName( const String& r ) { aDocCodeName = r; } - - void GetDocStat( ScDocStat& rDocStat ); - - SC_DLLPUBLIC void InitDrawLayer( SfxObjectShell* pDocShell = NULL ); - XColorTable* GetColorTable(); - - SC_DLLPUBLIC sfx2::LinkManager* GetLinkManager() const; - - SC_DLLPUBLIC const ScDocOptions& GetDocOptions() const; - SC_DLLPUBLIC void SetDocOptions( const ScDocOptions& rOpt ); - SC_DLLPUBLIC const ScViewOptions& GetViewOptions() const; - SC_DLLPUBLIC void SetViewOptions( const ScViewOptions& rOpt ); - void SetPrintOptions(); - - ScExtDocOptions* GetExtDocOptions() { return pExtDocOptions; } - SC_DLLPUBLIC void SetExtDocOptions( ScExtDocOptions* pNewOptions ); - - void GetLanguage( LanguageType& rLatin, LanguageType& rCjk, LanguageType& rCtl ) const; - void SetLanguage( LanguageType eLatin, LanguageType eCjk, LanguageType eCtl ); - - void SetDrawDefaults(); - - void SetConsolidateDlgData( const ScConsolidateParam* pData ); - const ScConsolidateParam* GetConsolidateDlgData() const { return pConsolidateDlgData; } - - void Clear( sal_Bool bFromDestructor = false ); - - ScFieldEditEngine* CreateFieldEditEngine(); - void DisposeFieldEditEngine(ScFieldEditEngine*& rpEditEngine); - - /** - * Get all range names that are local to each table. It only returns - * non-empty range name set. - */ - SC_DLLPUBLIC void GetAllTabRangeNames(ScRangeName::TabNameCopyMap& rRangeNames) const; - SC_DLLPUBLIC void SetAllTabRangeNames(const ScRangeName::TabNameCopyMap& rRangeNames); - SC_DLLPUBLIC ScRangeName* GetRangeName(SCTAB nTab) const; - SC_DLLPUBLIC ScRangeName* GetRangeName() const; - void SetRangeName(SCTAB nTab, ScRangeName* pNew); - void SetRangeName( ScRangeName* pNewRangeName ); - SCTAB GetMaxTableNumber() { return static_cast<SCTAB>(maTabs.size()) - 1; } - void SetMaxTableNumber(SCTAB nNumber) { nMaxTableNumber = nNumber; } - - ScRangePairList* GetColNameRanges() { return &xColNameRanges; } - ScRangePairList* GetRowNameRanges() { return &xRowNameRanges; } - ScRangePairListRef& GetColNameRangesRef() { return xColNameRanges; } - ScRangePairListRef& GetRowNameRangesRef() { return xRowNameRanges; } - - SC_DLLPUBLIC ScDBCollection* GetDBCollection() const; - void SetDBCollection( ScDBCollection* pNewDBCollection, - sal_Bool bRemoveAutoFilter = false ); - const ScDBData* GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bStartOnly = false) const; - ScDBData* GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bStartOnly = false); - const ScDBData* GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const; - ScDBData* GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - const ScDBData* GetFilterDBAtTable(SCTAB nTab) const; - - - SC_DLLPUBLIC const ScRangeData* GetRangeAtBlock( const ScRange& rBlock, String* pName=NULL ) const; - - SC_DLLPUBLIC ScDPCollection* GetDPCollection(); - ScDPObject* GetDPAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const; - ScDPObject* GetDPAtBlock( const ScRange& rBlock ) const; - - SC_DLLPUBLIC ScChartCollection* GetChartCollection() const; - - void StopTemporaryChartLock(); - - void EnsureGraphicNames(); - - SdrObject* GetObjectAtPoint( SCTAB nTab, const Point& rPos ); - sal_Bool HasChartAtPoint( SCTAB nTab, const Point& rPos, String* pName = NULL ); - - ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument > GetChartByName( const String& rChartName ); - SC_DLLPUBLIC void GetChartRanges( const String& rChartName, ::std::vector< ScRangeList >& rRanges, ScDocument* pSheetNameDoc ); - void SetChartRanges( const String& rChartName, const ::std::vector< ScRangeList >& rRanges ); - - void UpdateChartArea( const String& rChartName, const ScRange& rNewArea, - sal_Bool bColHeaders, sal_Bool bRowHeaders, sal_Bool bAdd ); - void UpdateChartArea( const String& rChartName, - const ScRangeListRef& rNewList, - sal_Bool bColHeaders, sal_Bool bRowHeaders, sal_Bool bAdd ); - void GetOldChartParameters( const String& rName, - ScRangeList& rRanges, sal_Bool& rColHeaders, sal_Bool& rRowHeaders ); - ::com::sun::star::uno::Reference< - ::com::sun::star::embed::XEmbeddedObject > - FindOleObjectByName( const String& rName ); - - SC_DLLPUBLIC void MakeTable( SCTAB nTab,bool _bNeedsNameCheck = true ); - - SCTAB GetVisibleTab() const { return nVisibleTab; } - SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab) { nVisibleTab = nTab; } - - SC_DLLPUBLIC sal_Bool HasTable( SCTAB nTab ) const; - SC_DLLPUBLIC bool GetName( SCTAB nTab, String& rName ) const; - SC_DLLPUBLIC bool GetName( SCTAB nTab, ::rtl::OUString& rName ) const; - SC_DLLPUBLIC sal_Bool GetCodeName( SCTAB nTab, String& rName ) const; - SC_DLLPUBLIC sal_Bool SetCodeName( SCTAB nTab, const String& rName ); - SC_DLLPUBLIC sal_Bool GetTable( const String& rName, SCTAB& rTab ) const; - - SC_DLLPUBLIC void SetAnonymousDBData(SCTAB nTab, ScDBData* pDBData); - SC_DLLPUBLIC ScDBData* GetAnonymousDBData(SCTAB nTab); - - SC_DLLPUBLIC inline SCTAB GetTableCount() const { return static_cast<SCTAB>(maTabs.size()); } - SvNumberFormatterIndexTable* GetFormatExchangeList() const { return pFormatExchangeList; } - - SC_DLLPUBLIC ScDocProtection* GetDocProtection() const; - SC_DLLPUBLIC void SetDocProtection(const ScDocProtection* pProtect); - SC_DLLPUBLIC sal_Bool IsDocProtected() const; - sal_Bool IsDocEditable() const; - SC_DLLPUBLIC sal_Bool IsTabProtected( SCTAB nTab ) const; - SC_DLLPUBLIC ScTableProtection* GetTabProtection( SCTAB nTab ) const; - SC_DLLPUBLIC void SetTabProtection(SCTAB nTab, const ScTableProtection* pProtect); - void CopyTabProtection(SCTAB nTabSrc, SCTAB nTabDest); - - void LockTable(SCTAB nTab); - void UnlockTable(SCTAB nTab); - - sal_Bool IsBlockEditable( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - sal_Bool* pOnlyNotBecauseOfMatrix = NULL ) const; - sal_Bool IsSelectionEditable( const ScMarkData& rMark, - sal_Bool* pOnlyNotBecauseOfMatrix = NULL ) const; - sal_Bool HasSelectedBlockMatrixFragment( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - const ScMarkData& rMark ) const; - sal_Bool HasSelectedBlockMatrixFragment( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTAB ) const; - - sal_Bool GetMatrixFormulaRange( const ScAddress& rCellPos, ScRange& rMatrix ); - - sal_Bool IsEmbedded() const; - void GetEmbedded( ScRange& rRange ) const; - void SetEmbedded( const ScRange& rRange ); - void ResetEmbedded(); - Rectangle GetEmbeddedRect() const; // 1/100 mm - void SetEmbedded( const Rectangle& rRect ); // from VisArea (1/100 mm) - void SnapVisArea( Rectangle& rRect ) const; // 1/100 mm - - static SC_DLLPUBLIC bool ValidTabName( const String& rName ); - - SC_DLLPUBLIC sal_Bool ValidNewTabName( const String& rName ) const; - SC_DLLPUBLIC bool ValidNewTabName( const std::vector<String>& rName ) const; - SC_DLLPUBLIC void CreateValidTabName(String& rName) const; - SC_DLLPUBLIC void CreateValidTabNames(std::vector<rtl::OUString>& aNames, SCTAB nCount) const; - SC_DLLPUBLIC sal_Bool InsertTab( SCTAB nPos, const String& rName, - sal_Bool bExternalDocument = false ); - SC_DLLPUBLIC bool InsertTabs( SCTAB nPos, const std::vector<rtl::OUString>& rNames, - bool bExternalDocument = false, bool bNamesValid = false ); - SC_DLLPUBLIC bool DeleteTabs( SCTAB nTab, SCTAB nSheets, ScDocument* pRefUndoDoc = NULL ); - SC_DLLPUBLIC sal_Bool DeleteTab( SCTAB nTab, ScDocument* pRefUndoDoc = NULL ); - SC_DLLPUBLIC sal_Bool RenameTab( SCTAB nTab, const String& rName, - sal_Bool bUpdateRef = sal_True, - sal_Bool bExternalDocument = false ); - sal_Bool MoveTab( SCTAB nOldPos, SCTAB nNewPos, ScProgress* pProgress = NULL ); - sal_Bool CopyTab( SCTAB nOldPos, SCTAB nNewPos, - const ScMarkData* pOnlyMarked = NULL ); - SC_DLLPUBLIC sal_uLong TransferTab(ScDocument* pSrcDoc, SCTAB nSrcPos, SCTAB nDestPos, - sal_Bool bInsertNew = sal_True, - sal_Bool bResultsOnly = false ); - SC_DLLPUBLIC void TransferDrawPage(ScDocument* pSrcDoc, SCTAB nSrcPos, SCTAB nDestPos); - SC_DLLPUBLIC void SetVisible( SCTAB nTab, sal_Bool bVisible ); - SC_DLLPUBLIC sal_Bool IsVisible( SCTAB nTab ) const; - sal_Bool IsStreamValid( SCTAB nTab ) const; - void SetStreamValid( SCTAB nTab, sal_Bool bSet, sal_Bool bIgnoreLock = false ); - void LockStreamValid( bool bLock ); - bool IsStreamValidLocked() const { return mbStreamValidLocked; } - sal_Bool IsPendingRowHeights( SCTAB nTab ) const; - void SetPendingRowHeights( SCTAB nTab, sal_Bool bSet ); - SC_DLLPUBLIC void SetLayoutRTL( SCTAB nTab, sal_Bool bRTL ); - SC_DLLPUBLIC sal_Bool IsLayoutRTL( SCTAB nTab ) const; - sal_Bool IsNegativePage( SCTAB nTab ) const; - SC_DLLPUBLIC void SetScenario( SCTAB nTab, sal_Bool bFlag ); - SC_DLLPUBLIC sal_Bool IsScenario( SCTAB nTab ) const; - SC_DLLPUBLIC void GetScenarioData( SCTAB nTab, String& rComment, - Color& rColor, sal_uInt16& rFlags ) const; - SC_DLLPUBLIC void SetScenarioData( SCTAB nTab, const String& rComment, - const Color& rColor, sal_uInt16 nFlags ); - SC_DLLPUBLIC Color GetTabBgColor( SCTAB nTab ) const; - SC_DLLPUBLIC void SetTabBgColor( SCTAB nTab, const Color& rColor ); - SC_DLLPUBLIC bool IsDefaultTabBgColor( SCTAB nTab ) const; - void GetScenarioFlags( SCTAB nTab, sal_uInt16& rFlags ) const; - SC_DLLPUBLIC sal_Bool IsActiveScenario( SCTAB nTab ) const; - SC_DLLPUBLIC void SetActiveScenario( SCTAB nTab, sal_Bool bActive ); // only for Undo etc. - SC_DLLPUBLIC formula::FormulaGrammar::AddressConvention GetAddressConvention() const; - SC_DLLPUBLIC formula::FormulaGrammar::Grammar GetGrammar() const; - void SetGrammar( formula::FormulaGrammar::Grammar eGram ); - SC_DLLPUBLIC sal_uInt8 GetLinkMode( SCTAB nTab ) const; - sal_Bool IsLinked( SCTAB nTab ) const; - SC_DLLPUBLIC const String& GetLinkDoc( SCTAB nTab ) const; - const String& GetLinkFlt( SCTAB nTab ) const; - const String& GetLinkOpt( SCTAB nTab ) const; - SC_DLLPUBLIC const String& GetLinkTab( SCTAB nTab ) const; - sal_uLong GetLinkRefreshDelay( SCTAB nTab ) const; - void SetLink( SCTAB nTab, sal_uInt8 nMode, const String& rDoc, - const String& rFilter, const String& rOptions, - const String& rTabName, sal_uLong nRefreshDelay ); - sal_Bool HasLink( const String& rDoc, - const String& rFilter, const String& rOptions ) const; - SC_DLLPUBLIC sal_Bool LinkExternalTab( SCTAB& nTab, const String& aDocTab, - const String& aFileName, - const String& aTabName ); - - bool HasExternalRefManager() const { return pExternalRefMgr.get(); } - SC_DLLPUBLIC ScExternalRefManager* GetExternalRefManager() const; - bool IsInExternalReferenceMarking() const; - void MarkUsedExternalReferences(); - bool MarkUsedExternalReferences( ScTokenArray & rArr ); - - /** Returns the pool containing external formula parsers. Creates the pool - on first call. */ - ScFormulaParserPool& GetFormulaParserPool() const; - - bool HasDdeLinks() const; - bool HasAreaLinks() const; - void UpdateExternalRefLinks(Window* pWin); - void UpdateDdeLinks(Window* pWin); - void UpdateAreaLinks(); - - // originating DDE links - void IncInDdeLinkUpdate() { if ( nInDdeLinkUpdate < 255 ) ++nInDdeLinkUpdate; } - void DecInDdeLinkUpdate() { if ( nInDdeLinkUpdate ) --nInDdeLinkUpdate; } - sal_Bool IsInDdeLinkUpdate() const { return nInDdeLinkUpdate != 0; } - - SC_DLLPUBLIC void CopyDdeLinks( ScDocument* pDestDoc ) const; - void DisconnectDdeLinks(); - - // for StarOne Api: - sal_uInt16 GetDdeLinkCount() const; - sal_Bool UpdateDdeLink( const String& rAppl, const String& rTopic, const String& rItem ); - - /** Tries to find a DDE link with the specified connection data. - @param rnDdePos (out-param) Returns the index of the DDE link (does not include other links from link manager). - @return true = DDE link found, rnDdePos valid. */ - SC_DLLPUBLIC bool FindDdeLink( const String& rAppl, const String& rTopic, const String& rItem, sal_uInt8 nMode, sal_uInt16& rnDdePos ); - - /** Returns the connection data of the specified DDE link. - @param nDdePos Index of the DDE link (does not include other links from link manager). - @param rAppl (out-param) The application name. - @param rTopic (out-param) The DDE topic. - @param rItem (out-param) The DDE item. - @return true = DDE link found, out-parameters valid. */ - bool GetDdeLinkData( sal_uInt16 nDdePos, String& rAppl, String& rTopic, String& rItem ) const; - /** Returns the link mode of the specified DDE link. - @param nDdePos Index of the DDE link (does not include other links from link manager). - @param rnMode (out-param) The link mode of the specified DDE link. - @return true = DDE link found, rnMode valid. */ - bool GetDdeLinkMode( sal_uInt16 nDdePos, sal_uInt8& rnMode ) const; - /** Returns the result matrix of the specified DDE link. - @param nDdePos Index of the DDE link (does not include other links from link manager). - @return The result matrix, if the DDE link has been found, 0 otherwise. */ - SC_DLLPUBLIC const ScMatrix* GetDdeLinkResultMatrix( sal_uInt16 nDdePos ) const; - - /** Tries to find a DDE link or creates a new, if not extant. - @param pResults If not 0, sets the matrix as as DDE link result matrix (also for existing links). - @return true = DDE link found; false = Unpredictable error occurred, no DDE link created. */ - SC_DLLPUBLIC bool CreateDdeLink( const String& rAppl, const String& rTopic, const String& rItem, sal_uInt8 nMode, ScMatrixRef pResults ); - /** Sets a result matrix for the specified DDE link. - @param nDdePos Index of the DDE link (does not include other links from link manager). - @param pResults The array containing all results of the DDE link (intrusive-ref-counted, do not delete). - @return true = DDE link found and matrix set. */ - bool SetDdeLinkResultMatrix( sal_uInt16 nDdePos, ScMatrixRef pResults ); - - - SfxBindings* GetViewBindings(); - SfxObjectShell* GetDocumentShell() const { return pShell; } - ScDrawLayer* GetDrawLayer() { return pDrawLayer; } - SfxBroadcaster* GetDrawBroadcaster(); // to avoid header - void BeginDrawUndo(); - - void BeginUnoRefUndo(); - bool HasUnoRefUndo() const { return ( pUnoRefUndoList != NULL ); } - ScUnoRefList* EndUnoRefUndo(); // must be deleted by caller! - sal_Int64 GetNewUnoId(); - void AddUnoRefChange( sal_Int64 nId, const ScRangeList& rOldRanges ); - - sal_Bool IsChart( const SdrObject* pObject ); - - SC_DLLPUBLIC void UpdateAllCharts(); - void UpdateChartRef( UpdateRefMode eUpdateRefMode, - SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - //! only assigns the new RangeList, no ChartListener or the like - void SetChartRangeList( const String& rChartName, - const ScRangeListRef& rNewRangeListRef ); - - sal_Bool HasControl( SCTAB nTab, const Rectangle& rMMRect ); - void InvalidateControls( Window* pWin, SCTAB nTab, const Rectangle& rMMRect ); - - void StartAnimations( SCTAB nTab, Window* pWin ); - - sal_Bool HasBackgroundDraw( SCTAB nTab, const Rectangle& rMMRect ); - sal_Bool HasAnyDraw( SCTAB nTab, const Rectangle& rMMRect ); - - const ScSheetEvents* GetSheetEvents( SCTAB nTab ) const; - void SetSheetEvents( SCTAB nTab, const ScSheetEvents* pNew ); - bool HasSheetEventScript( SCTAB nTab, sal_Int32 nEvent, bool bWithVbaEvents = false ) const; - bool HasAnySheetEventScript( sal_Int32 nEvent, bool bWithVbaEvents = false ) const; // on any sheet - - bool HasAnyCalcNotification() const; - sal_Bool HasCalcNotification( SCTAB nTab ) const; - void SetCalcNotification( SCTAB nTab ); - void ResetCalcNotifications(); - - SC_DLLPUBLIC ScOutlineTable* GetOutlineTable( SCTAB nTab, sal_Bool bCreate = false ); - sal_Bool SetOutlineTable( SCTAB nTab, const ScOutlineTable* pNewOutline ); - - void DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ); - - sal_Bool DoSubTotals( SCTAB nTab, ScSubTotalParam& rParam ); - void RemoveSubTotals( SCTAB nTab, ScSubTotalParam& rParam ); - sal_Bool TestRemoveSubTotals( SCTAB nTab, const ScSubTotalParam& rParam ); - sal_Bool HasSubTotalCells( const ScRange& rRange ); - - SC_DLLPUBLIC void PutCell( const ScAddress&, ScBaseCell* pCell, sal_Bool bForceTab = false ); - SC_DLLPUBLIC void PutCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell* pCell, - sal_Bool bForceTab = false ); - SC_DLLPUBLIC void PutCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell* pCell, - sal_uLong nFormatIndex, sal_Bool bForceTab = false); - // return TRUE = number format is set - SC_DLLPUBLIC sal_Bool SetString( - SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rString, - ScSetStringParam* pParam = NULL ); - SC_DLLPUBLIC void SetValue( SCCOL nCol, SCROW nRow, SCTAB nTab, const double& rVal ); - void SetError( SCCOL nCol, SCROW nRow, SCTAB nTab, const sal_uInt16 nError); - - SC_DLLPUBLIC void InsertMatrixFormula(SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, - const String& rFormula, - const ScTokenArray* p = NULL, - const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ); - SC_DLLPUBLIC void InsertTableOp(const ScTabOpParam& rParam, // multi-operation - SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2, const ScMarkData& rMark); - - SC_DLLPUBLIC void GetString( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rString ); - SC_DLLPUBLIC void GetString( SCCOL nCol, SCROW nRow, SCTAB nTab, rtl::OUString& rString ); - SC_DLLPUBLIC void GetInputString( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rString ); - SC_DLLPUBLIC double GetValue( const ScAddress& ); - SC_DLLPUBLIC void GetValue( SCCOL nCol, SCROW nRow, SCTAB nTab, double& rValue ); - SC_DLLPUBLIC double RoundValueAsShown( double fVal, sal_uLong nFormat ); - SC_DLLPUBLIC void GetNumberFormat( SCCOL nCol, SCROW nRow, SCTAB nTab, - sal_uInt32& rFormat ) const; - sal_uInt32 GetNumberFormat( const ScRange& rRange ) const; - SC_DLLPUBLIC sal_uInt32 GetNumberFormat( const ScAddress& ) const; - /** If no number format attribute is set and the cell - pointer passed is of type formula cell, the calculated - number format of the formula cell is returned. pCell - may be NULL. */ - SC_DLLPUBLIC void GetNumberFormatInfo( short& nType, sal_uLong& nIndex, - const ScAddress& rPos, const ScBaseCell* pCell ) const; - void GetFormula( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rFormula ) const; - SC_DLLPUBLIC void GetCellType( SCCOL nCol, SCROW nRow, SCTAB nTab, CellType& rCellType ) const; - SC_DLLPUBLIC CellType GetCellType( const ScAddress& rPos ) const; - SC_DLLPUBLIC void GetCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell*& rpCell ) const; - SC_DLLPUBLIC ScBaseCell* GetCell( const ScAddress& rPos ) const; - - SC_DLLPUBLIC sal_Bool HasData( SCCOL nCol, SCROW nRow, SCTAB nTab ); - SC_DLLPUBLIC sal_Bool HasStringData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - SC_DLLPUBLIC sal_Bool HasValueData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - sal_Bool HasStringCells( const ScRange& rRange ) const; - - /** Returns true, if there is any data to create a selection list for rPos. */ - sal_Bool HasSelectionData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - - /** Returns the pointer to a cell note object at the passed cell address. */ - ScPostIt* GetNote( const ScAddress& rPos ); - /** Sets the passed note at the cell with the passed cell address. */ - void TakeNote( const ScAddress& rPos, ScPostIt*& rpNote ); - /** Returns and forgets the cell note object at the passed cell address. */ - ScPostIt* ReleaseNote( const ScAddress& rPos ); - /** Returns the pointer to an existing or created cell note object at the passed cell address. */ - SC_DLLPUBLIC ScPostIt* GetOrCreateNote( const ScAddress& rPos ); - /** Deletes the note at the passed cell address. */ - void DeleteNote( const ScAddress& rPos ); - /** Creates the captions of all uninitialized cell notes in the specified sheet. - @param bForced True = always create all captions, false = skip when Undo is disabled. */ - void InitializeNoteCaptions( SCTAB nTab, bool bForced = false ); - /** Creates the captions of all uninitialized cell notes in all sheets. - @param bForced True = always create all captions, false = skip when Undo is disabled. */ - void InitializeAllNoteCaptions( bool bForced = false ); - - void SetDrawPageSize(SCTAB nTab); - - sal_Bool ExtendMergeSel( SCCOL nStartCol, SCROW nStartRow, - SCCOL& rEndCol, SCROW& rEndRow, const ScMarkData& rMark, - sal_Bool bRefresh = false, sal_Bool bAttrs = false ); - sal_Bool ExtendMerge( SCCOL nStartCol, SCROW nStartRow, - SCCOL& rEndCol, SCROW& rEndRow, SCTAB nTab, - sal_Bool bRefresh = false, sal_Bool bAttrs = false ); - sal_Bool ExtendMerge( ScRange& rRange, sal_Bool bRefresh = false, sal_Bool bAttrs = false ); - sal_Bool ExtendTotalMerge( ScRange& rRange ); - SC_DLLPUBLIC sal_Bool ExtendOverlapped( SCCOL& rStartCol, SCROW& rStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ); - SC_DLLPUBLIC sal_Bool ExtendOverlapped( ScRange& rRange ); - - sal_Bool RefreshAutoFilter( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ); - - SC_DLLPUBLIC void DoMergeContents( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow ); - // without checking: - SC_DLLPUBLIC void DoMerge( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, bool bDeleteCaptions = true ); - void RemoveMerge( SCCOL nCol, SCROW nRow, SCTAB nTab ); - - sal_Bool IsBlockEmpty( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, bool bIgnoreNotes = false ) const; - sal_Bool IsPrintEmpty( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - sal_Bool bLeftIsEmpty = false, - ScRange* pLastRange = NULL, - Rectangle* pLastMM = NULL ) const; - - void SkipOverlapped( SCCOL& rCol, SCROW& rRow, SCTAB nTab ) const; - sal_Bool IsHorOverlapped( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - sal_Bool IsVerOverlapped( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - - SC_DLLPUBLIC bool HasAttrib( SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, sal_uInt16 nMask ) const; - SC_DLLPUBLIC bool HasAttrib( const ScRange& rRange, sal_uInt16 nMask ) const; - - void GetBorderLines( SCCOL nCol, SCROW nRow, SCTAB nTab, - const ::editeng::SvxBorderLine** ppLeft, - const ::editeng::SvxBorderLine** ppTop, - const ::editeng::SvxBorderLine** ppRight, - const ::editeng::SvxBorderLine** ppBottom ) const; - - void ResetChanged( const ScRange& rRange ); - - void SetDirty(); - void SetDirty( const ScRange& ); - void SetTableOpDirty( const ScRange& ); // for Interpreter TableOp - void InterpretDirtyCells( const ScRangeList& rRanges ); - void CalcAll(); - SC_DLLPUBLIC void CalcAfterLoad(); - void CompileAll(); - void CompileXML(); - - ScAutoNameCache* GetAutoNameCache() { return pAutoNameCache; } - - /** Creates a ScLookupCache cache for the range if it - doesn't already exist. */ - ScLookupCache & GetLookupCache( const ScRange & rRange ); - /** Only ScLookupCache ctor uses AddLookupCache(), do not - use elsewhere! */ - void AddLookupCache( ScLookupCache & rCache ); - /** Only ScLookupCache dtor uses RemoveLookupCache(), do - not use elsewhere! */ - void RemoveLookupCache( ScLookupCache & rCache ); - /** Zap all caches. */ - void ClearLookupCaches(); - - // calculate automatically - void SetAutoCalc( sal_Bool bNewAutoCalc ); - sal_Bool GetAutoCalc() const { return bAutoCalc; } - // calculate automatically in/from/for ScDocShell disabled - void SetAutoCalcShellDisabled( sal_Bool bNew ) { bAutoCalcShellDisabled = bNew; } - sal_Bool IsAutoCalcShellDisabled() const { return bAutoCalcShellDisabled; } - // ForcedFormulas are to be calculated - void SetForcedFormulaPending( sal_Bool bNew ) { bForcedFormulaPending = bNew; } - sal_Bool IsForcedFormulaPending() const { return bForcedFormulaPending; } - // if CalcFormulaTree() is currently running - sal_Bool IsCalculatingFormulaTree() { return bCalculatingFormulaTree; } - - sal_uInt16 GetErrCode( const ScAddress& ) const; - - /** Shrink a range to only include data area. - - This is not the actually used area within the - selection, but the bounds of the sheet's data area - instead. - - @returns TRUE if the area passed intersected the data - area, FALSE if not, in which case the values - obtained may be out of bounds, not in order or - unmodified. TRUE does not mean that there - actually is any data within the selection. - */ - bool ShrinkToDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const; - - /** Shrink a range to only include used data area. - - @param o_bShrunk - Out parameter, sal_True if area was shrunk, sal_False if not. - - @returns sal_True if there is any data, sal_False if not. - */ - bool ShrinkToUsedDataArea( bool& o_bShrunk, - SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const; - - SC_DLLPUBLIC void GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow, sal_Bool bIncludeOld, bool bOnlyDown ) const; - SC_DLLPUBLIC sal_Bool GetCellArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const; - SC_DLLPUBLIC sal_Bool GetTableArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const; - SC_DLLPUBLIC sal_Bool GetPrintArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow, - sal_Bool bNotes = sal_True ) const; - SC_DLLPUBLIC sal_Bool GetPrintAreaHor( SCTAB nTab, SCROW nStartRow, SCROW nEndRow, - SCCOL& rEndCol, sal_Bool bNotes = sal_True ) const; - SC_DLLPUBLIC sal_Bool GetPrintAreaVer( SCTAB nTab, SCCOL nStartCol, SCCOL nEndCol, - SCROW& rEndRow, sal_Bool bNotes = sal_True ) const; - void InvalidateTableArea(); - - - SC_DLLPUBLIC sal_Bool GetDataStart( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow ) const; - - /** - * Find the maximum column position that contains printable data for the - * specified row range. The final column position must be equal or less - * than the initial value of rEndCol. - */ - void ExtendPrintArea( OutputDevice* pDev, SCTAB nTab, - SCCOL nStartCol, SCROW nStartRow, - SCCOL& rEndCol, SCROW nEndRow ); - SC_DLLPUBLIC SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, - SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, - ScDirection eDir ); - - SC_DLLPUBLIC void FindAreaPos( SCCOL& rCol, SCROW& rRow, SCTAB nTab, SCsCOL nMovX, SCsROW nMovY ); - SC_DLLPUBLIC void GetNextPos( SCCOL& rCol, SCROW& rRow, SCTAB nTab, SCsCOL nMovX, SCsROW nMovY, - sal_Bool bMarked, sal_Bool bUnprotected, const ScMarkData& rMark ); - - sal_Bool GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, SCTAB nTab, - const ScMarkData& rMark ); - - void LimitChartArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow ); - void LimitChartIfAll( ScRangeListRef& rRangeList ); - - sal_Bool InsertRow( SCCOL nStartCol, SCTAB nStartTab, - SCCOL nEndCol, SCTAB nEndTab, - SCROW nStartRow, SCSIZE nSize, ScDocument* pRefUndoDoc = NULL, - const ScMarkData* pTabMark = NULL ); - SC_DLLPUBLIC sal_Bool InsertRow( const ScRange& rRange, ScDocument* pRefUndoDoc = NULL ); - void DeleteRow( SCCOL nStartCol, SCTAB nStartTab, - SCCOL nEndCol, SCTAB nEndTab, - SCROW nStartRow, SCSIZE nSize, - ScDocument* pRefUndoDoc = NULL, sal_Bool* pUndoOutline = NULL, - const ScMarkData* pTabMark = NULL ); - SC_DLLPUBLIC void DeleteRow( const ScRange& rRange, - ScDocument* pRefUndoDoc = NULL, sal_Bool* pUndoOutline = NULL ); - sal_Bool InsertCol( SCROW nStartRow, SCTAB nStartTab, - SCROW nEndRow, SCTAB nEndTab, - SCCOL nStartCol, SCSIZE nSize, ScDocument* pRefUndoDoc = NULL, - const ScMarkData* pTabMark = NULL ); - SC_DLLPUBLIC sal_Bool InsertCol( const ScRange& rRange, ScDocument* pRefUndoDoc = NULL ); - void DeleteCol( SCROW nStartRow, SCTAB nStartTab, - SCROW nEndRow, SCTAB nEndTab, - SCCOL nStartCol, SCSIZE nSize, - ScDocument* pRefUndoDoc = NULL, sal_Bool* pUndoOutline = NULL, - const ScMarkData* pTabMark = NULL ); - void DeleteCol( const ScRange& rRange, - ScDocument* pRefUndoDoc = NULL, sal_Bool* pUndoOutline = NULL ); - - sal_Bool CanInsertRow( const ScRange& rRange ) const; - sal_Bool CanInsertCol( const ScRange& rRange ) const; - - void FitBlock( const ScRange& rOld, const ScRange& rNew, sal_Bool bClear = sal_True ); - sal_Bool CanFitBlock( const ScRange& rOld, const ScRange& rNew ); - - sal_Bool IsClipOrUndo() const { return bIsClip || bIsUndo; } - sal_Bool IsUndo() const { return bIsUndo; } - sal_Bool IsClipboard() const { return bIsClip; } - bool IsUndoEnabled() const { return mbUndoEnabled; } - void EnableUndo( bool bVal ); - - bool IsAdjustHeightEnabled() const { return mbAdjustHeightEnabled; } - void EnableAdjustHeight( bool bVal ) { mbAdjustHeightEnabled = bVal; } - bool IsExecuteLinkEnabled() const { return mbExecuteLinkEnabled; } - void EnableExecuteLink( bool bVal ) { mbExecuteLinkEnabled = bVal; } - bool IsChangeReadOnlyEnabled() const { return mbChangeReadOnlyEnabled; } - void EnableChangeReadOnly( bool bVal ) { mbChangeReadOnlyEnabled = bVal; } - SC_DLLPUBLIC sal_Int16 GetNamedRangesLockCount() const { return mnNamedRangesLockCount; } - void SetNamedRangesLockCount( sal_Int16 nCount ) { mnNamedRangesLockCount = nCount; } - SC_DLLPUBLIC void ResetClip( ScDocument* pSourceDoc, const ScMarkData* pMarks ); - SC_DLLPUBLIC void ResetClip( ScDocument* pSourceDoc, SCTAB nTab ); - void SetCutMode( sal_Bool bCut ); - SC_DLLPUBLIC sal_Bool IsCutMode(); - void SetClipArea( const ScRange& rArea, sal_Bool bCut = false ); - - SC_DLLPUBLIC sal_Bool IsDocVisible() const { return bIsVisible; } - void SetDocVisible( sal_Bool bSet ); - - sal_Bool HasOLEObjectsInArea( const ScRange& rRange, const ScMarkData* pTabMark = NULL ); - - void DeleteObjectsInArea( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark ); - void DeleteObjectsInSelection( const ScMarkData& rMark ); - - void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nDelFlag); - void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - SCTAB nTab, sal_uInt16 nDelFlag); - void DeleteAreaTab(const ScRange& rRange, sal_uInt16 nDelFlag); - - void CopyToClip(const ScClipParam& rClipParam, ScDocument* pClipDoc, - const ScMarkData* pMarks = NULL, bool bAllTabs = false, bool bKeepScenarioFlags = false, - bool bIncludeObjects = false, bool bCloneNoteCaptions = true, bool bUseRangeForVBA = false ); - - void CopyTabToClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - SCTAB nTab, ScDocument* pClipDoc = NULL); - void CopyBlockFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, SCsCOL nDx, SCsROW nDy, - const ScCopyBlockFromClipParams* pCBFCP ); - void CopyNonFilteredFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, SCsCOL nDx, SCsROW nDy, - const ScCopyBlockFromClipParams* pCBFCP, - SCROW & rClipStartRow ); - void StartListeningFromClip( SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ); - void BroadcastFromClip( SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ); - /** If pDestRanges is given it overrides rDestRange, rDestRange in this - case is the overall encompassing range. */ - void CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMark, - sal_uInt16 nInsFlag, - ScDocument* pRefUndoDoc = NULL, - ScDocument* pClipDoc = NULL, - sal_Bool bResetCut = sal_True, - sal_Bool bAsLink = false, - sal_Bool bIncludeFiltered = sal_True, - sal_Bool bSkipAttrForEmpty = false, - const ScRangeList * pDestRanges = NULL ); - - void CopyMultiRangeFromClip(const ScAddress& rDestPos, const ScMarkData& rMark, - sal_uInt16 nInsFlag, ScDocument* pClipDoc, - bool bResetCut = true, bool bAsLink = false, - bool bIncludeFiltered = true, - bool bSkipAttrForEmpty = false); - - void GetClipArea(SCCOL& nClipX, SCROW& nClipY, sal_Bool bIncludeFiltered); - void GetClipStart(SCCOL& nClipX, SCROW& nClipY); - - sal_Bool HasClipFilteredRows(); - - sal_Bool IsClipboardSource() const; - - SC_DLLPUBLIC void TransposeClip( ScDocument* pTransClip, sal_uInt16 nFlags, sal_Bool bAsLink ); - - ScClipParam& GetClipParam(); - void SetClipParam(const ScClipParam& rParam); - - void MixDocument( const ScRange& rRange, sal_uInt16 nFunction, sal_Bool bSkipEmpty, - ScDocument* pSrcDoc ); - - void FillTab( const ScRange& rSrcArea, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, - sal_Bool bSkipEmpty, sal_Bool bAsLink ); - void FillTabMarked( SCTAB nSrcTab, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, - sal_Bool bSkipEmpty, sal_Bool bAsLink ); - - void TransliterateText( const ScMarkData& rMultiMark, sal_Int32 nType ); - - SC_DLLPUBLIC void InitUndo( ScDocument* pSrcDoc, SCTAB nTab1, SCTAB nTab2, - sal_Bool bColInfo = false, sal_Bool bRowInfo = false ); - void AddUndoTab( SCTAB nTab1, SCTAB nTab2, - sal_Bool bColInfo = false, sal_Bool bRowInfo = false ); - SC_DLLPUBLIC void InitUndoSelected( ScDocument* pSrcDoc, const ScMarkData& rTabSelection, - sal_Bool bColInfo = false, sal_Bool bRowInfo = false ); - - // don't use anymore: - void CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, sal_Bool bMarked, ScDocument* pDestDoc, - const ScMarkData* pMarks = NULL, sal_Bool bColRowFlags = sal_True); - void UndoToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, sal_Bool bMarked, ScDocument* pDestDoc, - const ScMarkData* pMarks = NULL); - - void CopyToDocument(const ScRange& rRange, - sal_uInt16 nFlags, sal_Bool bMarked, ScDocument* pDestDoc, - const ScMarkData* pMarks = NULL, sal_Bool bColRowFlags = sal_True); - void UndoToDocument(const ScRange& rRange, - sal_uInt16 nFlags, sal_Bool bMarked, ScDocument* pDestDoc, - const ScMarkData* pMarks = NULL); - - void CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, sal_Bool bNewScenario = false ); - sal_Bool TestCopyScenario( SCTAB nSrcTab, SCTAB nDestTab ) const; - void MarkScenario( SCTAB nSrcTab, SCTAB nDestTab, - ScMarkData& rDestMark, sal_Bool bResetMark = sal_True, - sal_uInt16 nNeededBits = 0 ) const; - sal_Bool HasScenarioRange( SCTAB nTab, const ScRange& rRange ) const; - SC_DLLPUBLIC const ScRangeList* GetScenarioRanges( SCTAB nTab ) const; - - SC_DLLPUBLIC void CopyUpdated( ScDocument* pPosDoc, ScDocument* pDestDoc ); - - void UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL, sal_Bool bIncludeDraw = sal_True, - bool bUpdateNoteCaptionPos = true ); - - SC_DLLPUBLIC void UpdateTranspose( const ScAddress& rDestPos, ScDocument* pClipDoc, - const ScMarkData& rMark, ScDocument* pUndoDoc = NULL ); - - void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ); - - void Fill( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, - sal_uLong nFillCount, FillDir eFillDir = FILL_TO_BOTTOM, - FillCmd eFillCmd = FILL_LINEAR, FillDateCmd eFillDateCmd = FILL_DAY, - double nStepValue = 1.0, double nMaxValue = 1E307); - String GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW nEndY ); - - sal_Bool GetSelectionFunction( ScSubTotalFunc eFunc, - const ScAddress& rCursor, const ScMarkData& rMark, - double& rResult ); - - SC_DLLPUBLIC const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich ) const; - SC_DLLPUBLIC const ScPatternAttr* GetPattern( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - SC_DLLPUBLIC const ScPatternAttr* GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab ) const; - const ScPatternAttr* GetSelectionPattern( const ScMarkData& rMark, sal_Bool bDeep = sal_True ); - ScPatternAttr* CreateSelectionPattern( const ScMarkData& rMark, sal_Bool bDeep = sal_True ); - - const ScConditionalFormat* GetCondFormat( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - SC_DLLPUBLIC const SfxItemSet* GetCondResult( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - const SfxPoolItem* GetEffItem( SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich ) const; - - SC_DLLPUBLIC const ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >& GetBreakIterator(); - sal_Bool HasStringWeakCharacters( const String& rString ); - SC_DLLPUBLIC sal_uInt8 GetStringScriptType( const String& rString ); - SC_DLLPUBLIC sal_uInt8 GetCellScriptType( ScBaseCell* pCell, sal_uLong nNumberFormat ); - SC_DLLPUBLIC sal_uInt8 GetScriptType( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell* pCell = NULL ); - - sal_Bool HasDetectiveOperations() const; - void AddDetectiveOperation( const ScDetOpData& rData ); - void ClearDetectiveOperations(); - ScDetOpList* GetDetOpList() const { return pDetOpList; } - void SetDetOpList(ScDetOpList* pNew); - - sal_Bool HasDetectiveObjects(SCTAB nTab) const; - - void GetSelectionFrame( const ScMarkData& rMark, - SvxBoxItem& rLineOuter, - SvxBoxInfoItem& rLineInner ); - void ApplySelectionFrame( const ScMarkData& rMark, - const SvxBoxItem* pLineOuter, - const SvxBoxInfoItem* pLineInner ); - void ApplyFrameAreaTab( const ScRange& rRange, - const SvxBoxItem* pLineOuter, - const SvxBoxInfoItem* pLineInner ); - - void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark ); - void ChangeSelectionIndent( sal_Bool bIncrement, const ScMarkData& rMark ); - - SC_DLLPUBLIC sal_uLong AddCondFormat( const ScConditionalFormat& rNew ); - SC_DLLPUBLIC void FindConditionalFormat( sal_uLong nKey, ScRangeList& rRanges ); - SC_DLLPUBLIC void FindConditionalFormat( sal_uLong nKey, ScRangeList& rRanges, SCTAB nTab ); - void ConditionalChanged( sal_uLong nKey ); - - SC_DLLPUBLIC sal_uLong AddValidationEntry( const ScValidationData& rNew ); - - SC_DLLPUBLIC const ScValidationData* GetValidationEntry( sal_uLong nIndex ) const; - - ScConditionalFormatList* GetCondFormList() const // Ref-Undo - { return pCondFormList; } - void SetCondFormList(ScConditionalFormatList* pNew); - - ScValidationDataList* GetValidationList() const - { return pValidationList; } - - SC_DLLPUBLIC void ApplyAttr( SCCOL nCol, SCROW nRow, SCTAB nTab, - const SfxPoolItem& rAttr ); - SC_DLLPUBLIC void ApplyPattern( SCCOL nCol, SCROW nRow, SCTAB nTab, - const ScPatternAttr& rAttr ); - SC_DLLPUBLIC void ApplyPatternArea( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - const ScMarkData& rMark, const ScPatternAttr& rAttr, - ScEditDataArray* pDataArray = NULL ); - SC_DLLPUBLIC void ApplyPatternAreaTab( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, - const ScPatternAttr& rAttr ); - - SC_DLLPUBLIC bool SetAttrEntries(SCCOL nCol, SCTAB nTab, ScAttrEntry* pData, SCSIZE nSize); - - SC_DLLPUBLIC void ApplyPatternIfNumberformatIncompatible( - const ScRange& rRange, const ScMarkData& rMark, - const ScPatternAttr& rPattern, short nNewType ); - - void ApplyStyle( SCCOL nCol, SCROW nRow, SCTAB nTab, - const ScStyleSheet& rStyle); - void ApplyStyleArea( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - const ScMarkData& rMark, const ScStyleSheet& rStyle); - SC_DLLPUBLIC void ApplyStyleAreaTab( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, - const ScStyleSheet& rStyle); - - void ApplySelectionStyle( const ScStyleSheet& rStyle, const ScMarkData& rMark ); - void ApplySelectionLineStyle( const ScMarkData& rMark, - const ::editeng::SvxBorderLine* pLine, sal_Bool bColorOnly ); - - const ScStyleSheet* GetStyle( SCCOL nCol, SCROW nRow, SCTAB nTab ) const; - const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark ) const; - - void StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, sal_Bool bRemoved, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY ); - - sal_Bool IsStyleSheetUsed( const ScStyleSheet& rStyle, sal_Bool bGatherAllStyles ) const; - - SC_DLLPUBLIC sal_Bool ApplyFlagsTab( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - SCTAB nTab, sal_Int16 nFlags ); - SC_DLLPUBLIC sal_Bool RemoveFlagsTab( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, - SCTAB nTab, sal_Int16 nFlags ); - - SC_DLLPUBLIC void SetPattern( const ScAddress&, const ScPatternAttr& rAttr, - sal_Bool bPutToPool = false ); - SC_DLLPUBLIC void SetPattern( SCCOL nCol, SCROW nRow, SCTAB nTab, const ScPatternAttr& rAttr, - sal_Bool bPutToPool = false ); - void DeleteNumberFormat( const sal_uInt32* pDelKeys, sal_uInt32 nCount ); - - void AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - sal_uInt16 nFormatNo, const ScMarkData& rMark ); - void GetAutoFormatData( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - ScAutoFormatData& rData ); - sal_Bool SearchAndReplace( const SvxSearchItem& rSearchItem, - SCCOL& rCol, SCROW& rRow, SCTAB& rTab, - ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc = NULL ); - - // determine Col/Row of subsequent calls - // (e.g. not found from the beginning, or subsequent tables) - // meaning of explanation in "()" was already unclear in German - static void GetSearchAndReplaceStart( const SvxSearchItem& rSearchItem, - SCCOL& rCol, SCROW& rRow ); - - sal_Bool Solver(SCCOL nFCol, SCROW nFRow, SCTAB nFTab, - SCCOL nVCol, SCROW nVRow, SCTAB nVTab, - const String& sValStr, double& nX); - - void ApplySelectionPattern( const ScPatternAttr& rAttr, const ScMarkData& rMark, - ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark ); - void DeleteSelectionTab( SCTAB nTab, sal_uInt16 nDelFlag, const ScMarkData& rMark ); - - SC_DLLPUBLIC void SetColWidth( SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth ); - SC_DLLPUBLIC void SetColWidthOnly( SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth ); - SC_DLLPUBLIC void SetRowHeight( SCROW nRow, SCTAB nTab, sal_uInt16 nNewHeight ); - SC_DLLPUBLIC void SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, - sal_uInt16 nNewHeight ); - - SC_DLLPUBLIC void SetRowHeightOnly( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, - sal_uInt16 nNewHeight ); - SC_DLLPUBLIC void SetManualHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_Bool bManual ); - - SC_DLLPUBLIC sal_uInt16 GetColWidth( SCCOL nCol, SCTAB nTab ) const; - SC_DLLPUBLIC sal_uInt16 GetRowHeight( SCROW nRow, SCTAB nTab, bool bHiddenAsZero = true ) const; - SC_DLLPUBLIC sal_uInt16 GetRowHeight( SCROW nRow, SCTAB nTab, SCROW* pStartRow, SCROW* pEndRow, bool bHiddenAsZero = true ) const; - SC_DLLPUBLIC sal_uLong GetRowHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab ) const; - SCROW GetRowForHeight( SCTAB nTab, sal_uLong nHeight ) const; - sal_uLong GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, double fScale ) const; - SC_DLLPUBLIC sal_uLong GetColOffset( SCCOL nCol, SCTAB nTab ) const; - SC_DLLPUBLIC sal_uLong GetRowOffset( SCROW nRow, SCTAB nTab ) const; - - SC_DLLPUBLIC sal_uInt16 GetOriginalWidth( SCCOL nCol, SCTAB nTab ) const; - SC_DLLPUBLIC sal_uInt16 GetOriginalHeight( SCROW nRow, SCTAB nTab ) const; - - sal_uInt16 GetCommonWidth( SCCOL nEndCol, SCTAB nTab ) const; - - SCROW GetHiddenRowCount( SCROW nRow, SCTAB nTab ) const; - - sal_uInt16 GetOptimalColWidth( SCCOL nCol, SCTAB nTab, OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bFormula, - const ScMarkData* pMarkData = NULL, - const ScColWidthParam* pParam = NULL ); - SC_DLLPUBLIC sal_Bool SetOptimalHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nExtra, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bShrink ); - void UpdateAllRowHeights( OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - const ScMarkData* pTabMark = NULL ); - long GetNeededSize( SCCOL nCol, SCROW nRow, SCTAB nTab, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bWidth, sal_Bool bTotalSize = false ); - - SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, sal_Bool bShow); - SC_DLLPUBLIC void ShowRow(SCROW nRow, SCTAB nTab, sal_Bool bShow); - SC_DLLPUBLIC void ShowRows(SCROW nRow1, SCROW nRow2, SCTAB nTab, sal_Bool bShow); - SC_DLLPUBLIC void SetRowFlags( SCROW nRow, SCTAB nTab, sal_uInt8 nNewFlags ); - SC_DLLPUBLIC void SetRowFlags( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt8 nNewFlags ); - - SC_DLLPUBLIC sal_uInt8 GetColFlags( SCCOL nCol, SCTAB nTab ) const; - SC_DLLPUBLIC sal_uInt8 GetRowFlags( SCROW nRow, SCTAB nTab ) const; - - SC_DLLPUBLIC const ScBitMaskCompressedArray< SCROW, sal_uInt8> & GetRowFlagsArray( SCTAB nTab ) const; - SC_DLLPUBLIC ScBitMaskCompressedArray< SCROW, sal_uInt8> & GetRowFlagsArrayModifiable( SCTAB nTab ); - - SC_DLLPUBLIC void GetAllRowBreaks(::std::set<SCROW>& rBreaks, SCTAB nTab, bool bPage, bool bManual) const; - SC_DLLPUBLIC void GetAllColBreaks(::std::set<SCCOL>& rBreaks, SCTAB nTab, bool bPage, bool bManual) const; - SC_DLLPUBLIC ScBreakType HasRowBreak(SCROW nRow, SCTAB nTab) const; - SC_DLLPUBLIC ScBreakType HasColBreak(SCCOL nCol, SCTAB nTab) const; - SC_DLLPUBLIC void SetRowBreak(SCROW nRow, SCTAB nTab, bool bPage, bool bManual); - SC_DLLPUBLIC void SetColBreak(SCCOL nCol, SCTAB nTab, bool bPage, bool bManual); - void RemoveRowBreak(SCROW nRow, SCTAB nTab, bool bPage, bool bManual); - void RemoveColBreak(SCCOL nCol, SCTAB nTab, bool bPage, bool bManual); - ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::TablePageBreakData> GetRowBreakData(SCTAB nTab) const; - - SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW* pFirstRow = NULL, SCROW* pLastRow = NULL); - SC_DLLPUBLIC bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - SC_DLLPUBLIC bool ColHidden(SCCOL nCol, SCTAB nTab, SCCOL* pFirstCol = NULL, SCCOL* pLastCol = NULL); - SC_DLLPUBLIC void SetRowHidden(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bHidden); - SC_DLLPUBLIC void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, bool bHidden); - SC_DLLPUBLIC SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - SC_DLLPUBLIC SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - - bool RowFiltered(SCROW nRow, SCTAB nTab, SCROW* pFirstRow = NULL, SCROW* pLastRow = NULL); - bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - bool ColFiltered(SCCOL nCol, SCTAB nTab, SCCOL* pFirstCol = NULL, SCCOL* pLastCol = NULL); - SC_DLLPUBLIC void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bFiltered); - SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab); - - /** - * Write all column row flags to table's flag data, because not all column - * row attributes are stored in the flag data members. This is necessary - * for ods export. - */ - void SyncColRowFlags(); - - /// @return the index of the last row with any set flags (auto-pagebreak is ignored). - SC_DLLPUBLIC SCROW GetLastFlaggedRow( SCTAB nTab ) const; - - /// @return the index of the last changed column (flags and column width, auto pagebreak is ignored). - SCCOL GetLastChangedCol( SCTAB nTab ) const; - /// @return the index of the last changed row (flags and row height, auto pagebreak is ignored). - SCROW GetLastChangedRow( SCTAB nTab ) const; - - SCCOL GetNextDifferentChangedCol( SCTAB nTab, SCCOL nStart) const; - - // if bCareManualSize is set then the row - // heights are compared only if the manual size flag for - // the row is set. If the bCareManualSize is not set then - // the row heights are always compared. - SCROW GetNextDifferentChangedRow( SCTAB nTab, SCROW nStart, bool bCareManualSize = true) const; - - // returns whether to export a Default style for this col/row or not - // nDefault is setted to one possition in the current row/col where the Default style is - sal_Bool GetColDefault( SCTAB nTab, SCCOL nCol, SCROW nLastRow, SCROW& nDefault); - sal_Bool GetRowDefault( SCTAB nTab, SCROW nRow, SCCOL nLastCol, SCCOL& nDefault); - - sal_Bool UpdateOutlineCol( SCCOL nStartCol, SCCOL nEndCol, SCTAB nTab, sal_Bool bShow ); - sal_Bool UpdateOutlineRow( SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_Bool bShow ); - - void StripHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2, SCTAB nTab ); - void ExtendHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2, SCTAB nTab ); - - SC_DLLPUBLIC ScPatternAttr* GetDefPattern() const; - SC_DLLPUBLIC ScDocumentPool* GetPool(); - SC_DLLPUBLIC ScStyleSheetPool* GetStyleSheetPool() const; - - // PageStyle: - SC_DLLPUBLIC const String& GetPageStyle( SCTAB nTab ) const; - SC_DLLPUBLIC void SetPageStyle( SCTAB nTab, const String& rName ); - Size GetPageSize( SCTAB nTab ) const; - void SetPageSize( SCTAB nTab, const Size& rSize ); - void SetRepeatArea( SCTAB nTab, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow ); - void InvalidatePageBreaks(SCTAB nTab); - void UpdatePageBreaks( SCTAB nTab, const ScRange* pUserArea = NULL ); - void RemoveManualBreaks( SCTAB nTab ); - sal_Bool HasManualBreaks( SCTAB nTab ) const; - - sal_Bool IsPageStyleInUse( const String& rStrPageStyle, SCTAB* pInTab = NULL ); - sal_Bool RemovePageStyleInUse( const String& rStrPageStyle ); - sal_Bool RenamePageStyleInUse( const String& rOld, const String& rNew ); - void ModifyStyleSheet( SfxStyleSheetBase& rPageStyle, - const SfxItemSet& rChanges ); - - void PageStyleModified( SCTAB nTab, const String& rNewName ); - - SC_DLLPUBLIC sal_Bool NeedPageResetAfterTab( SCTAB nTab ) const; - - // Was stored in PageStyle previously. Now it exists for every table: - SC_DLLPUBLIC sal_Bool HasPrintRange(); - SC_DLLPUBLIC sal_uInt16 GetPrintRangeCount( SCTAB nTab ); - SC_DLLPUBLIC const ScRange* GetPrintRange( SCTAB nTab, sal_uInt16 nPos ); - SC_DLLPUBLIC const ScRange* GetRepeatColRange( SCTAB nTab ); - SC_DLLPUBLIC const ScRange* GetRepeatRowRange( SCTAB nTab ); - /** Returns true, if the specified sheet is always printed. */ - sal_Bool IsPrintEntireSheet( SCTAB nTab ) const; - - /** Removes all print ranges. */ - SC_DLLPUBLIC void ClearPrintRanges( SCTAB nTab ); - /** Adds a new print ranges. */ - SC_DLLPUBLIC void AddPrintRange( SCTAB nTab, const ScRange& rNew ); - /** Marks the specified sheet to be printed completely. Deletes old print ranges on the sheet! */ - SC_DLLPUBLIC void SetPrintEntireSheet( SCTAB nTab ); - SC_DLLPUBLIC void SetRepeatColRange( SCTAB nTab, const ScRange* pNew ); - SC_DLLPUBLIC void SetRepeatRowRange( SCTAB nTab, const ScRange* pNew ); - ScPrintRangeSaver* CreatePrintRangeSaver() const; - void RestorePrintRanges( const ScPrintRangeSaver& rSaver ); - - SC_DLLPUBLIC Rectangle GetMMRect( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ) const; - SC_DLLPUBLIC ScRange GetRange( SCTAB nTab, const Rectangle& rMMRect ) const; - - void UpdStlShtPtrsFrmNms(); - void StylesToNames(); - - SC_DLLPUBLIC void CopyStdStylesFrom( ScDocument* pSrcDoc ); - - CharSet GetSrcCharSet() const { return eSrcSet; } - sal_uLong GetSrcVersion() const { return nSrcVer; } - SCROW GetSrcMaxRow() const { return nSrcMaxRow; } - - void SetSrcCharSet( CharSet eNew ) { eSrcSet = eNew; } - void UpdateFontCharSet(); - - void FillInfo( ScTableInfo& rTabInfo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, - SCTAB nTab, double nScaleX, double nScaleY, - sal_Bool bPageMode, sal_Bool bFormulaMode, - const ScMarkData* pMarkData = NULL ); - - SC_DLLPUBLIC SvNumberFormatter* GetFormatTable() const; - - void Sort( SCTAB nTab, const ScSortParam& rSortParam, sal_Bool bKeepQuery ); - SCSIZE Query( SCTAB nTab, const ScQueryParam& rQueryParam, sal_Bool bKeepSub ); - SC_DLLPUBLIC sal_Bool CreateQueryParam( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - SCTAB nTab, ScQueryParam& rQueryParam ); - void GetUpperCellString(SCCOL nCol, SCROW nRow, SCTAB nTab, String& rStr); - - sal_Bool GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, - bool bFilter, TypedScStrCollection& rStrings, bool& rHasDates); - SC_DLLPUBLIC sal_Bool GetFilterEntriesArea( SCCOL nCol, SCROW nStartRow, SCROW nEndRow, - SCTAB nTab, TypedScStrCollection& rStrings, bool& rHasDates ); - sal_Bool GetDataEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, - TypedScStrCollection& rStrings, sal_Bool bLimit = false ); - sal_Bool GetFormulaEntries( TypedScStrCollection& rStrings ); - - bool HasAutoFilter( SCCOL nCol, SCROW nRow, SCTAB nTab ); - - SC_DLLPUBLIC sal_Bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - SCTAB nTab ); - SC_DLLPUBLIC sal_Bool HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - SCTAB nTab ); - - SfxPrinter* GetPrinter( sal_Bool bCreateIfNotExist = sal_True ); - void SetPrinter( SfxPrinter* pNewPrinter ); - VirtualDevice* GetVirtualDevice_100th_mm(); - SC_DLLPUBLIC OutputDevice* GetRefDevice(); // WYSIWYG: Printer, otherwise VirtualDevice... - - sal_Bool GetNextSpellingCell(SCCOL& nCol, SCROW& nRow, SCTAB nTab, - sal_Bool bInSel, const ScMarkData& rMark) const; - - sal_Bool ReplaceStyle(const SvxSearchItem& rSearchItem, - SCCOL nCol, SCROW nRow, SCTAB nTab, - ScMarkData& rMark, sal_Bool bIsUndo); - - void DoColResize( SCTAB nTab, SCCOL nCol1, SCCOL nCol2, SCSIZE nAdd ); - - void InvalidateTextWidth( const String& rStyleName ); - void InvalidateTextWidth( SCTAB nTab ); - void InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* pAdrTo, sal_Bool bNumFormatChanged ); - - sal_Bool IdleCalcTextWidth(); - sal_Bool IdleCheckLinks(); - - sal_Bool ContinueOnlineSpelling(); // TRUE = found s.th. - - void RepaintRange( const ScRange& rRange ); - - sal_Bool IsIdleDisabled() const { return bIdleDisabled; } - void DisableIdle(sal_Bool bDo) { bIdleDisabled = bDo; } - - sal_Bool IsDetectiveDirty() const { return bDetectiveDirty; } - void SetDetectiveDirty(sal_Bool bSet) { bDetectiveDirty = bSet; } - - void RemoveAutoSpellObj(); - void SetOnlineSpellPos( const ScAddress& rPos ); - SC_DLLPUBLIC sal_Bool SetVisibleSpellRange( const ScRange& rRange ); // sal_True = changed - - sal_uInt8 GetMacroCallMode() const { return nMacroCallMode; } - void SetMacroCallMode(sal_uInt8 nNew) { nMacroCallMode = nNew; } - - sal_Bool GetHasMacroFunc() const { return bHasMacroFunc; } - void SetHasMacroFunc(sal_Bool bSet) { bHasMacroFunc = bSet; } - - sal_Bool CheckMacroWarn(); - - void SetRangeOverflowType(sal_uInt32 nType) { nRangeOverflowType = nType; } - sal_Bool HasRangeOverflow() const { return nRangeOverflowType != 0; } - SC_DLLPUBLIC sal_uInt32 GetRangeOverflowType() const { return nRangeOverflowType; } - - // for broadcasting/listening - void SetNoSetDirty( sal_Bool bVal ) { bNoSetDirty = bVal; } - sal_Bool GetNoSetDirty() const { return bNoSetDirty; } - void SetInsertingFromOtherDoc( sal_Bool bVal ) { bInsertingFromOtherDoc = bVal; } - sal_Bool IsInsertingFromOtherDoc() const { return bInsertingFromOtherDoc; } - bool IsLoadingMedium() const; - void SetLoadingMedium( bool bVal ); - void SetImportingXML( bool bVal ); - bool IsImportingXML() const { return bImportingXML; } - void SetXMLFromWrapper( sal_Bool bVal ); - sal_Bool IsXMLFromWrapper() const { return bXMLFromWrapper; } - void SetCalcingAfterLoad( sal_Bool bVal ) { bCalcingAfterLoad = bVal; } - sal_Bool IsCalcingAfterLoad() const { return bCalcingAfterLoad; } - void SetNoListening( sal_Bool bVal ) { bNoListening = bVal; } - sal_Bool GetNoListening() const { return bNoListening; } - ScBroadcastAreaSlotMachine* GetBASM() const { return pBASM; } - - ScChartListenerCollection* GetChartListenerCollection() const - { return pChartListenerCollection; } - void SetChartListenerCollection( ScChartListenerCollection*, - sal_Bool bSetChartRangeLists = false ); - void UpdateChart( const String& rName ); - void RestoreChartListener( const String& rName ); - SC_DLLPUBLIC void UpdateChartListenerCollection(); - sal_Bool IsChartListenerCollectionNeedsUpdate() const - { return bChartListenerCollectionNeedsUpdate; } - void SetChartListenerCollectionNeedsUpdate( sal_Bool bFlg ) - { bChartListenerCollectionNeedsUpdate = bFlg; } - void AddOLEObjectToCollection(const String& rName); - - ScChangeViewSettings* GetChangeViewSettings() const { return pChangeViewSettings; } - SC_DLLPUBLIC void SetChangeViewSettings(const ScChangeViewSettings& rNew); - - rtl::Reference<SvxForbiddenCharactersTable> GetForbiddenCharacters(); - void SetForbiddenCharacters( const rtl::Reference<SvxForbiddenCharactersTable> xNew ); - - sal_uInt8 GetAsianCompression() const; // CharacterCompressionType values - sal_Bool IsValidAsianCompression() const; - void SetAsianCompression(sal_uInt8 nNew); - - sal_Bool GetAsianKerning() const; - sal_Bool IsValidAsianKerning() const; - void SetAsianKerning(sal_Bool bNew); - - sal_uInt8 GetEditTextDirection(SCTAB nTab) const; // EEHorizontalTextDirection values - - SC_DLLPUBLIC ScLkUpdMode GetLinkMode() const { return eLinkMode ;} - void SetLinkMode( ScLkUpdMode nSet ) { eLinkMode = nSet;} - - SC_DLLPUBLIC ScMacroManager* GetMacroManager(); - -private: - ScDocument(const ScDocument& r); // disabled with no definition - - void FindMaxRotCol( SCTAB nTab, RowInfo* pRowInfo, SCSIZE nArrCount, - SCCOL nX1, SCCOL nX2 ) const; - - sal_uInt16 RowDifferences( SCROW nThisRow, SCTAB nThisTab, - ScDocument& rOtherDoc, - SCROW nOtherRow, SCTAB nOtherTab, - SCCOL nMaxCol, SCCOLROW* pOtherCols ); - sal_uInt16 ColDifferences( SCCOL nThisCol, SCTAB nThisTab, - ScDocument& rOtherDoc, - SCCOL nOtherCol, SCTAB nOtherTab, - SCROW nMaxRow, SCCOLROW* pOtherRows ); - void FindOrder( SCCOLROW* pOtherRows, SCCOLROW nThisEndRow, SCCOLROW nOtherEndRow, - sal_Bool bColumns, - ScDocument& rOtherDoc, SCTAB nThisTab, SCTAB nOtherTab, - SCCOLROW nEndCol, SCCOLROW* pTranslate, - ScProgress* pProgress, sal_uLong nProAdd ); - sal_Bool OnlineSpellInRange( const ScRange& rSpellRange, ScAddress& rSpellPos, - sal_uInt16 nMaxTest ); - - DECL_LINK( TrackTimeHdl, Timer* ); - - static ScRecursionHelper* CreateRecursionHelperInstance(); - -public: - void StartListeningArea( const ScRange& rRange, - SvtListener* pListener ); - void EndListeningArea( const ScRange& rRange, - SvtListener* pListener ); - /** Broadcast wrapper, calls - SC_DLLPUBLIC rHint.GetCell()->Broadcast() and AreaBroadcast() - and TrackFormulas() and conditional format list - SourceChanged(). - Preferred. - */ - void Broadcast( const ScHint& rHint ); - /// deprecated - void Broadcast( sal_uLong nHint, const ScAddress& rAddr, - ScBaseCell* pCell ); - /// only area, no cell broadcast - void AreaBroadcast( const ScHint& rHint ); - /// only areas in range, no cell broadcasts - void AreaBroadcastInRange( const ScRange& rRange, - const ScHint& rHint ); - void DelBroadcastAreasInRange( const ScRange& rRange ); - void UpdateBroadcastAreas( UpdateRefMode eUpdateRefMode, - const ScRange& rRange, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - - void StartListeningCell( const ScAddress& rAddress, - SvtListener* pListener ); - void EndListeningCell( const ScAddress& rAddress, - SvtListener* pListener ); - void PutInFormulaTree( ScFormulaCell* pCell ); - void RemoveFromFormulaTree( ScFormulaCell* pCell ); - void CalcFormulaTree( sal_Bool bOnlyForced = false, - sal_Bool bNoProgressBar = false ); - void ClearFormulaTree(); - void AppendToFormulaTrack( ScFormulaCell* pCell ); - void RemoveFromFormulaTrack( ScFormulaCell* pCell ); - void TrackFormulas( sal_uLong nHintId = SC_HINT_DATACHANGED ); - sal_uInt16 GetFormulaTrackCount() const { return nFormulaTrackCount; } - sal_Bool IsInFormulaTree( ScFormulaCell* pCell ) const; - sal_Bool IsInFormulaTrack( ScFormulaCell* pCell ) const; - sal_uInt16 GetHardRecalcState() { return nHardRecalcState; } - void SetHardRecalcState( sal_uInt16 nVal ) { nHardRecalcState = nVal; } - void StartAllListeners(); - const ScFormulaCell* GetFormulaTree() const { return pFormulaTree; } - sal_Bool HasForcedFormulas() const { return bHasForcedFormulas; } - void SetForcedFormulas( sal_Bool bVal ) { bHasForcedFormulas = bVal; } - sal_uLong GetFormulaCodeInTree() const { return nFormulaCodeInTree; } - sal_Bool IsInInterpreter() const { return nInterpretLevel != 0; } - sal_uInt16 GetInterpretLevel() { return nInterpretLevel; } - void IncInterpretLevel() - { - if ( nInterpretLevel < USHRT_MAX ) - nInterpretLevel++; - } - void DecInterpretLevel() - { - if ( nInterpretLevel ) - nInterpretLevel--; - } - sal_Bool IsInMacroInterpreter() const { return nMacroInterpretLevel != 0; } - sal_uInt16 GetMacroInterpretLevel() { return nMacroInterpretLevel; } - void IncMacroInterpretLevel() - { - if ( nMacroInterpretLevel < USHRT_MAX ) - nMacroInterpretLevel++; - } - void DecMacroInterpretLevel() - { - if ( nMacroInterpretLevel ) - nMacroInterpretLevel--; - } - sal_Bool IsInInterpreterTableOp() const { return nInterpreterTableOpLevel != 0; } - sal_uInt16 GetInterpreterTableOpLevel() { return nInterpreterTableOpLevel; } - void IncInterpreterTableOpLevel() - { - if ( nInterpreterTableOpLevel < USHRT_MAX ) - nInterpreterTableOpLevel++; - } - void DecInterpreterTableOpLevel() - { - if ( nInterpreterTableOpLevel ) - nInterpreterTableOpLevel--; - } - // add a formula to be remembered for TableOp broadcasts - void AddTableOpFormulaCell( ScFormulaCell* ); - void InvalidateLastTableOpParams() { aLastTableOpParams.bValid = false; } - ScRecursionHelper& GetRecursionHelper() - { - if (!pRecursionHelper) - pRecursionHelper = CreateRecursionHelperInstance(); - return *pRecursionHelper; - } - sal_Bool IsInDtorClear() const { return bInDtorClear; } - void SetExpandRefs( sal_Bool bVal ) { bExpandRefs = bVal; } - sal_Bool IsExpandRefs() { return bExpandRefs; } - - SC_DLLPUBLIC void IncSizeRecalcLevel( SCTAB nTab ); - SC_DLLPUBLIC void DecSizeRecalcLevel( SCTAB nTab, bool bUpdateNoteCaptionPos = true ); - - sal_uLong GetXMLImportedFormulaCount() const { return nXMLImportedFormulaCount; } - void IncXMLImportedFormulaCount( sal_uLong nVal ) - { - if ( nXMLImportedFormulaCount + nVal > nXMLImportedFormulaCount ) - nXMLImportedFormulaCount += nVal; - } - void DecXMLImportedFormulaCount( sal_uLong nVal ) - { - if ( nVal <= nXMLImportedFormulaCount ) - nXMLImportedFormulaCount -= nVal; - else - nXMLImportedFormulaCount = 0; - } - - void StartTrackTimer(); - - void CompileDBFormula(); - void CompileDBFormula( sal_Bool bCreateFormulaString ); - void CompileNameFormula( sal_Bool bCreateFormulaString ); - void CompileColRowNameFormula(); - - /** Maximum string length of a column, e.g. for dBase export. - @return String length in octets (!) of the destination encoding. In - case of non-octet encodings (e.g. UCS2) the length in code - points times sizeof(sal_Unicode) is returned. */ - sal_Int32 GetMaxStringLen( SCTAB nTab, SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd, - CharSet eCharSet ) const; - /** Maximum string length of numerical cells of a column, e.g. for dBase export. - @return String length in characters (!) including the decimal - separator, and the decimal precision needed. */ - xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, - SCTAB nTab, SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd ) const; - - void KeyInput( const KeyEvent& rKEvt ); // TimerDelays etc. - - ScChangeTrack* GetChangeTrack() const { return pChangeTrack; } - - //! only for import filter, deletes any existing ChangeTrack via - //! EndChangeTracking() and takes ownership of new ChangeTrack pTrack - SC_DLLPUBLIC void SetChangeTrack( ScChangeTrack* pTrack ); - - void StartChangeTracking(); - void EndChangeTracking(); - - SC_DLLPUBLIC void CompareDocument( ScDocument& rOtherDoc ); - - void AddUnoObject( SfxListener& rObject ); - void RemoveUnoObject( SfxListener& rObject ); - void BroadcastUno( const SfxHint &rHint ); - void AddUnoListenerCall( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& rListener, - const ::com::sun::star::lang::EventObject& rEvent ); - - void SetInLinkUpdate(sal_Bool bSet); // TableLink or AreaLink - sal_Bool IsInLinkUpdate() const; // including DdeLink - - SC_DLLPUBLIC SfxItemPool* GetEditPool() const; - SC_DLLPUBLIC SfxItemPool* GetEnginePool() const; - SC_DLLPUBLIC ScFieldEditEngine& GetEditEngine(); - SC_DLLPUBLIC ScNoteEditEngine& GetNoteEngine(); - - ScRefreshTimerControl* GetRefreshTimerControl() const - { return pRefreshTimerControl; } - ScRefreshTimerControl * const * GetRefreshTimerControlAddress() const - { return &pRefreshTimerControl; } - - void SetPastingDrawFromOtherDoc( sal_Bool bVal ) - { bPastingDrawFromOtherDoc = bVal; } - sal_Bool PastingDrawFromOtherDoc() const - { return bPastingDrawFromOtherDoc; } - - /// an ID unique to each document instance - sal_uInt32 GetDocumentID() const; - - void InvalidateStyleSheetUsage() - { bStyleSheetUsageInvalid = sal_True; } - void GetSortParam( ScSortParam& rParam, SCTAB nTab ); - void SetSortParam( ScSortParam& rParam, SCTAB nTab ); - - inline void SetVbaEventProcessor( const com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor >& rxVbaEvents ) - { mxVbaEvents = rxVbaEvents; } - inline com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor > - GetVbaEventProcessor() const { return mxVbaEvents; } - - /** Should only be GRAM_PODF or GRAM_ODFF. */ - void SetStorageGrammar( formula::FormulaGrammar::Grammar eGrammar ); - formula::FormulaGrammar::Grammar GetStorageGrammar() const - { return eStorageGrammar; } - - SfxUndoManager* GetUndoManager(); - bool IsInVBAMode() const; - ScRowBreakIterator* GetRowBreakIterator(SCTAB nTab) const; - - void AddSubTotalCell(ScFormulaCell* pCell); - void RemoveSubTotalCell(ScFormulaCell* pCell); - void SetSubTotalCellsDirty(const ScRange& rDirtyRange); - -private: // CLOOK-Impl-methods - - /** - * Use this class as a locale variable to merge number formatter from - * another document, and set NULL pointer to pFormatExchangeList when - * done. - */ - class NumFmtMergeHandler - { - public: - explicit NumFmtMergeHandler(ScDocument* pDoc, ScDocument* pSrcDoc); - ~NumFmtMergeHandler(); - - private: - ScDocument* mpDoc; - }; - - void MergeNumberFormatter(ScDocument* pSrcDoc); - - void ImplCreateOptions(); // Suggestion: switch to on-demand? - void ImplDeleteOptions(); - - void DeleteDrawLayer(); - void DeleteColorTable(); - SC_DLLPUBLIC sal_Bool DrawGetPrintArea( ScRange& rRange, sal_Bool bSetHor, sal_Bool bSetVer ) const; - void DrawMovePage( sal_uInt16 nOldPos, sal_uInt16 nNewPos ); - void DrawCopyPage( sal_uInt16 nOldPos, sal_uInt16 nNewPos ); - - void UpdateDrawPrinter(); - void UpdateDrawLanguages(); - void UpdateDrawDefaults(); - SC_DLLPUBLIC void InitClipPtrs( ScDocument* pSourceDoc ); - - void LoadDdeLinks(SvStream& rStream); - void SaveDdeLinks(SvStream& rStream) const; - - void DeleteAreaLinksOnTab( SCTAB nTab ); - void UpdateRefAreaLinks( UpdateRefMode eUpdateRefMode, - const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - void CopyRangeNamesToClip(ScDocument* pClipDoc, const ScRange& rClipRange, const ScMarkData* pMarks, bool bAllTabs); - void CopyRangeNamesToClip(ScDocument* pClipDoc, const ScRange& rClipRange, SCTAB nTab); - void CopyRangeNamesFromClip(ScDocument* pClipDoc, ScClipRangeNameData& rRangeNames); - void UpdateRangeNamesInFormulas( - ScClipRangeNameData& rRangeNames, const ScRangeList& rDestRanges, const ScMarkData& rMark, - SCCOL nXw, SCROW nYw); - - sal_Bool HasPartOfMerged( const ScRange& rRange ); - - std::map< SCTAB, ScSortParam > mSheetSortParams; - -}; -inline void ScDocument::GetSortParam( ScSortParam& rParam, SCTAB nTab ) -{ - rParam = mSheetSortParams[ nTab ]; -} - -inline void ScDocument::SetSortParam( ScSortParam& rParam, SCTAB nTab ) -{ - mSheetSortParams[ nTab ] = rParam; -} - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/docuno.hxx b/sc/inc/docuno.hxx deleted file mode 100644 index 1c7fc5111..000000000 --- a/sc/inc/docuno.hxx +++ /dev/null @@ -1,860 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DOCUNO_HXX -#define SC_DOCUNO_HXX - -#include "address.hxx" -#include <sfx2/sfxbasemodel.hxx> -#include <svl/lstner.hxx> -#include <svx/fmdmod.hxx> -#include <com/sun/star/view/XRenderable.hpp> -#include <com/sun/star/style/XStyleFamiliesSupplier.hpp> -#include <com/sun/star/document/XActionLockable.hpp> -#include <com/sun/star/document/XLinkTargetSupplier.hpp> -#include <com/sun/star/drawing/XDrawPagesSupplier.hpp> -#include <com/sun/star/drawing/XDrawPages.hpp> -#include <com/sun/star/sheet/XGoalSeek.hpp> -#include <com/sun/star/sheet/XCalculatable.hpp> -#include <com/sun/star/sheet/XScenarios.hpp> -#include <com/sun/star/sheet/XConsolidatable.hpp> -#include <com/sun/star/sheet/XSpreadsheetDocument.hpp> -#include <com/sun/star/sheet/XDocumentAuditing.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/util/XProtectable.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/table/XTableColumns.hpp> -#include <com/sun/star/table/XTableRows.hpp> -#include <com/sun/star/sheet/XSheetAnnotations.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/sheet/XCellRangesAccess.hpp> -#include <com/sun/star/util/XChangesNotifier.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/interfacecontainer.h> -#include <svl/itemprop.hxx> -#include "drwlayer.hxx" - -class ScDocShell; -class ScAnnotationObj; -class ScMarkData; -class ScPrintFuncCache; -class ScPrintSelectionStatus; -class ScTableColumnObj; -class ScTableRowObj; -class ScTableSheetObj; -class SvxFmDrawPage; -class SvxDrawPage; -class ScRangeList; -class ScPrintUIOptions; -class ScSheetSaveData; - -class SC_DLLPUBLIC ScModelObj : public SfxBaseModel, - public com::sun::star::sheet::XSpreadsheetDocument, - public com::sun::star::document::XActionLockable, - public com::sun::star::sheet::XCalculatable, - public com::sun::star::util::XProtectable, - public com::sun::star::drawing::XDrawPagesSupplier, - public com::sun::star::sheet::XGoalSeek, - public com::sun::star::sheet::XConsolidatable, - public com::sun::star::sheet::XDocumentAuditing, - public com::sun::star::style::XStyleFamiliesSupplier, - public com::sun::star::view::XRenderable, - public com::sun::star::document::XLinkTargetSupplier, - public com::sun::star::beans::XPropertySet, - public SvxFmMSFactory, // derived from XMultiServiceFactory - public com::sun::star::lang::XServiceInfo, - public ::com::sun::star::util::XChangesNotifier -{ -private: - SfxItemPropertySet aPropSet; - ScDocShell* pDocShell; - ScPrintFuncCache* pPrintFuncCache; - ScPrintUIOptions* pPrinterOptions; - com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> xNumberAgg; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawGradTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawHatchTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawBitmapTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawTrGradTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawMarkerTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawDashTab; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xChartDataProv; - com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xObjProvider; - - ::cppu::OInterfaceContainerHelper maChangesListeners; - - sal_Bool FillRenderMarkData( const com::sun::star::uno::Any& aSelection, - const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rOptions, - ScMarkData& rMark, ScPrintSelectionStatus& rStatus, String& rPagesStr ) const; - com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> GetFormatter(); - void HandleCalculateEvents(); - - rtl::OUString maBuildId; -protected: - const SfxItemPropertySet& GetPropertySet() const { return aPropSet; } - -public: - ScModelObj(ScDocShell* pDocSh); - virtual ~ScModelObj(); - - // create ScModelObj and set at pDocSh (SetBaseModel) - static void CreateAndSet(ScDocShell* pDocSh); - - ScDocument* GetDocument() const; - SfxObjectShell* GetEmbeddedObject() const; - - void UpdateAllRowHeights( const ScMarkData* pTabMark = NULL ); - - void BeforeXMLLoading(); - void AfterXMLLoading(sal_Bool bRet); - ScSheetSaveData* GetSheetSaveData(); - - void RepaintRange( const ScRange& rRange ); - - bool HasChangesListeners() const; - - void NotifyChanges( const ::rtl::OUString& rOperation, const ScRangeList& rRanges, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rProperties = - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >() ); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XSpreadsheetDocument - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheets > SAL_CALL - getSheets() throw(::com::sun::star::uno::RuntimeException); - - // XStyleFamiliesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getStyleFamilies() throw(::com::sun::star::uno::RuntimeException); - - // XRenderable - virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& aSelection, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& xOptions ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& xOptions ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& xOptions ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XLinkTargetSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getLinks() throw(::com::sun::star::uno::RuntimeException); - - // XActionLockable - virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setActionLocks( sal_Int16 nLock ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL lockControllers() throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL unlockControllers() throw (::com::sun::star::uno::RuntimeException); - - // XCalculatable - virtual void SAL_CALL calculate() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL calculateAll() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isAutomaticCalculationEnabled() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL enableAutomaticCalculation( sal_Bool bEnabled ) - throw(::com::sun::star::uno::RuntimeException); - - // XProtectable - virtual void SAL_CALL protect( const ::rtl::OUString& aPassword ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL unprotect( const ::rtl::OUString& aPassword ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException); - - // XDrawPagesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL - getDrawPages() throw(::com::sun::star::uno::RuntimeException); - - // XGoalSeek - virtual ::com::sun::star::sheet::GoalResult SAL_CALL seekGoal( - const ::com::sun::star::table::CellAddress& aFormulaPosition, - const ::com::sun::star::table::CellAddress& aVariablePosition, - const ::rtl::OUString& aGoalValue ) - throw(::com::sun::star::uno::RuntimeException); - - // XConsolidatable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XConsolidationDescriptor > - SAL_CALL createConsolidationDescriptor( sal_Bool bEmpty ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL consolidate( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XConsolidationDescriptor >& xDescriptor ) - throw(::com::sun::star::uno::RuntimeException); - - // XDocumentAuditing - virtual void SAL_CALL refreshArrows() throw(::com::sun::star::uno::RuntimeException); - - // XViewDataSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData( ) - throw (::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XMultiServiceFactory - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - createInstance( const ::rtl::OUString& aServiceSpecifier ) - throw(::com::sun::star::uno::Exception, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any >& Arguments ) - throw(::com::sun::star::uno::Exception, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScModelObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - // XChangesNotifier - virtual void SAL_CALL addChangesListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XChangesListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeChangesListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XChangesListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); -}; - - -class ScDrawPagesObj : public cppu::WeakImplHelper2< - com::sun::star::drawing::XDrawPages, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - -::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > - GetObjectByIndex_Impl(sal_Int32 nIndex) const; - -public: - ScDrawPagesObj(ScDocShell* pDocSh); - virtual ~ScDrawPagesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XDrawPages - virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL - insertNewByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< - ::com::sun::star::drawing::XDrawPage >& xPage ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScTableSheetsObj : public cppu::WeakImplHelper5< - com::sun::star::sheet::XSpreadsheets, - com::sun::star::sheet::XCellRangesAccess, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const; - ScTableSheetObj* GetObjectByName_Impl(const ::rtl::OUString& aName) const; - -public: - ScTableSheetsObj(ScDocShell* pDocSh); - virtual ~ScTableSheetsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XSpreadsheets - virtual void SAL_CALL insertNewByName( const ::rtl::OUString& aName, sal_Int16 nPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL moveByName( const ::rtl::OUString& aName, sal_Int16 nDestination ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL copyByName( const ::rtl::OUString& aName, - const ::rtl::OUString& aCopy, sal_Int16 nDestination ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangesAccess - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > - SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet ) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > - SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet ) - throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence < ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > > - SAL_CALL getCellRangesByName( const ::rtl::OUString& aRange ) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScTableColumnsObj : public cppu::WeakImplHelper5< - com::sun::star::table::XTableColumns, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XNameAccess, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; - SCCOL nStartCol; - SCCOL nEndCol; - - ScTableColumnObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const; - ScTableColumnObj* GetObjectByName_Impl(const ::rtl::OUString& aName) const; - -public: - ScTableColumnsObj(ScDocShell* pDocSh, SCTAB nT, - SCCOL nSC, SCCOL nEC); - virtual ~ScTableColumnsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XTableColumns - virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScTableRowsObj : public cppu::WeakImplHelper4< - com::sun::star::table::XTableRows, - com::sun::star::container::XEnumerationAccess, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; - SCROW nStartRow; - SCROW nEndRow; - - ScTableRowObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const; - -public: - ScTableRowsObj(ScDocShell* pDocSh, SCTAB nT, - SCROW nSR, SCROW nER); - virtual ~ScTableRowsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XTableRows - virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScSpreadsheetSettingsObj : public cppu::WeakImplHelper2< - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - -public: - virtual ~ScSpreadsheetSettingsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScAnnotationsObj : public cppu::WeakImplHelper3< - com::sun::star::sheet::XSheetAnnotations, - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; // Collection belongs to the sheet - - bool GetAddressByIndex_Impl( sal_Int32 nIndex, ScAddress& rPos ) const; - ScAnnotationObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const; - -public: - ScAnnotationsObj(ScDocShell* pDocSh, SCTAB nT); - virtual ~ScAnnotationsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XSheetAnnotations - virtual void SAL_CALL insertNew( const ::com::sun::star::table::CellAddress& aPosition, - const ::rtl::OUString& aText ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScScenariosObj : public cppu::WeakImplHelper4< - com::sun::star::sheet::XScenarios, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SCTAB nTab; - - sal_Bool GetScenarioIndex_Impl( const ::rtl::OUString& rName, SCTAB& rIndex ); - ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex); - ScTableSheetObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScScenariosObj(ScDocShell* pDocSh, SCTAB nT); - virtual ~ScScenariosObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XScenarios - virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::table::CellRangeAddress >& aRanges, - const ::rtl::OUString& aComment ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpcachetable.hxx b/sc/inc/dpcachetable.hxx deleted file mode 100644 index dc6742750..000000000 --- a/sc/inc/dpcachetable.hxx +++ /dev/null @@ -1,205 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPCACHETABLE_HXX -#define SC_DPCACHETABLE_HXX - -#include "sal/types.h" -#include "osl/mutex.hxx" -#include "global.hxx" -#include "collect.hxx" - -#include <vector> -#include <boost/unordered_set.hpp> -#include <boost/shared_ptr.hpp> -#include <com/sun/star/uno/Reference.hxx> - -namespace com { namespace sun { namespace star { - namespace sdbc { - class XRowSet; - } - namespace sheet { - struct DataPilotFieldFilter; - } -}}} - -class Date; -class ScDPItemData; -class ScDPCache; -class ScDocument; -class ScRange; -struct ScDPValueData; -struct ScQueryParam; - -class SC_DLLPUBLIC ScDPCacheTable -{ - struct RowFlag - { - bool mbShowByFilter:1; - bool mbShowByPage:1; - bool isActive() const; - RowFlag(); - }; -public: - /** individual filter item used in SingleFilter and GroupFilter. */ - struct FilterItem - { - String maString; - double mfValue; - bool mbHasValue; - - FilterItem(); - bool match( const ScDPItemData& rCellData ) const; - }; - - /** interface class used for filtering of rows. */ - class FilterBase - { - public: - /** returns true if the matching condition is met for a single cell - value, or false otherwise. */ - virtual bool match( const ScDPItemData& rCellData ) const = 0; - }; - - /** ordinary single-item filter. */ - class SingleFilter : public FilterBase - { - public: - explicit SingleFilter(String aString, double fValue, bool bHasValue); - virtual ~SingleFilter() {} - - virtual bool match(const ScDPItemData& rCellData) const; - - const String& getMatchString(); - double getMatchValue() const; - bool hasValue() const; - - private: - explicit SingleFilter(); - - FilterItem maItem; - }; - - /** multi-item (group) filter. */ - class GroupFilter : public FilterBase - { - public: - GroupFilter(); - virtual ~GroupFilter() {} - virtual bool match( const ScDPItemData& rCellData ) const; - void addMatchItem(const String& rStr, double fVal, bool bHasValue); - size_t getMatchItemCount() const; - - private: - ::std::vector<FilterItem> maItems; - }; - - /** single filtering criterion. */ - struct Criterion - { - sal_Int32 mnFieldIndex; - ::boost::shared_ptr<FilterBase> mpFilter; - - Criterion(); - }; - - ScDPCacheTable(const ScDPCache* pCache); - ~ScDPCacheTable(); - - sal_Int32 getRowSize() const; - sal_Int32 getColSize() const; - - const ScDPCache* getCache() const; - - /** Fill the internal table from the cell range provided. This function - assumes that the first row is the column header. */ - void fillTable( const ScQueryParam& rQuery, bool* pSpecial, - bool bIgnoreEmptyRows, bool bRepeatIfEmpty ); - - /** Fill the internal table from database connection object. This function - assumes that the first row is the column header. */ - void fillTable(); - - /** Check whether a specified row is active or not. When a row is active, - it is used in calculation of the results data. A row becomes inactive - when it is filtered out by page field. */ - bool isRowActive(sal_Int32 nRow) const; - - /** Set filter on/off flag to each row to control visibility. The caller - must ensure that the table is filled before calling this function. */ - void filterByPageDimension(const ::std::vector<Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rRepeatIfEmptyDims); - - /** Get the cell instance at specified location within the data grid. Note - that the data grid doesn't include the header row. Don't delete the - returned object! */ - const ScDPItemData* getCell(SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const; - void getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const; - String getFieldName( SCCOL nIndex) const; - - /** Get the unique entries for a field specified by index. The caller must - make sure that the table is filled before calling function, or it will - get an empty collection. */ - const ::std::vector<SCROW>& getFieldEntries( sal_Int32 nColumn ) const; - - /** Filter the table based on the specified criteria, and copy the - result to rTabData. This method is used, for example, to generate - a drill-down data table. */ - void filterTable(const ::std::vector<Criterion>& rCriteria, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rTabData, - const ::boost::unordered_set<sal_Int32>& rRepeatIfEmptyDims); - - SCROW getOrder(long nDim, SCROW nIndex) const; - void clear(); - bool empty() const; - void setCache(const ScDPCache* p); - bool hasCache() const; - -private: - ScDPCacheTable(); - ScDPCacheTable(const ScDPCacheTable&); - - /** - * Check if a given row meets all specified criteria. - * - * @param nRow index of row to be tested. - * @param rCriteria a list of criteria - */ - bool isRowQualified(sal_Int32 nRow, const ::std::vector<Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rRepeatIfEmptyDims) const; - -private: - /** unique field entires for each field (column). */ - ::std::vector< ::std::vector<SCROW> > maFieldEntries; - - /** Row flags. The first row below the header row has the index of 0. */ - ::std::vector<RowFlag> maRowFlags; - - const ScDPCache* mpCache; -}; -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpdimsave.hxx b/sc/inc/dpdimsave.hxx deleted file mode 100644 index 8df50513e..000000000 --- a/sc/inc/dpdimsave.hxx +++ /dev/null @@ -1,193 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPDIMSAVE_HXX -#define SC_DPDIMSAVE_HXX - -#include <vector> -#include <map> -#include <tools/string.hxx> -#include "dpgroup.hxx" // for ScDPNumGroupInfo -#include "scdllapi.h" - -class ScDPGroupTableData; -class ScDPGroupDimension; -class ScDPObject; -class ScStrCollection; -class SvNumberFormatter; - -class ScDPSaveGroupDimension; - -// -// Classes to save Data Pilot settings that create new dimensions (fields). -// These have to be applied before the other ScDPSaveData settings. -// - -class SC_DLLPUBLIC ScDPSaveGroupItem -{ - String aGroupName; // name of group - ::std::vector<String> aElements; // names of items in original dimension - -public: - ScDPSaveGroupItem( const String& rName ); - ~ScDPSaveGroupItem(); - - void AddToData( ScDPGroupDimension& rDataDim, SvNumberFormatter* pFormatter ) const; - - void AddElement( const String& rName ); - void AddElementsFromGroup( const ScDPSaveGroupItem& rGroup ); - const String& GetGroupName() const { return aGroupName; } - bool RemoveElement( const String& rName ); // returns true if found (removed) - - bool IsEmpty() const; - size_t GetElementCount() const; - const String* GetElementByIndex( size_t nIndex ) const; - - void Rename( const String& rNewName ); - - // remove this group's elements from their groups in rDimension - // (rDimension must be a different dimension from the one which contains this) - void RemoveElementsFromGroups( ScDPSaveGroupDimension& rDimension ) const; -}; - -typedef ::std::vector<ScDPSaveGroupItem> ScDPSaveGroupItemVec; - -class SC_DLLPUBLIC ScDPSaveGroupDimension -{ - String aSourceDim; // always the real source from the original data - String aGroupDimName; - ScDPSaveGroupItemVec aGroups; - ScDPNumGroupInfo aDateInfo; - sal_Int32 nDatePart; - -public: - ScDPSaveGroupDimension( const String& rSource, const String& rName ); - ScDPSaveGroupDimension( const String& rSource, const String& rName, const ScDPNumGroupInfo& rDateInfo, sal_Int32 nPart ); - ~ScDPSaveGroupDimension(); - - void AddToData( ScDPGroupTableData& rData ) const; - - void SetDateInfo( const ScDPNumGroupInfo& rInfo, sal_Int32 nPart ); - - void AddGroupItem( const ScDPSaveGroupItem& rItem ); - const String& GetGroupDimName() const { return aGroupDimName; } - const String& GetSourceDimName() const { return aSourceDim; } - - sal_Int32 GetDatePart() const { return nDatePart; } - const ScDPNumGroupInfo& GetDateInfo() const { return aDateInfo; } - - String CreateGroupName( const String& rPrefix ); - const ScDPSaveGroupItem* GetNamedGroup( const String& rGroupName ) const; - ScDPSaveGroupItem* GetNamedGroupAcc( const String& rGroupName ); - void RemoveFromGroups( const String& rItemName ); - void RemoveGroup( const String& rGroupName ); - bool IsEmpty() const; - bool HasOnlyHidden( const ScStrCollection& rVisible ); - - long GetGroupCount() const; - const ScDPSaveGroupItem* GetGroupByIndex( long nIndex ) const; - ScDPSaveGroupItem* GetGroupAccByIndex( long nIndex ); - - void Rename( const String& rNewName ); -}; - -class SC_DLLPUBLIC ScDPSaveNumGroupDimension -{ - String aDimensionName; - ScDPNumGroupInfo aGroupInfo; - ScDPNumGroupInfo aDateInfo; - sal_Int32 nDatePart; - -public: - ScDPSaveNumGroupDimension( const String& rName, const ScDPNumGroupInfo& rInfo ); - ScDPSaveNumGroupDimension( const String& rName, const ScDPNumGroupInfo& rDateInfo, sal_Int32 nPart ); - ~ScDPSaveNumGroupDimension(); - - void AddToData( ScDPGroupTableData& rData ) const; - - const String& GetDimensionName() const { return aDimensionName; } - const ScDPNumGroupInfo& GetInfo() const { return aGroupInfo; } - - sal_Int32 GetDatePart() const { return nDatePart; } - const ScDPNumGroupInfo& GetDateInfo() const { return aDateInfo; } - - void SetGroupInfo( const ScDPNumGroupInfo& rNew ); - void SetDateInfo( const ScDPNumGroupInfo& rInfo, sal_Int32 nPart ); -}; - -class SC_DLLPUBLIC ScDPDimensionSaveData -{ -public: - ScDPDimensionSaveData(); - ~ScDPDimensionSaveData(); - - bool operator==( const ScDPDimensionSaveData& r ) const; - - void WriteToData( ScDPGroupTableData& rData ) const; - - String CreateGroupDimName( const String& rSourceName, const ScDPObject& rObject, bool bAllowSource, const ::std::vector< String >* pDeletedNames ); - String CreateDateGroupDimName( sal_Int32 nDatePart, const ScDPObject& rObject, bool bAllowSource, const ::std::vector< String >* pDeletedNames ); - - void AddGroupDimension( const ScDPSaveGroupDimension& rGroupDim ); - void ReplaceGroupDimension( const ScDPSaveGroupDimension& rGroupDim ); - void RemoveGroupDimension( const String& rGroupDimName ); - - void AddNumGroupDimension( const ScDPSaveNumGroupDimension& rGroupDim ); - void ReplaceNumGroupDimension( const ScDPSaveNumGroupDimension& rGroupDim ); - void RemoveNumGroupDimension( const String& rGroupDimName ); - - const ScDPSaveGroupDimension* GetGroupDimForBase( const String& rBaseDimName ) const; - const ScDPSaveGroupDimension* GetNamedGroupDim( const String& rGroupDimName ) const; - const ScDPSaveGroupDimension* GetFirstNamedGroupDim( const String& rBaseDimName ) const; - const ScDPSaveGroupDimension* GetNextNamedGroupDim( const String& rGroupDimName ) const; - const ScDPSaveNumGroupDimension* GetNumGroupDim( const String& rGroupDimName ) const; - - ScDPSaveGroupDimension* GetGroupDimAccForBase( const String& rBaseDimName ); - ScDPSaveGroupDimension* GetNamedGroupDimAcc( const String& rGroupDimName ); - ScDPSaveGroupDimension* GetFirstNamedGroupDimAcc( const String& rBaseDimName ); - ScDPSaveGroupDimension* GetNextNamedGroupDimAcc( const String& rGroupDimName ); - - ScDPSaveNumGroupDimension* GetNumGroupDimAcc( const String& rGroupDimName ); - - bool HasGroupDimensions() const; - - sal_Int32 CollectDateParts( const String& rBaseDimName ) const; - -private: - typedef ::std::vector< ScDPSaveGroupDimension > ScDPSaveGroupDimVec; - typedef ::std::map< String, ScDPSaveNumGroupDimension > ScDPSaveNumGroupDimMap; - - ScDPDimensionSaveData& operator=( const ScDPDimensionSaveData& ); - - ScDPSaveGroupDimVec maGroupDims; - ScDPSaveNumGroupDimMap maNumGroupDims; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpglobal.hxx b/sc/inc/dpglobal.hxx deleted file mode 100644 index 991eb71dd..000000000 --- a/sc/inc/dpglobal.hxx +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright IBM Corporation 2009. - * Copyright 2009 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SC_DPGLOBAL_HXX -#define _SC_DPGLOBAL_HXX - -#include <algorithm> -#include <list> -#include <vector> -#include <tools/gen.hxx> -#include <tools/debug.hxx> -#include <global.hxx> - -#include <com/sun/star/container/XNamed.hpp> -#include <com/sun/star/sheet/XDimensionsSupplier.hpp> - -#include <com/sun/star/sheet/DataPilotFieldFilter.hpp> -#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp> -#include <com/sun/star/sheet/DataPilotTableHeaderData.hpp> -#include <com/sun/star/sheet/DataPilotTablePositionData.hpp> -#include <com/sun/star/sheet/DataPilotTablePositionType.hpp> -#include <com/sun/star/sheet/DataPilotTableResultData.hpp> -#include <com/sun/star/sheet/DataResultFlags.hpp> -#include <com/sun/star/sheet/GeneralFunction.hpp> -#include <com/sun/star/sheet/MemberResultFlags.hpp> -#include <com/sun/star/sheet/TableFilterField.hpp> -#include <com/sun/star/sheet/XDataPilotMemberResults.hpp> -#include <com/sun/star/sheet/XDataPilotResults.hpp> -#include <com/sun/star/sheet/XHierarchiesSupplier.hpp> -#include <com/sun/star/sheet/XLevelsSupplier.hpp> - - -// moved from fieldwnd.hxx, see also SC_DAPI_MAXFIELDS -#define MAX_LABELS 256 - -#define PIVOT_MAXFUNC 11 -#define PIVOT_FUNC_NONE 0x0000 -#define PIVOT_FUNC_SUM 0x0001 -#define PIVOT_FUNC_COUNT 0x0002 -#define PIVOT_FUNC_AVERAGE 0x0004 -#define PIVOT_FUNC_MAX 0x0008 -#define PIVOT_FUNC_MIN 0x0010 -#define PIVOT_FUNC_PRODUCT 0x0020 -#define PIVOT_FUNC_COUNT_NUM 0x0040 -#define PIVOT_FUNC_STD_DEV 0x0080 -#define PIVOT_FUNC_STD_DEVP 0x0100 -#define PIVOT_FUNC_STD_VAR 0x0200 -#define PIVOT_FUNC_STD_VARP 0x0400 -#define PIVOT_FUNC_AUTO 0x1000 - -#define DATA_RENAME_SEPARATOR "_" -#define __MAX_NUM_LEN 64 -#define __DECIMALPLACE 18 - -#define DP_PROP_COLUMNGRAND "ColumnGrand" -#define DP_PROP_FUNCTION "Function" -#define DP_PROP_IGNOREEMPTY "IgnoreEmptyRows" -#define DP_PROP_ISDATALAYOUT "IsDataLayoutDimension" -#define DP_PROP_ISVISIBLE "IsVisible" -#define DP_PROP_ORIENTATION "Orientation" -#define DP_PROP_REPEATIFEMPTY "RepeatIfEmpty" -#define DP_PROP_ROWGRAND "RowGrand" -#define DP_PROP_SHOWDETAILS "ShowDetails" -#define DP_PROP_SHOWEMPTY "ShowEmpty" -#define DP_PROP_SUBTOTALS "SubTotals" -#define DP_PROP_USEDHIERARCHY "UsedHierarchy" -#define DP_PROP_FILTER "Filter" -#define DP_PROP_POSITION "Position" - -class TypedStrData; -class ScDPObject; -class ScDPInfoWnd; -class ScDocShell; -class ScTabViewShell; - -class SC_DLLPUBLIC ScDPItemData -{ -public: - enum { - MK_VAL = 0x01, - MK_DATA = 0x02, - MK_ERR = 0x04, - MK_DATE = 0x08, - MK_DATEPART = 0x10 - }; -private: - union - { - sal_uLong nNumFormat; - sal_Int32 mnDatePart; - }; - - String aString; - double fValue; - sal_uInt8 mbFlag; - - friend class ScDPCache; -public: - ScDPItemData() : nNumFormat( 0 ), fValue(0.0), mbFlag( 0 ){} - ScDPItemData( sal_uLong nNF, const String & rS, double fV, sal_uInt8 bF ):nNumFormat(nNF), aString(rS), fValue(fV), mbFlag( bF ){} - ScDPItemData( const String& rS, double fV = 0.0, bool bHV = false, const sal_uLong nNumFormat = 0 , bool bData = true) ; - ScDPItemData( ScDocument* pDoc, SCROW nRow, sal_uInt16 nCol, sal_uInt16 nDocTab ); - - void SetString( const String& rS ) { aString = rS; mbFlag &= ~(MK_VAL|MK_DATE); nNumFormat = 0; mbFlag |= MK_DATA; } - bool IsCaseInsEqual( const ScDPItemData& r ) const; - - size_t Hash() const; - - // exact equality - bool operator==( const ScDPItemData& r ) const; - // case insensitive equality - static sal_Int32 Compare( const ScDPItemData& rA, const ScDPItemData& rB ); - -#if OSL_DEBUG_LEVEL > 1 - void dump() const; -#endif - -public: - bool IsHasData() const ; - bool IsHasErr() const ; - bool IsValue() const; - String GetString() const ; - double GetValue() const ; - sal_uLong GetNumFormat() const ; - bool HasStringData() const ; - bool IsDate() const; - bool HasDatePart() const; - void SetDate( bool b ) ; - - TypedStrData* CreateTypeString( ); - sal_uInt8 GetType() const; - sal_uInt8 & GetFlag() throw() { return mbFlag; } - const sal_uInt8 & GetFlag() const throw() { return const_cast<ScDPItemData*>(this)->GetFlag(); } -}; - -class SC_DLLPUBLIC ScDPItemDataPool -{ -public: - ScDPItemDataPool(); - ScDPItemDataPool(const ScDPItemDataPool& r); - - virtual ~ScDPItemDataPool(); - virtual const ScDPItemData* getData( sal_Int32 nId ); - virtual sal_Int32 getDataId( const ScDPItemData& aData ); - virtual sal_Int32 insertData( const ScDPItemData& aData ); -protected: - struct DataHashFunc : public std::unary_function< const ScDPItemData &, size_t > - { - size_t operator() (const ScDPItemData &rData) const { return rData.Hash(); } - }; - - typedef ::boost::unordered_multimap< ScDPItemData, sal_Int32, DataHashFunc > DataHash; - - ::std::vector< ScDPItemData > maItems; - DataHash maItemIds; -}; - -namespace ScDPGlobal -{ -// common operation - String operator + ( const String & rL, const String &rR ); - Rectangle operator *( const Rectangle &rLeft, const std::pair<double,double> & rRight ); -} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpgroup.hxx b/sc/inc/dpgroup.hxx deleted file mode 100644 index f71eecfac..000000000 --- a/sc/inc/dpgroup.hxx +++ /dev/null @@ -1,239 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPGROUP_HXX -#define SC_DPGROUP_HXX - -#include <vector> -#include <boost/unordered_set.hpp> -#include <boost/shared_ptr.hpp> - -#include "dptabdat.hxx" -#include "scdllapi.h" -#include "dpglobal.hxx" -class ScDocument; -class SvNumberFormatter; - -//! API struct? -struct ScDPNumGroupInfo -{ - sal_Bool Enable; - sal_Bool DateValues; - sal_Bool AutoStart; - sal_Bool AutoEnd; - double Start; - double End; - double Step; - - ScDPNumGroupInfo() : Enable(false), DateValues(false), AutoStart(false), AutoEnd(false), - Start(0.0), End(0.0), Step(0.0) {} -}; - -// ScDPDateGroupHelper is used as part of ScDPGroupDimension (additional dim.) -// or ScDPNumGroupDimension (innermost, replaces the original dim.). -// Source index, name and result collection are stored at the parent. - -class ScDPDateGroupHelper -{ - ScDPNumGroupInfo aNumInfo; // only start and end (incl. auto flags) are used - sal_Int32 nDatePart; // single part - -public: - ScDPDateGroupHelper( const ScDPNumGroupInfo& rInfo, sal_Int32 nPart ); - ~ScDPDateGroupHelper(); - - sal_Int32 GetDatePart() const { return nDatePart; } - const ScDPNumGroupInfo& GetNumInfo() const { return aNumInfo; } - - void FillColumnEntries( - SCCOL nSourceDim, const ScDPCache* pCahe , std::vector<SCROW>& rEntries, - const std::vector<SCROW>& rOriginal) const; -}; - -typedef ::std::vector<ScDPItemData> ScDPItemDataVec; - -class ScDPGroupItem -{ - ScDPItemData aGroupName; // name of group item - ScDPItemDataVec aElements; // names of items in original dimension - -public: - ScDPGroupItem( const ScDPItemData& rName ); - ~ScDPGroupItem(); - - void AddElement( const ScDPItemData& rName ); - - const ScDPItemData& GetName() const { return aGroupName; } - bool HasElement( const ScDPItemData& rData ) const; - bool HasCommonElement( const ScDPGroupItem& rOther ) const; - - void FillGroupFilter( ScDPCacheTable::GroupFilter& rFilter ) const; -}; - -typedef ::std::vector<ScDPGroupItem> ScDPGroupItemVec; - -class ScDPGroupDimension -{ - long nSourceDim; - long nGroupDim; - String aGroupName; - ScDPDateGroupHelper* pDateHelper; - ScDPGroupItemVec aItems; - mutable ::std::vector< SCROW > maMemberEntries; -public: - ScDPGroupDimension( long nSource, const String& rNewName ); - ScDPGroupDimension( const ScDPGroupDimension& rOther ); - ~ScDPGroupDimension(); - - ScDPGroupDimension& operator=( const ScDPGroupDimension& rOther ); - - void AddItem( const ScDPGroupItem& rItem ); - void SetGroupDim( long nDim ); // called from AddGroupDimension - - long GetSourceDim() const { return nSourceDim; } - long GetGroupDim() const { return nGroupDim; } - const String& GetName() const { return aGroupName; } - - const std::vector< SCROW >& GetColumnEntries( const ScDPCacheTable& rCacheTable, const std::vector< SCROW >& rOriginal ) const; - const ScDPGroupItem* GetGroupForData( const ScDPItemData& rData ) const; // rData = entry in original dim. - const ScDPGroupItem* GetGroupForName( const ScDPItemData& rName ) const; // rName = entry in group dim. - const ScDPGroupItem* GetGroupByIndex( size_t nIndex ) const; - - const ScDPDateGroupHelper* GetDateHelper() const { return pDateHelper; } - - void MakeDateHelper( const ScDPNumGroupInfo& rInfo, sal_Int32 nPart ); - - void DisposeData(); - - size_t GetItemCount() const { return aItems.size(); } -}; - -typedef ::std::vector<ScDPGroupDimension> ScDPGroupDimensionVec; - -class SC_DLLPUBLIC ScDPNumGroupDimension -{ - ScDPNumGroupInfo aGroupInfo; // settings - ScDPDateGroupHelper* pDateHelper; - mutable ::std::vector< SCROW > maMemberEntries; - mutable bool bHasNonInteger; // initialized in GetNumEntries - mutable sal_Unicode cDecSeparator; // initialized in GetNumEntries - -public: - ScDPNumGroupDimension(); - ScDPNumGroupDimension( const ScDPNumGroupInfo& rInfo ); - ScDPNumGroupDimension( const ScDPNumGroupDimension& rOther ); - ~ScDPNumGroupDimension(); - - ScDPNumGroupDimension& operator=( const ScDPNumGroupDimension& rOther ); - - const ScDPNumGroupInfo& GetInfo() const { return aGroupInfo; } - bool HasNonInteger() const { return bHasNonInteger; } - sal_Unicode GetDecSeparator() const { return cDecSeparator; } - - const ScDPDateGroupHelper* GetDateHelper() const { return pDateHelper; } - - const std::vector<SCROW>& GetNumEntries( - SCCOL nSourceDim, const ScDPCache* pCache, - const std::vector< SCROW >& rOriginal) const; - - void MakeDateHelper( const ScDPNumGroupInfo& rInfo, sal_Int32 nPart ); - - void DisposeData(); -}; - -// -// proxy implementation of ScDPTableData to add grouped items -// - -class ScDPGroupTableData : public ScDPTableData -{ - typedef ::boost::unordered_set< ::rtl::OUString, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > StringHashSet; - - ::boost::shared_ptr<ScDPTableData> pSourceData; - long nSourceCount; - ScDPGroupDimensionVec aGroups; - ScDPNumGroupDimension* pNumGroups; // array[nSourceCount] - ScDocument* pDoc; - StringHashSet aGroupNames; - - void FillGroupValues( SCROW* pItemDataIndex, long nCount, const long* pDims ); - virtual long GetSourceDim( long nDim ); - - bool IsNumGroupDimension( long nDimension ) const; - void GetNumGroupInfo( long nDimension, ScDPNumGroupInfo& rInfo, - bool& rNonInteger, sal_Unicode& rDecimal ); - - void ModifyFilterCriteria(::std::vector<ScDPCacheTable::Criterion>& rCriteria); - -public: - // takes ownership of pSource - ScDPGroupTableData( const ::boost::shared_ptr<ScDPTableData>& pSource, ScDocument* pDocument ); - virtual ~ScDPGroupTableData(); - - void AddGroupDimension( const ScDPGroupDimension& rGroup ); - void SetNumGroupDimension( long nIndex, const ScDPNumGroupDimension& rGroup ); - long GetDimensionIndex( const String& rName ); - - ScDocument* GetDocument() { return pDoc; } - - virtual long GetColumnCount(); - virtual long GetMembersCount( long nDim ); - virtual const std::vector< SCROW >& GetColumnEntries( long nColumn ) ; - virtual const ScDPItemData* GetMemberById( long nDim, long nId); - virtual long Compare( long nDim, long nDataId1, long nDataId2); - - virtual String getDimensionName(long nColumn); - virtual sal_Bool getIsDataLayoutDimension(long nColumn); - virtual sal_Bool IsDateDimension(long nDim); - virtual sal_uLong GetNumberFormat(long nDim); - virtual void DisposeData(); - virtual void SetEmptyFlags( sal_Bool bIgnoreEmptyRows, sal_Bool bRepeatIfEmpty ); - - virtual bool IsRepeatIfEmpty(); - - virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rDataDims); - virtual void GetDrillDownData(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, - const ::boost::unordered_set<sal_Int32>& rCatDims, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); - virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; - - virtual sal_Bool IsBaseForGroup(long nDim) const; - virtual long GetGroupBase(long nGroupDim) const; - virtual sal_Bool IsNumOrDateGroup(long nDim) const; - virtual sal_Bool IsInGroup( const ScDPItemData& rGroupData, long nGroupIndex, - const ScDPItemData& rBaseData, long nBaseIndex ) const; - virtual sal_Bool HasCommonElement( const ScDPItemData& rFirstData, long nFirstIndex, - const ScDPItemData& rSecondData, long nSecondIndex ) const; -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx deleted file mode 100644 index 919bc02d0..000000000 --- a/sc/inc/dpobject.hxx +++ /dev/null @@ -1,365 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPOBJECT_HXX -#define SC_DPOBJECT_HXX - -#include "scdllapi.h" -#include "global.hxx" -#include "address.hxx" -#include "collect.hxx" -#include "dpoutput.hxx" -#include "pivot.hxx" -#include <com/sun/star/sheet/XDimensionsSupplier.hpp> - -#include <boost/ptr_container/ptr_list.hpp> -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/ptr_container/ptr_map.hpp> -#include <boost/shared_ptr.hpp> - -namespace com { namespace sun { namespace star { namespace sheet { - - struct DataPilotTablePositionData; - struct DataPilotTableHeaderData; - -}}}} - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldFilter; -}}}} - -class Rectangle; -class SvStream; -class ScDPSaveData; -class ScDPOutput; -class ScPivot; -class ScPivotCollection; -struct ScPivotParam; -struct ScImportSourceDesc; -class ScSheetSourceDesc; -class ScStrCollection; -class TypedScStrCollection; -struct PivotField; -class ScDPCacheTable; -class ScDPTableData; - -struct ScDPServiceDesc -{ - ::rtl::OUString aServiceName; - ::rtl::OUString aParSource; - ::rtl::OUString aParName; - ::rtl::OUString aParUser; - ::rtl::OUString aParPass; - - ScDPServiceDesc( const ::rtl::OUString& rServ, const ::rtl::OUString& rSrc, const ::rtl::OUString& rNam, - const ::rtl::OUString& rUser, const ::rtl::OUString& rPass ); - - bool operator== ( const ScDPServiceDesc& rOther ) const; -}; - - -class SC_DLLPUBLIC ScDPObject -{ -private: - ScDocument* pDoc; - // settings - ScDPSaveData* pSaveData; - ::rtl::OUString aTableName; - ::rtl::OUString aTableTag; - ScRange aOutRange; - ScSheetSourceDesc* pSheetDesc; // for sheet data - ScImportSourceDesc* pImpDesc; // for database data - ScDPServiceDesc* pServDesc; // for external service - ::boost::shared_ptr<ScDPTableData> mpTableData; - // cached data - com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier> xSource; - ScDPOutput* pOutput; - sal_uInt16 mnAutoFormatIndex; - long nHeaderRows; // page fields plus filter button - bool mbHeaderLayout:1; // true : grid, false : standard - bool bAllowMove:1; - bool bAlive:1; // false if only used to hold settings - bool bSettingsChanged:1; - - SC_DLLPRIVATE ScDPTableData* GetTableData(); - SC_DLLPRIVATE void CreateObjects(); - SC_DLLPRIVATE void CreateOutput(); - -public: - ScDPObject(ScDocument* pD); - ScDPObject(const ScDPObject& r); - ~ScDPObject(); - - /** - * When a DP object is "alive", it has table output on a sheet. This flag - * doesn't really change the behavior of the object, but is used only for - * testing purposes. - */ - void SetAlive(bool bSet); - void SetAllowMove(bool bSet); - - void InvalidateData(); - void ClearSource(); - - - void Output( const ScAddress& rPos ); - ScRange GetNewOutputRange( bool& rOverflow ); - const ScRange GetOutputRangeByType( sal_Int32 nType ); - - void SetSaveData(const ScDPSaveData& rData); - ScDPSaveData* GetSaveData() const { return pSaveData; } - - void SetOutRange(const ScRange& rRange); - const ScRange& GetOutRange() const { return aOutRange; } - - void SetHeaderLayout(bool bUseGrid); - bool GetHeaderLayout() const; - - void SetSheetDesc(const ScSheetSourceDesc& rDesc); - void SetImportDesc(const ScImportSourceDesc& rDesc); - void SetServiceData(const ScDPServiceDesc& rDesc); - - void WriteSourceDataTo( ScDPObject& rDest ) const; - void WriteTempDataTo( ScDPObject& rDest ) const; - - const ScSheetSourceDesc* GetSheetDesc() const { return pSheetDesc; } - const ScImportSourceDesc* GetImportSourceDesc() const { return pImpDesc; } - const ScDPServiceDesc* GetDPServiceDesc() const { return pServDesc; } - - com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier> GetSource(); - - bool IsSheetData() const; - bool IsImportData() const { return(pImpDesc != NULL); } - bool IsServiceData() const { return(pServDesc != NULL); } - - void SetName(const ::rtl::OUString& rNew); - const ::rtl::OUString& GetName() const { return aTableName; } - void SetTag(const ::rtl::OUString& rNew); - const ::rtl::OUString& GetTag() const { return aTableTag; } - - /** - * Data description cell displays the description of a data dimension if - * and only if there is only one data dimension. It's usually located at - * the upper-left corner of the table output. - */ - bool IsDataDescriptionCell(const ScAddress& rPos); - - bool IsDimNameInUse(const ::rtl::OUString& rName) const; - ::rtl::OUString GetDimName( long nDim, bool& rIsDataLayout, sal_Int32* pFlags = NULL ); - bool IsDuplicated( long nDim ); - long GetDimCount(); - void GetHeaderPositionData(const ScAddress& rPos, ::com::sun::star::sheet::DataPilotTableHeaderData& rData); - long GetHeaderDim( const ScAddress& rPos, sal_uInt16& rOrient ); - bool GetHeaderDrag( const ScAddress& rPos, bool bMouseLeft, bool bMouseTop, - long nDragDim, - Rectangle& rPosRect, sal_uInt16& rOrient, long& rDimPos ); - bool IsFilterButton( const ScAddress& rPos ); - - bool GetPivotData( ScDPGetPivotDataField& rTarget, /* returns result */ - const std::vector< ScDPGetPivotDataField >& rFilters ); - bool ParseFilters( ScDPGetPivotDataField& rTarget, - std::vector< ScDPGetPivotDataField >& rFilters, - const ::rtl::OUString& rFilterList ); - - void GetMemberResultNames( ScStrCollection& rNames, long nDimension ); - - void FillPageList( TypedScStrCollection& rStrings, long nField ); - - void ToggleDetails(const ::com::sun::star::sheet::DataPilotTableHeaderData& rElemDesc, ScDPObject* pDestObj); - - bool FillOldParam(ScPivotParam& rParam) const; - bool FillLabelData(ScPivotParam& rParam); - void InitFromOldPivot(const ScPivot& rOld, ScDocument* pDoc, sal_Bool bSetSource); - - bool GetHierarchiesNA( sal_Int32 nDim, com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& xHiers ); - bool GetHierarchies( sal_Int32 nDim, com::sun::star::uno::Sequence< rtl::OUString >& rHiers ); - - sal_Int32 GetUsedHierarchy( sal_Int32 nDim ); - - bool GetMembersNA( sal_Int32 nDim, com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& xMembers ); - bool GetMembersNA( sal_Int32 nDim, sal_Int32 nHier, com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& xMembers ); - - bool GetMemberNames( sal_Int32 nDim, ::com::sun::star::uno::Sequence< ::rtl::OUString >& rNames ); - bool GetMembers( sal_Int32 nDim, sal_Int32 nHier, ::std::vector<ScDPLabelData::Member>& rMembers ); - - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - bool RefsEqual( const ScDPObject& r ) const; - void WriteRefsTo( ScDPObject& r ) const; - - void GetPositionData(const ScAddress& rPos, ::com::sun::star::sheet::DataPilotTablePositionData& rPosData); - - bool GetDataFieldPositionData(const ScAddress& rPos, - ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::DataPilotFieldFilter >& rFilters); - - void GetDrillDownData(const ScAddress& rPos, - ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any > >& rTableData); - - // apply drop-down attribute, initialize nHeaderRows, without accessing the source - // (button attribute must be present) - void RefreshAfterLoad(); - - void BuildAllDimensionMembers(); - - static bool HasRegisteredSources(); - static com::sun::star::uno::Sequence<rtl::OUString> GetRegisteredSources(); - static com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier> - CreateSource( const ScDPServiceDesc& rDesc ); - - static void ConvertOrientation( ScDPSaveData& rSaveData, - const ::std::vector<PivotField>& rFields, sal_uInt16 nOrient, - const com::sun::star::uno::Reference< - com::sun::star::sheet::XDimensionsSupplier>& xSource, - ::std::vector<PivotField>* pRefColFields = NULL, - ::std::vector<PivotField>* pRefRowFields = NULL, - ::std::vector<PivotField>* pRefPageFields = NULL ); - - static bool IsOrientationAllowed( sal_uInt16 nOrient, sal_Int32 nDimFlags ); -}; - - -class ScDPCollection -{ -public: - - /** - * Stores and manages all caches from internal sheets. - */ - class SheetCaches - { - typedef ::boost::ptr_map<ScRange, ScDPCache> CachesType; - CachesType maCaches; - ScDocument* mpDoc; - public: - SheetCaches(ScDocument* pDoc); - const ScDPCache* getCache(const ScRange& rRange); - void removeCache(const ScRange& rRange); - }; - - /** - * Data caches for range name based source data. - */ - class NameCaches - { - typedef ::boost::ptr_map<rtl::OUString, ScDPCache> CachesType; - CachesType maCaches; - ScDocument* mpDoc; - public: - NameCaches(ScDocument* pDoc); - const ScDPCache* getCache(const ::rtl::OUString& rName, const ScRange& rRange); - void removeCache(const ::rtl::OUString& rName); - }; - - /** - * Defines connection type to external data source. Used as a key to look - * up database cache. - */ - struct DBType - { - sal_Int32 mnSdbType; - ::rtl::OUString maDBName; - ::rtl::OUString maCommand; - DBType(sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand); - - struct less : public ::std::binary_function<DBType, DBType, bool> - { - bool operator() (const DBType& left, const DBType& right) const; - }; - }; - - /** - * Data caches for external database sources. - */ - class DBCaches - { - typedef ::boost::ptr_map<DBType, ScDPCache, DBType::less> CachesType; - CachesType maCaches; - ScDocument* mpDoc; - public: - DBCaches(ScDocument* pDoc); - const ScDPCache* getCache(sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand); - void removeCache(sal_Int32 nSdbType, const ::rtl::OUString& rDBName, const ::rtl::OUString& rCommand); - }; - - ScDPCollection(ScDocument* pDocument); - ScDPCollection(const ScDPCollection& r); - ~ScDPCollection(); - - bool ClearCache(ScDPObject* pDPObj); - - SC_DLLPUBLIC size_t GetCount() const; - SC_DLLPUBLIC ScDPObject* operator[](size_t nIndex); - SC_DLLPUBLIC const ScDPObject* operator[](size_t nIndex) const; - - const ScDPObject* GetByName(const ::rtl::OUString& rName) const; - - void DeleteOnTab( SCTAB nTab ); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - bool RefsEqual( const ScDPCollection& r ) const; - void WriteRefsTo( ScDPCollection& r ) const; - - /** - * Create a new name that's not yet used by any existing data pilot - * objects. All data pilot names are 'DataPilot' + <num>, and the nMin - * specifies the minimum number allowed. - * - * @param nMin minimum number allowed. - * - * @return new name for data pilot object. - */ - ::rtl::OUString CreateNewName( sal_uInt16 nMin = 1 ) const; - - void FreeTable(ScDPObject* pDPObj); - SC_DLLPUBLIC bool InsertNewTable(ScDPObject* pDPObj); - - bool HasDPTable(SCCOL nCol, SCROW nRow, SCTAB nTab) const; - - SheetCaches& GetSheetCaches(); - NameCaches& GetNameCaches(); - DBCaches& GetDBCaches(); - -private: - typedef ::boost::ptr_vector<ScDPObject> TablesType; - - ScDocument* pDoc; - TablesType maTables; - SheetCaches maSheetCaches; - NameCaches maNameCaches; - DBCaches maDBCaches; -}; - -bool operator<(const ScDPCollection::DBType& left, const ScDPCollection::DBType& right); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpoutput.hxx b/sc/inc/dpoutput.hxx deleted file mode 100644 index 07f9a0f93..000000000 --- a/sc/inc/dpoutput.hxx +++ /dev/null @@ -1,176 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPOUTPUT_HXX -#define SC_DPOUTPUT_HXX - -#include <com/sun/star/sheet/XDimensionsSupplier.hpp> -#include <com/sun/star/sheet/DataResult.hpp> -#include <com/sun/star/sheet/MemberResult.hpp> -#include <com/sun/star/sheet/GeneralFunction.hpp> -#include <com/sun/star/sheet/DataPilotOutputRangeType.hpp> - -#include "global.hxx" -#include "address.hxx" - -#include "dpcachetable.hxx" -#include <vector> - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldFilter; - struct DataPilotTablePositionData; -}}}} - -class Rectangle; -class SvStream; -class ScDocument; -class ScStrCollection; - -struct ScDPOutLevelData; - - -struct ScDPGetPivotDataField -{ - String maFieldName; - com::sun::star::sheet::GeneralFunction meFunction; - - bool mbValIsStr; - String maValStr; - double mnValNum; - - ScDPGetPivotDataField() : - meFunction( com::sun::star::sheet::GeneralFunction_NONE ), - mbValIsStr( false ), - mnValNum( 0.0 ) - { - } -}; - - - -class ScDPOutput //! name??? -{ -private: - //! use impl-object? - ScDocument* pDoc; - com::sun::star::uno::Reference< - com::sun::star::sheet::XDimensionsSupplier> xSource; - ScAddress aStartPos; - bool bDoFilter; - ScDPOutLevelData* pColFields; - ScDPOutLevelData* pRowFields; - ScDPOutLevelData* pPageFields; - long nColFieldCount; - long nRowFieldCount; - long nPageFieldCount; - com::sun::star::uno::Sequence< - com::sun::star::uno::Sequence< - com::sun::star::sheet::DataResult> > aData; - bool bResultsError; - bool mbHasDataLayout; - String aDataDescription; - - // Number format related parameters - sal_uInt32* pColNumFmt; - sal_uInt32* pRowNumFmt; - long nColFmtCount; - long nRowFmtCount; - sal_uInt32 nSingleNumFmt; - - // Output geometry related parameters - bool bSizesValid; - bool bSizeOverflow; - long nColCount; - long nRowCount; - long nHeaderSize; - bool mbHeaderLayout; // sal_True : grid, sal_False : standard - SCCOL nTabStartCol; - SCROW nTabStartRow; - SCCOL nMemberStartCol; - SCROW nMemberStartRow; - SCCOL nDataStartCol; - SCROW nDataStartRow; - SCCOL nTabEndCol; - SCROW nTabEndRow; - - void DataCell( SCCOL nCol, SCROW nRow, SCTAB nTab, - const com::sun::star::sheet::DataResult& rData ); - void HeaderCell( SCCOL nCol, SCROW nRow, SCTAB nTab, - const com::sun::star::sheet::MemberResult& rData, - sal_Bool bColHeader, long nLevel ); - void FieldCell( SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rCaption, - bool bInTable, bool bPopup, bool bHasHiddenMember ); - void CalcSizes(); - - /** Query which sub-area of the table the cell is in. See - css.sheet.DataPilotTablePositionType for the interpretation of the - return value. */ - sal_Int32 GetPositionType(const ScAddress& rPos); - -public: - ScDPOutput( ScDocument* pD, - const com::sun::star::uno::Reference< - com::sun::star::sheet::XDimensionsSupplier>& xSrc, - const ScAddress& rPos, bool bFilter ); - ~ScDPOutput(); - - void SetPosition( const ScAddress& rPos ); - - void Output(); //! Refresh? - ScRange GetOutputRange( sal_Int32 nRegionType = ::com::sun::star::sheet::DataPilotOutputRangeType::WHOLE ); - long GetHeaderRows(); - bool HasError(); // range overflow or exception from source - - void GetPositionData(const ScAddress& rPos, ::com::sun::star::sheet::DataPilotTablePositionData& rPosData); - - /** Get filtering criteria based on the position of the cell within data - field region. */ - bool GetDataResultPositionData(::std::vector< ::com::sun::star::sheet::DataPilotFieldFilter >& rFilters, const ScAddress& rPos); - - sal_Bool GetPivotData( ScDPGetPivotDataField& rTarget, /* returns result */ - const std::vector< ScDPGetPivotDataField >& rFilters ); - long GetHeaderDim( const ScAddress& rPos, sal_uInt16& rOrient ); - sal_Bool GetHeaderDrag( const ScAddress& rPos, sal_Bool bMouseLeft, sal_Bool bMouseTop, - long nDragDim, - Rectangle& rPosRect, sal_uInt16& rOrient, long& rDimPos ); - sal_Bool IsFilterButton( const ScAddress& rPos ); - - void GetMemberResultNames( ScStrCollection& rNames, long nDimension ); - - void SetHeaderLayout(bool bUseGrid); - bool GetHeaderLayout() const; - - static void GetDataDimensionNames( String& rSourceName, String& rGivenName, - const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface>& xDim ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpoutputgeometry.hxx b/sc/inc/dpoutputgeometry.hxx deleted file mode 100644 index 5dcb7f47f..000000000 --- a/sc/inc/dpoutputgeometry.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPOUTPUTGEOMETRY_HXX -#define SC_DPOUTPUTGEOMETRY_HXX - -#include "address.hxx" -#include <vector> - -class ScAddress; - -class SC_DLLPUBLIC ScDPOutputGeometry -{ -public: - enum FieldType { Column, Row, Page, Data, None }; - enum ImportType { ODF, XLS }; - - ScDPOutputGeometry(const ScRange& rOutRange, bool bShowFilter, ImportType eImportType); - ~ScDPOutputGeometry(); - - /** - * @param nCount number of row fields, <b>excluding the data layout - * field if exists</b>. - */ - void setRowFieldCount(sal_uInt32 nCount); - void setColumnFieldCount(sal_uInt32 nCount); - void setPageFieldCount(sal_uInt32 nCount); - void setDataFieldCount(sal_uInt32 nCount); - - void getColumnFieldPositions(::std::vector<ScAddress>& rAddrs) const; - void getRowFieldPositions(::std::vector<ScAddress>& rAddrs) const; - void getPageFieldPositions(::std::vector<ScAddress>& rAddrs) const; - - SCROW getRowFieldHeaderRow() const; - - FieldType getFieldButtonType(const ScAddress& rPos) const; - -private: - ScDPOutputGeometry(); // disabled - -private: - ScRange maOutRange; - sal_uInt32 mnRowFields; /// number of row fields (data layout field NOT included!) - sal_uInt32 mnColumnFields; - sal_uInt32 mnPageFields; - sal_uInt32 mnDataFields; - - ImportType meImportType; - - bool mbShowFilter; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpsave.hxx b/sc/inc/dpsave.hxx deleted file mode 100644 index 0458332d1..000000000 --- a/sc/inc/dpsave.hxx +++ /dev/null @@ -1,346 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPSAVE_HXX -#define SC_DPSAVE_HXX - -#include <list> -#include <memory> - -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/unordered_map.hpp> - -#include <com/sun/star/sheet/XDimensionsSupplier.hpp> -#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp> -#include <rtl/ustring.hxx> -#include <sal/types.h> -#include <tools/string.hxx> - -#include "scdllapi.h" - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldReference; - struct DataPilotFieldSortInfo; - struct DataPilotFieldAutoShowInfo; - struct DataPilotFieldLayoutInfo; -} } } } - -class ScDPDimensionSaveData; -class ScDPTableData; - -// -// classes to save Data Pilot settings -// - - -class ScDPSaveMember -{ -private: - ::rtl::OUString aName; - ::std::auto_ptr<rtl::OUString> mpLayoutName; // custom name to be displayed in the table. - sal_uInt16 nVisibleMode; - sal_uInt16 nShowDetailsMode; - -public: - ScDPSaveMember(const ::rtl::OUString& rName); - ScDPSaveMember(const ScDPSaveMember& r); - ~ScDPSaveMember(); - - bool operator== ( const ScDPSaveMember& r ) const; - - const ::rtl::OUString& GetName() const - { return aName; } - - bool HasIsVisible() const; - SC_DLLPUBLIC void SetIsVisible(bool bSet); - bool GetIsVisible() const - { return bool(nVisibleMode); } - - bool HasShowDetails() const; - SC_DLLPUBLIC void SetShowDetails(bool bSet); - bool GetShowDetails() const - { return bool(nShowDetailsMode); } - - void SetName( const ::rtl::OUString& rNew ); // used if the source member was renamed (groups) - - SC_DLLPUBLIC void SetLayoutName( const ::rtl::OUString& rName ); - SC_DLLPUBLIC const ::rtl::OUString* GetLayoutName() const; - void RemoveLayoutName(); - - void WriteToSource( const com::sun::star::uno::Reference<com::sun::star::uno::XInterface>& xMember, - sal_Int32 nPosition ); -}; - - -bool operator == (const ::com::sun::star::sheet::DataPilotFieldSortInfo &l, const ::com::sun::star::sheet::DataPilotFieldSortInfo &r ); -bool operator == (const ::com::sun::star::sheet::DataPilotFieldAutoShowInfo &l, const ::com::sun::star::sheet::DataPilotFieldAutoShowInfo &r ); -bool operator == (const ::com::sun::star::sheet::DataPilotFieldReference &l, const ::com::sun::star::sheet::DataPilotFieldReference &r ); - -class SC_DLLPUBLIC ScDPSaveDimension -{ -private: - ::rtl::OUString aName; - ::rtl::OUString* pSelectedPage; - ::std::auto_ptr<rtl::OUString> mpLayoutName; - ::std::auto_ptr<rtl::OUString> mpSubtotalName; - bool bIsDataLayout; - bool bDupFlag; - sal_uInt16 nOrientation; - sal_uInt16 nFunction; // enum GeneralFunction, for data dimensions - long nUsedHierarchy; - sal_uInt16 nShowEmptyMode; //! at level - bool bSubTotalDefault; //! at level - long nSubTotalCount; - sal_uInt16* pSubTotalFuncs; // enum GeneralFunction - ::com::sun::star::sheet::DataPilotFieldReference* pReferenceValue; - ::com::sun::star::sheet::DataPilotFieldSortInfo* pSortInfo; // (level) - ::com::sun::star::sheet::DataPilotFieldAutoShowInfo* pAutoShowInfo; // (level) - ::com::sun::star::sheet::DataPilotFieldLayoutInfo* pLayoutInfo; // (level) - -public: - typedef boost::unordered_map <rtl::OUString, ScDPSaveMember*, rtl::OUStringHash> MemberHash; - typedef std::list <ScDPSaveMember*> MemberList; - -private: - MemberHash maMemberHash; - MemberList maMemberList; - -public: - ScDPSaveDimension(const ::rtl::OUString& rName, bool bDataLayout); - ScDPSaveDimension(const ScDPSaveDimension& r); - ~ScDPSaveDimension(); - - bool operator== ( const ScDPSaveDimension& r ) const; - - const MemberList& GetMembers() const - { return maMemberList; } - - void AddMember(ScDPSaveMember* pMember); - - void SetDupFlag(bool bSet) - { bDupFlag = bSet; } - - bool GetDupFlag() const - { return bDupFlag; } - - const ::rtl::OUString& GetName() const - { return aName; } - - bool IsDataLayout() const - { return bIsDataLayout; } - - void SetName( const ::rtl::OUString& rNew ); // used if the source dim was renamed (groups) - - void SetOrientation(sal_uInt16 nNew); - void SetSubTotals(long nCount, const sal_uInt16* pFuncs); - long GetSubTotalsCount() const - { return nSubTotalCount; } - - sal_uInt16 GetSubTotalFunc(long nIndex) const - { return pSubTotalFuncs[nIndex]; } - - bool HasShowEmpty() const; - void SetShowEmpty(bool bSet); - bool GetShowEmpty() const - { return bool(nShowEmptyMode); } - - void SetFunction(sal_uInt16 nNew); // enum GeneralFunction - sal_uInt16 GetFunction() const - { return nFunction; } - - void SetUsedHierarchy(long nNew); - long GetUsedHierarchy() const - { return nUsedHierarchy; } - - void SetLayoutName(const ::rtl::OUString& rName); - const ::rtl::OUString* GetLayoutName() const; - void RemoveLayoutName(); - void SetSubtotalName(const ::rtl::OUString& rName); - const ::rtl::OUString* GetSubtotalName() const; - - bool IsMemberNameInUse(const ::rtl::OUString& rName) const; - - const ::com::sun::star::sheet::DataPilotFieldReference* GetReferenceValue() const - { return pReferenceValue; } - - void SetReferenceValue(const ::com::sun::star::sheet::DataPilotFieldReference* pNew); - - const ::com::sun::star::sheet::DataPilotFieldSortInfo* GetSortInfo() const - { return pSortInfo; } - - void SetSortInfo(const ::com::sun::star::sheet::DataPilotFieldSortInfo* pNew); - const ::com::sun::star::sheet::DataPilotFieldAutoShowInfo* GetAutoShowInfo() const - { return pAutoShowInfo; } - - void SetAutoShowInfo(const ::com::sun::star::sheet::DataPilotFieldAutoShowInfo* pNew); - const ::com::sun::star::sheet::DataPilotFieldLayoutInfo* GetLayoutInfo() const - { return pLayoutInfo; } - - void SetLayoutInfo(const ::com::sun::star::sheet::DataPilotFieldLayoutInfo* pNew); - - void SetCurrentPage( const ::rtl::OUString* pPage ); // NULL = no selection (all) - bool HasCurrentPage() const; - const ::rtl::OUString& GetCurrentPage() const; - - sal_uInt16 GetOrientation() const - { return nOrientation; } - - ScDPSaveMember* GetExistingMemberByName(const ::rtl::OUString& rName); - - /** - * Get a member object by its name. If one doesn't exist, creat a new - * object and return it. This class manages the life cycle of all member - * objects belonging to it, so <i>don't delete the returned instance.</i> - * - * @param rName member name - * - * @return pointer to the member object. - */ - ScDPSaveMember* GetMemberByName(const ::rtl::OUString& rName); - - void SetMemberPosition( const ::rtl::OUString& rName, sal_Int32 nNewPos ); - - void WriteToSource( const com::sun::star::uno::Reference<com::sun::star::uno::XInterface>& xDim ); - void Refresh( const com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier>& xSource , - const std::list<rtl::OUString> & deletedDims); - - void UpdateMemberVisibility(const ::boost::unordered_map< ::rtl::OUString, bool, ::rtl::OUStringHash>& rData); - - bool HasInvisibleMember() const; -}; - - -class ScDPSaveData -{ -private: - boost::ptr_vector<ScDPSaveDimension> aDimList; - ScDPDimensionSaveData* pDimensionData; // settings that create new dimensions - sal_uInt16 nColumnGrandMode; - sal_uInt16 nRowGrandMode; - sal_uInt16 nIgnoreEmptyMode; - sal_uInt16 nRepeatEmptyMode; - bool bFilterButton; // not passed to DataPilotSource - bool bDrillDown; // not passed to DataPilotSource - - /** if true, all dimensions already have all of their member instances - * created. */ - bool mbDimensionMembersBuilt; - - ::std::auto_ptr<rtl::OUString> mpGrandTotalName; - -public: - SC_DLLPUBLIC ScDPSaveData(); - ScDPSaveData(const ScDPSaveData& r); - SC_DLLPUBLIC ~ScDPSaveData(); - - ScDPSaveData& operator= ( const ScDPSaveData& r ); - - bool operator== ( const ScDPSaveData& r ) const; - - SC_DLLPUBLIC void SetGrandTotalName(const ::rtl::OUString& rName); - SC_DLLPUBLIC const ::rtl::OUString* GetGrandTotalName() const; - - const boost::ptr_vector<ScDPSaveDimension>& GetDimensions() const - { return aDimList; } - - void AddDimension(ScDPSaveDimension* pDim) - { aDimList.push_back(pDim); } - - /** - * Get a dimension object by its name. <i>If one doesn't exist for the - * given name, it creats a new one.</i> - * - * @param rName dimension name - * - * @return pointer to the dimension object. The ScDPSaveData instance - * manages its life cycle; hence the caller must - * <i>not</i> delete this object. - */ - ScDPSaveDimension* GetDimensionByName(const ::rtl::OUString& rName); - SC_DLLPUBLIC ScDPSaveDimension* GetDataLayoutDimension(); - SC_DLLPUBLIC ScDPSaveDimension* GetExistingDataLayoutDimension() const; - - ScDPSaveDimension* DuplicateDimension(const ::rtl::OUString& rName); - SC_DLLPUBLIC ScDPSaveDimension& DuplicateDimension(const ScDPSaveDimension& rDim); - - SC_DLLPUBLIC ScDPSaveDimension* GetExistingDimensionByName(const ::rtl::OUString& rName) const; - SC_DLLPUBLIC ScDPSaveDimension* GetNewDimensionByName(const ::rtl::OUString& rName); - - void RemoveDimensionByName(const ::rtl::OUString& rName); - - ScDPSaveDimension* GetInnermostDimension(sal_uInt16 nOrientation); - ScDPSaveDimension* GetFirstDimension(::com::sun::star::sheet::DataPilotFieldOrientation eOrientation); - long GetDataDimensionCount() const; - - void SetPosition( ScDPSaveDimension* pDim, long nNew ); - SC_DLLPUBLIC void SetColumnGrand( bool bSet ); - bool GetColumnGrand() const - { return bool(nColumnGrandMode); } - - SC_DLLPUBLIC void SetRowGrand( bool bSet ); - bool GetRowGrand() const - { return bool(nRowGrandMode); } - - void SetIgnoreEmptyRows( bool bSet ); - bool GetIgnoreEmptyRows() const - { return bool(nIgnoreEmptyMode); } - - void SetRepeatIfEmpty( bool bSet ); - bool GetRepeatIfEmpty() const - { return bool(nRepeatEmptyMode); } - - SC_DLLPUBLIC void SetFilterButton( bool bSet ); - bool GetFilterButton() const - { return bFilterButton; } - - SC_DLLPUBLIC void SetDrillDown( bool bSet ); - bool GetDrillDown() const - { return bDrillDown; } - - void WriteToSource( const com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier>& xSource ); - void Refresh( const com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier>& xSource ); - bool IsEmpty() const; - - const ScDPDimensionSaveData* GetExistingDimensionData() const - { return pDimensionData; } - - SC_DLLPUBLIC ScDPDimensionSaveData* GetDimensionData(); // create if not there - void SetDimensionData( const ScDPDimensionSaveData* pNew ); // copied - void BuildAllDimensionMembers(ScDPTableData* pData); - - /** - * Check whether a dimension has one or more invisible members. - * - * @param rDimName dimension name - */ - SC_DLLPUBLIC bool HasInvisibleMember(const ::rtl::OUString& rDimName) const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpsdbtab.hxx b/sc/inc/dpsdbtab.hxx deleted file mode 100644 index 3e24e1e02..000000000 --- a/sc/inc/dpsdbtab.hxx +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPSDBTAB_HXX -#define SC_DPSDBTAB_HXX - -#include <com/sun/star/uno/Reference.hxx> - -#include "dptabdat.hxx" - -#include <vector> -#include <boost/unordered_set.hpp> - -class ScDPCacheTable; -class ScDocument; - -struct ScImportSourceDesc -{ - ::rtl::OUString aDBName; - ::rtl::OUString aObject; - sal_uInt16 nType; // enum DataImportMode - bool bNative; - ScDocument* mpDoc; - - ScImportSourceDesc(ScDocument* pDoc) : nType(0), bNative(false), mpDoc(pDoc) {} - - bool operator== ( const ScImportSourceDesc& rOther ) const - { return aDBName == rOther.aDBName && - aObject == rOther.aObject && - nType == rOther.nType && - bNative == rOther.bNative && - mpDoc == rOther.mpDoc; } - - sal_Int32 GetCommandType() const; - const ScDPCache* CreateCache() const; -}; - -/** - * This class represents source data from database source. - */ -class ScDatabaseDPData : public ScDPTableData -{ -private: - const ScImportSourceDesc& mrImport; - ScDPCacheTable aCacheTable; -public: - ScDatabaseDPData(ScDocument* pDoc, const ScImportSourceDesc& rImport); - virtual ~ScDatabaseDPData(); - - virtual long GetColumnCount(); - virtual String getDimensionName(long nColumn); - virtual sal_Bool getIsDataLayoutDimension(long nColumn); - virtual sal_Bool IsDateDimension(long nDim); - virtual void DisposeData(); - virtual void SetEmptyFlags( sal_Bool bIgnoreEmptyRows, sal_Bool bRepeatIfEmpty ); - - virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rDataDims); - virtual void GetDrillDownData(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, - const ::boost::unordered_set<sal_Int32>& rCatDims, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); - virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dpshttab.hxx b/sc/inc/dpshttab.hxx deleted file mode 100644 index f165981d2..000000000 --- a/sc/inc/dpshttab.hxx +++ /dev/null @@ -1,140 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPSHTTAB_HXX -#define SC_DPSHTTAB_HXX - -#include "dptabdat.hxx" -#include "global.hxx" -#include "address.hxx" -#include "scdllapi.h" -#include "queryparam.hxx" - -#include <boost/unordered_set.hpp> -#include <vector> - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldFilter; -}}}} - -class ScDPDimension; -class ScDPItemData; - -/** - * This class contains authoritative information on the internal reference - * used as the data source for datapilot table. <i>The range name takes - * precedence over the source range when it's non-empty.</i> When the range - * name is empty, the source range gets used. - */ -class ScSheetSourceDesc -{ - ScSheetSourceDesc(); // disabled - -public: - SC_DLLPUBLIC ScSheetSourceDesc(ScDocument* pDoc); - - SC_DLLPUBLIC void SetSourceRange(const ScRange& rRange); - - /** - * Get the range that contains the source data. In case the source data - * is referred to via a range name, it returns the range that the range - * name points to. - * - * <i>Note that currently only a single range is supported; if the - * range name contains multiple ranges, only the first range is used.</i> - * - * @return source range. - */ - SC_DLLPUBLIC const ScRange& GetSourceRange() const; - SC_DLLPUBLIC void SetRangeName(const ::rtl::OUString& rName); - SC_DLLPUBLIC const ::rtl::OUString& GetRangeName() const; - bool HasRangeName() const; - void SetQueryParam(const ScQueryParam& rParam); - const ScQueryParam& GetQueryParam() const; - - bool operator== ( const ScSheetSourceDesc& rOther ) const; - SC_DLLPUBLIC const ScDPCache* CreateCache() const; - - /** - * Check the sanity of the data source range. - * - * @return 0 if the source range is sane, otherwise an error message ID is - * returned. - */ - sal_uLong CheckSourceRange() const; - long GetCacheId() const; - -private: - mutable ScRange maSourceRange; - ::rtl::OUString maRangeName; - ScQueryParam maQueryParam; - ScDocument* mpDoc; -}; - -/** - * Implementation of ScDPTableData with sheet data. - */ -class SC_DLLPUBLIC ScSheetDPData : public ScDPTableData -{ -private: - ScQueryParam aQuery; - bool* pSpecial; - bool bIgnoreEmptyRows; - bool bRepeatIfEmpty; - - const ScSheetSourceDesc& mrDesc; - ScDPCacheTable aCacheTable; - -public: - ScSheetDPData(ScDocument* pD, const ScSheetSourceDesc& rDesc, const ScDPCache* pCache); - virtual ~ScSheetDPData(); - - virtual long GetColumnCount(); - virtual String getDimensionName(long nColumn); - virtual sal_Bool getIsDataLayoutDimension(long nColumn); - virtual sal_Bool IsDateDimension(long nDim); - virtual sal_uLong GetNumberFormat(long nDim); - virtual void DisposeData(); - virtual void SetEmptyFlags( sal_Bool bIgnoreEmptyRows, sal_Bool bRepeatIfEmpty ); - - virtual bool IsRepeatIfEmpty(); - - virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rCatDims); - virtual void GetDrillDownData(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, - const ::boost::unordered_set<sal_Int32>& rCatDims, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); - virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dptabdat.hxx b/sc/inc/dptabdat.hxx deleted file mode 100644 index deeb034fc..000000000 --- a/sc/inc/dptabdat.hxx +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPTABDAT_HXX -#define SC_DPTABDAT_HXX - -#include "address.hxx" -#include "dpoutput.hxx" -#include "dpcachetable.hxx" -#include "dptablecache.hxx" -#include <tools/string.hxx> - -#include <vector> -#include <set> -#include <boost/unordered_set.hpp> -#include <boost/unordered_map.hpp> -#include <boost/noncopyable.hpp> - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldFilter; -}}}} - - -#define SC_DAPI_DATE_HIERARCHIES 3 - -#define SC_DAPI_HIERARCHY_FLAT 0 -#define SC_DAPI_HIERARCHY_QUARTER 1 -#define SC_DAPI_HIERARCHY_WEEK 2 - -#define SC_DAPI_FLAT_LEVELS 1 // single level for flat dates -#define SC_DAPI_QUARTER_LEVELS 4 // levels in year/quarter/month/day hierarchy -#define SC_DAPI_WEEK_LEVELS 3 // levels in year/week/day hierarchy - -#define SC_DAPI_LEVEL_YEAR 0 -#define SC_DAPI_LEVEL_QUARTER 1 -#define SC_DAPI_LEVEL_MONTH 2 -#define SC_DAPI_LEVEL_DAY 3 -#define SC_DAPI_LEVEL_WEEK 1 -#define SC_DAPI_LEVEL_WEEKDAY 2 - - -// -// base class ScDPTableData to allow implementation with tabular data -// by deriving only of this -// -#define SC_VALTYPE_EMPTY 0 -#define SC_VALTYPE_VALUE 1 -#define SC_VALTYPE_STRING 2 -#define SC_VALTYPE_ERROR 3 - -struct ScDPValueData -{ - double fValue; - sal_uInt8 nType; - - void Set( double fV, sal_uInt8 nT ) { fValue = fV; nType = nT; } -}; - -class ScDPResultMember; -class ScDPDimension; -class ScDPLevel; -class ScDPInitState; -class ScDPResultMember; -class ScDocument; - -/** - * Base class that abstracts different data source types of a datapilot - * table. - */ -class SC_DLLPUBLIC ScDPTableData : public ::boost::noncopyable -{ - // cached data for GetDatePart - long nLastDateVal; - long nLastHier; - long nLastLevel; - long nLastRet; - const ScDocument* mpDoc; -public: - - /** This structure stores dimension information used when calculating - results. These data are read only during result calculation, so it - should be passed as a const instance. */ - struct CalcInfo - { - ::std::vector<long> aColLevelDims; - ::std::vector<ScDPDimension*> aColDims; - ::std::vector<ScDPLevel*> aColLevels; - ::std::vector<long> aRowLevelDims; - ::std::vector<ScDPDimension*> aRowDims; - ::std::vector<ScDPLevel*> aRowLevels; - ::std::vector<long> aPageDims; - ::std::vector<long> aDataSrcCols; - - ScDPInitState* pInitState; - ScDPResultMember* pColRoot; - ScDPResultMember* pRowRoot; - - bool bRepeatIfEmpty; - - CalcInfo(); - }; - - ScDPTableData(ScDocument* pDoc); - virtual ~ScDPTableData(); - - long GetDatePart( long nDateVal, long nHierarchy, long nLevel ); - - //! use (new) typed collection instead of ScStrCollection - //! or separate Str and ValueCollection - - virtual long GetColumnCount() = 0; - virtual const std::vector< SCROW >& GetColumnEntries( long nColumn ) ; - virtual String getDimensionName(long nColumn) = 0; - virtual sal_Bool getIsDataLayoutDimension(long nColumn) = 0; - virtual sal_Bool IsDateDimension(long nDim) = 0; - virtual sal_uLong GetNumberFormat(long nDim); - virtual sal_uInt32 GetNumberFormatByIdx( NfIndexTableOffset ); - virtual void DisposeData() = 0; - virtual void SetEmptyFlags( sal_Bool bIgnoreEmptyRows, sal_Bool bRepeatIfEmpty ) = 0; - - virtual bool IsRepeatIfEmpty(); - - virtual void CreateCacheTable() = 0; - virtual void FilterCacheTable(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, const ::boost::unordered_set<sal_Int32>& rDataDims) = 0; - virtual void GetDrillDownData(const ::std::vector<ScDPCacheTable::Criterion>& rCriteria, - const ::boost::unordered_set<sal_Int32>& rCatDims, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData) = 0; - virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow) = 0; - virtual const ScDPCacheTable& GetCacheTable() const = 0; - - // overloaded in ScDPGroupTableData: - virtual sal_Bool IsBaseForGroup(long nDim) const; - virtual long GetGroupBase(long nGroupDim) const; - virtual sal_Bool IsNumOrDateGroup(long nDim) const; - virtual sal_Bool IsInGroup( const ScDPItemData& rGroupData, long nGroupIndex, - const ScDPItemData& rBaseData, long nBaseIndex ) const; - virtual sal_Bool HasCommonElement( const ScDPItemData& rFirstData, long nFirstIndex, - const ScDPItemData& rSecondData, long nSecondIndex ) const; - - virtual long GetMembersCount( long nDim ); - virtual const ScDPItemData* GetMemberByIndex( long nDim, long nIndex ); - virtual const ScDPItemData* GetMemberById( long nDim, long nId); - virtual SCROW GetIdOfItemData( long nDim, const ScDPItemData& rData ); - virtual long GetSourceDim( long nDim ); - virtual long Compare( long nDim, long nDataId1, long nDataId2); -protected: - /** This structure stores vector arrays that hold intermediate data for - each row during cache table iteration. */ - struct CalcRowData - { - ::std::vector< SCROW > aColData; - ::std::vector< SCROW > aRowData; - ::std::vector< SCROW > aPageData; - ::std::vector<ScDPValueData> aValues; - }; - - void FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPCacheTable& rCacheTable, const CalcInfo& rInfo, CalcRowData& rData); - void ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAutoShow); - void CalcResultsFromCacheTable(const ScDPCacheTable& rCacheTable, CalcInfo& rInfo, bool bAutoShow); - -private: - void GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRow, - const ::std::vector<long>& rDims, ::std::vector< SCROW >& rItemData); -}; -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dptablecache.hxx b/sc/inc/dptablecache.hxx deleted file mode 100644 index 0f65c2ada..000000000 --- a/sc/inc/dptablecache.hxx +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright IBM Corporation 2009. - * Copyright 2009 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SC_DPTABLECACHE_HXX -#define SC_DPTABLECACHE_HXX - -#include "global.hxx" -#include <svl/zforlist.hxx> -#include "dpglobal.hxx" - -#include <com/sun/star/sdbc/DataType.hpp> -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XRowSet.hpp> - -#include <vector> -#include <boost/ptr_container/ptr_vector.hpp> - -struct ScQueryParam; - -/** - * This class represents the cached data part of the datapilot cache table - * implementation. - */ -class SC_DLLPUBLIC ScDPCache -{ -public: - typedef ::boost::ptr_vector<ScDPItemData> DataListType; -private: - typedef ::boost::ptr_vector<DataListType> DataGridType; - typedef ::boost::ptr_vector< ::std::vector<SCROW> > RowGridType; - - ScDocument* mpDoc; - long mnColumnCount; - - /** - * This container stores only the unique instances of item data in each - * column. Duplicates are not allowed. - */ - DataGridType maTableDataValues; - - /** - * This container stores indices within maTableDataValues pointing to the - * data. The order of data are exactly as they appear in the original - * data source. - */ - RowGridType maSourceData; - - /** - * This container stores indices within maTableDataValues. The order of - * indices in each column represents ascending order of the actual data. - */ - RowGridType maGlobalOrder; - - /** - * This container stores the ranks of each unique data represented by - * their index. - */ - mutable RowGridType maIndexOrder; - - DataListType maLabelNames; // Stores dimension names. - std::vector<bool> mbEmptyRow; // Keeps track of empty rows. - - mutable ScDPItemDataPool maAdditionalData; - -public: - SCROW GetIdByItemData( long nDim, const String& sItemData ) const; - SCROW GetIdByItemData( long nDim, const ScDPItemData& rData ) const; - - SCROW GetAdditionalItemID ( const String& sItemData ) const; - SCROW GetAdditionalItemID( const ScDPItemData& rData ) const; - - SCCOL GetDimensionIndex( String sName) const; - const ScDPItemData* GetSortedItemData( SCCOL nDim, SCROW nOrder ) const; - sal_uLong GetNumType ( sal_uLong nFormat ) const; - sal_uLong GetNumberFormat( long nDim ) const; - bool IsDateDimension( long nDim ) const ; - sal_uLong GetDimNumType( SCCOL nDim) const; - SCROW GetDimMemberCount( SCCOL nDim ) const; - SCROW GetOrder( long nDim, SCROW nIndex ) const; - - SCROW GetSortedItemDataId( SCCOL nDim, SCROW nOrder ) const; - const DataListType& GetDimMemberValues( SCCOL nDim ) const; - bool InitFromDoc(ScDocument* pDoc, const ScRange& rRange); - bool InitFromDataBase(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& xRowSet, const Date& rNullDate); - - SCROW GetRowCount() const; - SCROW GetItemDataId( sal_uInt16 nDim, SCROW nRow, bool bRepeatIfEmpty ) const; - String GetDimensionName( sal_uInt16 nColumn ) const; - bool IsEmptyMember( SCROW nRow, sal_uInt16 nColumn ) const; - bool IsRowEmpty( SCROW nRow ) const; - bool IsValid() const; - bool ValidQuery( SCROW nRow, const ScQueryParam& rQueryParam, bool* pSpecial ) const; - - ScDocument* GetDoc() const;//ms-cache-core - long GetColumnCount() const; - - const ScDPItemData* GetItemDataById( long nDim, SCROW nId ) const; - - bool operator== ( const ScDPCache& r ) const; - - ScDPCache(ScDocument* pDoc); - ~ScDPCache(); - -private: - void AddLabel( ScDPItemData* pData); - bool AddData(long nDim, ScDPItemData* pData); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dptabres.hxx b/sc/inc/dptabres.hxx deleted file mode 100644 index 33020df52..000000000 --- a/sc/inc/dptabres.hxx +++ /dev/null @@ -1,681 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPTABRES_HXX -#define SC_DPTABRES_HXX - -#include <svl/svarray.hxx> -#include <tools/string.hxx> -#include <com/sun/star/sheet/MemberResult.hpp> -#include <com/sun/star/sheet/DataResult.hpp> -#include <com/sun/star/uno/Sequence.hxx> -#include "global.hxx" // enum ScSubTotalFunc -#include "dpcachetable.hxx" -#include <boost/unordered_map.hpp> -#include <boost/unordered_set.hpp> -#include <vector> -#include <memory> - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldReference; -} } } } - - -class ScAddress; -class ScDocument; -class ScDPSource; -class ScDPDimension; -class ScDPDimensions; -class ScDPLevel; -class ScDPMember; -class ScDPAggData; -class ScDPResultMember; -class ScDPResultVisibilityData; - -struct ScDPValueData; -class ScDPItemData; -// -// Member names that are being processed for InitFrom/LateInitFrom -// (needed for initialization of grouped items) -// - -class ScDPInitState -{ - long* pIndex; // array - SCROW* pData; // array - long nCount; - -public: - ScDPInitState(); - ~ScDPInitState(); - - void AddMember( long nSourceIndex,SCROW nMember); - void RemoveMember(); - - long GetCount() const { return nCount; } - const long* GetSource() const { return pIndex; } - const SCROW* GetNameIds() const { return pData; } - SCROW GetNameIdForIndex( long nIndexValue ) const; -}; - -typedef ::std::vector<sal_Int32> ScMemberSortOrder; - -// -// selected subtotal information, passed down the dimensions -// - -struct ScDPSubTotalState -{ - ScSubTotalFunc eColForce; - ScSubTotalFunc eRowForce; - long nColSubTotalFunc; - long nRowSubTotalFunc; - - ScDPSubTotalState() : - eColForce( SUBTOTAL_FUNC_NONE ), - eRowForce( SUBTOTAL_FUNC_NONE ), - nColSubTotalFunc( -1 ), - nRowSubTotalFunc( -1 ) - {} -}; - -// -// indexes when calculating running totals -// Col/RowVisible: simple counts from 0 - without sort order applied - visible index -// (only used for running total / relative index) -// Col/RowIndexes: with sort order applied - member index -// (used otherwise - so other members' children can be accessed) -// - -class ScDPRunningTotalState -{ - ScDPResultMember* pColResRoot; - ScDPResultMember* pRowResRoot; - long* pColVisible; - long* pColIndexes; - long* pRowVisible; - long* pRowIndexes; - long nColIndexPos; - long nRowIndexPos; - -public: - ScDPRunningTotalState( ScDPResultMember* pColRoot, ScDPResultMember* pRowRoot ); - ~ScDPRunningTotalState(); - - ScDPResultMember* GetColResRoot() const { return pColResRoot; } - ScDPResultMember* GetRowResRoot() const { return pRowResRoot; } - - const long* GetColVisible() const { return pColVisible; } - const long* GetColIndexes() const { return pColIndexes; } - const long* GetRowVisible() const { return pRowVisible; } - const long* GetRowIndexes() const { return pRowIndexes; } - - void AddColIndex( long nVisible, long nSorted ); - void AddRowIndex( long nVisible, long nSorted ); - void RemoveColIndex(); - void RemoveRowIndex(); -}; - -struct ScDPRelativePos -{ - long nBasePos; // simple count, without sort order applied - long nDirection; - - ScDPRelativePos( long nBase, long nDir ); -}; - -// -// aggregated data -//! separate header file? -// - -// Possible values for the nCount member: -// (greater than 0 counts the collected values) -const long SC_DPAGG_EMPTY = 0; // empty during data collection -const long SC_DPAGG_DATA_ERROR = -1; // error during data collection -const long SC_DPAGG_RESULT_EMPTY = -2; // empty result calculated -const long SC_DPAGG_RESULT_VALID = -3; // valid result calculated -const long SC_DPAGG_RESULT_ERROR = -4; // error in calculated result - -class ScDPAggData -{ -private: - double fVal; - double fAux; - long nCount; - ScDPAggData* pChild; - -public: - ScDPAggData() : fVal(0.0), fAux(0.0), nCount(SC_DPAGG_EMPTY), pChild(NULL) {} - ~ScDPAggData() { delete pChild; } - - void Update( const ScDPValueData& rNext, ScSubTotalFunc eFunc, const ScDPSubTotalState& rSubState ); - void Calculate( ScSubTotalFunc eFunc, const ScDPSubTotalState& rSubState ); - sal_Bool IsCalculated() const; - - double GetResult() const; - sal_Bool HasError() const; - sal_Bool HasData() const; - - void SetResult( double fNew ); - void SetEmpty( sal_Bool bSet ); - void SetError(); - - double GetAuxiliary() const; - void SetAuxiliary( double fNew ); - - void Reset(); // also deletes children - - const ScDPAggData* GetExistingChild() const { return pChild; } - ScDPAggData* GetChild(); -}; - -// -// Row and grand total state, passed down (column total is at result member) -// - -class ScDPRowTotals -{ - ScDPAggData aRowTotal; - ScDPAggData aGrandTotal; - sal_Bool bIsInColRoot; - -public: - ScDPRowTotals(); - ~ScDPRowTotals(); - - ScDPAggData* GetRowTotal( long nMeasure ); - ScDPAggData* GetGrandTotal( long nMeasure ); - - sal_Bool IsInColRoot() const { return bIsInColRoot; } - void SetInColRoot(sal_Bool bSet) { bIsInColRoot = bSet; } -}; - -// -------------------------------------------------------------------- -// -// results for a hierarchy dimension -// - -#define SC_DP_RES_GROW 16 - -class ScDPResultDimension; -class ScDPDataDimension; -class ScDPDataMember; - -#define SC_DPMEASURE_ALL -1 -#define SC_DPMEASURE_ANY -2 - -struct MemberHashIndexFunc : public std::unary_function< const SCROW &, size_t > -{ - size_t operator() (const SCROW &rDataIndex) const { return rDataIndex; } -}; - -class ScDPParentDimData -{ -public: - const SCROW mnOrder; //! Ref - const ScDPDimension* mpParentDim; //! Ref - const ScDPLevel* mpParentLevel; //! Ref - const ScDPMember* mpMemberDesc; //! Ref - - ScDPParentDimData():mnOrder(-1), mpParentDim( NULL), mpParentLevel( NULL ), mpMemberDesc( NULL ){} - ScDPParentDimData( const SCROW nIndex, ScDPDimension* pDim, const ScDPLevel* pLev, const ScDPMember* pMember ): mnOrder( nIndex ), mpParentDim( pDim), mpParentLevel( pLev ), mpMemberDesc( pMember ){} -}; - -typedef std::vector <ScDPParentDimData *> DimMemberArray; -typedef boost::unordered_map < SCROW, ScDPParentDimData *, MemberHashIndexFunc> DimMemberHash; - -class ResultMembers -{ - DimMemberHash maMemberHash; - sal_Bool mbHasHideDetailsMember; -public: - ScDPParentDimData* FindMember( const SCROW& nIndex ) const; - void InsertMember( ScDPParentDimData* pNew ); - sal_Bool IsHasHideDetailsMembers() const { return mbHasHideDetailsMember; } - void SetHasHideDetailsMembers( sal_Bool b ) { mbHasHideDetailsMember=b; } - ResultMembers(); - virtual ~ResultMembers(); -}; - -class LateInitParams -{ -private: - const ::std::vector<ScDPDimension*>& mppDim; - const ::std::vector<ScDPLevel*>& mppLev; - - sal_Bool mbRow; - sal_Bool mbInitChild; - sal_Bool mbAllChildren; -public: - LateInitParams( const ::std::vector<ScDPDimension*>& ppDim, const ::std::vector<ScDPLevel*>& ppLev, - sal_Bool bRow, sal_Bool bInitChild = sal_True , sal_Bool bAllChildren = false); - ~LateInitParams(); - - void SetInitChild( sal_Bool b ) { mbInitChild = b; } - void SetInitAllChildren( sal_Bool b ) { mbAllChildren = b; } - - inline ScDPDimension* GetDim( size_t nPos ) const { return mppDim[nPos];} - inline ScDPLevel* GetLevel( size_t nPos ) const { return mppLev[nPos];} - - inline sal_Bool GetInitChild() const {return mbInitChild; } - inline sal_Bool GetInitAllChild() const { return mbAllChildren; } - inline sal_Bool IsRow() const { return mbRow; } - sal_Bool IsEnd( size_t nPos ) const ; -}; - -class ScDPResultData -{ -private: - ScDPSource* pSource; //! Ref - //! keep things like measure lists here - - long nMeasCount; - ScSubTotalFunc* pMeasFuncs; - ::com::sun::star::sheet::DataPilotFieldReference* pMeasRefs; - sal_uInt16* pMeasRefOrient; - String* pMeasNames; - sal_Bool bLateInit; - sal_Bool bDataAtCol; - sal_Bool bDataAtRow; - - //! add "displayed values" settings - mutable std::vector< ResultMembers* > mpDimMembers; -public: - ScDPResultData( ScDPSource* pSrc ); //! Ref - ~ScDPResultData(); - - void SetMeasureData( long nCount, const ScSubTotalFunc* pFunctions, - const ::com::sun::star::sheet::DataPilotFieldReference* pRefs, - const sal_uInt16* pRefOrient, const String* pNames ); - void SetDataLayoutOrientation( sal_uInt16 nOrient ); - void SetLateInit( sal_Bool bSet ); - - long GetMeasureCount() const { return nMeasCount; } - ScSubTotalFunc GetMeasureFunction(long nMeasure) const; - String GetMeasureString(long nMeasure, sal_Bool bForce, ScSubTotalFunc eForceFunc, bool& rbTotalResult) const; - String GetMeasureDimensionName(long nMeasure) const; - const ::com::sun::star::sheet::DataPilotFieldReference& GetMeasureRefVal(long nMeasure) const; - sal_uInt16 GetMeasureRefOrient(long nMeasure) const; - - sal_Bool IsDataAtCol() const { return bDataAtCol; } - sal_Bool IsDataAtRow() const { return bDataAtRow; } - sal_Bool IsLateInit() const { return bLateInit; } - - long GetColStartMeasure() const; - long GetRowStartMeasure() const; - - long GetCountForMeasure( long nMeas ) const - { return ( nMeas == SC_DPMEASURE_ALL ) ? nMeasCount : 1; } - - sal_Bool IsBaseForGroup( long nDim ) const; // any group - long GetGroupBase( long nGroupDim ) const; - sal_Bool IsNumOrDateGroup( long nDim ) const; - sal_Bool IsInGroup( const ScDPItemData& rGroupData, long nGroupIndex, - long nBaseDataId, long nBaseIndex ) const; - sal_Bool IsInGroup( SCROW nGroupDataId, long nGroupIndex, - const ScDPItemData& rBaseData, long nBaseIndex ) const; - sal_Bool HasCommonElement( SCROW nFirstDataId, long nFirstIndex, - const ScDPItemData& rSecondData, long nSecondIndex ) const; - - ResultMembers* GetDimResultMembers( long nDim , ScDPDimension* pDim , ScDPLevel* pLevel) const ; - - const ScDPSource* GetSource() const; -}; - - -class ScDPResultMember -{ -private: - const ScDPResultData* pResultData; - ScDPParentDimData aParentDimData; - ScDPResultDimension* pChildDimension; - ScDPDataMember* pDataRoot; - sal_Bool bHasElements; - sal_Bool bForceSubTotal; - sal_Bool bHasHiddenDetails; - sal_Bool bInitialized; - sal_Bool bAutoHidden; - ScDPAggData aColTotal; // to store column totals - - sal_uInt16 nMemberStep; // step to show details -public: - ScDPResultMember( const ScDPResultData* pData, const ScDPParentDimData& rParentDimData, - sal_Bool bForceSub ); //! Ref - ScDPResultMember( const ScDPResultData* pData, sal_Bool bForceSub ); - ~ScDPResultMember(); - - void InitFrom( const ::std::vector<ScDPDimension*>& ppDim, - const ::std::vector<ScDPLevel*>& ppLev, - size_t nPos, - ScDPInitState& rInitState, - sal_Bool bInitChild = sal_True ); - void LateInitFrom( - LateInitParams& rParams, - const ::std::vector< SCROW >& pItemData, - size_t nPos, - ScDPInitState& rInitState); - void CheckShowEmpty( sal_Bool bShow = false ); - String GetName() const; - void FillItemData( ScDPItemData& rData ) const; - sal_Bool IsValid() const; - sal_Bool IsVisible() const; - long GetSize(long nMeasure) const; - sal_Bool HasHiddenDetails() const; - sal_Bool IsSubTotalInTitle(long nMeasure) const; - - long GetSubTotalCount( long* pUserSubStart = NULL ) const; - - sal_Bool IsNamedItem( SCROW nIndex ) const; - bool IsValidEntry( const ::std::vector< SCROW >& aMembers ) const; - - void SetHasElements() { bHasElements = sal_True; } - void SetAutoHidden() { bAutoHidden = sal_True; } - - void ProcessData( const ::std::vector<SCROW>& aChildMembers, - const ScDPResultDimension* pDataDim, - const ::std::vector<SCROW>& aDataMembers, - const ::std::vector<ScDPValueData>& aValues ); - void FillMemberResults( com::sun::star::uno::Sequence< - com::sun::star::sheet::MemberResult>* pSequences, - long& rPos, long nMeasure, sal_Bool bRoot, - const String* pMemberName, - const String* pMemberCaption ); - - void FillDataResults( const ScDPResultMember* pRefMember, - com::sun::star::uno::Sequence< - com::sun::star::uno::Sequence< - com::sun::star::sheet::DataResult> >& rSequence, - long& rRow, long nMeasure ) const; - - void UpdateDataResults( const ScDPResultMember* pRefMember, long nMeasure ) const; - void UpdateRunningTotals( const ScDPResultMember* pRefMember, long nMeasure, - ScDPRunningTotalState& rRunning, ScDPRowTotals& rTotals ) const; - - void SortMembers( ScDPResultMember* pRefMember ); - void DoAutoShow( ScDPResultMember* pRefMember ); - - void ResetResults( sal_Bool bRoot ); - - void DumpState( const ScDPResultMember* pRefMember, ScDocument* pDoc, ScAddress& rPos ) const; - - //! this will be removed! - const ScDPResultDimension* GetChildDimension() const { return pChildDimension; } - ScDPResultDimension* GetChildDimension() { return pChildDimension; } - - ScDPDataMember* GetDataRoot() const { return pDataRoot; } - - const ScDPDimension* GetParentDim() const { return aParentDimData.mpParentDim; } //! Ref - const ScDPLevel* GetParentLevel() const { return aParentDimData.mpParentLevel; } //! Ref - const ScDPMember* GetDPMember()const { return aParentDimData.mpMemberDesc; } //! Ref - inline SCROW GetOrder() const { return aParentDimData.mnOrder; } //! Ref - inline sal_Bool IsRoot() const { return GetParentLevel() == NULL; } - SCROW GetDataId( ) const ; - ScDPAggData* GetColTotal( long nMeasure ) const; - - void FillVisibilityData(ScDPResultVisibilityData& rData) const; -}; - -class ScDPDataMember -{ -private: - const ScDPResultData* pResultData; - const ScDPResultMember* pResultMember; //! Ref? - ScDPDataDimension* pChildDimension; - ScDPAggData aAggregate; - - void UpdateValues( const ::std::vector<ScDPValueData>& aValues, const ScDPSubTotalState& rSubState ); - -public: - ScDPDataMember( const ScDPResultData* pData, const ScDPResultMember* pRes ); - ~ScDPDataMember(); - - void InitFrom( const ScDPResultDimension* pDim ); - - String GetName() const; - sal_Bool IsVisible() const; - sal_Bool HasData( long nMeasure, const ScDPSubTotalState& rSubState ) const; - - sal_Bool IsNamedItem( SCROW r ) const; - sal_Bool HasHiddenDetails() const; - - void ProcessData( const ::std::vector< SCROW >& aChildMembers, const ::std::vector<ScDPValueData>& aValues, - const ScDPSubTotalState& rSubState ); - sal_Bool HasError( long nMeasure, const ScDPSubTotalState& rSubState ) const; - double GetAggregate( long nMeasure, const ScDPSubTotalState& rSubState ) const; - const ScDPAggData* GetConstAggData( long nMeasure, const ScDPSubTotalState& rSubState ) const; - ScDPAggData* GetAggData( long nMeasure, const ScDPSubTotalState& rSubState ); - - void FillDataRow( const ScDPResultMember* pRefMember, - com::sun::star::uno::Sequence<com::sun::star::sheet::DataResult>& rSequence, - long& rCol, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState ) const; - - void UpdateDataRow( const ScDPResultMember* pRefMember, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState ); - void UpdateRunningTotals( const ScDPResultMember* pRefMember, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState, ScDPRunningTotalState& rRunning, - ScDPRowTotals& rTotals, const ScDPResultMember& rRowParent ); - - void SortMembers( ScDPResultMember* pRefMember ); - void DoAutoShow( ScDPResultMember* pRefMember ); - - void ResetResults(); - - void DumpState( const ScDPResultMember* pRefMember, ScDocument* pDoc, ScAddress& rPos ) const; - - //! this will be removed! - const ScDPDataDimension* GetChildDimension() const { return pChildDimension; } - ScDPDataDimension* GetChildDimension() { return pChildDimension; } -}; - -//! replace PtrArr with 32-bit array ???? - -typedef ScDPDataMember* ScDPDataMemberPtr; -SV_DECL_PTRARR_DEL(ScDPDataMembers, ScDPDataMemberPtr, SC_DP_RES_GROW, SC_DP_RES_GROW) - - -// result dimension contains only members - -class ScDPResultDimension -{ -public : - typedef std::vector <ScDPResultMember *> MemberArray; - typedef std::map < SCROW , ScDPResultMember *> MemberHash; -private: - const ScDPResultData* pResultData; - MemberArray maMemberArray; - MemberHash maMemberHash; - sal_Bool bInitialized; - String aDimensionName; //! or ptr to IntDimension? - sal_Bool bIsDataLayout; //! or ptr to IntDimension? - sal_Bool bSortByData; - sal_Bool bSortAscending; - long nSortMeasure; - ScMemberSortOrder aMemberOrder; // used when sorted by measure - sal_Bool bAutoShow; - sal_Bool bAutoTopItems; - long nAutoMeasure; - long nAutoCount; - - ScDPResultMember* FindMember( SCROW iData ) const; - ScDPResultMember* AddMember( const ScDPParentDimData& aData ); - ScDPResultMember* InsertMember( ScDPParentDimData* pMemberData ); - void InitWithMembers( LateInitParams& rParams, - const ::std::vector< SCROW >& pItemData, - size_t nPos, - ScDPInitState& rInitState ); -public: - ScDPResultDimension( const ScDPResultData* pData ); - ~ScDPResultDimension(); - - // allocates new members - void InitFrom( const ::std::vector<ScDPDimension*>& ppDim, - const ::std::vector<ScDPLevel*>& ppLev, - size_t nPos, - ScDPInitState& rInitState , sal_Bool bInitChild = sal_True ); - void LateInitFrom( LateInitParams& rParams, - const ::std::vector< SCROW >& pItemData, - size_t nPos, - ScDPInitState& rInitState ); - void CheckShowEmpty( sal_Bool bShow = false ); - - long GetSize(long nMeasure) const; - - bool IsValidEntry( const ::std::vector<SCROW>& aMembers ) const; - - // modifies existing members, allocates data dimensions - void ProcessData( const ::std::vector<SCROW>& aMembers, - const ScDPResultDimension* pDataDim, - const ::std::vector<SCROW>& aDataMembers, - const ::std::vector<ScDPValueData>& aValues ) const; //! Test - void FillMemberResults( com::sun::star::uno::Sequence< - com::sun::star::sheet::MemberResult>* pSequences, - long nStart, long nMeasure ); - - void FillDataResults( const ScDPResultMember* pRefMember, - com::sun::star::uno::Sequence< - com::sun::star::uno::Sequence< - com::sun::star::sheet::DataResult> >& rSequence, - long nRow, long nMeasure ) const; - - void UpdateDataResults( const ScDPResultMember* pRefMember, long nMeasure ) const; - void UpdateRunningTotals( const ScDPResultMember* pRefMember, long nMeasure, - ScDPRunningTotalState& rRunning, ScDPRowTotals& rTotals ) const; - - void SortMembers( ScDPResultMember* pRefMember ); - long GetSortedIndex( long nUnsorted ) const; - - void DoAutoShow( ScDPResultMember* pRefMember ); - - void ResetResults(); - - // called for the reference dimension - ScDPDataMember* GetRowReferenceMember( const ScDPRelativePos* pMemberPos, const String* pName, - const long* pRowIndexes, const long* pColIndexes ) const; - - // uses row root member from ScDPRunningTotalState - static ScDPDataMember* GetColReferenceMember( const ScDPRelativePos* pMemberPos, const String* pName, - long nRefDimPos, const ScDPRunningTotalState& rRunning ); - - void DumpState( const ScDPResultMember* pRefMember, ScDocument* pDoc, ScAddress& rPos ) const; - - // for ScDPDataDimension::InitFrom - long GetMemberCount() const; - const ScDPResultMember* GetMember(long n) const; - ScDPResultMember* GetMember(long n); - - const ScMemberSortOrder& GetMemberOrder() const { return aMemberOrder; } - ScMemberSortOrder& GetMemberOrder() { return aMemberOrder; } - - sal_Bool IsDataLayout() const { return bIsDataLayout; } - String GetName() const { return aDimensionName; } - - sal_Bool IsSortByData() const { return bSortByData; } - sal_Bool IsSortAscending() const { return bSortAscending; } - long GetSortMeasure() const { return nSortMeasure; } - - sal_Bool IsAutoShow() const { return bAutoShow; } - sal_Bool IsAutoTopItems() const { return bAutoTopItems; } - long GetAutoMeasure() const { return nAutoMeasure; } - long GetAutoCount() const { return nAutoCount; } - - ScDPResultDimension* GetFirstChildDimension() const; - - void FillVisibilityData(ScDPResultVisibilityData& rData) const; -}; - -class ScDPDataDimension -{ -private: - const ScDPResultData* pResultData; - const ScDPResultDimension* pResultDimension; // column - ScDPDataMembers aMembers; - sal_Bool bIsDataLayout; //! or ptr to IntDimension? - -public: - ScDPDataDimension( const ScDPResultData* pData ); - ~ScDPDataDimension(); - - void InitFrom( const ScDPResultDimension* pDim ); // recursive - void ProcessData( const ::std::vector< SCROW >& aDataMembers, const ::std::vector<ScDPValueData>& aValues, - const ScDPSubTotalState& rSubState ); - void FillDataRow( const ScDPResultDimension* pRefDim, - com::sun::star::uno::Sequence<com::sun::star::sheet::DataResult>& rSequence, - long nCol, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState ) const; - - void UpdateDataRow( const ScDPResultDimension* pRefDim, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState ) const; - void UpdateRunningTotals( const ScDPResultDimension* pRefDim, long nMeasure, sal_Bool bIsSubTotalRow, - const ScDPSubTotalState& rSubState, ScDPRunningTotalState& rRunning, - ScDPRowTotals& rTotals, const ScDPResultMember& rRowParent ) const; - - void SortMembers( ScDPResultDimension* pRefDim ); - long GetSortedIndex( long nUnsorted ) const; - - void DoAutoShow( ScDPResultDimension* pRefDim ); - - void ResetResults(); - - void DumpState( const ScDPResultDimension* pRefDim, ScDocument* pDoc, ScAddress& rPos ) const; - - long GetMemberCount() const; - ScDPDataMember* GetMember(long n) const; -}; - -// ---------------------------------------------------------------------------- - -/** - * This class collects visible members of each dimension and uses that - * information to create filtering criteria (e.g. for drill-down data). - */ -class ScDPResultVisibilityData -{ -public: - ScDPResultVisibilityData( ScDPSource* pSource); - ~ScDPResultVisibilityData(); - - void addVisibleMember(const String& rDimName, const ScDPItemData& rMemberItem); - void fillFieldFilters(::std::vector<ScDPCacheTable::Criterion>& rFilters) const; - -private: - struct MemberHash - { - size_t operator()(const ScDPItemData& r) const; - }; - typedef ::boost::unordered_set<ScDPItemData, MemberHash> VisibleMemberType; - typedef ::boost::unordered_map<String, VisibleMemberType, ScStringHashCode> DimMemberType; - DimMemberType maDimensions; - - ScDPSource* mpSource; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/dptabsrc.hxx b/sc/inc/dptabsrc.hxx deleted file mode 100644 index 177e93303..000000000 --- a/sc/inc/dptabsrc.hxx +++ /dev/null @@ -1,838 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DPTABSRC_HXX -#define SC_DPTABSRC_HXX - -#include <vector> -#include <boost/unordered_map.hpp> -#include <boost/unordered_set.hpp> -#include <list> -#include <memory> - -#include <tools/string.hxx> -#include "global.hxx" // enum ScSubTotalFunc -#include <com/sun/star/sheet/XDimensionsSupplier.hpp> -#include <com/sun/star/sheet/XHierarchiesSupplier.hpp> -#include <com/sun/star/sheet/XLevelsSupplier.hpp> -#include <com/sun/star/sheet/XMembersSupplier.hpp> -#include <com/sun/star/sheet/XDataPilotResults.hpp> -#include <com/sun/star/sheet/XDataPilotMemberResults.hpp> -#include <com/sun/star/sheet/MemberResult.hpp> -#include <com/sun/star/sheet/GeneralFunction.hpp> -#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldLayoutMode.hpp> -#include <com/sun/star/sheet/DataPilotFieldReference.hpp> -#include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp> -#include <com/sun/star/util/XRefreshable.hpp> -#include <com/sun/star/sheet/XDrillDownDataSupplier.hpp> -#include <com/sun/star/util/XCloneable.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XNamed.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase6.hxx> -#include "dpglobal.hxx" -#include "dptabdat.hxx" - -namespace com { namespace sun { namespace star { - namespace sheet { - struct DataPilotFieldFilter; - } - namespace table { - struct CellAddress; - } -}}} - -class ScDPResultMember; -class ScDPResultData; -class ScDPItemData; -class ScDPTableData; - -// should be dynamic! -#define SC_DAPI_MAXFIELDS 256 - - -// -// implementation of DataPilotSource using ScDPTableData -// - - -class ScDPDimensions; -class ScDPDimension; -class ScDPHierarchies; -class ScDPHierarchy; -class ScDPLevels; -class ScDPLevel; -class ScDPMembers; -class ScDPMember; - - -class ScDPSource : public cppu::WeakImplHelper6< - com::sun::star::sheet::XDimensionsSupplier, - com::sun::star::sheet::XDataPilotResults, - com::sun::star::util::XRefreshable, - com::sun::star::sheet::XDrillDownDataSupplier, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPTableData* pData; // data source (ScDPObject manages its life time) - ScDPDimensions* pDimensions; // api objects - // settings: - long nColDims[SC_DAPI_MAXFIELDS]; - long nRowDims[SC_DAPI_MAXFIELDS]; - long nDataDims[SC_DAPI_MAXFIELDS]; - long nPageDims[SC_DAPI_MAXFIELDS]; - long nColDimCount; - long nRowDimCount; - long nDataDimCount; - long nPageDimCount; - sal_Bool bColumnGrand; - sal_Bool bRowGrand; - sal_Bool bIgnoreEmptyRows; - sal_Bool bRepeatIfEmpty; - - long nDupCount; - - // results: - ScDPResultData* pResData; // keep the rest in this! - ScDPResultMember* pColResRoot; - ScDPResultMember* pRowResRoot; - com::sun::star::uno::Sequence<com::sun::star::sheet::MemberResult>* pColResults; - com::sun::star::uno::Sequence<com::sun::star::sheet::MemberResult>* pRowResults; - std::vector<ScDPLevel*> aColLevelList; - std::vector<ScDPLevel*> aRowLevelList; - sal_Bool bResultOverflow; - - ::std::auto_ptr<rtl::OUString> mpGrandTotalName; - - void CreateRes_Impl(); - void FillMemberResults(); - void FillLevelList( sal_uInt16 nOrientation, std::vector<ScDPLevel*> &rList ); - void FillCalcInfo(bool bIsRow, ScDPTableData::CalcInfo& rInfo, bool &bHasAutoShow); - - /** - * Compile a list of dimension indices that are either, column, row or - * page dimensions (i.e. all but data dimensions). - */ - void GetCategoryDimensionIndices(::boost::unordered_set<sal_Int32>& rCatDims); - - /** - * Set visibilities of individual rows in the cache table based on the - * page field data. - */ - void FilterCacheTableByPageDimensions(); - - void SetDupCount( long nNew ); - -public: - ScDPSource( ScDPTableData* pD ); - virtual ~ScDPSource(); - - ScDPTableData* GetData() { return pData; } - const ScDPTableData* GetData() const { return pData; } - - const ::rtl::OUString* GetGrandTotalName() const; - - sal_uInt16 GetOrientation(long nColumn); - void SetOrientation(long nColumn, sal_uInt16 nNew); - long GetPosition(long nColumn); - - long GetDataDimensionCount(); - ScDPDimension* GetDataDimension(long nIndex); - String GetDataDimName(long nIndex); - const ScDPCache* GetCache(); - const ScDPItemData* GetItemDataById( long nDim, long nId ); - long GetDataLayoutDim(){ return pData->GetColumnCount(); } - SCROW GetMemberId( long nDim, const ScDPItemData& rData ); - sal_Bool IsDataLayoutDimension(long nDim); - sal_uInt16 GetDataLayoutOrientation(); - - sal_Bool IsDateDimension(long nDim); - - sal_Bool SubTotalAllowed(long nColumn); //! move to ScDPResultData - - ScDPDimension* AddDuplicated(long nSource, const String& rNewName); - long GetDupCount() const { return nDupCount; } - - long GetSourceDim(long nDim); - - const com::sun::star::uno::Sequence<com::sun::star::sheet::MemberResult>* - GetMemberResults( ScDPLevel* pLevel ); - - ScDPDimensions* GetDimensionsObject(); - - // XDimensionsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > - SAL_CALL getDimensions( ) - throw(::com::sun::star::uno::RuntimeException); - - // XDataPilotResults - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::DataResult > > SAL_CALL getResults( ) - throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - - // XDrillDownDataSupplier - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > - SAL_CALL getDrillDownData(const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::DataPilotFieldFilter >& aFilters ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual String getDataDescription(); //! ??? - - virtual sal_Bool getColumnGrand() const; - virtual void setColumnGrand(sal_Bool bSet); - virtual sal_Bool getRowGrand() const; - virtual void setRowGrand(sal_Bool bSet); - - virtual sal_Bool getIgnoreEmptyRows() const; - virtual void setIgnoreEmptyRows(sal_Bool bSet); - virtual sal_Bool getRepeatIfEmpty() const; - virtual void setRepeatIfEmpty(sal_Bool bSet); - - virtual void validate(); //! ??? - virtual void disposeData(); -}; - -class ScDPDimensions : public cppu::WeakImplHelper2< - com::sun::star::container::XNameAccess, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDimCount; - ScDPDimension** ppDims; - -public: - ScDPDimensions( ScDPSource* pSrc ); - virtual ~ScDPDimensions(); - - void CountChanged(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual long getCount() const; - virtual ScDPDimension* getByIndex(long nIndex) const; -}; - -class ScDPDimension : public cppu::WeakImplHelper5< - com::sun::star::sheet::XHierarchiesSupplier, - com::sun::star::container::XNamed, - com::sun::star::util::XCloneable, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; // dimension index (== column ID) - ScDPHierarchies* pHierarchies; - long nUsedHier; - sal_uInt16 nFunction; // enum GeneralFunction - String aName; // if empty, take from source - ::std::auto_ptr<rtl::OUString> mpLayoutName; - ::std::auto_ptr<rtl::OUString> mpSubtotalName; - long nSourceDim; // >=0 if dup'ed - ::com::sun::star::sheet::DataPilotFieldReference - aReferenceValue; // settings for "show data as" / "displayed value" - sal_Bool bHasSelectedPage; - String aSelectedPage; - ScDPItemData* pSelectedData; // internal, temporary, created from aSelectedPage - sal_Bool mbHasHiddenMember; - -public: - ScDPDimension( ScDPSource* pSrc, long nD ); - virtual ~ScDPDimension(); - - long GetDimension() const { return nDim; } // dimension index in source - long GetSourceDim() const { return nSourceDim; } // >=0 if dup'ed - - ScDPDimension* CreateCloneObject(); - ScDPHierarchies* GetHierarchiesObject(); - - SC_DLLPUBLIC const ::rtl::OUString* GetLayoutName() const; - const ::rtl::OUString* GetSubtotalName() const; - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XHierarchiesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getHierarchies() throw(::com::sun::star::uno::RuntimeException); - - // XCloneable - virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL - createClone() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual sal_uInt16 getOrientation() const; - virtual void setOrientation(sal_uInt16 nNew); - virtual long getPosition() const; - virtual void setPosition(long nNew); - virtual sal_Bool getIsDataLayoutDimension() const; - virtual sal_uInt16 getFunction() const; - virtual void setFunction(sal_uInt16 nNew); // for data dimension - virtual long getUsedHierarchy() const; - virtual void setUsedHierarchy(long nNew); - virtual sal_Bool isDuplicated() const; - - sal_Bool HasSelectedPage() const { return bHasSelectedPage; } - const ScDPItemData& GetSelectedData(); - - const ::com::sun::star::sheet::DataPilotFieldReference& GetReferenceValue() const; -}; - -class ScDPHierarchies : public cppu::WeakImplHelper2< - com::sun::star::container::XNameAccess, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHierCount; - ScDPHierarchy** ppHiers; - -public: - ScDPHierarchies( ScDPSource* pSrc, long nD ); - virtual ~ScDPHierarchies(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual long getCount() const; - virtual ScDPHierarchy* getByIndex(long nIndex) const; -}; - -class ScDPHierarchy : public cppu::WeakImplHelper3< - com::sun::star::sheet::XLevelsSupplier, - com::sun::star::container::XNamed, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHier; - ScDPLevels* pLevels; - -public: - ScDPHierarchy( ScDPSource* pSrc, long nD, long nH ); - virtual ~ScDPHierarchy(); - - ScDPLevels* GetLevelsObject(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XLevelsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getLevels() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScDPLevels : public cppu::WeakImplHelper2< - com::sun::star::container::XNameAccess, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHier; - long nLevCount; - ScDPLevel** ppLevs; - -public: - ScDPLevels( ScDPSource* pSrc, long nD, long nH ); - virtual ~ScDPLevels(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual long getCount() const; - virtual ScDPLevel* getByIndex(long nIndex) const; -}; - -class ScDPLevel : public cppu::WeakImplHelper5< - com::sun::star::sheet::XMembersSupplier, - com::sun::star::container::XNamed, - com::sun::star::sheet::XDataPilotMemberResults, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHier; - long nLev; - ScDPMembers* pMembers; - com::sun::star::uno::Sequence<com::sun::star::sheet::GeneralFunction> aSubTotals; - sal_Bool bShowEmpty; - ::com::sun::star::sheet::DataPilotFieldSortInfo aSortInfo; // stored user settings - ::com::sun::star::sheet::DataPilotFieldAutoShowInfo aAutoShowInfo; // stored user settings - ::com::sun::star::sheet::DataPilotFieldLayoutInfo aLayoutInfo; // stored user settings - // valid only from result calculation: - ::std::vector<sal_Int32> aGlobalOrder; // result of sorting by name or position - long nSortMeasure; // measure (index of data dimension) to sort by - long nAutoMeasure; // measure (index of data dimension) for AutoShow - sal_Bool bEnableLayout; // enabled only for row fields, not for the innermost one - -public: - ScDPLevel( ScDPSource* pSrc, long nD, long nH, long nL ); - virtual ~ScDPLevel(); - - ScDPMembers* GetMembersObject(); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XMembersSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getMembers() throw(::com::sun::star::uno::RuntimeException); - - // XDataPilotMemberResults - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::MemberResult > SAL_CALL - getResults() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual com::sun::star::uno::Sequence<com::sun::star::sheet::GeneralFunction> getSubTotals() const; - virtual void setSubTotals(const com::sun::star::uno::Sequence< - com::sun::star::sheet::GeneralFunction>& rNew); - virtual sal_Bool getShowEmpty() const; - virtual void setShowEmpty(sal_Bool bSet); - - const ::com::sun::star::sheet::DataPilotFieldSortInfo& GetSortInfo() const { return aSortInfo; } - const ::com::sun::star::sheet::DataPilotFieldAutoShowInfo& GetAutoShow() const { return aAutoShowInfo; } - - void EvaluateSortOrder(); - void SetEnableLayout( sal_Bool bSet ); - - const ::std::vector<sal_Int32>& GetGlobalOrder() const { return aGlobalOrder; } - ::std::vector<sal_Int32>& GetGlobalOrder() { return aGlobalOrder; } - long GetSortMeasure() const { return nSortMeasure; } - long GetAutoMeasure() const { return nAutoMeasure; } - - sal_Bool IsOutlineLayout() const - { return bEnableLayout && - aLayoutInfo.LayoutMode != - ::com::sun::star::sheet::DataPilotFieldLayoutMode::TABULAR_LAYOUT; } - - sal_Bool IsSubtotalsAtTop() const - { return bEnableLayout && - aLayoutInfo.LayoutMode == - ::com::sun::star::sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_TOP; } - - sal_Bool IsAddEmpty() const { return bEnableLayout && aLayoutInfo.AddEmptyLines; } - - //! number format (for data fields and date fields) -}; - -// hash map from name to index in the member array, for fast name access -typedef ::boost::unordered_map< ::rtl::OUString, sal_Int32, ::rtl::OUStringHash > ScDPMembersHashMap; - -class ScDPMembers : public cppu::WeakImplHelper2< - com::sun::star::container::XNameAccess, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHier; - long nLev; - long nMbrCount; - ScDPMember** ppMbrs; - mutable ScDPMembersHashMap aHashMap; - -public: - ScDPMembers( ScDPSource* pSrc, long nD, long nH, long nL ); - virtual ~ScDPMembers(); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual long getCount() const; - virtual ScDPMember* getByIndex(long nIndex) const; - - long getMinMembers() const; - - sal_Int32 GetIndexFromName( const ::rtl::OUString& rName ) const; // <0 if not found - const std::vector<sal_Int32>& GetGlobalOrder(); - const ScDPItemData* GetSrcItemDataByIndex( SCROW nIndex); - SCROW GetSrcItemsCount(); -}; - -class ScDPMember : public cppu::WeakImplHelper3< - com::sun::star::container::XNamed, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo > -{ -private: - ScDPSource* pSource; - long nDim; - long nHier; - long nLev; - - SCROW mnDataId; -// String aCaption; // visible name (changeable by user) - ::std::auto_ptr<rtl::OUString> mpLayoutName; - - sal_Int32 nPosition; // manual sorting - sal_Bool bVisible; - sal_Bool bShowDet; - -public: - ScDPMember( ScDPSource* pSrc, long nD, long nH, long nL, - SCROW nIndex /*const String& rN, double fV, BOOL bHV */); - virtual ~ScDPMember(); - - String GetNameStr() const; - void FillItemData( ScDPItemData& rData ) const; - const ScDPItemData& GetItemData() const; - inline SCROW GetItemDataId() const { return mnDataId; } - sal_Bool IsNamedItem( SCROW nIndex ) const; - - SC_DLLPUBLIC const ::rtl::OUString* GetLayoutName() const; - - sal_Int32 Compare( const ScDPMember& rOther ) const; // visible order - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - virtual sal_Bool getIsVisible() const; - virtual void setIsVisible(sal_Bool bSet); - virtual sal_Bool getShowDetails() const; - virtual void setShowDetails(sal_Bool bSet); - - sal_Int32 getPosition() const; - void setPosition(sal_Int32 nNew); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/drawattr.hxx b/sc/inc/drawattr.hxx deleted file mode 100644 index 1c9854440..000000000 --- a/sc/inc/drawattr.hxx +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _IDLITEMS_HXX -#define _IDLITEMS_HXX - -#include <svl/eitem.hxx> -#include <editeng/svxenum.hxx> - - -class SvxDrawToolItem : public SfxEnumItem -{ -public: - - SvxDrawToolItem( const SvxDrawToolItem& rDrawToolItem ) : - SfxEnumItem( rDrawToolItem ){} - - SvxDrawToolItem(sal_uInt16 nWhichP) : SfxEnumItem(nWhichP){} - - - virtual String GetValueText() const; - - - virtual String GetValueText(sal_uInt16 nVal) const; - virtual sal_uInt16 GetValueCount() const - {return((sal_uInt16)SVX_SNAP_DRAW_TEXT);} - - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - virtual SfxPoolItem* Create( SvStream& rStream, sal_uInt16 nVer ) const; - - inline SvxDrawToolItem& operator=(const SvxDrawToolItem& - rDrawTool) - { - SetValue( rDrawTool.GetValue() ); - return *this; - - } -}; -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/drawpage.hxx b/sc/inc/drawpage.hxx deleted file mode 100644 index 4a52e934f..000000000 --- a/sc/inc/drawpage.hxx +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DRAWPAGE_HXX -#define SC_DRAWPAGE_HXX - -#include <svx/fmpage.hxx> - - -class ScDrawLayer; - -class ScDrawPage: public FmFormPage -{ -public: - ScDrawPage(ScDrawLayer& rNewModel, StarBASIC* pBasic, bool bMasterPage = false); - ~ScDrawPage(); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoPage(); -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/drdefuno.hxx b/sc/inc/drdefuno.hxx deleted file mode 100644 index cdce5a85a..000000000 --- a/sc/inc/drdefuno.hxx +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DRDEFUNO_HXX -#define SC_DRDEFUNO_HXX - -#include <svx/unopool.hxx> -#include <svl/lstner.hxx> - -class ScDocShell; - -class ScDrawDefaultsObj : public SvxUnoDrawPool, public SfxListener -{ -private: - ScDocShell* pDocShell; - -public: - ScDrawDefaultsObj(ScDocShell* pDocSh); - virtual ~ScDrawDefaultsObj() throw (); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // from SvxUnoDrawPool - virtual SfxItemPool* getModelPool( sal_Bool bReadOnly ) throw(); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/drwlayer.hxx b/sc/inc/drwlayer.hxx deleted file mode 100644 index 0cc7c291d..000000000 --- a/sc/inc/drwlayer.hxx +++ /dev/null @@ -1,221 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_DRWLAYER_HXX -#define SC_DRWLAYER_HXX - -#include <vcl/graph.hxx> -#include <svx/fmmodel.hxx> -#include <svx/svdundo.hxx> -#include "global.hxx" - -class ScDocument; -class SfxViewShell; -class SfxObjectShell; -class ScDrawObjData; -class ScIMapInfo; -class ScMacroInfo; -class IMapObject; -class ScMarkData; -class SdrOle2Obj; -class ScRange; -class ScAddress; - -class ScTabDeletedHint : public SfxHint -{ -private: - SCTAB nTab; -public: - TYPEINFO(); - ScTabDeletedHint( SCTAB nTabNo = SCTAB_MAX ); - virtual ~ScTabDeletedHint(); - - SCTAB GetTab() { return nTab; } -}; - -class ScTabSizeChangedHint : public SfxHint -{ -private: - SCTAB nTab; -public: - TYPEINFO(); - ScTabSizeChangedHint( SCTAB nTabNo = SCTAB_MAX ); - virtual ~ScTabSizeChangedHint(); - - SCTAB GetTab() { return nTab; } -}; - -// Adjusting of detective UserData and draw undo's both have to be in SdrUndoGroup; -// therefore derived from SdrUndoAction - -class ScUndoObjData : public SdrUndoObj -{ -private: - ScAddress aOldStt; - ScAddress aOldEnd; - ScAddress aNewStt; - ScAddress aNewEnd; - sal_Bool bHasNew; -public: - ScUndoObjData( SdrObject* pObj, const ScAddress& rOS, const ScAddress& rOE, - const ScAddress& rNS, const ScAddress& rNE ); - ~ScUndoObjData(); - - virtual void Undo(); - virtual void Redo(); -}; - -class SC_DLLPUBLIC ScDrawLayer : public FmFormModel -{ -private: - String aName; - ScDocument* pDoc; - SdrUndoGroup* pUndoGroup; - sal_Bool bRecording; - sal_Bool bAdjustEnabled; - sal_Bool bHyphenatorSet; - -private: - void MoveCells( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, bool bUpdateNoteCaptionPos ); - - void RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ); - -public: - ScDrawLayer( ScDocument* pDocument, const String& rName ); - virtual ~ScDrawLayer(); - - virtual SdrPage* AllocPage(bool bMasterPage); - virtual SdrModel* AllocModel() const; - virtual void SetChanged( sal_Bool bFlg = sal_True ); - - virtual Window* GetCurDocViewWin(); - virtual SvStream* GetDocumentStream(SdrDocumentStreamInfo& rStreamInfo) const; - - virtual SdrLayerID GetControlExportLayerId( const SdrObject & ) const; - - sal_Bool HasObjects() const; - - sal_Bool ScAddPage( SCTAB nTab ); - void ScRemovePage( SCTAB nTab ); - void ScRenamePage( SCTAB nTab, const String& rNewName ); - void ScMovePage( sal_uInt16 nOldPos, sal_uInt16 nNewPos ); - // incl. content, bAlloc=FALSE -> only content - void ScCopyPage( sal_uInt16 nOldPos, sal_uInt16 nNewPos, sal_Bool bAlloc ); - - ScDocument* GetDocument() const { return pDoc; } - - void UpdateBasic(); // set DocShell Basic in DrawPages - void UseHyphenator(); - - sal_Bool GetPrintArea( ScRange& rRange, sal_Bool bSetHor, sal_Bool bSetVer ) const; - - // automatic adjustments - - void EnableAdjust( sal_Bool bSet = sal_True ) { bAdjustEnabled = bSet; } - - void BeginCalcUndo(); - SdrUndoGroup* GetCalcUndo(); - sal_Bool IsRecording() const { return bRecording; } - void AddCalcUndo( SdrUndoAction* pUndo ); - - void MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, sal_Bool bInsDel, bool bUpdateNoteCaptionPos = true ); - - sal_Bool HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow ); - - void DeleteObjectsInArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, - SCCOL nCol2,SCROW nRow2 ); - void DeleteObjectsInSelection( const ScMarkData& rMark ); - - void CopyToClip( ScDocument* pClipDoc, SCTAB nTab, const Rectangle& rRange ); - void CopyFromClip( ScDrawLayer* pClipModel, - SCTAB nSourceTab, const Rectangle& rSourceRange, - const ScAddress& rDestPos, const Rectangle& rDestRange ); - - void SetPageSize( sal_uInt16 nPageNo, const Size& rSize, bool bUpdateNoteCaptionPos = true ); - - // mirror or move between positive and negative positions for RTL - void MirrorRTL( SdrObject* pObj ); - static void MirrorRectRTL( Rectangle& rRect ); // for bounding rectangles etc. - - /** Returns the rectangle for the passed cell address in 1/100 mm. - @param bMergedCell True = regards merged cells. False = use single column/row size. */ - static Rectangle GetCellRect( ScDocument& rDoc, const ScAddress& rPos, bool bMergedCell ); - - // GetVisibleName: name for navigator etc: GetPersistName or GetName - // (ChartListenerCollection etc. must use GetPersistName directly) - static String GetVisibleName( SdrObject* pObj ); - - SdrObject* GetNamedObject( const String& rName, sal_uInt16 nId, SCTAB& rFoundTab ) const; - // if pnCounter != NULL, the search for a name starts with this index + 1, - // and the index really used is returned. - String GetNewGraphicName( long* pnCounter = NULL ) const; - void EnsureGraphicNames(); - - static void SetPageAnchored( SdrObject& ); - static void SetCellAnchored( SdrObject&, const ScDrawObjData &rAnchor ); - static void SetCellAnchoredFromPosition( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ); - static void UpdateCellAnchorFromPositionEnd( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ); - static ScAnchorType GetAnchorType( const SdrObject& ); - - // positions for detektive lines - static ScDrawObjData* GetObjData( SdrObject* pObj, sal_Bool bCreate=false ); - - // The sheet information in ScDrawObjData isn't updated when sheets are inserted/deleted. - // Use this method to get an object with positions on the specified sheet (should be the - // sheet on which the object is inserted). - static ScDrawObjData* GetObjDataTab( SdrObject* pObj, SCTAB nTab ); - - /** Returns true, if the passed object is the caption of a cell note. */ - static bool IsNoteCaption( SdrObject* pObj ); - - /** Returns the object data, if the passed object is a cell note caption. */ - static ScDrawObjData* GetNoteCaptionData( SdrObject* pObj, SCTAB nTab ); - - // Image-Map - static ScIMapInfo* GetIMapInfo( SdrObject* pObj ); - - static IMapObject* GetHitIMapObject( SdrObject* pObject, - const Point& rWinPoint, const Window& rCmpWnd ); - - static ScMacroInfo* GetMacroInfo( SdrObject* pObj, sal_Bool bCreate = false ); - -private: - static SfxObjectShell* pGlobalDrawPersist; // for AllocModel -public: - static void SetGlobalDrawPersist(SfxObjectShell* pPersist); -protected: - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoModel(); -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/editsrc.hxx b/sc/inc/editsrc.hxx deleted file mode 100644 index 268680cc2..000000000 --- a/sc/inc/editsrc.hxx +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_EDITSRC_HXX -#define SC_EDITSRC_HXX - -#include "address.hxx" -#include <editeng/unoedsrc.hxx> -#include <svl/lstner.hxx> - -#include <memory> - -class ScEditEngineDefaulter; -class SvxEditEngineForwarder; - -class ScDocShell; -class ScHeaderFooterContentObj; -class ScCellTextData; -class ScHeaderFooterTextData; -class ScAccessibleTextData; -class SdrObject; - - -class ScHeaderFooterChangedHint : public SfxHint -{ - sal_uInt16 nPart; - -public: - TYPEINFO(); - ScHeaderFooterChangedHint(sal_uInt16 nP); - ~ScHeaderFooterChangedHint(); - - sal_uInt16 GetPart() const { return nPart; } -}; - - -// all ScSharedHeaderFooterEditSource objects for a single text share the same data - -class ScSharedHeaderFooterEditSource : public SvxEditSource -{ -private: - ScHeaderFooterTextData* pTextData; - -protected: - ScHeaderFooterTextData* GetTextData() const { return pTextData; } // for ScHeaderFooterEditSource - -public: - ScSharedHeaderFooterEditSource( ScHeaderFooterTextData* pData ); - virtual ~ScSharedHeaderFooterEditSource(); - - // GetEditEngine is needed because the forwarder doesn't have field functions - ScEditEngineDefaulter* GetEditEngine(); - - virtual SvxEditSource* Clone() const ; - virtual SvxTextForwarder* GetTextForwarder(); - - virtual void UpdateData(); - -}; - -// ScHeaderFooterEditSource with local copy of ScHeaderFooterTextData is used by field objects - -class ScHeaderFooterEditSource : public ScSharedHeaderFooterEditSource -{ -public: - ScHeaderFooterEditSource( ScHeaderFooterContentObj* pContent, sal_uInt16 nP ); - ScHeaderFooterEditSource( ScHeaderFooterContentObj& rContent, sal_uInt16 nP ); - virtual ~ScHeaderFooterEditSource(); - - virtual SvxEditSource* Clone() const; -}; - - -// Data (incl. EditEngine) for cell EditSource is now shared in ScCellTextData - -class ScSharedCellEditSource : public SvxEditSource -{ -private: - ScCellTextData* pCellTextData; - -protected: - ScCellTextData* GetCellTextData() const { return pCellTextData; } // for ScCellEditSource - -public: - ScSharedCellEditSource( ScCellTextData* pData ); - virtual ~ScSharedCellEditSource(); - - // GetEditEngine is needed because the forwarder doesn't have field functions - ScEditEngineDefaulter* GetEditEngine(); - - virtual SvxEditSource* Clone() const; - virtual SvxTextForwarder* GetTextForwarder(); - - virtual void UpdateData(); - - void SetDoUpdateData(sal_Bool bValue); - sal_Bool IsDirty() const; -}; - -// ScCellEditSource with local copy of ScCellTextData is used by ScCellFieldsObj, ScCellFieldObj - -class ScCellEditSource : public ScSharedCellEditSource -{ -public: - ScCellEditSource( ScDocShell* pDocSh, const ScAddress& rP ); - virtual ~ScCellEditSource(); - - virtual SvxEditSource* Clone() const; -}; - - -class ScAnnotationEditSource : public SvxEditSource, public SfxListener -{ -private: - ScDocShell* pDocShell; - ScAddress aCellPos; - ScEditEngineDefaulter* pEditEngine; - SvxEditEngineForwarder* pForwarder; - sal_Bool bDataValid; - - SdrObject* GetCaptionObj(); -public: - ScAnnotationEditSource(ScDocShell* pDocSh, const ScAddress& rP); - virtual ~ScAnnotationEditSource(); - - virtual SvxEditSource* Clone() const ; - virtual SvxTextForwarder* GetTextForwarder(); - virtual void UpdateData(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); -}; - - -// EditSource with a shared forwarder for all children of one text object - -class ScSimpleEditSource : public SvxEditSource -{ -private: - SvxTextForwarder* pForwarder; - -public: - ScSimpleEditSource( SvxTextForwarder* pForw ); - virtual ~ScSimpleEditSource(); - - virtual SvxEditSource* Clone() const ; - virtual SvxTextForwarder* GetTextForwarder(); - virtual void UpdateData(); - -}; - -class ScAccessibilityEditSource : public SvxEditSource -{ -private: - ::std::auto_ptr < ScAccessibleTextData > mpAccessibleTextData; - -public: - ScAccessibilityEditSource( ::std::auto_ptr < ScAccessibleTextData > pAccessibleCellTextData ); - virtual ~ScAccessibilityEditSource(); - - virtual SvxEditSource* Clone() const; - virtual SvxTextForwarder* GetTextForwarder(); - virtual SvxViewForwarder* GetViewForwarder(); - virtual SvxEditViewForwarder* GetEditViewForwarder( sal_Bool bCreate = false ); - virtual void UpdateData(); - virtual SfxBroadcaster& GetBroadcaster() const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/editutil.hxx b/sc/inc/editutil.hxx deleted file mode 100644 index 91be8b828..000000000 --- a/sc/inc/editutil.hxx +++ /dev/null @@ -1,260 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_EDITUTIL_HXX -#define SC_EDITUTIL_HXX - -#include "scdllapi.h" -#include "address.hxx" -#include <editeng/editeng.hxx> -#include <svx/pageitem.hxx> -#include <tools/date.hxx> -#include <tools/time.hxx> -#include <tools/gen.hxx> -#include <tools/fract.hxx> - - -class OutputDevice; -class ScDocument; -class ScPatternAttr; -class ScEditEngineDefaulter; - -class ScEditUtil -{ - ScDocument* pDoc; - SCCOL nCol; - SCROW nRow; - SCTAB nTab; - Point aScrPos; - OutputDevice* pDev; // MapMode has to be set - double nPPTX; - double nPPTY; - Fraction aZoomX; - Fraction aZoomY; - - static const char pCalcDelimiters[]; - -public: - static String ModifyDelimiters( const String& rOld ); - - /// Retrieves string with paragraphs delimited by spaces - static String GetSpaceDelimitedString( const EditEngine& rEngine ); - - /// Retrieves string with paragraphs delimited by new lines ('\n'). - static String GetMultilineString( const EditEngine& rEngine ); - -public: - ScEditUtil( ScDocument* pDocument, SCCOL nX, SCROW nY, SCTAB nZ, - const Point& rScrPosPixel, - OutputDevice* pDevice, double nScaleX, double nScaleY, - const Fraction& rX, const Fraction& rY ) : - pDoc(pDocument),nCol(nX),nRow(nY),nTab(nZ), - aScrPos(rScrPosPixel),pDev(pDevice), - nPPTX(nScaleX),nPPTY(nScaleY),aZoomX(rX),aZoomY(rY) {} - - Rectangle GetEditArea( const ScPatternAttr* pPattern, sal_Bool bForceToTop ); -}; - - -class ScEditAttrTester -{ - ScEditEngineDefaulter* pEngine; - SfxItemSet* pEditAttrs; - sal_Bool bNeedsObject; - sal_Bool bNeedsCellAttr; - -public: - ScEditAttrTester( ScEditEngineDefaulter* pEng ); - ~ScEditAttrTester(); - - sal_Bool NeedsObject() const { return bNeedsObject; } - sal_Bool NeedsCellAttr() const { return bNeedsCellAttr; } - const SfxItemSet& GetAttribs() const { return *pEditAttrs; } -}; - - -// construct pool before constructing EditEngine, destroy pool after EditEngine -class ScEnginePoolHelper -{ -protected: - SfxItemPool* pEnginePool; - SfxItemSet* pDefaults; - sal_Bool bDeleteEnginePool; - sal_Bool bDeleteDefaults; - - ScEnginePoolHelper( SfxItemPool* pEnginePool, - sal_Bool bDeleteEnginePool = false ); - ScEnginePoolHelper( const ScEnginePoolHelper& rOrg ); - virtual ~ScEnginePoolHelper(); -}; - - -class SC_DLLPUBLIC ScEditEngineDefaulter : public ScEnginePoolHelper, public EditEngine -{ -private: - using EditEngine::SetText; - -public: - /// bDeleteEnginePool: Engine becomes the owner of the pool - /// and deletes it on destruction - ScEditEngineDefaulter( SfxItemPool* pEnginePool, - sal_Bool bDeleteEnginePool = false ); - /// If rOrg.bDeleteEnginePool: pool gets cloned and will be - /// deleted on destruction. Defaults are not set. - ScEditEngineDefaulter( const ScEditEngineDefaulter& rOrg ); - virtual ~ScEditEngineDefaulter(); - - /// Creates a copy of SfxItemSet if bRememberCopy set - void SetDefaults( const SfxItemSet& rDefaults, sal_Bool bRememberCopy = sal_True ); - - /// Becomes the owner of the SfxItemSet if bTakeOwnership set - void SetDefaults( SfxItemSet* pDefaults, sal_Bool bTakeOwnership = sal_True ); - - /// Set the item in the default ItemSet which is created - /// if it doesn't exist yet. - /// The default ItemSet is then applied to each paragraph. - void SetDefaultItem( const SfxPoolItem& rItem ); - - /// Returns the stored defaults, used to find non-default character attributes - const SfxItemSet& GetDefaults(); - - /// Overwritten method to be able to apply defaults already set - void SetText( const EditTextObject& rTextObject ); - /// Current defaults are not applied, new defaults are applied - void SetTextNewDefaults( const EditTextObject& rTextObject, - const SfxItemSet& rDefaults, sal_Bool bRememberCopy = sal_True ); - /// Current defaults are not applied, new defaults are applied - void SetTextNewDefaults( const EditTextObject& rTextObject, - SfxItemSet* pDefaults, sal_Bool bTakeOwnership = sal_True ); - - /// Overwritten method to be able to apply defaults already set - void SetText( const String& rText ); - /// Current defaults are not applied, new defaults are applied - void SetTextNewDefaults( const String& rText, - const SfxItemSet& rDefaults, sal_Bool bRememberCopy = sal_True ); - /// Current defaults are not applied, new defaults are applied - void SetTextNewDefaults( const String& rText, - SfxItemSet* pDefaults, sal_Bool bTakeOwnership = sal_True ); - - /// Paragraph attributes that are not defaults are copied to - /// character attributes and all paragraph attributes reset - void RemoveParaAttribs(); - - /// Re-apply existing defaults if set, same as in SetText, - /// but without EnableUndo/SetUpdateMode. - void RepeatDefaults(); -}; - - -// 1/100 mm -class SC_DLLPUBLIC ScTabEditEngine : public ScEditEngineDefaulter -{ -private: - void Init(const ScPatternAttr& rPattern); -public: - ScTabEditEngine( ScDocument* pDoc ); // Default - ScTabEditEngine( const ScPatternAttr& rPattern, - SfxItemPool* pEnginePool, - SfxItemPool* pTextObjectPool = NULL ); -}; - - -struct ScHeaderFieldData -{ - String aTitle; // title or file name (if no title) - String aLongDocName; // path and file name - String aShortDocName; // pure file name - String aTabName; - Date aDate; - Time aTime; - long nPageNo; - long nTotalPages; - SvxNumType eNumType; - - ScHeaderFieldData(); -}; - - -// for field commands (or just fields?) in a table -class SC_DLLPUBLIC ScFieldEditEngine : public ScEditEngineDefaulter -{ -private: - sal_Bool bExecuteURL; - -public: - ScFieldEditEngine( SfxItemPool* pEnginePool, - SfxItemPool* pTextObjectPool = NULL, - sal_Bool bDeleteEnginePool = false ); - - void SetExecuteURL(sal_Bool bSet) { bExecuteURL = bSet; } - - virtual void FieldClicked( const SvxFieldItem& rField, sal_uInt16, sal_uInt16 ); - virtual String CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rTxtColor, Color*& rFldColor ); -}; - - -// for headers/footers with fields -class SC_DLLPUBLIC ScHeaderEditEngine : public ScEditEngineDefaulter -{ -private: - ScHeaderFieldData aData; - -public: - ScHeaderEditEngine( SfxItemPool* pEnginePool, sal_Bool bDeleteEnginePool = false ); - virtual String CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rTxtColor, Color*& rFldColor ); - - void SetTitle(const String& rNew) { aData.aTitle = rNew; } - void SetLongDocName(const String& rNew) { aData.aLongDocName = rNew; } - void SetShortDocName(const String& rNew) { aData.aShortDocName = rNew; } - void SetTabName(const String& rNew) { aData.aTabName = rNew; } - void SetDate(const Date& rNew) { aData.aDate = rNew; } - void SetTime(const Time& rNew) { aData.aTime = rNew; } - void SetPageNo(long nNew) { aData.nPageNo = nNew; } - void SetTotalPages(long nNew) { aData.nTotalPages = nNew; } - void SetNumType(SvxNumType eNew) { aData.eNumType = eNew; } - void SetData(const ScHeaderFieldData& rNew) { aData = rNew; } -}; - -// for Note text objects. -class ScNoteEditEngine : public ScEditEngineDefaulter -{ - -public: - ScNoteEditEngine( SfxItemPool* pEnginePool, - SfxItemPool* pTextObjectPool = NULL, - sal_Bool bDeleteEnginePool = false ); - -}; - -// SvxFieldData derivations were moved to Svx (comment can be deleted?) - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/eventuno.hxx b/sc/inc/eventuno.hxx deleted file mode 100644 index f40c55604..000000000 --- a/sc/inc/eventuno.hxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_EVENTUNO_HXX -#define SC_EVENTUNO_HXX - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XNameReplace.hpp> -#include <cppuhelper/implbase2.hxx> -#include <svl/lstner.hxx> - -#include "global.hxx" - -class ScDocShell; - -class ScSheetEventsObj : public cppu::WeakImplHelper2< - com::sun::star::container::XNameReplace, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScDocShell* mpDocShell; - SCTAB mnTab; - -public: - ScSheetEventsObj(ScDocShell* pDocSh, SCTAB nT); - virtual ~ScSheetEventsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/externalrefmgr.hxx b/sc/inc/externalrefmgr.hxx deleted file mode 100644 index 7de8232f0..000000000 --- a/sc/inc/externalrefmgr.hxx +++ /dev/null @@ -1,805 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_EXTERNALREFMGR_HXX -#define SC_EXTERNALREFMGR_HXX - -#include "global.hxx" -#include "address.hxx" -#include "sfx2/objsh.hxx" -#include "sfx2/lnkbase.hxx" -#include "tools/time.hxx" -#include "vcl/timer.hxx" -#include "svl/zforlist.hxx" -#include "scmatrix.hxx" -#include "rangelst.hxx" -#include "formula/token.hxx" - -#include <boost/unordered_map.hpp> -#include <boost/unordered_set.hpp> -#include <boost/shared_ptr.hpp> -#include <vector> -#include <list> -#include <set> -#include <formula/ExternalReferenceHelper.hxx> - -class ScDocument; -namespace formula -{ - class FormulaToken; -} -class ScToken; -class ScMatrix; -class ScTokenArray; -class String; -class SfxObjectShellRef; -class Window; -class ScFormulaCell; - -class ScExternalRefCache; - -class ScExternalRefLink : public ::sfx2::SvBaseLink -{ -public: - ScExternalRefLink(ScDocument* pDoc, sal_uInt16 nFileId, const String& rFilter); - virtual ~ScExternalRefLink(); - - virtual void Closed(); - virtual ::sfx2::SvBaseLink::UpdateResult DataChanged( - const String& rMimeType, const ::com::sun::star::uno::Any & rValue); - virtual void Edit(Window* pParent, const Link& rEndEditHdl); - - void SetDoReferesh(bool b); - -private: - ScExternalRefLink(); // disabled - ScExternalRefLink(const ScExternalRefLink&); // disabled - - DECL_LINK( ExternalRefEndEditHdl, ::sfx2::SvBaseLink* ); - - sal_uInt16 mnFileId; - String maFilterName; - ScDocument* mpDoc; - bool mbDoRefresh; -}; - -/** - * Cache table for external reference data. - */ -class ScExternalRefCache -{ -public: - typedef ::formula::FormulaTokenRef TokenRef; - typedef ::boost::shared_ptr<ScTokenArray> TokenArrayRef; - - struct TableName - { - ::rtl::OUString maUpperName; - ::rtl::OUString maRealName; - - explicit TableName(const ::rtl::OUString& rUppper, const ::rtl::OUString& rReal); - }; - - struct CellFormat - { - bool mbIsSet; - short mnType; - sal_uInt32 mnIndex; - - explicit CellFormat(); - }; - -private: - /** individual cell within cached external ref table. */ - struct Cell - { - TokenRef mxToken; - sal_uInt32 mnFmtIndex; - }; - typedef ::boost::unordered_map<SCCOL, Cell> RowDataType; - typedef ::boost::unordered_map<SCROW, RowDataType> RowsDataType; - -public: - // SUNWS needs a forward declared friend, otherwise types and members - // of the outer class are not accessible. - class Table; - friend class ScExternalRefCache::Table; - - /** - * Represents a single cached table in an external document. It only - * stores non-empty cells; empty cells should never be stored in the data - * cache. Instead, cached ranges should be used to determine whether or - * not a cell is empty or needs fetching from the source document. If a - * cell's value is not stored but its address is within the cached ranges, - * that cell is already queried in the source document and we know it's - * empty. - */ - class Table - { - public: - - enum ReferencedFlag - { - UNREFERENCED, - REFERENCED_MARKED, // marked as referenced during store to file - REFERENCED_PERMANENT // permanently marked, e.g. from within interpreter - }; - - Table(); - ~Table(); - - /** - * Add cell value to the cache. - * - * @param bSetCacheRange if true, mark this cell 'cached'. This is - * false _only when_ adding a range of cell - * values, for performance reasons. - */ - SC_DLLPUBLIC void setCell(SCCOL nCol, SCROW nRow, TokenRef pToken, sal_uInt32 nFmtIndex = 0, bool bSetCacheRange = true); - SC_DLLPUBLIC TokenRef getCell(SCCOL nCol, SCROW nRow, sal_uInt32* pnFmtIndex = NULL) const; - bool hasRow( SCROW nRow ) const; - /** Set/clear referenced status flag only if current status is not - REFERENCED_PERMANENT. */ - void setReferenced( bool bReferenced ); - /// Unconditionally set the reference status flag. - void setReferencedFlag( ReferencedFlag eFlag ); - ReferencedFlag getReferencedFlag() const; - bool isReferenced() const; - /// Obtain a sorted vector of rows. - void getAllRows(::std::vector<SCROW>& rRows, SCROW nLow = 0, SCROW nHigh = MAXROW) const; - /// Returns the half-open range of used rows in this table. Returns [0,0) if table is empty. - SC_DLLPUBLIC ::std::pair< SCROW, SCROW > getRowRange() const; - /// Obtain a sorted vector of columns. - void getAllCols(SCROW nRow, ::std::vector<SCCOL>& rCols, SCCOL nLow = 0, SCCOL nHigh = MAXCOL) const; - /// Returns the half-open range of used columns in the specified row. Returns [0,0) if row is empty. - SC_DLLPUBLIC ::std::pair< SCCOL, SCCOL > getColRange( SCROW nRow ) const; - void getAllNumberFormats(::std::vector<sal_uInt32>& rNumFmts) const; - bool isRangeCached(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const; - - void setCachedCell(SCCOL nCol, SCROW nRow); - void setCachedCellRange(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - - /** - * Call this to mark the entire table "cached". This will prevent all - * future attempts to access the source document even when non-cached - * cells are queried. In such case, non-cached cells are treated as - * empty cells. Useful when loading a document with own external data - * cache. - */ - SC_DLLPUBLIC void setWholeTableCached(); - private: - bool isInCachedRanges(SCCOL nCol, SCROW nRow) const; - TokenRef getEmptyOrNullToken(SCCOL nCol, SCROW nRow) const; - - private: - /** Data cache */ - RowsDataType maRows; - /** Collection of individual cached ranges. The table ranges are - * not used & always zero. */ - ScRangeList maCachedRanges; - ReferencedFlag meReferenced; - }; - - typedef ::boost::shared_ptr<Table> TableTypeRef; - typedef ::boost::unordered_map< ::rtl::OUString, size_t, ::rtl::OUStringHash> - TableNameIndexMap; - - ScExternalRefCache(); - ~ScExternalRefCache(); - - const ::rtl::OUString* getRealTableName(sal_uInt16 nFileId, const ::rtl::OUString& rTabName) const; - const ::rtl::OUString* getRealRangeName(sal_uInt16 nFileId, const ::rtl::OUString& rRangeName) const; - - /** - * Get a cached cell data at specified cell location. - * - * @param nFileId file ID of an external document - * @param rTabName sheet name - * @param nCol - * @param nRow - * - * @return pointer to the token instance in the cache. - */ - ScExternalRefCache::TokenRef getCellData( - sal_uInt16 nFileId, const ::rtl::OUString& rTabName, SCCOL nCol, SCROW nRow, sal_uInt32* pnFmtIndex); - - /** - * Get a cached cell range data. - * - * @return a new token array instance. Note that <i>the caller must - * manage the life cycle of the returned instance</i>, which is - * guaranteed if the TokenArrayRef is properly used.. - */ - ScExternalRefCache::TokenArrayRef getCellRangeData( - sal_uInt16 nFileId, const ::rtl::OUString& rTabName, const ScRange& rRange); - - ScExternalRefCache::TokenArrayRef getRangeNameTokens(sal_uInt16 nFileId, const ::rtl::OUString& rName); - void setRangeNameTokens(sal_uInt16 nFileId, const ::rtl::OUString& rName, TokenArrayRef pArray); - - void setCellData(sal_uInt16 nFileId, const ::rtl::OUString& rTabName, - SCCOL nCol, SCROW nRow, TokenRef pToken, sal_uInt32 nFmtIndex); - - struct SingleRangeData - { - /** This name must be in upper-case. */ - ::rtl::OUString maTableName; - ScMatrixRef mpRangeData; - }; - void setCellRangeData(sal_uInt16 nFileId, const ScRange& rRange, const ::std::vector<SingleRangeData>& rData, - const TokenArrayRef& pArray); - - bool isDocInitialized(sal_uInt16 nFileId); - void initializeDoc(sal_uInt16 nFileId, const ::std::vector<rtl::OUString>& rTabNames); - String getTableName(sal_uInt16 nFileId, size_t nCacheId) const; - void getAllTableNames(sal_uInt16 nFileId, ::std::vector<rtl::OUString>& rTabNames) const; - SCsTAB getTabSpan( sal_uInt16 nFileId, const ::rtl::OUString& rStartTabName, const ::rtl::OUString& rEndTabName ) const; - void getAllNumberFormats(::std::vector<sal_uInt32>& rNumFmts) const; - bool hasCacheTable(sal_uInt16 nFileId, const ::rtl::OUString& rTabName) const; - size_t getCacheTableCount(sal_uInt16 nFileId) const; - - /** - * Set all tables of a document as referenced, used only during - * store-to-file. - * @returns <TRUE/> if ALL tables of ALL documents are marked. - */ - bool setCacheDocReferenced( sal_uInt16 nFileId ); - - /** - * Set a table as referenced, used only during store-to-file. - * @returns <TRUE/> if ALL tables of ALL documents are marked. - */ - bool setCacheTableReferenced( sal_uInt16 nFileId, const ::rtl::OUString& rTabName, size_t nSheets, bool bPermanent ); - void setAllCacheTableReferencedStati( bool bReferenced ); - bool areAllCacheTablesReferenced() const; - - /** - * Set a table as permanently referenced, to be called if not in - * mark-during-store-to-file cycle. - */ - void setCacheTableReferencedPermanently( sal_uInt16 nFileId, const ::rtl::OUString& rTabName, size_t nSheets ); - -private: - struct ReferencedStatus - { - struct DocReferenced - { - ::std::vector<bool> maTables; - bool mbAllTablesReferenced; - // Initially, documents have no tables but all referenced. - DocReferenced() : mbAllTablesReferenced(true) {} - }; - typedef ::std::vector<DocReferenced> DocReferencedVec; - - DocReferencedVec maDocs; - bool mbAllReferenced; - - ReferencedStatus(); - void reset( size_t nDocs ); - void checkAllDocs(); - - } maReferenced; - void addCacheTableToReferenced( sal_uInt16 nFileId, size_t nIndex ); - void addCacheDocToReferenced( sal_uInt16 nFileId ); -public: - - ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, size_t nTabIndex) const; - ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, const ::rtl::OUString& rTabName, bool bCreateNew, size_t* pnIndex); - - void clearCache(sal_uInt16 nFileId); - -private: - struct RangeHash - { - size_t operator()(const ScRange& rRange) const - { - const ScAddress& s = rRange.aStart; - const ScAddress& e = rRange.aEnd; - return s.Tab() + s.Col() + s.Row() + e.Tab() + e.Col() + e.Row(); - } - }; - - typedef ::boost::unordered_map<rtl::OUString, TokenArrayRef, rtl::OUStringHash> RangeNameMap; - typedef ::boost::unordered_map<ScRange, TokenArrayRef, RangeHash> RangeArrayMap; - typedef ::boost::unordered_map<rtl::OUString, rtl::OUString, rtl::OUStringHash> NamePairMap; - - // SUNWS needs a forward declared friend, otherwise types and members - // of the outer class are not accessible. - struct DocItem; - friend struct ScExternalRefCache::DocItem; - - /** Represents data cached for a single external document. */ - struct DocItem - { - /** The raw cache tables. */ - ::std::vector<TableTypeRef> maTables; - /** Table name list in correct order, in both upper- and real-case. */ - ::std::vector<TableName> maTableNames; - /** Table name to index map. The names must be stored upper-case. */ - TableNameIndexMap maTableNameIndex; - /** Range name cache. */ - RangeNameMap maRangeNames; - /** Token array cache for cell ranges. */ - RangeArrayMap maRangeArrays; - /** Upper- to real-case mapping for range names. */ - NamePairMap maRealRangeNameMap; - - bool mbInitFromSource; - - DocItem() : mbInitFromSource(false) {} - }; - typedef ::boost::unordered_map<sal_uInt16, DocItem> DocDataType; - DocItem* getDocItem(sal_uInt16 nFileId) const; - -private: - mutable DocDataType maDocs; -}; - -class SC_DLLPUBLIC ScExternalRefManager : public formula::ExternalReferenceHelper -{ -public: - - typedef ::std::set<ScFormulaCell*> RefCellSet; - typedef ::boost::unordered_map<sal_uInt16, RefCellSet> RefCellMap; - - enum LinkUpdateType { LINK_MODIFIED, LINK_BROKEN }; - - /** - * Base class for objects that need to listen to link updates. When a - * link to a certain external file is updated, the notify() method gets - * called. - */ - class LinkListener - { - public: - LinkListener(); - virtual ~LinkListener() = 0; - virtual void notify(sal_uInt16 nFileId, LinkUpdateType eType) = 0; - - struct Hash - { - size_t operator() (const LinkListener* p) const - { - return reinterpret_cast<size_t>(p); - } - }; - }; - - /** - * Use this guard when performing something from the API that might query - * values from external references. Interpreting formula strings is one - * such example. - */ - class ApiGuard - { - public: - ApiGuard(ScDocument* pDoc); - ~ApiGuard(); - private: - ScExternalRefManager* mpMgr; - bool mbOldInteractionEnabled; - }; - -private: - /** Shell instance for a source document. */ - struct SrcShell - { - SfxObjectShellRef maShell; - Time maLastAccess; - }; - - typedef ::boost::unordered_map<sal_uInt16, SrcShell> DocShellMap; - typedef ::boost::unordered_map<sal_uInt16, bool> LinkedDocMap; - - typedef ::boost::unordered_map<sal_uInt16, SvNumberFormatterMergeMap> NumFmtMap; - - - typedef ::boost::unordered_set<LinkListener*, LinkListener::Hash> LinkListeners; - typedef ::boost::unordered_map<sal_uInt16, LinkListeners> LinkListenerMap; - -public: - /** Source document meta-data container. */ - struct SrcFileData - { - ::rtl::OUString maFileName; /// original file name as loaded from the file. - ::rtl::OUString maRealFileName; /// file name created from the relative name. - ::rtl::OUString maRelativeName; - ::rtl::OUString maFilterName; - ::rtl::OUString maFilterOptions; - - void maybeCreateRealFileName(const String& rOwnDocName); - }; - -public: - explicit ScExternalRefManager(ScDocument* pDoc); - virtual ~ScExternalRefManager(); - - virtual ::rtl::OUString getCacheTableName(sal_uInt16 nFileId, size_t nTabIndex) const; - - /** - * Get a cache table instance for specified table and table index. Unlike - * the other method that takes a table name, this method does not create a - * new table when a table is not available for specified index. - * - * @param nFileId file ID - * @param nTabIndex cache table index - * - * @return shared_ptr to the cache table instance - */ - ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, size_t nTabIndex) const; - - /** - * Get a cache table instance for specified file and table name. If the - * table instance is not already present, it'll instantiate a new one and - * append it to the end of the table array. <I>It's important to be - * aware of this fact especially for multi-table ranges for which - * table orders are critical.</I> - * - * Excel filter calls this method to populate the cache table from the - * XCT/CRN records. - * - * @param nFileId file ID - * @param rTabName table name - * @param bCreateNew if true, create a new table instance if it's not - * already present. If false, it returns NULL if the - * specified table's cache doesn't exist. - * @param pnIndex if non-NULL pointer is passed, it stores the internal - * index of a cache table instance. - * - * @return shared_ptr to the cache table instance - */ - ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, const ::rtl::OUString& rTabName, bool bCreateNew, size_t* pnIndex = 0); - - /** Returns a vector containing all (real) table names and cache tables of - the specified file. - - The index in the returned vector corresponds to the table index used to - access the cache table, e.g. in getCacheTable(). - */ - void getAllCachedTableNames(sal_uInt16 nFileId, ::std::vector<rtl::OUString>& rTabNames) const; - - /** - * Get the span (distance+sign(distance)) of two sheets of a specified - * file. - * - * @param nFileId file ID - * @param rStartTabName name of first sheet (sheet1) - * @param rEndTabName name of second sheet (sheet2) - * - * @return span - * 1 if sheet2 == sheet1 - * > 1 if sheet2 > sheet1 - * < -1 if sheet2 < sheet1 - * -1 if nFileId or rStartTabName not found - * 0 if rEndTabName not found - */ - SCsTAB getCachedTabSpan( - sal_uInt16 nFileId, const ::rtl::OUString& rStartTabName, const ::rtl::OUString& rEndTabName) const; - - /** - * Get all unique number format indices that are used in the cache tables. - * The retrieved indices are sorted in ascending order. - * - * @param rNumFmts (reference) all unique number format indices. - */ - void getAllCachedNumberFormats(::std::vector<sal_uInt32>& rNumFmts) const; - - bool hasCacheTable(sal_uInt16 nFileId, const ::rtl::OUString& rTabName) const; - size_t getCacheTableCount(sal_uInt16 nFileId) const; - sal_uInt16 getExternalFileCount() const; - - /** - * Mark all tables as referenced that are used by any LinkListener, used - * only during store-to-file. - * @returns <TRUE/> if ALL tables of ALL external documents are marked. - */ - bool markUsedByLinkListeners(); - - bool markUsedExternalRefCells(); - - /** - * Set a table as referenced, used only during store-to-file. - * @returns <TRUE/> if ALL tables of ALL external documents are marked. - */ - bool setCacheTableReferenced( sal_uInt16 nFileId, const ::rtl::OUString& rTabName, size_t nSheets ); - void setAllCacheTableReferencedStati( bool bReferenced ); - - /** - * Set a table as permanently referenced, to be called if not in - * mark-during-store-to-file cycle. - */ - void setCacheTableReferencedPermanently( sal_uInt16 nFileId, const ::rtl::OUString& rTabName, size_t nSheets ); - - /** - * @returns <TRUE/> if setAllCacheTableReferencedStati(false) was called, - * <FALSE/> if setAllCacheTableReferencedStati(true) was called. - */ - bool isInReferenceMarking() const { return mbInReferenceMarking; } - - void storeRangeNameTokens(sal_uInt16 nFileId, const ::rtl::OUString& rName, const ScTokenArray& rArray); - - ScExternalRefCache::TokenRef getSingleRefToken( - sal_uInt16 nFileId, const ::rtl::OUString& rTabName, const ScAddress& rCell, - const ScAddress* pCurPos, SCTAB* pTab, ScExternalRefCache::CellFormat* pFmt = NULL); - - /** - * Get an array of tokens that consist of the specified external cell - * range. - * - * @param nFileId file ID for an external document - * @param rTabName referenced sheet name - * @param rRange referenced cell range - * @param pCurPos current cursor position to keep track of cells that - * reference an external data. - * - * @return shared_ptr to a token array instance. <i>The caller must not - * delete the instance returned by this method.</i> - */ - ScExternalRefCache::TokenArrayRef getDoubleRefTokens( - sal_uInt16 nFileId, const ::rtl::OUString& rTabName, const ScRange& rRange, const ScAddress* pCurPos); - - /** - * Get an array of tokens corresponding with a specified name in a - * specified file. - * - * @param pCurPos currnet cell address where this name token is used. - * This is purely to keep track of all cells containing - * external names for refreshing purposes. If this is - * NULL, then the cell will not be added to the list. - * - * @return shared_ptr to array of tokens composing the name - */ - ScExternalRefCache::TokenArrayRef getRangeNameTokens( - sal_uInt16 nFileId, const ::rtl::OUString& rName, const ScAddress* pCurPos = NULL); - - ::rtl::OUString getOwnDocumentName() const; - bool isOwnDocument(const ::rtl::OUString& rFile) const; - - /** - * Takes a flat file name, and convert it to an absolute URL path. An - * absolute URL path begines with 'file:///. - * - * @param rFile file name to convert - */ - void convertToAbsName(::rtl::OUString& rFile) const; - sal_uInt16 getExternalFileId(const ::rtl::OUString& rFile); - - /** - * It returns a pointer to the name of the URI associated with a given - * external file ID. In case the original document has moved, it returns - * an URI adjusted for the relocation. - * - * @param nFileId file ID for an external document - * @param bForceOriginal If true, it always returns the original document - * URI even if the referring document has relocated. - * If false, it returns an URI adjusted for - * relocated document. - * - * @return const String* external document URI. - */ - const ::rtl::OUString* getExternalFileName(sal_uInt16 nFileId, bool bForceOriginal = false); - bool hasExternalFile(sal_uInt16 nFileId) const; - bool hasExternalFile(const ::rtl::OUString& rFile) const; - const SrcFileData* getExternalFileData(sal_uInt16 nFileId) const; - - const ::rtl::OUString* getRealTableName(sal_uInt16 nFileId, const ::rtl::OUString& rTabName) const; - const ::rtl::OUString* getRealRangeName(sal_uInt16 nFileId, const ::rtl::OUString& rRangeName) const; - void refreshNames(sal_uInt16 nFileId); - void breakLink(sal_uInt16 nFileId); - void switchSrcFile(sal_uInt16 nFileId, const ::rtl::OUString& rNewFile, const ::rtl::OUString& rNewFilter); - - /** - * Set a relative file path for the specified file ID. Note that the - * caller must ensure that the passed URL is a valid relative URL. - * - * @param nFileId file ID for an external document - * @param rRelUrl relative URL - */ - void setRelativeFileName(sal_uInt16 nFileId, const ::rtl::OUString& rRelUrl); - - /** - * Set the filter name and options if any for a given source document. - * These values get reset when the source document ever gets reloaded. - * - * @param nFileId - * @param rFilterName - * @param rOptions - */ - void setFilterData(sal_uInt16 nFileId, const ::rtl::OUString& rFilterName, const ::rtl::OUString& rOptions); - - void clear(); - - bool hasExternalData() const; - - /** - * Re-generates relative names for all stored source files. This is - * necessary when exporting to an ods document, to ensure that all source - * files have their respective relative names for xlink:href export. - * - * @param rBaseFileUrl Absolute URL of the content.xml fragment of the - * document being exported. - */ - void resetSrcFileData(const ::rtl::OUString& rBaseFileUrl); - - /** - * Stop tracking a specific formula cell. - * - * @param pCell pointer to cell that formerly contained external - * reference. - */ - void removeRefCell(ScFormulaCell* pCell); - - /** - * Register a new link listener to a specified external document. Note - * that the caller is responsible for managing the life cycle of the - * listener object. - */ - void addLinkListener(sal_uInt16 nFileId, LinkListener* pListener); - - /** - * Remove an existing link listener. Note that removing a listener - * pointer here does not delete the listener object instance. - */ - void removeLinkListener(sal_uInt16 nFileId, LinkListener* pListener); - - void removeLinkListener(LinkListener* pListener); - - /** - * Notify all listeners that are listening to a specified external - * document. - * - * @param nFileId file ID for an external document. - */ - void notifyAllLinkListeners(sal_uInt16 nFileId, LinkUpdateType eType); - - /** - * Check if the file specified by the path is a legitimate file that - * exists & can be loaded. - */ - bool isFileLoadable(const ::rtl::OUString& rFile) const; - -private: - ScExternalRefManager(); - ScExternalRefManager(const ScExternalRefManager&); - - void refreshAllRefCells(sal_uInt16 nFileId); - - void insertRefCell(sal_uInt16 nFileId, const ScAddress& rCell); - - void fillCellFormat(sal_uInt32 nFmtIndex, ScExternalRefCache::CellFormat* pFmt) const; - - ScExternalRefCache::TokenRef getSingleRefTokenFromSrcDoc( - sal_uInt16 nFileId, const ScDocument* pSrcDoc, const ScAddress& rCell, - ScExternalRefCache::CellFormat* pFmt); - - /** - * Retrieve a range token array from a source document instance. - * - * @param pSrcDoc pointer to the source document instance. - * @param rTabName name of the first table. - * @param rRange range specified. Upon successful retrieval, this range - * gets modified to contain the correct table IDs, and in - * case the range is larger than the data area of the source - * document, it gets reduced to the data area. - * @param rCacheData an array of structs, with each struct containing the - * table name and the data in the specified range. - * - * @return range token array - */ - ScExternalRefCache::TokenArrayRef getDoubleRefTokensFromSrcDoc( - const ScDocument* pSrcDoc, const ::rtl::OUString& rTabName, ScRange& rRange, - ::std::vector<ScExternalRefCache::SingleRangeData>& rCacheData); - - /** - * Retrieve range name token array from a source document instance. - * - * @param nFileId file ID of the source document. - * @param pSrcDoc pointer to the source document instance - * @param rName range name to retrieve. Note that the range name lookup - * is case <i>in</i>-sensitive, and upon successful retrieval - * of the range name array, this name gets updated to the - * actual range name with the correct casing. - * - * @return range name token array - */ - ScExternalRefCache::TokenArrayRef getRangeNameTokensFromSrcDoc( - sal_uInt16 nFileId, const ScDocument* pSrcDoc, ::rtl::OUString& rName); - - const ScDocument* getInMemorySrcDocument(sal_uInt16 nFileId); - const ScDocument* getSrcDocument(sal_uInt16 nFileId); - SfxObjectShellRef loadSrcDocument(sal_uInt16 nFileId, ::rtl::OUString& rFilter); - - void maybeLinkExternalFile(sal_uInt16 nFileId); - - /** - * Try to create a "real" file name from the relative path. The original - * file name may not point to the real document when the referencing and - * referenced documents have been moved. - * - * For the real file name to be created, the relative name should not be - * empty before calling this method, or the real file name will not be - * created. - * - * @param nFileId file ID for an external document - */ - void maybeCreateRealFileName(sal_uInt16 nFileId); - - /** - * Purge those source document instances that have not been accessed for - * the specified duration. - * - * @param nTimeOut time out value in 100th of a second - */ - void purgeStaleSrcDocument(sal_Int32 nTimeOut); - - sal_uInt32 getMappedNumberFormat(sal_uInt16 nFileId, sal_uInt32 nNumFmt, const ScDocument* pSrcDoc); - -private: - /** cache of referenced ranges and names from source documents. */ - ScExternalRefCache maRefCache; - - ScDocument* mpDoc; - - /** - * Source document cache. This stores the original source document shell - * instances. They get purged after a certain period of time. - */ - DocShellMap maDocShells; - - /** list of source documents that are managed by the link manager. */ - LinkedDocMap maLinkedDocs; - - /** - * List of referencing cells that may contain external names. There is - * one list per source document. - */ - RefCellMap maRefCells; - - LinkListenerMap maLinkListeners; - - NumFmtMap maNumFormatMap; - - /** original source file index. */ - ::std::vector<SrcFileData> maSrcFiles; - - /** Status whether in reference marking state. See isInReferenceMarking(). */ - bool mbInReferenceMarking:1; - - /** - * Controls whether or not to allow user interaction. We don't want any - * user interaction when calling from the API. - */ - bool mbUserInteractionEnabled:1; - - AutoTimer maSrcDocTimer; - DECL_LINK(TimeOutHdl, AutoTimer*); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/fielduno.hxx b/sc/inc/fielduno.hxx deleted file mode 100644 index 8e394237e..000000000 --- a/sc/inc/fielduno.hxx +++ /dev/null @@ -1,453 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FIELDUNO_HXX -#define SC_FIELDUNO_HXX - -#include "address.hxx" -#include "mutexhlp.hxx" - -#include <svl/lstner.hxx> -#include <svl/itemprop.hxx> -#include <editeng/editdata.hxx> -#include <com/sun/star/text/XTextField.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XContainer.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/util/XRefreshable.hpp> -#include <cppuhelper/component.hxx> -#include <cppuhelper/implbase5.hxx> -#include <osl/mutex.hxx> - -class SvxEditSource; -class SvxFieldItem; -class ScCellFieldObj; -class ScHeaderFieldObj; -class ScHeaderFooterContentObj; -class ScDocShell; - - -class ScCellFieldsObj : public cppu::WeakImplHelper5< - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::container::XContainer, - com::sun::star::util::XRefreshable, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScAddress aCellPos; - SvxEditSource* pEditSource; - /// List of refresh listeners. - cppu::OInterfaceContainerHelper* mpRefreshListeners; - /// mutex to lock the InterfaceContainerHelper - osl::Mutex aMutex; - - ScCellFieldObj* GetObjectByIndex_Impl(sal_Int32 Index) const; - -public: - ScCellFieldsObj(ScDocShell* pDocSh, const ScAddress& rPos); - virtual ~ScCellFieldsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XContainer - virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::container::XContainerListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::container::XContainerListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh( ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScCellFieldObj : public ScMutexHelper, - public ::cppu::OComponentHelper, - public ::com::sun::star::text::XTextField, - public ::com::sun::star::beans::XPropertySet, - public ::com::sun::star::lang::XUnoTunnel, - public ::com::sun::star::lang::XServiceInfo, - public SfxListener -{ -private: - const SfxItemPropertySet* pPropSet; - ScDocShell* pDocShell; - ScAddress aCellPos; - SvxEditSource* pEditSource; - ESelection aSelection; - - String aUrl; // content, only iff not already inserted - String aRepresentation; - String aTarget; - - ScCellFieldObj(); // disabled -public: - ScCellFieldObj(ScDocShell* pDocSh, const ScAddress& rPos, - const ESelection& rSel); - virtual ~ScCellFieldObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // called by getImplementation: - void DeleteField(); - sal_Bool IsInserted() const { return pEditSource != NULL; } - SvxFieldItem CreateFieldItem(); - void InitDoc( ScDocShell* pDocSh, const ScAddress& rPos, - const ESelection& rSel ); - - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XTextField - virtual ::rtl::OUString SAL_CALL getPresentation( sal_Bool bShowCommand ) - throw(::com::sun::star::uno::RuntimeException); - - // XTextContent - virtual void SAL_CALL attach( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xTextRange ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getAnchor() throw(::com::sun::star::uno::RuntimeException); - - // XComponent - virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScCellFieldObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::text::XTextContent> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - -//------------------------------------------------------------------ - -class ScHeaderFieldsObj : public cppu::WeakImplHelper5< - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::container::XContainer, - com::sun::star::util::XRefreshable, - com::sun::star::lang::XServiceInfo > -{ -private: - ScHeaderFooterContentObj* pContentObj; - sal_uInt16 nPart; - sal_uInt16 nType; - SvxEditSource* pEditSource; - - /// List of refresh listeners. - cppu::OInterfaceContainerHelper* mpRefreshListeners; - /// mutex to lock the InterfaceContainerHelper - osl::Mutex aMutex; - - ScHeaderFieldObj* GetObjectByIndex_Impl(sal_Int32 Index) const; - -public: - ScHeaderFieldsObj(ScHeaderFooterContentObj* pContent, - sal_uInt16 nP, sal_uInt16 nT); - virtual ~ScHeaderFieldsObj(); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XContainer - virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::container::XContainerListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::container::XContainerListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh( ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScHeaderFieldObj : public ScMutexHelper, - public ::cppu::OComponentHelper, - public ::com::sun::star::text::XTextField, - public ::com::sun::star::beans::XPropertySet, - public ::com::sun::star::lang::XUnoTunnel, - public ::com::sun::star::lang::XServiceInfo -{ -private: - const SfxItemPropertySet* pPropSet; - ScHeaderFooterContentObj* pContentObj; - sal_uInt16 nPart; - sal_uInt16 nType; - SvxEditSource* pEditSource; - ESelection aSelection; - sal_Int16 nFileFormat; // enum SvxFileFormat, valid if not inserted - - ScHeaderFieldObj(); // disabled -public: - ScHeaderFieldObj(ScHeaderFooterContentObj* pContent, sal_uInt16 nP, - sal_uInt16 nT, const ESelection& rSel); - virtual ~ScHeaderFieldObj(); - - // called by getImplementation: - void DeleteField(); - sal_Bool IsInserted() const { return pEditSource != NULL; } - SvxFieldItem CreateFieldItem(); - void InitDoc( ScHeaderFooterContentObj* pContent, sal_uInt16 nP, - const ESelection& rSel ); - - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XTextField - virtual ::rtl::OUString SAL_CALL getPresentation( sal_Bool bShowCommand ) - throw(::com::sun::star::uno::RuntimeException); - - // XTextContent - virtual void SAL_CALL attach( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xTextRange ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getAnchor() throw(::com::sun::star::uno::RuntimeException); - - // XComponent - virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScHeaderFieldObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::text::XTextContent> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/fillinfo.hxx b/sc/inc/fillinfo.hxx deleted file mode 100644 index c7c3aa729..000000000 --- a/sc/inc/fillinfo.hxx +++ /dev/null @@ -1,145 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FILLINFO_HXX -#define SC_FILLINFO_HXX - -#include <svx/framelinkarray.hxx> -#include "global.hxx" - -class SfxItemSet; -class SvxBrushItem; -class SvxBoxItem; -class SvxLineItem; -class SvxShadowItem; - -class ScBaseCell; -class ScPatternAttr; - -const sal_uInt8 SC_ROTDIR_NONE = 0; -const sal_uInt8 SC_ROTDIR_STANDARD = 1; -const sal_uInt8 SC_ROTDIR_LEFT = 2; -const sal_uInt8 SC_ROTDIR_RIGHT = 3; -const sal_uInt8 SC_ROTDIR_CENTER = 4; - -const sal_uInt8 SC_CLIPMARK_NONE = 0; -const sal_uInt8 SC_CLIPMARK_LEFT = 1; -const sal_uInt8 SC_CLIPMARK_RIGHT = 2; -const sal_uInt8 SC_CLIPMARK_SIZE = 64; - -enum ScShadowPart -{ - SC_SHADOW_HSTART, - SC_SHADOW_VSTART, - SC_SHADOW_HORIZ, - SC_SHADOW_VERT, - SC_SHADOW_CORNER -}; - -struct CellInfo -{ - ScBaseCell* pCell; - - const ScPatternAttr* pPatternAttr; - const SfxItemSet* pConditionSet; - - const SvxBrushItem* pBackground; - - const SvxBoxItem* pLinesAttr; /// original item from document. - const SvxLineItem* mpTLBRLine; /// original item from document. - const SvxLineItem* mpBLTRLine; /// original item from document. - - const SvxShadowItem* pShadowAttr; // original item (internal) - - const SvxShadowItem* pHShadowOrigin; - const SvxShadowItem* pVShadowOrigin; - - ScShadowPart eHShadowPart : 4; // shadow effective for drawing - ScShadowPart eVShadowPart : 4; - sal_uInt8 nClipMark; - sal_uInt16 nWidth; - sal_uInt8 nRotateDir; - - sal_Bool bMarked : 1; - sal_Bool bEmptyCellText : 1; - - sal_Bool bMerged : 1; - sal_Bool bHOverlapped : 1; - sal_Bool bVOverlapped : 1; - sal_Bool bAutoFilter : 1; - sal_Bool bPushButton : 1; - bool bPopupButton: 1; - bool bFilterActive:1; - - sal_Bool bPrinted : 1; // when required (pagebreak mode) - - sal_Bool bHideGrid : 1; // output-internal - sal_Bool bEditEngine : 1; // output-internal -}; - -const SCCOL SC_ROTMAX_NONE = SCCOL_MAX; - -struct RowInfo -{ - CellInfo* pCellInfo; - - sal_uInt16 nHeight; - SCROW nRowNo; - SCCOL nRotMaxCol; // SC_ROTMAX_NONE, if nothing - - sal_Bool bEmptyBack; - sal_Bool bEmptyText; - sal_Bool bAutoFilter; - sal_Bool bPushButton; - sal_Bool bChanged; // TRUE, if not tested - - inline explicit RowInfo() : pCellInfo( 0 ) {} - -private: - RowInfo( const RowInfo& ); - RowInfo& operator=( const RowInfo& ); -}; - -struct ScTableInfo -{ - svx::frame::Array maArray; - RowInfo* mpRowInfo; - sal_uInt16 mnArrCount; - bool mbPageMode; - - explicit ScTableInfo(); - ~ScTableInfo(); - -private: - ScTableInfo( const ScTableInfo& ); - ScTableInfo& operator=( const ScTableInfo& ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/filter.hxx b/sc/inc/filter.hxx deleted file mode 100644 index 72c5ea56c..000000000 --- a/sc/inc/filter.hxx +++ /dev/null @@ -1,143 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FILTER_HXX -#define SC_FILTER_HXX - -#include <tools/string.hxx> -#include <rtl/textenc.h> - -#define ENABLE_LOTUS123_EXPORT 0 - -class SfxMedium; -class SvStream; - -class ScAddress; -class ScDocument; -class ScRange; -class SvNumberFormatter; - -// return values im-/export filter (sal_uLong) - -typedef sal_uLong FltError; - -#define eERR_OK ERRCODE_NONE // no error -#define eERR_OPEN SCERR_IMPORT_OPEN // ... -#define eERR_UNBEK SCERR_IMPORT_UNKNOWN // unknown error, historical meaning -#define eERR_NOMEM SCERR_IMPORT_OUTOFMEM // out of memory -#define eERR_UNKN_WK SCERR_IMPORT_UNKNOWN_WK // unknown WK? format (Lotus 1-2-3) -#define eERR_FORMAT SCERR_IMPORT_FORMAT // format error during reading (no formula error!) -#define eERR_NI SCERR_IMPORT_NI // filter not implemented -#define eERR_UNKN_BIFF SCERR_IMPORT_UNKNOWN_BIFF // unknown BIFF format (Excel) -#define eERR_NI_BIFF SCERR_IMPORT_NI_BIFF // not implemented BIFF format -#define eERR_FILEPASSWD SCERR_IMPORT_FILEPASSWD // file password protected -#define eERR_INTERN SCERR_IMPORT_INTERNAL // internal error -#define eERR_RNGOVRFLW SCWARN_IMPORT_RANGE_OVERFLOW// overflow of cell coordinates - // table restricted to valid area (?) -// more error codes: s. scerrors.hxx - -// for import -enum EXCIMPFORMAT { EIF_AUTO, EIF_BIFF5, EIF_BIFF8, EIF_BIFF_LE4 }; - -// for export -enum ExportFormatLotus { ExpWK1, ExpWK3, ExpWK4 }; -enum ExportFormatExcel { ExpBiff2, ExpBiff3, ExpBiff4, ExpBiff4W, ExpBiff5, ExpBiff8, Exp2007Xml }; - - -// options for DIF im-/export (combine with '|') -#define SC_DIFOPT_PLAIN 0x00000000 -#define SC_DIFOPT_DATE 0x00000001 -#define SC_DIFOPT_TIME 0x00000002 -#define SC_DIFOPT_CURRENCY 0x00000004 - -#define SC_DIFOPT_EXCEL (SC_DIFOPT_DATE|SC_DIFOPT_TIME|SC_DIFOPT_CURRENCY) - -// These are implemented inside the scfilt library and lazy loaded - -class ScRTFImport; -class ScHTMLImport; - -class ScEEAbsImport { - public: - virtual ~ScEEAbsImport() {} - virtual sal_uLong Read( SvStream& rStream, const String& rBaseURL ) = 0; - virtual ScRange GetRange() = 0; - virtual void WriteToDocument( - sal_Bool bSizeColsRows = false, double nOutputFactor = 1.0, - SvNumberFormatter* pFormatter = NULL, bool bConvertDate = true ) = 0; -}; - -class ScFormatFilterPlugin { - public: - // various import filters - virtual FltError ScImportLotus123( SfxMedium&, ScDocument*, CharSet eSrc = RTL_TEXTENCODING_DONTKNOW ) = 0; - virtual FltError ScImportQuattroPro( SfxMedium &rMedium, ScDocument *pDoc ) = 0; - virtual FltError ScImportExcel( SfxMedium&, ScDocument*, const EXCIMPFORMAT ) = 0; - // eFormat == EIF_AUTO -> matching filter is used automatically - // eFormat == EIF_BIFF5 -> only Biff5 stream is read sucessfully (in an Excel97 doc, too) - // eFormat == EIF_BIFF8 -> only Biff8 stream is read sucessfully (only in Excel97 docs) - // eFormat == EIF_BIFF_LE4 -> only non storage files _might_ be read sucessfully - virtual FltError ScImportStarCalc10( SvStream&, ScDocument* ) = 0; - virtual FltError ScImportDif( SvStream&, ScDocument*, const ScAddress& rInsPos, - const CharSet eSrc = RTL_TEXTENCODING_DONTKNOW, sal_uInt32 nDifOption = SC_DIFOPT_EXCEL ) = 0; - virtual FltError ScImportRTF( SvStream&, const String& rBaseURL, ScDocument*, ScRange& rRange ) = 0; - virtual FltError ScImportHTML( SvStream&, const String& rBaseURL, ScDocument*, ScRange& rRange, double nOutputFactor = 1.0, - sal_Bool bCalcWidthHeight = sal_True, SvNumberFormatter* pFormatter = NULL, bool bConvertDate = true ) = 0; - - // various import helpers - virtual ScEEAbsImport *CreateRTFImport( ScDocument* pDoc, const ScRange& rRange ) = 0; - virtual ScEEAbsImport *CreateHTMLImport( ScDocument* pDocP, const String& rBaseURL, const ScRange& rRange, sal_Bool bCalcWidthHeight ) = 0; - virtual String GetHTMLRangeNameList( ScDocument* pDoc, const String& rOrigName ) = 0; - - // various export filters -#if ENABLE_LOTUS123_EXPORT - virtual FltError ScExportLotus123( SvStream&, ScDocument*, ExportFormatLotus, CharSet eDest ) = 0; -#endif - virtual FltError ScExportExcel5( SfxMedium&, ScDocument*, ExportFormatExcel eFormat, CharSet eDest ) = 0; - virtual FltError ScExportDif( SvStream&, ScDocument*, const ScAddress& rOutPos, const CharSet eDest, - sal_uInt32 nDifOption = SC_DIFOPT_EXCEL ) = 0; - virtual FltError ScExportDif( SvStream&, ScDocument*, const ScRange& rRange, const CharSet eDest, - sal_uInt32 nDifOption = SC_DIFOPT_EXCEL ) = 0; - virtual FltError ScExportHTML( SvStream&, const String& rBaseURL, ScDocument*, const ScRange& rRange, const CharSet eDest, sal_Bool bAll, - const String& rStreamPath, String& rNonConvertibleChars ) = 0; - virtual FltError ScExportRTF( SvStream&, ScDocument*, const ScRange& rRange, const CharSet eDest ) = 0; -}; - -// scfilt plugin symbol -extern "C" { - SAL_DLLPUBLIC_EXPORT ScFormatFilterPlugin * SAL_CALL ScFilterCreate(void); -} - -class ScFormatFilter { - public: - static ScFormatFilterPlugin &Get(); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/filtopt.hxx b/sc/inc/filtopt.hxx deleted file mode 100644 index 7b2c111cc..000000000 --- a/sc/inc/filtopt.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FILTOPT_HXX -#define SC_FILTOPT_HXX - -#include <unotools/configitem.hxx> -#include <tools/solar.h> -#include "scdllapi.h" - -//================================================================== -// filter options -//================================================================== - -class SC_DLLPUBLIC ScFilterOptions : public utl::ConfigItem -{ - sal_Bool bWK3Flag; - double fExcelColScale; - double fExcelRowScale; - - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - ScFilterOptions(); - - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames ); - virtual void Commit(); - - sal_Bool GetWK3Flag() const { return bWK3Flag; } - double GetExcelColScale() const { return fExcelColScale; } - double GetExcelRowScale() const { return fExcelRowScale; } - - // values are never modified by office -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/filtuno.hxx b/sc/inc/filtuno.hxx deleted file mode 100644 index 6f7c84168..000000000 --- a/sc/inc/filtuno.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FILTUNO_HXX -#define SC_FILTUNO_HXX - -#include <com/sun/star/beans/XPropertyAccess.hpp> -#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> -#include <com/sun/star/document/XImporter.hpp> -#include <com/sun/star/document/XExporter.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/implbase5.hxx> -#include "scdllapi.h" - -namespace com { namespace sun { namespace star { namespace io { - class XInputStream; -} } } } - - -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - ScFilterOptionsObj_CreateInstance( - const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory >& ); - - -class ScFilterOptionsObj : public ::cppu::WeakImplHelper5< - ::com::sun::star::beans::XPropertyAccess, - ::com::sun::star::ui::dialogs::XExecutableDialog, - ::com::sun::star::document::XImporter, - ::com::sun::star::document::XExporter, - ::com::sun::star::lang::XServiceInfo > -{ -private: - ::rtl::OUString aFileName; - ::rtl::OUString aFilterName; - ::rtl::OUString aFilterOptions; - ::com::sun::star::uno::Reference< - ::com::sun::star::io::XInputStream > xInputStream; - sal_Bool bExport; - -public: - ScFilterOptionsObj(); - virtual ~ScFilterOptionsObj(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString> getSupportedServiceNames_Static(); - - // XPropertyAccess - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > - SAL_CALL getPropertyValues() throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aProps ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XExecutableDialog - virtual void SAL_CALL setTitle( const ::rtl::OUString& aTitle ) - throw (::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL execute() throw (::com::sun::star::uno::RuntimeException); - - // XImporter - virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XComponent >& xDoc ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XExporter - virtual void SAL_CALL setSourceDocument( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XComponent >& xDoc ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/fmtuno.hxx b/sc/inc/fmtuno.hxx deleted file mode 100644 index dae926a84..000000000 --- a/sc/inc/fmtuno.hxx +++ /dev/null @@ -1,341 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FMTUNO_HXX -#define SC_FMTUNO_HXX - -#include <vector> - -#include <formula/grammar.hxx> -#include <svl/itemprop.hxx> -#include <com/sun/star/sheet/XSheetConditionalEntries.hpp> -#include <com/sun/star/sheet/XSheetCondition.hpp> -#include <com/sun/star/sheet/XSheetCondition2.hpp> -#include <com/sun/star/sheet/XSheetConditionalEntry.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> - -#include <com/sun/star/sheet/XMultiFormulaTokens.hpp> -#include <com/sun/star/sheet/FormulaToken.hpp> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> -#include <com/sun/star/sheet/ConditionOperator2.hpp> - -#include "address.hxx" -#include "conditio.hxx" - -class ScDocument; -class ScTableConditionalEntry; -class ScConditionalFormat; -class ScValidationData; - - -struct ScCondFormatEntryItem -{ - ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > maTokens1; - ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > maTokens2; - String maExpr1; - String maExpr2; - String maExprNmsp1; - String maExprNmsp2; - String maPosStr; // formula position as text - String maStyle; // display name as stored in ScStyleSheet - ScAddress maPos; - formula::FormulaGrammar::Grammar meGrammar1; // grammar used with maExpr1 - formula::FormulaGrammar::Grammar meGrammar2; // grammar used with maExpr2 - ScConditionMode meMode; - - // Make sure the grammar is initialized for API calls. - ScCondFormatEntryItem(); -}; - -class ScTableConditionalFormat : public cppu::WeakImplHelper5< - com::sun::star::sheet::XSheetConditionalEntries, - com::sun::star::container::XNameAccess, - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XUnoTunnel, - com::sun::star::lang::XServiceInfo > -{ -private: - std::vector<ScTableConditionalEntry*> aEntries; - - ScTableConditionalEntry* GetObjectByIndex_Impl(sal_uInt16 nIndex) const; - void AddEntry_Impl(const ScCondFormatEntryItem& aEntry); - - ScTableConditionalFormat(); // disable -public: - ScTableConditionalFormat(ScDocument* pDoc, sal_uLong nKey, - formula::FormulaGrammar::Grammar eGrammar); - virtual ~ScTableConditionalFormat(); - - void FillFormat( ScConditionalFormat& rFormat, ScDocument* pDoc, - formula::FormulaGrammar::Grammar eGrammar) const; - - // XSheetConditionalEntries - virtual void SAL_CALL addNew( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aConditionalEntry ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clear() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScTableConditionalFormat* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::sheet::XSheetConditionalEntries> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - - -class ScTableConditionalEntry : public cppu::WeakImplHelper3< - com::sun::star::sheet::XSheetCondition2, - com::sun::star::sheet::XSheetConditionalEntry, - com::sun::star::lang::XServiceInfo > -{ -private: - ScCondFormatEntryItem aData; - - ScTableConditionalEntry(); // disabled -public: - ScTableConditionalEntry(const ScCondFormatEntryItem& aItem); - virtual ~ScTableConditionalEntry(); - - void GetData(ScCondFormatEntryItem& rData) const; - - // XSheetCondition - virtual ::com::sun::star::sheet::ConditionOperator SAL_CALL getOperator() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getConditionOperator() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setOperator( ::com::sun::star::sheet::ConditionOperator nOperator ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setConditionOperator( sal_Int32 nOperator ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getFormula1() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormula1( const ::rtl::OUString& aFormula1 ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getFormula2() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormula2( const ::rtl::OUString& aFormula2 ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellAddress SAL_CALL getSourcePosition() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSourcePosition( const ::com::sun::star::table::CellAddress& aSourcePosition ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetConditionalEntry - virtual ::rtl::OUString SAL_CALL getStyleName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setStyleName( const ::rtl::OUString& aStyleName ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - - -class ScTableValidationObj : public cppu::WeakImplHelper5< - com::sun::star::sheet::XSheetCondition2, - com::sun::star::sheet::XMultiFormulaTokens, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XUnoTunnel, - com::sun::star::lang::XServiceInfo > -{ -private: - SfxItemPropertySet aPropSet; - sal_uInt16 nMode; // enum ScConditionMode - String aExpr1; - String aExpr2; - String maExprNmsp1; - String maExprNmsp2; - formula::FormulaGrammar::Grammar meGrammar1; // grammar used with aExpr1 and aExpr2 - formula::FormulaGrammar::Grammar meGrammar2; // grammar used with aExpr1 and aExpr2 - ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > aTokens1; - ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > aTokens2; - ScAddress aSrcPos; - String aPosString; // formula position as text - sal_uInt16 nValMode; // enum ScValidationMode - sal_Bool bIgnoreBlank; - sal_Int16 nShowList; - sal_Bool bShowInput; - String aInputTitle; - String aInputMessage; - sal_Bool bShowError; - sal_uInt16 nErrorStyle; // enum ScValidErrorStyle - String aErrorTitle; - String aErrorMessage; - - void ClearData_Impl(); - - ScTableValidationObj(); // disabled -public: - ScTableValidationObj(ScDocument* pDoc, sal_uLong nKey, - const formula::FormulaGrammar::Grammar eGrammar); - virtual ~ScTableValidationObj(); - - ScValidationData* CreateValidationData( ScDocument* pDoc, - formula::FormulaGrammar::Grammar eGrammar ) const; - - // XSheetCondition - virtual ::com::sun::star::sheet::ConditionOperator SAL_CALL getOperator() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getConditionOperator() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setOperator( ::com::sun::star::sheet::ConditionOperator nOperator ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setConditionOperator( sal_Int32 nOperator ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getFormula1() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormula1( const ::rtl::OUString& aFormula1 ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getFormula2() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormula2( const ::rtl::OUString& aFormula2 ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellAddress SAL_CALL getSourcePosition() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSourcePosition( const ::com::sun::star::table::CellAddress& aSourcePosition ) - throw(::com::sun::star::uno::RuntimeException); - - // XMultiFormulaTokens - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > - SAL_CALL getTokens( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException,::com::sun::star::lang::IndexOutOfBoundsException); - virtual void SAL_CALL setTokens( sal_Int32 nIndex, - const ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken >& aTokens ) - throw(::com::sun::star::uno::RuntimeException,::com::sun::star::lang::IndexOutOfBoundsException); - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScTableValidationObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/forbiuno.hxx b/sc/inc/forbiuno.hxx deleted file mode 100644 index 4d17ab256..000000000 --- a/sc/inc/forbiuno.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FORBIUNO_HXX -#define SC_FORBIUNO_HXX - -#include <editeng/UnoForbiddenCharsTable.hxx> -#include <svl/lstner.hxx> - -class ScDocShell; - -//------------------------------------------------------------------------ - -// object to set forbidden charaters to document - -class ScForbiddenCharsObj : public SvxUnoForbiddenCharsTable, public SfxListener -{ - ScDocShell* pDocShell; - -protected: - virtual void onChange(); - -public: - ScForbiddenCharsObj( ScDocShell* pDocSh ); - virtual ~ScForbiddenCharsObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/formulaparserpool.hxx b/sc/inc/formulaparserpool.hxx deleted file mode 100644 index d3965db5d..000000000 --- a/sc/inc/formulaparserpool.hxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FORMULAPARSERPOOL_HXX -#define SC_FORMULAPARSERPOOL_HXX - -#include <boost/unordered_map.hpp> -#include <com/sun/star/sheet/XFormulaParser.hpp> - -class ScDocument; - -// ============================================================================ - -/** Stores the used instances of the FilterFormulaParser service - implementations, mapped by the formula namespace they support. */ -class ScFormulaParserPool -{ -public: - explicit ScFormulaParserPool( const ScDocument& rDoc ); - ~ScFormulaParserPool(); - - /** Returns true, if a formula parser is registered for the passed namespace. */ - bool hasFormulaParser( const ::rtl::OUString& rNamespace ); - - /** Returns the formula parser that is registered for the passed namespace. */ - ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XFormulaParser > - getFormulaParser( const ::rtl::OUString& rNamespace ); - -private: - typedef ::boost::unordered_map< - ::rtl::OUString, - ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XFormulaParser >, - ::rtl::OUStringHash, - ::std::equal_to< ::rtl::OUString > > ParserMap; - - const ScDocument& mrDoc; - ParserMap maParsers; -}; - -// ============================================================================ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/formularesult.hxx b/sc/inc/formularesult.hxx deleted file mode 100644 index 706f3aa6d..000000000 --- a/sc/inc/formularesult.hxx +++ /dev/null @@ -1,618 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FORMULARESULT_HXX -#define SC_FORMULARESULT_HXX - -#include "token.hxx" - - -/** Store a variable formula cell result, balancing between runtime performance - and memory consumption. */ -class ScFormulaResult -{ - typedef unsigned char Multiline; - static const Multiline MULTILINE_UNKNOWN = 0; - static const Multiline MULTILINE_FALSE = 1; - static const Multiline MULTILINE_TRUE = 2; - - union - { - double mfValue; // double result direct for performance and memory consumption - const formula::FormulaToken* mpToken; // if not, result token obtained from interpreter - }; - sal_uInt16 mnError; // error code - bool mbToken :1; // whether content of union is a token - bool mbEmpty :1; // empty cell result - bool mbEmptyDisplayedAsString :1; // only if mbEmpty - Multiline meMultiline :2; // result is multiline - - /** Reset mnError, mbEmpty and mbEmptyDisplayedAsString to their defaults - prior to assigning other types */ - inline void ResetToDefaults(); - - /** If token is of formula::svError set error code and decrement RefCount. - If token is of formula::svEmptyCell set mbEmpty and mbEmptyAsString and - decrement RefCount. - If token is of formula::svDouble set mfValue and decrement RefCount. - Else assign token to mpToken. NULL is valid => svUnknown. - Other member variables are set accordingly. - @precondition: Token MUST had been IncRef'ed prior to this call! - @precondition: An already existing different mpToken MUST had been - DecRef'ed prior to this call, p will be assigned to mpToken if not - resolved. - ATTENTION! Token may get deleted in this call! */ - inline void ResolveToken( const formula::FormulaToken * p ); - -public: - /** Effectively type svUnknown. */ - ScFormulaResult() - : mpToken(NULL), mnError(0), mbToken(true), - mbEmpty(false), mbEmptyDisplayedAsString(false), - meMultiline(MULTILINE_UNKNOWN) {} - - ScFormulaResult( const ScFormulaResult & r ) - : mnError( r.mnError), mbToken( r.mbToken), - mbEmpty( r.mbEmpty), - mbEmptyDisplayedAsString( r.mbEmptyDisplayedAsString), - meMultiline( r.meMultiline) - { - if (mbToken) - { - mpToken = r.mpToken; - if (mpToken) - { - // Since matrix dimension and - // results are assigned to a matrix - // cell formula token we have to - // clone that instead of sharing it. - const ScMatrixFormulaCellToken* pMatFormula = - r.GetMatrixFormulaCellToken(); - if (pMatFormula) - mpToken = new ScMatrixFormulaCellToken( *pMatFormula); - mpToken->IncRef(); - } - } - else - mfValue = r.mfValue; - } - - /** Same comments as for SetToken() apply! */ - explicit ScFormulaResult( const formula::FormulaToken* p ) - : mnError(0), mbToken(false), - mbEmpty(false), mbEmptyDisplayedAsString(false), - meMultiline(MULTILINE_UNKNOWN) - { - SetToken( p); - } - - ~ScFormulaResult() - { - if (mbToken && mpToken) - mpToken->DecRef(); - } - - /** Well, guess what ... */ - inline ScFormulaResult & operator=( const ScFormulaResult & r ); - - /** Assignment as in operator=() but without return */ - inline void Assign( const ScFormulaResult & r ); - - /** Sets a direct double if token type is formula::svDouble, or mbEmpty if - formula::svEmptyCell, else token. If p is NULL, that is set as well, effectively - resulting in GetType()==svUnknown. If the already existing result is - ScMatrixFormulaCellToken, the upper left ist set to token. - - ATTENTION! formula::FormulaToken had to be allocated using 'new' and if of type - formula::svDouble and no RefCount was set may not be used after this call - because it was deleted after decrement! */ - inline void SetToken( const formula::FormulaToken* p ); - - /** May be NULL if SetToken() did so, also if type formula::svDouble or formula::svError! */ - inline formula::FormulaConstTokenRef GetToken() const; - - /** Return upper left token if formula::svMatrixCell, else return GetToken(). - May be NULL if SetToken() did so, also if type formula::svDouble or formula::svError! */ - inline formula::FormulaConstTokenRef GetCellResultToken() const; - - /** Return type of result, including formula::svError, formula::svEmptyCell, formula::svDouble and - formula::svMatrixCell. */ - inline formula::StackVar GetType() const; - - /** If type is formula::svMatrixCell return the type of upper left element, else - GetType() */ - inline formula::StackVar GetCellResultType() const; - - /** If type is formula::svEmptyCell (including matrix upper left) and should be - displayed as empty string */ - inline bool IsEmptyDisplayedAsString() const; - - /** Test for cell result type formula::svDouble, including upper left if - formula::svMatrixCell. Also included is formula::svError for legacy, because previously - an error result was treated like a numeric value at some places in - ScFormulaCell. Also included is formula::svEmptyCell as a reference to an empty - cell usually is treated as numeric 0. Use GetCellResultType() for - details instead. */ - inline bool IsValue() const; - - /** Determines whether or not the result is a string containing more than - one paragraph */ - inline bool IsMultiline() const; - - /** Get error code if set or GetCellResultType() is formula::svError or svUnknown, - else 0. */ - inline sal_uInt16 GetResultError() const; - - /** Set error code, don't touch token or double. */ - inline void SetResultError( sal_uInt16 nErr ); - - /** Set direct double. Shouldn't be used externally except in - ScFormulaCell for rounded CalcAsShown or SetErrCode(). If - ScMatrixFormulaCellToken the token isn't replaced but upper left result - is modified instead, but only if it was of type formula::svDouble before or not - set at all. */ - inline void SetDouble( double f ); - - /** Return value if type formula::svDouble or formula::svHybridCell or formula::svMatrixCell and upper - left formula::svDouble, else 0.0 */ - inline double GetDouble() const; - - /** Return string if type formula::svString or formula::svHybridCell or formula::svMatrixCell and - upper left formula::svString, else empty string. */ - inline const String & GetString() const; - - /** Return matrix if type formula::svMatrixCell and ScMatrix present, else NULL. */ - inline ScConstMatrixRef GetMatrix() const; - - /** Return formula string if type formula::svHybridCell, else empty string. */ - inline const String & GetHybridFormula() const; - - /** Should only be used by import filters, best in the order - SetHybridDouble(), SetHybridString(), or only SetHybridString() for - formula string to be compiled later. */ - inline void SetHybridDouble( double f ); - - /** Should only be used by import filters, best in the order - SetHybridDouble(), SetHybridString()/SetHybridFormula(), or only - SetHybridFormula() for formula string to be compiled later. */ - inline void SetHybridString( const String & rStr ); - - /** Should only be used by import filters, best in the order - SetHybridDouble(), SetHybridString()/SetHybridFormula(), or only - SetHybridFormula() for formula string to be compiled later. */ - inline void SetHybridFormula( const String & rFormula ); - - /** Get the const ScMatrixFormulaCellToken* if token is of that type, else - NULL. */ - inline const ScMatrixFormulaCellToken* GetMatrixFormulaCellToken() const; - - /** Get the ScMatrixFormulaCellToken* if token is of that type, else NULL. - Shouldn't be used externally except by ScFormulaCell::SetMatColsRows(). */ - inline ScMatrixFormulaCellToken* GetMatrixFormulaCellTokenNonConst(); -}; - - -inline void ScFormulaResult::ResetToDefaults() -{ - mnError = 0; - mbEmpty = false; - mbEmptyDisplayedAsString = false; - meMultiline = MULTILINE_UNKNOWN; -} - - -inline void ScFormulaResult::ResolveToken( const formula::FormulaToken * p ) -{ - ResetToDefaults(); - if (!p) - { - mpToken = p; - mbToken = true; - } - else - { - switch (p->GetType()) - { - case formula::svError: - mnError = p->GetError(); - p->DecRef(); - mbToken = false; - // set in case mnError is 0 now, which shouldn't happen but ... - mfValue = 0.0; - meMultiline = MULTILINE_FALSE; - break; - case formula::svEmptyCell: - mbEmpty = true; - mbEmptyDisplayedAsString = static_cast<const ScEmptyCellToken*>(p)->IsDisplayedAsString(); - p->DecRef(); - mbToken = false; - meMultiline = MULTILINE_FALSE; - break; - case formula::svDouble: - mfValue = p->GetDouble(); - p->DecRef(); - mbToken = false; - meMultiline = MULTILINE_FALSE; - break; - default: - mpToken = p; - mbToken = true; - } - } -} - - -inline ScFormulaResult & ScFormulaResult::operator=( const ScFormulaResult & r ) -{ - Assign( r); - return *this; -} - - -inline void ScFormulaResult::Assign( const ScFormulaResult & r ) -{ - if (this == &r) - return; - if (r.mbEmpty) - { - if (mbToken && mpToken) - mpToken->DecRef(); - mbToken = false; - mbEmpty = true; - mbEmptyDisplayedAsString = r.mbEmptyDisplayedAsString; - meMultiline = r.meMultiline; - } - else if (r.mbToken) - { - // Matrix formula cell token must be cloned, see copy-ctor. - const ScMatrixFormulaCellToken* pMatFormula = - r.GetMatrixFormulaCellToken(); - if (pMatFormula) - SetToken( new ScMatrixFormulaCellToken( *pMatFormula)); - else - SetToken( r.mpToken); - } - else - SetDouble( r.mfValue); - // If there was an error there will be an error, no matter what Set...() - // methods did. - mnError = r.mnError; -} - - -inline void ScFormulaResult::SetToken( const formula::FormulaToken* p ) -{ - ResetToDefaults(); - if (p) - p->IncRef(); - // Handle a result obtained from the interpreter to be assigned to a matrix - // formula cell's ScMatrixFormulaCellToken. - ScMatrixFormulaCellToken* pMatFormula = GetMatrixFormulaCellTokenNonConst(); - if (pMatFormula) - { - const ScMatrixCellResultToken* pMatResult = - (p && p->GetType() == formula::svMatrixCell ? - dynamic_cast<const ScMatrixCellResultToken*>(p) : NULL); - if (pMatResult) - { - const ScMatrixFormulaCellToken* pNewMatFormula = - dynamic_cast<const ScMatrixFormulaCellToken*>(pMatResult); - if (pNewMatFormula) - { - DBG_ERRORFILE( "ScFormulaResult::SetToken: pNewMatFormula and pMatFormula, overriding matrix formula dimension; intended?"); - pMatFormula->SetMatColsRows( pNewMatFormula->GetMatCols(), - pNewMatFormula->GetMatRows()); - } - pMatFormula->Assign( *pMatResult); - p->DecRef(); - } - else if (p) - { - // This may be the result of some constant expression like - // {="string"} that doesn't result in a matrix but still would - // display the result in all cells of this matrix formula. - pMatFormula->Assign( *p); - p->DecRef(); - } - else - { - // NULL result? Well, if you say so ... - pMatFormula->ResetResult(); - } - } - else - { - if (mbToken && mpToken) - mpToken->DecRef(); - ResolveToken( p); - } -} - - -inline void ScFormulaResult::SetDouble( double f ) -{ - ResetToDefaults(); - // Handle a result obtained from the interpreter to be assigned to a matrix - // formula cell's ScMatrixFormulaCellToken. - ScMatrixFormulaCellToken* pMatFormula = GetMatrixFormulaCellTokenNonConst(); - if (pMatFormula) - pMatFormula->SetUpperLeftDouble( f); - else - { - if (mbToken && mpToken) - mpToken->DecRef(); - mfValue = f; - mbToken = false; - meMultiline = MULTILINE_FALSE; - } -} - - -inline formula::StackVar ScFormulaResult::GetType() const -{ - // Order is significant. - if (mnError) - return formula::svError; - if (mbEmpty) - return formula::svEmptyCell; - if (!mbToken) - return formula::svDouble; - if (mpToken) - return mpToken->GetType(); - return formula::svUnknown; -} - - -inline formula::StackVar ScFormulaResult::GetCellResultType() const -{ - formula::StackVar sv = GetType(); - if (sv == formula::svMatrixCell) - // don't need to test for mpToken here, GetType() already did it - sv = static_cast<const ScMatrixCellResultToken*>(mpToken)->GetUpperLeftType(); - return sv; -} - - -inline bool ScFormulaResult::IsEmptyDisplayedAsString() const -{ - if (mbEmpty) - return mbEmptyDisplayedAsString; - if (GetType() == formula::svMatrixCell) - { - // don't need to test for mpToken here, GetType() already did it - const ScEmptyCellToken* p = dynamic_cast<const ScEmptyCellToken*>( - static_cast<const ScMatrixCellResultToken*>( - mpToken)->GetUpperLeftToken().operator->()); - if (p) - return p->IsDisplayedAsString(); - } - return false; -} - - -inline bool ScFormulaResult::IsValue() const -{ - formula::StackVar sv = GetCellResultType(); - return sv == formula::svDouble || sv == formula::svError || sv == formula::svEmptyCell; -} - -inline bool ScFormulaResult::IsMultiline() const -{ - if (meMultiline == MULTILINE_UNKNOWN) - { - const String& rStr = GetString(); - if (rStr.Len() && rStr.Search( _LF ) != STRING_NOTFOUND) - const_cast<ScFormulaResult*>(this)->meMultiline = MULTILINE_TRUE; - else - const_cast<ScFormulaResult*>(this)->meMultiline = MULTILINE_FALSE; - } - return meMultiline == MULTILINE_TRUE; -} - - -inline sal_uInt16 ScFormulaResult::GetResultError() const -{ - if (mnError) - return mnError; - formula::StackVar sv = GetCellResultType(); - if (sv == formula::svError) - { - if (GetType() == formula::svMatrixCell) - // don't need to test for mpToken here, GetType() already did it - return static_cast<const ScMatrixCellResultToken*>(mpToken)-> - GetUpperLeftToken()->GetError(); - if (mpToken) - return mpToken->GetError(); - } - return 0; -} - - -inline void ScFormulaResult::SetResultError( sal_uInt16 nErr ) -{ - mnError = nErr; -} - - -inline formula::FormulaConstTokenRef ScFormulaResult::GetToken() const -{ - if (mbToken) - return mpToken; - return NULL; -} - - -inline formula::FormulaConstTokenRef ScFormulaResult::GetCellResultToken() const -{ - if (GetType() == formula::svMatrixCell) - // don't need to test for mpToken here, GetType() already did it - return static_cast<const ScMatrixCellResultToken*>(mpToken)->GetUpperLeftToken(); - return GetToken(); -} - - -inline double ScFormulaResult::GetDouble() const -{ - if (mbToken) - { - // Should really not be of type formula::svDouble here. - if (mpToken) - { - switch (mpToken->GetType()) - { - case formula::svHybridCell: - return mpToken->GetDouble(); - case formula::svMatrixCell: - { - const ScMatrixCellResultToken* p = - static_cast<const ScMatrixCellResultToken*>(mpToken); - if (p->GetUpperLeftType() == formula::svDouble) - return p->GetUpperLeftToken()->GetDouble(); - } - break; - default: - ; // nothing - } - } - return 0.0; - } - if (mbEmpty) - return 0.0; - return mfValue; -} - - -inline const String & ScFormulaResult::GetString() const -{ - if (mbToken && mpToken) - { - switch (mpToken->GetType()) - { - case formula::svString: - case formula::svHybridCell: - return mpToken->GetString(); - case formula::svMatrixCell: - { - const ScMatrixCellResultToken* p = - static_cast<const ScMatrixCellResultToken*>(mpToken); - if (p->GetUpperLeftType() == formula::svString) - return p->GetUpperLeftToken()->GetString(); - } - break; - default: - ; // nothing - } - } - return EMPTY_STRING; -} - - -inline ScConstMatrixRef ScFormulaResult::GetMatrix() const -{ - if (GetType() == formula::svMatrixCell) - return static_cast<const ScToken*>(mpToken)->GetMatrix(); - return NULL; -} - - -inline const String & ScFormulaResult::GetHybridFormula() const -{ - if (GetType() == formula::svHybridCell) - { - const ScHybridCellToken* p = dynamic_cast<const ScHybridCellToken*>(mpToken); - if (p) - return p->GetFormula(); - } - return EMPTY_STRING; -} - - -inline void ScFormulaResult::SetHybridDouble( double f ) -{ - ResetToDefaults(); - if (mbToken && mpToken) - { - String aString( GetString()); - String aFormula( GetHybridFormula()); - mpToken->DecRef(); - mpToken = new ScHybridCellToken( f, aString, aFormula); - mpToken->IncRef(); - } - else - { - mfValue = f; - mbToken = false; - meMultiline = MULTILINE_FALSE; - } -} - - -inline void ScFormulaResult::SetHybridString( const String & rStr ) -{ - // Obtain values before changing anything. - double f = GetDouble(); - String aFormula( GetHybridFormula()); - ResetToDefaults(); - if (mbToken && mpToken) - mpToken->DecRef(); - mpToken = new ScHybridCellToken( f, rStr, aFormula); - mpToken->IncRef(); - mbToken = true; -} - - -inline void ScFormulaResult::SetHybridFormula( const String & rFormula ) -{ - // Obtain values before changing anything. - double f = GetDouble(); - String aStr( GetString()); - ResetToDefaults(); - if (mbToken && mpToken) - mpToken->DecRef(); - mpToken = new ScHybridCellToken( f, aStr, rFormula); - mpToken->IncRef(); - mbToken = true; -} - - -inline const ScMatrixFormulaCellToken* ScFormulaResult::GetMatrixFormulaCellToken() const -{ - return (GetType() == formula::svMatrixCell ? - dynamic_cast<const ScMatrixFormulaCellToken*>(mpToken) : NULL); -} - - -inline ScMatrixFormulaCellToken* ScFormulaResult::GetMatrixFormulaCellTokenNonConst() -{ - return const_cast<ScMatrixFormulaCellToken*>( GetMatrixFormulaCellToken()); -} - - -#endif // SC_FORMULARESULT_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/funcdesc.hxx b/sc/inc/funcdesc.hxx deleted file mode 100644 index 6ce243d04..000000000 --- a/sc/inc/funcdesc.hxx +++ /dev/null @@ -1,420 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FUNCDESC_HXX -#define SC_FUNCDESC_HXX - -/* Function descriptions for function wizard / autopilot */ - -#include "scfuncs.hrc" - -#include <formula/IFunctionDescription.hxx> -#include <sal/types.h> -#include <rtl/ustring.hxx> - -#define MAX_FUNCCAT 12 /* maximum number of categories for functions */ -#define LRU_MAX 10 /* maximal number of last recently used functions */ - -class ScFuncDesc; -class ScFunctionList; -class ScFunctionCategory; -class ScFunctionMgr; - -/** - Stores and generates human readable descriptions for spreadsheet-functions, - e.g.\ functions used in formulas in calc -*/ -class ScFuncDesc : public formula::IFunctionDescription -{ -public: - ScFuncDesc(); - virtual ~ScFuncDesc(); - - /** - Clears the object - - Deletes all objets referenced by the pointers in the class, - sets pointers to NULL, and all numerical variables to 0 - */ - void Clear(); - - /** - Fills a mapping with indexes for non-suppressed arguments - - Fills mapping from visible arguments to real arguments, e.g. if of 4 - parameters the second one is suppressed {0,2,3}. For VAR_ARGS - parameters only one element is added to the end of the sequence. - - @param _rArgumens - Vector, which the indices are written to - */ - virtual void fillVisibleArgumentMapping(::std::vector<sal_uInt16>& _rArguments) const ; - - /** - Returns the category of the function - - @return the category of the function - */ - virtual const formula::IFunctionCategory* getCategory() const ; - - /** - Returns the description of the function - - @return the description of the function, or an empty OUString if there is no description - */ - virtual ::rtl::OUString getDescription() const ; - - /** - Returns the function signature with parameters from the passed string array. - - @return function signature with parameters - */ - virtual ::rtl::OUString getFormula(const ::std::vector< ::rtl::OUString >& _aArguments) const ; - - /** - Returns the name of the function - - @return the name of the function, or an empty OUString if there is no name - */ - virtual ::rtl::OUString getFunctionName() const ; - - /** - Returns the help id of the function - - @return help id of the function - */ - virtual ::rtl::OString getHelpId() const ; - - /** - Returns number of arguments - - @return help id of the function - */ - virtual sal_uInt32 getParameterCount() const ; - - /** - Returns description of parameter at given position - - @param _nPos - Position of the parameter - - @return OUString description of the parameter - */ - virtual ::rtl::OUString getParameterDescription(sal_uInt32 _nPos) const ; - - /** - Returns name of parameter at given position - - @param _nPos - Position of the parameter - - @return OUString name of the parameter - */ - virtual ::rtl::OUString getParameterName(sal_uInt32 _nPos) const ; - - /** - Returns list of all parameter names - - @return OUString containing separated list of all parameter names - */ - ::rtl::OUString GetParamList() const; - - /** - Returns the full function signature - - @return OUString of the form "FUNCTIONNAME( parameter list )" - */ - virtual ::rtl::OUString getSignature() const ; - - /** - Returns the number of non-suppressed arguments - - In case there are variable arguments the number of fixed non-suppressed - arguments plus VAR_ARGS, same as for nArgCount (variable arguments can't - be suppressed). The two functions are equal apart from return type and - name. - - @return number of non-suppressed arguments - */ - sal_uInt16 GetSuppressedArgCount() const; - virtual xub_StrLen getSuppressedArgumentCount() const ; - - /** - Requests function data from AddInCollection - - Logs error message on failure for debugging purposes - */ - virtual void initArgumentInfo() const; - - /** - Returns true if parameter at given position is optional - - @param _nPos - Position of the parameter - - @return true if optional, false if not optional - */ - virtual bool isParameterOptional(sal_uInt32 _nPos) const ; - - /** - Compares functions by name, respecting special characters - - @param a - pointer to first function descriptor - - @param b - pointer to second function descriptor - - @return "(a < b)" - */ - static bool compareByName(const ScFuncDesc* a, const ScFuncDesc* b); - - /** - Stores whether a parameter is optional or suppressed - */ - struct ParameterFlags - { - bool bOptional :1; /**< Parameter is optional */ - bool bSuppress :1; /**< Suppress parameter in UI because not implemented yet */ - - ParameterFlags() : bOptional(false), bSuppress(false) {} - }; - - - - ::rtl::OUString *pFuncName; /**< Function name */ - ::rtl::OUString *pFuncDesc; /**< Description of function */ - ::rtl::OUString **ppDefArgNames; /**< Parameter name(s) */ - ::rtl::OUString **ppDefArgDescs; /**< Description(s) of parameter(s) */ - ParameterFlags *pDefArgFlags; /**< Flags for each parameter */ - sal_uInt16 nFIndex; /**< Unique function index */ - sal_uInt16 nCategory; /**< Function category */ - sal_uInt16 nArgCount; /**< All parameter count, suppressed and unsuppressed */ - rtl::OString sHelpId; /**< HelpId of function */ - bool bIncomplete :1; /**< Incomplete argument info (set for add-in info from configuration) */ - bool bHasSuppressedArgs :1; /**< Whether there is any suppressed parameter. */ -}; - -/** - List of spreadsheet functions. - Generated by retrieving functions from resources, AddIns and StarOne AddIns, - and storing these in one linked list. Functions can be retrieved by index and - by iterating through the list, starting at the First element, and retrieving - the Next elements one by one. - - The length of the longest function name can be retrieved for easier - processing (i.e printing a function list). -*/ -class ScFunctionList -{ -public: - ScFunctionList(); - ~ScFunctionList(); - - sal_uInt32 GetCount() const - { return aFunctionList.size(); } - - const ScFuncDesc* First(); - - const ScFuncDesc* Next(); - - const ScFuncDesc* GetFunction( sal_uInt32 nIndex ) const; - - xub_StrLen GetMaxFuncNameLen() const - { return nMaxFuncNameLen; } - -private: - ::std::vector<const ScFuncDesc*> aFunctionList; /**< List of functions */ - ::std::vector<const ScFuncDesc*>::iterator aFunctionListIter; /**< position in function list */ - xub_StrLen nMaxFuncNameLen; /**< Length of longest function name */ -}; - -/** - Category of spreadsheet functions. - - Contains the name, index and function manager of a category, - as well as a list of functions in the category -*/ -class ScFunctionCategory : public formula::IFunctionCategory -{ -public: - ScFunctionCategory(ScFunctionMgr* _pMgr,::std::vector<const ScFuncDesc*>* _pCategory,sal_uInt32 _nCategory) - : m_pMgr(_pMgr),m_pCategory(_pCategory),m_nCategory(_nCategory){} - virtual ~ScFunctionCategory(){} - - /** - @return count of functions in this category - */ - virtual sal_uInt32 getCount() const; - virtual const formula::IFunctionManager* getFunctionManager() const; - - /** - Gives the _nPos'th function in this category. - - @param _nPos - position of function in this category. - - @return function at the _nPos postion in this category, null if _nPos out of bounds. - */ - virtual const formula::IFunctionDescription* getFunction(sal_uInt32 _nPos) const; - - /** - @return index number of this category. - */ - virtual sal_uInt32 getNumber() const; - virtual ::rtl::OUString getName() const; - -private: - ScFunctionMgr* m_pMgr; /**< function manager for this category */ - ::std::vector<const ScFuncDesc*>* m_pCategory; /**< list of functions in this category */ - mutable ::rtl::OUString m_sName; /**< name of this category */ - sal_uInt32 m_nCategory; /**< index number of this category */ -}; - -#define SC_FUNCGROUP_COUNT ID_FUNCTION_GRP_ADDINS -/** - Stores spreadsheet functions in categories, including a cumulative ('All') category and makes them accessible. -*/ -class ScFunctionMgr : public formula::IFunctionManager -{ -public: - /** - Retrieves all calc functions, generates cumulative ('All') category, and the categories. - - The function lists of the categories are sorted by (case insensitive) function name - */ - ScFunctionMgr(); - virtual ~ScFunctionMgr(); - - /** - Returns name of category. - - @param _nCategoryNumber - index of category - - @return name of the category specified by _nCategoryNumber, empty string if _nCategoryNumber out of bounds - */ - static ::rtl::OUString GetCategoryName(sal_uInt32 _nCategoryNumber ); - - /** - Returns function by name. - - Searches for a function with the function name rFName, while ignoring case. - - @param rFName - name of the function - - @return pointer to function with the name rFName, null if no such function was found. - */ - const ScFuncDesc* Get( const ::rtl::OUString& rFName ) const; - - /** - Returns function by index. - - Searches for a function with the function index nFIndex. - - @param nFIndex - index of the function - - @return pointer to function with the index nFIndex, null if no such function was found. - */ - const ScFuncDesc* Get( sal_uInt16 nFIndex ) const; - - /** - Returns the first function in category nCategory. - - Selects nCategory as current category and returns first element of this. - - @param nCategory - index of requested category - - @return pointer to first element in current category, null if nCategory out of bounds - */ - const ScFuncDesc* First( sal_uInt16 nCategory = 0 ) const; - - /** - Returns the next function of the current category. - - @return pointer to the next function in current category, null if current category not set. - */ - const ScFuncDesc* Next() const; - - /** - @return number of categories, not counting the cumulative category ('All') - */ - virtual sal_uInt32 getCount() const; - - /** - Returns a category. - - Creates an IFunctionCategory object from a category specified by nPos. - - @param nPos - the index of the category, note that 0 maps to the first category not the cumulative ('All') category. - - @return pointer to an IFunctionCategory object, null if nPos out of bounds. - */ - virtual const formula::IFunctionCategory* getCategory(sal_uInt32 nPos) const; - - /** - Appends the last recently used functions. - - Takes the last recently used functions, but maximal LRU_MAX, and appends them to the given vector _rLastRUFunctions. - - @param _rLastRUFunctions - a vector of pointer to IFunctionDescription, by reference. - */ - virtual void fillLastRecentlyUsedFunctions(::std::vector< const formula::IFunctionDescription*>& _rLastRUFunctions) const; - - /** - Implemented because of inheritance \see ScFunctionMgr::Get(const ::rtl::OUString&) const - */ - virtual const formula::IFunctionDescription* getFunctionByName(const ::rtl::OUString& _sFunctionName) const; - - /** - Maps Etoken to character - - Used for retrieving characters for parantheses and separators. - - @param _eToken - token for which, the corresponding character is retrieved - - @return character - */ - virtual sal_Unicode getSingleToken(const formula::IFunctionManager::EToken _eToken) const; - -private: - ScFunctionList* pFuncList; /**< list of all calc functions */ - ::std::vector<const ScFuncDesc*>* aCatLists[MAX_FUNCCAT]; /**< array of all categories, 0 is the cumulative ('All') category */ - mutable ::std::vector<const ScFuncDesc*>::iterator pCurCatListIter; /**< position in current category */ - mutable ::std::vector<const ScFuncDesc*>::iterator pCurCatListEnd; /**< end of current category */ -}; - -#endif // SC_FUNCDESC_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/funcuno.hxx b/sc/inc/funcuno.hxx deleted file mode 100644 index 15ec3455c..000000000 --- a/sc/inc/funcuno.hxx +++ /dev/null @@ -1,150 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_FUNCUNO_HXX -#define SC_FUNCUNO_HXX - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/sheet/XFunctionAccess.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <cppuhelper/implbase3.hxx> -#include <svl/lstner.hxx> - -class ScDocument; -class ScDocOptions; - - -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - ScFunctionAccess_CreateInstance( - const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory >& ); - - -class ScTempDocCache -{ -private: - ScDocument* pDoc; - sal_Bool bInUse; - -public: - ScTempDocCache(); - ~ScTempDocCache(); - - ScDocument* GetDocument() const { return pDoc; } - sal_Bool IsInUse() const { return bInUse; } - void SetInUse( sal_Bool bSet ) { bInUse = bSet; } - - void SetDocument( ScDocument* pNew ); - void Clear(); -}; - -class ScFunctionAccess : public cppu::WeakImplHelper3< - com::sun::star::sheet::XFunctionAccess, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo>, - public SfxListener -{ -private: - ScTempDocCache aDocCache; - ScDocOptions* pOptions; - SfxItemPropertyMap aPropertyMap; - bool mbArray; - bool mbValid; - -public: - ScFunctionAccess(); - virtual ~ScFunctionAccess(); - - static ::rtl::OUString getImplementationName_Static(); - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XFunctionAccess - virtual ::com::sun::star::uno::Any SAL_CALL callFunction( - const ::rtl::OUString& aName, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any >& aArguments ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx deleted file mode 100644 index 4d9ba7001..000000000 --- a/sc/inc/global.hxx +++ /dev/null @@ -1,791 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCGLOB_HXX -#define SC_SCGLOB_HXX - -#include "address.hxx" -#include <i18npool/lang.h> -#include <tools/stream.hxx> -#include <osl/endian.h> -#include <com/sun/star/uno/Reference.hxx> -#include "scdllapi.h" - -#include <boost/unordered_map.hpp> - -class ImageList; -class Bitmap; -class SfxItemSet; -class Color; - -// Macro for call profiler (WinNT) -// S_CAP starts a measurement, E_CAP stops it -#if defined( WNT ) && defined( PROFILE ) - -extern "C" { - void StartCAP(); - void StopCAP(); - void DumpCAP(); -}; - -#define S_CAP StartCAP(); -#define E_CAP StopCAP(); DumpCAP(); - -#endif - -#define SC_COLLATOR_IGNORES ( \ - ::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE ) - -#define SC_TRANSLITERATION_IGNORECASE ( \ - ::com::sun::star::i18n::TransliterationModules_IGNORE_CASE ) -#define SC_TRANSLITERATION_CASESENSE 0 - -// Calc has lots of names... -// Clipboard names are in so3/soapp.hxx now -// STRING_SCAPP was "scalc3", "scalc4", now just "scalc" - -#define STRING_SCAPP "scalc" -#define STRING_SCSTREAM "StarCalcDocument" - -#define STRING_STANDARD "Standard" - -// characters - -// '\r' does not work on a Mac... -#define CHAR_CR char(13) - -const sal_Unicode CHAR_NBSP = 0x00A0; -const sal_Unicode CHAR_SHY = 0x00AD; -const sal_Unicode CHAR_ZWSP = 0x200B; -const sal_Unicode CHAR_LRM = 0x200E; -const sal_Unicode CHAR_RLM = 0x200F; -const sal_Unicode CHAR_NBHY = 0x2011; -const sal_Unicode CHAR_ZWNBSP = 0x2060; - -// ---------------------------------------------------------------------------- - -#define MINDOUBLE 1.7e-307 -#define MAXDOUBLE 1.7e307 - -#define MINZOOM 20 -#define MAXZOOM 400 - -const SCSIZE MAXSUBTOTAL = 3; -const SCSIZE MAXQUERY = 8; - -#define SC_START_INDEX_DB_COLL 50000 - // Above this threshold are indices - // for data base areas - -#define PIXEL_PER_INCH 96.0 - -#define CM_PER_INCH 2.54 -#define POINTS_PER_INCH 72.27 -#define PIXEL_PER_POINT (PIXEL_PER_INCH / POINTS_PER_INCH) -#define INCHT_PER_CM (1.0 / CM_PER_INCH) -#define POINTS_PER_CM (POINTS_PER_INCH / CM_PER_INCH) -#define TWIPS_PER_POINT 20.0 -#define TWIPS_PER_INCH (TWIPS_PER_POINT * POINTS_PER_INCH) -#define TWIPS_PER_CM (TWIPS_PER_INCH / CM_PER_INCH) -#define CM_PER_TWIPS (CM_PER_INCH / TWIPS_PER_INCH) -#define TWIPS_PER_PIXEL (TWIPS_PER_INCH / PIXEL_PER_INCH) -#define TWIPS_PER_CHAR (TWIPS_PER_INCH / 13.6) -#define PIXEL_PER_TWIPS (PIXEL_PER_INCH / TWIPS_PER_INCH) -#define HMM_PER_TWIPS (CM_PER_TWIPS * 1000.0) - -#define STD_COL_WIDTH 1285 -#define STD_EXTRA_WIDTH 113 // 2mm extra for optimal width - // standard row height: text + margin - STD_ROWHEIGHT_DIFF - - -#define MAX_EXTRA_WIDTH 23811 // 42cm in TWIPS -#define MAX_EXTRA_HEIGHT 23811 -#define MAX_COL_WIDTH 56693 // 1m in TWIPS -#define MAX_COL_HEIGHT 56693 - -#define STD_ROWHEIGHT_DIFF 23 -#define STD_FONT_HEIGHT 200 // equates 10 points - -//! use ScGlobal::nStdRowHeight instead of STD_ROW_HEIGHT ! - -#define STD_ROW_HEIGHT (12.8 * TWIPS_PER_POINT) // 256 Twips, 0.45 cm - - // standard size as OLE server (cells) -#define OLE_STD_CELLS_X 4 -#define OLE_STD_CELLS_Y 5 - -#define SC_SIZE_OPTIMUM 0xFFFF - - // update flags -#define UF_SCROLL_LEFT 1 -#define UF_SCROLL_RIGHT 2 -#define UF_SCROLL_UP 4 -#define UF_SCROLL_DOWN 8 -#define UF_ROW 16 -#define UF_VIEW 32 - - // repaint flags (for messages) -#define PAINT_GRID 1 -#define PAINT_TOP 2 -#define PAINT_LEFT 4 -#define PAINT_EXTRAS 8 -#define PAINT_MARKS 16 -#define PAINT_OBJECTS 32 -#define PAINT_SIZE 64 -#define PAINT_ALL ( PAINT_GRID | PAINT_TOP | PAINT_LEFT | PAINT_EXTRAS | PAINT_OBJECTS | PAINT_SIZE ) - - - // flags for columns / rows - // FILTERED always together with HIDDEN - // FILTERED and MANUALSIZE only valid for rows -const sal_uInt8 CR_HIDDEN = 1; -const sal_uInt8 CR_MANUALBREAK = 8; -const sal_uInt8 CR_FILTERED = 16; -const sal_uInt8 CR_MANUALSIZE = 32; -const sal_uInt8 CR_ALL = (CR_HIDDEN | CR_MANUALBREAK | CR_FILTERED | CR_MANUALSIZE); - -typedef sal_uInt8 ScBreakType; -const ScBreakType BREAK_NONE = 0; -const ScBreakType BREAK_PAGE = 1; -const ScBreakType BREAK_MANUAL = 2; - -// insert/delete flags -const sal_uInt16 IDF_NONE = 0x0000; -const sal_uInt16 IDF_VALUE = 0x0001; /// Numeric values (and numeric results if IDF_FORMULA is not set). -const sal_uInt16 IDF_DATETIME = 0x0002; /// Dates, times, datetime values. -const sal_uInt16 IDF_STRING = 0x0004; /// Strings (and string results if IDF_FORMULA is not set). -const sal_uInt16 IDF_NOTE = 0x0008; /// Cell notes. -const sal_uInt16 IDF_FORMULA = 0x0010; /// Formula cells. -const sal_uInt16 IDF_HARDATTR = 0x0020; /// Hard cell attributes. -const sal_uInt16 IDF_STYLES = 0x0040; /// Cell styles. -const sal_uInt16 IDF_OBJECTS = 0x0080; /// Drawing objects. -const sal_uInt16 IDF_EDITATTR = 0x0100; /// Rich-text attributes. -const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000; -const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; -const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA; -const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; -const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. -const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. - -/// Copy flags for auto/series fill functions: do not touch notes and drawing objects. -const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); - -#define PASTE_NOFUNC 0 -#define PASTE_ADD 1 -#define PASTE_SUB 2 -#define PASTE_MUL 3 -#define PASTE_DIV 4 - -#define PASTE_NONEMPTY 5 - - // bits for HasAttr -#define HASATTR_LINES 1 -#define HASATTR_MERGED 2 -#define HASATTR_OVERLAPPED 4 -#define HASATTR_PROTECTED 8 -#define HASATTR_SHADOW 16 -#define HASATTR_NEEDHEIGHT 32 -#define HASATTR_SHADOW_RIGHT 64 -#define HASATTR_SHADOW_DOWN 128 -#define HASATTR_AUTOFILTER 256 -#define HASATTR_CONDITIONAL 512 -#define HASATTR_ROTATE 1024 -#define HASATTR_NOTOVERLAPPED 2048 -#define HASATTR_RTL 4096 -#define HASATTR_RIGHTORCENTER 8192 // right or centered logical alignment - -#define HASATTR_PAINTEXT ( HASATTR_LINES | HASATTR_SHADOW | HASATTR_CONDITIONAL ) - - -#define EMPTY_STRING ScGlobal::GetEmptyString() - - // layer id's for drawing -#define SC_LAYER_FRONT 0 -#define SC_LAYER_BACK 1 -#define SC_LAYER_INTERN 2 -#define SC_LAYER_CONTROLS 3 -#define SC_LAYER_HIDDEN 4 - - // link tables -#define SC_LINK_NONE 0 -#define SC_LINK_NORMAL 1 -#define SC_LINK_VALUE 2 - - // input -#define SC_ENTER_NORMAL 0 -#define SC_ENTER_BLOCK 1 -#define SC_ENTER_MATRIX 2 - - // step = 10pt, max. indention = 100 steps -#define SC_INDENT_STEP 200 -#define SC_MAX_INDENT 20000 - - // scenario flags -#define SC_SCENARIO_COPYALL 1 -#define SC_SCENARIO_SHOWFRAME 2 -#define SC_SCENARIO_PRINTFRAME 4 -#define SC_SCENARIO_TWOWAY 8 -#define SC_SCENARIO_ATTRIB 16 -#define SC_SCENARIO_VALUE 32 -#define SC_SCENARIO_PROTECT 64 - - -#ifndef DELETEZ -#define DELETEZ(pPtr) { delete pPtr; pPtr = 0; } -#endif - - // is bit set in set? -#define IS_SET(bit,set)(((set)&(bit))==(bit)) - -#define SEL_ALL -1 // input line: select all -#define RES_CANCEL 0 // results of function AutoPilot pages -#define RES_BACKWARD 1 -#define RES_END 2 - -enum CellType - { - CELLTYPE_NONE, - CELLTYPE_VALUE, - CELLTYPE_STRING, - CELLTYPE_FORMULA, - CELLTYPE_NOTE, - CELLTYPE_EDIT, - CELLTYPE_SYMBOLS // for load/save -#if OSL_DEBUG_LEVEL > 0 - ,CELLTYPE_DESTROYED -#endif - }; - -enum DelCellCmd - { - DEL_CELLSUP, - DEL_CELLSLEFT, - DEL_DELROWS, - DEL_DELCOLS, - DEL_NONE - }; - -enum InsCellCmd - { - INS_CELLSDOWN, - INS_CELLSRIGHT, - INS_INSROWS, - INS_INSCOLS, - INS_NONE - }; - -enum UpdateRefMode - { - URM_INSDEL, - URM_COPY, - URM_MOVE, - URM_REORDER - }; - -enum FillDir - { - FILL_TO_BOTTOM, - FILL_TO_RIGHT, - FILL_TO_TOP, - FILL_TO_LEFT - }; - -enum FillCmd - { - FILL_SIMPLE, - FILL_LINEAR, - FILL_GROWTH, - FILL_DATE, - FILL_AUTO - }; - -enum FillDateCmd - { - FILL_DAY, - FILL_WEEKDAY, - FILL_MONTH, - FILL_YEAR - }; - -enum ScDirection - { - DIR_BOTTOM, - DIR_RIGHT, - DIR_TOP, - DIR_LEFT - }; - -enum ScSizeMode - { - SC_SIZE_DIRECT, // set size or hide if value is 0 - SC_SIZE_OPTIMAL, // set optimal size for everything - SC_SIZE_SHOW, // show with original size - SC_SIZE_VISOPT, // set optimal size only if visible - SC_SIZE_ORIGINAL // only set size, don't change visible flag - }; - -enum ScInputMode - { - SC_INPUT_NONE, - SC_INPUT_TYPE, // input, while not in inplace mode - SC_INPUT_TABLE, // text cursor in the table - SC_INPUT_TOP // text cursor in the input line - }; - -enum ScVObjMode // output modes of objects on a page -{ - VOBJ_MODE_SHOW, - VOBJ_MODE_HIDE -}; - -enum ScAnchorType // anchor of a character object -{ - SCA_CELL, - SCA_PAGE, - SCA_DONTKNOW // for multi selection -}; - -enum ScGetDBMode -{ - SC_DB_MAKE, // create "untitled" (if necessary) - SC_DB_IMPORT, // create "Importx" (if necessary) - SC_DB_OLD // don't create -}; - -/// For ScDBFunc::GetDBData() -enum ScGetDBSelection -{ - /** Keep selection as is, expand to used data area if no selection. */ - SC_DBSEL_KEEP, - - /** Shrink selection to sheet's data area. */ - SC_DBSEL_SHRINK_TO_SHEET_DATA, - - /** Shrink selection to actually used data area within the selection. */ - SC_DBSEL_SHRINK_TO_USED_DATA, - - /** If only one row or portion thereof is selected, shrink row to used data - columns and select further rows down until end of data. If an area is - selected, shrink rows to actually used columns. Else, no selection, - expand to used data area. */ - SC_DBSEL_ROW_DOWN, - - /** Behave as if the range corresponding to a ScDBData area was selected, - for API use. */ - SC_DBSEL_FORCE_MARK -}; - -enum ScLkUpdMode // modes for updating links -{ - LM_ALWAYS, - LM_NEVER, - LM_ON_DEMAND, - LM_UNKNOWN -}; - - -// enum with values equal to old DBObject enum from sdb -enum ScDBObject -{ - ScDbTable, - ScDbQuery -}; - -struct ScImportParam -{ - SCCOL nCol1; - SCROW nRow1; - SCCOL nCol2; - SCROW nRow2; - bool bImport; - ::rtl::OUString aDBName; // alias of data base - ::rtl::OUString aStatement; - bool bNative; - bool bSql; // statement or name? - sal_uInt8 nType; // enum DBObject - - ScImportParam(); - ScImportParam( const ScImportParam& r ); - ~ScImportParam(); - - ScImportParam& operator= ( const ScImportParam& r ); - bool operator== ( const ScImportParam& r ) const; -}; - -struct ScStringHashCode -{ - size_t operator()( const String& rStr ) const - { - return rtl_ustr_hashCode_WithLength( rStr.GetBuffer(), rStr.Len() ); - } -}; - -class ScDocument; -class ScDocShell; -class ScDocShellRef; -class SvxSearchItem; -class ScAutoFormat; -class FuncCollection; -class ScUnoAddInCollection; -class ScUserList; -class SvxBrushItem; -class ScFunctionList; -class ScFunctionMgr; -class SfxItemPool; -class SdrModel; -class EditTextObject; -class SfxObjectShell; -class SvNumberFormatter; -class ScUnitConverter; -class CharClass; -class LocaleDataWrapper; -class SvtSysLocale; -class CalendarWrapper; -class CollatorWrapper; -class IntlWrapper; -class OutputDevice; - -namespace com { namespace sun { namespace star { - namespace lang { - struct Locale; - } - namespace i18n { - class XOrdinalSuffix; - } -}}} -namespace utl { - class TransliterationWrapper; -} - -#ifndef _SCALC_EXE -class ScGlobal -{ - static SvxSearchItem* pSearchItem; - static ScAutoFormat* pAutoFormat; - static FuncCollection* pFuncCollection; - static ScUnoAddInCollection* pAddInCollection; - static ScUserList* pUserList; - static String** ppRscString; - static String* pStrScDoc; - static String* pEmptyString; - static String* pStrClipDocName; - static SvxBrushItem* pEmptyBrushItem; - static SvxBrushItem* pButtonBrushItem; - static SvxBrushItem* pEmbeddedBrushItem; - static SvxBrushItem* pProtectedBrushItem; - - static ImageList* pOutlineBitmaps; - - static ScFunctionList* pStarCalcFunctionList; - static ScFunctionMgr* pStarCalcFunctionMgr; - - static ScUnitConverter* pUnitConverter; - - static SvNumberFormatter* pEnglishFormatter; // for UNO / XML export - - static ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XOrdinalSuffix> xOrdinalSuffix; - static CalendarWrapper* pCalendar; - static CollatorWrapper* pCaseCollator; - static CollatorWrapper* pCollator; - static ::utl::TransliterationWrapper* pTransliteration; - static ::utl::TransliterationWrapper* pCaseTransliteration; - static IntlWrapper* pScIntlWrapper; - static ::com::sun::star::lang::Locale* pLocale; - -public: - static SvtSysLocale* pSysLocale; - // for faster access a pointer to the single instance provided by SvtSysLocale - SC_DLLPUBLIC static const CharClass* pCharClass; - // for faster access a pointer to the single instance provided by SvtSysLocale - SC_DLLPUBLIC static const LocaleDataWrapper* pLocaleData; - SC_DLLPUBLIC static const LocaleDataWrapper* GetpLocaleData(); - - static CalendarWrapper* GetCalendar(); - SC_DLLPUBLIC static CollatorWrapper* GetCollator(); - static CollatorWrapper* GetCaseCollator(); - static IntlWrapper* GetScIntlWrapper(); - static ::com::sun::star::lang::Locale* GetLocale(); - - SC_DLLPUBLIC static ::utl::TransliterationWrapper* GetpTransliteration(); - static ::utl::TransliterationWrapper* GetCaseTransliteration(); - - SC_DLLPUBLIC static LanguageType eLnge; - static sal_Unicode cListDelimiter; - - static const String& GetClipDocName(); - static void SetClipDocName( const String& rNew ); - SC_DLLPUBLIC static const SvxSearchItem& GetSearchItem(); - SC_DLLPUBLIC static void SetSearchItem( const SvxSearchItem& rNew ); - SC_DLLPUBLIC static ScAutoFormat* GetAutoFormat(); - static void ClearAutoFormat(); //BugId 54209 - static FuncCollection* GetFuncCollection(); - SC_DLLPUBLIC static ScUnoAddInCollection* GetAddInCollection(); - SC_DLLPUBLIC static ScUserList* GetUserList(); - static void SetUserList( const ScUserList* pNewList ); - SC_DLLPUBLIC static const String& GetRscString( sal_uInt16 nIndex ); - static void OpenURL( const String& rURL, const String& rTarget ); - SC_DLLPUBLIC static String GetAbsDocName( const String& rFileName, - SfxObjectShell* pShell ); - SC_DLLPUBLIC static String GetDocTabName( const String& rFileName, - const String& rTabName ); - SC_DLLPUBLIC static sal_uLong GetStandardFormat( SvNumberFormatter&, - sal_uLong nFormat, short nType ); - SC_DLLPUBLIC static sal_uLong GetStandardFormat( double, SvNumberFormatter&, - sal_uLong nFormat, short nType ); - - SC_DLLPUBLIC static double nScreenPPTX; - SC_DLLPUBLIC static double nScreenPPTY; - - static ScDocShellRef* pDrawClipDocShellRef; - - static sal_uInt16 nDefFontHeight; - static sal_uInt16 nStdRowHeight; - - SC_DLLPUBLIC static long nLastRowHeightExtra; - static long nLastColWidthExtra; - - static void Init(); // during start up - static void InitAddIns(); - static void Clear(); // at the end of the program - - static void UpdatePPT(OutputDevice* pDev); - - static void InitTextHeight(SfxItemPool* pPool); - static SvxBrushItem* GetEmptyBrushItem() { return pEmptyBrushItem; } - static SvxBrushItem* GetButtonBrushItem(); - static SvxBrushItem* GetEmbeddedBrushItem() { return pEmbeddedBrushItem; } - static SvxBrushItem* GetProtectedBrushItem() { return pProtectedBrushItem; } - SC_DLLPUBLIC static const String& GetEmptyString(); - static const String& GetScDocString(); - - /** Returns the specified image list with outline symbols. */ - static ImageList* GetOutlineSymbols(); - - static bool HasStarCalcFunctionList(); - static ScFunctionList* GetStarCalcFunctionList(); - static ScFunctionMgr* GetStarCalcFunctionMgr(); - static void ResetFunctionList(); - - static String GetErrorString(sal_uInt16 nErrNumber); - static String GetLongErrorString(sal_uInt16 nErrNumber); - static sal_Bool EETextObjEqual( const EditTextObject* pObj1, - const EditTextObject* pObj2 ); - static sal_Bool CheckWidthInvalidate( sal_Bool& bNumFormatChanged, - const SfxItemSet& rNewAttrs, - const SfxItemSet& rOldAttrs ); - static sal_Bool HasAttrChanged( const SfxItemSet& rNewAttrs, - const SfxItemSet& rOldAttrs, - const sal_uInt16 nWhich ); - - static ScUnitConverter* GetUnitConverter(); - - /// strchr() functionality on unicode, as long as we need it for ScToken etc. - static const sal_Unicode* UnicodeStrChr( const sal_Unicode* pStr, sal_Unicode c ); - - static inline sal_Unicode ToUpperAlpha( sal_Unicode c ) - { return ( c >= 'a' && c <= 'z' ) ? ( c-'a'+'A' ) : c; } - - /** Adds the string rToken to rTokenList, using a list separator character. - @param rTokenList The string list where the token will be appended to. - @param rToken The token string to append to the token list. - @param cSep The character to separate the tokens. - @param nSepCount Specifies how often cSep is inserted between two tokens. - @param bForceSep true = Always insert separator; false = Only, if not at begin or end. */ - SC_DLLPUBLIC static void AddToken( - String& rTokenList, const String& rToken, - sal_Unicode cSep, xub_StrLen nSepCount = 1, - bool bForceSep = false ); - - /** Returns true, if the first and last character of the string is cQuote. */ - SC_DLLPUBLIC static bool IsQuoted( const String& rString, sal_Unicode cQuote = '\'' ); - - /** Inserts the character cQuote at beginning and end of rString. - @param bEscapeEmbedded If <TRUE/>, embedded quote characters are - escaped by doubling them. - */ -SC_DLLPUBLIC static void AddQuotes( String& rString, sal_Unicode cQuote = '\'', bool bEscapeEmbedded = true ); - - /** Erases the character cQuote from rString, if it exists at beginning AND end. - @param bUnescapeEmbedded If <TRUE/>, embedded doubled quote characters - are unescaped by replacing them with a - single instance. - */ -SC_DLLPUBLIC static void EraseQuotes( String& rString, sal_Unicode cQuote = '\'', bool bUnescapeEmbedded = true ); - - /** Finds an unquoted instance of cChar in rString, starting at - offset nStart. Unquoted instances may occur when concatenating two - quoted strings with a separator, for example, 's1':'s2'. Embedded - quotes have to be escaped by being doubled. Caller must ensure that - nStart points into an unquoted range or the opening quote. Specialty: - if cChar==cQuote the first cQuote character from nStart on is found. - @returns offset if found, else STRING_NOTFOUND - */ -SC_DLLPUBLIC static xub_StrLen FindUnquoted( const String& rString, sal_Unicode cChar, xub_StrLen nStart = 0, sal_Unicode cQuote = '\'' ); - - /** Finds an unquoted instance of cChar in null-terminated pString. Same - semantics as FindUnquoted( const String&, ...) - @returns: pointer to cChar if found, else NULL - */ -SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar, sal_Unicode cQuote = '\'' ); - - - static CharSet GetCharsetValue( const String& rCharSet ); - static String GetCharsetString( CharSet eVal ); - - /// a "ReadOnly" formatter for UNO/XML export - static SvNumberFormatter* GetEnglishFormatter(); - - static sal_Bool IsSystemRTL(); // depending on system language - static LanguageType GetEditDefaultLanguage(); // for EditEngine::SetDefaultLanguage - SC_DLLPUBLIC static sal_uInt8 GetDefaultScriptType(); // for all WEAK characters - /** Map ATTR_((CJK|CTL)_)?FONT_... to proper WhichIDs. - If more than one SCRIPTTYPE_... values are or'ed together, prefers - first COMPLEX, then ASIAN */ - SC_DLLPUBLIC static sal_uInt16 GetScriptedWhichID( sal_uInt8 nScriptType, sal_uInt16 nWhich ); - - /** Adds a language item to the item set, if the number format item contains - a language that differs from its parent's language. */ - SC_DLLPUBLIC static void AddLanguage( SfxItemSet& rSet, SvNumberFormatter& rFormatter ); - - /** Obtain the ordinal suffix for a number according to the system locale */ - static String GetOrdinalSuffix( sal_Int32 nNumber); -}; -#endif - -// maybe move to dbdata.hxx (?): - -enum ScQueryOp - { - SC_EQUAL, - SC_LESS, - SC_GREATER, - SC_LESS_EQUAL, - SC_GREATER_EQUAL, - SC_NOT_EQUAL, - SC_TOPVAL, - SC_BOTVAL, - SC_TOPPERC, - SC_BOTPERC, - SC_CONTAINS, - SC_DOES_NOT_CONTAIN, - SC_BEGINS_WITH, - SC_DOES_NOT_BEGIN_WITH, - SC_ENDS_WITH, - SC_DOES_NOT_END_WITH - }; - -enum ScQueryConnect - { - SC_AND, - SC_OR - }; - -enum ScSubTotalFunc - { - SUBTOTAL_FUNC_NONE = 0, - SUBTOTAL_FUNC_AVE = 1, - SUBTOTAL_FUNC_CNT = 2, - SUBTOTAL_FUNC_CNT2 = 3, - SUBTOTAL_FUNC_MAX = 4, - SUBTOTAL_FUNC_MIN = 5, - SUBTOTAL_FUNC_PROD = 6, - SUBTOTAL_FUNC_STD = 7, - SUBTOTAL_FUNC_STDP = 8, - SUBTOTAL_FUNC_SUM = 9, - SUBTOTAL_FUNC_VAR = 10, - SUBTOTAL_FUNC_VARP = 11 - }; - -/* - * dialog returns the special field values "empty"/"not empty" - * as constants SC_EMPTYFIELDS and SC_NONEMPTYFIELDS respectively in nVal in - * conjuctions with the flag bQueryByString = FALSE. - */ - -#define SC_EMPTYFIELDS ((double)0x0042) -#define SC_NONEMPTYFIELDS ((double)0x0043) - -namespace utl -{ - class SearchParam; - class TextSearch; -} - -struct ScQueryEntry -{ - sal_Bool bDoQuery; - sal_Bool bQueryByString; - bool bQueryByDate; - SCCOLROW nField; - ScQueryOp eOp; - ScQueryConnect eConnect; - String* pStr; - double nVal; - utl::SearchParam* pSearchParam; // if RegExp, not saved - utl::TextSearch* pSearchText; // if RegExp, not saved - - ScQueryEntry(); - ScQueryEntry(const ScQueryEntry& r); - ~ScQueryEntry(); - - // creates pSearchParam and pSearchText if necessary, always RegExp! - utl::TextSearch* GetSearchTextPtr( sal_Bool bCaseSens ); - - void Clear(); - ScQueryEntry& operator=( const ScQueryEntry& r ); - sal_Bool operator==( const ScQueryEntry& r ) const; -}; - -class ScArea; - -struct ScConsolidateParam -{ - SCCOL nCol; // cursor position / - SCROW nRow; // or start of destination area respectively - SCTAB nTab; - ScSubTotalFunc eFunction; - sal_uInt16 nDataAreaCount; // number of data areas - ScArea** ppDataAreas; // array of pointers into data areas - sal_Bool bByCol; - sal_Bool bByRow; - sal_Bool bReferenceData; // reference source data - - ScConsolidateParam(); - ScConsolidateParam( const ScConsolidateParam& r ); - ~ScConsolidateParam(); - - ScConsolidateParam& operator= ( const ScConsolidateParam& r ); - sal_Bool operator== ( const ScConsolidateParam& r ) const; - void Clear (); // = ClearDataAreas()+Members - void ClearDataAreas (); - void SetAreas ( ScArea* const* ppAreas, sal_uInt16 nCount ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/globalnames.hxx b/sc/inc/globalnames.hxx deleted file mode 100644 index ae30bc1e0..000000000 --- a/sc/inc/globalnames.hxx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Initial Developer of the Original Code is - * Markus Mohrhard <markus.mohrhard@googlemail.com> - * Portions created by the Initial Developer are Copyright (C) 2010 the - * Initial Developer. All Rights Reserved. - * - * Contributor(s): Kohei Yoshida <kyoshida@novell.com> - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#ifndef __SC_GLOBALNAMES_HXX__ -#define __SC_GLOBALNAMES_HXX__ - -#define STR_DB_LOCAL_NONAME "__Anonymous_Sheet_DB__" -#define STR_DB_GLOBAL_NONAME "__Anonymous_DB__" - -#endif diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc deleted file mode 100644 index 5be06f2a9..000000000 --- a/sc/inc/globstr.hrc +++ /dev/null @@ -1,595 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef __GLOBSTR_HRC_ -#define __GLOBSTR_HRC_ - -#define STR_UNDO_DELETECELLS 1 -#define STR_UNDO_CUT 2 -#define STR_UNDO_PASTE 3 -#define STR_UNDO_MOVE 4 -#define STR_UNDO_COPY 5 -#define STR_UNDO_DELETECONTENTS 6 -#define STR_UNDO_SELATTR 7 -#define STR_UNDO_SELATTRLINES 8 -#define STR_UNDO_COLWIDTH 9 -#define STR_UNDO_OPTCOLWIDTH 10 -#define STR_UNDO_ROWHEIGHT 11 -#define STR_UNDO_OPTROWHEIGHT 12 -#define STR_UNDO_AUTOFILL 13 -#define STR_UNDO_MERGE 14 -#define STR_UNDO_REMERGE 15 -#define STR_UNDO_AUTOFORMAT 16 -#define STR_UNDO_REPLACE 17 -#define STR_UNDO_CURSORATTR 18 -#define STR_UNDO_ENTERDATA 19 -#define STR_UNDO_INSCOLBREAK 20 -#define STR_UNDO_DELCOLBREAK 21 -#define STR_UNDO_INSROWBREAK 22 -#define STR_UNDO_DELROWBREAK 23 -#define STR_UNDO_DOOUTLINE 24 -#define STR_UNDO_REDOOUTLINE 25 -#define STR_UNDO_MAKEOUTLINE 26 -#define STR_UNDO_REMAKEOUTLINE 27 -#define STR_UNDO_OUTLINELEVEL 28 -#define STR_UNDO_DOOUTLINEBLK 29 -#define STR_UNDO_REDOOUTLINEBLK 30 -#define STR_UNDO_REMOVEALLOTLNS 31 -#define STR_UNDO_AUTOOUTLINE 32 -#define STR_UNDO_SUBTOTALS 33 -#define STR_UNDO_SORT 34 -#define STR_UNDO_QUERY 35 -#define STR_UNDO_DBDATA 36 -#define STR_UNDO_IMPORTDATA 37 -#define STR_UNDO_REPEATDB 38 - -#define STR_DB_NONAME 39 - -#define STR_MSSG_DOSUBTOTALS_0 40 -#define STR_MSSG_DOSUBTOTALS_1 41 -#define STR_MSSG_DOSUBTOTALS_2 42 -#define STR_MSSG_REPEATDB_0 43 -#define STR_MSSG_MAKEAUTOFILTER_0 44 -#define STR_MSSG_IMPORTDATA_0 45 -#define STR_MSSG_MAKEOUTLINE_0 46 -#define STR_MSSG_REMOVEOUTLINE_0 47 -#define STR_MSSG_PASTEFROMCLIP_0 48 -#define STR_MSSG_PASTEFROMCLIP_1 49 -#define STR_MSSG_MOVEBLOCKTO_0 50 -#define STR_MSSG_INSERTCELLS_0 52 -#define STR_MSSG_DELETECELLS_0 53 -#define STR_MSSG_MERGECELLS_0 54 -#define STR_MSSG_SEARCHANDREPLACE_0 55 -#define STR_MSSG_SOLVE_0 56 -#define STR_MSSG_SOLVE_1 57 -#define STR_MSSG_SOLVE_2 58 -#define STR_MSSG_SOLVE_3 59 -#define STR_MSSG_SOLVE_4 60 -#define STR_MSSG_SOLVE_5 61 -#define STR_MSSG_SOLVE_6 62 - -#define STR_TABLE_GESAMTERGEBNIS 64 -#define STR_TABLE_ERGEBNIS 65 -#define STR_UNDO_SPELLING 66 -#define STR_TABLE_UND 67 -#define STR_TABLE_ODER 68 -#define STR_UNDO_INSERTCELLS 69 -#define STR_TABLE_DEF 70 -#define STR_MOVE_TO_END 72 -#define STR_BOX_YNI 73 -#define STR_NO_REF_TABLE 74 - -#define STR_PIVOTFUNC_SUM 75 // pivot.cxx -#define STR_PIVOTFUNC_COUNT 76 -#define STR_PIVOTFUNC_AVG 77 -#define STR_PIVOTFUNC_MAX 78 -#define STR_PIVOTFUNC_MIN 79 -#define STR_PIVOTFUNC_PROD 80 -#define STR_PIVOTFUNC_COUNT2 90 -#define STR_PIVOTFUNC_STDDEV 91 -#define STR_PIVOTFUNC_STDDEV2 92 -#define STR_PIVOTFUNC_VAR 93 -#define STR_PIVOTFUNC_VAR2 94 -#define STR_PIVOT_TOTAL 95 -#define STR_PIVOT_DATA 96 - -#define STR_PIVOT_INVALID_DBAREA 97 // tabvwsh3.cxx - -#define STR_TABLE 98 -#define STR_COLUMN 99 -#define STR_ROW 100 -#define STR_LOAD_DOC 101 -#define STR_SAVE_DOC 102 - -#define STR_ERR_INVALID_TABREF 103 -#define STR_AREA_ALREADY_INSERTED 104 -#define STR_INVALID_TABREF 105 -#define STR_INVALID_QUERYAREA 106 - -#define STR_REIMPORT_EMPTY 107 -#define STR_NOMULTISELECT 108 -#define STR_FILL_SERIES_PROGRESS 109 // documen3.cxx - -#define STR_UNKNOWN_FILTER 110 - -#define STR_DATABASE_NOTFOUND 111 -#define STR_DATABASE_ABORTED 112 - -#define STR_UNDO_PRINTRANGES 113 - -#define STR_UNDO_DEC_INDENT 114 -#define STR_UNDO_INC_INDENT 115 -#define STR_UNDO_THESAURUS 116 - -#define STR_FILL_TAB 117 -#define STR_NO_VALUE 118 /* moved to compiler.src, keep define! */ -#define STR_UPDATE_SCENARIO 119 -#define STR_ERR_NEWSCENARIO 120 -#define STR_SCENARIO 121 -#define STR_PIVOT_TABLE 122 -#define STR_NEWTABNAMENOTUNIQUE 123 - -#define STR_FUN_TEXT_SUM 124 -#define STR_FUN_TEXT_COUNT 125 -#define STR_FUN_TEXT_AVG 126 -#define STR_FUN_TEXT_MAX 127 -#define STR_FUN_TEXT_MIN 128 -#define STR_FUN_TEXT_PRODUCT 129 -#define STR_FUN_TEXT_STDDEV 130 -#define STR_FUN_TEXT_VAR 131 -#define STR_DOC_STAT 132 - -#define STR_DBNAME_IMPORT 134 - -#define STR_NOCHARTATCURSOR 135 -#define STR_NOAREASELECTED 136 -#define STR_INVALIDTABNAME 137 - -#define STR_PIVOT_NOTFOUND 138 -#define STR_ERROR_STR 139 -#define STR_NV_STR 140 /* moved to compiler.src, keep define! */ -#define STR_EMPTYDATA 141 -#define STR_PIVOT_NODATA 142 -#define STR_PIVOT_MOVENOTALLOWED 143 - -#define STR_PRINT_INVALID_AREA 144 - -#define STR_PAGESTYLE 145 -#define STR_HEADER 146 -#define STR_FOOTER 147 - -#define STR_TEXTATTRS 148 - -#define STR_HFCMD_DELIMITER 149 -#define HFCMD_START 150 -#define STR_HFCMD_PAGE 150 -#define STR_HFCMD_PAGES 151 -#define STR_HFCMD_DATE 152 -#define STR_HFCMD_TIME 153 -#define STR_HFCMD_FILE 154 -#define STR_HFCMD_TABLE 155 -#define HFCMD_END 155 - -#define STR_PROTECTIONERR 156 - -#define STR_PAGEHEADER 157 -#define STR_PAGEFOOTER 158 -#define STR_PAGE 159 -#define STR_LONG_ERR_ILL_ARG 160 -#define STR_LONG_ERR_ILL_PAR 161 -#define STR_LONG_ERR_ILL_FPO 162 -#define STR_LONG_ERR_ILL_CHAR 163 -#define STR_LONG_ERR_ILL_SEP 164 -#define STR_LONG_ERR_PAIR 165 -#define STR_LONG_ERR_OP_EXP 166 -#define STR_LONG_ERR_VAR_EXP 167 -#define STR_LONG_ERR_CODE_OVF 168 -#define STR_LONG_ERR_STR_OVF 169 -#define STR_LONG_ERR_STACK_OVF 170 -#define STR_LONG_ERR_SYNTAX 171 -#define STR_LONG_ERR_CIRC_REF 172 -#define STR_LONG_ERR_NO_NAME 173 -#define STR_LONG_ERR_NO_REF 174 -#define STR_LONG_ERR_NO_CONV 175 -#define STR_LONG_ERR_NO_VALUE 176 -#define STR_LONG_ERR_NV 177 - -#define STR_GRIDCOLOR 178 -#define STR_MERGE_NOTEMPTY 179 -#define STR_CELL_FILTER 180 - -#define STR_TARGETNOTFOUND 181 - -#define STR_INVALID_EPS 182 -#define STR_TABLE_OP 183 // documen4.cxx -#define STR_UNDO_TABOP 184 - -#define STR_INVALID_AFNAME 185 - -#define STR_AREA 186 -#define STR_YES 187 -#define STR_NO 188 -#define STR_PROTECTION 189 -#define STR_FORMULAS 190 -#define STR_HIDE 191 -#define STR_PRINT 192 - -#define STR_INVALID_AFAREA 193 - -#define STR_CASCADE 194 // function auto pilot -#define STR_OPTIONAL 195 -#define STR_REQUIRED 196 -#define STR_EDITFUNCTION 197 -#define STR_INVALID 198 - -#define STR_NOTES 199 -#define STR_QUERY_DELTAB 200 - -#define STR_UNDO_DETREFRESH 201 - -#define STR_UNDO_SHOWNOTE 202 -#define STR_UNDO_HIDENOTE 203 -#define STR_UNDO_DRAGDROP 204 - -#define STR_EXPORT_ASCII_WARNING 205 -#define STR_IMPORT_ERROR 206 -#define STR_IMPORT_ASCII 207 -#define STR_IMPORT_LOTUS 208 -#define STR_IMPORT_DBF 209 -#define STR_EXPORT_ASCII 210 - -#define STR_STYLENAME_STANDARD 71 -#define STR_STYLENAME_RESULT 133 -#define STR_STYLENAME_RESULT1 211 -#define STR_STYLENAME_HEADLINE 212 -#define STR_STYLENAME_HEADLINE1 213 -#define STR_STYLENAME_REPORT 214 -#define STR_STYLENAME_REPORT1 215 - -#define STR_PIVOT_ERROR 216 -#define STR_PIVOT_PROGRESS 217 -#define STR_IMPORT_EXCEL_WARNING 218 -#define STR_SPELLING_STOP_OK 219 -#define STR_THESAURUS_NO_STRING 220 -#define STR_SPELLING_BEGIN_TAB 221 -#define STR_SPELLING_NO_LANG 222 // can be removed later - -#define STR_UNDO_GRAFEDIT 223 - -#define STR_NOLANGERR 224 - -#define STR_UNDO_INSERT_TAB 225 -#define STR_UNDO_DELETE_TAB 226 -#define STR_UNDO_RENAME_TAB 227 -#define STR_UNDO_MOVE_TAB 228 -#define STR_UNDO_COPY_TAB 229 -#define STR_UNDO_APPEND_TAB 230 - -#define STR_CHART_MAINTITLE 231 -#define STR_CHART_SUBTITLE 232 -#define STR_CHART_XTITLE 233 -#define STR_CHART_YTITLE 234 -#define STR_CHART_ZTITLE 235 - -#define STR_ABSREFLOST 236 -#define STR_NAMECONFLICT 237 - -#define STR_ERR_AUTOFILTER 238 -#define STR_MSSG_SEARCHANDREPLACE_1 239 -#define STR_MSSG_SEARCHANDREPLACE_2 240 -#define STR_MSSG_SEARCHANDREPLACE_3 241 - -#define STR_CREATENAME_REPLACE 242 -#define STR_CREATENAME_MARKERR 243 - -#define STR_UNDO_LISTNAMES 244 -#define STR_UNDO_PIVOT_NEW 245 -#define STR_UNDO_PIVOT_MODIFY 246 -#define STR_UNDO_PIVOT_DELETE 247 -#define STR_UNDO_CONSOLIDATE 248 -#define STR_UNDO_USESCENARIO 249 -#define STR_UNDO_MAKESCENARIO 250 - -#define STR_CONSOLIDATE_ERR1 251 -#define STR_SCENARIO_NOTFOUND 252 - -#define STR_UNDO_APPLYCELLSTYLE 253 - -#define STR_UNDO_DETADDPRED 254 -#define STR_UNDO_DETDELPRED 255 -#define STR_UNDO_DETADDSUCC 256 -#define STR_UNDO_DETDELSUCC 257 -#define STR_UNDO_DETADDERROR 258 -#define STR_UNDO_DETDELALL 259 - -#define STR_QUERY_DELENTRY 260 - -#define STR_VOBJ_OBJECT 261 -#define STR_VOBJ_CHART 262 -#define STR_VOBJ_DRAWINGS 263 -#define STR_VOBJ_MODE_SHOW 264 -#define STR_VOBJ_MODE_HIDE 265 - -#define STR_SCATTR_PAGE_TOPDOWN 267 -#define STR_SCATTR_PAGE_LEFTRIGHT 268 -#define STR_SCATTR_PAGE_NOTES 269 -#define STR_SCATTR_PAGE_GRID 270 -#define STR_SCATTR_PAGE_HEADERS 271 -#define STR_SCATTR_PAGE_FORMULAS 272 -#define STR_SCATTR_PAGE_NULLVALS 273 -#define STR_SCATTR_PAGE_PRINTDIR 274 -#define STR_SCATTR_PAGE_FIRSTPAGENO 275 -#define STR_SCATTR_PAGE_SCALE 276 -#define STR_SCATTR_PAGE_SCALETOPAGES 277 - -#define STR_NOREF_STR 278 /* moved to compiler.src, keep define! */ - -#define STR_UNDO_CHARTDATA 280 -#define STR_UNDO_ORIGINALSIZE 281 - -#define STR_LINKERROR 282 -#define STR_LINKERRORFILE 283 -#define STR_LINKERRORTAB 284 -#define STR_UNDO_UPDATELINK 285 - -#define STR_IMPORT_REPLACE 286 - -#define STR_UNDO_REMOVELINK 287 - -#define STR_OVERVIEW 288 -#define STR_DOC_INFO 289 -#define STR_DOC_CREATED 290 -#define STR_DOC_MODIFIED 291 -#define STR_DOC_PRINTED 292 -#define STR_DOC_THEME 293 -#define STR_DOC_KEYWORDS 318 -#define STR_DOC_COMMENT 294 -#define STR_BY 295 -#define STR_ON 296 - -#define STR_RELOAD_TABLES 297 - -#define STR_FILTER_TOOMANY 298 - -#define STR_UNDO_ENTERMATRIX 299 - -#define STR_INSERT_FULL 300 -#define STR_TABINSERT_ERROR 301 -#define STR_PASTE_ERROR 302 -#define STR_PASTE_FULL 303 - -#define STR_ERR_INVALID_AREA 304 - -#define STR_IMPORT_DIF 305 -#define STR_EXPORT_DIF 306 - -#define STR_ERR_NOREF 307 -#define STR_FUN_TEXT_COUNT2 308 -#define STR_NO_NAME_REF 309 /* moved to compiler.src, keep define! */ - -#define STR_MATRIXFRAGMENTERR 310 - -#define STR_UNDO_SHOWTAB 311 -#define STR_UNDO_HIDETAB 312 -#define STR_UNDO_INSERTAREALINK 313 - -#define STR_REIMPORT_AFTER_LOAD 314 - -#define STR_DETINVALID_OVERFLOW 315 -#define STR_GRAPHICNAME 316 -#define STR_INVALIDNAME 317 -#define STR_ERR_LINKOVERLAP 319 - -#define STR_VALID_MACRONOTFOUND 320 -#define STR_VALID_DEFERROR 321 - -#define STR_UNDO_DETINVALID 322 - -#define STR_PROGRESS_CALCULATING 323 -#define STR_PROGRESS_SORTING 324 -#define STR_PROGRESS_HEIGHTING 325 - -#define STR_QUICKHELP_DELETE 326 - -#define STR_FUNCTIONLIST_MORE 327 - -#define STR_PIVOT_STYLE_INNER 328 -#define STR_PIVOT_STYLE_RESULT 329 -#define STR_PIVOT_STYLE_CATEGORY 330 -#define STR_PIVOT_STYLE_TITLE 331 -#define STR_PIVOT_STYLE_FIELDNAME 332 -#define STR_PIVOT_STYLE_TOP 333 - -#define STR_OPERATION_FILTER 334 -#define STR_OPERATION_SORT 335 -#define STR_OPERATION_SUBTOTAL 336 -#define STR_OPERATION_NONE 337 - -#define STR_UNDO_PROTECT_TAB 338 -#define STR_UNDO_UNPROTECT_TAB 339 -#define STR_UNDO_PROTECT_DOC 340 -#define STR_UNDO_UNPROTECT_DOC 341 - -#define STR_PROGRESS_IMPORT 342 - -#define STR_SORT_ERR_MERGED 343 - -#define STR_TIP_WIDTH 344 -#define STR_TIP_HEIGHT 345 -#define STR_TIP_HIDE 346 - -#define STR_UNDO_REMOVEBREAKS 347 -#define STR_UNDO_PRINTSCALE 348 -#define STR_UNDO_DRAG_BREAK 349 - -#define STR_QUICKHELP_REF 350 - -#define STR_PIVOT_OVERLAP 351 -#define STR_PIVOT_NOTEMPTY 352 - -#define STR_QUERY_NOTFOUND 353 - -#define STR_ERR_INSERTOBJ 354 - -#define STR_PROGRESS_COMPARING 355 - -#define STR_CHANGED_BLANK 356 -#define STR_CHANGED_CELL 357 -#define STR_CHANGED_INSERT 358 -#define STR_CHANGED_DELETE 359 -#define STR_CHANGED_MOVE 360 - -#define STR_QUERY_DELSCENARIO 361 -#define STR_UNDO_EDITSCENARIO 362 - -#define STR_END_REDLINING_TITLE 363 -#define STR_END_REDLINING 364 - -#define STR_UNDO_EDITNOTE 365 -#define STR_TABREMOVE_ERROR 366 -#define STR_CLOSE_ERROR_LINK 367 -#define STR_UNDO_RANGENAMES 368 - -#define STR_MSSG_SEARCHANDREPLACE_4 369 -#define STR_MSSG_SEARCHANDREPLACE_5 370 - -#define STR_UNDO_RESIZEMATRIX 371 -#define STR_TIP_RESIZEMATRIX 372 - -#define STR_READONLYERR 373 - -#define STR_PASTE_BIGGER 374 - -#define STR_MACRO_WARNING 375 - -#define STR_EXPORT_DBF 376 - -#define STR_UNDO_APPLYPAGESTYLE 377 -#define STR_UNDO_EDITCELLSTYLE 378 -#define STR_UNDO_EDITPAGESTYLE 379 - -#define STR_DATAPILOT_SUBTOTAL 380 - -#define STR_UNDO_TRANSLITERATE 381 - -#define STR_NO_ADDIN 382 -#define STR_LONG_ERR_NO_ADDIN 383 -#define STR_NO_MACRO 384 -#define STR_LONG_ERR_NO_MACRO 385 - -#define STR_SCATTR_PAGE_SCALETO 386 -#define STR_SCATTR_PAGE_SCALE_WIDTH 387 -#define STR_SCATTR_PAGE_SCALE_HEIGHT 388 -#define STR_SCATTR_PAGE_SCALE_PAGES 389 -#define STR_SCATTR_PAGE_SCALE_AUTO 390 - -#define STR_UNDO_TAB_RTL 391 -#define STR_UNDO_HANGULHANJA 392 -#define STR_UNDO_CHINESE_TRANSLATION 393 - -#define STR_NAME_INPUT_CELL 394 -#define STR_NAME_INPUT_RANGE 395 -#define STR_NAME_INPUT_DBRANGE 396 -#define STR_NAME_INPUT_ROW 397 -#define STR_NAME_INPUT_SHEET 398 -#define STR_NAME_INPUT_DEFINE 399 -#define STR_NAME_ERROR_SELECTION 400 -#define STR_NAME_ERROR_NAME 401 - -#define STR_CHANGED_MOVE_REJECTION_WARNING 402 -#define STR_CHANGED_DELETE_REJECTION_WARNING 403 - -#define STR_HF_NONE_IN_BRACKETS 404 -#define STR_HF_OF 405 -#define STR_HF_OF_QUESTION 406 -#define STR_HF_CREATED_BY 407 -#define STR_HF_CONFIDENTIAL 408 -#define STR_HF_CUSTOMIZED 409 -#define STR_HF_CUSTOM_FOOTER 410 - -#define STR_ERR_DATAPILOT_INPUT 411 - -#define STR_DIV_ZERO 412 /* moved to compiler.src, keep define! */ -#define STR_LONG_ERR_DIV_ZERO 413 -#define STR_NUM_ERROR 414 /* moved to compiler.src, keep define! */ -#define STR_NULL_ERROR 415 /* moved to compiler.src, keep define! */ - -#define STR_RECALC_MANUAL 416 -#define STR_RECALC_AUTO 417 - -#define STR_UNDO_TAB_R1C1 418 - -#define STR_ERR_LONG_NESTED_ARRAY 419 -#define STR_UNDO_TEXTTOCOLUMNS 420 - -#define STR_DOC_UPDATED 421 -#define STR_DOC_WILLBESAVED 422 -#define STR_DOC_WILLNOTBESAVED 423 -#define STR_DOC_DISABLESHARED 424 -#define STR_DOC_NOLONGERSHARED 425 -#define STR_SHARED_DOC_WARNING 426 -#define STR_FILE_LOCKED_TRY_LATER 427 -#define STR_FILE_LOCKED_SAVE_LATER 428 -#define STR_UNKNOWN_USER 429 -#define STR_LONG_ERR_NULL 430 - -#define STR_UNDO_INSERTNOTE 431 -#define STR_UNDO_DELETENOTE 432 -#define STR_STYLE_FAMILY_CELL 433 -#define STR_STYLE_FAMILY_PAGE 434 - -#define STR_ERR_DATAPILOTSOURCE 435 -#define STR_PIVOT_FIRSTROWEMPTYERR 436 -#define STR_PIVOT_ONLYONEROWERR 437 - -#define STR_UNDO_SET_TAB_BG_COLOR 438 -#define STR_UNDO_SET_MULTI_TAB_BG_COLOR 439 -#define STR_UNDO_INSERT_CURRENT_DATE 440 -#define STR_UNDO_INSERT_CURRENT_TIME 441 - -#define STR_OPTIONS_WARN_SEPARATORS 442 -#define STR_SHAPE_AUTOSHAPE 443 -#define STR_SHAPE_RECTANGLE 444 -#define STR_SHAPE_LINE 445 -#define STR_SHAPE_OVAL 446 -#define STR_SHAPE_TEXTBOX 447 - -#define STR_FORM_BUTTON 448 -#define STR_FORM_CHECKBOX 449 -#define STR_FORM_OPTIONBUTTON 450 -#define STR_FORM_LABEL 451 -#define STR_FORM_LISTBOX 452 -#define STR_FORM_GROUPBOX 453 -#define STR_FORM_DROPDOWN 454 -#define STR_FORM_SPINNER 455 -#define STR_FORM_SCROLLBAR 456 - -#define STR_PGNUM 457 - -#define STR_COUNT 458 - -#endif diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h deleted file mode 100644 index 6273186a0..000000000 --- a/sc/inc/helpids.h +++ /dev/null @@ -1,694 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "sfx2/sfxcommands.h" -#include "svx/svxcommands.h" -#include "sccommands.h" - -#define HID_INSWIN_POS "SC_HID_INSWIN_POS" -#define HID_INSWIN_CALC "SC_HID_INSWIN_CALC" -#define HID_INSWIN_CANCEL "SC_HID_INSWIN_CANCEL" -#define HID_INSWIN_OK "SC_HID_INSWIN_OK" -#define HID_INSWIN_SUMME "SC_HID_INSWIN_SUMME" -#define HID_INSWIN_FUNC "SC_HID_INSWIN_FUNC" -#define HID_INSWIN_INPUT "SC_HID_INSWIN_INPUT" - -// Hilfe IDs fuer Dokumentfenster -------------------------------------------- -#define HID_SC_WIN_GRIDWIN "SC_HID_SC_WIN_GRIDWIN" -#define HID_SC_WIN_PREVIEW "SC_HID_SC_WIN_PREVIEW" - -// Hilfe IDs fuer einzelne Controls (max.30) --------------------------------- -// Kopf/Fusszeilen Editfenster: Header/Footer links/rechts links/mitte/rechts -#define HID_SC_HF_HLL "SC_HID_SC_HF_HLL" -#define HID_SC_HF_HLC "SC_HID_SC_HF_HLC" -#define HID_SC_HF_HLR "SC_HID_SC_HF_HLR" -#define HID_SC_HF_HRL "SC_HID_SC_HF_HRL" -#define HID_SC_HF_HRC "SC_HID_SC_HF_HRC" -#define HID_SC_HF_HRR "SC_HID_SC_HF_HRR" -#define HID_SC_HF_FLL "SC_HID_SC_HF_FLL" -#define HID_SC_HF_FLC "SC_HID_SC_HF_FLC" -#define HID_SC_HF_FLR "SC_HID_SC_HF_FLR" -#define HID_SC_HF_FRL "SC_HID_SC_HF_FRL" -#define HID_SC_HF_FRC "SC_HID_SC_HF_FRC" -#define HID_SC_HF_FRR "SC_HID_SC_HF_FRR" -// "Spalten" in Teilergebnissen: Gruppe 1/2/3 - nicht mehr! -#define HID_SC_SUBT_COLS_1 "SC_HID_SC_SUBT_COLS_1" -#define HID_SC_SUBT_COLS_2 "SC_HID_SC_SUBT_COLS_2" -#define HID_SC_SUBT_COLS_3 "SC_HID_SC_SUBT_COLS_3" -// Eintraege im Navigator -#define HID_SC_NAVIPI_ENTRIES "SC_HID_SC_NAVIPI_ENTRIES" -#define HID_SC_NAVIPI_ROW "SC_HID_SC_NAVIPI_ROW" -#define HID_SC_NAVIPI_COL "SC_HID_SC_NAVIPI_COL" -#define HID_SC_NAVIPI_DOC "SC_HID_SC_NAVIPI_DOC" -#define HID_SC_NAVIPI_DATA "SC_HID_SC_NAVIPI_DATA" -#define HID_SC_NAVIPI_UP "SC_HID_SC_NAVIPI_UP" -#define HID_SC_NAVIPI_DOWN "SC_HID_SC_NAVIPI_DOWN" -#define HID_SC_NAVIPI_ZOOM "SC_HID_SC_NAVIPI_ZOOM" -#define HID_SC_NAVIPI_ROOT "SC_HID_SC_NAVIPI_ROOT" -#define HID_SC_NAVIPI_SCEN "SC_HID_SC_NAVIPI_SCEN" -#define HID_SC_NAVIPI_DROP "SC_HID_SC_NAVIPI_DROP" -// Teilergebnisse -#define HID_SC_SUBT_GROUP "SC_HID_SC_SUBT_GROUP" -#define HID_SC_SUBT_COLS "SC_HID_SC_SUBT_COLS" -#define HID_SC_SUBT_FUNC "SC_HID_SC_SUBT_FUNC" -// -#define HID_SC_NAVIPI_TOOLBOX "SC_HID_SC_NAVIPI_TOOLBOX" -// Bereich ist voll! - -// Hilfe IDs fuer Dialoge / Pages (max.70) ----------------------------------- -#define HID_SC_AUTOFORMAT "SC_HID_SC_AUTOFORMAT" -#define HID_SC_PIVOTFILTER "SC_HID_SC_PIVOTFILTER" -#define HID_SC_INPORTOPT "SC_HID_SC_INPORTOPT" -#define HID_SC_PIVOTSUBT "SC_HID_SC_PIVOTSUBT" -#define HID_SC_FORM_ARGS "SC_HID_SC_FORM_ARGS" -#define HID_SCPAGE_SORT_FIELDS "SC_HID_SCPAGE_SORT_FIELDS" -#define HID_SCPAGE_SORT_OPTIONS "SC_HID_SCPAGE_SORT_OPTIONS" -#define HID_SCPAGE_SUBT_OPTIONS "SC_HID_SCPAGE_SUBT_OPTIONS" -#define HID_SCPAGE_SUBT_GROUP "SC_HID_SCPAGE_SUBT_GROUP" -#define HID_SCPAGE_PROTECTION "SC_HID_SCPAGE_PROTECTION" -#define HID_SCPAGE_VIEW "SC_HID_SCPAGE_VIEW" -#define HID_SCPAGE_CALC "SC_HID_SCPAGE_CALC" -#define HID_SCPAGE_FORMULA "SC_HID_SCPAGE_FORMULA" -#define HID_SCPAGE_USERLISTS "SC_HID_SCPAGE_USERLISTS" -#define HID_SCPAGE_HFEDIT "SC_HID_SCPAGE_HFEDIT" -#define HID_SCPAGE_AREAS "SC_HID_SCPAGE_AREAS" -#define HID_SCPAGE_COMPATIBILITY "SC_HID_SCPAGE_COMPATIBILITY" -#define HID_SCPAGE_TABLE "SC_HID_SCPAGE_TABLE" -#define HID_SCPAGE_PRINT "SC_HID_SCPAGE_PRINT" -#define HID_SCPAGE_DEFAULTS "SC_HID_SCPAGE_DEFAULTS" -#define HID_SCPAGE_SUBT_GROUP1 "SC_HID_SCPAGE_SUBT_GROUP1" -#define HID_SCPAGE_SUBT_GROUP2 "SC_HID_SCPAGE_SUBT_GROUP2" -#define HID_SCPAGE_SUBT_GROUP3 "SC_HID_SCPAGE_SUBT_GROUP3" - -#define HID_SCPAGE_HFED_HL "SC_HID_SCPAGE_HFED_HL" -#define HID_SCPAGE_HFED_HR "SC_HID_SCPAGE_HFED_HR" -#define HID_SCPAGE_HFED_FL "SC_HID_SCPAGE_HFED_FL" -#define HID_SCPAGE_HFED_FR "SC_HID_SCPAGE_HFED_FR" - -#define HID_SCPAGE_CONTENT "SC_HID_SCPAGE_CONTENT" -#define HID_SCPAGE_LAYOUT "SC_HID_SCPAGE_LAYOUT" -#define HID_SCPAGE_INPUT "SC_HID_SCPAGE_INPUT" - -#define HID_SC_NAVIGATOR "SC_HID_SC_NAVIGATOR" - -#define HID_SC_MTRIN_VAL "SC_HID_SC_MTRIN_VAL" -#define HID_SC_MTRIN_DEF "SC_HID_SC_MTRIN_DEF" -#define HID_SC_SELENTRY_LIST "SC_HID_SC_SELENTRY_LIST" -#define HID_SC_GROUP_COLS "SC_HID_SC_GROUP_COLS" -#define HID_SC_GROUP_ROWS "SC_HID_SC_GROUP_ROWS" - -#define HID_SC_HF_TEXT "SC_HID_SC_HF_TEXT" -#define HID_SC_HF_FILE "SC_HID_SC_HF_FILE" -#define HID_SC_HF_TABLE "SC_HID_SC_HF_TABLE" -#define HID_SC_HF_PAGE "SC_HID_SC_HF_PAGE" -#define HID_SC_HF_PAGES "SC_HID_SC_HF_PAGES" -#define HID_SC_HF_DATE "SC_HID_SC_HF_DATE" -#define HID_SC_HF_TIME "SC_HID_SC_HF_TIME" - -#define HID_SC_HEADER_EDIT "SC_HID_SC_HEADER_EDIT" -#define HID_SC_FOOTER_EDIT "SC_HID_SC_FOOTER_EDIT" - -#define HID_SC_SCENWIN_TOP "SC_HID_SC_SCENWIN_TOP" -#define HID_SC_SCENWIN_BOTTOM "SC_HID_SC_SCENWIN_BOTTOM" - -#define HID_SC_INPUTWIN "SC_HID_SC_INPUTWIN" - -#define HID_SC_RENAME_NAME "SC_HID_SC_RENAME_NAME" -#define HID_SC_APPEND_NAME "SC_HID_SC_APPEND_NAME" - -// Funktionsautopilot: nur als Unique-IDs -#define HID_SC_FAP_PAGE "SC_HID_SC_FAP_PAGE" -#define HID_SC_FAP_EDIT1 "SC_HID_SC_FAP_EDIT1" -#define HID_SC_FAP_EDIT2 "SC_HID_SC_FAP_EDIT2" -#define HID_SC_FAP_EDIT3 "SC_HID_SC_FAP_EDIT3" -#define HID_SC_FAP_EDIT4 "SC_HID_SC_FAP_EDIT4" - -#define HID_SC_ADD_AUTOFMT "SC_HID_SC_ADD_AUTOFMT" -#define HID_SC_AUTOFMT_NAME "SC_HID_SC_AUTOFMT_NAME" - -#define HID_SC_DROPMODE_URL "SC_HID_SC_DROPMODE_URL" -#define HID_SC_DROPMODE_LINK "SC_HID_SC_DROPMODE_LINK" -#define HID_SC_DROPMODE_COPY "SC_HID_SC_DROPMODE_COPY" - -#define HID_SC_FAP_STRUCT "SC_HID_SC_FAP_STRUCT" -#define HID_SC_ASCII_TABCTR "SC_HID_SC_ASCII_TABCTR" - -#define HID_SC_SCENARIO_DELETE "SC_HID_SC_SCENARIO_DELETE" -#define HID_SC_SCENARIO_EDIT "SC_HID_SC_SCENARIO_EDIT" - -#define HID_SCDLG_FORMULA "SC_HID_SCDLG_FORMULA" -#define HID_SCDLG_CONDFORMAT "SC_HID_SCDLG_CONDFORMAT" -#define HID_COLROWNAMERANGES "SC_HID_COLROWNAMERANGES" - -#define HID_FUNCTION_BOX "SC_HID_FUNCTION_BOX" -#define HID_SCPAGE_OPREDLINE "SC_HID_SCPAGE_OPREDLINE" -#define HID_SC_REDLIN_CTR "SC_HID_SC_REDLIN_CTR" - -//Kopf/FusszeilenDlg: Contextmenue fuer Dateiname -#define HID_FCOMMAND_TITEL "SC_HID_FCOMMAND_TITEL" -#define HID_FCOMMAND_FILENAME "SC_HID_FCOMMAND_FILENAME" -#define HID_FCOMMAND_PATH "SC_HID_FCOMMAND_PATH" - - -// Hilfe IDs fuer Objekt- und Werkzeugleisten (max.10) ----------------------- - -#define HID_SC_TOOLBOX_TOOLS "SC_HID_SC_TOOLBOX_TOOLS" -#define HID_SC_TOOLBOX_TABLE "SC_HID_SC_TOOLBOX_TABLE" -#define HID_SC_TOOLBOX_DRAW "SC_HID_SC_TOOLBOX_DRAW" -#define HID_SC_TOOLBOX_DRTEXT "SC_HID_SC_TOOLBOX_DRTEXT" -#define HID_SC_TOOLBOX_PREVIEW "SC_HID_SC_TOOLBOX_PREVIEW" - -// wrong group - HID_SC_DLG_START is full -#define HID_SC_RENAME_AUTOFMT "SC_HID_SC_RENAME_AUTOFMT" -#define HID_SC_REN_AFMT_NAME "SC_HID_SC_REN_AFMT_NAME" - -#define HID_SC_TOOLBOX_GRAPHIC "SC_HID_SC_TOOLBOX_GRAPHIC" - -#define HID_CHG_PROTECT "SC_HID_CHG_PROTECT" - -#define HID_SC_RENAME_OBJECT "SC_HID_SC_RENAME_OBJECT" - -#define HID_SC_REN_AFMT_DLG "SC_HID_SC_REN_AFMT_DLG" - -// Hilfe IDs fuer Submenus (max.50) ------------------------------------------ -#define HID_SCMENU_EDIT "SC_HID_SCMENU_EDIT" -#define HID_SCMENU_FILL "SC_HID_SCMENU_FILL" -#define HID_SCMENU_DELBREAK "SC_HID_SCMENU_DELBREAK" -#define HID_SCMENU_VIEW "SC_HID_SCMENU_VIEW" -#define HID_SCMENU_TOOLBARS "SC_HID_SCMENU_TOOLBARS" -#define HID_SCMENU_INSERT "SC_HID_SCMENU_INSERT" -#define HID_SCMENU_INSBREAK "SC_HID_SCMENU_INSBREAK" -#define HID_SCMENU_NAME "SC_HID_SCMENU_NAME" -#define HID_SCMENU_GRAPHIC "SC_HID_SCMENU_GRAPHIC" -#define HID_SCMENU_DATA "SC_HID_SCMENU_DATA" -#define HID_SCMENU_FILTER "SC_HID_SCMENU_FILTER" -#define HID_SCMENU_OUTLINE "SC_HID_SCMENU_OUTLINE" -#define HID_SCMENU_PIVOT "SC_HID_SCMENU_PIVOT" -#define HID_SCMENU_EXTRA "SC_HID_SCMENU_EXTRA" -#define HID_SCMENU_SPELLING "SC_HID_SCMENU_SPELLING" -#define HID_SCMENU_AUDIT "SC_HID_SCMENU_AUDIT" -#define HID_SCMENU_PROTECT "SC_HID_SCMENU_PROTECT" -#define HID_SCMENU_CELLCONT "SC_HID_SCMENU_CELLCONT" -#define HID_SCMENU_ROW "SC_HID_SCMENU_ROW" -#define HID_SCMENU_COL "SC_HID_SCMENU_COL" -#define HID_SCMENU_TAB "SC_HID_SCMENU_TAB" -#define HID_SCMENU_MERGE "SC_HID_SCMENU_MERGE" -#define HID_SCMENU_AREA "SC_HID_SCMENU_AREA" -#define HID_SCMENU_OBJMIRROR "SC_HID_SCMENU_OBJMIRROR" -#define HID_SCMENU_OBJARRANGE "SC_HID_SCMENU_OBJARRANGE" -#define HID_SCMENU_ANCHOR "SC_HID_SCMENU_ANCHOR" -#define HID_SCMENU_SENDTO "SC_HID_SCMENU_SENDTO" -#define HID_SCMENU_CHANGES "SC_HID_SCMENU_CHANGES" - -#define HID_SC_FAP_BTN_FX1 "SC_HID_SC_FAP_BTN_FX1" -#define HID_SC_FAP_BTN_FX2 "SC_HID_SC_FAP_BTN_FX2" -#define HID_SC_FAP_BTN_FX3 "SC_HID_SC_FAP_BTN_FX3" -#define HID_SC_FAP_BTN_FX4 "SC_HID_SC_FAP_BTN_FX4" -#define HID_SC_FAP_BTN_REF1 "SC_HID_SC_FAP_BTN_REF1" -#define HID_SC_FAP_BTN_REF2 "SC_HID_SC_FAP_BTN_REF2" -#define HID_SC_FAP_BTN_REF3 "SC_HID_SC_FAP_BTN_REF3" -#define HID_SC_FAP_BTN_REF4 "SC_HID_SC_FAP_BTN_REF4" -#define HID_SC_FAP_FORMULA "SC_HID_SC_FAP_FORMULA" - -#define HID_SC_SORT_ACTION "SC_HID_SC_SORT_ACTION" -#define HID_SC_SORT_AUTHOR "SC_HID_SC_SORT_AUTHOR" -#define HID_SC_SORT_DATE "SC_HID_SC_SORT_DATE" -#define HID_SC_SORT_COMMENT "SC_HID_SC_SORT_COMMENT" -#define HID_SORT_POSITION "SC_HID_SORT_POSITION" -#define HID_SC_CHANGES_COMMENT "SC_HID_SC_CHANGES_COMMENT" -#define HID_SC_FUNCTIONLIST "SC_HID_SC_FUNCTIONLIST" -#define HID_SCPAGE_OPTLOAD "SC_HID_SCPAGE_OPTLOAD" -#define HID_PASSWD_TABLE "SC_HID_PASSWD_TABLE" -#define HID_PASSWD_DOC "SC_HID_PASSWD_DOC" - -#define HID_DATAPILOT_TYPE "SC_HID_DATAPILOT_TYPE" -#define HID_DATAPILOT_DATABASE "SC_HID_DATAPILOT_DATABASE" -#define HID_DATAPILOT_SERVICE "SC_HID_DATAPILOT_SERVICE" - -// Other help IDs (max.70) --------------------------------------------------- -#define HID_SCDLG_LINKAREAURL "SC_HID_SCDLG_LINKAREAURL" -#define HID_SCMENU_EDIT_TABLE "SC_HID_SCMENU_EDIT_TABLE" - -#define HID_SELECTTABLES "SC_HID_SELECTTABLES" -#define HID_SC_REPLCELLSWARN "SC_HID_SC_REPLCELLSWARN" - -// data pilot layout dialog -#define HID_SC_DPLAY_PAGE "SC_HID_SC_DPLAY_PAGE" -#define HID_SC_DPLAY_COLUMN "SC_HID_SC_DPLAY_COLUMN" -#define HID_SC_DPLAY_ROW "SC_HID_SC_DPLAY_ROW" -#define HID_SC_DPLAY_DATA "SC_HID_SC_DPLAY_DATA" -#define HID_SC_DPLAY_SELECT "SC_HID_SC_DPLAY_SELECT" - -#define HID_SC_DRAW_RENAME "SC_HID_SC_DRAW_RENAME" - -#define HID_SC_DPDATAFIELD "SC_HID_SC_DPDATAFIELD" -#define HID_SC_DPSUBT_OPT "SC_HID_SC_DPSUBT_OPT" -#define HID_SC_DPSUBT_HIDE "SC_HID_SC_DPSUBT_HIDE" -#define HID_SC_DPNUMGROUP "SC_HID_SC_DPNUMGROUP" -#define HID_SC_DPDATEGROUP "SC_HID_SC_DPDATEGROUP" -#define HID_SC_DPDATEGROUP_LB "SC_HID_SC_DPDATEGROUP_LB" -#define HID_SC_DPSHOWDETAIL "SC_HID_SC_DPSHOWDETAIL" - -// #i68101# -#define HID_SC_TITLE_DESCRIPTION_OBJECT "SC_HID_SC_TITLE_DESCRIPTION_OBJECT" - -#define HID_SC_SOLVEROPTIONS "SC_HID_SC_SOLVEROPTIONS" -#define HID_SC_SOLVEROPTIONS_LB "SC_HID_SC_SOLVEROPTIONS_LB" -#define HID_SC_SOLVER_INTEGER "SC_HID_SC_SOLVER_INTEGER" -#define HID_SC_SOLVER_DOUBLE "SC_HID_SC_SOLVER_DOUBLE" -#define HID_SC_SOLVER_PROGRESS "SC_HID_SC_SOLVER_PROGRESS" -#define HID_SC_SOLVER_NOSOLUTION "SC_HID_SC_SOLVER_NOSOLUTION" -#define HID_SC_SOLVER_SUCCESS "SC_HID_SC_SOLVER_SUCCESS" - -#define HID_SCDLG_CONFLICTS "SC_HID_SCDLG_CONFLICTS" - -#define HID_SC_HF_HL_DEFINED "SC_HID_SC_HF_HL_DEFINED" -#define HID_SC_HF_HR_DEFINED "SC_HID_SC_HF_HR_DEFINED" -#define HID_SC_HF_FL_DEFINED "SC_HID_SC_HF_FL_DEFINED" -#define HID_SC_HF_FR_DEFINED "SC_HID_SC_HF_FR_DEFINED" - -// Analysis Addin Functions (max.120) ---------------------------------------- -#define HID_AAI_FUNC_WORKDAY "SC_HID_AAI_FUNC_WORKDAY" -#define HID_AAI_FUNC_YEARFRAC "SC_HID_AAI_FUNC_YEARFRAC" -#define HID_AAI_FUNC_EDATE "SC_HID_AAI_FUNC_EDATE" -#define HID_AAI_FUNC_WEEKNUM "SC_HID_AAI_FUNC_WEEKNUM" -#define HID_AAI_FUNC_EOMONTH "SC_HID_AAI_FUNC_EOMONTH" -#define HID_AAI_FUNC_NETWORKDAYS "SC_HID_AAI_FUNC_NETWORKDAYS" -#define HID_AAI_FUNC_AMORDEGRC "SC_HID_AAI_FUNC_AMORDEGRC" -#define HID_AAI_FUNC_AMORLINC "SC_HID_AAI_FUNC_AMORLINC" -#define HID_AAI_FUNC_ACCRINT "SC_HID_AAI_FUNC_ACCRINT" -#define HID_AAI_FUNC_ACCRINTM "SC_HID_AAI_FUNC_ACCRINTM" -#define HID_AAI_FUNC_RECEIVED "SC_HID_AAI_FUNC_RECEIVED" -#define HID_AAI_FUNC_DISC "SC_HID_AAI_FUNC_DISC" -#define HID_AAI_FUNC_DURATION "SC_HID_AAI_FUNC_DURATION" -#define HID_AAI_FUNC_EFFECT "SC_HID_AAI_FUNC_EFFECT" -#define HID_AAI_FUNC_CUMPRINC "SC_HID_AAI_FUNC_CUMPRINC" -#define HID_AAI_FUNC_CUMIPMT "SC_HID_AAI_FUNC_CUMIPMT" -#define HID_AAI_FUNC_PRICE "SC_HID_AAI_FUNC_PRICE" -#define HID_AAI_FUNC_PRICEDISC "SC_HID_AAI_FUNC_PRICEDISC" -#define HID_AAI_FUNC_PRICEMAT "SC_HID_AAI_FUNC_PRICEMAT" -#define HID_AAI_FUNC_MDURATION "SC_HID_AAI_FUNC_MDURATION" -#define HID_AAI_FUNC_NOMINAL "SC_HID_AAI_FUNC_NOMINAL" -#define HID_AAI_FUNC_DOLLARFR "SC_HID_AAI_FUNC_DOLLARFR" -#define HID_AAI_FUNC_DOLLARDE "SC_HID_AAI_FUNC_DOLLARDE" -#define HID_AAI_FUNC_YIELD "SC_HID_AAI_FUNC_YIELD" -#define HID_AAI_FUNC_YIELDDISC "SC_HID_AAI_FUNC_YIELDDISC" -#define HID_AAI_FUNC_YIELDMAT "SC_HID_AAI_FUNC_YIELDMAT" -#define HID_AAI_FUNC_TBILLEQ "SC_HID_AAI_FUNC_TBILLEQ" -#define HID_AAI_FUNC_TBILLPRICE "SC_HID_AAI_FUNC_TBILLPRICE" -#define HID_AAI_FUNC_TBILLYIELD "SC_HID_AAI_FUNC_TBILLYIELD" -#define HID_AAI_FUNC_ODDFPRICE "SC_HID_AAI_FUNC_ODDFPRICE" -#define HID_AAI_FUNC_ODDFYIELD "SC_HID_AAI_FUNC_ODDFYIELD" -#define HID_AAI_FUNC_ODDLPRICE "SC_HID_AAI_FUNC_ODDLPRICE" -#define HID_AAI_FUNC_ODDLYIELD "SC_HID_AAI_FUNC_ODDLYIELD" -#define HID_AAI_FUNC_XIRR "SC_HID_AAI_FUNC_XIRR" -#define HID_AAI_FUNC_XNPV "SC_HID_AAI_FUNC_XNPV" -#define HID_AAI_FUNC_INTRATE "SC_HID_AAI_FUNC_INTRATE" -#define HID_AAI_FUNC_COUPNCD "SC_HID_AAI_FUNC_COUPNCD" -#define HID_AAI_FUNC_COUPDAYS "SC_HID_AAI_FUNC_COUPDAYS" -#define HID_AAI_FUNC_COUPDAYSNC "SC_HID_AAI_FUNC_COUPDAYSNC" -#define HID_AAI_FUNC_COUPDAYBS "SC_HID_AAI_FUNC_COUPDAYBS" -#define HID_AAI_FUNC_COUPPCD "SC_HID_AAI_FUNC_COUPPCD" -#define HID_AAI_FUNC_COUPNUM "SC_HID_AAI_FUNC_COUPNUM" -#define HID_AAI_FUNC_FVSCHEDULE "SC_HID_AAI_FUNC_FVSCHEDULE" -#define HID_AAI_FUNC_ISEVEN "SC_HID_AAI_FUNC_ISEVEN" -#define HID_AAI_FUNC_ISODD "SC_HID_AAI_FUNC_ISODD" -#define HID_AAI_FUNC_GCD "SC_HID_AAI_FUNC_GCD" -#define HID_AAI_FUNC_LCM "SC_HID_AAI_FUNC_LCM" -#define HID_AAI_FUNC_MULTINOMIAL "SC_HID_AAI_FUNC_MULTINOMIAL" -#define HID_AAI_FUNC_SERIESSUM "SC_HID_AAI_FUNC_SERIESSUM" -#define HID_AAI_FUNC_QUOTIENT "SC_HID_AAI_FUNC_QUOTIENT" -#define HID_AAI_FUNC_MROUND "SC_HID_AAI_FUNC_MROUND" -#define HID_AAI_FUNC_SQRTPI "SC_HID_AAI_FUNC_SQRTPI" -#define HID_AAI_FUNC_RANDBETWEEN "SC_HID_AAI_FUNC_RANDBETWEEN" -#define HID_AAI_FUNC_BESSELI "SC_HID_AAI_FUNC_BESSELI" -#define HID_AAI_FUNC_BESSELJ "SC_HID_AAI_FUNC_BESSELJ" -#define HID_AAI_FUNC_BESSELK "SC_HID_AAI_FUNC_BESSELK" -#define HID_AAI_FUNC_BESSELY "SC_HID_AAI_FUNC_BESSELY" -#define HID_AAI_FUNC_BIN2DEC "SC_HID_AAI_FUNC_BIN2DEC" -#define HID_AAI_FUNC_BIN2HEX "SC_HID_AAI_FUNC_BIN2HEX" -#define HID_AAI_FUNC_BIN2OCT "SC_HID_AAI_FUNC_BIN2OCT" -#define HID_AAI_FUNC_DELTA "SC_HID_AAI_FUNC_DELTA" -#define HID_AAI_FUNC_DEC2BIN "SC_HID_AAI_FUNC_DEC2BIN" -#define HID_AAI_FUNC_DEC2HEX "SC_HID_AAI_FUNC_DEC2HEX" -#define HID_AAI_FUNC_DEC2OCT "SC_HID_AAI_FUNC_DEC2OCT" -#define HID_AAI_FUNC_ERF "SC_HID_AAI_FUNC_ERF" -#define HID_AAI_FUNC_ERFC "SC_HID_AAI_FUNC_ERFC" -#define HID_AAI_FUNC_GESTEP "SC_HID_AAI_FUNC_GESTEP" -#define HID_AAI_FUNC_HEX2BIN "SC_HID_AAI_FUNC_HEX2BIN" -#define HID_AAI_FUNC_HEX2DEC "SC_HID_AAI_FUNC_HEX2DEC" -#define HID_AAI_FUNC_HEX2OCT "SC_HID_AAI_FUNC_HEX2OCT" -#define HID_AAI_FUNC_IMABS "SC_HID_AAI_FUNC_IMABS" -#define HID_AAI_FUNC_IMAGINARY "SC_HID_AAI_FUNC_IMAGINARY" -#define HID_AAI_FUNC_IMPOWER "SC_HID_AAI_FUNC_IMPOWER" -#define HID_AAI_FUNC_IMARGUMENT "SC_HID_AAI_FUNC_IMARGUMENT" -#define HID_AAI_FUNC_IMCOS "SC_HID_AAI_FUNC_IMCOS" -#define HID_AAI_FUNC_IMDIV "SC_HID_AAI_FUNC_IMDIV" -#define HID_AAI_FUNC_IMEXP "SC_HID_AAI_FUNC_IMEXP" -#define HID_AAI_FUNC_IMCONJUGATE "SC_HID_AAI_FUNC_IMCONJUGATE" -#define HID_AAI_FUNC_IMLN "SC_HID_AAI_FUNC_IMLN" -#define HID_AAI_FUNC_IMLOG10 "SC_HID_AAI_FUNC_IMLOG10" -#define HID_AAI_FUNC_IMLOG2 "SC_HID_AAI_FUNC_IMLOG2" -#define HID_AAI_FUNC_IMPRODUCT "SC_HID_AAI_FUNC_IMPRODUCT" -#define HID_AAI_FUNC_IMREAL "SC_HID_AAI_FUNC_IMREAL" -#define HID_AAI_FUNC_IMSIN "SC_HID_AAI_FUNC_IMSIN" -#define HID_AAI_FUNC_IMSUB "SC_HID_AAI_FUNC_IMSUB" -#define HID_AAI_FUNC_IMSUM "SC_HID_AAI_FUNC_IMSUM" -#define HID_AAI_FUNC_IMSQRT "SC_HID_AAI_FUNC_IMSQRT" -#define HID_AAI_FUNC_COMPLEX "SC_HID_AAI_FUNC_COMPLEX" -#define HID_AAI_FUNC_OCT2BIN "SC_HID_AAI_FUNC_OCT2BIN" -#define HID_AAI_FUNC_OCT2DEZ "SC_HID_AAI_FUNC_OCT2DEZ" -#define HID_AAI_FUNC_OCT2HEX "SC_HID_AAI_FUNC_OCT2HEX" -#define HID_AAI_FUNC_CONVERT "SC_HID_AAI_FUNC_CONVERT" -#define HID_AAI_FUNC_FACTDOUBLE "SC_HID_AAI_FUNC_FACTDOUBLE" - -// DateFunc Addin Functions (max.20) ----------------------------------------- -#define HID_DAI_FUNC_DAYSINMONTH "SC_HID_DAI_FUNC_DAYSINMONTH" -#define HID_DAI_FUNC_DAYSINYEAR "SC_HID_DAI_FUNC_DAYSINYEAR" -#define HID_DAI_FUNC_WEEKSINYEAR "SC_HID_DAI_FUNC_WEEKSINYEAR" -#define HID_DAI_FUNC_DIFFMONTHS "SC_HID_DAI_FUNC_DIFFMONTHS" -#define HID_DAI_FUNC_DIFFWEEKS "SC_HID_DAI_FUNC_DIFFWEEKS" -#define HID_DAI_FUNC_DIFFYEARS "SC_HID_DAI_FUNC_DIFFYEARS" -#define HID_DAI_FUNC_ROT13 "SC_HID_DAI_FUNC_ROT13" - -#define HID_SCPAGE_OPREDLINBE_FT_CONTENT "SC_HID_SCPAGE_OPREDLINBE_FT_CONTENT" -#define HID_MN_FORMAT_STYLE "SC_HID_MN_FORMAT_STYLE" -#define HID_MN_FORMAT_ALGN "SC_HID_MN_FORMAT_ALGN" -#define HID_MN_FORMAT_LINESPACE "SC_HID_MN_FORMAT_LINESPACE" - - -// Ende Hilfe IDs ------------------------------------------------------------ - -#define HID_SC_FUNC_DUMMY "SC_HID_SC_FUNC_DUMMY" - -#define HID_FUNC_DBANZAHL "SC_HID_FUNC_DBANZAHL" -#define HID_FUNC_DBANZAHL2 "SC_HID_FUNC_DBANZAHL2" -#define HID_FUNC_DBMITTELWERT "SC_HID_FUNC_DBMITTELWERT" -#define HID_FUNC_DBAUSZUG "SC_HID_FUNC_DBAUSZUG" -#define HID_FUNC_DBMAX "SC_HID_FUNC_DBMAX" -#define HID_FUNC_DBMIN "SC_HID_FUNC_DBMIN" -#define HID_FUNC_DBPRODUKT "SC_HID_FUNC_DBPRODUKT" -#define HID_FUNC_DBSTDABW "SC_HID_FUNC_DBSTDABW" -#define HID_FUNC_DBSTDABWN "SC_HID_FUNC_DBSTDABWN" -#define HID_FUNC_DBSUMME "SC_HID_FUNC_DBSUMME" -#define HID_FUNC_DBVARIANZ "SC_HID_FUNC_DBVARIANZ" -#define HID_FUNC_DBVARIANZEN "SC_HID_FUNC_DBVARIANZEN" - -#define HID_FUNC_DATUM "SC_HID_FUNC_DATUM" -#define HID_FUNC_DATWERT "SC_HID_FUNC_DATWERT" -#define HID_FUNC_TAG "SC_HID_FUNC_TAG" -#define HID_FUNC_TAGE360 "SC_HID_FUNC_TAGE360" -#define HID_FUNC_STUNDE "SC_HID_FUNC_STUNDE" -#define HID_FUNC_MINUTE "SC_HID_FUNC_MINUTE" -#define HID_FUNC_MONAT "SC_HID_FUNC_MONAT" -#define HID_FUNC_JETZT "SC_HID_FUNC_JETZT" -#define HID_FUNC_SEKUNDE "SC_HID_FUNC_SEKUNDE" -#define HID_FUNC_ZEIT "SC_HID_FUNC_ZEIT" -#define HID_FUNC_ZEITWERT "SC_HID_FUNC_ZEITWERT" -#define HID_FUNC_HEUTE "SC_HID_FUNC_HEUTE" -#define HID_FUNC_WOCHENTAG "SC_HID_FUNC_WOCHENTAG" -#define HID_FUNC_JAHR "SC_HID_FUNC_JAHR" -#define HID_FUNC_TAGE "SC_HID_FUNC_TAGE" -#define HID_FUNC_KALENDERWOCHE "SC_HID_FUNC_KALENDERWOCHE" -#define HID_FUNC_OSTERSONNTAG "SC_HID_FUNC_OSTERSONNTAG" - -#define HID_FUNC_BW "SC_HID_FUNC_BW" -#define HID_FUNC_ZW "SC_HID_FUNC_ZW" -#define HID_FUNC_ZZR "SC_HID_FUNC_ZZR" -#define HID_FUNC_RMZ "SC_HID_FUNC_RMZ" -#define HID_FUNC_ZINS "SC_HID_FUNC_ZINS" -#define HID_FUNC_ZINSZ "SC_HID_FUNC_ZINSZ" -#define HID_FUNC_KAPZ "SC_HID_FUNC_KAPZ" -#define HID_FUNC_KUMKAPITAL "SC_HID_FUNC_KUMKAPITAL" -#define HID_FUNC_KUMZINSZ "SC_HID_FUNC_KUMZINSZ" -#define HID_FUNC_DIA "SC_HID_FUNC_DIA" -#define HID_FUNC_LIA "SC_HID_FUNC_LIA" -#define HID_FUNC_GDA "SC_HID_FUNC_GDA" -#define HID_FUNC_GDA2 "SC_HID_FUNC_GDA2" -#define HID_FUNC_VDB "SC_HID_FUNC_VDB" -#define HID_FUNC_EFFEKTIV "SC_HID_FUNC_EFFEKTIV" -#define HID_FUNC_NOMINAL "SC_HID_FUNC_NOMINAL" -#define HID_FUNC_NBW "SC_HID_FUNC_NBW" -#define HID_FUNC_IKV "SC_HID_FUNC_IKV" -#define HID_FUNC_LAUFZEIT "SC_HID_FUNC_LAUFZEIT" -#define HID_FUNC_ZGZ "SC_HID_FUNC_ZGZ" -#define HID_FUNC_QIKV "SC_HID_FUNC_QIKV" -#define HID_FUNC_ISPMT "SC_HID_FUNC_ISPMT" - -#define HID_FUNC_ISTBEZUG "SC_HID_FUNC_ISTBEZUG" -#define HID_FUNC_ISTFEHL "SC_HID_FUNC_ISTFEHL" -#define HID_FUNC_ISTFEHLER "SC_HID_FUNC_ISTFEHLER" -#define HID_FUNC_ISTLEER "SC_HID_FUNC_ISTLEER" -#define HID_FUNC_ISTLOG "SC_HID_FUNC_ISTLOG" -#define HID_FUNC_ISTNV "SC_HID_FUNC_ISTNV" -#define HID_FUNC_ISTKTEXT "SC_HID_FUNC_ISTKTEXT" -#define HID_FUNC_ISTTEXT "SC_HID_FUNC_ISTTEXT" -#define HID_FUNC_ISTZAHL "SC_HID_FUNC_ISTZAHL" -#define HID_FUNC_ISTFORMEL "SC_HID_FUNC_ISTFORMEL" -#define HID_FUNC_N "SC_HID_FUNC_N" -#define HID_FUNC_NV "SC_HID_FUNC_NV" -#define HID_FUNC_TYP "SC_HID_FUNC_TYP" -#define HID_FUNC_AKTUELL "SC_HID_FUNC_AKTUELL" -#define HID_FUNC_FORMEL "SC_HID_FUNC_FORMEL" -#define HID_FUNC_ZELLE "SC_HID_FUNC_ZELLE" -#define HID_FUNC_INFO "SC_HID_FUNC_INFO" - - -#define HID_FUNC_FALSCH "SC_HID_FUNC_FALSCH" -#define HID_FUNC_NICHT "SC_HID_FUNC_NICHT" -#define HID_FUNC_WAHR "SC_HID_FUNC_WAHR" -#define HID_FUNC_WENN "SC_HID_FUNC_WENN" -#define HID_FUNC_ODER "SC_HID_FUNC_ODER" -#define HID_FUNC_UND "SC_HID_FUNC_UND" - -#define HID_FUNC_ABS "SC_HID_FUNC_ABS" -#define HID_FUNC_POTENZ "SC_HID_FUNC_POTENZ" -#define HID_FUNC_ANZAHLLEEREZELLEN "SC_HID_FUNC_ANZAHLLEEREZELLEN" -#define HID_FUNC_PI "SC_HID_FUNC_PI" -#define HID_FUNC_SUMME "SC_HID_FUNC_SUMME" -#define HID_FUNC_QUADRATESUMME "SC_HID_FUNC_QUADRATESUMME" -#define HID_FUNC_PRODUKT "SC_HID_FUNC_PRODUKT" -#define HID_FUNC_SUMMEWENN "SC_HID_FUNC_SUMMEWENN" -#define HID_FUNC_ZAEHLENWENN "SC_HID_FUNC_ZAEHLENWENN" -#define HID_FUNC_WURZEL "SC_HID_FUNC_WURZEL" -#define HID_FUNC_ZUFALLSZAHL "SC_HID_FUNC_ZUFALLSZAHL" -#define HID_FUNC_ISTGERADE "SC_HID_FUNC_ISTGERADE" -#define HID_FUNC_ISTUNGERADE "SC_HID_FUNC_ISTUNGERADE" -#define HID_FUNC_KOMBINATIONEN "SC_HID_FUNC_KOMBINATIONEN" -#define HID_FUNC_KOMBINATIONEN2 "SC_HID_FUNC_KOMBINATIONEN2" -#define HID_FUNC_ARCCOS "SC_HID_FUNC_ARCCOS" -#define HID_FUNC_ARCSIN "SC_HID_FUNC_ARCSIN" -#define HID_FUNC_ARCOSHYP "SC_HID_FUNC_ARCOSHYP" -#define HID_FUNC_ARSINHYP "SC_HID_FUNC_ARSINHYP" -#define HID_FUNC_ARCCOT "SC_HID_FUNC_ARCCOT" -#define HID_FUNC_ARCTAN "SC_HID_FUNC_ARCTAN" -#define HID_FUNC_ARCOTHYP "SC_HID_FUNC_ARCOTHYP" -#define HID_FUNC_ARTANHYP "SC_HID_FUNC_ARTANHYP" -#define HID_FUNC_COS "SC_HID_FUNC_COS" -#define HID_FUNC_SIN "SC_HID_FUNC_SIN" -#define HID_FUNC_COT "SC_HID_FUNC_COT" -#define HID_FUNC_TAN "SC_HID_FUNC_TAN" -#define HID_FUNC_COSHYP "SC_HID_FUNC_COSHYP" -#define HID_FUNC_SINHYP "SC_HID_FUNC_SINHYP" -#define HID_FUNC_COTHYP "SC_HID_FUNC_COTHYP" -#define HID_FUNC_TANHYP "SC_HID_FUNC_TANHYP" -#define HID_FUNC_ARCTAN2 "SC_HID_FUNC_ARCTAN2" -#define HID_FUNC_DEG "SC_HID_FUNC_DEG" -#define HID_FUNC_RAD "SC_HID_FUNC_RAD" -#define HID_FUNC_EXP "SC_HID_FUNC_EXP" -#define HID_FUNC_LOG "SC_HID_FUNC_LOG" -#define HID_FUNC_LN "SC_HID_FUNC_LN" -#define HID_FUNC_LOG10 "SC_HID_FUNC_LOG10" -#define HID_FUNC_FAKULTAET "SC_HID_FUNC_FAKULTAET" -#define HID_FUNC_REST "SC_HID_FUNC_REST" -#define HID_FUNC_VORZEICHEN "SC_HID_FUNC_VORZEICHEN" -#define HID_FUNC_TEILERGEBNIS "SC_HID_FUNC_TEILERGEBNIS" -#define HID_FUNC_GANZZAHL "SC_HID_FUNC_GANZZAHL" -#define HID_FUNC_KUERZEN "SC_HID_FUNC_KUERZEN" -#define HID_FUNC_RUNDEN "SC_HID_FUNC_RUNDEN" -#define HID_FUNC_AUFRUNDEN "SC_HID_FUNC_AUFRUNDEN" -#define HID_FUNC_ABRUNDEN "SC_HID_FUNC_ABRUNDEN" -#define HID_FUNC_GERADE "SC_HID_FUNC_GERADE" -#define HID_FUNC_UNGERADE "SC_HID_FUNC_UNGERADE" -#define HID_FUNC_OBERGRENZE "SC_HID_FUNC_OBERGRENZE" -#define HID_FUNC_UNTERGRENZE "SC_HID_FUNC_UNTERGRENZE" -#define HID_FUNC_GGT "SC_HID_FUNC_GGT" -#define HID_FUNC_KGV "SC_HID_FUNC_KGV" -#define HID_FUNC_UMRECHNEN "SC_HID_FUNC_UMRECHNEN" -#define HID_FUNC_EUROCONVERT "SC_HID_FUNC_EUROCONVERT" - -#define HID_FUNC_MTRANS "SC_HID_FUNC_MTRANS" -#define HID_FUNC_MMULT "SC_HID_FUNC_MMULT" -#define HID_FUNC_MDET "SC_HID_FUNC_MDET" -#define HID_FUNC_MINV "SC_HID_FUNC_MINV" -#define HID_FUNC_EINHEITSMATRIX "SC_HID_FUNC_EINHEITSMATRIX" -#define HID_FUNC_SUMMENPRODUKT "SC_HID_FUNC_SUMMENPRODUKT" -#define HID_FUNC_SUMMEX2MY2 "SC_HID_FUNC_SUMMEX2MY2" -#define HID_FUNC_SUMMEX2PY2 "SC_HID_FUNC_SUMMEX2PY2" -#define HID_FUNC_SUMMEXMY2 "SC_HID_FUNC_SUMMEXMY2" -#define HID_FUNC_HAEUFIGKEIT "SC_HID_FUNC_HAEUFIGKEIT" -#define HID_FUNC_RGP "SC_HID_FUNC_RGP" -#define HID_FUNC_RKP "SC_HID_FUNC_RKP" -#define HID_FUNC_TREND "SC_HID_FUNC_TREND" -#define HID_FUNC_VARIATION "SC_HID_FUNC_VARIATION" - -#define HID_FUNC_ANZAHL "SC_HID_FUNC_ANZAHL" -#define HID_FUNC_ANZAHL2 "SC_HID_FUNC_ANZAHL2" -#define HID_FUNC_MAX "SC_HID_FUNC_MAX" -#define HID_FUNC_MIN "SC_HID_FUNC_MIN" -#define HID_FUNC_VARIANZ "SC_HID_FUNC_VARIANZ" -#define HID_FUNC_VARIANZEN "SC_HID_FUNC_VARIANZEN" -#define HID_FUNC_STABW "SC_HID_FUNC_STABW" -#define HID_FUNC_STABWN "SC_HID_FUNC_STABWN" -#define HID_FUNC_MITTELWERT "SC_HID_FUNC_MITTELWERT" -#define HID_FUNC_SUMQUADABW "SC_HID_FUNC_SUMQUADABW" -#define HID_FUNC_MITTELABW "SC_HID_FUNC_MITTELABW" -#define HID_FUNC_SCHIEFE "SC_HID_FUNC_SCHIEFE" -#define HID_FUNC_KURT "SC_HID_FUNC_KURT" -#define HID_FUNC_GEOMITTEL "SC_HID_FUNC_GEOMITTEL" -#define HID_FUNC_HARMITTEL "SC_HID_FUNC_HARMITTEL" -#define HID_FUNC_MODALWERT "SC_HID_FUNC_MODALWERT" -#define HID_FUNC_MEDIAN "SC_HID_FUNC_MEDIAN" -#define HID_FUNC_QUANTIL "SC_HID_FUNC_QUANTIL" -#define HID_FUNC_QUARTILE "SC_HID_FUNC_QUARTILE" -#define HID_FUNC_KGROESSTE "SC_HID_FUNC_KGROESSTE" -#define HID_FUNC_KKLEINSTE "SC_HID_FUNC_KKLEINSTE" -#define HID_FUNC_QUANTILSRANG "SC_HID_FUNC_QUANTILSRANG" -#define HID_FUNC_RANG "SC_HID_FUNC_RANG" -#define HID_FUNC_GESTUTZTMITTEL "SC_HID_FUNC_GESTUTZTMITTEL" -#define HID_FUNC_WAHRSCHBEREICH "SC_HID_FUNC_WAHRSCHBEREICH" -#define HID_FUNC_B "SC_HID_FUNC_B" -#define HID_FUNC_PHI "SC_HID_FUNC_PHI" -#define HID_FUNC_GAUSS "SC_HID_FUNC_GAUSS" -#define HID_FUNC_FISHER "SC_HID_FUNC_FISHER" -#define HID_FUNC_FISHERINV "SC_HID_FUNC_FISHERINV" -#define HID_FUNC_BINOMVERT "SC_HID_FUNC_BINOMVERT" -#define HID_FUNC_NEGBINOMVERT "SC_HID_FUNC_NEGBINOMVERT" -#define HID_FUNC_KRITBINOM "SC_HID_FUNC_KRITBINOM" -#define HID_FUNC_POISSON "SC_HID_FUNC_POISSON" -#define HID_FUNC_NORMVERT "SC_HID_FUNC_NORMVERT" -#define HID_FUNC_NORMINV "SC_HID_FUNC_NORMINV" -#define HID_FUNC_STANDNORMVERT "SC_HID_FUNC_STANDNORMVERT" -#define HID_FUNC_STANDNORMINV "SC_HID_FUNC_STANDNORMINV" -#define HID_FUNC_LOGNORMVERT "SC_HID_FUNC_LOGNORMVERT" -#define HID_FUNC_LOGINV "SC_HID_FUNC_LOGINV" -#define HID_FUNC_EXPONVERT "SC_HID_FUNC_EXPONVERT" -#define HID_FUNC_GAMMAVERT "SC_HID_FUNC_GAMMAVERT" -#define HID_FUNC_GAMMAINV "SC_HID_FUNC_GAMMAINV" -#define HID_FUNC_GAMMALN "SC_HID_FUNC_GAMMALN" -#define HID_FUNC_BETAVERT "SC_HID_FUNC_BETAVERT" -#define HID_FUNC_BETAINV "SC_HID_FUNC_BETAINV" -#define HID_FUNC_WEIBULL "SC_HID_FUNC_WEIBULL" -#define HID_FUNC_HYPGEOMVERT "SC_HID_FUNC_HYPGEOMVERT" -#define HID_FUNC_TVERT "SC_HID_FUNC_TVERT" -#define HID_FUNC_TINV "SC_HID_FUNC_TINV" -#define HID_FUNC_FVERT "SC_HID_FUNC_FVERT" -#define HID_FUNC_FINV "SC_HID_FUNC_FINV" -#define HID_FUNC_CHIVERT "SC_HID_FUNC_CHIVERT" -#define HID_FUNC_CHIINV "SC_HID_FUNC_CHIINV" -#define HID_FUNC_STANDARDISIERUNG "SC_HID_FUNC_STANDARDISIERUNG" -#define HID_FUNC_VARIATIONEN "SC_HID_FUNC_VARIATIONEN" -#define HID_FUNC_VARIATIONEN2 "SC_HID_FUNC_VARIATIONEN2" -#define HID_FUNC_KONFIDENZ "SC_HID_FUNC_KONFIDENZ" -#define HID_FUNC_GTEST "SC_HID_FUNC_GTEST" -#define HID_FUNC_CHITEST "SC_HID_FUNC_CHITEST" -#define HID_FUNC_FTEST "SC_HID_FUNC_FTEST" -#define HID_FUNC_TTEST "SC_HID_FUNC_TTEST" -#define HID_FUNC_BESTIMMTHEITSMASS "SC_HID_FUNC_BESTIMMTHEITSMASS" -#define HID_FUNC_ACHSENABSCHNITT "SC_HID_FUNC_ACHSENABSCHNITT" -#define HID_FUNC_STEIGUNG "SC_HID_FUNC_STEIGUNG" -#define HID_FUNC_STFEHLERYX "SC_HID_FUNC_STFEHLERYX" -#define HID_FUNC_PEARSON "SC_HID_FUNC_PEARSON" -#define HID_FUNC_KORREL "SC_HID_FUNC_KORREL" -#define HID_FUNC_KOVAR "SC_HID_FUNC_KOVAR" -#define HID_FUNC_SCHAETZER "SC_HID_FUNC_SCHAETZER" -#define HID_FUNC_MINA "SC_HID_FUNC_MINA" -#define HID_FUNC_MAXA "SC_HID_FUNC_MAXA" -#define HID_FUNC_MITTELWERTA "SC_HID_FUNC_MITTELWERTA" -#define HID_FUNC_STABWA "SC_HID_FUNC_STABWA" -#define HID_FUNC_STABWNA "SC_HID_FUNC_STABWNA" -#define HID_FUNC_VARIANZA "SC_HID_FUNC_VARIANZA" -#define HID_FUNC_VARIANZENA "SC_HID_FUNC_VARIANZENA" -#define HID_FUNC_CHISQDIST "SC_HID_FUNC_CHISQDIST" -#define HID_FUNC_CHISQINV "SC_HID_FUNC_CHISQINV" -#define HID_FUNC_GAMMA "SC_HID_FUNC_GAMMA" - -#define HID_FUNC_ADRESSE "SC_HID_FUNC_ADRESSE" -#define HID_FUNC_BEREICHE "SC_HID_FUNC_BEREICHE" -#define HID_FUNC_WAHL "SC_HID_FUNC_WAHL" -#define HID_FUNC_SPALTE "SC_HID_FUNC_SPALTE" -#define HID_FUNC_ZEILE "SC_HID_FUNC_ZEILE" -#define HID_FUNC_SPALTEN "SC_HID_FUNC_SPALTEN" -#define HID_FUNC_ZEILEN "SC_HID_FUNC_ZEILEN" -#define HID_FUNC_WVERWEIS "SC_HID_FUNC_WVERWEIS" -#define HID_FUNC_SVERWEIS "SC_HID_FUNC_SVERWEIS" -#define HID_FUNC_INDEX "SC_HID_FUNC_INDEX" -#define HID_FUNC_INDIREKT "SC_HID_FUNC_INDIREKT" -#define HID_FUNC_VERWEIS "SC_HID_FUNC_VERWEIS" -#define HID_FUNC_VERGLEICH "SC_HID_FUNC_VERGLEICH" -#define HID_FUNC_VERSCHIEBUNG "SC_HID_FUNC_VERSCHIEBUNG" -#define HID_FUNC_FEHLERTYP "SC_HID_FUNC_FEHLERTYP" -#define HID_FUNC_VORLAGE "SC_HID_FUNC_VORLAGE" -#define HID_FUNC_DDE "SC_HID_FUNC_DDE" -#define HID_FUNC_TABELLE "SC_HID_FUNC_TABELLE" -#define HID_FUNC_TABELLEN "SC_HID_FUNC_TABELLEN" -#define HID_FUNC_HYPERLINK "SC_HID_FUNC_HYPERLINK" -#define HID_FUNC_GETPIVOTDATA "SC_HID_FUNC_GETPIVOTDATA" - -#define HID_FUNC_CODE "SC_HID_FUNC_CODE" -#define HID_FUNC_DM "SC_HID_FUNC_DM" -#define HID_FUNC_ZEICHEN "SC_HID_FUNC_ZEICHEN" -#define HID_FUNC_SAEUBERN "SC_HID_FUNC_SAEUBERN" -#define HID_FUNC_VERKETTEN "SC_HID_FUNC_VERKETTEN" -#define HID_FUNC_IDENTISCH "SC_HID_FUNC_IDENTISCH" -#define HID_FUNC_FINDEN "SC_HID_FUNC_FINDEN" -#define HID_FUNC_SUCHEN "SC_HID_FUNC_SUCHEN" -#define HID_FUNC_GLAETTEN "SC_HID_FUNC_GLAETTEN" -#define HID_FUNC_GROSS2 "SC_HID_FUNC_GROSS2" -#define HID_FUNC_GROSS "SC_HID_FUNC_GROSS" -#define HID_FUNC_KLEIN "SC_HID_FUNC_KLEIN" -#define HID_FUNC_WERT "SC_HID_FUNC_WERT" -#define HID_FUNC_TEXT "SC_HID_FUNC_TEXT" -#define HID_FUNC_T "SC_HID_FUNC_T" -#define HID_FUNC_ERSETZEN "SC_HID_FUNC_ERSETZEN" -#define HID_FUNC_FEST "SC_HID_FUNC_FEST" -#define HID_FUNC_LAENGE "SC_HID_FUNC_LAENGE" -#define HID_FUNC_LINKS "SC_HID_FUNC_LINKS" -#define HID_FUNC_RECHTS "SC_HID_FUNC_RECHTS" -#define HID_FUNC_TEIL "SC_HID_FUNC_TEIL" -#define HID_FUNC_WIEDERHOLEN "SC_HID_FUNC_WIEDERHOLEN" -#define HID_FUNC_WECHSELN "SC_HID_FUNC_WECHSELN" -#define HID_FUNC_BASIS "SC_HID_FUNC_BASIS" -#define HID_FUNC_DEZIMAL "SC_HID_FUNC_DEZIMAL" -#define HID_FUNC_ROEMISCH "SC_HID_FUNC_ROEMISCH" -#define HID_FUNC_ARABISCH "SC_HID_FUNC_ARABISCH" -#define HID_FUNC_BAHTTEXT "SC_HID_FUNC_BAHTTEXT" -#define HID_FUNC_JIS "SC_HID_FUNC_JIS" -#define HID_FUNC_ASC "SC_HID_FUNC_ASC" -#define HID_FUNC_UNICODE "SC_HID_FUNC_UNICODE" -#define HID_FUNC_UNICHAR "SC_HID_FUNC_UNICHAR" -#define HID_FUNC_NUMBERVALUE "SC_HID_FUNC_NUMBERVALUE" diff --git a/sc/inc/hints.hxx b/sc/inc/hints.hxx deleted file mode 100644 index acafd467f..000000000 --- a/sc/inc/hints.hxx +++ /dev/null @@ -1,187 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_HINTS_HXX -#define SC_HINTS_HXX - -#include "global.hxx" -#include "address.hxx" -#include <svl/hint.hxx> - -// --------------------------------------------------------------------------- - -class ScPaintHint : public SfxHint -{ - ScRange aRange; - sal_uInt16 nParts; - sal_Bool bPrint; // flag indicating whether print/preview if affected - - ScPaintHint(); // disabled - -public: - TYPEINFO(); - ScPaintHint( const ScRange& rRng, sal_uInt16 nPaint = PAINT_ALL ); - ~ScPaintHint(); - - void SetPrintFlag(sal_Bool bSet) { bPrint = bSet; } - - const ScRange& GetRange() const { return aRange; } - SCCOL GetStartCol() const { return aRange.aStart.Col(); } - SCROW GetStartRow() const { return aRange.aStart.Row(); } - SCTAB GetStartTab() const { return aRange.aStart.Tab(); } - SCCOL GetEndCol() const { return aRange.aEnd.Col(); } - SCROW GetEndRow() const { return aRange.aEnd.Row(); } - SCTAB GetEndTab() const { return aRange.aEnd.Tab(); } - sal_uInt16 GetParts() const { return nParts; } - sal_Bool GetPrintFlag() const { return bPrint; } -}; - - -class ScUpdateRefHint : public SfxHint -{ - UpdateRefMode eUpdateRefMode; - ScRange aRange; - SCsCOL nDx; - SCsROW nDy; - SCsTAB nDz; - -public: - TYPEINFO(); - - ScUpdateRefHint( UpdateRefMode eMode, const ScRange& rR, - SCsCOL nX, SCsROW nY, SCsTAB nZ ); - ~ScUpdateRefHint(); - - UpdateRefMode GetMode() const { return eUpdateRefMode; } - const ScRange& GetRange() const { return aRange; } - SCsCOL GetDx() const { return nDx; } - SCsROW GetDy() const { return nDy; } - SCsTAB GetDz() const { return nDz; } -}; - - -#define SC_POINTERCHANGED_NUMFMT 1 - -class ScPointerChangedHint : public SfxHint -{ - sal_uInt16 nFlags; - -public: - TYPEINFO(); - - ~ScPointerChangedHint(); - - sal_uInt16 GetFlags() const { return nFlags; } -}; - - -//! move ScLinkRefreshedHint to a different file? - -#define SC_LINKREFTYPE_NONE 0 -#define SC_LINKREFTYPE_SHEET 1 -#define SC_LINKREFTYPE_AREA 2 -#define SC_LINKREFTYPE_DDE 3 - -class ScLinkRefreshedHint : public SfxHint -{ - sal_uInt16 nLinkType; // SC_LINKREFTYPE_... - String aUrl; // used for sheet links - String aDdeAppl; // used for dde links: - String aDdeTopic; - String aDdeItem; - sal_uInt8 nDdeMode; - ScAddress aDestPos; // used to identify area links - //! also use source data for area links? - -public: - TYPEINFO(); - ScLinkRefreshedHint(); - ~ScLinkRefreshedHint(); - - void SetSheetLink( const String& rSourceUrl ); - void SetDdeLink( const String& rA, const String& rT, const String& rI, sal_uInt8 nM ); - void SetAreaLink( const ScAddress& rPos ); - - sal_uInt16 GetLinkType() const { return nLinkType; } - const String& GetUrl() const { return aUrl; } - const String& GetDdeAppl() const { return aDdeAppl; } - const String& GetDdeTopic() const { return aDdeTopic; } - const String& GetDdeItem() const { return aDdeItem; } - sal_uInt8 GetDdeMode() const { return nDdeMode; } - const ScAddress& GetDestPos() const { return aDestPos; } -}; - - -//! move ScAutoStyleHint to a different file? - -class ScAutoStyleHint : public SfxHint -{ - ScRange aRange; - String aStyle1; - String aStyle2; - sal_uLong nTimeout; - -public: - TYPEINFO(); - ScAutoStyleHint( const ScRange& rR, const String& rSt1, - sal_uLong nT, const String& rSt2 ); - ~ScAutoStyleHint(); - - const ScRange& GetRange() const { return aRange; } - const String& GetStyle1() const { return aStyle1; } - sal_uInt32 GetTimeout() const { return nTimeout; } - const String& GetStyle2() const { return aStyle2; } -}; - -class ScDBRangeRefreshedHint : public SfxHint -{ - ScImportParam aParam; - -public: - TYPEINFO(); - ScDBRangeRefreshedHint( const ScImportParam& rP ); - ~ScDBRangeRefreshedHint(); - - const ScImportParam& GetImportParam() const { return aParam; } -}; - -class ScDataPilotModifiedHint : public SfxHint -{ - String maName; - -public: - TYPEINFO(); - ScDataPilotModifiedHint( const String& rName ); - ~ScDataPilotModifiedHint(); - - const String& GetName() const { return maName; } -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/inputopt.hxx b/sc/inc/inputopt.hxx deleted file mode 100644 index 8e739833e..000000000 --- a/sc/inc/inputopt.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_INPUTOPT_HXX -#define SC_INPUTOPT_HXX - - -#include <unotools/configitem.hxx> -#include <tools/solar.h> - -class SvStream; - - -class ScInputOptions -{ -private: - sal_uInt16 nMoveDir; // enum ScDirection - sal_Bool bMoveSelection; - sal_Bool bEnterEdit; - sal_Bool bExtendFormat; - sal_Bool bRangeFinder; - sal_Bool bExpandRefs; - sal_Bool bMarkHeader; - sal_Bool bUseTabCol; - sal_Bool bTextWysiwyg; - sal_Bool bReplCellsWarn; - -public: - ScInputOptions(); - ScInputOptions( const ScInputOptions& rCpy ); - ~ScInputOptions(); - - void SetDefaults(); - - void SetMoveDir(sal_uInt16 nNew) { nMoveDir = nNew; } - sal_uInt16 GetMoveDir() const { return nMoveDir; } - void SetMoveSelection(sal_Bool bSet) { bMoveSelection = bSet; } - sal_Bool GetMoveSelection() const { return bMoveSelection; } - void SetEnterEdit(sal_Bool bSet) { bEnterEdit = bSet; } - sal_Bool GetEnterEdit() const { return bEnterEdit; } - void SetExtendFormat(sal_Bool bSet) { bExtendFormat = bSet; } - sal_Bool GetExtendFormat() const { return bExtendFormat; } - void SetRangeFinder(sal_Bool bSet) { bRangeFinder = bSet; } - sal_Bool GetRangeFinder() const { return bRangeFinder; } - void SetExpandRefs(sal_Bool bSet) { bExpandRefs = bSet; } - sal_Bool GetExpandRefs() const { return bExpandRefs; } - void SetMarkHeader(sal_Bool bSet) { bMarkHeader = bSet; } - sal_Bool GetMarkHeader() const { return bMarkHeader; } - void SetUseTabCol(sal_Bool bSet) { bUseTabCol = bSet; } - sal_Bool GetUseTabCol() const { return bUseTabCol; } - void SetTextWysiwyg(sal_Bool bSet) { bTextWysiwyg = bSet; } - sal_Bool GetTextWysiwyg() const { return bTextWysiwyg; } - void SetReplaceCellsWarn(sal_Bool bSet) { bReplCellsWarn = bSet; } - sal_Bool GetReplaceCellsWarn() const { return bReplCellsWarn; } - - const ScInputOptions& operator= ( const ScInputOptions& rOpt ); -}; - - -//================================================================== -// CfgItem for input options -//================================================================== - -class ScInputCfg : public ScInputOptions, - public utl::ConfigItem -{ - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - ScInputCfg(); - - void SetOptions( const ScInputOptions& rNew ); - void OptionsChanged(); // after direct access to SetOptions base class - - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames ); - virtual void Commit(); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/linkuno.hxx b/sc/inc/linkuno.hxx deleted file mode 100644 index 895131981..000000000 --- a/sc/inc/linkuno.hxx +++ /dev/null @@ -1,630 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_LINKUNO_HXX -#define SC_LINKUNO_HXX - -#include <svl/lstner.hxx> -#include <svl/itemprop.hxx> -#include <com/sun/star/sheet/XDDELink.hpp> -#include <com/sun/star/sheet/XDDELinkResults.hpp> -#include <com/sun/star/sheet/XDDELinks.hpp> -#include <com/sun/star/sheet/XExternalDocLink.hpp> -#include <com/sun/star/sheet/XExternalDocLinks.hpp> -#include <com/sun/star/sheet/XExternalSheetCache.hpp> -#include <com/sun/star/sheet/XAreaLink.hpp> -#include <com/sun/star/sheet/XAreaLinks.hpp> -#include <com/sun/star/util/XRefreshable.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <com/sun/star/container/XNamed.hpp> -#include <cppuhelper/implbase1.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> - -#include "externalrefmgr.hxx" - -#include <boost/unordered_map.hpp> -#include <vector> - -class ScAreaLink; -class ScDocShell; -class ScTableLink; - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >* XRefreshListenerPtr; -SV_DECL_PTRARR_DEL( XRefreshListenerArr_Impl, XRefreshListenerPtr, 4, 4 ) - - - -class ScSheetLinkObj : public cppu::WeakImplHelper4< - com::sun::star::container::XNamed, - com::sun::star::util::XRefreshable, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - SfxItemPropertySet aPropSet; - ScDocShell* pDocShell; - String aFileName; - XRefreshListenerArr_Impl aRefreshListeners; - - ScTableLink* GetLink_Impl() const; - void Refreshed_Impl(); - void ModifyRefreshDelay_Impl( sal_Int32 nRefresh ); - -public: - ScSheetLinkObj(ScDocShell* pDocSh, const String& rName); - virtual ~ScSheetLinkObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // aus get/setPropertyValue gerufen: - ::rtl::OUString getFileName(void) const; - void setFileName(const ::rtl::OUString& FileName); - ::rtl::OUString getFilter(void) const; - void setFilter(const ::rtl::OUString& Filter); - ::rtl::OUString getFilterOptions(void) const; - void setFilterOptions(const ::rtl::OUString& FilterOptions); - sal_Int32 getRefreshDelay(void) const; - void setRefreshDelay(sal_Int32 nRefreshDelay); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScSheetLinksObj : public cppu::WeakImplHelper4< - com::sun::star::container::XNameAccess, - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScSheetLinkObj* GetObjectByIndex_Impl(sal_Int32 nIndex); - ScSheetLinkObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScSheetLinksObj(ScDocShell* pDocSh); - virtual ~ScSheetLinksObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScAreaLinkObj : public cppu::WeakImplHelper4< - com::sun::star::sheet::XAreaLink, - com::sun::star::util::XRefreshable, - com::sun::star::beans::XPropertySet, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - SfxItemPropertySet aPropSet; - ScDocShell* pDocShell; - sal_uInt16 nPos; - XRefreshListenerArr_Impl aRefreshListeners; - - void Modify_Impl( const ::rtl::OUString* pNewFile, const ::rtl::OUString* pNewFilter, - const ::rtl::OUString* pNewOptions, const ::rtl::OUString* pNewSource, - const com::sun::star::table::CellRangeAddress* pNewDest ); - void ModifyRefreshDelay_Impl( sal_Int32 nRefresh ); - void Refreshed_Impl(); - -public: - ScAreaLinkObj(ScDocShell* pDocSh, sal_uInt16 nP); - virtual ~ScAreaLinkObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XRefreshable - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo( ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // called from get/setPropertyValue: - ::rtl::OUString getFileName(void) const; - void setFileName(const ::rtl::OUString& FileName); - ::rtl::OUString getFilter(void) const; - void setFilter(const ::rtl::OUString& Filter); - ::rtl::OUString getFilterOptions(void) const; - void setFilterOptions(const ::rtl::OUString& FilterOptions); - sal_Int32 getRefreshDelay(void) const; - void setRefreshDelay(sal_Int32 nRefreshDelay); - - // XAreaLink - virtual ::rtl::OUString SAL_CALL getSourceArea() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSourceArea( const ::rtl::OUString& aSourceArea ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getDestArea() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDestArea( const ::com::sun::star::table::CellRangeAddress& aDestArea ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScAreaLinksObj : public cppu::WeakImplHelper3< - com::sun::star::sheet::XAreaLinks, - com::sun::star::container::XEnumerationAccess, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScAreaLinkObj* GetObjectByIndex_Impl(sal_Int32 nIndex); - -public: - ScAreaLinksObj(ScDocShell* pDocSh); - virtual ~ScAreaLinksObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XAreaLinks - virtual void SAL_CALL insertAtPosition( const ::com::sun::star::table::CellAddress& aDestPos, - const ::rtl::OUString& aFileName, - const ::rtl::OUString& aSourceArea, - const ::rtl::OUString& aFilter, - const ::rtl::OUString& aFilterOptions ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -//! order of XNamed and DDELink changed to avoid "duplicate comdat" symbols - -class ScDDELinkObj : public cppu::WeakImplHelper5< - com::sun::star::sheet::XDDELink, - com::sun::star::container::XNamed, - com::sun::star::util::XRefreshable, - com::sun::star::sheet::XDDELinkResults, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - String aAppl; - String aTopic; - String aItem; - XRefreshListenerArr_Impl aRefreshListeners; - - void Refreshed_Impl(); - -public: - ScDDELinkObj(ScDocShell* pDocSh, const String& rA, - const String& rT, const String& rI); - virtual ~ScDDELinkObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XDDELink - virtual ::rtl::OUString SAL_CALL getApplication() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTopic() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getItem() throw(::com::sun::star::uno::RuntimeException); - - // XRefreshable - virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XRefreshListener >& l ) - throw(::com::sun::star::uno::RuntimeException); - - // XDDELinkResults - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > - SAL_CALL getResults( ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setResults( - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& aResults ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScDDELinksObj : public cppu::WeakImplHelper4< - com::sun::star::container::XEnumerationAccess, - com::sun::star::container::XIndexAccess, - com::sun::star::sheet::XDDELinks, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScDDELinkObj* GetObjectByIndex_Impl(sal_Int32 nIndex); - ScDDELinkObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -public: - ScDDELinksObj(ScDocShell* pDocSh); - virtual ~ScDDELinksObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XDDELinks - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDDELink > SAL_CALL addDDELink( - const ::rtl::OUString& aApplication, const ::rtl::OUString& aTopic, - const ::rtl::OUString& aItem, ::com::sun::star::sheet::DDELinkMode nMode ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -class ScExternalSheetCacheObj : public cppu::WeakImplHelper1< ::com::sun::star::sheet::XExternalSheetCache > -{ -public: - explicit ScExternalSheetCacheObj(ScExternalRefCache::TableTypeRef pTable, size_t nIndex); - ~ScExternalSheetCacheObj(); - - // XExternalSheetCache - virtual void SAL_CALL setCellValue( - sal_Int32 nCol, sal_Int32 nRow, const ::com::sun::star::uno::Any& rAny) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Any SAL_CALL getCellValue(sal_Int32 nCol, sal_Int32 nRow) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getAllRows() - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getAllColumns(sal_Int32 nRow) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - - // Attributes - virtual sal_Int32 SAL_CALL getTokenIndex() - throw (::com::sun::star::uno::RuntimeException); - -private: - ScExternalSheetCacheObj(); - ScExternalSheetCacheObj(const ScExternalSheetCacheObj&); - -private: - ScExternalRefCache::TableTypeRef mpTable; - size_t mnIndex; -}; - -class ScExternalDocLinkObj : public cppu::WeakImplHelper1< ::com::sun::star::sheet::XExternalDocLink > -{ -public: - ScExternalDocLinkObj(ScExternalRefManager* pRefMgr, sal_uInt16 nFileId); - ~ScExternalDocLinkObj(); - - // XExternalDocLink - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XExternalSheetCache > - SAL_CALL addSheetCache( const ::rtl::OUString& aSheetName, sal_Bool bDynamicCache ) - throw (::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // Attributes - virtual sal_Int32 SAL_CALL getTokenIndex() - throw (::com::sun::star::uno::RuntimeException); - -private: - ScExternalRefManager* mpRefMgr; - sal_uInt16 mnFileId; -}; - -/** This is the UNO API equivalent of ScExternalRefManager. */ -class ScExternalDocLinksObj : public cppu::WeakImplHelper1< ::com::sun::star::sheet::XExternalDocLinks > -{ -public: - ScExternalDocLinksObj(ScDocShell* pDocShell); - ~ScExternalDocLinksObj(); - - // XExternalDocLinks - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XExternalDocLink > - SAL_CALL addDocLink( const ::rtl::OUString& aDocName ) - throw (::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - -private: - ScExternalDocLinksObj(); - ScExternalDocLinksObj(const ScExternalDocLinksObj&); - -private: - ScDocShell* mpDocShell; - ScExternalRefManager* mpRefMgr; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/listenercalls.hxx b/sc/inc/listenercalls.hxx deleted file mode 100644 index 956b00e64..000000000 --- a/sc/inc/listenercalls.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_LISTENERCALLS_HXX -#define SC_LISTENERCALLS_HXX - -#include <list> -#include <com/sun/star/uno/Reference.hxx> -#include <com/sun/star/lang/EventObject.hpp> - -namespace com { namespace sun { namespace star { - namespace util { - class XModifyListener; - } - namespace lang { - struct EventObject; - } -} } } - - -struct ScUnoListenerEntry -{ - ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener > xListener; - ::com::sun::star::lang::EventObject aEvent; - - ScUnoListenerEntry( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& rL, - const ::com::sun::star::lang::EventObject& rE ) : - xListener( rL ), - aEvent( rE ) - {} -}; - - -/** ScUnoListenerCalls stores notifications to XModifyListener that can't be processed - during BroadcastUno and calls them together at the end. -*/ -class ScUnoListenerCalls -{ -private: - ::std::list<ScUnoListenerEntry> aEntries; - -public: - ScUnoListenerCalls(); - ~ScUnoListenerCalls(); - - void Add( const ::com::sun::star::uno::Reference< - ::com::sun::star::util::XModifyListener >& rListener, - const ::com::sun::star::lang::EventObject& rEvent ); - void ExecuteAndClear(); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/lookupcache.hxx b/sc/inc/lookupcache.hxx deleted file mode 100644 index 75a38afb0..000000000 --- a/sc/inc/lookupcache.hxx +++ /dev/null @@ -1,260 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef INCLUDED_SC_LOOKUPCACHE_HXX -#define INCLUDED_SC_LOOKUPCACHE_HXX - -#include "address.hxx" -#include "global.hxx" -#include "formula/token.hxx" -#include <svl/listener.hxx> -#include <tools/string.hxx> - -#include <boost/unordered_map.hpp> - -class ScDocument; - - -/** Lookup cache for one range used with interpreter functions such as VLOOKUP - and MATCH. Caches query for a specific row and the resulting address looked - up, in case other lookups of the same query in the same row are to be - performed, which usually occur to obtain a different offset column of the - same query. - */ - -class ScLookupCache : public SvtListener -{ -public: - - enum Result - { - NOT_CACHED, /// Query not found in cache. - CRITERIA_DIFFERENT, /// Different criteria for same query position exists. - NOT_AVAILABLE, /// Criteria not available in lookup range. - FOUND /// Criteria found. - }; - - enum QueryOp - { - UNKNOWN, - EQUAL, - LESS_EQUAL, - GREATER_EQUAL - }; - - class QueryCriteria - { - union - { - double mfVal; - const String * mpStr; - }; - bool mbAlloc : 1; - bool mbString : 1; - QueryOp meOp : 2; - - void deleteString() - { - if (mbAlloc && mbString) - delete mpStr; - } - - // prevent usage - QueryCriteria(); - QueryCriteria & operator=( const QueryCriteria & r ); - - public: - - explicit QueryCriteria( const ScQueryEntry & rEntry ) : - mfVal(0.0), mbAlloc(false), mbString(false) - { - switch (rEntry.eOp) - { - case SC_EQUAL : - meOp = EQUAL; - break; - case SC_LESS_EQUAL : - meOp = LESS_EQUAL; - break; - case SC_GREATER_EQUAL : - meOp = GREATER_EQUAL; - break; - default: - meOp = UNKNOWN; - DBG_ERRORFILE( "ScLookupCache::QueryCriteria not prepared for this ScQueryOp"); - } - if (rEntry.bQueryByString) - setString( rEntry.pStr); - else - setDouble( rEntry.nVal); - } - QueryCriteria( const QueryCriteria & r ) : - mfVal( r.mfVal), - mbAlloc( false), - mbString( false), - meOp( r.meOp) - { - if (r.mbString && r.mpStr) - { - mpStr = new String( *r.mpStr); - mbAlloc = mbString = true; - } - } - ~QueryCriteria() - { - deleteString(); - } - - QueryOp getQueryOp() const { return meOp; } - - void setDouble( double fVal ) - { - deleteString(); - mbAlloc = mbString = false; - mfVal = fVal; - } - - void setString( const String * pStr ) - { - deleteString(); - mbAlloc = false; - mbString = true; - mpStr = pStr; - } - - void setString( const String & rStr ) - { - deleteString(); - mbAlloc = mbString = true; - mpStr = new String( rStr); - } - - bool operator==( const QueryCriteria & r ) const - { - return meOp == r.meOp && mbString == r.mbString && - (mbString ? (*mpStr == *r.mpStr) : (mfVal == r.mfVal)); - } - - }; - - /// MUST be new'd because Notify() deletes. - ScLookupCache( ScDocument * pDoc, const ScRange & rRange ); - virtual ~ScLookupCache(); - /// Remove from document structure and delete (!) cache on modify hint. - virtual void Notify( SvtBroadcaster & rBC, const SfxHint & rHint ); - - /// @returns document address in o_rAddress if Result==FOUND - Result lookup( ScAddress & o_rResultAddress, - const QueryCriteria & rCriteria, - const ScAddress & rQueryAddress ) const; - - /** Insert query and result. - @param bAvailable - Pass sal_False if the search didn't deliver a result. A subsequent - lookup() then will return Result::NOT_AVAILABLE. - @returns successful insertion. - */ - bool insert( const ScAddress & rResultAddress, - const QueryCriteria & rCriteria, - const ScAddress & rQueryAddress, - const bool bAvailable ); - - inline const ScRange& getRange() const { return maRange; } - - struct Hash - { - size_t operator()( const ScRange & rRange ) const - { - // Lookups are performed on the first column. - return rRange.hashStartColumn(); - } - }; - -private: - - struct QueryKey - { - SCROW mnRow; - SCTAB mnTab; - QueryOp meOp : 2; - - QueryKey( const ScAddress & rAddress, const QueryOp eOp ) : - mnRow( rAddress.Row()), - mnTab( rAddress.Tab()), - meOp( eOp) - { - } - - bool operator==( const QueryKey & r ) const - { - return mnRow == r.mnRow && mnTab == r.mnTab && meOp == r.meOp && meOp != UNKNOWN; - } - - struct Hash - { - size_t operator()( const QueryKey & r ) const - { - return (static_cast<size_t>(r.mnTab) << 24) ^ - (static_cast<size_t>(r.meOp) << 22) ^ - static_cast<size_t>(r.mnRow); - } - }; - }; - - struct QueryCriteriaAndResult - { - QueryCriteria maCriteria; - ScAddress maAddress; - - QueryCriteriaAndResult( const QueryCriteria & rCriteria, const ScAddress & rAddress ) : - maCriteria( rCriteria), - maAddress( rAddress) - { - } - ~QueryCriteriaAndResult() - { - } - }; - - typedef ::boost::unordered_map< QueryKey, QueryCriteriaAndResult, QueryKey::Hash, ::std::equal_to< QueryKey > > QueryMap; - QueryMap maQueryMap; - ScRange maRange; - ScDocument * mpDoc; - - // prevent usage - ScLookupCache( const ScLookupCache & ); - ScLookupCache & operator=( const ScLookupCache & ); - -}; - - -typedef ::boost::unordered_map< ScRange, ScLookupCache*, ScLookupCache::Hash, ::std::equal_to< ScRange > > ScLookupCacheMap; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/macromgr.hxx b/sc/inc/macromgr.hxx deleted file mode 100644 index 4c8bad9e3..000000000 --- a/sc/inc/macromgr.hxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MACROMGR_HXX -#define SC_MACROMGR_HXX - -#include <com/sun/star/container/XContainerListener.hpp> - -#include "rtl/ustring.hxx" -#include "scdllapi.h" - -#include <boost/unordered_map.hpp> -#include <boost/unordered_set.hpp> -#include <memory> - -class ScDocument; -class ScFormulaCell; -class ScUserMacroDepTracker; - -class ScMacroManager -{ -public: - explicit ScMacroManager(ScDocument* pDoc); - ~ScMacroManager(); - - SC_DLLPUBLIC void InitUserFuncData(); - SC_DLLPUBLIC void SetUserFuncVolatile( const rtl::OUString& sName, bool isVolatile ); - SC_DLLPUBLIC bool GetUserFuncVolatile( const rtl::OUString& sName ); - - void AddDependentCell(const ::rtl::OUString& aModuleName, ScFormulaCell* pCell); - void RemoveDependentCell(ScFormulaCell* pCell); - void BroadcastModuleUpdate(const ::rtl::OUString& aModuleName); - -private: - typedef boost::unordered_map< ::rtl::OUString, bool, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NameBoolMap; - NameBoolMap mhFuncToVolatile; - com::sun::star::uno::Reference< com::sun::star::container::XContainerListener > mxContainerListener; - - ::std::auto_ptr<ScUserMacroDepTracker> mpDepTracker; - ScDocument* mpDoc; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/markarr.hxx b/sc/inc/markarr.hxx deleted file mode 100644 index 234df33e1..000000000 --- a/sc/inc/markarr.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MARKARR_HXX -#define SC_MARKARR_HXX - -#include "address.hxx" -#include <tools/solar.h> - -#define SC_MARKARRAY_DELTA 4 - -struct ScMarkEntry -{ - SCROW nRow; - sal_Bool bMarked; -}; - -class ScMarkArray -{ - SCSIZE nCount; - SCSIZE nLimit; - ScMarkEntry* pData; - -friend class ScMarkArrayIter; -friend class ScDocument; // for FillInfo - -public: - ScMarkArray(); - ~ScMarkArray(); - void Reset( sal_Bool bMarked = false ); - sal_Bool GetMark( SCROW nRow ) const; - void SetMarkArea( SCROW nStartRow, SCROW nEndRow, sal_Bool bMarked ); - sal_Bool IsAllMarked( SCROW nStartRow, SCROW nEndRow ) const; - sal_Bool HasOneMark( SCROW& rStartRow, SCROW& rEndRow ) const; - - sal_Bool HasMarks() const { return ( nCount > 1 || ( nCount == 1 && pData[0].bMarked ) ); } - - void CopyMarksTo( ScMarkArray& rDestMarkArray ) const; - - sal_Bool Search( SCROW nRow, SCSIZE& nIndex ) const; - - /// Including current row, may return -1 if bUp and not found - SCsROW GetNextMarked( SCsROW nRow, sal_Bool bUp ) const; - SCROW GetMarkEnd( SCROW nRow, sal_Bool bUp ) const; -}; - - -class ScMarkArrayIter // iterate over selected range -{ - const ScMarkArray* pArray; - SCSIZE nPos; -public: - ScMarkArrayIter( const ScMarkArray* pNewArray ); - ~ScMarkArrayIter(); - - sal_Bool Next( SCROW& rTop, SCROW& rBottom ); -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/markdata.hxx b/sc/inc/markdata.hxx deleted file mode 100644 index 5b4494552..000000000 --- a/sc/inc/markdata.hxx +++ /dev/null @@ -1,134 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MARKDATA_HXX -#define SC_MARKDATA_HXX - -#include "address.hxx" -#include <tools/solar.h> -#include "scdllapi.h" - -#include <set> - -class ScMarkArray; -class ScRangeList; - -//! todo: -//! It should be possible to have MarkArrays for each table, in order to -//! enable "search all" across more than one table again! - - -class SC_DLLPUBLIC ScMarkData -{ -private: - ScRange aMarkRange; // area - ScRange aMultiRange; // maximum area altogether - ScMarkArray* pMultiSel; // multi selection - ::std::set<SCTAB> maTabMarked; - sal_Bool bMarked; // rectangle marked - sal_Bool bMultiMarked; - - sal_Bool bMarking; // area is being marked -> no MarkToMulti - sal_Bool bMarkIsNeg; // cancel if multi selection - -public: - ScMarkData(); - ScMarkData(const ScMarkData& rData); - ~ScMarkData(); - - ScMarkData& operator=(const ScMarkData& rData); - - void ResetMark(); - void SetMarkArea( const ScRange& rRange ); - - void SetMultiMarkArea( const ScRange& rRange, sal_Bool bMark = sal_True ); - - void MarkToMulti(); - void MarkToSimple(); - - sal_Bool IsMarked() const { return bMarked; } - sal_Bool IsMultiMarked() const { return bMultiMarked; } - - void GetMarkArea( ScRange& rRange ) const; - void GetMultiMarkArea( ScRange& rRange ) const; - - void SetAreaTab( SCTAB nTab ); - - void SelectTable( SCTAB nTab, bool bNew ); - bool GetTableSelect( SCTAB nTab ) const; - - void SelectOneTable( SCTAB nTab ); - SCTAB GetSelectCount() const; - SCTAB GetFirstSelected() const; - SCTAB GetLastSelected() const; - - void SetMarkNegative( sal_Bool bFlag ) { bMarkIsNeg = bFlag; } - sal_Bool IsMarkNegative() const { return bMarkIsNeg; } - void SetMarking( sal_Bool bFlag ) { bMarking = bFlag; } - sal_Bool GetMarkingFlag() const { return bMarking; } - - // for FillInfo / Document etc. - const ScMarkArray* GetArray() const { return pMultiSel; } - - sal_Bool IsCellMarked( SCCOL nCol, SCROW nRow, sal_Bool bNoSimple = false ) const; - void FillRangeListWithMarks( ScRangeList* pList, sal_Bool bClear ) const; - void ExtendRangeListTables( ScRangeList* pList ) const; - - void MarkFromRangeList( const ScRangeList& rList, sal_Bool bReset ); - - SCCOLROW GetMarkColumnRanges( SCCOLROW* pRanges ); - SCCOLROW GetMarkRowRanges( SCCOLROW* pRanges ); - - sal_Bool IsColumnMarked( SCCOL nCol ) const; - sal_Bool IsRowMarked( SCROW nRow ) const; - sal_Bool IsAllMarked( const ScRange& rRange ) const; // Multi - - /// May return -1 - SCsROW GetNextMarked( SCCOL nCol, SCsROW nRow, sal_Bool bUp ) const; - sal_Bool HasMultiMarks( SCCOL nCol ) const; - sal_Bool HasAnyMultiMarks() const; - - // adjust table marking: - void InsertTab( SCTAB nTab ); - void DeleteTab( SCTAB nTab ); - - // iterators for table access - typedef std::set<SCTAB>::iterator iterator; - typedef std::set<SCTAB>::const_iterator const_iterator; - iterator begin(); - iterator end(); - const_iterator begin() const; - const_iterator end() const; -}; - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/miscuno.hxx b/sc/inc/miscuno.hxx deleted file mode 100644 index e9c97d886..000000000 --- a/sc/inc/miscuno.hxx +++ /dev/null @@ -1,206 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MISCUNO_HXX -#define SC_MISCUNO_HXX - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XEnumeration.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <cppuhelper/implbase2.hxx> -#include "scdllapi.h" - -#define SC_SIMPLE_SERVICE_INFO( ClassName, ClassNameAscii, ServiceAscii ) \ -::rtl::OUString SAL_CALL ClassName::getImplementationName() \ - throw(::com::sun::star::uno::RuntimeException) \ -{ \ - return ::rtl::OUString::createFromAscii(ClassNameAscii); \ -} \ -sal_Bool SAL_CALL ClassName::supportsService( const ::rtl::OUString& ServiceName ) \ - throw(::com::sun::star::uno::RuntimeException) \ -{ \ - return !ServiceName.compareToAscii(ServiceAscii); \ -} \ -::com::sun::star::uno::Sequence< ::rtl::OUString > \ - SAL_CALL ClassName::getSupportedServiceNames(void) \ - throw(::com::sun::star::uno::RuntimeException) \ -{ \ - ::com::sun::star::uno::Sequence< ::rtl::OUString > aRet(1); \ - ::rtl::OUString* pArray = aRet.getArray(); \ - pArray[0] = ::rtl::OUString::createFromAscii(ServiceAscii); \ - return aRet; \ -} - -#define SC_IMPL_DUMMY_PROPERTY_LISTENER( ClassName ) \ - void SAL_CALL ClassName::addPropertyChangeListener( const rtl::OUString&, \ - const uno::Reference<beans::XPropertyChangeListener>&) \ - throw(beans::UnknownPropertyException, \ - lang::WrappedTargetException, uno::RuntimeException) \ - { OSL_FAIL("not implemented"); } \ - void SAL_CALL ClassName::removePropertyChangeListener( const rtl::OUString&, \ - const uno::Reference<beans::XPropertyChangeListener>&) \ - throw(beans::UnknownPropertyException, \ - lang::WrappedTargetException, uno::RuntimeException) \ - { OSL_FAIL("not implemented"); } \ - void SAL_CALL ClassName::addVetoableChangeListener( const rtl::OUString&, \ - const uno::Reference<beans::XVetoableChangeListener>&) \ - throw(beans::UnknownPropertyException, \ - lang::WrappedTargetException, uno::RuntimeException) \ - { OSL_FAIL("not implemented"); } \ - void SAL_CALL ClassName::removeVetoableChangeListener( const rtl::OUString&, \ - const uno::Reference<beans::XVetoableChangeListener>&) \ - throw(beans::UnknownPropertyException, \ - lang::WrappedTargetException, uno::RuntimeException) \ - { OSL_FAIL("not implemented"); } - - -#define SC_QUERYINTERFACE(x) \ - if (rType == getCppuType((const uno::Reference<x>*)0)) \ - { return uno::makeAny(uno::Reference<x>(this)); } - -// SC_QUERY_MULTIPLE( XElementAccess, XIndexAccess ): -// use if interface is used several times in one class - -#define SC_QUERY_MULTIPLE(x,y) \ - if (rType == getCppuType((const uno::Reference<x>*)0)) \ - { uno::Any aR; aR <<= uno::Reference<x>(static_cast<y*>(this)); return aR; } - - -class ScIndexEnumeration : public cppu::WeakImplHelper2< - com::sun::star::container::XEnumeration, - com::sun::star::lang::XServiceInfo > -{ -private: - com::sun::star::uno::Reference<com::sun::star::container::XIndexAccess> xIndex; - rtl::OUString sServiceName; - sal_Int32 nPos; - -public: - ScIndexEnumeration(const com::sun::star::uno::Reference< - com::sun::star::container::XIndexAccess>& rInd, const rtl::OUString& rServiceName); - virtual ~ScIndexEnumeration(); - - // XEnumeration - virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL nextElement() - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) - throw(::com::sun::star::uno::RuntimeException); -}; - -// new (uno 3) variant -class ScNameToIndexAccess : public cppu::WeakImplHelper2< - com::sun::star::container::XIndexAccess, - com::sun::star::lang::XServiceInfo > -{ -private: - com::sun::star::uno::Reference<com::sun::star::container::XNameAccess> xNameAccess; - com::sun::star::uno::Sequence<rtl::OUString> aNames; - -public: - ScNameToIndexAccess( - const com::sun::star::uno::Reference< - com::sun::star::container::XNameAccess>& rNameObj ); - virtual ~ScNameToIndexAccess(); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount( ) throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) - throw(::com::sun::star::uno::RuntimeException); -}; - -class SC_DLLPUBLIC ScUnoHelpFunctions -{ -public: - static com::sun::star::uno::Reference<com::sun::star::uno::XInterface> - AnyToInterface( const com::sun::star::uno::Any& rAny ); - static sal_Bool GetBoolProperty( const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet>& xProp, - const ::rtl::OUString& rName, sal_Bool bDefault = false ); - static sal_Int32 GetLongProperty( const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet>& xProp, - const ::rtl::OUString& rName, long nDefault = 0 ); - static sal_Int32 GetEnumProperty( const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet>& xProp, - const ::rtl::OUString& rName, long nDefault ); - static ::rtl::OUString GetStringProperty( - const com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet>& xProp, - const ::rtl::OUString& rName, const ::rtl::OUString& rDefault ); - - static sal_Bool GetBoolFromAny( const com::sun::star::uno::Any& aAny ); - static sal_Int16 GetInt16FromAny( const com::sun::star::uno::Any& aAny ); - static sal_Int32 GetInt32FromAny( const com::sun::star::uno::Any& aAny ); - static sal_Int32 GetEnumFromAny( const com::sun::star::uno::Any& aAny ); - static void SetBoolInAny( com::sun::star::uno::Any& rAny, sal_Bool bValue ); - - static void SetOptionalPropertyValue( - ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rPropSet, - const sal_Char* pPropName, const ::com::sun::star::uno::Any& rVal ); - - template<typename ValueType> - static void SetOptionalPropertyValue( - ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rPropSet, - const sal_Char* pPropName, const ValueType& rVal ) - { - ::com::sun::star::uno::Any any; - any <<= rVal; - SetOptionalPropertyValue(rPropSet, pPropName, any); - } -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/mutexhlp.hxx b/sc/inc/mutexhlp.hxx deleted file mode 100644 index 4763a902b..000000000 --- a/sc/inc/mutexhlp.hxx +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MUTEXHLP_HXX -#define SC_MUTEXHLP_HXX - -#include <osl/mutex.hxx> - -// used in XComponent implementations to construct a Mutex before the -// OComponentHelper base class - -class ScMutexHelper -{ -private: - ::osl::Mutex maMutex; - -public: - ::osl::Mutex& getMutex() { return maMutex; } -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/nameuno.hxx b/sc/inc/nameuno.hxx deleted file mode 100644 index 247938a83..000000000 --- a/sc/inc/nameuno.hxx +++ /dev/null @@ -1,403 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_NAMEUNO_HXX -#define SC_NAMEUNO_HXX - -#include <svl/lstner.hxx> -#include "address.hxx" -#include "formula/grammar.hxx" -#include <com/sun/star/sheet/XLabelRange.hpp> -#include <com/sun/star/sheet/XLabelRanges.hpp> -#include <com/sun/star/sheet/XCellRangeReferrer.hpp> -#include <com/sun/star/sheet/XNamedRange.hpp> -#include <com/sun/star/sheet/XFormulaTokens.hpp> -#include <com/sun/star/sheet/XNamedRanges.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/lang/XServiceName.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/document/XActionLockable.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase6.hxx> - -class ScDocShell; -class ScRangeData; -class ScTokenArray; -class ScNamedRangesObj; - -class ScNamedRangeObj : public ::cppu::WeakImplHelper6< - ::com::sun::star::sheet::XNamedRange, - ::com::sun::star::sheet::XFormulaTokens, - ::com::sun::star::sheet::XCellRangeReferrer, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XUnoTunnel, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScNamedRangesObj* mpParent; - ScDocShell* pDocShell; - String aName; - -private: - ScRangeData* GetRangeData_Impl(); - void Modify_Impl( const String* pNewName, - const ScTokenArray* pNewTokens, const String* pNewContent, - const ScAddress* pNewPos, const sal_uInt16* pNewType, - const formula::FormulaGrammar::Grammar eGrammar ); - -public: - ScNamedRangeObj(ScNamedRangesObj* pParent, ScDocShell* pDocSh, const String& rNm); - virtual ~ScNamedRangeObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNamedRange - virtual ::rtl::OUString SAL_CALL getContent() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setContent( const ::rtl::OUString& aContent ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellAddress SAL_CALL getReferencePosition() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setReferencePosition( - const ::com::sun::star::table::CellAddress& aReferencePosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getType() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setType( sal_Int32 nType ) throw(::com::sun::star::uno::RuntimeException); - - // XFormulaTokens - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL getTokens() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTokens( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::FormulaToken >& aTokens ) - throw (::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeReferrer - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getReferredCells() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScNamedRangeObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // methods accessible via getImplementation() - void SetContentWithGrammar( const ::rtl::OUString& aContent, - const formula::FormulaGrammar::Grammar eGrammar ) - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScNamedRangesObj : public ::cppu::WeakImplHelper6< - ::com::sun::star::sheet::XNamedRanges, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::document::XActionLockable, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - // if true, adding new name or modifying existing one will set the - // document 'modified' and broadcast the change. We turn this off during - // import. - sal_Bool mbModifyAndBroadcast; - - ScNamedRangeObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); - ScNamedRangeObj* GetObjectByName_Impl(const ::rtl::OUString& aName); - -protected: - /** called from the XActionLockable interface methods on initial locking */ - virtual void lock(); - - /** called from the XActionLockable interface methods on final unlock */ - virtual void unlock(); - -public: - ScNamedRangesObj(ScDocShell* pDocSh); - virtual ~ScNamedRangesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - bool IsModifyAndBroadcast() const; - - // XNamedRanges - virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName, const ::rtl::OUString& aContent, - const ::com::sun::star::table::CellAddress& aPosition, sal_Int32 nType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addNewFromTitles( const ::com::sun::star::table::CellRangeAddress& aSource, - ::com::sun::star::sheet::Border aBorder ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL outputList( const ::com::sun::star::table::CellAddress& aOutputPosition ) - throw(::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XActionLockable - virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setActionLocks( sal_Int16 nLock ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScLabelRangeObj : public ::cppu::WeakImplHelper2< - ::com::sun::star::sheet::XLabelRange, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - sal_Bool bColumn; - ScRange aRange; // criterion to find range - -private: - ScRangePair* GetData_Impl(); - void Modify_Impl( const ScRange* pLabel, const ScRange* pData ); - -public: - ScLabelRangeObj(ScDocShell* pDocSh, sal_Bool bCol, const ScRange& rR); - virtual ~ScLabelRangeObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XLabelRange - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getLabelArea() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setLabelArea( const ::com::sun::star::table::CellRangeAddress& aLabelArea ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getDataArea() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDataArea( const ::com::sun::star::table::CellRangeAddress& aDataArea ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScLabelRangesObj : public ::cppu::WeakImplHelper3< - ::com::sun::star::sheet::XLabelRanges, - ::com::sun::star::container::XEnumerationAccess, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - sal_Bool bColumn; - - ScLabelRangeObj* GetObjectByIndex_Impl(size_t nIndex); - -public: - ScLabelRangesObj(ScDocShell* pDocSh, sal_Bool bCol); - virtual ~ScLabelRangesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XLabelRanges - virtual void SAL_CALL addNew( const ::com::sun::star::table::CellRangeAddress& aLabelArea, - const ::com::sun::star::table::CellRangeAddress& aDataArea ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByIndex( sal_Int32 nIndex ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/navicfg.hxx b/sc/inc/navicfg.hxx deleted file mode 100644 index 585b1d960..000000000 --- a/sc/inc/navicfg.hxx +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_NAVICFG_HXX -#define SC_NAVICFG_HXX - -#include <tools/solar.h> - - -//================================================================== -// CfgItem for navigator-state -//================================================================== - -class ScNavipiCfg -{ -private: - sal_uInt16 nListMode; - sal_uInt16 nDragMode; - sal_uInt16 nRootType; - -public: - ScNavipiCfg(); - - void SetListMode(sal_uInt16 nNew); - sal_uInt16 GetListMode() const { return nListMode; } - void SetDragMode(sal_uInt16 nNew); - sal_uInt16 GetDragMode() const { return nDragMode; } - void SetRootType(sal_uInt16 nNew); - sal_uInt16 GetRootType() const { return nRootType; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/notesuno.hxx b/sc/inc/notesuno.hxx deleted file mode 100644 index 7947eebf0..000000000 --- a/sc/inc/notesuno.hxx +++ /dev/null @@ -1,323 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_NOTESUNO_HXX -#define SC_NOTESUNO_HXX - -#include "address.hxx" -#include <svl/lstner.hxx> -#include <com/sun/star/sheet/XSheetAnnotation.hpp> -#include <com/sun/star/sheet/XSheetAnnotationShapeSupplier.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XChild.hpp> -#include <com/sun/star/text/XSimpleText.hpp> -#include <com/sun/star/text/XTextRangeMover.hpp> -#include <com/sun/star/drawing/XShape.hpp> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase10.hxx> - - -class ScDocShell; -class SvxUnoText; -class ScPostIt; - - -class ScAnnotationObj : public cppu::WeakImplHelper5< - com::sun::star::container::XChild, - com::sun::star::text::XSimpleText, - com::sun::star::sheet::XSheetAnnotation, - com::sun::star::sheet::XSheetAnnotationShapeSupplier, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -public: - ScAnnotationObj(ScDocShell* pDocSh, const ScAddress& rPos); - virtual ~ScAnnotationObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XChild - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - getParent() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface >& Parent ) - throw(::com::sun::star::lang::NoSupportException, - ::com::sun::star::uno::RuntimeException); - - // XSimpleText - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& aTextPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::rtl::OUString& aString, sal_Bool bAbsorb ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nControlCharacter, sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XTextRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetAnnotation - virtual ::com::sun::star::table::CellAddress SAL_CALL getPosition() - throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getAuthor() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDate() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getIsVisible() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setIsVisible( sal_Bool bIsVisible ) - throw(::com::sun::star::uno::RuntimeException); - - // XSheetAnnotationShapeSupplier - virtual ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > SAL_CALL - getAnnotationShape() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - -private: - SvxUnoText& GetUnoText(); - - const ScPostIt* ImplGetNote() const; - -private: - ScDocShell* pDocShell; - ScAddress aCellPos; - SvxUnoText* pUnoText; -}; - -class ScAnnotationShapeObj : public cppu::WeakImplHelper10< - com::sun::star::lang::XComponent, - com::sun::star::container::XChild, - com::sun::star::text::XText, - com::sun::star::container::XEnumerationAccess, - com::sun::star::text::XTextRangeMover, - com::sun::star::drawing::XShape, - com::sun::star::beans::XPropertySet, - com::sun::star::beans::XMultiPropertySet, - com::sun::star::beans::XPropertyState, - com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - ScAddress aCellPos; - SvxUnoText* pUnoText; - com::sun::star::uno::Reference < com::sun::star::drawing::XShape > xShape; - -private: - SvxUnoText& GetUnoText(); - com::sun::star::uno::Reference < com::sun::star::drawing::XShape > GetXShape(); - -public: - ScAnnotationShapeObj(ScDocShell* pDocSh, const ScAddress& rPos); - virtual ~ScAnnotationShapeObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XChild - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - getParent() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface >& Parent ) - throw(::com::sun::star::lang::NoSupportException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration( ) throw (::com::sun::star::uno::RuntimeException); - - // XTextRangeMover - virtual void SAL_CALL moveTextRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - ::sal_Int16 nParagraphs ) - throw (::com::sun::star::uno::RuntimeException); - - // XText - virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent, - ::sal_Bool bAbsorb ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent ) - throw (::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XSimpleText - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& aTextPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::rtl::OUString& aString, sal_Bool bAbsorb ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nControlCharacter, sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XTextRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // XShapeDescriptor - virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException); - - // XShape - virtual ::com::sun::star::awt::Point SAL_CALL getPosition( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::awt::Size SAL_CALL getSize( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) - throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException); - - // XPropertyState - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XMultiPropertySet - virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) - throw (::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XComponent - virtual void SAL_CALL dispose( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/olinetab.hxx b/sc/inc/olinetab.hxx deleted file mode 100644 index 2fc40736f..000000000 --- a/sc/inc/olinetab.hxx +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_OUTLINETAB_HXX -#define SC_OUTLINETAB_HXX - - -#include "collect.hxx" -#include "scdllapi.h" - -#define SC_OL_MAXDEPTH 7 - -class SvStream; -class ScTable; - - -class ScOutlineEntry : public ScDataObject -{ - SCCOLROW nStart; - SCSIZE nSize; - bool bHidden; - bool bVisible; - -public: - ScOutlineEntry( SCCOLROW nNewStart, SCCOLROW nNewSize, - bool bNewHidden = false ); - ScOutlineEntry( const ScOutlineEntry& rEntry ); - - virtual ScDataObject* Clone() const; - - SCCOLROW GetStart() const { return nStart; } - SCSIZE GetSize() const { return nSize; } - SCCOLROW GetEnd() const { return nStart+nSize-1; } - bool IsHidden() const { return bHidden; } // group hidden - bool IsVisible() const { return bVisible; } // control visible? - - void Move( SCsCOLROW nDelta ); - void SetSize( SCSIZE nNewSize ); - void SetPosSize( SCCOLROW nNewPos, SCSIZE nNewSize ); - void SetHidden( bool bNewHidden ); - void SetVisible( bool bNewVisible ); -}; - - -class ScOutlineCollection : public ScSortedCollection -{ -public: - ScOutlineCollection(); - - virtual short Compare(ScDataObject* pKey1, ScDataObject* pKey2) const; - - sal_uInt16 FindStart( SCCOLROW nMinStart ); -}; - - -class SC_DLLPUBLIC ScOutlineArray -{ -friend class ScSubOutlineIterator; - -private: - sal_uInt16 nDepth; - ScOutlineCollection aCollections[SC_OL_MAXDEPTH]; - - sal_Bool DecDepth(); - void FindEntry( SCCOLROW nSearchPos, sal_uInt16& rFindLevel, sal_uInt16& rFindIndex, - sal_uInt16 nMaxLevel = SC_OL_MAXDEPTH ); - void RemoveSub( SCCOLROW nStartPos, SCCOLROW nEndPos, sal_uInt16 nLevel ); - void PromoteSub( SCCOLROW nStartPos, SCCOLROW nEndPos, sal_uInt16 nStartLevel ); - -public: - ScOutlineArray(); - ScOutlineArray( const ScOutlineArray& rArray ); - - sal_uInt16 GetDepth() const { return nDepth; } - - sal_Bool FindTouchedLevel( SCCOLROW nBlockStart, SCCOLROW nBlockEnd, - sal_uInt16& rFindLevel ) const; - - sal_Bool Insert( SCCOLROW nStartPos, SCCOLROW nEndPos, sal_Bool& rSizeChanged, - sal_Bool bHidden = false, sal_Bool bVisible = sal_True ); - sal_Bool Remove( SCCOLROW nBlockStart, SCCOLROW nBlockEnd, sal_Bool& rSizeChanged ); - - ScOutlineEntry* GetEntry( sal_uInt16 nLevel, sal_uInt16 nIndex ) const; - sal_uInt16 GetCount( sal_uInt16 nLevel ) const; - ScOutlineEntry* GetEntryByPos( sal_uInt16 nLevel, SCCOLROW nPos ) const; - - sal_Bool GetEntryIndex( sal_uInt16 nLevel, SCCOLROW nPos, sal_uInt16& rnIndex ) const; - sal_Bool GetEntryIndexInRange( - sal_uInt16 nLevel, SCCOLROW nBlockStart, SCCOLROW nBlockEnd, - sal_uInt16& rnIndex ) const; - - void SetVisibleBelow( sal_uInt16 nLevel, sal_uInt16 nEntry, sal_Bool bValue, - sal_Bool bSkipHidden = false ); - - void GetRange( SCCOLROW& rStart, SCCOLROW& rEnd ) const; - void ExtendBlock( sal_uInt16 nLevel, SCCOLROW& rBlkStart, SCCOLROW& rBlkEnd ); - - sal_Bool TestInsertSpace( SCSIZE nSize, SCCOLROW nMaxVal ) const; - void InsertSpace( SCCOLROW nStartPos, SCSIZE nSize ); - sal_Bool DeleteSpace( SCCOLROW nStartPos, SCSIZE nSize ); - - bool ManualAction( SCCOLROW nStartPos, SCCOLROW nEndPos, bool bShow, ScTable& rTable, bool bCol ); - - void RemoveAll(); -}; - - -class ScOutlineTable -{ -private: - ScOutlineArray aColOutline; - ScOutlineArray aRowOutline; - -public: - ScOutlineTable(); - ScOutlineTable( const ScOutlineTable& rOutline ); - - const ScOutlineArray* GetColArray() const { return &aColOutline; } - ScOutlineArray* GetColArray() { return &aColOutline; } - const ScOutlineArray* GetRowArray() const { return &aRowOutline; } - ScOutlineArray* GetRowArray() { return &aRowOutline; } - - sal_Bool TestInsertCol( SCSIZE nSize ); - void InsertCol( SCCOL nStartCol, SCSIZE nSize ); - sal_Bool DeleteCol( SCCOL nStartCol, SCSIZE nSize ); // TRUE: Undo only using original - sal_Bool TestInsertRow( SCSIZE nSize ); - void InsertRow( SCROW nStartRow, SCSIZE nSize ); - sal_Bool DeleteRow( SCROW nStartRow, SCSIZE nSize ); -}; - - -class ScSubOutlineIterator -{ -private: - ScOutlineArray* pArray; - SCCOLROW nStart; - SCCOLROW nEnd; - sal_uInt16 nSubLevel; - sal_uInt16 nSubEntry; - sal_uInt16 nCount; - sal_uInt16 nDepth; - -public: - ScSubOutlineIterator( ScOutlineArray* pOutlineArray ); - ScSubOutlineIterator( ScOutlineArray* pOutlineArray, - sal_uInt16 nLevel, sal_uInt16 nEntry ); - ScOutlineEntry* GetNext(); - sal_uInt16 LastLevel() const; - sal_uInt16 LastEntry() const; - void DeleteLast(); -}; - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/optuno.hxx b/sc/inc/optuno.hxx deleted file mode 100644 index c51d2c024..000000000 --- a/sc/inc/optuno.hxx +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_OPTUNO_HXX -#define SC_OPTUNO_HXX - -#include "docuno.hxx" -#include "docoptio.hxx" - -#define PROP_UNO_CALCASSHOWN 1 -#define PROP_UNO_DEFTABSTOP 2 -#define PROP_UNO_IGNORECASE 3 -#define PROP_UNO_ITERENABLED 4 -#define PROP_UNO_ITERCOUNT 5 -#define PROP_UNO_ITEREPSILON 6 -#define PROP_UNO_LOOKUPLABELS 7 -#define PROP_UNO_MATCHWHOLE 8 -#define PROP_UNO_NULLDATE 9 -#define PROP_UNO_SPELLONLINE 10 -#define PROP_UNO_STANDARDDEC 11 -#define PROP_UNO_REGEXENABLED 12 - - -class ScDocOptionsHelper -{ -public: - static const SfxItemPropertyMapEntry* GetPropertyMap(); - - static sal_Bool setPropertyValue( ScDocOptions& rOptions, - const SfxItemPropertyMap& rPropMap, - const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ); - static ::com::sun::star::uno::Any getPropertyValue( - const ScDocOptions& rOptions, - const SfxItemPropertyMap& rPropMap, - const ::rtl::OUString& PropertyName ); -}; - - -// empty doc object to supply only doc options - -class ScDocOptionsObj : public ScModelObj -{ -private: - ScDocOptions aOptions; - -public: - ScDocOptionsObj( const ScDocOptions& rOpt ); - virtual ~ScDocOptionsObj(); - - // get/setPropertyValue overloaded to used stored options instead of document - - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/optutil.hxx b/sc/inc/optutil.hxx deleted file mode 100644 index 4e57732f3..000000000 --- a/sc/inc/optutil.hxx +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_OPTUTIL_HXX -#define SC_OPTUTIL_HXX - -#include <unotools/configitem.hxx> -#include <tools/link.hxx> -#include "scdllapi.h" - - -class ScOptionsUtil -{ -public: - // values must correspond with integer values stored in the configuration - enum KeyBindingType { KEY_DEFAULT = 0, KEY_OOO_LEGACY = 1 }; - - static sal_Bool IsMetricSystem(); -}; - - -// ConfigItem for classes that use items from several sub trees - -class SC_DLLPUBLIC ScLinkConfigItem : public utl::ConfigItem -{ - Link aCommitLink; - -public: - ScLinkConfigItem( const rtl::OUString& rSubTree ); - ScLinkConfigItem( const rtl::OUString& rSubTree, sal_Int16 nMode ); - void SetCommitLink( const Link& rLink ); - - virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames ); - virtual void Commit(); - - void SetModified() { ConfigItem::SetModified(); } - com::sun::star::uno::Sequence< com::sun::star::uno::Any> - GetProperties(const com::sun::star::uno::Sequence< rtl::OUString >& rNames) - { return ConfigItem::GetProperties( rNames ); } - sal_Bool PutProperties( const com::sun::star::uno::Sequence< rtl::OUString >& rNames, - const com::sun::star::uno::Sequence< com::sun::star::uno::Any>& rValues) - { return ConfigItem::PutProperties( rNames, rValues ); } - - using ConfigItem::EnableNotification; - using ConfigItem::GetNodeNames; - -}; - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/orcus/README b/sc/inc/orcus/README deleted file mode 100644 index 3ada1c3c0..000000000 --- a/sc/inc/orcus/README +++ /dev/null @@ -1,5 +0,0 @@ -The headers in this directory are directly copied from the orcus project[1]. -When modifying any of these files, please ping me so that the changes can be -upstreamed. - -[1] http://gitorious.org/orcus diff --git a/sc/inc/orcus/css_parser.hpp b/sc/inc/orcus/css_parser.hpp deleted file mode 100644 index 7a1b3e512..000000000 --- a/sc/inc/orcus/css_parser.hpp +++ /dev/null @@ -1,513 +0,0 @@ -/************************************************************************* - * - * Copyright (c) 2011 Kohei Yoshida - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - ************************************************************************/ - -#ifndef __ORCUS_CSS_PARSER_HPP__ -#define __ORCUS_CSS_PARSER_HPP__ - -#define ORCUS_DEBUG_CSS 0 - -#include <cstdlib> -#include <cstring> -#include <exception> -#include <string> -#include <cassert> -#include <sstream> - -#if ORCUS_DEBUG_CSS -#include <iostream> -#endif - -namespace orcus { - -class css_parse_error : public std::exception -{ - std::string m_msg; -public: - css_parse_error(const std::string& msg) : m_msg(msg) {} - virtual ~css_parse_error() throw() {} - virtual const char* what() const throw() { return m_msg.c_str(); } -}; - -template<typename _Handler> -class css_parser -{ -public: - typedef _Handler handler_type; - - css_parser(const char* p, size_t n, handler_type& hdl); - void parse(); - -private: - // Handlers - at the time a handler is called the current position is - // expected to point to the first unprocessed non-blank character, and - // each handler must set the current position to the next unprocessed - // non-blank character when it finishes. - void rule(); - void at_rule_name(); - void selector_name(); - void property_name(); - void property(); - void quoted_value(); - void value(); - void name_sep(); - void property_sep(); - void block(); - - void identifier(const char*& p, size_t& len); - - void skip_blanks(); - void skip_blanks_reverse(); - void shrink_stream(); - void next(); - char cur_char() const; - - size_t remaining_size() const { return m_length - m_pos - 1; } - bool has_char() const { return m_pos < m_length; } - - static bool is_blank(char c) - { - return c == ' ' || c == '\t' || c == '\n'; - } - - static bool is_alpha(char c) - { - if ('a' <= c && c <= 'z') - return true; - if ('A' <= c && c <= 'Z') - return true; - return false; - } - - static bool is_name_char(char c) - { - switch (c) - { - case '-': - return true; - } - - return false; - } - - static bool is_numeric(char c) - { - if ('0' <= c && c <= '9') - return true; - return false; - } - - handler_type& m_handler; - const char* mp_char; - size_t m_pos; - size_t m_length; -}; - -template<typename _Handler> -css_parser<_Handler>::css_parser(const char* p, size_t n, handler_type& hdl) : - m_handler(hdl), mp_char(p), m_pos(0), m_length(n) {} - -template<typename _Handler> -void css_parser<_Handler>::parse() -{ - shrink_stream(); - -#if ORCUS_DEBUG_CSS - std::cout << "compressed: '"; - const char* p = mp_char; - for (size_t i = m_pos; i < m_length; ++i, ++p) - std::cout << *p; - std::cout << "'" << std::endl; -#endif - m_handler.begin_parse(); - for (; has_char(); next()) - rule(); - m_handler.end_parse(); -} - -template<typename _Handler> -void css_parser<_Handler>::rule() -{ - // <name> , ... , <name> { <properties> } - while (has_char()) - { - char c = cur_char(); - if (is_alpha(c) || c == '.' || c == '@') - { - selector_name(); - } - else if (c == ',') - { - name_sep(); - } - else if (c == '{') - { - block(); - } - else - { - std::ostringstream os; - os << "failed to parse '" << c << "'"; - throw css_parse_error(os.str()); - } - } -} - -template<typename _Handler> -void css_parser<_Handler>::at_rule_name() -{ - assert(has_char()); - assert(cur_char() == '@'); - next(); - char c = cur_char(); - if (!is_alpha(c)) - throw css_parse_error("first character of an at-rule name must be an alphabet."); - - const char* p; - size_t len; - identifier(p, len); - skip_blanks(); - - m_handler.at_rule_name(p, len); -#if ORCUS_DEBUG_CSS - std::string foo(p, len); - std::cout << "at-rule name: " << foo.c_str() << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::selector_name() -{ - // <element name> '.' <class name> - - assert(has_char()); - char c = cur_char(); - if (c == '@') - { - // This is the name of an at-rule. - at_rule_name(); - return; - } - - if (!is_alpha(c) && c != '.') - throw css_parse_error("first character of a name must be an alphabet or a dot."); - - const char* p_elem = NULL; - const char* p_class = NULL; - size_t len_elem = 0; - size_t len_class = 0; - if (c != '.') - identifier(p_elem, len_elem); - - if (cur_char() == '.') - { - next(); - identifier(p_class, len_class); - } - skip_blanks(); - - m_handler.selector_name(p_elem, len_elem, p_class, len_class); -#if ORCUS_DEBUG_CSS - std::string elem_name(p_elem, len_elem), class_name(p_class, len_class); - std::cout << "selector name: (element)'" << elem_name.c_str() << "' (class)'" << class_name.c_str() << "'" << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::property_name() -{ - assert(has_char()); - char c = cur_char(); - if (!is_alpha(c) && c != '.') - throw css_parse_error("first character of a name must be an alphabet or a dot."); - - const char* p; - size_t len; - identifier(p, len); - skip_blanks(); - - m_handler.property_name(p, len); -#if ORCUS_DEBUG_CSS - std::string foo(p, len); - std::cout << "property name: " << foo.c_str() << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::property() -{ - // <name> : <value> , ... , <value> - m_handler.begin_property(); - property_name(); - if (cur_char() != ':') - throw css_parse_error("':' expected."); - next(); - skip_blanks(); - while (has_char()) - { - value(); - char c = cur_char(); - if (c == ',') - { - // separated by commas. - next(); - skip_blanks(); - } - else if (c == ';') - break; - } - skip_blanks(); - m_handler.end_property(); -} - -template<typename _Handler> -void css_parser<_Handler>::quoted_value() -{ - assert(cur_char() == '"'); - next(); - const char* p = mp_char; - size_t len = 1; - for (next(); has_char(); next()) - { - if (cur_char() == '"') - { - // End quote reached. - break; - } - ++len; - } - - if (cur_char() != '"') - throw css_parse_error("end quote has never been reached."); - - next(); - skip_blanks(); - - m_handler.value(p, len); -#if ORCUS_DEBUG_CSS - std::string foo(p, len); - std::cout << "quoted value: " << foo.c_str() << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::value() -{ - assert(has_char()); - char c = cur_char(); - if (c == '"') - { - quoted_value(); - return; - } - - if (!is_alpha(c) && !is_numeric(c) && c != '-' && c != '+' && c != '.') - { - std::ostringstream os; - os << "illegal first character of a value '" << c << "'"; - throw css_parse_error(os.str()); - } - - const char* p = mp_char; - size_t len = 1; - for (next(); has_char(); next()) - { - c = cur_char(); - if (!is_alpha(c) && !is_name_char(c) && !is_numeric(c) && c != '.') - break; - ++len; - } - skip_blanks(); - - m_handler.value(p, len); -#if ORCUS_DEBUG_CSS - std::string foo(p, len); - std::cout << "value: " << foo.c_str() << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::name_sep() -{ - assert(cur_char() == ','); -#if ORCUS_DEBUG_CSS - std::cout << "," << std::endl; -#endif - next(); - skip_blanks(); -} - -template<typename _Handler> -void css_parser<_Handler>::property_sep() -{ -#if ORCUS_DEBUG_CSS - std::cout << ";" << std::endl; -#endif - next(); - skip_blanks(); -} - -template<typename _Handler> -void css_parser<_Handler>::block() -{ - // '{' <property> ';' ... ';' <property> '}' - - assert(cur_char() == '{'); -#if ORCUS_DEBUG_CSS - std::cout << "{" << std::endl; -#endif - m_handler.begin_block(); - - next(); - skip_blanks(); - - // parse properties. - while (has_char()) - { - property(); - if (cur_char() != ';') - break; - property_sep(); - if (cur_char() == '}') - // ';' after the last property. This is optional but allowed. - break; - } - - if (cur_char() != '}') - throw css_parse_error("} expected."); - - m_handler.end_block(); - - next(); - skip_blanks(); - -#if ORCUS_DEBUG_CSS - std::cout << "}" << std::endl; -#endif -} - -template<typename _Handler> -void css_parser<_Handler>::identifier(const char*& p, size_t& len) -{ - p = mp_char; - len = 1; - for (next(); has_char(); next()) - { - char c = cur_char(); - if (!is_alpha(c) && !is_name_char(c) && !is_numeric(c)) - break; - ++len; - } -} - -template<typename _Handler> -void css_parser<_Handler>::skip_blanks() -{ - for (; has_char(); next()) - { - if (!is_blank(*mp_char)) - break; - } -} - -template<typename _Handler> -void css_parser<_Handler>::skip_blanks_reverse() -{ - const char* p = mp_char + remaining_size(); - for (; p != mp_char; --p, --m_length) - { - if (!is_blank(*p)) - break; - } -} - -template<typename _Handler> -void css_parser<_Handler>::shrink_stream() -{ - // Skip any leading blanks. - skip_blanks(); - - if (!remaining_size()) - return; - - // Skip any trailing blanks. - skip_blanks_reverse(); - - // Skip leading <!-- if present. - - const char* com_open = "<!--"; - size_t com_open_len = std::strlen(com_open); - if (remaining_size() < com_open_len) - // Not enough stream left. Bail out. - return; - - const char* p = mp_char; - for (size_t i = 0; i < com_open_len; ++i, ++p) - { - if (*p != com_open[i]) - return; - next(); - } - mp_char = p; - - // Skip leading blanks once again. - skip_blanks(); - - // Skip trailing --> if present. - const char* com_close = "-->"; - size_t com_close_len = std::strlen(com_close); - size_t n = remaining_size(); - if (n < com_close_len) - // Not enough stream left. Bail out. - return; - - p = mp_char + n; // move to the last char. - for (size_t i = com_close_len; i > 0; --i, --p) - { - if (*p != com_close[i-1]) - return; - } - m_length -= com_close_len; - - skip_blanks_reverse(); -} - -template<typename _Handler> -void css_parser<_Handler>::next() -{ - ++m_pos; - ++mp_char; -} - -template<typename _Handler> -char css_parser<_Handler>::cur_char() const -{ - return *mp_char; -} - -} - -#endif diff --git a/sc/inc/pagepar.hxx b/sc/inc/pagepar.hxx deleted file mode 100644 index 9b1816ed4..000000000 --- a/sc/inc/pagepar.hxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PAGEPAR_HXX -#define SC_PAGEPAR_HXX - -#include "global.hxx" -#include "address.hxx" - -//----------------------------------------------------------------------- - -struct ScPageTableParam -{ - sal_Bool bCellContent; - sal_Bool bNotes; - sal_Bool bGrid; - sal_Bool bHeaders; - sal_Bool bCharts; - sal_Bool bObjects; - sal_Bool bDrawings; - sal_Bool bFormulas; - sal_Bool bNullVals; - sal_Bool bTopDown; - sal_Bool bLeftRight; - sal_Bool bSkipEmpty; - sal_Bool bScaleNone; - sal_Bool bScaleAll; - sal_Bool bScaleTo; - sal_Bool bScalePageNum; - sal_uInt16 nScaleAll; - sal_uInt16 nScaleWidth; - sal_uInt16 nScaleHeight; - sal_uInt16 nScalePageNum; - sal_uInt16 nFirstPageNo; - - ScPageTableParam(); - ~ScPageTableParam(); - - sal_Bool operator== ( const ScPageTableParam& r ) const; - void Reset (); -}; - -struct ScPageAreaParam -{ - sal_Bool bPrintArea; - sal_Bool bRepeatRow; - sal_Bool bRepeatCol; - ScRange aPrintArea; - ScRange aRepeatRow; - ScRange aRepeatCol; - - ScPageAreaParam(); - ~ScPageAreaParam(); - - sal_Bool operator== ( const ScPageAreaParam& r ) const; - void Reset (); -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/pageuno.hxx b/sc/inc/pageuno.hxx deleted file mode 100644 index 250065a0d..000000000 --- a/sc/inc/pageuno.hxx +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PAGEUNO_HXX -#define SC_PAGEUNO_HXX - -#include <svx/fmdpage.hxx> - -//------------------------------------------------------------------------ - -// SvxFmDrawPage subclass to create ScShapeObj for shapes - -class ScPageObj : public SvxFmDrawPage -{ -public: - ScPageObj( SdrPage* pPage ); - virtual ~ScPageObj() throw(); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > - _CreateShape( SdrObject *pObj ) const throw(); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const rtl::OUString& rServiceName ) - throw(com::sun::star::uno::RuntimeException); - virtual com::sun::star::uno::Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames() - throw(com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/paramisc.hxx b/sc/inc/paramisc.hxx deleted file mode 100644 index 8952ed4a4..000000000 --- a/sc/inc/paramisc.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PARAMISC_HXX -#define SC_PARAMISC_HXX - -#include "address.hxx" -#include <tools/solar.h> - -class String; - -struct ScSolveParam -{ - ScAddress aRefFormulaCell; - ScAddress aRefVariableCell; - String* pStrTargetVal; - - ScSolveParam(); - ScSolveParam( const ScSolveParam& r ); - ScSolveParam( const ScAddress& rFormulaCell, - const ScAddress& rVariableCell, - const String& rTargetValStr ); - ~ScSolveParam(); - - ScSolveParam& operator= ( const ScSolveParam& r ); - sal_Bool operator== ( const ScSolveParam& r ) const; -}; - -//----------------------------------------------------------------------- - -struct ScTabOpParam -{ - ScRefAddress aRefFormulaCell; - ScRefAddress aRefFormulaEnd; - ScRefAddress aRefRowCell; - ScRefAddress aRefColCell; - sal_uInt8 nMode; - - ScTabOpParam() {}; - ScTabOpParam( const ScTabOpParam& r ); - ScTabOpParam( const ScRefAddress& rFormulaCell, - const ScRefAddress& rFormulaEnd, - const ScRefAddress& rRowCell, - const ScRefAddress& rColCell, - sal_uInt8 nMd); - ~ScTabOpParam() {}; - - ScTabOpParam& operator= ( const ScTabOpParam& r ); - sal_Bool operator== ( const ScTabOpParam& r ) const; -}; - -#endif // SC_PARAMISC_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/patattr.hxx b/sc/inc/patattr.hxx deleted file mode 100644 index a33a462de..000000000 --- a/sc/inc/patattr.hxx +++ /dev/null @@ -1,183 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCPATATR_HXX -#define SC_SCPATATR_HXX - -#include <svl/poolitem.hxx> -#include <svl/itemset.hxx> -#include <unotools/fontcvt.hxx> -#include <editeng/svxenum.hxx> -#include "scdllapi.h" - -class Font; -class OutputDevice; -class Fraction; -class ScStyleSheet; -class SvNumberFormatter; -class ScDocument; - - -// how to treat COL_AUTO in GetFont: - -enum ScAutoFontColorMode -{ - SC_AUTOCOL_RAW, // COL_AUTO is returned - SC_AUTOCOL_BLACK, // always use black - SC_AUTOCOL_PRINT, // black or white, depending on background - SC_AUTOCOL_DISPLAY, // from style settings, or black/white if needed - SC_AUTOCOL_IGNOREFONT, // like DISPLAY, but ignore stored font color (assume COL_AUTO) - SC_AUTOCOL_IGNOREBACK, // like DISPLAY, but ignore stored background color (use configured color) - SC_AUTOCOL_IGNOREALL // like DISPLAY, but ignore stored font and background colors -}; - - -class SC_DLLPUBLIC ScPatternAttr: public SfxSetItem -{ - String* pName; - ScStyleSheet* pStyle; -public: - static ScDocument* pDoc; - ScPatternAttr(SfxItemSet* pItemSet, const String& rStyleName); - ScPatternAttr(SfxItemSet* pItemSet, ScStyleSheet* pStyleSheet = NULL); - ScPatternAttr(SfxItemPool* pItemPool); - ScPatternAttr(const ScPatternAttr& rPatternAttr); - - ~ScPatternAttr(); - - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - virtual SfxPoolItem* Create(SvStream& rStream, sal_uInt16 nVersion) const; - virtual SvStream& Store(SvStream& rStream, sal_uInt16 nItemVersion) const; - - virtual int operator==(const SfxPoolItem& rCmp) const; - - const SfxPoolItem& GetItem( sal_uInt16 nWhichP ) const - { return GetItemSet().Get(nWhichP); } - - static const SfxPoolItem& GetItem( sal_uInt16 nWhich, const SfxItemSet& rItemSet, const SfxItemSet* pCondSet ); - const SfxPoolItem& GetItem( sal_uInt16 nWhich, const SfxItemSet* pCondSet ) const; - - // pWhich are no ranges, but single IDs, 0-terminated - sal_Bool HasItemsSet( const sal_uInt16* pWhich ) const; - void ClearItems( const sal_uInt16* pWhich ); - - void DeleteUnchanged( const ScPatternAttr* pOldAttrs ); - - static SvxCellOrientation GetCellOrientation( const SfxItemSet& rItemSet, const SfxItemSet* pCondSet = 0 ); - SvxCellOrientation GetCellOrientation( const SfxItemSet* pCondSet = 0 ) const; - - /** Static helper function to fill a font object from the passed item set. */ - static void GetFont( Font& rFont, const SfxItemSet& rItemSet, - ScAutoFontColorMode eAutoMode, - OutputDevice* pOutDev = NULL, - const Fraction* pScale = NULL, - const SfxItemSet* pCondSet = NULL, - sal_uInt8 nScript = 0, const Color* pBackConfigColor = NULL, - const Color* pTextConfigColor = NULL ); - /** Fills a font object from the own item set. */ - void GetFont( Font& rFont, ScAutoFontColorMode eAutoMode, - OutputDevice* pOutDev = NULL, - const Fraction* pScale = NULL, - const SfxItemSet* pCondSet = NULL, - sal_uInt8 nScript = 0, const Color* pBackConfigColor = NULL, - const Color* pTextConfigColor = NULL ) const; - - /** Converts all Calc items contained in rSrcSet to edit engine items and puts them into rEditSet. */ - static void FillToEditItemSet( SfxItemSet& rEditSet, const SfxItemSet& rSrcSet, const SfxItemSet* pCondSet = NULL ); - /** Converts all Calc items contained in the own item set to edit engine items and puts them into pEditSet. */ - void FillEditItemSet( SfxItemSet* pEditSet, const SfxItemSet* pCondSet = NULL ) const; - - /** Converts all edit engine items contained in rEditSet to Calc items and puts them into rDestSet. */ - static void GetFromEditItemSet( SfxItemSet& rDestSet, const SfxItemSet& rEditSet ); - /** Converts all edit engine items contained in pEditSet to Calc items and puts them into the own item set. */ - void GetFromEditItemSet( const SfxItemSet* pEditSet ); - - void FillEditParaItems( SfxItemSet* pSet ) const; - - ScPatternAttr* PutInPool( ScDocument* pDestDoc, ScDocument* pSrcDoc ) const; - - void SetStyleSheet(ScStyleSheet* pNewStyle); - const ScStyleSheet* GetStyleSheet() const { return pStyle; } - const String* GetStyleName() const; - void UpdateStyleSheet(); - void StyleToName(); - - sal_Bool IsVisible() const; - sal_Bool IsVisibleEqual( const ScPatternAttr& rOther ) const; - - /** If font is an old symbol font StarBats/StarMath - with text encoding RTL_TEXTENC_SYMBOL */ - sal_Bool IsSymbolFont() const; - - sal_uLong GetNumberFormat( SvNumberFormatter* ) const; - sal_uLong GetNumberFormat( SvNumberFormatter* pFormatter, - const SfxItemSet* pCondSet ) const; - - long GetRotateVal( const SfxItemSet* pCondSet ) const; - sal_uInt8 GetRotateDir( const SfxItemSet* pCondSet ) const; -}; - - -class ScFontToSubsFontConverter_AutoPtr -{ - FontToSubsFontConverter h; - - void release() - { - if ( h ) - DestroyFontToSubsFontConverter( h ); - } - - // prevent usage - ScFontToSubsFontConverter_AutoPtr( const ScFontToSubsFontConverter_AutoPtr& ); - ScFontToSubsFontConverter_AutoPtr& operator=( const ScFontToSubsFontConverter_AutoPtr& ); - -public: - ScFontToSubsFontConverter_AutoPtr() - : h(0) - {} - ~ScFontToSubsFontConverter_AutoPtr() - { - release(); - } - - ScFontToSubsFontConverter_AutoPtr& operator=( FontToSubsFontConverter hN ) - { - release(); - h = hN; - return *this; - } - - operator FontToSubsFontConverter() const - { return h; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/pch/precompiled_sc.cxx b/sc/inc/pch/precompiled_sc.cxx deleted file mode 100644 index ceb929a49..000000000 --- a/sc/inc/pch/precompiled_sc.cxx +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "precompiled_sc.hxx" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/pch/precompiled_sc.hxx b/sc/inc/pch/precompiled_sc.hxx deleted file mode 100644 index 5d26512dc..000000000 --- a/sc/inc/pch/precompiled_sc.hxx +++ /dev/null @@ -1,243 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): Generated on 2006-07-11 15:52:42.937361 - -#ifdef PRECOMPILED_HEADERS -#include <sal/config.h> -#include "scitems.hxx" - -#include <algorithm> -#include <assert.h> -#include <deque> -#include <stdarg.h> -#include <stddef.h> -#include <stdio.h> -#include <string.h> -#include <iosfwd> -#include <limits.h> -#include <limits> -#include <list> -#include <math.h> -#include <memory> -#include <new> -#include <cfloat> - -#include <boost/bind.hpp> - -#include <basegfx/polygon/b2dpolygon.hxx> -#include <basegfx/polygon/b3dpolygon.hxx> -#include <basegfx/polygon/b3dpolypolygon.hxx> -#include <com/sun/star/uno/Any.h> -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/uno/Reference.h> -#include <com/sun/star/uno/Sequence.h> -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/uno/Type.hxx> -#include <cppu/macros.hxx> -#include <cppuhelper/weakref.hxx> -#include <cstddef> -#include <cwchar> -#include <float.h> -#include <functional> -#include <com/sun/star/awt/Point.hdl> -#include <com/sun/star/awt/Point.hpp> -#include <com/sun/star/awt/Size.hdl> -#include <com/sun/star/awt/Size.hpp> -#include <com/sun/star/beans/PropertyVetoException.hdl> -#include <com/sun/star/beans/PropertyVetoException.hpp> -#include <com/sun/star/container/ElementExistException.hdl> -#include <com/sun/star/container/ElementExistException.hpp> -#include <com/sun/star/container/NoSuchElementException.hpp> -#include <com/sun/star/container/XElementAccess.hdl> -#include <com/sun/star/container/XElementAccess.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/datatransfer/DataFlavor.hdl> -#include <com/sun/star/datatransfer/dnd/DragGestureEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DragSourceDragEvent.hdl> -#include <com/sun/star/datatransfer/dnd/DragSourceDragEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DragSourceDropEvent.hdl> -#include <com/sun/star/datatransfer/dnd/DragSourceEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.hdl> -#include <com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.hdl> -#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.hpp> -#include <com/sun/star/datatransfer/dnd/DropTargetEvent.hdl> -#include <com/sun/star/datatransfer/dnd/DropTargetEvent.hpp> -#include <com/sun/star/datatransfer/dnd/XDragGestureListener.hdl> -#include <com/sun/star/datatransfer/dnd/XDragGestureListener.hpp> -#include <com/sun/star/datatransfer/dnd/XDragSource.hdl> -#include <com/sun/star/datatransfer/dnd/XDragSource.hpp> -#include <com/sun/star/datatransfer/dnd/XDragSourceContext.hdl> -#include <com/sun/star/datatransfer/dnd/XDragSourceContext.hpp> -#include <com/sun/star/datatransfer/dnd/XDragSourceListener.hdl> -#include <com/sun/star/datatransfer/dnd/XDragSourceListener.hpp> -#include <com/sun/star/datatransfer/dnd/XDropTargetDragContext.hpp> -#include <com/sun/star/datatransfer/dnd/XDropTargetListener.hdl> -#include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp> -#include <com/sun/star/datatransfer/UnsupportedFlavorException.hdl> -#include <com/sun/star/datatransfer/XTransferable.hpp> -#include <com/sun/star/drawing/XShape.hpp> -#include <com/sun/star/embed/InvalidStorageException.hpp> -#include <com/sun/star/embed/StorageWrappedTargetException.hdl> -#include <com/sun/star/embed/StorageWrappedTargetException.hpp> -#include <com/sun/star/embed/XStorage.hdl> -#include <com/sun/star/embed/XStorage.hpp> -#include <com/sun/star/io/BufferSizeExceededException.hpp> -#include <com/sun/star/io/IOException.hdl> -#include <com/sun/star/io/NotConnectedException.hdl> -#include <com/sun/star/io/NotConnectedException.hpp> -#include <com/sun/star/io/XInputStream.hdl> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XOutputStream.hdl> -#include <com/sun/star/io/XOutputStream.hpp> -#include <com/sun/star/io/XStream.hdl> -#include <com/sun/star/lang/EventObject.hdl> -#include <com/sun/star/lang/IllegalArgumentException.hpp> -#include <com/sun/star/lang/WrappedTargetException.hdl> -#include <com/sun/star/lang/WrappedTargetException.hpp> -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/lang/XEventListener.hpp> -#include <com/sun/star/packages/NoEncryptionException.hdl> -#include <com/sun/star/packages/NoEncryptionException.hpp> -#include <com/sun/star/packages/WrongPasswordException.hdl> -#include <com/sun/star/packages/WrongPasswordException.hpp> -#include <com/sun/star/uno/Exception.hdl> -#include <com/sun/star/uno/Exception.hpp> -#include <com/sun/star/uno/RuntimeException.hdl> -#include <com/sun/star/uno/RuntimeException.hpp> -#include <com/sun/star/uno/XAdapter.hdl> -#include <com/sun/star/uno/XAdapter.hpp> -#include <com/sun/star/uno/XInterface.hdl> -#include <com/sun/star/uno/XReference.hdl> -#include <com/sun/star/uno/XReference.hpp> -#include <com/sun/star/uno/XWeak.hpp> -#include <osl/endian.h> -#include <osl/interlck.h> -#include <osl/mutex.hxx> -#include <rtl/alloc.h> -#include <rtl/string.h> -#include <rtl/ustrbuf.h> -#include <rtl/ustring.h> -#include <sal/mathconf.h> -#include <sal/types.h> -#include <sot/exchange.hxx> -#include <sot/factory.hxx> -#include <sot/storage.hxx> -#include <svl/brdcst.hxx> -#include <svl/cenumitm.hxx> -#include <svl/cintitem.hxx> -#include <unotools/fltrcfg.hxx> -#include <svl/intitem.hxx> -#include <svl/listener.hxx> -#include <svl/lstner.hxx> -#include <unotools/pathoptions.hxx> -#include <svl/solar.hrc> -#include <unotools/useroptions.hxx> -#include <editeng/editobj.hxx> -#include <editeng/eeitem.hxx> -#include <svx/fmglob.hxx> -#include <editeng/outlobj.hxx> -#include <svx/sdangitm.hxx> -#include <svx/sderitm.hxx> -#include <svx/sdmetitm.hxx> -#include <svx/sdooitm.hxx> -#include <svx/sdprcitm.hxx> -#include <svx/sdrmasterpagedescriptor.hxx> -#include <svx/sdrpageuser.hxx> -#include <svx/sdtaitm.hxx> -#include <svx/svdglue.hxx> -#include <svx/svdlayer.hxx> -#include <svx/svdoattr.hxx> -#include <svx/svdobj.hxx> -#include <svx/svdpage.hxx> -#include <svx/svdpool.hxx> -#include <svx/svdtrans.hxx> -#include <svx/svdtypes.hxx> -#include <svx/unoapi.hxx> -#include <svx/volume3d.hxx> -#include <svx/xcolit.hxx> -#include <svx/xenum.hxx> -#include <svx/xfillit0.hxx> -#include <svx/xflasit.hxx> -#include <svx/xlineit0.hxx> -#include <svx/xlnasit.hxx> -#include <svx/xtextit0.hxx> -#include <tools/date.hxx> -#include <tools/datetime.hxx> -#include <tools/errcode.hxx> -#include <tools/errinf.hxx> -#include <tools/gen.hxx> -#include <tools/globname.hxx> -#include <tools/rc.hxx> -#include <tools/rtti.hxx> -#include <tools/solar.h> -#include <tools/string.hxx> -#include <tools/toolsdllapi.h> -#include <tools/weakbase.h> -#include <tools/weakbase.hxx> -#include <typeinfo> -#include <typelib/typeclass.h> -#include <typelib/typedescription.h> -#include <typelib/uik.h> -#include <uno/any2.h> -#include <uno/lbnames.h> -#include <uno/sequence2.h> -#include <unotools/ucbstreamhelper.hxx> - -#include <vcl/apptypes.hxx> -#include <vcl/bitmap.hxx> -#include <vcl/bitmapex.hxx> -#include <vcl/dllapi.h> -#include <vcl/dndhelp.hxx> -#include <vcl/edit.hxx> -#include <vcl/field.hxx> -#include <tools/fldunit.hxx> -#include <vcl/gdimtf.hxx> -#include <vcl/inputctx.hxx> -#include <vcl/jobset.hxx> -#include <vcl/mapmod.hxx> -#include <vcl/menu.hxx> -#include <vcl/pointr.hxx> -#include <vcl/print.hxx> -#include <vcl/prntypes.hxx> -#include <vcl/ptrstyle.hxx> -#include <vcl/region.hxx> -#include <vcl/salnativewidgets.hxx> -#include <vcl/spinfld.hxx> -#include <vcl/sv.h> -#include <vcl/svapp.hxx> -#include <vcl/vclevent.hxx> -#include <vcl/window.hxx> -#include <vcl/wintypes.hxx> -#include <wchar.h> - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/pivot.hxx b/sc/inc/pivot.hxx deleted file mode 100644 index 63c52b5aa..000000000 --- a/sc/inc/pivot.hxx +++ /dev/null @@ -1,209 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -/* - IMPORTANT: - Strictly adhere to the following sequence when creating a pivot table: - - pPivot->SetColFields(aColArr, aColCount) - pPivot->SetRowFields(aRowArr, aRowCount) - pPivot->SetDataFields(aDataArr, aDataCount) - if (pPivot->CreateData()) - { - pPivotDrawData(); - pPivotReleaseData(); - } - - Make sure that either ColArr or RowArr contains a PivotDataField entry. -*/ - - -#ifndef SC_PIVOT_HXX -#define SC_PIVOT_HXX - -#include "global.hxx" -#include "address.hxx" -#include "dpglobal.hxx" - -#include <vector> -#include <boost/shared_ptr.hpp> - -class SubTotal; -#include "collect.hxx" - -#define PIVOT_DATA_FIELD (MAXCOLCOUNT) -#define PIVOT_FUNC_REF (MAXCOLCOUNT) -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/sheet/DataPilotFieldReference.hpp> -#include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp> -#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp> - -class SvStream; -class ScDocument; -class ScUserListData; -class ScProgress; - -struct ScDPLabelData; -typedef ::boost::shared_ptr<ScDPLabelData> ScDPLabelDataRef; - -// ----------------------------------------------------------------------- - -struct PivotField -{ - SCsCOL nCol; - sal_uInt16 nFuncMask; - sal_uInt16 nFuncCount; - ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; - - explicit PivotField( SCsCOL nNewCol = 0, sal_uInt16 nNewFuncMask = PIVOT_FUNC_NONE ); - PivotField( const PivotField& r ); - - bool operator==( const PivotField& r ) const; -}; - -// ----------------------------------------------------------------------- - -// implementation still in global2.cxx -struct ScPivotParam -{ - SCCOL nCol; // cursor position / - SCROW nRow; // or start of destination area - SCTAB nTab; - ::std::vector<ScDPLabelDataRef> maLabelArray; - ::std::vector<PivotField> maPageFields; - ::std::vector<PivotField> maColFields; - ::std::vector<PivotField> maRowFields; - ::std::vector<PivotField> maDataFields; - sal_Bool bIgnoreEmptyRows; - sal_Bool bDetectCategories; - sal_Bool bMakeTotalCol; - sal_Bool bMakeTotalRow; - - ScPivotParam(); - ScPivotParam( const ScPivotParam& r ); - ~ScPivotParam(); - - ScPivotParam& operator= ( const ScPivotParam& r ); - bool operator== ( const ScPivotParam& r ) const; - void ClearPivotArrays(); - void SetLabelData (const ::std::vector<ScDPLabelDataRef>& r); -}; - -//------------------------------------------------------------------------ - -struct ScDPName -{ - ::rtl::OUString maName; /// Original name of the dimension. - ::rtl::OUString maLayoutName; /// Layout name (display name) - - explicit ScDPName(const ::rtl::OUString& rName, const ::rtl::OUString& rLayoutName); -}; - -// ============================================================================ - -struct ScDPLabelData -{ - ::rtl::OUString maName; /// Original name of the dimension. - ::rtl::OUString maLayoutName; /// Layout name (display name) - SCCOL mnCol; - sal_uInt16 mnFuncMask; /// Page/Column/Row subtotal function. - sal_Int32 mnUsedHier; /// Used hierarchy. - sal_Int32 mnFlags; /// Flags from the DataPilotSource dimension - bool mbShowAll; /// true = Show all (also empty) results. - bool mbIsValue; /// true = Sum or count in data field. - - struct Member - { - ::rtl::OUString maName; - ::rtl::OUString maLayoutName; - bool mbVisible; - bool mbShowDetails; - - Member(); - - /** - * return the name that should be displayed in the dp dialogs i.e. - * when the layout name is present, use it, or else use the original - * name. - */ - ::rtl::OUString SC_DLLPUBLIC getDisplayName() const; - }; - ::std::vector<Member> maMembers; - ::com::sun::star::uno::Sequence< ::rtl::OUString > maHiers; /// Hierarchies. - ::com::sun::star::sheet::DataPilotFieldSortInfo maSortInfo; /// Sorting info. - ::com::sun::star::sheet::DataPilotFieldLayoutInfo maLayoutInfo; /// Layout info. - ::com::sun::star::sheet::DataPilotFieldAutoShowInfo maShowInfo; /// AutoShow info. - - explicit ScDPLabelData( const String& rName, SCCOL nCol, bool bIsValue ); - - /** - * return the name that should be displayed in the dp dialogs i.e. when - * the layout name is present, use it, or else use the original name. - */ - ::rtl::OUString SC_DLLPUBLIC getDisplayName() const; -}; - -typedef std::vector< ScDPLabelData > ScDPLabelDataVector; - -// ============================================================================ - -struct ScPivotField -{ - SCCOL nCol; - sal_uInt16 nFuncMask; - sal_uInt16 nFuncCount; - ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; - - explicit ScPivotField( SCCOL nNewCol = 0, sal_uInt16 nNewFuncMask = PIVOT_FUNC_NONE ); - - bool operator==( const ScPivotField& r ) const; -}; - -typedef ::std::vector< ScPivotField > ScPivotFieldVector; - -// ============================================================================ - -struct ScDPFuncData -{ - short mnCol; - sal_uInt16 mnFuncMask; - ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; - - explicit ScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask ); - explicit ScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask, - const ::com::sun::star::sheet::DataPilotFieldReference& rFieldRef ); -}; - -// ============================================================================ - -typedef std::vector< ScDPLabelData > ScDPLabelDataVec; -typedef std::vector<ScDPName> ScDPNameVec; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/postit.hxx b/sc/inc/postit.hxx deleted file mode 100644 index 6c1261103..000000000 --- a/sc/inc/postit.hxx +++ /dev/null @@ -1,266 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_POSTIT_HXX -#define SC_POSTIT_HXX - -#include <boost/shared_ptr.hpp> -#include <rtl/ustring.hxx> -#include <tools/gen.hxx> -#include "address.hxx" -#include "scdllapi.h" - -class EditTextObject; -class OutlinerParaObject; -class SdrCaptionObj; -class SdrPage; -class SfxItemSet; -class ScDocument; -struct ScCaptionInitData; - -// ============================================================================ - -/** Internal data for a cell annotation. */ -struct SC_DLLPUBLIC ScNoteData -{ - typedef ::boost::shared_ptr< ScCaptionInitData > ScCaptionInitDataRef; - - ::rtl::OUString maDate; /// Creation date of the note. - ::rtl::OUString maAuthor; /// Author of the note. - ScCaptionInitDataRef mxInitData; /// Initial data for invisible notes without SdrObject. - SdrCaptionObj* mpCaption; /// Drawing object representing the cell note. - bool mbShown; /// True = note is visible. - - explicit ScNoteData( bool bShown = false ); - ~ScNoteData(); -}; - -// ============================================================================ - -/** An additional class held by an ScBaseCell instance containing all - information for a cell annotation. - */ -class SC_DLLPUBLIC ScPostIt -{ -public: - /** Creates an empty note and its caption object and places it according to - the passed cell position. */ - explicit ScPostIt( ScDocument& rDoc, const ScAddress& rPos, bool bShown ); - - /** Copy constructor. Clones the note and its caption to a new document. */ - explicit ScPostIt( ScDocument& rDoc, const ScAddress& rPos, const ScPostIt& rNote ); - - /** Creates a note from the passed note data with existing caption object. - - @param bAlwaysCreateCaption Instead of a pointer to an existing - caption object, the passed note data structure may contain a - reference to an ScCaptionInitData structure containing information - about how to construct a missing caption object. If sal_True is passed, - the caption drawing object will be created immediately from that - data. If sal_False is passed and the note is not visible, it will - continue to cache that data until the caption object is requested. - */ - explicit ScPostIt( - ScDocument& rDoc, const ScAddress& rPos, - const ScNoteData& rNoteData, bool bAlwaysCreateCaption ); - - /** Removes the caption object from drawing layer, if this note is its owner. */ - ~ScPostIt(); - - /** Clones this note and its caption object, if specified. - - @param bCloneCaption If sal_True is passed, clones the caption object and - inserts it into the drawing layer of the destination document. If - sal_False is passed, the cloned note will refer to the old caption - object (used e.g. in Undo documents to restore the pointer to the - existing caption object). - */ - ScPostIt* Clone( - const ScAddress& rOwnPos, - ScDocument& rDestDoc, const ScAddress& rDestPos, - bool bCloneCaption ) const; - - /** Returns the data struct containing all note settings. */ - inline const ScNoteData& GetNoteData() const { return maNoteData; } - - /** Returns the creation date of this note. */ - inline const ::rtl::OUString& GetDate() const { return maNoteData.maDate; } - /** Sets a new creation date for this note. */ - inline void SetDate( const ::rtl::OUString& rDate ) { maNoteData.maDate = rDate; } - - /** Returns the author date of this note. */ - inline const ::rtl::OUString& GetAuthor() const { return maNoteData.maAuthor; } - /** Sets a new author date for this note. */ - inline void SetAuthor( const ::rtl::OUString& rAuthor ) { maNoteData.maAuthor = rAuthor; } - - /** Sets date and author from system settings. */ - void AutoStamp(); - - /** Returns the pointer to the current outliner object, or null. */ - const OutlinerParaObject* GetOutlinerObject() const; - /** Returns the pointer to the current edit text object, or null. */ - const EditTextObject* GetEditTextObject() const; - - /** Returns the caption text of this note. */ - ::rtl::OUString GetText() const; - /** Returns true, if the caption text of this note contains line breaks. */ - bool HasMultiLineText() const; - /** Changes the caption text of this note. All text formatting will be lost. */ - void SetText( const ScAddress& rPos, const ::rtl::OUString& rText ); - - /** Returns an existing note caption object. returns null, if the note - contains initial caption data needed to construct a caption object. */ - inline SdrCaptionObj* GetCaption() const { return maNoteData.mpCaption; } - /** Returns the caption object of this note. Creates the caption object, if - the note contains initial caption data instead of the caption. */ - SdrCaptionObj* GetOrCreateCaption( const ScAddress& rPos ) const; - /** Forgets the pointer to the note caption object. */ - void ForgetCaption(); - - /** Shows or hides the note caption object. */ - void ShowCaption( const ScAddress& rPos, bool bShow = true ); - /** Returns true, if the caption object is visible. */ - inline bool IsCaptionShown() const { return maNoteData.mbShown; } - - /** Shows or hides the caption temporarily (does not change internal visibility state). */ - void ShowCaptionTemp( const ScAddress& rPos, bool bShow = true ); - - /** Updates caption position according to position of the passed cell. */ - void UpdateCaptionPos( const ScAddress& rPos ); - -private: - ScPostIt( const ScPostIt& ); - ScPostIt& operator=( const ScPostIt& ); - - /** Creates the caption object from initial caption data if existing. */ - void CreateCaptionFromInitData( const ScAddress& rPos ) const; - /** Creates a new caption object at the passed cell position, clones passed existing caption. */ - void CreateCaption( const ScAddress& rPos, const SdrCaptionObj* pCaption = 0 ); - /** Removes the caption object from the drawing layer, if this note is its owner. */ - void RemoveCaption(); - -private: - ScDocument& mrDoc; /// Parent document containing the note. - mutable ScNoteData maNoteData; /// Note data with pointer to caption object. -}; - -// ============================================================================ - -class SC_DLLPUBLIC ScNoteUtil -{ -public: - /** Tries to update the position of note caption objects in the specified range. */ - static void UpdateCaptionPositions( ScDocument& rDoc, const ScRange& rRange ); - - /** Creates and returns a caption object for a temporary caption. */ - static SdrCaptionObj* CreateTempCaption( ScDocument& rDoc, const ScAddress& rPos, - SdrPage& rDrawPage, const ::rtl::OUString& rUserText, - const Rectangle& rVisRect, bool bTailFront ); - - /** Creates a cell note using the passed caption drawing object. - - This function is used in import filters to reuse the imported drawing - object as note caption object. - - @param rCaption The drawing object for the cell note. This object MUST - be inserted into the document at the correct drawing page already. - - @return Pointer to the new cell note object if insertion was - successful (i.e. the passed cell position was valid), null - otherwise. The Calc document is the owner of the note object. The - passed item set and outliner object are deleted automatically if - creation of the note was not successful. - */ - static ScPostIt* CreateNoteFromCaption( - ScDocument& rDoc, const ScAddress& rPos, - SdrCaptionObj& rCaption, bool bShown ); - - /** Creates a cell note based on the passed caption object data. - - This function is used in import filters to use an existing imported - item set and outliner object to create a note caption object. For - performance reasons, it is possible to specify that the caption drawing - object for the cell note is not created yet but the note caches the - passed data needed to create the caption object on demand (see - parameter bAlwaysCreateCaption). - - @param pItemSet Pointer to an item set on heap memory containing all - formatting attributes of the caption object. This function takes - ownership of the passed item set. - - @param pOutlinerObj Pointer to an outliner object on heap memory - containing (formatted) text for the caption object. This function - takes ownership of the passed outliner object. - - @param rCaptionRect The absolute position and size of the caption - object. The rectangle may be empty, in this case the default - position and size is used. - - @param bAlwaysCreateCaption If sal_True is passed, the caption drawing - object will be created immediately. If sal_False is passed, the caption - drawing object will not be created if the note is not visible - (bShown = sal_False), but the cell note will cache the passed data. - MUST be set to sal_False outside of import filter implementations! - - @return Pointer to the new cell note object if insertion was - successful (i.e. the passed cell position was valid), null - otherwise. The Calc document is the owner of the note object. - */ - static ScPostIt* CreateNoteFromObjectData( - ScDocument& rDoc, const ScAddress& rPos, - SfxItemSet* pItemSet, OutlinerParaObject* pOutlinerObj, - const Rectangle& rCaptionRect, bool bShown, - bool bAlwaysCreateCaption ); - - /** Creates a cell note based on the passed string and inserts it into the - document. - - @param rNoteText The text used to create the note caption object. Must - not be empty. - - @param bAlwaysCreateCaption If sal_True is passed, the caption drawing - object will be created immediately. If sal_False is passed, the caption - drawing object will not be created if the note is not visible - (bShown = sal_False), but the cell note will cache the passed data. - MUST be set to sal_False outside of import filter implementations! - - @return Pointer to the new cell note object if insertion was - successful (i.e. the passed cell position was valid), null - otherwise. The Calc document is the owner of the note object. - */ - static ScPostIt* CreateNoteFromString( - ScDocument& rDoc, const ScAddress& rPos, - const ::rtl::OUString& rNoteText, bool bShown, - bool bAlwaysCreateCaption ); -}; - -// ============================================================================ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/printopt.hxx b/sc/inc/printopt.hxx deleted file mode 100644 index 710e0f681..000000000 --- a/sc/inc/printopt.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PRINTOPT_HXX -#define SC_PRINTOPT_HXX - -#include <svl/poolitem.hxx> -#include <unotools/configitem.hxx> -#include "scdllapi.h" - -class SC_DLLPUBLIC ScPrintOptions -{ -private: - sal_Bool bSkipEmpty; - sal_Bool bAllSheets; - -public: - ScPrintOptions(); - ScPrintOptions( const ScPrintOptions& rCpy ); - ~ScPrintOptions(); - - sal_Bool GetSkipEmpty() const { return bSkipEmpty; } - void SetSkipEmpty( sal_Bool bVal ) { bSkipEmpty = bVal; } - sal_Bool GetAllSheets() const { return bAllSheets; } - void SetAllSheets( sal_Bool bVal ) { bAllSheets = bVal; } - - void SetDefaults(); - - const ScPrintOptions& operator= ( const ScPrintOptions& rCpy ); - int operator== ( const ScPrintOptions& rOpt ) const; - int operator!= ( const ScPrintOptions& rOpt ) const; -}; - -//================================================================== -// item for the dialog / options page -//================================================================== - -class SC_DLLPUBLIC ScTpPrintItem : public SfxPoolItem -{ -public: - TYPEINFO(); - ScTpPrintItem( sal_uInt16 nWhich, - const ScPrintOptions& rOpt ); - ScTpPrintItem( const ScTpPrintItem& rItem ); - ~ScTpPrintItem(); - - virtual String GetValueText() const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - const ScPrintOptions& GetPrintOptions() const { return theOptions; } - -private: - ScPrintOptions theOptions; -}; - -//================================================================== -// config item -//================================================================== - -class ScPrintCfg : public ScPrintOptions, public utl::ConfigItem -{ - com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); - -public: - ScPrintCfg(); - - void SetOptions( const ScPrintOptions& rNew ); - - virtual void Commit(); - virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/prnsave.hxx b/sc/inc/prnsave.hxx deleted file mode 100644 index df6216afc..000000000 --- a/sc/inc/prnsave.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PRNSAVE_HXX -#define SC_PRNSAVE_HXX - -#include "address.hxx" -#include <tools/solar.h> - -#include <vector> - -class ScRange; - -class ScPrintSaverTab -{ - typedef ::std::vector< ScRange > ScRangeVec; - - ScRangeVec maPrintRanges; // Array - ScRange* mpRepeatCol; // single - ScRange* mpRepeatRow; // single - sal_Bool mbEntireSheet; - -public: - ScPrintSaverTab(); - ~ScPrintSaverTab(); - - void SetAreas( const ScRangeVec& rRanges, sal_Bool bEntireSheet ); - void SetRepeat( const ScRange* pCol, const ScRange* pRow ); - - const ScRangeVec& GetPrintRanges() const { return maPrintRanges; } - sal_Bool IsEntireSheet() const { return mbEntireSheet; } - const ScRange* GetRepeatCol() const { return mpRepeatCol; } - const ScRange* GetRepeatRow() const { return mpRepeatRow; } - - sal_Bool operator==( const ScPrintSaverTab& rCmp ) const; -}; - -class ScPrintRangeSaver -{ - SCTAB nTabCount; - ScPrintSaverTab* pData; // Array - -public: - ScPrintRangeSaver( SCTAB nCount ); - ~ScPrintRangeSaver(); - - SCTAB GetTabCount() const { return nTabCount; } - ScPrintSaverTab& GetTabData(SCTAB nTab); - const ScPrintSaverTab& GetTabData(SCTAB nTab) const; - - sal_Bool operator==( const ScPrintRangeSaver& rCmp ) const; -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/progress.hxx b/sc/inc/progress.hxx deleted file mode 100644 index bbb51bafd..000000000 --- a/sc/inc/progress.hxx +++ /dev/null @@ -1,161 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_PROGRESS_HXX -#define SC_PROGRESS_HXX - -#include <sfx2/progress.hxx> -#include "scdllapi.h" - -class ScDocument; - -/* - * #i102566 - * Drawing a progress bar update is not cheap, so if we draw it on every - * percentage change of 200 calculations we get one progress draw per 2 - * calculations which is slower than doing the calculations themselves. So as a - * rough guide only do an update per MIN_NO_CODES_PER_PROGRESS_UPDATE - * calculations - */ -#define MIN_NO_CODES_PER_PROGRESS_UPDATE 100 - - -class SC_DLLPUBLIC ScProgress -{ -private: - static SfxProgress* pGlobalProgress; - static sal_uLong nGlobalRange; - static sal_uLong nGlobalPercent; - static sal_Bool bGlobalNoUserBreak; - static ScProgress* pInterpretProgress; - static ScProgress* pOldInterpretProgress; - static sal_uLong nInterpretProgress; - static sal_Bool bAllowInterpretProgress; - static ScDocument* pInterpretDoc; - static sal_Bool bIdleWasDisabled; - - SfxProgress* pProgress; - - // not implemented - ScProgress( const ScProgress& ); - ScProgress& operator=( const ScProgress& ); - - static void CalcGlobalPercent( sal_uLong nVal ) - { - nGlobalPercent = nGlobalRange ? - nVal * 100 / nGlobalRange : 0; - } - -public: - static SfxProgress* GetGlobalSfxProgress() { return pGlobalProgress; } - static sal_Bool IsUserBreak() { return !bGlobalNoUserBreak; } - static void CreateInterpretProgress( ScDocument* pDoc, - sal_Bool bWait = sal_True ); - static ScProgress* GetInterpretProgress() { return pInterpretProgress; } - static void DeleteInterpretProgress(); - static sal_uLong GetInterpretCount() { return nInterpretProgress; } - static sal_uLong GetGlobalRange() { return nGlobalRange; } - static sal_uLong GetGlobalPercent() { return nGlobalPercent; } - - ScProgress( SfxObjectShell* pObjSh, - const String& rText, - sal_uLong nRange, sal_Bool bAllDocs = false, - sal_Bool bWait = sal_True ); - ~ScProgress(); - -#ifdef SC_PROGRESS_CXX - // for DummyInterpret only, never use otherwise!!! - ScProgress(); -#endif - // might be NULL! - SfxProgress* GetSfxProgress() const { return pProgress; } - - sal_Bool SetStateText( sal_uLong nVal, const String &rVal, sal_uLong nNewRange = 0 ) - { - if ( pProgress ) - { - if ( nNewRange ) - nGlobalRange = nNewRange; - CalcGlobalPercent( nVal ); - if ( !pProgress->SetStateText( nVal, rVal, nNewRange ) ) - bGlobalNoUserBreak = false; - return bGlobalNoUserBreak; - } - return sal_True; - } - sal_Bool SetState( sal_uLong nVal, sal_uLong nNewRange = 0 ) - { - if ( pProgress ) - { - if ( nNewRange ) - nGlobalRange = nNewRange; - CalcGlobalPercent( nVal ); - if ( !pProgress->SetState( nVal, nNewRange ) ) - bGlobalNoUserBreak = false; - return bGlobalNoUserBreak; - } - return sal_True; - } - sal_Bool SetStateCountDown( sal_uLong nVal ) - { - if ( pProgress ) - { - CalcGlobalPercent( nGlobalRange - nVal ); - if ( !pProgress->SetState( nGlobalRange - nVal ) ) - bGlobalNoUserBreak = false; - return bGlobalNoUserBreak; - } - return sal_True; - } - sal_Bool SetStateOnPercent( sal_uLong nVal ) - { // only if percentage increased - if ( nGlobalRange && (nVal * 100 / - nGlobalRange) > nGlobalPercent ) - return SetState( nVal ); - return sal_True; - } - sal_Bool SetStateCountDownOnPercent( sal_uLong nVal ) - { // only if percentage increased - if ( nGlobalRange && - ((nGlobalRange - nVal) * 100 / - nGlobalRange) > nGlobalPercent ) - return SetStateCountDown( nVal ); - return sal_True; - } - sal_uLong GetState() - { - if ( pProgress ) - return pProgress->GetState(); - return 0; - } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/queryparam.hxx b/sc/inc/queryparam.hxx deleted file mode 100644 index d62061e80..000000000 --- a/sc/inc/queryparam.hxx +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_QUERYPARAM_HXX -#define SC_QUERYPARAM_HXX - -#include "global.hxx" -#include "scmatrix.hxx" - -#include <vector> - -struct ScDBQueryParamInternal; - -struct ScQueryParamBase -{ - bool bHasHeader; - bool bByRow; - bool bInplace; - bool bCaseSens; - bool bRegExp; - bool bDuplicate; - bool bMixedComparison; // whether numbers are smaller than strings - - virtual ~ScQueryParamBase(); - - virtual bool IsValidFieldIndex() const; - - SC_DLLPUBLIC SCSIZE GetEntryCount() const; - SC_DLLPUBLIC ScQueryEntry& GetEntry(SCSIZE n) const; - void Resize(SCSIZE nNew); - SC_DLLPUBLIC void DeleteQuery( SCSIZE nPos ); - void FillInExcelSyntax(String& aCellStr, SCSIZE nIndex); - -protected: - ScQueryParamBase(); - ScQueryParamBase(const ScQueryParamBase& r); - - mutable ::std::vector<ScQueryEntry> maEntries; -}; - -// ============================================================================ - -struct ScQueryParamTable -{ - SCCOL nCol1; - SCROW nRow1; - SCCOL nCol2; - SCROW nRow2; - SCTAB nTab; - - ScQueryParamTable(); - ScQueryParamTable(const ScQueryParamTable& r); - virtual ~ScQueryParamTable(); -}; - -// ============================================================================ - -struct SC_DLLPUBLIC ScQueryParam : public ScQueryParamBase, public ScQueryParamTable -{ - bool bDestPers; // not saved - SCTAB nDestTab; - SCCOL nDestCol; - SCROW nDestRow; - - ScQueryParam(); - ScQueryParam( const ScQueryParam& r ); - ScQueryParam( const ScDBQueryParamInternal& r ); - virtual ~ScQueryParam(); - - ScQueryParam& operator= ( const ScQueryParam& r ); - sal_Bool operator== ( const ScQueryParam& rOther ) const; - void Clear(); - void ClearDestParams(); - void MoveToDest(); -}; - -// ============================================================================ - -struct ScDBQueryParamBase : public ScQueryParamBase -{ - enum DataType { INTERNAL, MATRIX }; - - SCCOL mnField; /// the field in which the values are processed during iteration. - bool mbSkipString; - - DataType GetType() const; - - virtual ~ScDBQueryParamBase(); - -protected: - ScDBQueryParamBase(DataType eType); - -private: - ScDBQueryParamBase(); - - DataType meType; -}; - -// ============================================================================ - -struct ScDBQueryParamInternal : public ScDBQueryParamBase, public ScQueryParamTable -{ - ScDBQueryParamInternal(); - virtual ~ScDBQueryParamInternal(); - - virtual bool IsValidFieldIndex() const; -}; - -// ============================================================================ - -struct ScDBQueryParamMatrix : public ScDBQueryParamBase -{ - ScMatrixRef mpMatrix; - - ScDBQueryParamMatrix(); - virtual ~ScDBQueryParamMatrix(); - - virtual bool IsValidFieldIndex() const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx deleted file mode 100644 index ad5d4a757..000000000 --- a/sc/inc/rangelst.hxx +++ /dev/null @@ -1,138 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_RANGELST_HXX -#define SC_RANGELST_HXX - -#include "global.hxx" -#include "address.hxx" -#include <tools/solar.h> -#include <vector> - -class ScDocument; - -class SC_DLLPUBLIC ScRangeList : public SvRefBase -{ -public: - ScRangeList() {} - ScRangeList( const ScRangeList& rList ); - virtual ~ScRangeList(); - ScRangeList& operator=(const ScRangeList& rList); - void Append( const ScRange& rRange ) - { - ScRange* pR = new ScRange( rRange ); - maRanges.push_back( pR ); - } - - sal_uInt16 Parse( const String&, ScDocument* = NULL, - sal_uInt16 nMask = SCA_VALID, - formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, - sal_Unicode cDelimiter = 0 ); - - void Format( String&, sal_uInt16 nFlags = 0, ScDocument* = NULL, - formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, - sal_Unicode cDelimiter = 0 ) const; - - void Join( const ScRange&, bool bIsInList = false ); - - bool UpdateReference( UpdateRefMode, ScDocument*, - const ScRange& rWhere, - SCsCOL nDx, - SCsROW nDy, - SCsTAB nDz - ); - - const ScRange* Find( const ScAddress& ) const; - ScRange* Find( const ScAddress& ); - bool operator==( const ScRangeList& ) const; - bool operator!=( const ScRangeList& r ) const; - bool Intersects( const ScRange& ) const; - bool In( const ScRange& ) const; - size_t GetCellCount() const; - - ScRange* Remove(size_t nPos); - void RemoveAll(); - - bool empty() const; - size_t size() const; - ScRange* operator[](size_t idx); - const ScRange* operator[](size_t idx) const; - ScRange* front(); - const ScRange* front() const; - ScRange* back(); - const ScRange* back() const; - void push_back(ScRange* p); - -private: - ::std::vector<ScRange*> maRanges; -}; -SV_DECL_IMPL_REF( ScRangeList ); - - -// RangePairList: -// aRange[0]: actual range, -// aRange[1]: data for that range, e.g. Rows belonging to a ColName -class SC_DLLPUBLIC ScRangePairList : public SvRefBase -{ -public: - virtual ~ScRangePairList(); - ScRangePairList* Clone() const; - void Append( const ScRangePair& rRangePair ) - { - ScRangePair* pR = new ScRangePair( rRangePair ); - maPairs.push_back( pR ); - } - void Join( const ScRangePair&, bool bIsInList = false ); - bool UpdateReference( UpdateRefMode, ScDocument*, - const ScRange& rWhere, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void DeleteOnTab( SCTAB nTab ); - ScRangePair* Find( const ScAddress& ) const; - ScRangePair* Find( const ScRange& ) const; - ScRangePair** CreateNameSortedArray( size_t& nCount, ScDocument* ) const; - bool operator==( const ScRangePairList& ) const; - - ScRangePair* Remove(size_t nPos); - ScRangePair* Remove(ScRangePair* pAdr); - - size_t size() const; - ScRangePair* operator[](size_t idx); - const ScRangePair* operator[](size_t idx) const; - -private: - ::std::vector< ScRangePair* > maPairs; -}; -SV_DECL_IMPL_REF( ScRangePairList ); - -extern "C" -int SAL_CALL ScRangePairList_QsortNameCompare( const void*, const void* ); - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/rangenam.hxx b/sc/inc/rangenam.hxx deleted file mode 100644 index a891535d7..000000000 --- a/sc/inc/rangenam.hxx +++ /dev/null @@ -1,221 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_RANGENAM_HXX -#define SC_RANGENAM_HXX - -#include "global.hxx" // -> enum UpdateRefMode -#include "address.hxx" -#include "collect.hxx" -#include "formula/grammar.hxx" -#include "scdllapi.h" - -#include <map> -#include <boost/ptr_container/ptr_set.hpp> -#include <boost/ptr_container/ptr_map.hpp> - -//------------------------------------------------------------------------ - -class ScDocument; - -namespace rtl { - class OUStringBuffer; -} - - -//------------------------------------------------------------------------ - -typedef sal_uInt16 RangeType; - -#define RT_NAME ((RangeType)0x0000) -#define RT_DATABASE ((RangeType)0x0001) -#define RT_CRITERIA ((RangeType)0x0002) -#define RT_PRINTAREA ((RangeType)0x0004) -#define RT_COLHEADER ((RangeType)0x0008) -#define RT_ROWHEADER ((RangeType)0x0010) -#define RT_ABSAREA ((RangeType)0x0020) -#define RT_REFAREA ((RangeType)0x0040) -#define RT_ABSPOS ((RangeType)0x0080) -#define RT_SHARED ((RangeType)0x0100) -#define RT_SHAREDMOD ((RangeType)0x0200) - -//------------------------------------------------------------------------ - -class ScTokenArray; - -class ScRangeData -{ -private: - String aName; - String aUpperName; // #i62977# for faster searching (aName is never modified after ctor) - ScTokenArray* pCode; - ScAddress aPos; - RangeType eType; - ScDocument* pDoc; - sal_uInt16 nIndex; - sal_Bool bModified; // is set/cleared by UpdateReference - - // max row and column to use for wrapping of references. If -1 use the - // application's default. - SCROW mnMaxRow; - SCCOL mnMaxCol; - - ScRangeData( sal_uInt16 nIndex ); -public: - typedef ::std::map<sal_uInt16, sal_uInt16> IndexMap; - - SC_DLLPUBLIC ScRangeData( ScDocument* pDoc, - const String& rName, - const String& rSymbol, - const ScAddress& rAdr = ScAddress(), - RangeType nType = RT_NAME, - const formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ); - SC_DLLPUBLIC ScRangeData( ScDocument* pDoc, - const String& rName, - const ScTokenArray& rArr, - const ScAddress& rAdr = ScAddress(), - RangeType nType = RT_NAME ); - SC_DLLPUBLIC ScRangeData( ScDocument* pDoc, - const String& rName, - const ScAddress& rTarget ); - // rTarget is ABSPOS jump label - ScRangeData(const ScRangeData& rScRangeData); - - SC_DLLPUBLIC ~ScRangeData(); - - sal_Bool operator== (const ScRangeData& rData) const; - - void GetName( String& rName ) const { rName = aName; } - const String& GetName( void ) const { return aName; } - const String& GetUpperName( void ) const { return aUpperName; } - ScAddress GetPos() const { return aPos; } - // The index has to be unique. If index=0 a new index value is assigned. - void SetIndex( sal_uInt16 nInd ) { nIndex = nInd; } - sal_uInt16 GetIndex() const { return nIndex; } - ScTokenArray* GetCode() { return pCode; } - const ScTokenArray* GetCode() const { return pCode; } - sal_uInt16 GetErrCode(); - sal_Bool HasReferences() const; - void SetDocument( ScDocument* pDocument){ pDoc = pDocument; } - ScDocument* GetDocument() const { return pDoc; } - void SetType( RangeType nType ) { eType = nType; } - void AddType( RangeType nType ) { eType = eType|nType; } - RangeType GetType() const { return eType; } - sal_Bool HasType( RangeType nType ) const; - SC_DLLPUBLIC void GetSymbol( String& rSymbol, const formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ) const; - SC_DLLPUBLIC void GetSymbol( rtl::OUString& rSymbol, const formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ) const; - void UpdateSymbol( rtl::OUStringBuffer& rBuffer, const ScAddress&, - const formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& r, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - sal_Bool IsModified() const { return bModified; } - - SC_DLLPUBLIC void GuessPosition(); - - void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest ); - void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ); - - SC_DLLPUBLIC sal_Bool IsReference( ScRange& rRef ) const; - sal_Bool IsReference( ScRange& rRef, const ScAddress& rPos ) const; - SC_DLLPUBLIC sal_Bool IsValidReference( ScRange& rRef ) const; - sal_Bool IsRangeAtBlock( const ScRange& ) const; - - void UpdateTabRef(SCTAB nOldTable, sal_uInt16 nFlag, SCTAB nNewTable, SCTAB nNewSheets); - void TransferTabRef( SCTAB nOldTab, SCTAB nNewTab ); - - void ValidateTabRefs(); - - void ReplaceRangeNamesInUse( const IndexMap& rMap ); - - static void MakeValidName( String& rName ); - SC_DLLPUBLIC static sal_Bool IsNameValid( const String& rName, ScDocument* pDoc ); - - SC_DLLPUBLIC void SetMaxRow(SCROW nRow); - SCROW GetMaxRow() const; - SC_DLLPUBLIC void SetMaxCol(SCCOL nCol); - SCCOL GetMaxCol() const; -}; - -inline sal_Bool ScRangeData::HasType( RangeType nType ) const -{ - return ( ( eType & nType ) == nType ); -} - -extern "C" int SAL_CALL ScRangeData_QsortNameCompare( const void*, const void* ); - -bool operator< (const ScRangeData& left, const ScRangeData& right); - -class ScRangeName -{ -private: - typedef ::boost::ptr_set<ScRangeData> DataType; - DataType maData; - -public: - /// Map that manages stored ScRangeName instances. - typedef ::boost::ptr_map<SCTAB, ScRangeName> TabNameMap; - /// Map that stores non-managed pointers to ScRangeName instances. - typedef ::std::map<SCTAB, const ScRangeName*> TabNameCopyMap; - - static void copyLocalNames(const TabNameMap& rNames, TabNameCopyMap& rCopy); - - typedef DataType::const_iterator const_iterator; - typedef DataType::iterator iterator; - - ScRangeName(); - ScRangeName(const ScRangeName& r); - - SC_DLLPUBLIC const ScRangeData* findByRange(const ScRange& rRange) const; - SC_DLLPUBLIC ScRangeData* findByName(const rtl::OUString& rName); - SC_DLLPUBLIC const ScRangeData* findByName(const rtl::OUString& rName) const; - ScRangeData* findByUpperName(const rtl::OUString& rName); - const ScRangeData* findByUpperName(const rtl::OUString& rName) const; - SC_DLLPUBLIC ScRangeData* findByIndex(sal_uInt16 i); - void UpdateReference(UpdateRefMode eUpdateRefMode, const ScRange& rRange, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz); - void UpdateTabRef(SCTAB nTable, sal_uInt16 nFlag, SCTAB nNewTable = 0, SCTAB nNewSheets = 1); - void UpdateTranspose(const ScRange& rSource, const ScAddress& rDest); - void UpdateGrow(const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY); - - SC_DLLPUBLIC const_iterator begin() const; - SC_DLLPUBLIC const_iterator end() const; - SC_DLLPUBLIC iterator begin(); - SC_DLLPUBLIC iterator end(); - SC_DLLPUBLIC size_t size() const; - bool empty() const; - SC_DLLPUBLIC bool insert(ScRangeData* p); - void erase(const ScRangeData& r); - void erase(const iterator& itr); - void clear(); - bool operator== (const ScRangeName& r) const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/rangeseq.hxx b/sc/inc/rangeseq.hxx deleted file mode 100644 index 19b5d4a8a..000000000 --- a/sc/inc/rangeseq.hxx +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_RANGESEQ_HXX -#define SC_RANGESEQ_HXX - -#include <tools/solar.h> -#include <com/sun/star/uno/Any.h> -#include "scmatrix.hxx" - -class SvNumberFormatter; -class ScDocument; -class ScRange; - -class ScRangeToSequence -{ -public: - static sal_Bool FillLongArray( com::sun::star::uno::Any& rAny, - ScDocument* pDoc, const ScRange& rRange ); - static sal_Bool FillLongArray( com::sun::star::uno::Any& rAny, - const ScMatrix* pMatrix ); - static sal_Bool FillDoubleArray( com::sun::star::uno::Any& rAny, - ScDocument* pDoc, const ScRange& rRange ); - static sal_Bool FillDoubleArray( com::sun::star::uno::Any& rAny, - const ScMatrix* pMatrix ); - static sal_Bool FillStringArray( com::sun::star::uno::Any& rAny, - ScDocument* pDoc, const ScRange& rRange ); - static sal_Bool FillStringArray( com::sun::star::uno::Any& rAny, - const ScMatrix* pMatrix, SvNumberFormatter* pFormatter ); - static sal_Bool FillMixedArray( com::sun::star::uno::Any& rAny, - ScDocument* pDoc, const ScRange& rRange, - sal_Bool bAllowNV = false ); - - /** @param bDataTypes - Additionally to the differentiation between string and double allow - differentiation between other types such as as boolean. Needed for - implementation of XFormulaParser. If <FALSE/>, boolean values are - treated as ordinary double values 1 (true) and 0 (false). - */ - static sal_Bool FillMixedArray( com::sun::star::uno::Any& rAny, - const ScMatrix* pMatrix, bool bDataTypes = false ); -}; - - -class ScApiTypeConversion -{ -public: - - /** Convert an uno::Any to double if possible, including integer types. - @param o_fVal - Out: the double value on successful conversion. - @param o_eClass - Out: the uno::TypeClass of rAny. - @returns <TRUE/> if successfully converted. - */ - static bool ConvertAnyToDouble( - double & o_fVal, - com::sun::star::uno::TypeClass & o_eClass, - const com::sun::star::uno::Any & rAny ); - -}; - - -class ScSequenceToMatrix -{ -public: - - /** Convert a sequence of mixed elements to ScMatrix. - - Precondition: rAny.getValueType().equals( getCppuType( (uno::Sequence< uno::Sequence< uno::Any > > *)0)) - - @returns a new'd ScMatrix as ScMatrixRef, NULL if rAny couldn't be read - as type Sequence<Sequence<Any>> - */ - static ScMatrixRef CreateMixedMatrix( const com::sun::star::uno::Any & rAny ); - -}; - - -class ScByteSequenceToString -{ -public: - // rAny must contain Sequence<sal_Int8>, - // may or may not contain 0-bytes at the end - static sal_Bool GetString( String& rString, const com::sun::star::uno::Any& rAny, - sal_uInt16 nEncoding ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/rangeutl.hxx b/sc/inc/rangeutl.hxx deleted file mode 100644 index e9ded5ca2..000000000 --- a/sc/inc/rangeutl.hxx +++ /dev/null @@ -1,327 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_RANGEUTL_HXX -#define SC_RANGEUTL_HXX - -#include <tools/string.hxx> - -#include "address.hxx" -#include "rangenam.hxx" -#include "dbdata.hxx" -#include "scdllapi.h" - -#include <com/sun/star/table/CellAddress.hpp> -#include <com/sun/star/table/CellRangeAddress.hpp> -#include <com/sun/star/uno/Sequence.hxx> - -//------------------------------------------------------------------------ - -class SvStream; - -class ScArea; -class ScDocument; -class ScRange; -class ScRangeName; -class ScRangeList; -class ScDBCollection; - -enum RutlNameScope { RUTL_NONE=0, RUTL_NAMES, RUTL_DBASE }; - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScRangeUtil -{ -public: - ScRangeUtil() {} - ~ScRangeUtil() {} - - sal_Bool MakeArea ( const String& rAreaStr, - ScArea& rArea, - ScDocument* pDoc, - SCTAB nTab, - ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 ) const; - - void CutPosString ( const String& theAreaStr, - String& thePosStr ) const; - - sal_Bool IsAbsTabArea ( const String& rAreaStr, - ScDocument* pDoc, - ScArea*** pppAreas = 0, - sal_uInt16* pAreaCount = 0, - sal_Bool bAcceptCellRef = false, - ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 ) const; - - sal_Bool IsAbsArea ( const String& rAreaStr, - ScDocument* pDoc, - SCTAB nTab, - String* pCompleteStr = 0, - ScRefAddress* pStartPos = 0, - ScRefAddress* pEndPos = 0, - ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 ) const; - - sal_Bool IsRefArea ( const String&, - ScDocument*, - SCTAB, - String* = 0, - ScRefAddress* = 0 ) const - { return false; } - - sal_Bool IsAbsPos ( const String& rPosStr, - ScDocument* pDoc, - SCTAB nTab, - String* pCompleteStr = 0, - ScRefAddress* pPosTripel = 0, - ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 ) const; - - sal_Bool MakeRangeFromName ( const String& rName, - ScDocument* pDoc, - SCTAB nCurTab, - ScRange& rRange, - RutlNameScope eScope=RUTL_NAMES, - ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 ) const; -}; - -//------------------------------------------------------------------------ - -class SC_DLLPUBLIC ScRangeStringConverter -{ -public: - -// helper methods - static void AssignString( - ::rtl::OUString& rString, - const ::rtl::OUString& rNewStr, - sal_Bool bAppendStr, - sal_Unicode cSeperator = ' '); - - static sal_Int32 IndexOf( - const ::rtl::OUString& rString, - sal_Unicode cSearchChar, - sal_Int32 nOffset, - sal_Unicode cQuote = '\''); - - static sal_Int32 IndexOfDifferent( - const ::rtl::OUString& rString, - sal_Unicode cSearchChar, - sal_Int32 nOffset ); - - static sal_Int32 GetTokenCount( - const ::rtl::OUString& rString, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - - static void GetTokenByOffset( - ::rtl::OUString& rToken, - const ::rtl::OUString& rString, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - - static void AppendTableName( - ::rtl::OUStringBuffer& rBuf, - const ::rtl::OUString& rTabName, - sal_Unicode cQuote = '\''); - -// String to Range core - static sal_Bool GetAddressFromString( - ScAddress& rAddress, - const ::rtl::OUString& rAddressStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - static sal_Bool GetRangeFromString( - ScRange& rRange, - const ::rtl::OUString& rRangeStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - static sal_Bool GetRangeListFromString( - ScRangeList& rRangeList, - const ::rtl::OUString& rRangeListStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - - static sal_Bool GetAreaFromString( - ScArea& rArea, - const ::rtl::OUString& rRangeStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - -// String to Range API - static sal_Bool GetAddressFromString( - ::com::sun::star::table::CellAddress& rAddress, - const ::rtl::OUString& rAddressStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - static sal_Bool GetRangeFromString( - ::com::sun::star::table::CellRangeAddress& rRange, - const ::rtl::OUString& rRangeStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Int32& nOffset, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - static sal_Bool GetRangeListFromString( - ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress >& rRangeSeq, - const ::rtl::OUString& rRangeListStr, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Unicode cQuote = '\''); - -// Range to String core - static void GetStringFromAddress( - ::rtl::OUString& rString, - const ScAddress& rAddress, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Bool bAppendStr = false, - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - static void GetStringFromRange( - ::rtl::OUString& rString, - const ScRange& rRange, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Bool bAppendStr = false, - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - static void GetStringFromRangeList( - ::rtl::OUString& rString, - const ScRangeList* pRangeList, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D)); - - static void GetStringFromArea( - ::rtl::OUString& rString, - const ScArea& rArea, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Bool bAppendStr = false, - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - -// Range to String API - static void GetStringFromAddress( - ::rtl::OUString& rString, - const ::com::sun::star::table::CellAddress& rAddress, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Bool bAppendStr = false, - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - static void GetStringFromRange( - ::rtl::OUString& rString, - const ::com::sun::star::table::CellRangeAddress& rRange, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_Bool bAppendStr = false, - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - static void GetStringFromRangeList( - ::rtl::OUString& rString, - const ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress >& rRangeSeq, - const ScDocument* pDocument, - formula::FormulaGrammar::AddressConvention eConv, - sal_Unicode cSeperator = ' ', - sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) ); - -// XML Range to Calc Range - static void GetStringFromXMLRangeString( - ::rtl::OUString& rString, - const ::rtl::OUString& rXMLRange, - ScDocument* pDoc ); -}; - -//------------------------------------------------------------------------ - -class ScArea -{ -public: - ScArea( SCTAB tab = 0, - SCCOL colStart = 0, - SCROW rowStart = 0, - SCCOL colEnd = 0, - SCROW rowEnd = 0 ); - - ScArea( const ScArea& r ); - - ScArea& operator= ( const ScArea& r ); - sal_Bool operator== ( const ScArea& r ) const; - sal_Bool operator!= ( const ScArea& r ) const { return !( operator==(r) ); } - -public: - SCTAB nTab; - SCCOL nColStart; - SCROW nRowStart; - SCCOL nColEnd; - SCROW nRowEnd; -}; - -// -// returns areas with reference and all db-areas -// - -class SC_DLLPUBLIC ScAreaNameIterator -{ -private: - ScRangeName* pRangeName; - ScDBCollection* pDBCollection; - ScRangeName::const_iterator maRNPos; - ScRangeName::const_iterator maRNEnd; - ScDBCollection::NamedDBs::const_iterator maDBPos; - ScDBCollection::NamedDBs::const_iterator maDBEnd; - bool bFirstPass; - -public: - ScAreaNameIterator( ScDocument* pDoc ); - ~ScAreaNameIterator() {} - - bool Next( String& rName, ScRange& rRange ); - bool WasDBName() const { return !bFirstPass; } -}; - - -#endif // SC_RANGEUTL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/rechead.hxx b/sc/inc/rechead.hxx deleted file mode 100644 index 37269ac1d..000000000 --- a/sc/inc/rechead.hxx +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_RECHEAD_HXX -#define SC_RECHEAD_HXX - -#include <tools/stream.hxx> - -// ID's for files: - -#define SCID_SIZES 0x4200 - -#define SCID_POOLS 0x4210 -#define SCID_DOCPOOL 0x4211 -#define SCID_STYLEPOOL 0x4212 -#define SCID_NEWPOOLS 0x4213 // ID for SC 3.0a -#define SCID_EDITPOOL 0x4214 - -#define SCID_DOCUMENT 0x4220 -#define SCID_DOCFLAGS 0x4221 -#define SCID_TABLE 0x4222 -#define SCID_DRAWING 0x4223 -#define SCID_RANGENAME 0x4224 -#define SCID_DBAREAS 0x4225 -#define SCID_PIVOT 0x4226 -#define SCID_CHARTS 0x4227 -#define SCID_NUMFORMAT 0x4228 -#define SCID_DOCOPTIONS 0x4229 -#define SCID_VIEWOPTIONS 0x422a -#define SCID_PRINTSETUP 0x422b -#define SCID_CHARSET 0x422c -#define SCID_NEWDOCUMENT 0x422d // ID for SC 3.0a -#define SCID_DDELINKS 0x422e -#define SCID_AREALINKS 0x422f -#define SCID_CONDFORMATS 0x4230 -#define SCID_VALIDATION 0x4231 -#define SCID_COLNAMERANGES 0x4232 -#define SCID_ROWNAMERANGES 0x4233 -#define SCID_DETOPLIST 0x4234 -#define SCID_CONSOLIDATA 0x4235 -#define SCID_CHANGETRACK 0x4236 -#define SCID_CHGVIEWSET 0x4237 -#define SCID_LINKUPMODE 0x4238 -#define SCID_DATAPILOT 0x4239 - -#define SCID_COLUMNS 0x4240 -#define SCID_COLROWFLAGS 0x4241 -#define SCID_TABOPTIONS 0x4242 -#define SCID_TABLINK 0x4243 - -#define SCID_COLDATA 0x4250 -#define SCID_COLNOTES 0x4251 -#define SCID_COLATTRIB 0x4252 - -#define SCID_DRAWPOOL 0x4260 -#define SCID_DRAWMODEL 0x4261 - - - -// file version -// if the high-byte is incremented, the document won't be opened by older SCs -#define SC_INITIAL_VERSION 0x0001 -#define SC_FORMULA_LCLVER 0x0002 // formula with local version no. -//-------------------------------- -#define SC_NEW_TOKEN_ARRAYS 0x0003 // new TokenArray format -#define SC_FORMULA_VALUES 0x0004 // values in formula cells -#define SC_FORMULA_VALUES2 0x0005 // values in formula cells -#define SC_DATABYTES 0x0006 // data bytes, small tables -#define SC_DATABYTES2 0x0007 // data bytes, small tables -#define SC_NUMFMT 0x0008 // number format of formula cell -#define SC_NEWIF 0x0009 // new coding of ocIf (komp.) -//-------------------------------- -#define SC_RELATIVE_REFS 0x0010 // relative references -#define SC_SUBTOTAL_FLAG 0x0011 // bSubTotal of formula cell -#define SC_COLROWNAME_RANGEPAIR 0x0012 // ColRowNameRanges as ScRangePair -//-------------------------------- -#define SC_31_EXPORT_VER 0x0012 // version for 3.1-export -//-------------------------------- since 4.0 -#define SC_32K_ROWS 0x0100 // 32000 rows - incompatibel -#define SC_FONTCHARSET 0x0101 // Font-CharSets have to be right -//-------------------------------- -#define SC_40_EXPORT_VER 0x0101 // version for 4.0-Export -//-------------------------------- since 5.0 -#define SC_RECALC_MODE_BITS 0x0201 // TokenArray RecalcMode -#define SC_MATRIX_DOUBLEREF 0x0202 // DoubleRef implicit intersection -#define SC_VERSION_EDITPOOL 0x0203 // EditCells with EditPool -#define SC_SUBTOTAL_BUGFIX 0x0204 // bSubTotal of formula cell (true) -//-------------------------------- since 5.2 -#define SC_CONVERT_RECALC_ON_LOAD 0x0205 // CONVERT function recalculated on each load -//-------------------------------- -#define SC_CURRENT_VERSION 0x0205 - - -// all above SC_31_EXPORT_VER has to be queried during saving, -// because 3.1-export writes this version number. - -// btw: 10 following 09 is not a counting error but an intentional gap, -// because it was not clear, how long the RelRefs development would take. :) - -class SvStream; - -// ----------------------------------------------------------------------- - - // Header with size specification for multiple objects - -class ScMultipleReadHeader -{ -private: - SvStream& rStream; - sal_uInt8* pBuf; - SvMemoryStream* pMemStream; - sal_uLong nEndPos; - sal_uLong nEntryEnd; - sal_uLong nTotalEnd; - -public: - ScMultipleReadHeader(SvStream& rNewStream); - ~ScMultipleReadHeader(); - - void StartEntry(); - void EndEntry(); - sal_uLong BytesLeft() const; -}; - -class ScMultipleWriteHeader -{ -private: - SvStream& rStream; - SvMemoryStream aMemStream; - sal_uLong nDataPos; - sal_uInt32 nDataSize; - sal_uLong nEntryStart; - -public: - ScMultipleWriteHeader(SvStream& rNewStream, sal_uInt32 nDefault = 0); - ~ScMultipleWriteHeader(); - - void StartEntry(); - void EndEntry(); -}; - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/recursionhelper.hxx b/sc/inc/recursionhelper.hxx deleted file mode 100644 index f35d319ae..000000000 --- a/sc/inc/recursionhelper.hxx +++ /dev/null @@ -1,162 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef INCLUDED_RECURSIONHELPER_HXX -#define INCLUDED_RECURSIONHELPER_HXX - -#include "formularesult.hxx" - -#include <list> -#include <stack> -#include <tools/solar.h> - -class ScFormulaCell; - -struct ScFormulaRecursionEntry -{ - ScFormulaCell* pCell; - sal_Bool bOldRunning; - ScFormulaResult aPreviousResult; - ScFormulaRecursionEntry( ScFormulaCell* p, sal_Bool bR, - const ScFormulaResult & rRes ) : - pCell(p), bOldRunning(bR), aPreviousResult( rRes) - { - } -}; - -typedef ::std::list< ScFormulaRecursionEntry > ScFormulaRecursionList; - -class ScRecursionHelper -{ - typedef ::std::stack< ScFormulaCell* > ScRecursionInIterationStack; - ScFormulaRecursionList aRecursionFormulas; - ScFormulaRecursionList::iterator aInsertPos; - ScFormulaRecursionList::iterator aLastIterationStart; - ScRecursionInIterationStack aRecursionInIterationStack; - sal_uInt16 nRecursionCount; - sal_uInt16 nIteration; - bool bInRecursionReturn; - bool bDoingRecursion; - bool bInIterationReturn; - bool bConverging; - - void Init() - { - nRecursionCount = 0; - bInRecursionReturn = bDoingRecursion = bInIterationReturn = false; - aInsertPos = GetEnd(); - ResetIteration(); - } - void ResetIteration() - { - aLastIterationStart = GetEnd(); - nIteration = 0; - bConverging = false; - } - - public: - - ScRecursionHelper() { Init(); } - sal_uInt16 GetRecursionCount() const { return nRecursionCount; } - void IncRecursionCount() { ++nRecursionCount; } - void DecRecursionCount() { --nRecursionCount; } - /// A pure recursion return, no iteration. - bool IsInRecursionReturn() const { return bInRecursionReturn && - !bInIterationReturn; } - void SetInRecursionReturn( bool b ) - { - // Do not use IsInRecursionReturn() here, it decouples iteration. - if (b && !bInRecursionReturn) - aInsertPos = aRecursionFormulas.begin(); - bInRecursionReturn = b; - } - bool IsDoingRecursion() const { return bDoingRecursion; } - void SetDoingRecursion( bool b ) { bDoingRecursion = b; } - void Insert( ScFormulaCell* p, sal_Bool bOldRunning, - const ScFormulaResult & rRes ) - { - aRecursionFormulas.insert( aInsertPos, ScFormulaRecursionEntry( p, - bOldRunning, rRes)); - } - ScFormulaRecursionList::iterator GetStart() - { - return aRecursionFormulas.begin(); - } - ScFormulaRecursionList::iterator GetEnd() - { - return aRecursionFormulas.end(); - } - bool IsInIterationReturn() const { return bInIterationReturn; } - void SetInIterationReturn( bool b ) - { - // An iteration return is always coupled to a recursion return. - SetInRecursionReturn( b); - bInIterationReturn = b; - } - bool IsDoingIteration() const { return nIteration > 0; } - sal_uInt16 GetIteration() const { return nIteration; } - bool & GetConvergingReference() { return bConverging; } - void StartIteration() - { - SetInIterationReturn( false); - nIteration = 1; - bConverging = false; - aLastIterationStart = GetIterationStart(); - } - void ResumeIteration() - { - SetInIterationReturn( false); - aLastIterationStart = GetIterationStart(); - } - void IncIteration() { ++nIteration; } - void EndIteration() - { - aRecursionFormulas.erase( GetIterationStart(), GetIterationEnd()); - ResetIteration(); - } - ScFormulaRecursionList::iterator GetLastIterationStart() { return aLastIterationStart; } - ScFormulaRecursionList::iterator GetIterationStart() { return GetStart(); } - ScFormulaRecursionList::iterator GetIterationEnd() { return GetEnd(); } - /** Any return, recursion or iteration, iteration is always coupled with - recursion. */ - bool IsInReturn() const { return bInRecursionReturn; } - const ScFormulaRecursionList& GetList() const { return aRecursionFormulas; } - ScFormulaRecursionList& GetList() { return aRecursionFormulas; } - ScRecursionInIterationStack& GetRecursionInIterationStack() { return aRecursionInIterationStack; } - void Clear() - { - aRecursionFormulas.clear(); - while (!aRecursionInIterationStack.empty()) - aRecursionInIterationStack.pop(); - Init(); - } -}; - -#endif // INCLUDED_RECURSIONHELPER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/refdata.hxx b/sc/inc/refdata.hxx deleted file mode 100644 index 7196b6d30..000000000 --- a/sc/inc/refdata.hxx +++ /dev/null @@ -1,216 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_REFDATA_HXX -#define SC_REFDATA_HXX - -#include "global.hxx" -#include "address.hxx" -#include "scdllapi.h" - - -// Ref-Flags for old (until release 3.1) documents - -struct OldSingleRefBools -{ - sal_uInt8 bRelCol; // Flag values (see further down), 2 bits each in file format - sal_uInt8 bRelRow; - sal_uInt8 bRelTab; - sal_uInt8 bOldFlag3D; // two sal_Bool flags (see further down) -}; - -#define SR_ABSOLUTE 0 // Absolute value -#define SR_RELABS 1 // Relative value as absolute value (until release 3.1) -#define SR_RELATIVE 2 // Relative value as delta value (after release 3.1) -#define SR_DELETED 3 // Deleted col/row/tab - -#define SRF_3D 0x01 // 3D reference, was the sal_Bool (before build 304a) -#define SRF_RELNAME 0x02 // Reference derived from RangeName with relative values -#define SRF_BITS 0x03 // Mask of possible bits - - -struct SC_DLLPUBLIC ScSingleRefData // Single reference (one address) into the sheet -{ - SCsCOL nCol; // Absolute values - SCsROW nRow; - SCsTAB nTab; - SCsCOL nRelCol; // Values relative to the position - SCsROW nRelRow; - SCsTAB nRelTab; - - union - { - sal_Bool bFlags; - struct - { - sal_Bool bColRel :1; - sal_Bool bColDeleted :1; - sal_Bool bRowRel :1; - sal_Bool bRowDeleted :1; - sal_Bool bTabRel :1; - sal_Bool bTabDeleted :1; - sal_Bool bFlag3D :1; // 3D-Ref - sal_Bool bRelName :1; // Reference derived from RangeName with relative values - }Flags; - }; - - // No default ctor, because used in ScRawToken union, set InitFlags! - inline void InitFlags() { bFlags = 0; } // all FALSE - // InitAddress: InitFlags and set address - inline void InitAddress( const ScAddress& rAdr ); - inline void InitAddress( SCCOL nCol, SCROW nRow, SCTAB nTab ); - // InitAddressRel: InitFlags and set address, everything relative to rPos - inline void InitAddressRel( const ScAddress& rAdr, const ScAddress& rPos ); - inline void SetColRel( sal_Bool bVal ) { Flags.bColRel = (bVal ? sal_True : false ); } - inline sal_Bool IsColRel() const { return Flags.bColRel; } - inline void SetRowRel( sal_Bool bVal ) { Flags.bRowRel = (bVal ? sal_True : false ); } - inline sal_Bool IsRowRel() const { return Flags.bRowRel; } - inline void SetTabRel( sal_Bool bVal ) { Flags.bTabRel = (bVal ? sal_True : false ); } - inline sal_Bool IsTabRel() const { return Flags.bTabRel; } - - inline void SetColDeleted( sal_Bool bVal ) { Flags.bColDeleted = (bVal ? sal_True : false ); } - inline sal_Bool IsColDeleted() const { return Flags.bColDeleted; } - inline void SetRowDeleted( sal_Bool bVal ) { Flags.bRowDeleted = (bVal ? sal_True : false ); } - inline sal_Bool IsRowDeleted() const { return Flags.bRowDeleted; } - inline void SetTabDeleted( sal_Bool bVal ) { Flags.bTabDeleted = (bVal ? sal_True : false ); } - inline sal_Bool IsTabDeleted() const { return Flags.bTabDeleted; } - inline sal_Bool IsDeleted() const { return IsColDeleted() || IsRowDeleted() || IsTabDeleted(); } - - inline void SetFlag3D( sal_Bool bVal ) { Flags.bFlag3D = (bVal ? sal_True : false ); } - inline sal_Bool IsFlag3D() const { return Flags.bFlag3D; } - inline void SetRelName( sal_Bool bVal ) { Flags.bRelName = (bVal ? sal_True : false ); } - inline sal_Bool IsRelName() const { return Flags.bRelName; } - - inline sal_Bool Valid() const; - /// In external references nTab is -1 - inline bool ValidExternal() const; - - void SmartRelAbs( const ScAddress& rPos ); - void CalcRelFromAbs( const ScAddress& rPos ); - void CalcAbsIfRel( const ScAddress& rPos ); - sal_Bool operator==( const ScSingleRefData& ) const; - bool operator!=( const ScSingleRefData& ) const; -}; - -inline void ScSingleRefData::InitAddress( SCCOL nColP, SCROW nRowP, SCTAB nTabP ) -{ - InitFlags(); - nCol = nColP; - nRow = nRowP; - nTab = nTabP; -} - -inline void ScSingleRefData::InitAddress( const ScAddress& rAdr ) -{ - InitAddress( rAdr.Col(), rAdr.Row(), rAdr.Tab()); -} - -inline void ScSingleRefData::InitAddressRel( const ScAddress& rAdr, - const ScAddress& rPos ) -{ - InitAddress( rAdr.Col(), rAdr.Row(), rAdr.Tab()); - SetColRel( sal_True ); - SetRowRel( sal_True ); - SetTabRel( sal_True ); - CalcRelFromAbs( rPos ); -} - -inline sal_Bool ScSingleRefData::Valid() const -{ - return nCol >= 0 && nCol <= MAXCOL && - nRow >= 0 && nRow <= MAXROW && - nTab >= 0 && nTab <= MAXTAB; -} - -inline bool ScSingleRefData::ValidExternal() const -{ - return nCol >= 0 && nCol <= MAXCOL && - nRow >= 0 && nRow <= MAXROW && - nTab == -1; -} - - -struct ScComplexRefData // Complex reference (a range) into the sheet -{ - ScSingleRefData Ref1; - ScSingleRefData Ref2; - - inline void InitFlags() - { Ref1.InitFlags(); Ref2.InitFlags(); } - inline void InitRange( const ScRange& rRange ) - { - Ref1.InitAddress( rRange.aStart ); - Ref2.InitAddress( rRange.aEnd ); - } - inline void InitRangeRel( const ScRange& rRange, const ScAddress& rPos ) - { - Ref1.InitAddressRel( rRange.aStart, rPos ); - Ref2.InitAddressRel( rRange.aEnd, rPos ); - } - inline void InitRange( SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2 ) - { - Ref1.InitAddress( nCol1, nRow1, nTab1 ); - Ref2.InitAddress( nCol2, nRow2, nTab2 ); - } - inline void SmartRelAbs( const ScAddress& rPos ) - { Ref1.SmartRelAbs( rPos ); Ref2.SmartRelAbs( rPos ); } - inline void CalcRelFromAbs( const ScAddress& rPos ) - { Ref1.CalcRelFromAbs( rPos ); Ref2.CalcRelFromAbs( rPos ); } - inline void CalcAbsIfRel( const ScAddress& rPos ) - { Ref1.CalcAbsIfRel( rPos ); Ref2.CalcAbsIfRel( rPos ); } - inline sal_Bool IsDeleted() const - { return Ref1.IsDeleted() || Ref2.IsDeleted(); } - inline sal_Bool Valid() const - { return Ref1.Valid() && Ref2.Valid(); } - /** In external references nTab is -1 for the start tab and -1 for the end - tab if one sheet, or >=0 if more than one sheets. */ - inline bool ValidExternal() const; - - /// Absolute references have to be up-to-date when calling this! - void PutInOrder(); - inline sal_Bool operator==( const ScComplexRefData& r ) const - { return Ref1 == r.Ref1 && Ref2 == r.Ref2; } - /** Enlarge range if reference passed is not within existing range. - ScAddress position is used to calculate absolute references from - relative references. */ - ScComplexRefData& Extend( const ScSingleRefData & rRef, const ScAddress & rPos ); - ScComplexRefData& Extend( const ScComplexRefData & rRef, const ScAddress & rPos ); -}; - -inline bool ScComplexRefData::ValidExternal() const -{ - return Ref1.ValidExternal() && - Ref2.nCol >= 0 && Ref2.nCol <= MAXCOL && - Ref2.nRow >= 0 && Ref2.nRow <= MAXROW && - Ref2.nTab >= Ref1.nTab; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/reffind.hxx b/sc/inc/reffind.hxx deleted file mode 100644 index 6b7b41949..000000000 --- a/sc/inc/reffind.hxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_REFFIND_HXX -#define SC_REFFIND_HXX - -#include <tools/string.hxx> -#include "address.hxx" - -class ScDocument; - -// ----------------------------------------------------------------------- - -class ScRefFinder -{ -private: - String aFormula; - formula::FormulaGrammar::AddressConvention eConv; - ScDocument* pDoc; - ScAddress maPos; - xub_StrLen nFound; - xub_StrLen nSelStart; - xub_StrLen nSelEnd; - -public: - ScRefFinder( const String& rFormula, const ScAddress& rPos, - ScDocument* pDocument = NULL, - formula::FormulaGrammar::AddressConvention eConvP = formula::FormulaGrammar::CONV_OOO ); - ~ScRefFinder(); - - const String& GetText() const { return aFormula; } - xub_StrLen GetFound() const { return nFound; } - xub_StrLen GetSelStart() const { return nSelStart; } - xub_StrLen GetSelEnd() const { return nSelEnd; } - - void ToggleRel( xub_StrLen nStartPos, xub_StrLen nEndPos ); -}; - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/refreshtimer.hxx b/sc/inc/refreshtimer.hxx deleted file mode 100644 index 34923bd05..000000000 --- a/sc/inc/refreshtimer.hxx +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_REFRESHTIMER_HXX -#define SC_REFRESHTIMER_HXX - -#include <vcl/timer.hxx> -#include <osl/mutex.hxx> -#include <scdllapi.h> - -class ScRefreshTimerControl -{ -private: - ::osl::Mutex aMutex; - sal_uInt16 nBlockRefresh; - -public: - ScRefreshTimerControl() : nBlockRefresh(0) {} - - void SetAllowRefresh( sal_Bool b ) - { - if ( b && nBlockRefresh ) - --nBlockRefresh; - else if ( !b && nBlockRefresh < (sal_uInt16)(~0) ) - ++nBlockRefresh; - } - - sal_Bool IsRefreshAllowed() const { return !nBlockRefresh; } - - ::osl::Mutex& GetMutex() { return aMutex; } -}; - -class ScRefreshTimerProtector -{ -private: - ScRefreshTimerControl * const * ppControl; - -public: - ScRefreshTimerProtector( ScRefreshTimerControl * const * pp ); - - ~ScRefreshTimerProtector() - { - if ( ppControl && *ppControl ) - (*ppControl)->SetAllowRefresh( true ); - } -}; - -class ScRefreshTimer : public AutoTimer -{ -private: - ScRefreshTimerControl * const * ppControl; - - void AppendToControl() {} - - void RemoveFromControl() {} - - void Start() - { - if ( GetTimeout() ) - AutoTimer::Start(); - } - -public: - ScRefreshTimer() : ppControl(0) { SetTimeout( 0 ); } - - ScRefreshTimer( sal_uLong nSeconds ) : ppControl(0) - { - SetTimeout( nSeconds * 1000 ); - Start(); - } - - ScRefreshTimer( const ScRefreshTimer& r ) : AutoTimer( r ), ppControl(0) {} - - virtual ~ScRefreshTimer(); - - ScRefreshTimer& operator=( const ScRefreshTimer& r ) - { - SetRefreshControl(0); - AutoTimer::operator=( r ); - return *this; - } - - sal_Bool operator==( const ScRefreshTimer& r ) const - { return GetTimeout() == r.GetTimeout(); } - - sal_Bool operator!=( const ScRefreshTimer& r ) const - { return !ScRefreshTimer::operator==( r ); } - - void StartRefreshTimer() { Start(); } - - void SetRefreshControl( ScRefreshTimerControl * const * pp ) - { - RemoveFromControl(); - ppControl = pp; - AppendToControl(); - } - - void SetRefreshHandler( const Link& rLink ) { SetTimeoutHdl( rLink ); } - - sal_uLong GetRefreshDelay() const { return GetTimeout() / 1000; } - - void StopRefreshTimer() { Stop(); } - - SC_DLLPUBLIC virtual void SetRefreshDelay( sal_uLong nSeconds ); - - SC_DLLPUBLIC virtual void Timeout(); -}; - -#endif // SC_REFRESHTIMER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/reftokenhelper.hxx b/sc/inc/reftokenhelper.hxx deleted file mode 100644 index 8451a1666..000000000 --- a/sc/inc/reftokenhelper.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_REFTOKENHELPER_HXX -#define SC_REFTOKENHELPER_HXX - -#include "token.hxx" - -#include <vector> - -namespace rtl { - class OUString; -} - -class ScDocument; -class ScRange; -class ScRangeList; - -class ScRefTokenHelper -{ -private: - ScRefTokenHelper(); - ScRefTokenHelper(const ScRefTokenHelper&); - ~ScRefTokenHelper(); - -public: - /** - * Compile an array of reference tokens from a data source range string. - * The source range may consist of multiple ranges separated by ';'s. - */ - static void compileRangeRepresentation( - ::std::vector<ScTokenRef>& rRefTokens, const ::rtl::OUString& rRangeStr, ScDocument* pDoc, - ::formula::FormulaGrammar::Grammar eGrammar = ::formula::FormulaGrammar::GRAM_ENGLISH); - - static bool getRangeFromToken(ScRange& rRange, const ScTokenRef& pToken, bool bExternal = false); - - static void getRangeListFromTokens(ScRangeList& rRangeList, const ::std::vector<ScTokenRef>& pTokens); - - /** - * Create a double reference token from a range object. - */ - static void getTokenFromRange(ScTokenRef& pToken, const ScRange& rRange); - - static void getTokensFromRangeList(::std::vector<ScTokenRef>& pTokens, const ScRangeList& rRanges); - - static bool SC_DLLPUBLIC isRef(const ScTokenRef& pToken); - static bool SC_DLLPUBLIC isExternalRef(const ScTokenRef& pToken); - - static bool SC_DLLPUBLIC intersects(const ::std::vector<ScTokenRef>& rTokens, const ScTokenRef& pToken); - - static void SC_DLLPUBLIC join(::std::vector<ScTokenRef>& rTokens, const ScTokenRef& pToken); - - static bool getDoubleRefDataFromToken(ScComplexRefData& rData, const ScTokenRef& pToken); - - static ScTokenRef createRefToken(const ScAddress& rAddr); - static ScTokenRef createRefToken(const ScRange& rRange); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc deleted file mode 100644 index ad488e151..000000000 --- a/sc/inc/sc.hrc +++ /dev/null @@ -1,1261 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SC_SC_HRC -#define SC_SC_HRC - -#ifndef _SFX_HRC -#include <sfx2/sfx.hrc> // ->#include <solar.hrc> -#endif - -#ifndef _SVX_DIALOGS_HRC -#include <svx/dialogs.hrc> // ->Svx-IDs -#endif - -#include "sfx2/sfxcommands.h" -#include "svx/svxcommands.h" -#include "sccommands.h" -#include "helpids.h" - -#define VAR_ARGS 30 // variable Parameter in scfuncs.src - -#define RID_HANDLEBITMAP 10005 - -// areas - -#define SC_VIEW_START (SID_SC_START) -#define SC_VIEW_END (SID_SC_START + 99) -#define SC_MESSAGE_START (SID_SC_START + 100) -#define SC_MESSAGE_END (SID_SC_START + 199) -#define SC_FUNCTION_START (SID_SC_START + 200) -#define SC_FUNCTION_END (SID_SC_START + 299) -#define SC_PARAM_START (SID_SC_START + 300) -#define SC_PARAM_END (SID_SC_START + 399) - -// stay compatible to the past -#define SC_RESOURCE_START (RID_APP_START+5000) -#define SC_RESOURCE_END (RID_APP_END) - -// help IDs - -// calc has a range of 2000 IDs -// the functions need 11*90 = 990 IDs - -#define HID_SC_SHEET_START (HID_SC_START + 1010) -#define HID_SC_SHELL_START (HID_SC_START + 1030) - -// help IDs for templates -#define HID_SC_SHEET_CELL_STD (HID_SC_SHEET_START +0 ) -#define HID_SC_SHEET_CELL_ERG (HID_SC_SHEET_START +1 ) -#define HID_SC_SHEET_CELL_ERG1 (HID_SC_SHEET_START +2 ) -#define HID_SC_SHEET_CELL_UEB (HID_SC_SHEET_START +3 ) -#define HID_SC_SHEET_CELL_UEB1 (HID_SC_SHEET_START +4 ) -#define HID_SC_SHEET_PAGE_STD (HID_SC_SHEET_START +10 ) -#define HID_SC_SHEET_PAGE_REP (HID_SC_SHEET_START +11 ) - -// help IDs for shells (helper) (max. 20) -#define HID_SCSHELL_APP (HID_SC_SHELL_START +0 ) -#define HID_SCSHELL_DOCSH (HID_SC_SHELL_START +1 ) -#define HID_SCSHELL_DRAWSH (HID_SC_SHELL_START +2 ) -#define HID_SCSHELL_DRTXTOB (HID_SC_SHELL_START +3 ) -#define HID_SCSHELL_PIVOTSH (HID_SC_SHELL_START +4 ) -#define HID_SCSHELL_PREVWSH (HID_SC_SHELL_START +5 ) -#define HID_SCSHELL_TABVWSH (HID_SC_SHELL_START +6 ) -#define HID_SCSHELL_AUDIT (HID_SC_SHELL_START +7 ) -#define HID_SCSHELL_DRAWFORMSH (HID_SC_SHELL_START +8 ) -#define HID_SCSHELL_CELLSH (HID_SC_SHELL_START +9 ) -#define HID_SCSHELL_FORMATSH (HID_SC_SHELL_START +10) -#define HID_SCSHELL_OLEOBEJCTSH (HID_SC_SHELL_START +11) -#define HID_SCSHELL_CHARTSH (HID_SC_SHELL_START +12) -#define HID_SCSHELL_GRAPHIC (HID_SC_SHELL_START +13) -#define HID_SCSHELL_PAGEBREAK (HID_SC_SHELL_START +14) -#define HID_SCSHELL_MEDIA (HID_SC_SHELL_START +15) - - -// view-functions (max. 100) - -#define FID_TESTFUNC0 (SC_VIEW_START) -#define FID_TESTFUNC1 (SC_VIEW_START + 1) -#define FID_TESTFUNC2 (SC_VIEW_START + 2) -#define FID_TESTFUNC3 (SC_VIEW_START + 3) -#define FID_TESTFUNC4 (SC_VIEW_START + 4) -#define FID_TESTFUNC5 (SC_VIEW_START + 5) -#define FID_TESTFUNC6 (SC_VIEW_START + 6) -#define FID_TESTFUNC7 (SC_VIEW_START + 7) -#define FID_TESTFUNC8 (SC_VIEW_START + 8) -#define FID_TESTFUNC9 (SC_VIEW_START + 9) -#define FID_SCALESTATUS (SC_VIEW_START + 10) -#define FID_COLOR (SC_VIEW_START + 11) -#define SID_UPDATECHART (SC_VIEW_START + 13) -#define FID_MARKLEFT (SC_VIEW_START + 14) -#define FID_MARKRIGHT (SC_VIEW_START + 15) -#define FID_MARKUP (SC_VIEW_START + 16) -#define FID_MARKDOWN (SC_VIEW_START + 17) -#define FID_MARKPAGEUP (SC_VIEW_START + 18) -#define FID_MARKPAGEDOWN (SC_VIEW_START + 19) - -// slot-IDs for attributes - -#define SID_SCATTR_HOR_JUSTIFY (SC_VIEW_START + 30) // alignment-page -#define SID_SCATTR_VER_JUSTIFY (SC_VIEW_START + 31) -#define SID_SCATTR_MARGIN (SC_VIEW_START + 32) -#define SID_SCATTR_STACKED (SC_VIEW_START + 33) -#define SID_SCATTR_LINEBREAK (SC_VIEW_START + 35) -#define SID_SCATTR_PROTECTION (SC_VIEW_START + 36) // protection-page - -// other slot-IDs: - -#define SID_SCUSERLISTS (SC_VIEW_START + 37) // user defined lists -#define RES_TBX_DUMMY (SC_VIEW_START + 38) // dummy-item -#define SID_SCVIEWOPTIONS (SC_VIEW_START + 39) -#define SID_SCDOCOPTIONS (SC_VIEW_START + 40) - -// cursor movements as properties: - -#define SID_CURRENTCELL (SC_VIEW_START + 41) -#define SID_CURRENTTAB (SC_VIEW_START + 42) -#define SID_CURRENTDOC (SC_VIEW_START + 43) -#define SID_CURRENTOBJECT (SC_VIEW_START + 44) - -// slot-IDs for special toolbox functions: - -#define SID_NUMBER_CURRENCY (SC_VIEW_START + 45) -#define SID_NUMBER_PERCENT (SC_VIEW_START + 46) - -// "slot" IDs for input images: -#define SID_INPUT_FUNCTION (SC_VIEW_START + 47) -#define SID_INPUT_SUM (SC_VIEW_START + 48) -#define SID_INPUT_EQUAL (SC_VIEW_START + 49) -#define SID_INPUT_CANCEL (SC_VIEW_START + 50) -#define SID_INPUT_OK (SC_VIEW_START + 51) - -#define SID_NUMBER_STANDARD (SC_VIEW_START + 52) -#define SID_NUMBER_DATE (SC_VIEW_START + 53) -#define SID_NUMBER_TWODEC (SC_VIEW_START + 54) -#define SID_NUMBER_SCIENTIFIC (SC_VIEW_START + 55) -#define SID_NUMBER_TIME (SC_VIEW_START + 56) -#define SID_NUMBER_INCDEC (SC_VIEW_START + 57) -#define SID_NUMBER_DECDEC (SC_VIEW_START + 58) - -// misc: -#define SID_LINKS (SC_VIEW_START + 60) -#define SID_INSERT_SIMAGE (SC_VIEW_START + 61) -#define SID_INSERT_SCHART (SC_VIEW_START + 62) -#define SID_INSERT_SMATH (SC_VIEW_START + 63) -#define SID_STANDARD_FONTS (SC_VIEW_START + 64) -#define SID_MIRROR_VERTICAL (SC_VIEW_START + 65) -#define SID_MIRROR_HORIZONTAL (SC_VIEW_START + 66) -#define SID_CELL_FORMAT_RESET (SC_VIEW_START + 67) -#define SID_SCPRINTOPTIONS (SC_VIEW_START + 68) -#define SID_WINDOW_SPLIT (SC_VIEW_START + 69) -#define SID_WINDOW_FIX (SC_VIEW_START + 70) -#ifdef SID_DRAW_CHART -#undef SID_DRAW_CHART -#endif -#define SID_DRAW_CHART (SC_VIEW_START + 71) -#define SID_UPDATETABLINKS (SC_VIEW_START + 72) - -// TabPage entry -#define SID_SC_INPUT_SELECTION (SC_VIEW_START + 73) -#define SID_SC_INPUT_SELECTIONPOS (SC_VIEW_START + 74) -#define SID_SC_INPUT_EDITMODE (SC_VIEW_START + 75) -#define SID_SC_INPUT_FMT_EXPAND (SC_VIEW_START + 76) -#define SID_SC_INPUT_RANGEFINDER (SC_VIEW_START + 77) -#define SID_SC_INPUT_REF_EXPAND (SC_VIEW_START + 78) -#define SID_SC_INPUT_MARK_HEADER (SC_VIEW_START + 79) - -#define SID_REIMPORT_AFTER_LOAD (SC_VIEW_START + 80) -#define SID_DRAW_NOTEEDIT (SC_VIEW_START + 81) - -#define SID_CHOOSE_DESIGN (SC_VIEW_START + 82) -#define SID_EURO_CONVERTER (SC_VIEW_START + 83) -#define SID_EXTERNAL_SOURCE (SC_VIEW_START + 85) - -#define SID_SC_INPUT_TEXTWYSIWYG (SC_VIEW_START + 86) - -#define SID_ENABLE_HYPHENATION (SC_VIEW_START + 87) - -#define SID_RENAME_OBJECT (SC_VIEW_START + 88) -#define SID_FOCUS_INPUTLINE (SC_VIEW_START + 89) -#define SID_SELECT_TABLES (SC_VIEW_START + 90) - -// new entry "Filter..." in DP popup menu -#define SID_DP_FILTER (SC_VIEW_START + 91) - -// replace cell contents warning -#define SID_SC_INPUT_REPLCELLSWARN (SC_VIEW_START + 92) - -// additional IDs for list/range validity -#define FID_VALID_LISTTYPE (SC_VIEW_START + 93) - -// #i68101# ID for changing title & description of an object -#define SID_TITLE_DESCRIPTION_OBJECT (SC_VIEW_START + 94) - -// #i59082# assign macro to shape -#define SID_ASSIGNMACRO (SC_VIEW_START + 95) - -// #i66550# hyperlinks in shapes -#define SID_DRAW_HLINK_EDIT (SC_VIEW_START + 96) -#define SID_DRAW_HLINK_DELETE (SC_VIEW_START + 97) - -// "Zoom / Synchronize sheets" in options dialog -#define SID_SC_OPT_SYNCZOOM (SC_VIEW_START + 98) - -// NOTE: last valid ID is (SC_VIEW_START + 99) - -// messages - -#define FID_INPUTLINE_STATUS (SC_MESSAGE_START) -#define FID_INPUTLINE_ENTER (SC_MESSAGE_START + 1) -#define FID_REPAINT (SC_MESSAGE_START + 2) -#define FID_DATACHANGED (SC_MESSAGE_START + 3) -#define FID_REFMODECHANGED (SC_MESSAGE_START + 4) -#define FID_KILLEDITVIEW (SC_MESSAGE_START + 5) -#define SID_SOLVE (SC_MESSAGE_START + 6) -#define FID_FONT_SELECTED (SC_MESSAGE_START + 7) -#define FID_FILTER_OK (SC_MESSAGE_START + 8) -#define SC_HINT_DRWLAYER_NEW (SC_MESSAGE_START + 9) -#define SID_TABDELETED (SC_MESSAGE_START + 10) -#define FID_INPUTLINE_MATRIX (SC_MESSAGE_START + 11) -#define SID_DLG_RETOK (SC_MESSAGE_START + 12) -#define FID_ANYDATACHANGED (SC_MESSAGE_START + 13) -#define SID_STATUS_DOCPOS (SC_MESSAGE_START + 14) -#define SID_STATUS_PAGESTYLE (SC_MESSAGE_START + 15) -#define SID_STATUS_SELMODE (SC_MESSAGE_START + 16) -#define FID_KILLEDITVIEW_NOPAINT (SC_MESSAGE_START + 17) -#define SID_DLG_MATRIX (SC_MESSAGE_START + 18) -#define SC_HINT_DBAREAS_CHANGED (SC_MESSAGE_START + 19) -#define SC_HINT_AREAS_CHANGED (SC_MESSAGE_START + 20) -#define SC_HINT_TABLES_CHANGED (SC_MESSAGE_START + 21) - -#define SID_STATUS_SELMODE_ERG (SC_MESSAGE_START + 22) -#define SID_STATUS_SELMODE_ERW (SC_MESSAGE_START + 23) -#define SID_STATUS_SELMODE_NORM (SC_MESSAGE_START + 24) - -#define SID_CHART_SOURCE (SC_MESSAGE_START + 25) -#define SID_CHART_NAME (SC_MESSAGE_START + 26) -#define SID_CHART_ADDSOURCE (SC_MESSAGE_START + 27) - -#define SID_AUTO_STYLE (SC_MESSAGE_START + 28) - -#define FID_INPUTLINE_BLOCK (SC_MESSAGE_START + 29) - -#define SID_STATUS_SUM (SC_MESSAGE_START + 30) - -#define SC_HINT_DRAW_CHANGED (SC_MESSAGE_START + 31) -#define SC_HINT_DOCNAME_CHANGED (SC_MESSAGE_START + 32) -#define SC_HINT_AREALINKS_CHANGED (SC_MESSAGE_START + 33) -#define SC_HINT_SHOWRANGEFINDER (SC_MESSAGE_START + 34) -#define SC_HINT_DOC_SAVED (SC_MESSAGE_START + 35) -#define SC_HINT_FORCESETTAB (SC_MESSAGE_START + 36) - -// messages for opening dialogs: -#define SID_OPENDLG_CONSOLIDATE (SC_MESSAGE_START + 50) -#define SID_OPENDLG_PIVOTTABLE (SC_MESSAGE_START + 51) -#define SID_OPENDLG_FUNCTION (SC_MESSAGE_START + 52) -#define SID_OPENDLG_SOLVE (SC_MESSAGE_START + 53) -#define SID_OPENDLG_TABOP (SC_MESSAGE_START + 54) -#define SID_OPENDLG_EDITFUNCTION (SC_MESSAGE_START + 56) -#define SID_OPENDLG_ARGUMENT (SC_MESSAGE_START + 57) -#define SID_OPENDLG_CONDFRMT (SC_MESSAGE_START + 59) -#define SID_OPENDLG_OPTSOLVER (SC_MESSAGE_START + 60) -#define SID_VALIDITY_REFERENCE (SC_MESSAGE_START + 61) -#define SC_HINT_NAVIGATOR_UPDATEALL (SC_MESSAGE_START + 65) - -// functions - - -#define FID_DOC_MANAGER (SC_FUNCTION_START + 1) -#define FID_CURSOR_ENTER (SC_FUNCTION_START + 2) -#define SID_MAIL (SC_FUNCTION_START + 3) -#define FILE_MENU_END (SC_FUNCTION_START + 20) - -#define EDIT_MENU_START (FILE_MENU_END) -#define FID_DELETE_CELLCONTENTS (EDIT_MENU_START + 1) -#define FID_DELETE_CELL (EDIT_MENU_START + 2) -#define FID_DELETE_TABLE (EDIT_MENU_START + 3) -#define FID_FILL_TO_BOTTOM (EDIT_MENU_START + 4) -#define FID_FILL_TO_RIGHT (EDIT_MENU_START + 5) -#define FID_FILL_TO_TOP (EDIT_MENU_START + 6) -#define FID_FILL_TO_LEFT (EDIT_MENU_START + 7) -#define FID_FILL_TAB (EDIT_MENU_START + 8) -#define FID_FILL_SERIES (EDIT_MENU_START + 9) -#define FID_SEARCH_REPLACE_DLG (EDIT_MENU_START + 10) -#define FID_EDIT_OBJECT (EDIT_MENU_START + 11) -#define SID_SC_NAVIGATOR (EDIT_MENU_START + 12) -#define SID_SC_WIZARD (EDIT_MENU_START + 13) -#define SID_SC_EDIT_OBJECT (EDIT_MENU_START + 14) -#define SID_HFEDIT (EDIT_MENU_START + 15) - -#define SID_DEL_ROWS (EDIT_MENU_START + 16)//JN -#define SID_DEL_COLS (EDIT_MENU_START + 17)//JN - -#define FID_CHG_SHOW (EDIT_MENU_START + 19) - -#define EDIT_MENU_END (EDIT_MENU_START + 20) -#define VIEW_MENU_START (EDIT_MENU_END) - -#define FID_TOGGLEOBJECT (VIEW_MENU_START) -#define FID_TOGGLEINPUTLINE (VIEW_MENU_START + 1) -#define FID_TOGGLEHEADERS (VIEW_MENU_START + 2) -#define FID_SCALE (VIEW_MENU_START + 4) -#define FID_TOGGLESYNTAX (VIEW_MENU_START + 5) -#define FID_SCREEN_OPTIONS (VIEW_MENU_START + 6) -#define FID_PAGEBREAKMODE (VIEW_MENU_START + 7) -#define FID_FUNCTION_BOX (VIEW_MENU_START + 8) -#define FID_NORMALVIEWMODE (VIEW_MENU_START + 9) -#define FID_TOGGLEFORMULA (VIEW_MENU_START + 10) - -#define FID_CHG_ACCEPT (VIEW_MENU_START + 18)// DANGER DIRTY ID -#define FID_CHG_COMMENT (VIEW_MENU_START + 19)// DANGER DIRTY ID -#define VIEW_MENU_END (VIEW_MENU_START + 20) - -#define INSERT_MENU_START (VIEW_MENU_END) -#define FID_PAGEBREAK (INSERT_MENU_START) -#define FID_INS_ROWBRK (INSERT_MENU_START + 1) -#define FID_INS_COLBRK (INSERT_MENU_START + 2) -#define FID_DEL_ROWBRK (INSERT_MENU_START + 3) -#define FID_DEL_COLBRK (INSERT_MENU_START + 4) -#define FID_INS_CELL_CONTENTS (INSERT_MENU_START + 5) -#define FID_INS_CELL (INSERT_MENU_START + 6) -#define FID_INS_ROW (INSERT_MENU_START + 7) -#define FID_INS_COLUMN (INSERT_MENU_START + 8) -#define FID_INS_TABLE (INSERT_MENU_START + 9) -#define SID_INS_FUNCTION (INSERT_MENU_START + 10) -#define FID_DEFINE_NAME (INSERT_MENU_START + 11) -#define FID_INSERT_NAME (INSERT_MENU_START + 12) -#define FID_USE_NAME (INSERT_MENU_START + 13) -#define FID_APPLY_NAME (INSERT_MENU_START + 14) -#define FID_INS_TABLE_EXT (INSERT_MENU_START + 15) -#define SID_INSERT_CLIPART (INSERT_MENU_START + 17) //!!! should come from Svx -#define FID_INS_CELLSDOWN (INSERT_MENU_START + 18) -#define FID_INS_CELLSRIGHT (INSERT_MENU_START + 19) -#define INSERT_MENU_END (INSERT_MENU_START + 20) - -#define FORMAT_MENU_START (INSERT_MENU_END) -#define FID_CELL_FORMAT (FORMAT_MENU_START) -#define FID_ROW_HEIGHT (FORMAT_MENU_START + 1) -#define FID_ROW_OPT_HEIGHT (FORMAT_MENU_START + 2) -#define FID_ROW_HIDE (FORMAT_MENU_START + 3) -#define FID_ROW_SHOW (FORMAT_MENU_START + 4) -#define FID_COL_WIDTH (FORMAT_MENU_START + 5) -#define FID_COL_OPT_WIDTH (FORMAT_MENU_START + 6) -#define FID_COL_HIDE (FORMAT_MENU_START + 7) -#define FID_COL_SHOW (FORMAT_MENU_START + 8) -#define FID_TABLE_HIDE (FORMAT_MENU_START + 9) -#define FID_TABLE_SHOW (FORMAT_MENU_START + 10) -#define FID_CONDITIONAL_FORMAT (FORMAT_MENU_START + 11) -#define SID_SCSTYLES (FORMAT_MENU_START + 12) -#define FID_MERGE_ON (FORMAT_MENU_START + 13) -#define FID_MERGE_OFF (FORMAT_MENU_START + 14) -#define SID_FORMATPAGE (FORMAT_MENU_START + 15) -#define SID_TEXT_STANDARD (FORMAT_MENU_START + 16) -#define SID_DRAWTEXT_ATTR_DLG (FORMAT_MENU_START + 17) -#define FID_TABLE_VISIBLE (FORMAT_MENU_START + 18) -#define FID_COL_OPT_DIRECT (FORMAT_MENU_START + 19) -#define FORMAT_MENU_END (FORMAT_MENU_START + 20) - -#define EXTRA_MENU_START (FORMAT_MENU_END) -#define FID_VOICE_CONTROL (EXTRA_MENU_START + 1) -#define SID_RECALC_TITLE (EXTRA_MENU_START + 2) -#define FID_AUTO_CALC (EXTRA_MENU_START + 3) -#define FID_RECALC (EXTRA_MENU_START + 4) -#define FID_UPDATE_DIAGRAMS (EXTRA_MENU_START + 5) -#define FID_PROTECT_TABLE (EXTRA_MENU_START + 6) -#define FID_PROTECT_DOC (EXTRA_MENU_START + 7) -#define SID_EDIT_MACRO (EXTRA_MENU_START + 8) -#define SID_SCOPTIONS (EXTRA_MENU_START + 9) -#define SID_MACRO_CHOOSER (EXTRA_MENU_START + 10) -#define SID_SHARE_DOC (EXTRA_MENU_START + 11) -#define SID_SCENARIOS (EXTRA_MENU_START + 12) -#define SID_ADD_IN_MANAGER (EXTRA_MENU_START + 13) -#define SID_PIVOT_RECALC (EXTRA_MENU_START + 14) -#define SID_PIVOT_KILL (EXTRA_MENU_START + 15) - -// wrong here, but better than nothing -#define SID_SC_HELP_PI (EXTRA_MENU_START + 16) -#define SID_SC_SHOW_KEYBOARD_HELP (EXTRA_MENU_START + 17) - -#define FID_HARD_RECALC (EXTRA_MENU_START + 18) -#define FID_AUTOCOMPLETE (EXTRA_MENU_START + 19) - -#define EXTRA_MENU_END (EXTRA_MENU_START + 20) - -#define DATA_MENU_START (EXTRA_MENU_END) -#define SID_DEFINE_DBNAME (DATA_MENU_START) -#define SID_SELECT_DB (DATA_MENU_START + 1) -#define SID_SORT (DATA_MENU_START + 2) -#define SID_FILTER (DATA_MENU_START + 3) -#define SID_SPECIAL_FILTER (DATA_MENU_START + 4) -#define SID_AUTO_FILTER (DATA_MENU_START + 5) -#define SID_UNFILTER (DATA_MENU_START + 6) -#define SID_QUERY (DATA_MENU_START + 7) -#define SID_SUBTOTALS (DATA_MENU_START + 8) -#define SID_AUTO_OUTLINE (DATA_MENU_START + 13) -#define SID_IMPORT_DATA (DATA_MENU_START + 15) -#define SID_REIMPORT_DATA (DATA_MENU_START + 16) -#define SID_PIVOT_TABLE (DATA_MENU_START + 17) -#define SID_TABOP (DATA_MENU_START + 18) -#define SID_TEXT_TO_COLUMNS (DATA_MENU_START + 19) -#define SID_CONSOLIDATE (DATA_MENU_START + 20) -#define SID_AUTOFILTER_HIDE (DATA_MENU_START + 21) - -#define SID_SBA_IMPORT (DATA_MENU_START + 22) - -#define SID_SORT_DESCENDING (DATA_MENU_START + 23) -#define SID_SORT_ASCENDING (DATA_MENU_START + 24) - -#define DATA_MENU_END (DATA_MENU_START + 25) - -#define TAB_POPUP_START (DATA_MENU_END) -#define RID_POPUP_TAB (TAB_POPUP_START) -#define FID_TAB_MENU_RENAME (TAB_POPUP_START+1) -#define FID_TAB_RENAME (TAB_POPUP_START+2) -#define FID_TAB_MOVE (TAB_POPUP_START+3) -#define FID_TAB_SELECTALL (TAB_POPUP_START+4) -#define FID_TAB_APPEND (TAB_POPUP_START+5) -#define FID_TAB_INDEX (TAB_POPUP_START+6) -#define FID_TAB_RTL (TAB_POPUP_START+7) -#define FID_TAB_DESELECTALL (TAB_POPUP_START+8) -#define FID_TAB_MENU_SET_TAB_BG_COLOR (TAB_POPUP_START + 9) -#define FID_TAB_SET_TAB_BG_COLOR (TAB_POPUP_START + 10) -#define FID_TAB_EVENTS (TAB_POPUP_START+11) - -#define TAB_POPUP_END (TAB_POPUP_START + 20) - -#define OBJBAR_FORMAT_START (TAB_POPUP_END) -#define SID_ALIGNLEFT (OBJBAR_FORMAT_START+6) -#define SID_ALIGNRIGHT (OBJBAR_FORMAT_START+7) -#define SID_ALIGNCENTERHOR (OBJBAR_FORMAT_START+8) -#define SID_ALIGNBLOCK (OBJBAR_FORMAT_START+9) -#define SID_ALIGNTOP (OBJBAR_FORMAT_START+10) -#define SID_ALIGNBOTTOM (OBJBAR_FORMAT_START+11) -#define SID_ALIGNCENTERVER (OBJBAR_FORMAT_START+12) -#define SID_SELECT_SCENARIO (OBJBAR_FORMAT_START+13) - -#define SID_V_ALIGNCELL (OBJBAR_FORMAT_START+14) -#define SID_H_ALIGNCELL (OBJBAR_FORMAT_START+15) - -#define OBJBAR_FORMAT_END (OBJBAR_FORMAT_START+20) - -#define RID_INPUTBAR_START (OBJBAR_FORMAT_END) -#define SID_INPUT_WINDOW (RID_INPUTBAR_START) -#define RID_INPUTBAR_END (RID_INPUTBAR_START+1) - -#define DRAW_BAR_START (RID_INPUTBAR_END) -#define SID_DRAWTOABOVE (DRAW_BAR_START+15) -#define SID_DRAWTOBELOW (DRAW_BAR_START+16) -#define SID_FRAMETOTOP (DRAW_BAR_START+19) -#define SID_FRAMETOBOTTOM (DRAW_BAR_START+20) -#define SID_TOOL_TEXT (DRAW_BAR_START+23) -#define SID_ANCHOR_PAGE (DRAW_BAR_START+24) -#define SID_ANCHOR_CELL (DRAW_BAR_START+25) -#define SID_ANCHOR_TOGGLE (DRAW_BAR_START+26) -#define SID_ORIGINALSIZE (DRAW_BAR_START+27) - -#define DRAW_BAR_END (DRAW_BAR_START+50) - -#define DRAWTEXTBAR_START (DRAW_BAR_END) -#define SID_TEXT_LINESPACING_1 (DRAWTEXTBAR_START) -#define SID_TEXT_LINESPACING_2 (DRAWTEXTBAR_START+1) -#define SID_TEXT_LINESPACING_3 (DRAWTEXTBAR_START+2) -#define DRAWTEXTBAR_END (DRAWTEXTBAR_START+20) - -#define DETECTIVE_START (DRAWTEXTBAR_END) -#define SID_DETECTIVE_ADD_PRED (DETECTIVE_START) -#define SID_DETECTIVE_DEL_PRED (DETECTIVE_START+1) -#define SID_DETECTIVE_ADD_SUCC (DETECTIVE_START+2) -#define SID_DETECTIVE_DEL_SUCC (DETECTIVE_START+3) -#define SID_DETECTIVE_ADD_ERR (DETECTIVE_START+4) -#define SID_DETECTIVE_DEL_ALL (DETECTIVE_START+5) - -#define SID_DETECTIVE_FILLMODE (DETECTIVE_START+6) -#define SID_FILL_ADD_PRED (DETECTIVE_START+7) -#define SID_FILL_DEL_PRED (DETECTIVE_START+8) -#define SID_FILL_ADD_SUCC (DETECTIVE_START+9) -#define SID_FILL_DEL_SUCC (DETECTIVE_START+10) -#define SID_FILL_NONE (DETECTIVE_START+11) -#define SID_FILL_SELECT (DETECTIVE_START+12) - -#define SID_DETECTIVE_INVALID (DETECTIVE_START+13) - -#define SID_DETECTIVE_REFRESH (DETECTIVE_START+14) -#define SID_DETECTIVE_AUTO (DETECTIVE_START+15) - -#define SID_DETECTIVE_MARK_PRED (DETECTIVE_START+16) -#define SID_DETECTIVE_MARK_SUCC (DETECTIVE_START+17) - -#define DETECTIVE_END (DETECTIVE_START+20) - -#define SID_API_SLOTS (DETECTIVE_END) -#define SID_INSERT_MATRIX (SID_API_SLOTS+1) - -#define SID_DELETE_NOTE (SID_API_SLOTS+2) - - -#define SID_PREVIEW_START (SID_API_SLOTS+20) -#define SID_PREVIEW_NEXT (SID_PREVIEW_START) -#define SID_PREVIEW_PREVIOUS (SID_PREVIEW_START+1) -#define SID_PREVIEW_FIRST (SID_PREVIEW_START+2) -#define SID_PREVIEW_LAST (SID_PREVIEW_START+3) -#define SID_PREVIEW_GOTO (SID_PREVIEW_START+4) -#define SID_PREVIEW_ZOOMIN (SID_PREVIEW_START+5) -#define SID_PREVIEW_ZOOMOUT (SID_PREVIEW_START+6) -#define SID_PREVIEW_CLOSE (SID_PREVIEW_START+7) -#define SID_PREVIEW_MARGIN (SID_PREVIEW_START+8) -#define SID_PREVIEW_SCALINGFACTOR (SID_PREVIEW_START+9) -#define SID_PREVIEW_END (SID_PREVIEW_START+20) - -//from sfx: #define SID_KEYFUNC_START (SID_PREVIEW_END+5) -#define SID_CURSORDOWN_SEL (SID_KEYFUNC_START + 0) -#define SID_CURSORUP_SEL (SID_KEYFUNC_START + 1) -#define SID_CURSORLEFT_SEL (SID_KEYFUNC_START + 2) -#define SID_CURSORRIGHT_SEL (SID_KEYFUNC_START + 3) -#define SID_CURSORPAGEDOWN_SEL (SID_KEYFUNC_START + 4) -#define SID_CURSORPAGEUP_SEL (SID_KEYFUNC_START + 5) - -#define SID_CURSORPAGELEFT_ (SID_KEYFUNC_START + 6) -#define SID_CURSORPAGELEFT_SEL (SID_KEYFUNC_START + 7) -#define SID_CURSORPAGERIGHT_ (SID_KEYFUNC_START + 8) -#define SID_CURSORPAGERIGHT_SEL (SID_KEYFUNC_START + 9) - -#define SID_CURSORTOPOFFILE_SEL (SID_KEYFUNC_START + 10) -#define SID_CURSORENDOFFILE_SEL (SID_KEYFUNC_START + 11) -#define SID_CURSORHOME_SEL (SID_KEYFUNC_START + 12) -#define SID_CURSOREND_SEL (SID_KEYFUNC_START + 13) -#define SID_CURSORBLKUP (SID_KEYFUNC_START + 14) -#define SID_CURSORBLKDOWN (SID_KEYFUNC_START + 15) -#define SID_CURSORBLKLEFT (SID_KEYFUNC_START + 16) -#define SID_CURSORBLKRIGHT (SID_KEYFUNC_START + 17) -#define SID_CURSORBLKUP_SEL (SID_KEYFUNC_START + 18) -#define SID_CURSORBLKDOWN_SEL (SID_KEYFUNC_START + 19) -#define SID_CURSORBLKLEFT_SEL (SID_KEYFUNC_START + 20) -#define SID_CURSORBLKRIGHT_SEL (SID_KEYFUNC_START + 21) - -#define SID_NEXT_TABLE (SID_KEYFUNC_START + 22) -#define SID_PREV_TABLE (SID_KEYFUNC_START + 23) - -#define SID_NEXT_UNPROTECT (SID_KEYFUNC_START + 24) -#define SID_PREV_UNPROTECT (SID_KEYFUNC_START + 25) - -#define SID_SELECT_COL (SID_KEYFUNC_START + 26) -#define SID_SELECT_ROW (SID_KEYFUNC_START + 27) -#define SID_SELECT_NONE (SID_KEYFUNC_START + 28) -#define SID_ALIGNCURSOR (SID_KEYFUNC_START + 29) -#define SID_MARKDATAAREA (SID_KEYFUNC_START + 30) -#define SID_SETINPUTMODE (SID_KEYFUNC_START + 31) -#define SID_DELETE_CONTENTS (SID_KEYFUNC_START + 32) - -#define SID_MARKAREA (SID_KEYFUNC_START + 33) - -#define SID_AUTOFILL (SID_KEYFUNC_START + 34) -#define FID_FILL_AUTO (SID_KEYFUNC_START + 35) -#define SID_CANCEL (SID_KEYFUNC_START + 36) - -#define SID_CURSORENTERUP (SID_KEYFUNC_START + 37) -#define SID_CURSORENTERDOWN (SID_KEYFUNC_START + 38) - -#define SID_MARKARRAYFORMULA (SID_KEYFUNC_START + 39) - -#define SID_NEXT_TABLE_SEL (SID_KEYFUNC_START + 40) -#define SID_PREV_TABLE_SEL (SID_KEYFUNC_START + 41) - -#define SID_KEYFUNC_END (SID_KEYFUNC_START + 50) - -#define SID_NEW_SLOTS (SID_KEYFUNC_END) -#define SID_NEW_SLOTS_END (SID_NEW_SLOTS+100) - -#define SID_NEW_TABLENAME (SID_NEW_SLOTS+1) -#define SID_COL_START (SID_NEW_SLOTS+2) -#define SID_ROW_START (SID_NEW_SLOTS+3) -#define SID_COL_END (SID_NEW_SLOTS+4) -#define SID_ROW_END (SID_NEW_SLOTS+5) -#define SID_KEEP_MARK (SID_NEW_SLOTS+6) -#define SID_FILL_DIR (SID_NEW_SLOTS+7) -#define SID_FILL_COUNT (SID_NEW_SLOTS+8) -#define SID_WITH_UNDO (SID_NEW_SLOTS+9) -#define FID_MERGE_TOGGLE (SID_NEW_SLOTS+10) -#define SID_ATTR_ROWHEADERS (SID_NEW_SLOTS+11) -#define SID_ATTR_COLHEADERS (SID_NEW_SLOTS+12) - -#define SID_SC_CELLS (SID_NEW_SLOTS+13) -#define SID_SC_RANGE (SID_NEW_SLOTS+14) -#define SID_SC_SELECTION (SID_NEW_SLOTS+15) -#define SID_SC_CELLTEXT (SID_NEW_SLOTS+16) - -#define SID_SC_NAME_TITLE (SID_NEW_SLOTS+17) - -#define SID_SC_ACTIVECELL (SID_NEW_SLOTS+18) -#define SID_SC_ACTIVETAB (SID_NEW_SLOTS+19) -#define SID_RANGE_ROW (SID_NEW_SLOTS+20) -#define SID_RANGE_COL (SID_NEW_SLOTS+21) -#define SID_RANGE_TABLE (SID_NEW_SLOTS+22) -#define SID_RANGE_VALUE (SID_NEW_SLOTS+23) -#define SID_RANGE_FORMULA (SID_NEW_SLOTS+24) -#define SID_RANGE_TEXT (SID_NEW_SLOTS+25) -#define SID_RANGE_TEXTVALUE (SID_NEW_SLOTS+26) -#define SID_TABLE_ACTIVATE (SID_NEW_SLOTS+27) -#define SID_TABLES_GET (SID_NEW_SLOTS+28) -#define SID_PROP_INTERIOR (SID_NEW_SLOTS+29) -#define SID_PROP_FONT (SID_NEW_SLOTS+30) - -#define SID_DEFINE_PRINTAREA (SID_NEW_SLOTS+31) -#define SID_DELETE_PRINTAREA (SID_NEW_SLOTS+32) -#define SID_CHANGE_PRINTAREA (SID_NEW_SLOTS+33) -#define SID_OPENDLG_EDIT_PRINTAREA (SID_NEW_SLOTS+34) - -#define SID_OLE_OBJECT (SID_NEW_SLOTS+35) -#define SID_OLE_ACTIVATE (SID_NEW_SLOTS+36) -#define SID_OLE_DEACTIVATE (SID_NEW_SLOTS+37) - -#define SID_TOGGLE_REL (SID_NEW_SLOTS+38) -#define SID_DATA_SELECT (SID_NEW_SLOTS+39) - -// search & replace -#define FID_SEARCH (SID_NEW_SLOTS+40) -#define FID_REPEAT_SEARCH (SID_NEW_SLOTS+41) -#define FID_REPLACE (SID_NEW_SLOTS+42) -#define FID_SEARCH_ALL (SID_NEW_SLOTS+43) -#define FID_REPLACE_ALL (SID_NEW_SLOTS+44) -#define FID_SEARCH_COUNT (SID_NEW_SLOTS+45) - -#define SID_SC_SETTEXT (SID_NEW_SLOTS+46) -#define SID_RANGE_ADDRESS (SID_NEW_SLOTS+47) -#define SID_RANGE_OFFSET (SID_NEW_SLOTS+48) -#define SID_NUMBER_FORMAT (SID_NEW_SLOTS+49) - -#define SID_OLE_SELECT (SID_NEW_SLOTS+50) -#define SID_SC_ACTIVEOBJECT (SID_NEW_SLOTS+51) - -#define SID_RANGE_NOTETEXT (SID_NEW_SLOTS+52) -#define FID_INSERT_FILE (SID_NEW_SLOTS+53) - -#define FID_VALIDATION (SID_NEW_SLOTS+54) - -// slots for toolbox controller in toolbar -#define SID_TBXCTL_INSERT (SID_NEW_SLOTS+55) -#define SID_TBXCTL_INSCELLS (SID_NEW_SLOTS+56) -#define SID_TBXCTL_INSOBJ (SID_NEW_SLOTS+57) - -#define SID_DEFINE_COLROWNAMERANGES (SID_NEW_SLOTS+58) - -#define FID_NOTE_VISIBLE (SID_NEW_SLOTS+59) - -// items for validation -#define FID_VALID_MODE (SID_NEW_SLOTS+60) -#define FID_VALID_CONDMODE (SID_NEW_SLOTS+61) -#define FID_VALID_VALUE1 (SID_NEW_SLOTS+62) -#define FID_VALID_VALUE2 (SID_NEW_SLOTS+63) -#define FID_VALID_BLANK (SID_NEW_SLOTS+64) -#define FID_VALID_SHOWHELP (SID_NEW_SLOTS+65) -#define FID_VALID_HELPTITLE (SID_NEW_SLOTS+66) -#define FID_VALID_HELPTEXT (SID_NEW_SLOTS+67) -#define FID_VALID_SHOWERR (SID_NEW_SLOTS+68) -#define FID_VALID_ERRSTYLE (SID_NEW_SLOTS+69) -#define FID_VALID_ERRTITLE (SID_NEW_SLOTS+70) -#define FID_VALID_ERRTEXT (SID_NEW_SLOTS+71) - -#define SID_REFRESH_DBAREA (SID_NEW_SLOTS+72) -#define SID_RANGE_REGION (SID_NEW_SLOTS+73) - -#define FID_FOCUS_POSWND (SID_NEW_SLOTS+74) - -// single slots for different underline kinds (popup menu) -#define SID_ULINE_VAL_NONE (SID_NEW_SLOTS+75) -#define SID_ULINE_VAL_SINGLE (SID_NEW_SLOTS+76) -#define SID_ULINE_VAL_DOUBLE (SID_NEW_SLOTS+77) -#define SID_ULINE_VAL_DOTTED (SID_NEW_SLOTS+78) - -#define FID_DEL_MANUALBREAKS (SID_NEW_SLOTS+79) -#define SID_ADD_PRINTAREA (SID_NEW_SLOTS+80) -#define FID_ADJUST_PRINTZOOM (SID_NEW_SLOTS+81) -#define FID_RESET_PRINTZOOM (SID_NEW_SLOTS+82) - -#define SID_TABLES_COUNT (SID_NEW_SLOTS+83) -#define SID_ACTIVE_OBJ_NAME (SID_NEW_SLOTS+84) -#define SID_OBJECT_LEFT (SID_NEW_SLOTS+85) -#define SID_OBJECT_TOP (SID_NEW_SLOTS+86) -#define SID_OBJECT_WIDTH (SID_NEW_SLOTS+87) -#define SID_OBJECT_HEIGHT (SID_NEW_SLOTS+88) - -#define SID_PIVOT_CREATE (SID_NEW_SLOTS+89) -#define SID_PIVOT_FIELDS (SID_NEW_SLOTS+90) -#define SID_PFIELD_NAME (SID_NEW_SLOTS+91) -#define SID_PFIELD_ORIENTATION (SID_NEW_SLOTS+92) -#define SID_PFIELD_FUNCTION (SID_NEW_SLOTS+93) -#define SID_PIVOT_GET (SID_NEW_SLOTS+94) - -#define SID_DELETE_SCENARIO (SID_NEW_SLOTS+95) -#define SID_EDIT_SCENARIO (SID_NEW_SLOTS+96) - -// idl parameter - -#define SID_SORT_BYROW (SC_PARAM_START) -#define SID_SORT_HASHEADER (SC_PARAM_START+1) -#define SID_SORT_CASESENS (SC_PARAM_START+2) -#define SID_SORT_ATTRIBS (SC_PARAM_START+3) -#define SID_SORT_USERDEF (SC_PARAM_START+4) -#define SID_SORT_NATURALSORT (SC_PARAM_START+5) - -// ressources - -#define RID_OBJECTBAR_APP (SC_RESOURCE_START) -#define RID_OBJECTBAR_FORMAT (SC_RESOURCE_START+1) -#define RID_OBJECTBAR_INPUT (SC_RESOURCE_START+2) -#define RID_POPUP_CELLS (SC_RESOURCE_START+3) -#define RID_POPUP_DRAW (SC_RESOURCE_START+4) -#define RID_TEXT_TOOLBOX (SC_RESOURCE_START+5) -#define RID_OBJECTBAR_PREVIEW (SC_RESOURCE_START+6) -#define RID_POPUP_PREVIEW (SC_RESOURCE_START+7) -#define RID_POPUP_OLE (SC_RESOURCE_START+8) -#define RID_POPUP_CHART (SC_RESOURCE_START+9) -#define RID_OUTLINEBITMAPS (SC_RESOURCE_START+12) -#define RID_DRAW_WIN (SC_RESOURCE_START+13) -#define RID_CNTRLR_WIN (SC_RESOURCE_START+14) -#define RID_GLOBSTR (SC_RESOURCE_START+15) -#define RID_ALIGNMENT_WIN (SC_RESOURCE_START+19) -#define RID_SCFUNCTIONS (SC_RESOURCE_START+20) -#define RID_POPUP_PIVOT (SC_RESOURCE_START+21) -#define RID_IMGLIST_INPUTWIN (SC_RESOURCE_START+22) -#define RID_ERRHDLSC (SC_RESOURCE_START+23) -#define RID_POPUP_GRAPHIC (SC_RESOURCE_START+24) -#define RID_POPUP_DRAWTEXT (SC_RESOURCE_START+29) -#define RID_MN_FORMAT_ALGN (SC_RESOURCE_START+30) -#define RID_MN_FORMAT_STYLE (SC_RESOURCE_START+31) -#define RID_MN_FORMAT_LINESPACE (SC_RESOURCE_START+32) -#define RID_POPUP_EDIT (SC_RESOURCE_START+33) -#define RID_POPUP_AUDIT (SC_RESOURCE_START+34) -#define RID_OBJECTBAR_TOOLS (SC_RESOURCE_START+35) -#define RID_TBXCTL_INSERT (SC_RESOURCE_START+38) -#define RID_TBXCTL_INSCELLS (SC_RESOURCE_START+39) -#define RID_TBXCTL_INSOBJ (SC_RESOURCE_START+40) -#define RID_SC_FUNCTION_DESCRIPTIONS1 (SC_RESOURCE_START+43) -#define RID_SC_FUNCTION_DESCRIPTIONS2 (SC_RESOURCE_START+44) -#define RID_POPUP_CONTROL (SC_RESOURCE_START+45) -#define RID_POPUP_PAGEBREAK (SC_RESOURCE_START+46) -#define RID_POPUP_DRAWFORM (SC_RESOURCE_START+48) -#define RID_SC_ADDIN_ROT13 (SC_RESOURCE_START+50) -#define RID_SC_ADDIN_DFA (SC_RESOURCE_START+51) -#define RID_IMAGELIST_NAVCONT (SC_RESOURCE_START+52) -#define RID_DRAW_OBJECTBAR (SC_RESOURCE_START+53) -#define RID_GRAPHIC_OBJECTBAR (SC_RESOURCE_START+54) -#define RID_MEDIA_OBJECTBAR (SC_RESOURCE_START+60) -#define RID_POPUP_MEDIA (SC_RESOURCE_START+61) -#define RID_FUNCTION_CATEGORIES (SC_RESOURCE_START+62) - -#define STR_START (SC_RESOURCE_START+100) -#define STR_ROWHEIGHT (STR_START) -#define STR_ROWHEIGHT_TITLE (STR_START + 1) -#define STR_OPT_ROWHEIGHT (STR_START + 2) -#define STR_OPT_ROWHEIGHT_TITLE (STR_START + 3) -#define STR_COLWIDTH (STR_START + 4) -#define STR_COLWIDTH_TITLE (STR_START + 5) -#define STR_OPT_COLWIDTH (STR_START + 6) -#define STR_OPT_COLWIDTH_TITLE (STR_START + 7) -#define SCSTR_UNDEFINED (STR_START + 8) -#define SCSTR_NONAME (STR_START + 9) -#define SCSTR_NONE (STR_START + 10) -#define SCSTR_EMPTY (STR_START + 11) -#define SCSTR_NOTEMPTY (STR_START + 12) -#define SCSTR_COLUMN (STR_START + 13) -#define SCSTR_ROW (STR_START + 14) -#define SCSTR_NEW (STR_START + 15) -#define SCSTR_ADD (STR_START + 16) -#define SCSTR_REMOVE (STR_START + 17) -#define SCSTR_CANCEL (STR_START + 18) -#define SCSTR_MODIFY (STR_START + 19) -#define SCSTR_SHOWTABLE (STR_START + 20) -#define SCSTR_HIDDENTABLES (STR_START + 21) -#define SCSTR_SELECTDB (STR_START + 22) -#define SCSTR_AREAS (STR_START + 23) -#define SCSTR_TABLE (STR_START + 24) -#define SCSTR_NAME (STR_START + 25) -#define SCSTR_INSTABLE (STR_START + 26) -#define SCSTR_APDTABLE (STR_START + 27) -#define SCSTR_RENAMETAB (STR_START + 28) -#define STR_INSERTGRAPHIC (STR_START + 29) -#define SCSTR_APPLICATION (STR_START + 31) -#define SCSTR_DOCSHELL (STR_START + 32) -#define SCSTR_TABVIEWSHELL (STR_START + 33) -#define SCSTR_EDITSHELL (STR_START + 34) -#define SCSTR_DRAWSHELL (STR_START + 35) -#define SCSTR_DRAWTEXTSHELL (STR_START + 36) -#define SCSTR_NEWTABLE (STR_START + 37) -#define SCSTR_PREVIEWSHELL (STR_START + 38) - -#define SCSTR_PROTECTDOC (STR_START + 39) -#define SCSTR_UNPROTECTDOC (STR_START + 40) -#define SCSTR_PROTECTTAB (STR_START + 41) -#define SCSTR_UNPROTECTTAB (STR_START + 42) -#define SCSTR_PASSWORD (STR_START + 43) -#define SCSTR_PASSWORDOPT (STR_START + 44) -#define SCSTR_WRONGPASSWORD (STR_START + 45) - -#define SCSTR_PIVOTSHELL (STR_START + 46) -#define SCSTR_END (STR_START + 47) -#define SCSTR_STAT_PRINT (STR_START + 48) - -#define SCSTR_UNKNOWN (STR_START + 49) -#define SCSTR_CHAR_ATTRS (STR_START + 50) -#define SCSTR_ALL (STR_START + 51) -#define SCSTR_STDFILTER (STR_START + 52) - -// Cfg-Item-names -#define SCSTR_CFG_APP (STR_START + 53) -#define SCSTR_CFG_DOC (STR_START + 54) -#define SCSTR_CFG_VIEW (STR_START + 55) -#define SCSTR_CFG_SPELLCHECK (STR_START + 56) -#define SCSTR_CFG_PRINT (STR_START + 57) - -#define SCSTR_AUDITSHELL (STR_START + 58) - -#define SCSTR_CHARSET_USER (STR_START + 59) -#define SCSTR_COLUMN_USER (STR_START + 60) -#define SCSTR_FIELDSEP (STR_START + 61) -#define SCSTR_TEXTSEP (STR_START + 62) - -#define SCSTR_30_APPLICATION (STR_START + 63) -#define SCSTR_30_LONG_DOCNAME (STR_START + 64) - -#define SCSTR_CFG_INPUT (STR_START + 65) - -#define SCSTR_TOP10FILTER (STR_START + 66) - -#define SCSTR_CFG_NAVIPI (STR_START + 67) - -#define SCSTR_40_APPLICATION (STR_START + 68) -#define SCSTR_40_LONG_DOCNAME (STR_START + 69) - -#define SCSTR_DRAWFORMSHELL (STR_START + 70) -#define SCSTR_CELLSHELL (STR_START + 71) -#define SCSTR_FORMATSHELL (STR_START + 72) -#define SCSTR_OLEOBJECTSHELL (STR_START + 73) -#define SCSTR_CHARTSHELL (STR_START + 74) -#define SCSTR_GRAPHICSHELL (STR_START + 75) -#define SCSTR_PAGEBREAKSHELL (STR_START + 76) - -#define SCSTR_GRFILTER_OPENERROR (STR_START + 77) -#define SCSTR_GRFILTER_IOERROR (STR_START + 78) -#define SCSTR_GRFILTER_FORMATERROR (STR_START + 79) -#define SCSTR_GRFILTER_VERSIONERROR (STR_START + 80) -#define SCSTR_GRFILTER_FILTERERROR (STR_START + 81) -#define SCSTR_GRFILTER_TOOBIG (STR_START + 82) -#define SCSTR_UNDO_GRAFFILTER (STR_START + 83) - -#define SCSTR_50_APPLICATION (STR_START + 84) -#define SCSTR_50_LONG_DOCNAME (STR_START + 85) -#define SCSTR_CHG_PROTECT (STR_START + 86) -#define SCSTR_CHG_UNPROTECT (STR_START + 87) - -#define STR_CAPTION_DEFAULT_TEXT (STR_START + 88) - -// dialog: select sheets -#define STR_DLG_SELECTTABLES_TITLE (STR_START + 89) -#define STR_DLG_SELECTTABLES_LBNAME (STR_START + 90) - -// replace cell contents warning -#define STR_REPLCELLSWARN (STR_START + 91) - -#define SCSTR_DPFUNCLISTBOX (STR_START + 92) -#define SCSTR_ALLFILTER (STR_START + 94) -#define SCSTR_MOREBTN_MOREOPTIONS (STR_START + 95) -#define SCSTR_MOREBTN_FEWEROPTIONS (STR_START + 96) - -// items - -#define SCSTR_HOR_JUSTIFY_LEFT (STR_START + 100) -#define SCSTR_HOR_JUSTIFY_CENTER (STR_START + 101) -#define SCSTR_HOR_JUSTIFY_RIGHT (STR_START + 102) -#define SCSTR_HOR_JUSTIFY_BLOCK (STR_START + 103) -#define SCSTR_HOR_JUSTIFY_REPEAT (STR_START + 104) -#define SCSTR_HOR_JUSTIFY_STANDARD (STR_START + 105) -#define SCSTR_VER_JUSTIFY_TOP (STR_START + 106) -#define SCSTR_VER_JUSTIFY_CENTER (STR_START + 107) -#define SCSTR_VER_JUSTIFY_BOTTOM (STR_START + 108) -#define SCSTR_VER_JUSTIFY_STANDARD (STR_START + 109) -#define SCSTR_ORIENTATION_TOPBOTTOM (STR_START + 110) -#define SCSTR_ORIENTATION_BOTTOMTOP (STR_START + 111) -#define SCSTR_ORIENTATION_STANDARD (STR_START + 112) - -// accessibility - -// CSV import -#define STR_ACC_CSVRULER_NAME (STR_START + 150) -#define STR_ACC_CSVRULER_DESCR (STR_START + 151) -#define STR_ACC_CSVGRID_NAME (STR_START + 152) -#define STR_ACC_CSVGRID_DESCR (STR_START + 153) - -// document -#define STR_ACC_DOC_NAME (STR_START + 154) -#define STR_ACC_DOC_DESCR (STR_START + 155) -#define STR_ACC_TABLE_NAME (STR_START + 156) -#define STR_ACC_TABLE_DESCR (STR_START + 157) -#define STR_ACC_CELL_NAME (STR_START + 158) -#define STR_ACC_CELL_DESCR (STR_START + 159) - -// preview -#define STR_ACC_PREVIEWDOC_NAME (STR_START + 160) -#define STR_ACC_PREVIEWDOC_DESCR (STR_START + 161) -#define STR_ACC_HEADERCELL_NAME (STR_START + 162) -#define STR_ACC_HEADERCELL_DESCR (STR_START + 163) -#define STR_ACC_LEFTAREA_NAME (STR_START + 164) -#define STR_ACC_LEFTAREA_DESCR (STR_START + 165) -#define STR_ACC_CENTERAREA_NAME (STR_START + 166) -#define STR_ACC_CENTERAREA_DESCR (STR_START + 167) -#define STR_ACC_RIGHTAREA_NAME (STR_START + 168) -#define STR_ACC_RIGHTAREA_DESCR (STR_START + 169) -#define STR_ACC_HEADER_NAME (STR_START + 170) -#define STR_ACC_HEADER_DESCR (STR_START + 171) -#define STR_ACC_FOOTER_NAME (STR_START + 172) -#define STR_ACC_FOOTER_DESCR (STR_START + 173) - -// Editline -#define STR_ACC_EDITLINE_NAME (STR_START + 174) -#define STR_ACC_EDITLINE_DESCR (STR_START + 175) - -// EditCell -#define STR_ACC_EDITCELL_NAME (STR_START + 176) -#define STR_ACC_EDITCELL_DESCR (STR_START + 177) - -// DataPilot -#define STR_ACC_DATAPILOT_ROW_DESCR (STR_START + 178) -#define STR_ACC_DATAPILOT_COL_DESCR (STR_START + 179) -#define STR_ACC_DATAPILOT_DATA_DESCR (STR_START + 180) -#define STR_ACC_DATAPILOT_SEL_DESCR (STR_START + 181) -#define STR_ACC_DATAPILOT_PAGE_DESCR (STR_START + 182) - -// IAccessibility2 Implementation 2009 -#define STR_ACC_TOOLBAR_FORMULA (STR_START + 184) -#define STR_ACC_DOC_SPREADSHEET (STR_START + 185) -#define STR_ACC_DOC_PREVIEW_SUFFIX (STR_START + 186) -#define STR_ACC_DOC_SPREADSHEET_READONLY (STR_START + 187) - -#define SCSTR_HUMAN_SCDOC_NAME (STR_START + 210) -#define SCSTR_SHORT_SCDOC_NAME (STR_START + 211) -#define SCSTR_LONG_SCDOC_NAME (STR_START + 212) - -#define SCSTR_CLPBRD_CLEAR (STR_START + 213) - -#define SCSTR_FORMULA_AUTOCORRECTION (STR_START + 214) - -#define SCSTR_RENAMEOBJECT (STR_START + 215) -#define SCSTR_PRINT_OPTIONS (STR_START + 216) -#define SCSTR_WARN_ME_IN_FUTURE_CHECK (STR_START + 217) - -// navigator - in the same order as SC_CONTENT_... -#define SCSTR_CONTENT_ROOT (STR_START + 250) -#define SCSTR_CONTENT_TABLE (STR_START + 251) -#define SCSTR_CONTENT_RANGENAME (STR_START + 252) -#define SCSTR_CONTENT_DBAREA (STR_START + 253) -#define SCSTR_CONTENT_GRAPHIC (STR_START + 254) -#define SCSTR_CONTENT_OLEOBJECT (STR_START + 255) -#define SCSTR_CONTENT_NOTE (STR_START + 256) -#define SCSTR_CONTENT_AREALINK (STR_START + 257) -#define SCSTR_CONTENT_DRAWING (STR_START + 258) -// some space for extensions - -// input, quickhelp strings (HelpText now using HelpId from help) -#define SCSTR_QHELP_INPUTWND (STR_START + 307) -#define SCSTR_QHELP_POSWND (STR_START + 308) -#define SCSTR_QHELP_BTNCALC (STR_START + 309) -#define SCSTR_QHELP_BTNOK (STR_START + 310) -#define SCSTR_QHELP_BTNCANCEL (STR_START + 311) -#define SCSTR_QHELP_BTNSUM (STR_START + 312) -#define SCSTR_QHELP_BTNEQUAL (STR_START + 313) - -// validator -#define SCSTR_VALID_MINIMUM (STR_START + 314) -#define SCSTR_VALID_MAXIMUM (STR_START + 315) -#define SCSTR_VALID_VALUE (STR_START + 316) -#define SCSTR_VALID_RANGE (STR_START + 317) -#define SCSTR_VALID_LIST (STR_START + 318) - -// formulator -#define SCSTR_FUDB (STR_START + 389) -#define SCSTR_FUDATE (STR_START + 390) -#define SCSTR_FUFIN (STR_START + 391) -#define SCSTR_FUINFO (STR_START + 392) -#define SCSTR_FULOG (STR_START + 393) -#define SCSTR_FUMATHS (STR_START + 394) -#define SCSTR_FUSTAT (STR_START + 395) -#define SCSTR_FUTAB (STR_START + 396) -#define SCSTR_FUTEXT (STR_START + 397) - -#define SCSTR_COMPILER_STRINGS (STR_START + 398) -#define SCSTR_FILTER_STRINGS (STR_START + 399) -#define SCSTR_COMPILER_INTL_STR (STR_START + 400) - -// media shell -#define SCSTR_MEDIASHELL (STR_START + 401) - -#define RID_SCSTR_ONCLICK (STR_START + 402) - -#define SCSTR_SET_TAB_BG_COLOR (STR_START + 403) -#define SCSTR_NO_TAB_BG_COLOR (STR_START + 404) -#define SCSTR_DDEDOC_NOT_LOADED (STR_START + 405) -#define SCSTR_EXTDOC_NOT_LOADED (STR_START + 406) - - -#define STR_END (SCSTR_EXTDOC_NOT_LOADED) - -#define BMP_START (STR_END) - -// navigator -#define RID_IMG_DROP_URL (BMP_START + 2) -#define RID_IMG_DROP_LINK (BMP_START + 3) -#define RID_IMG_DROP_COPY (BMP_START + 4) -#define RID_IMG_SELECT_CURRENT (BMP_START + 8) -#define RID_IMG_UNSELECT_CURRENT (BMP_START + 9) - -#define RID_SCPTR_PIVOTCOL (BMP_START + 81) -#define RID_SCPTR_PIVOTROW (BMP_START + 82) -#define RID_SCPTR_DETECTIVE (BMP_START + 83) -#define RID_SCPTR_CHART (BMP_START + 84) - -#define RID_SCICN_DOCUMENT (BMP_START + 95) -#define RID_SCICN_TEMPLATE (BMP_START + 96) -#define RID_SCICN_SC10DOC (BMP_START + 97) - -#define BMP_END (BMP_START + 100) - -#define SC_DIALOGS_START (BMP_END) -#define RID_SCDLG_ATTR (SC_DIALOGS_START) -#define RID_SCPAGE_NUMBER (SC_DIALOGS_START + 1) -#define RID_SCPAGE_ALIGNMENT (SC_DIALOGS_START + 2) -#define RID_SCPAGE_PROTECTION (SC_DIALOGS_START + 3) -#define RID_SCDLG_SORT (SC_DIALOGS_START + 5) -#define RID_SCPAGE_SORT_FIELDS (SC_DIALOGS_START + 6) -#define RID_SCPAGE_SORT_OPTIONS (SC_DIALOGS_START + 7) -#define RID_SCDLG_FILTER (SC_DIALOGS_START + 8) -#define RID_SCDLG_SPEC_FILTER (SC_DIALOGS_START + 9) -#define RID_SCMISCDLGS (SC_DIALOGS_START + 10) -#define RID_SCDLG_DELCELL (SC_DIALOGS_START + 11) -#define RID_SCDLG_INSCELL (SC_DIALOGS_START + 12) -#define RID_SCDLG_DELCONT (SC_DIALOGS_START + 13) -#define RID_SCDLG_INSCONT (SC_DIALOGS_START + 14) -#define RID_SCDLG_MOVETAB (SC_DIALOGS_START + 15) -#define RID_SCDLG_STRINPUT (SC_DIALOGS_START + 16) -#define RID_SCDLG_MTRINPUT (SC_DIALOGS_START + 17) -#define RID_SCDLG_SELENTRY (SC_DIALOGS_START + 18) -#define RID_SCDLG_FILLSERIES (SC_DIALOGS_START + 19) -#define RID_SCDLG_AUTOFORMAT (SC_DIALOGS_START + 20) -#define RID_SCDLG_GROUP (SC_DIALOGS_START + 21) -#define RID_SCDLG_NAMES (SC_DIALOGS_START + 22) -#define RID_SCDLG_DBNAMES (SC_DIALOGS_START + 23) -#define RID_SCDLG_PRINTOPTIONS (SC_DIALOGS_START + 24) -#define RID_SCPAGE_PRINTOPTIONS (SC_DIALOGS_START + 25) -#define RID_SCDLG_SOLVER (SC_DIALOGS_START + 26) -#define RID_SCDLG_SUBTOTALS (SC_DIALOGS_START + 27) -#define RID_SUBTBASE (SC_DIALOGS_START + 28) -#define RID_SCPAGE_SUBT_OPTIONS (SC_DIALOGS_START + 29) -#define RID_SCDLG_OPTIONS (SC_DIALOGS_START + 30) -#define RID_SCPAGE_USERLISTS (SC_DIALOGS_START + 31) -#define RID_SCDLG_PIVOTFILTER (SC_DIALOGS_START + 33) -#define RID_SCDLG_PIVOT_LAYOUT (SC_DIALOGS_START + 34) -#define RID_SCDLG_CONSOLIDATE (SC_DIALOGS_START + 35) -#define RID_SCTBXWND_SCENARIO (SC_DIALOGS_START + 36) -#define RID_SCDLG_FORMULATOR (SC_DIALOGS_START + 37) -#define RID_SCDLG_PIVOTSUBT (SC_DIALOGS_START + 38) -#define RID_SCDLG_NEWSCENARIO (SC_DIALOGS_START + 39) -#define RID_SCDLG_FORMULA (SC_DIALOGS_START + 40) -#define RID_SCDLG_ARGUMENTS (SC_DIALOGS_START + 41) -#define RID_SCDLG_INSERT_TABLE (SC_DIALOGS_START + 42) -#define RID_SCPAGE_TABLE (SC_DIALOGS_START + 43) -#define RID_SCPAGE_AREAS (SC_DIALOGS_START + 44) -#define RID_SCDLG_STYLES_START (SC_DIALOGS_START + 45) -#define RID_SCDLG_STYLES_CHAR (SC_DIALOGS_START + 45) -#define RID_SCDLG_STYLES_PAR (SC_DIALOGS_START + 46) -#define RID_SCDLG_STYLES_FRAME (SC_DIALOGS_START + 47) -#define RID_SCDLG_STYLES_PAGE (SC_DIALOGS_START + 48) -#define RID_SCDLG_STYLES_END (SC_DIALOGS_START + 48) -#define RID_HFBASE (SC_DIALOGS_START + 49) -#define RID_SCDLG_HFEDIT (SC_DIALOGS_START + 50) -#define RID_SCDLG_HFEDIT_ALL (SC_DIALOGS_START + 51) -#define RID_SCDLG_HFED_HEADER (SC_DIALOGS_START + 52) -#define RID_SCDLG_HFED_FOOTER (SC_DIALOGS_START + 53) -#define RID_SCBTN_HFEDIT (SC_DIALOGS_START + 54) -#define RID_SCPAGE_VIEW (SC_DIALOGS_START + 55) -#define RID_SCPAGE_CALC (SC_DIALOGS_START + 56) -#define RID_SCDLG_NAVIGATOR (SC_DIALOGS_START + 57) -#define RID_SCDLG_TABOP (SC_DIALOGS_START + 58) -#define RID_SCDLG_IMPORTOPT (SC_DIALOGS_START + 59) -#define RID_POPUP_ROWHEADER (SC_DIALOGS_START + 60) -#define RID_POPUP_COLHEADER (SC_DIALOGS_START + 61) -#define RID_SCDLG_HFEDIT_SHDR (SC_DIALOGS_START + 62) -#define RID_SCDLG_HFEDIT_SFTR (SC_DIALOGS_START + 63) -#define RID_SCDLG_HFEDIT_LEFTHEADER (SC_DIALOGS_START + 64) -#define RID_SCDLG_HFEDIT_RIGHTHEADER (SC_DIALOGS_START + 65) -#define RID_SCDLG_HFEDIT_LEFTFOOTER (SC_DIALOGS_START + 66) -#define RID_SCDLG_HFEDIT_RIGHTFOOTER (SC_DIALOGS_START + 67) -#define RID_SCDLG_HFEDIT_HEADER (SC_DIALOGS_START + 68) -#define RID_SCDLG_HFEDIT_FOOTER (SC_DIALOGS_START + 69) -#define RID_SCPAGE_PRINT (SC_DIALOGS_START + 70) -#define RID_SCDLG_COLORROW (SC_DIALOGS_START + 71) -#define RID_SCDLG_NAMES_PASTE (SC_DIALOGS_START + 72) -#define RID_SCDLG_NAMES_CREATE (SC_DIALOGS_START + 73) -#define RID_SCDLG_NAMES_APPLY (SC_DIALOGS_START + 74) //NYI - -#define RID_SCDLG_CHAR (SC_DIALOGS_START + 76) -#define RID_SCDLG_PARAGRAPH (SC_DIALOGS_START + 77) - -#define RID_SCPAGE_STAT (SC_DIALOGS_START + 79) -#define RID_SCDLG_CHARTCOLROW (SC_DIALOGS_START + 80) -#define RID_SCDLG_AREAS (SC_DIALOGS_START + 81) - -#define RID_SCDLG_EDITCHAR (SC_DIALOGS_START + 82) - -// popup for statusbar controller -#define RID_POPUP_SUMCTL (SC_DIALOGS_START + 83) -#define RID_SUMCTL_SUM (SC_DIALOGS_START + 84) -#define RID_SUMCTL_MIN (SC_DIALOGS_START + 85) -#define RID_SUMCTL_MAX (SC_DIALOGS_START + 86) -#define RID_SUMCTL_COUNT (SC_DIALOGS_START + 87) -#define RID_SUMCTL_COUNT2 (SC_DIALOGS_START + 88) -#define RID_SUMCTL_AVG (SC_DIALOGS_START + 89) -#define RID_SUMCTL_NONE (SC_DIALOGS_START + 90) - -#define RID_SCDLG_ASCII (SC_DIALOGS_START + 91) - -// popup for drop-mode in navigator -#define RID_POPUP_DROPMODE (SC_DIALOGS_START + 92) -#define RID_DROPMODE_URL (SC_DIALOGS_START + 93) -#define RID_DROPMODE_LINK (SC_DIALOGS_START + 94) -#define RID_DROPMODE_COPY (SC_DIALOGS_START + 95) -#define RID_SCDLG_CONDFORMAT (SC_DIALOGS_START + 96) - -#define RID_SCPAGE_SUBT_GROUP1 (SC_DIALOGS_START + 97) -#define RID_SCPAGE_SUBT_GROUP2 (SC_DIALOGS_START + 98) -#define RID_SCPAGE_SUBT_GROUP3 (SC_DIALOGS_START + 99) - -#define RID_SCPAGE_HFED_HL (SC_DIALOGS_START + 100) -#define RID_SCPAGE_HFED_HR (SC_DIALOGS_START + 101) -#define RID_SCPAGE_HFED_FL (SC_DIALOGS_START + 102) -#define RID_SCPAGE_HFED_FR (SC_DIALOGS_START + 103) - -// derivations from RID_SCDLG_MTRINPUT -#define RID_SCDLG_COL_MAN (SC_DIALOGS_START + 104) -#define RID_SCDLG_COL_OPT (SC_DIALOGS_START + 105) -#define RID_SCDLG_ROW_MAN (SC_DIALOGS_START + 106) -#define RID_SCDLG_ROW_OPT (SC_DIALOGS_START + 107) - -// derivations from RID_SCDLG_SELENTRY -#define RID_SCDLG_SELECTDB (SC_DIALOGS_START + 108) -#define RID_SCDLG_SHOW_TAB (SC_DIALOGS_START + 109) - -// derivations from RID_SCDLG_GROUP -#define RID_SCDLG_GRP_MAKE (SC_DIALOGS_START + 110) -#define RID_SCDLG_GRP_KILL (SC_DIALOGS_START + 111) - -#define RID_SCDLG_COLROWNAMERANGES (SC_DIALOGS_START + 112) - -#define RID_SCPAGE_CONTENT (SC_DIALOGS_START + 113) -#define RID_SCPAGE_LAYOUT (SC_DIALOGS_START + 114) -#define RID_SCPAGE_INPUT (SC_DIALOGS_START + 115) - -#define RID_SCTAB_PARAMETER (SC_DIALOGS_START + 116) -#define RID_SCTAB_FUNCTION (SC_DIALOGS_START + 117) -#define RID_SCTAB_STRUCT (SC_DIALOGS_START + 118) - -#define RID_SCDLG_CHANGES (SC_DIALOGS_START + 119) - -#define RID_POPUP_NAVIPI_SCENARIO (SC_DIALOGS_START + 120) -#define RID_NAVIPI_SCENARIO_DELETE (SC_DIALOGS_START + 121) -#define RID_NAVIPI_SCENARIO_EDIT (SC_DIALOGS_START + 122) - -#define RID_SCDLG_HIGHLIGHT_CHANGES (SC_DIALOGS_START + 123) -#define RID_SCPAGE_OPREDLINE (SC_DIALOGS_START + 124) - -#define RID_SCDLG_SIMPLEREF (SC_DIALOGS_START + 125) -#define WID_SIMPLE_REF (SC_DIALOGS_START + 126) -#define RID_POPUP_CHANGES (SC_DIALOGS_START + 127) -#define RID_SCPAGE_OPTLOAD (SC_DIALOGS_START + 128) - -#define RID_SCDLG_DAPITYPE (SC_DIALOGS_START + 129) -#define RID_SCDLG_DAPISERVICE (SC_DIALOGS_START + 130) -#define RID_SCDLG_DAPIDATA (SC_DIALOGS_START + 131) - -#define RID_SCDLG_LINKAREA (SC_DIALOGS_START + 132) -#define RID_SCDLG_DPDATAFIELD (SC_DIALOGS_START + 133) -#define RID_SCDLG_DPSUBTOTAL_OPT (SC_DIALOGS_START + 134) -#define RID_SCDLG_DPNUMGROUP (SC_DIALOGS_START + 135) -#define RID_SCDLG_DPDATEGROUP (SC_DIALOGS_START + 136) -#define RID_SCDLG_DPSHOWDETAIL (SC_DIALOGS_START + 137) -#define RID_SCDLG_OPTSOLVER (SC_DIALOGS_START + 138) -#define RID_SCDLG_SOLVEROPTIONS (SC_DIALOGS_START + 139) -#define RID_SCDLG_SOLVER_INTEGER (SC_DIALOGS_START + 140) -#define RID_SCDLG_SOLVER_DOUBLE (SC_DIALOGS_START + 141) -#define RID_SCDLG_SOLVER_PROGRESS (SC_DIALOGS_START + 142) -#define RID_SCDLG_SOLVER_NOSOLUTION (SC_DIALOGS_START + 143) -#define RID_SCDLG_SOLVER_SUCCESS (SC_DIALOGS_START + 144) - -#define RID_SCDLG_CONFLICTS (SC_DIALOGS_START + 145) -#define RID_SCDLG_SHAREDOCUMENT (SC_DIALOGS_START + 146) -#define RID_SCDLG_SORT_WARNING (SC_DIALOGS_START + 147) -#define RID_SCDLG_TABPROTECTION (SC_DIALOGS_START + 148) -#define RID_SCDLG_DOCPROTECTION (SC_DIALOGS_START + 149) -#define RID_SCDLG_RETYPEPASS (SC_DIALOGS_START + 150) -#define RID_SCDLG_RETYPEPASS_INPUT (SC_DIALOGS_START + 151) -#define RID_SCDLG_TEXT_IMPORT_OPTIONS (SC_DIALOGS_START + 152) -#define RID_POPUP_FILTER (SC_DIALOGS_START + 153) -#define RID_SCDLG_TAB_BG_COLOR (SC_DIALOGS_START + 154) - -#define SC_DIALOGS_END (SC_DIALOGS_START + 155) - -#ifndef STD_MASKCOLOR -#define STD_MASKCOLOR Color { Red = 0xFF00; Green = 0x0000; Blue = 0xFF00; } -#endif - -#define MID_1 1 -#define MID_2 2 -#define MID_3 3 -#define MID_4 4 - -// ooo-build specific resources - -#define SC_OOO_BUILD_START (SC_DIALOGS_END) - -// toggle sheet grid -#define FID_TAB_TOGGLE_GRID (SC_OOO_BUILD_START + 1) - -// formula options page -#define RID_SCPAGE_FORMULA (SC_OOO_BUILD_START + 2) - -// insert current date and time to cell via command -#define SID_INSERT_CURRENT_DATE (SC_OOO_BUILD_START + 4) -#define SID_INSERT_CURRENT_TIME (SC_OOO_BUILD_START + 5) - -// data Form -#define SID_DATAFORM_NEW (SC_OOO_BUILD_START + 6) // message -#define SID_DATA_FORM (SC_OOO_BUILD_START + 7) // menu (in Data menu) -#define RID_SCDLG_DATAFORM (SC_OOO_BUILD_START + 8) // dialog - -// compatibility options page -#define RID_SCPAGE_COMPATIBILITY (SC_OOO_BUILD_START + 9) - -// init option page -#define RID_SCPAGE_DEFAULTS (SC_OOO_BUILD_START + 10) - -#endif - diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx deleted file mode 100644 index 874a13005..000000000 --- a/sc/inc/scabstdlg.hxx +++ /dev/null @@ -1,516 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _SC_ABSTDLG_HXX -#define _SC_ABSTDLG_HXX - -// include --------------------------------------------------------------- - -#include <tools/solar.h> -#include <tools/string.hxx> -#include <sfx2/sfxdlg.hxx> -#include <vcl/syswin.hxx> -#include <com/sun/star/uno/Sequence.hxx> -#include <vcl/field.hxx> -#include "sc.hrc" -#include "global.hxx" -#include "pivot.hxx" -#include "i18npool/lang.h" - -#include <tabvwsh.hxx> - -class ScAsciiOptions; -class ScAutoFormat; -class ScAutoFormatData; -class ScDocument; -struct ScImportSourceDesc; -class ScViewData; -class ScRangeName; -class ScQueryItem; -class ScImportOptions; -class SfxStyleSheetBase; -class ScDPObject; -struct ScDPFuncData; -struct ScDPNumGroupInfo; -class ScTabViewShell; - -namespace com { namespace sun { namespace star { namespace sheet { - struct DataPilotFieldReference; -} } } } - -class AbstractScImportAsciiDlg : public VclAbstractDialog //add for ScImportAsciiDlg -{ -public: - virtual void GetOptions( ScAsciiOptions& rOpt ) = 0; - virtual void SetTextToColumnsMode() = 0; - virtual void SaveParameters() = 0; -}; - - -class AbstractScAutoFormatDlg : public VclAbstractDialog //add for ScAutoFormatDlg -{ -public: - virtual sal_uInt16 GetIndex() const = 0 ; - virtual String GetCurrFormatName() = 0; -}; - -class AbstractScColRowLabelDlg : public VclAbstractDialog //add for ScColRowLabelDlg -{ -public: - virtual sal_Bool IsCol() = 0; - virtual sal_Bool IsRow() = 0; -}; - -class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog //add for ScDataPilotDatabaseDlg -{ -public: - virtual void GetValues( ScImportSourceDesc& rDesc ) = 0; -}; - -class AbstractScDataPilotSourceTypeDlg : public VclAbstractDialog //add for ScDataPilotSourceTypeDlg -{ -public: - virtual bool IsDatabase() const = 0; - virtual bool IsExternal() const = 0; - virtual bool IsNamedRange() const = 0; - virtual rtl::OUString GetSelectedNamedRange() const = 0; - virtual void AppendNamedRange(const ::rtl::OUString& rName) = 0; -}; - -class AbstractScDataPilotServiceDlg : public VclAbstractDialog //add for ScDataPilotServiceDlg -{ -public: - virtual String GetServiceName() const = 0; - virtual String GetParSource() const = 0 ; - virtual String GetParName() const = 0 ; - virtual String GetParUser() const = 0; - virtual String GetParPass() const = 0; -}; - -class AbstractScDeleteCellDlg : public VclAbstractDialog //add for ScDeleteCellDlg -{ -public: - virtual DelCellCmd GetDelCellCmd() const = 0; -}; - -//for dataform -class AbstractScDataFormDlg : public VclAbstractDialog //add for ScDeleteCellDlg -{ - -}; - -class AbstractScDeleteContentsDlg: public VclAbstractDialog //add for ScDeleteContentsDlg -{ -public: - virtual void DisableObjects() = 0 ; - virtual sal_uInt16 GetDelContentsCmdBits() const = 0; -}; - -class AbstractScFillSeriesDlg: public VclAbstractDialog //add for ScFillSeriesDlg -{ -public: - virtual FillDir GetFillDir() const = 0; - virtual FillCmd GetFillCmd() const = 0; - virtual FillDateCmd GetFillDateCmd() const = 0; - virtual double GetStart() const = 0; - virtual double GetStep() const = 0; - virtual double GetMax() const = 0; - virtual String GetStartStr() const = 0; - virtual void SetEdStartValEnabled(sal_Bool bFlag=false) = 0; -}; - -class AbstractScGroupDlg : public VclAbstractDialog //add for ScGroupDlg -{ -public: - virtual sal_Bool GetColsChecked() const = 0; -}; - -class AbstractScInsertCellDlg : public VclAbstractDialog //add for ScInsertCellDlg -{ -public: - virtual InsCellCmd GetInsCellCmd() const = 0; -}; - -class AbstractScInsertContentsDlg : public VclAbstractDialog //add for ScInsertContentsDlg -{ -public: - virtual sal_uInt16 GetInsContentsCmdBits() const = 0; - virtual sal_uInt16 GetFormulaCmdBits() const = 0 ; - virtual sal_Bool IsSkipEmptyCells() const = 0; - virtual sal_Bool IsLink() const = 0; - virtual void SetFillMode( sal_Bool bSet ) = 0; - virtual void SetOtherDoc( sal_Bool bSet ) = 0; - virtual sal_Bool IsTranspose() const = 0; - virtual void SetChangeTrack( sal_Bool bSet ) = 0; - virtual void SetCellShiftDisabled( int nDisable ) = 0; - virtual InsCellCmd GetMoveMode() = 0; -}; - -class AbstractScInsertTableDlg : public VclAbstractDialog //add for ScInsertTableDlg -{ -public: - virtual sal_Bool GetTablesFromFile() = 0; - virtual sal_Bool GetTablesAsLink() = 0; - virtual const String* GetFirstTable( sal_uInt16* pN = NULL ) = 0; - virtual ScDocShell* GetDocShellTables() = 0; - virtual sal_Bool IsTableBefore() = 0; - virtual sal_uInt16 GetTableCount() = 0; - virtual const String* GetNextTable( sal_uInt16* pN = NULL ) = 0; - -}; - -class AbstractScSelEntryDlg : public VclAbstractDialog //add for ScSelEntryDlg -{ -public: - virtual String GetSelectEntry() const = 0; -}; - -class AbstractScLinkedAreaDlg : public VclAbstractDialog2 //add for ScLinkedAreaDlg -{ -public: - virtual void InitFromOldLink( const String& rFile, const String& rFilter, - const String& rOptions, const String& rSource, - sal_uLong nRefresh ) = 0; - virtual String GetURL() = 0; - virtual String GetFilter() = 0; // may be empty - virtual String GetOptions() = 0; // filter options - virtual String GetSource() = 0; // separated by ";" - virtual sal_uLong GetRefresh() = 0; // 0 if disabled -}; - -class AbstractScMetricInputDlg : public VclAbstractDialog //add for ScMetricInputDlg -{ -public: - virtual long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const = 0; -}; - -class AbstractScMoveTableDlg : public VclAbstractDialog //add for ScMoveTableDlg -{ -public: - virtual sal_uInt16 GetSelectedDocument () const = 0; - virtual sal_uInt16 GetSelectedTable () const = 0; - virtual bool GetCopyTable () const = 0; - virtual bool GetRenameTable () const = 0; - virtual void GetTabNameString( String& rString ) const = 0; - virtual void SetForceCopyTable () = 0; - virtual void EnableCopyTable (sal_Bool bFlag=true) = 0; - virtual void EnableRenameTable (sal_Bool bFlag=true) = 0; -}; - -class AbstractScNameCreateDlg : public VclAbstractDialog //add for ScNameCreateDlg -{ -public: - virtual sal_uInt16 GetFlags() const = 0; -}; - -class AbstractScNamePasteDlg : public VclAbstractDialog //add for ScNamePasteDlg -{ -public: - virtual String GetSelectedName() const = 0; -}; - -class AbstractScPivotFilterDlg : public VclAbstractDialog //add for ScPivotFilterDlg -{ -public: - virtual const ScQueryItem& GetOutputItem() = 0; -}; - -class AbstractScDPFunctionDlg : public VclAbstractDialog //add for ScDPFunctionDlg -{ -public: - virtual sal_uInt16 GetFuncMask() const = 0; - virtual ::com::sun::star::sheet::DataPilotFieldReference GetFieldRef() const = 0; -}; - -class AbstractScDPSubtotalDlg : public VclAbstractDialog //add for ScDPSubtotalDlg -{ -public: - virtual sal_uInt16 GetFuncMask() const = 0; - virtual void FillLabelData( ScDPLabelData& rLabelData ) const = 0; -}; - -class AbstractScDPNumGroupDlg : public VclAbstractDialog -{ -public: - virtual ScDPNumGroupInfo GetGroupInfo() const = 0; -}; - -class AbstractScDPDateGroupDlg : public VclAbstractDialog -{ -public: - virtual ScDPNumGroupInfo GetGroupInfo() const = 0; - virtual sal_Int32 GetDatePart() const = 0; -}; - -class AbstractScDPShowDetailDlg : public VclAbstractDialog //add for ScDPShowDetailDlg -{ -public: - virtual String GetDimensionName() const = 0; -}; - -class AbstractScNewScenarioDlg : public VclAbstractDialog //add for ScNewScenarioDlg -{ -public: - - virtual void SetScenarioData( const String& rName, const String& rComment, - const Color& rColor, sal_uInt16 nFlags ) = 0; - - virtual void GetScenarioData( String& rName, String& rComment, - Color& rColor, sal_uInt16& rFlags ) const = 0; -}; - -class AbstractScShowTabDlg : public VclAbstractDialog //add for ScShowTabDlg -{ -public: - virtual void Insert( const String& rString, sal_Bool bSelected ) = 0; - virtual sal_uInt16 GetSelectEntryCount() const = 0; - virtual void SetDescription(const String& rTitle, const String& rFixedText, const rtl::OString& nDlgHelpId, const rtl::OString& nLbHelpId ) = 0; - virtual String GetSelectEntry(sal_uInt16 nPos) const = 0; - virtual sal_uInt16 GetSelectEntryPos(sal_uInt16 nPos) const = 0; -}; - -class AbstractScStringInputDlg : public VclAbstractDialog //add for ScStringInputDlg -{ -public: - virtual void GetInputString( String& rString ) const = 0; -}; - -class AbstractScTabBgColorDlg : public VclAbstractDialog //add for ScTabBgColorDlg -{ -public: - virtual void GetSelectedColor( Color& rColor ) const = 0; -}; - -class AbstractScImportOptionsDlg : public VclAbstractDialog //add for ScImportOptionsDlg -{ -public: - virtual void GetImportOptions( ScImportOptions& rOptions ) const = 0; -}; - -class AbstractScTextImportOptionsDlg : public VclAbstractDialog //add for ScLangChooserDlg -{ -public: - virtual LanguageType GetLanguageType() const = 0; - virtual bool IsDateConversionSet() const = 0; -}; - -//-------Scabstract fractory --------------------------- -class ScAbstractDialogFactory -{ -public: - SC_DLLPUBLIC static ScAbstractDialogFactory* Create(); - - virtual AbstractScImportAsciiDlg * CreateScImportAsciiDlg( Window* pParent, String aDatName, //add for ScImportAsciiDlg - SvStream* pInStream, int nId, - sal_Unicode cSep = '\t') = 0; - - virtual AbstractScTextImportOptionsDlg * CreateScTextImportOptionsDlg( Window* pParent, int nId ) = 0; - - virtual AbstractScAutoFormatDlg * CreateScAutoFormatDlg( Window* pParent, //add for ScAutoFormatDlg - ScAutoFormat* pAutoFormat, - const ScAutoFormatData* pSelFormatData, - ScDocument* pDoc, - int nId) = 0; - virtual AbstractScColRowLabelDlg * CreateScColRowLabelDlg (Window* pParent, //add for ScColRowLabelDlg - int nId, - sal_Bool bCol = false, - sal_Bool bRow = false) = 0; - - virtual VclAbstractDialog * CreateScColOrRowDlg( Window* pParent, //add for ScColOrRowDlg - const String& rStrTitle, - const String& rStrLabel, - int nId, - sal_Bool bColDefault = sal_True ) = 0; - virtual VclAbstractDialog * CreateScSortWarningDlg ( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId ) = 0; //add for ScSortWarningDlg - virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ) = 0; //add for ScDataPilotDatabaseDlg - - virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg ( Window* pParent, sal_Bool bEnableExternal, int nId ) = 0; //add for ScDataPilotSourceTypeDlg - - virtual AbstractScDataPilotServiceDlg * CreateScDataPilotServiceDlg( Window* pParent, //add for ScDataPilotServiceDlg - const com::sun::star::uno::Sequence<rtl::OUString>& rServices, - int nId ) = 0; - - virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg( Window* pParent, int nId, sal_Bool bDisallowCellMove = false ) = 0 ; //add for ScDeleteCellDlg - - //for dataform - virtual AbstractScDataFormDlg * CreateScDataFormDlg( Window* pParent, int nId, ScTabViewShell* pTabViewShell ) = 0 ; //add for ScDataFormDlg - - virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(Window* pParent,int nId, //add for ScDeleteContentsDlg - sal_uInt16 nCheckDefaults = 0 ) = 0; - virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( Window* pParent, //add for ScFillSeriesDlg - ScDocument& rDocument, - FillDir eFillDir, - FillCmd eFillCmd, - FillDateCmd eFillDateCmd, - String aStartStr, - double fStep, - double fMax, - sal_uInt16 nPossDir, - int nId) = 0; - - virtual AbstractScGroupDlg * CreateAbstractScGroupDlg( Window* pParent, //add for ScGroupDlg - sal_uInt16 nResId, - int nId, - sal_Bool bUnGroup = false, - sal_Bool bRows = sal_True ) = 0; - - virtual AbstractScInsertCellDlg * CreateScInsertCellDlg( Window* pParent, //add for ScInsertCellDlg - int nId, - sal_Bool bDisallowCellMove = false ) = 0; - - virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( Window* pParent, //add for ScInsertContentsDlg - int nId, - sal_uInt16 nCheckDefaults = 0, - const String* pStrTitle = NULL ) = 0; - - virtual AbstractScInsertTableDlg * CreateScInsertTableDlg ( Window* pParent, ScViewData& rViewData, //add for ScInsertTableDlg - SCTAB nTabCount, bool bFromFile, int nId) = 0; - - virtual AbstractScSelEntryDlg * CreateScSelEntryDlg ( Window* pParent, // add for ScSelEntryDlg - sal_uInt16 nResId, - const String& aTitle, - const String& aLbTitle, - const std::vector<String> &rEntryList, - int nId ) = 0; - virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg ( Window* pParent, int nId) = 0; //add for ScLinkedAreaDlg - - virtual AbstractScMetricInputDlg * CreateScMetricInputDlg ( Window* pParent, //add for ScMetricInputDlg - sal_uInt16 nResId, // derivative for every dialog! - long nCurrent, - long nDefault, - int nId , - FieldUnit eFUnit = FUNIT_MM, - sal_uInt16 nDecimals = 2, - long nMaximum = 1000, - long nMinimum = 0, - long nFirst = 1, - long nLast = 100 ) = 0; - - virtual AbstractScMoveTableDlg * CreateScMoveTableDlg( Window* pParent, //add for ScMoveTableDlg - const String& rDefault, - int nId ) = 0; - - virtual AbstractScNameCreateDlg * CreateScNameCreateDlg ( Window * pParent, sal_uInt16 nFlags, int nId ) = 0; //add for ScNameCreateDlg - - virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList, //add for ScNamePasteDlg - const ScRangeName* pLocalList, int nId , bool bInsList=true ) = 0; - - virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg ( Window* pParent, //add for ScPivotFilterDlg - const SfxItemSet& rArgSet, sal_uInt16 nSourceTab , int nId ) = 0; - - virtual AbstractScDPFunctionDlg * CreateScDPFunctionDlg( Window* pParent, int nId, - const ScDPLabelDataVector& rLabelVec, - const ScDPLabelData& rLabelData, - const ScDPFuncData& rFuncData ) = 0; - - virtual AbstractScDPSubtotalDlg * CreateScDPSubtotalDlg( Window* pParent, int nId, - ScDPObject& rDPObj, - const ScDPLabelData& rLabelData, - const ScDPFuncData& rFuncData, - const ScDPNameVec& rDataFields, - bool bEnableLayout ) = 0; - - virtual AbstractScDPNumGroupDlg * CreateScDPNumGroupDlg( Window* pParent, - int nId, - const ScDPNumGroupInfo& rInfo ) = 0; - - virtual AbstractScDPDateGroupDlg * CreateScDPDateGroupDlg( Window* pParent, - int nId, - const ScDPNumGroupInfo& rInfo, - sal_Int32 nDatePart, - const Date& rNullDate ) = 0; - - virtual AbstractScDPShowDetailDlg * CreateScDPShowDetailDlg( Window* pParent, int nId, - ScDPObject& rDPObj, - sal_uInt16 nOrient ) = 0; - - virtual AbstractScNewScenarioDlg * CreateScNewScenarioDlg ( Window* pParent, const String& rName, //add for ScNewScenarioDlg - int nId, - sal_Bool bEdit = false, sal_Bool bSheetProtected = false ) = 0; - virtual AbstractScShowTabDlg * CreateScShowTabDlg ( Window* pParent, int nId ) = 0; //add for ScShowTabDlg - - virtual AbstractScStringInputDlg * CreateScStringInputDlg ( Window* pParent, //add for ScStringInputDlg - const String& rTitle, - const String& rEditTitle, - const String& rDefault, - const rtl::OString& sHelpId, const rtl::OString& sEditHelpId, - int nId ) = 0; - - virtual AbstractScTabBgColorDlg * CreateScTabBgColorDlg ( Window* pParent, //add for ScTabBgColorDlg - const String& rTitle, //Dialog Title - const String& rTabBgColorNoColorText, //Label for no tab color - const Color& rDefaultColor, //Currently selected Color - const rtl::OString& , - int nId ) = 0; - - virtual AbstractScImportOptionsDlg * CreateScImportOptionsDlg ( Window* pParent, //add for ScImportOptionsDlg - int nId, - sal_Bool bAscii = sal_True, - const ScImportOptions* pOptions = NULL, - const String* pStrTitle = NULL, - sal_Bool bMultiByte = false, - sal_Bool bOnlyDbtoolsEncodings = false, - sal_Bool bImport = sal_True ) = 0; - - virtual SfxAbstractTabDialog * CreateScAttrDlg( SfxViewFrame* pFrame, //add for ScAttrDlg - Window* pParent, - const SfxItemSet* pCellAttrs, - int nId) = 0; - - virtual SfxAbstractTabDialog * CreateScHFEditDlg( SfxViewFrame* pFrame, //add for ScHFEditDlg - Window* pParent, - const SfxItemSet& rCoreSet, - const String& rPageStyle, - int nId, - sal_uInt16 nResId = RID_SCDLG_HFEDIT ) = 0; - - virtual SfxAbstractTabDialog * CreateScStyleDlg( Window* pParent,//add for ScStyleDlg - SfxStyleSheetBase& rStyleBase, - sal_uInt16 nRscId, - int nId) = 0; - - virtual SfxAbstractTabDialog * CreateScSubTotalDlg( Window* pParent, //add for ScSubTotalDlg - const SfxItemSet* pArgSet, - int nId) = 0; - - virtual SfxAbstractTabDialog * CreateScCharDlg( Window* pParent, const SfxItemSet* pAttr,//add for ScCharDlg - const SfxObjectShell* pDocShell, int nId ) = 0; - - virtual SfxAbstractTabDialog * CreateScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ,//add for ScParagraphDlg - int nId ) = 0; - - virtual SfxAbstractTabDialog * CreateScValidationDlg( Window* pParent, //add for ScValidationDlg - const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh ) = 0; - virtual SfxAbstractTabDialog * CreateScSortDlg( Window* pParent, //add for ScSortDlg - const SfxItemSet* pArgSet,int nId ) = 0; - // for tabpage - virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0; - virtual GetTabPageRanges GetTabPageRangesFunc( sal_uInt16 nId ) = 0; -}; -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/sccommands.h b/sc/inc/sccommands.h deleted file mode 100644 index 98c261503..000000000 --- a/sc/inc/sccommands.h +++ /dev/null @@ -1,336 +0,0 @@ -/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef SC_SCCOMMANDS_HRC
-#define SC_SCCOMMANDS_HRC
-
-#define CMD_FID_CHG_ACCEPT ".uno:AcceptChanges"
-#define CMD_SID_OLE_ACTIVATE ".uno:ActivateOLE"
-#define CMD_SID_TABLE_ACTIVATE ".uno:ActivateTable"
-#define CMD_SID_SC_ACTIVECELL ".uno:ActiveCell"
-#define CMD_SID_SC_ACTIVETAB ".uno:ActiveTable"
-#define CMD_FID_TAB_APPEND ".uno:Add"
-#define CMD_SID_CHART_ADDSOURCE ".uno:AddChartData"
-#define CMD_SID_ADD_IN_MANAGER ".uno:AddInManager"
-#define CMD_SID_ADD_PRINTAREA ".uno:AddPrintArea"
-#define CMD_SID_RANGE_ADDRESS ".uno:Address"
-#define CMD_FID_ADJUST_PRINTZOOM ".uno:AdjustPrintZoom"
-#define CMD_SID_ALIGNBLOCK ".uno:AlignBlock"
-#define CMD_SID_ALIGNBOTTOM ".uno:AlignBottom"
-#define CMD_SID_ALIGNCENTERHOR ".uno:AlignHorizontalCenter"
-#define CMD_SID_ALIGNLEFT ".uno:AlignLeft"
-#define CMD_SID_ALIGNRIGHT ".uno:AlignRight"
-#define CMD_SID_ALIGNTOP ".uno:AlignTop"
-#define CMD_SID_ALIGNCENTERVER ".uno:AlignVCenter"
-#define CMD_FID_APPLY_NAME ".uno:ApplyNames"
-#define CMD_SID_DETECTIVE_FILLMODE ".uno:AuditingFillMode"
-#define CMD_FID_AUTOCOMPLETE ".uno:AutoComplete"
-#define CMD_FID_FILL_AUTO ".uno:AutoFill"
-#define CMD_FID_AUTO_CALC ".uno:AutomaticCalculation"
-#define CMD_SID_AUTO_OUTLINE ".uno:AutoOutline"
-#define CMD_SID_DETECTIVE_AUTO ".uno:AutoRefreshArrows"
-#define CMD_SID_AUTO_STYLE ".uno:AutoStyle"
-#define CMD_FID_RECALC ".uno:Calculate"
-#define CMD_FID_HARD_RECALC ".uno:CalculateHard"
-#define CMD_SID_CANCEL ".uno:Cancel"
-#define CMD_SID_SC_CELLS ".uno:Cells"
-#define CMD_SID_SC_CELLTEXT ".uno:CellText"
-#define CMD_SID_CHART_SOURCE ".uno:ChangeChartData"
-#define CMD_SID_CHANGE_PRINTAREA ".uno:ChangePrintArea"
-#define CMD_SID_CHOOSE_DESIGN ".uno:ChooseDesign"
-#define CMD_SID_DETECTIVE_DEL_SUCC ".uno:ClearArrowDependents"
-#define CMD_SID_DETECTIVE_DEL_PRED ".uno:ClearArrowPrecedents"
-#define CMD_SID_DETECTIVE_DEL_ALL ".uno:ClearArrows"
-#define CMD_SID_DELETE_CONTENTS ".uno:ClearContents"
-#define CMD_SID_RANGE_COL ".uno:Column"
-#define CMD_FID_COL_WIDTH ".uno:ColumnWidth"
-#define CMD_FID_CHG_COMMENT ".uno:CommentChange"
-#define CMD_FID_CONDITIONAL_FORMAT ".uno:ConditionalFormat"
-#define CMD_SID_OPENDLG_CONDFRMT ".uno:ConditionalFormatDialog"
-#define CMD_SID_CONSOLIDATE ".uno:ConsolidateExec"
-#define CMD_FID_USE_NAME ".uno:CreateNames"
-#define CMD_SID_CREATE_SW_DRAWVIEW ".uno:CreateSWDrawView"
-#define CMD_SID_RANGE_REGION ".uno:CurrentRegion"
-#define CMD_SID_REFRESH_DBAREA ".uno:DataAreaRefresh"
-#define CMD_SID_OPENDLG_CONSOLIDATE ".uno:DataConsolidate"
-#define CMD_SID_OPENDLG_PIVOTTABLE ".uno:DataDataPilotRun"
-#define CMD_SID_AUTO_FILTER ".uno:DataFilterAutoFilter"
-#define CMD_SID_AUTOFILTER_HIDE ".uno:DataFilterHideAutoFilter"
-#define CMD_SID_UNFILTER ".uno:DataFilterRemoveFilter"
-#define CMD_SID_SPECIAL_FILTER ".uno:DataFilterSpecialFilter"
-#define CMD_SID_FILTER ".uno:DataFilterStandardFilter"
-#define CMD_SID_IMPORT_DATA ".uno:DataImport"
-#define CMD_SID_PIVOT_CREATE ".uno:DataPilotCreate"
-#define CMD_SID_PIVOT_TABLE ".uno:DataPilotExec"
-#define CMD_SID_PIVOT_GET ".uno:DataPilotTables"
-#define CMD_SID_REIMPORT_DATA ".uno:DataReImport"
-#define CMD_SID_DATA_SELECT ".uno:DataSelect"
-#define CMD_SID_SORT ".uno:DataSort"
-#define CMD_SID_SUBTOTALS ".uno:DataSubTotals"
-#define CMD_SID_OLE_DEACTIVATE ".uno:Deactivate"
-#define CMD_SID_DEFINE_DBNAME ".uno:DefineDBName"
-#define CMD_SID_DEFINE_COLROWNAMERANGES ".uno:DefineLabelRange"
-#define CMD_FID_DEFINE_NAME ".uno:DefineName"
-#define CMD_SID_DEFINE_PRINTAREA ".uno:DefinePrintArea"
-#define CMD_FID_DELETE_CELL ".uno:DeleteCell"
-#define CMD_FID_DEL_MANUALBREAKS ".uno:DeleteAllBreaks"
-#define CMD_FID_DEL_COLBRK ".uno:DeleteColumnbreak"
-#define CMD_SID_DEL_COLS ".uno:DeleteColumns"
-#define CMD_SID_PIVOT_KILL ".uno:DeletePivotTable"
-#define CMD_SID_DELETE_PRINTAREA ".uno:DeletePrintArea"
-#define CMD_FID_DEL_ROWBRK ".uno:DeleteRowbreak"
-#define CMD_SID_DEL_ROWS ".uno:DeleteRows"
-#define CMD_SID_DELETE_SCENARIO ".uno:DeleteScenario"
-#define CMD_SID_SELECT_NONE ".uno:Deselect"
-#define CMD_SID_DRAW_CHART ".uno:DrawChart"
-#define CMD_SID_DRAW_NOTEEDIT ".uno:DrawEditNote"
-#define CMD_SID_HFEDIT ".uno:EditHeaderAndFooter"
-#define CMD_SID_LINKS ".uno:EditLinks"
-#define CMD_SID_SC_EDIT_OBJECT ".uno:EditObject"
-#define CMD_SID_OPENDLG_EDIT_PRINTAREA ".uno:EditPrintArea"
-#define CMD_SID_EDIT_SCENARIO ".uno:EditScenario"
-#define CMD_SID_EURO_CONVERTER ".uno:EuroConverter"
-#define CMD_FID_FILL_TO_BOTTOM ".uno:FillDown"
-#define CMD_FID_FILL_TO_LEFT ".uno:FillLeft"
-#define CMD_SID_FILL_NONE ".uno:FillModeEnd"
-#define CMD_SID_FILL_DEL_PRED ".uno:FillModeRemovePredescessor"
-#define CMD_SID_FILL_DEL_SUCC ".uno:FillModeRemoveSuccessor"
-#define CMD_SID_FILL_SELECT ".uno:FillModeSelect"
-#define CMD_SID_FILL_ADD_PRED ".uno:FillModeTracePredescessor"
-#define CMD_SID_FILL_ADD_SUCC ".uno:FillModeTraceSuccessor"
-#define CMD_FID_FILL_TO_RIGHT ".uno:FillRight"
-#define CMD_FID_FILL_SERIES ".uno:FillSeries"
-#define CMD_FID_FILL_TAB ".uno:FillTable"
-#define CMD_FID_FILL_TO_TOP ".uno:FillUp"
-#define CMD_FID_FILTER_OK ".uno:FilterExecute"
-#define CMD_SID_PREVIEW_FIRST ".uno:FirstPage"
-#define CMD_FID_FOCUS_POSWND ".uno:FocusCellAddress"
-#define CMD_FID_CELL_FORMAT ".uno:FormatCellDialog"
-#define CMD_SID_RANGE_FORMULA ".uno:Formula"
-#define CMD_SID_WINDOW_FIX ".uno:FreezePanes"
-#define CMD_FID_FUNCTION_BOX ".uno:FunctionBox"
-#define CMD_SID_OPENDLG_FUNCTION ".uno:FunctionDialog"
-#define CMD_SID_SOLVE ".uno:GoalSeek"
-#define CMD_SID_OPENDLG_SOLVE ".uno:GoalSeekDialog"
-#define CMD_SID_OPENDLG_OPTSOLVER ".uno:SolverDialog"
-#define CMD_SID_VALIDITY_REFERENCE ".uno:ValidityReference"
-#define CMD_SID_CURSORBLKDOWN ".uno:GoDownToEndOfData"
-#define CMD_SID_CURSORBLKDOWN_SEL ".uno:GoDownToEndOfDataSel"
-#define CMD_SID_CURSORPAGELEFT_ ".uno:GoLeftBlock"
-#define CMD_SID_CURSORBLKLEFT ".uno:GoLeftToStartOfData"
-#define CMD_SID_CURSORBLKLEFT_SEL ".uno:GoLeftToStartOfDataSel"
-#define CMD_SID_CURSORPAGERIGHT_ ".uno:GoRightBlock"
-#define CMD_SID_CURSORPAGERIGHT_SEL ".uno:GoRightBlockSel"
-#define CMD_SID_CURSORBLKRIGHT ".uno:GoRightToEndOfData"
-#define CMD_SID_CURSORBLKRIGHT_SEL ".uno:GoRightToEndOfDataSel"
-#define CMD_SID_CURRENTCELL ".uno:GoToCell"
-#define CMD_SID_ALIGNCURSOR ".uno:GoToCurrentCell"
-#define CMD_SID_CURRENTDOC ".uno:GotoDocument"
-#define CMD_SID_CURRENTOBJECT ".uno:GoToObject"
-#define CMD_SID_CURSORBLKUP ".uno:GoUpToStartOfData"
-#define CMD_SID_CURSORBLKUP_SEL ".uno:GoUpToStartOfDataSel"
-#define CMD_FID_TABLE_HIDE ".uno:Hide"
-#define CMD_FID_COL_HIDE ".uno:HideColumn"
-#define CMD_FID_ROW_HIDE ".uno:HideRow"
-#define CMD_SID_H_ALIGNCELL ".uno:HorizontalAlignment"
-#define CMD_SID_ENABLE_HYPHENATION ".uno:Hyphenate"
-#define CMD_FID_INPUTLINE_BLOCK ".uno:InputLineBlock"
-#define CMD_FID_INPUTLINE_ENTER ".uno:InputLineEnter"
-#define CMD_FID_INPUTLINE_MATRIX ".uno:InputLineMatrix"
-#define CMD_SID_TBXCTL_INSCELLS ".uno:InsCellsCtrl"
-#define CMD_FID_INS_TABLE ".uno:Insert"
-#define CMD_FID_INS_TABLE_EXT ".uno:InsertSheetFromFile"
-#define CMD_FID_INS_CELL ".uno:InsertCell"
-#define CMD_FID_INS_CELLSDOWN ".uno:InsertCellsDown"
-#define CMD_FID_INS_CELLSRIGHT ".uno:InsertCellsRight"
-#define CMD_FID_INS_COLBRK ".uno:InsertColumnBreak"
-#define CMD_FID_INS_COLUMN ".uno:InsertColumns"
-#define CMD_FID_INS_CELL_CONTENTS ".uno:InsertContents"
-#define CMD_SID_TBXCTL_INSERT ".uno:InsertCtrl"
-#define CMD_SID_EXTERNAL_SOURCE ".uno:InsertExternalDataSource"
-#define CMD_FID_INSERT_FILE ".uno:InsertFile"
-#define CMD_SID_INS_FUNCTION ".uno:InsertFunction"
-#define CMD_SID_INSERT_MATRIX ".uno:InsertMatrix"
-#define CMD_FID_INSERT_NAME ".uno:InsertName"
-#define CMD_SID_INSERT_SIMAGE ".uno:InsertObjectStarImage"
-#define CMD_SID_INSERT_SMATH ".uno:InsertObjectStarMath"
-#define CMD_FID_INS_ROWBRK ".uno:InsertRowBreak"
-#define CMD_FID_INS_ROW ".uno:InsertRows"
-#define CMD_SID_TBXCTL_INSOBJ ".uno:InsObjCtrl"
-#define CMD_SID_CURSORENTERDOWN ".uno:JumpToNextCell"
-#define CMD_SID_NEXT_TABLE ".uno:JumpToNextTable"
-#define CMD_SID_NEXT_TABLE_SEL ".uno:JumpToNextTableSel"
-#define CMD_SID_NEXT_UNPROTECT ".uno:JumpToNextUnprotected"
-#define CMD_SID_CURSORENTERUP ".uno:JumpToPreviousCell"
-#define CMD_SID_PREV_UNPROTECT ".uno:JumpToPreviousUnprotected"
-#define CMD_SID_PREV_TABLE ".uno:JumpToPrevTable"
-#define CMD_SID_PREV_TABLE_SEL ".uno:JumpToPrevTableSel"
-#define CMD_SID_CURRENTTAB ".uno:JumpToTable"
-#define CMD_SID_PREVIEW_LAST ".uno:LastPage"
-#define CMD_FID_MERGE_ON ".uno:MergeCells"
-#define CMD_FID_MERGE_TOGGLE ".uno:ToggleMergeCells"
-#define CMD_SID_OBJECT_MIRROR ".uno:Mirror"
-#define CMD_FID_TAB_MOVE ".uno:Move"
-#define CMD_FID_TAB_RENAME ".uno:Name"
-#define CMD_SID_PREVIEW_NEXT ".uno:NextPage"
-#define CMD_SID_RANGE_NOTETEXT ".uno:NoteText"
-#define CMD_FID_NOTE_VISIBLE ".uno:NoteVisible"
-#define CMD_SID_DELETE_NOTE ".uno:DeleteNote"
-#define CMD_SID_NUMBER_FORMAT ".uno:NumberFormat"
-#define CMD_SID_NUMBER_CURRENCY ".uno:NumberFormatCurrency"
-#define CMD_SID_NUMBER_DATE ".uno:NumberFormatDate"
-#define CMD_SID_NUMBER_DECDEC ".uno:NumberFormatDecDecimals"
-#define CMD_SID_NUMBER_TWODEC ".uno:NumberFormatDecimal"
-#define CMD_SID_NUMBER_INCDEC ".uno:NumberFormatIncDecimals"
-#define CMD_SID_NUMBER_PERCENT ".uno:NumberFormatPercent"
-#define CMD_SID_NUMBER_SCIENTIFIC ".uno:NumberFormatScientific"
-#define CMD_SID_NUMBER_STANDARD ".uno:NumberFormatStandard"
-#define CMD_SID_NUMBER_TIME ".uno:NumberFormatTime"
-#define CMD_SID_OBJECT_HEIGHT ".uno:ObjectHeight"
-#define CMD_SID_OBJECT_LEFT ".uno:ObjectLeft"
-#define CMD_SID_MIRROR_HORIZONTAL ".uno:ObjectMirrorHorizontal"
-#define CMD_SID_MIRROR_VERTICAL ".uno:ObjectMirrorVertical"
-#define CMD_SID_OBJECT_TOP ".uno:ObjectTop"
-#define CMD_SID_OBJECT_WIDTH ".uno:ObjectWidth"
-#define CMD_SID_RANGE_OFFSET ".uno:Offset"
-#define CMD_SID_OLE_OBJECT ".uno:OleObject"
-#define CMD_SID_ORIGINALSIZE ".uno:OriginalSize"
-#define CMD_FID_NORMALVIEWMODE ".uno:NormalViewMode"
-#define CMD_FID_PAGEBREAKMODE ".uno:PagebreakMode"
-#define CMD_SID_FORMATPAGE ".uno:PageFormatDialog"
-#define CMD_SID_PREVIEW_PREVIOUS ".uno:PreviousPage"
-#define CMD_FID_PROTECT_TABLE ".uno:Protect"
-#define CMD_SID_CHG_PROTECT ".uno:ProtectTraceChangeMode"
-#define CMD_SID_SC_SETTEXT ".uno:PutCell"
-#define CMD_SID_SC_RANGE ".uno:Range"
-#define CMD_SID_PIVOT_RECALC ".uno:RecalcPivotTable"
-#define CMD_SID_DETECTIVE_REFRESH ".uno:RefreshArrows"
-#define CMD_SID_REIMPORT_AFTER_LOAD ".uno:ReImportAfterLoad"
-#define CMD_FID_DELETE_TABLE ".uno:Remove"
-#define CMD_SID_TITLE_DESCRIPTION_OBJECT ".uno:ObjectTitleDescription"
-#define CMD_SID_RENAME_OBJECT ".uno:RenameObject"
-#define CMD_FID_REPEAT_SEARCH ".uno:RepeatSearch"
-#define CMD_FID_REPLACE ".uno:Replace"
-#define CMD_FID_REPLACE_ALL ".uno:ReplaceAll"
-#define CMD_SID_CELL_FORMAT_RESET ".uno:ResetAttributes"
-#define CMD_FID_RESET_PRINTZOOM ".uno:ResetPrintZoom"
-#define CMD_SID_RANGE_ROW ".uno:Row"
-#define CMD_FID_ROW_HEIGHT ".uno:RowHeight"
-#define CMD_SID_SBA_IMPORT ".uno:SbaImport"
-#define CMD_FID_SCALE ".uno:Scale"
-#define CMD_SID_SCENARIOS ".uno:ScenarioManager"
-#define CMD_FID_SEARCH ".uno:Search"
-#define CMD_FID_SEARCH_ALL ".uno:SearchAll"
-#define CMD_SID_MARKAREA ".uno:SelectArea"
-#define CMD_SID_OLE_SELECT ".uno:SelectOLE"
-#define CMD_SID_SELECT_COL ".uno:SelectColumn"
-#define CMD_SID_MARKDATAAREA ".uno:SelectData"
-#define CMD_SID_SELECT_DB ".uno:SelectDB"
-#define CMD_SID_SC_ACTIVEOBJECT ".uno:SelectedObject"
-#define CMD_SID_ACTIVE_OBJ_NAME ".uno:SelectedObjectName"
-#define CMD_SID_SC_SELECTION ".uno:Selection"
-#define CMD_SID_SELECT_ROW ".uno:SelectRow"
-#define CMD_SID_SELECT_SCENARIO ".uno:SelectScenario"
-#define CMD_SID_ANCHOR_CELL ".uno:SetAnchorToCell"
-#define CMD_SID_ANCHOR_PAGE ".uno:SetAnchorToPage"
-#define CMD_SID_SETINPUTMODE ".uno:SetInputMode"
-#define CMD_FID_COL_OPT_WIDTH ".uno:SetOptimalColumnWidth"
-#define CMD_FID_COL_OPT_DIRECT ".uno:SetOptimalColumnWidthDirect"
-#define CMD_FID_ROW_OPT_HEIGHT ".uno:SetOptimalRowHeight"
-#define CMD_FID_TABLE_SHOW ".uno:Show"
-#define CMD_FID_CHG_SHOW ".uno:ShowChanges"
-#define CMD_FID_COL_SHOW ".uno:ShowColumn"
-#define CMD_SID_DETECTIVE_ADD_SUCC ".uno:ShowDependents"
-#define CMD_SID_DETECTIVE_ADD_ERR ".uno:ShowErrors"
-#define CMD_SID_DETECTIVE_INVALID ".uno:ShowInvalid"
-#define CMD_SID_DETECTIVE_ADD_PRED ".uno:ShowPrecedents"
-#define CMD_FID_ROW_SHOW ".uno:ShowRow"
-#define CMD_WID_SIMPLE_REF ".uno:SimpleReferenz"
-#define CMD_SID_SORT_ASCENDING ".uno:SortAscending"
-#define CMD_SID_SORT_DESCENDING ".uno:SortDescending"
-#define CMD_FID_MERGE_OFF ".uno:SplitCell"
-#define CMD_SID_WINDOW_SPLIT ".uno:SplitWindow"
-#define CMD_SID_STANDARD_FONTS ".uno:StandardFonts"
-#define CMD_SID_TEXT_STANDARD ".uno:StandardTextAttributes"
-#define CMD_SID_PSZ_FUNCTION ".uno:StatusBarFunc"
-#define CMD_SID_STATUS_DOCPOS ".uno:StatusDocPos"
-#define CMD_SID_STATUS_SUM ".uno:StatusFunction"
-#define CMD_FID_INPUTLINE_STATUS ".uno:StatusInputLine"
-#define CMD_SID_STATUS_PAGESTYLE ".uno:StatusPageStyle"
-#define CMD_FID_SCALESTATUS ".uno:StatusScale"
-#define CMD_SID_STATUS_SELMODE ".uno:StatusSelectionMode"
-#define CMD_SID_STATUS_SELMODE_ERG ".uno:StatusSelectionModeExp"
-#define CMD_SID_STATUS_SELMODE_ERW ".uno:StatusSelectionModeExt"
-#define CMD_SID_STATUS_SELMODE_NORM ".uno:StatusSelectionModeNorm"
-#define CMD_SID_RANGE_TABLE ".uno:Table"
-#define CMD_SID_TABLES_COUNT ".uno:TableCount"
-#define CMD_SID_TABOP ".uno:TableOperation"
-#define CMD_SID_OPENDLG_TABOP ".uno:TableOperationDialog"
-#define CMD_FID_TAB_MENU_RENAME ".uno:RenameTable"
-#define CMD_SID_TABLES_GET ".uno:Tables"
-#define CMD_FID_TAB_SELECTALL ".uno:TableSelectAll"
-#define CMD_FID_TAB_DESELECTALL ".uno:TableDeselectAll"
-#define CMD_SID_DRAWTEXT_ATTR_DLG ".uno:TextAttributes"
-#define CMD_SID_ASSIGNMACRO ".uno:AssignMacro"
-#define CMD_SID_TEXT_TO_COLUMNS ".uno:TextToColumns"
-#define CMD_SID_RANGE_TEXTVALUE ".uno:TextValue"
-#define CMD_SID_ANCHOR_TOGGLE ".uno:ToggleAnchorType"
-#define CMD_SID_TOGGLE_REL ".uno:ToggleRelative"
-#define CMD_FID_PROTECT_DOC ".uno:ToolProtectionDocument"
-#define CMD_SID_SCOPTIONS ".uno:ToolsOptions"
-#define CMD_FID_CHG_RECORD ".uno:TraceChangeMode"
-#define CMD_SID_ULINE_VAL_DOTTED ".uno:UnderlineDotted"
-#define CMD_SID_ULINE_VAL_DOUBLE ".uno:UnderlineDouble"
-#define CMD_SID_ULINE_VAL_NONE ".uno:UnderlineNone"
-#define CMD_SID_ULINE_VAL_SINGLE ".uno:UnderlineSingle"
-#define CMD_SID_UPDATECHART ".uno:UpdateChart"
-#define CMD_SID_UPDATETABLINKS ".uno:UpdateTableLinks"
-#define CMD_FID_VALIDATION ".uno:Validation"
-#define CMD_SID_RANGE_VALUE ".uno:Value"
-#define CMD_SID_V_ALIGNCELL ".uno:VerticalAlignment"
-#define CMD_FID_TOGGLEINPUTLINE ".uno:InputLineVisible"
-#define CMD_FID_TOGGLEHEADERS ".uno:ViewRowColumnHeaders"
-#define CMD_FID_TOGGLEFORMULA ".uno:ToggleFormula"
-#define CMD_FID_TOGGLESYNTAX ".uno:ViewValueHighlighting"
-#define CMD_FID_TABLE_VISIBLE ".uno:Visible"
-#define CMD_SID_ATTR_ALIGN_LINEBREAK ".uno:WrapText"
-#define CMD_SID_PREVIEW_ZOOMIN ".uno:ZoomIn"
-#define CMD_SID_PREVIEW_ZOOMOUT ".uno:ZoomOut"
-#define CMD_SID_FOCUS_INPUTLINE ".uno:FocusInputLine"
-#define CMD_SID_PREVIEW_CLOSE ".uno:ClosePreview"
-#define CMD_SID_PREVIEW_MARGIN ".uno:Margins"
-#define CMD_SID_PREVIEW_SCALINGFACTOR ".uno:ScalingFactor"
-#define CMD_SID_SELECT_TABLES ".uno:SelectTables"
-#define CMD_SID_DP_FILTER ".uno:DataPilotFilter"
-#define CMD_SID_SCATTR_PROTECTION ".uno:Protection"
-#define CMD_SID_MARKARRAYFORMULA ".uno:SelectArrayFormula"
-#define CMD_FID_TAB_RTL ".uno:SheetRightToLeft"
-#define CMD_SID_SHARE_DOC ".uno:ShareDocument"
-#define CMD_FID_TAB_EVENTS ".uno:TableEvents"
-#define CMD_FID_TAB_MENU_SET_TAB_BG_COLOR ".uno:SetTabBgColor"
-#define CMD_FID_TAB_SET_TAB_BG_COLOR ".uno:TabBgColor"
-
-#endif
diff --git a/sc/inc/scdll.hxx b/sc/inc/scdll.hxx deleted file mode 100644 index 9439aa1e2..000000000 --- a/sc/inc/scdll.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCDLL_HXX -#define SC_SCDLL_HXX - -class ResMgr; -class SvFactory; -class SotFactory; -class StatusBar; -class SfxMedium; -class SfxFilter; - -#include <sfx2/sfxdefs.hxx> -#include <sfx2/module.hxx> -#include <sfx2/docfac.hxx> - -/** - * This class is a wrapper for a Load-On-Demand-DLL. One instance per - * SfxApplication will be created for the runtime of - * SfxApplication-subclass::Main(). - * - * Remember: Do export this class! It is used by the application. - */ -class ScDLL -{ -public: - // Ctor/Dtor must be linked to the application - ScDLL(); - ~ScDLL(); - - // static-init/exit-code must be linked to the application - static void LibInit(); // called from SfxApplication-subclass::Init() - static void LibExit(); // called from SfxApplication-subclass::Exit() - static void PreExit(); // muss vor LibExit gerufen werden - - // DLL-init/exit-code must be linked to the DLL only - static void Init(); // called directly after loading the DLL - static void Exit(); // called directly befor unloading the DLL - - static sal_uLong DetectFilter( SfxMedium& rMedium, const SfxFilter** ppFilter, - SfxFilterFlags nMust, SfxFilterFlags nDont ); -}; - -#define SC_DLL() ( *(ScModule**) GetAppData(SHL_CALC) ) - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scdllapi.h b/sc/inc/scdllapi.h deleted file mode 100644 index d38db27f7..000000000 --- a/sc/inc/scdllapi.h +++ /dev/null @@ -1,16 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#ifndef INCLUDED_SCDLLAPI_H -#define INCLUDED_SCDLLAPI_H - -#include "sal/types.h" - -#if defined(SC_DLLIMPLEMENTATION) -#define SC_DLLPUBLIC SAL_DLLPUBLIC_EXPORT -#else -#define SC_DLLPUBLIC SAL_DLLPUBLIC_IMPORT -#endif -#define SC_DLLPRIVATE SAL_DLLPRIVATE - -#endif /* INCLUDED_SCDLLAPI_H */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scerrors.hxx b/sc/inc/scerrors.hxx deleted file mode 100644 index b85868c06..000000000 --- a/sc/inc/scerrors.hxx +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SCERRORS_HXX -#define _SCERRORS_HXX - -#include <tools/errcode.hxx> - -// ERRCODE_CLASS_READ - file related, displays "Read-Error" in MsgBox -#define SCERR_IMPORT_CONNECT ( 1 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_OPEN ( 2 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_UNKNOWN ( 3 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_OUTOFMEM ( 4 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_UNKNOWN_WK ( 5 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_FORMAT ( 6 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_NI ( 7 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_UNKNOWN_BIFF ( 8 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_NI_BIFF ( 9 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_FILEPASSWD ( 10 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_INTERNAL ( 11 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_8K_LIMIT ( 12 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_OPEN_FM3 ( 13 | ERRCODE_CLASS_READ | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_WRONG_FM3 ( 14 | ERRCODE_CLASS_READ | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_INFOLOST ( 15 | ERRCODE_CLASS_READ | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_FILE_ROWCOL ( 16 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCERR_IMPORT_FORMAT_ROWCOL ( 17 | ERRCODE_CLASS_READ | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_FILE_ROWCOL ( 18 | ERRCODE_CLASS_READ | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) - -// ERRCODE_CLASS_WRITE - file related, displays "Write-Error" in MsgBox -#define SCERR_EXPORT_CONNECT ( 1 | ERRCODE_CLASS_WRITE | ERRCODE_AREA_SC ) -#define SCERR_EXPORT_DATA ( 2 | ERRCODE_CLASS_WRITE | ERRCODE_AREA_SC ) -#define SCERR_EXPORT_ENCODING ( 3 | ERRCODE_CLASS_WRITE | ERRCODE_AREA_SC ) -#define SCERR_EXPORT_FIELDWIDTH ( 4 | ERRCODE_CLASS_WRITE | ERRCODE_AREA_SC ) -#define SCERR_EXPORT_SQLEXCEPTION ( 5 | ERRCODE_CLASS_WRITE | ERRCODE_AREA_SC ) - -// ERRCODE_CLASS_IMPORT - does not display "Read-Error" in MsgBox -#define SCWARN_IMPORT_RANGE_OVERFLOW ( 1 | ERRCODE_CLASS_IMPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_ROW_OVERFLOW ( 2 | ERRCODE_CLASS_IMPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_COLUMN_OVERFLOW ( 3 | ERRCODE_CLASS_IMPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_IMPORT_SHEET_OVERFLOW ( 4 | ERRCODE_CLASS_IMPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) - -// ERRCODE_CLASS_EXPORT - does not display "Write-Error" in MsgBox -#define SCWARN_EXPORT_NONCONVERTIBLE_CHARS ( 1 | ERRCODE_CLASS_EXPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_EXPORT_ASCII ( 2 | ERRCODE_CLASS_EXPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_EXPORT_MAXROW ( 3 | ERRCODE_CLASS_EXPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) -#define SCWARN_EXPORT_DATALOST ( 4 | ERRCODE_CLASS_EXPORT | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) - -// ERRCODE_CLASS_GENERAL -#define SCWARN_CORE_HARD_RECALC ( 1 | ERRCODE_CLASS_GENERAL | ERRCODE_WARNING_MASK | ERRCODE_AREA_SC ) - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scextopt.hxx b/sc/inc/scextopt.hxx deleted file mode 100644 index b83df5ffb..000000000 --- a/sc/inc/scextopt.hxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SC_SCEXTOPT_HXX -#define SC_SCEXTOPT_HXX - -#include <memory> -#include <tools/gen.hxx> -#include <tools/color.hxx> -#include "global.hxx" -#include "rangelst.hxx" - -/** Extended settings for the document, used in import/export filters. */ -struct ScExtDocSettings -{ - String maGlobCodeName; /// Global codename (VBA module name). - double mfTabBarWidth; /// Width of the tabbar, relative to frame window width (0.0 ... 1.0). - sal_uInt32 mnLinkCnt; /// Recursive counter for loading external documents. - SCTAB mnDisplTab; /// Index of displayed sheet. - - explicit ScExtDocSettings(); -}; - -/** Enumerates possible positions of panes in split sheets. */ -enum ScExtPanePos -{ - SCEXT_PANE_TOPLEFT, /// Single, top, left, or top-left pane. - SCEXT_PANE_TOPRIGHT, /// Right, or top-right pane. - SCEXT_PANE_BOTTOMLEFT, /// Bottom, or bottom-left pane. - SCEXT_PANE_BOTTOMRIGHT /// Bottom-right pane. -}; - -/** Extended settings for a sheet, used in import/export filters. */ -struct ScExtTabSettings -{ - ScRange maUsedArea; /// Used area in the sheet (columns/rows only). - ScRangeList maSelection; /// Selected cell ranges (columns/rows only). - ScAddress maCursor; /// The cursor position (column/row only). - ScAddress maFirstVis; /// Top-left visible cell (column/row only). - ScAddress maSecondVis; /// Top-left visible cell in add. panes (column/row only). - ScAddress maFreezePos; /// Position of frozen panes (column/row only). - Point maSplitPos; /// Position of split. - ScExtPanePos meActivePane; /// Active (focused) pane. - Color maGridColor; /// Grid color. - long mnNormalZoom; /// Zoom in percent for normal view. - long mnPageZoom; /// Zoom in percent for pagebreak preview. - bool mbSelected; /// true = Sheet is selected. - bool mbFrozenPanes; /// true = Frozen panes; false = Normal splits. - bool mbPageMode; /// true = Pagebreak mode; false = Normal view mode. - bool mbShowGrid; /// Whether or not to display gridlines. - - explicit ScExtTabSettings(); -}; - -struct ScExtDocOptionsImpl; - -/** Extended options held by an ScDocument containing additional settings for filters. - - This object is owned by a Calc document. It contains global document settings - (struct ScExtDocSettings), settings for all sheets in the document - (struct ScExtTabSettings), and a list of codenames used for VBA import/export. - */ -class SC_DLLPUBLIC ScExtDocOptions -{ -public: - explicit ScExtDocOptions(); - ScExtDocOptions( const ScExtDocOptions& rSrc ); - ~ScExtDocOptions(); - - ScExtDocOptions& operator=( const ScExtDocOptions& rSrc ); - - /** Returns true, if the data needs to be copied to the view data after import. */ - bool IsChanged() const; - /** If set to true, the data will be copied to the view data after import. */ - void SetChanged( bool bChanged ); - - /** Returns read access to the global document settings. */ - const ScExtDocSettings& GetDocSettings() const; - /** Returns read/write access to the global document settings. */ - ScExtDocSettings& GetDocSettings(); - - /** Returns read access to the settings of a sheet, if extant; otherwise 0. */ - const ScExtTabSettings* GetTabSettings( SCTAB nTab ) const; - /** Returns read/write access to the settings of a sheet, may create a new struct. */ - ScExtTabSettings& GetOrCreateTabSettings( SCTAB nTab ); - - /** Returns the number of sheet codenames. */ - SCTAB GetCodeNameCount() const; - /** Returns the specified codename (empty string = no codename). */ - const String& GetCodeName( SCTAB nTab ) const; - /** Appends a codename for a sheet. */ - void SetCodeName( SCTAB nTab, const String& rCodeName ); - -private: - ::std::auto_ptr< ScExtDocOptionsImpl > mxImpl; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc deleted file mode 100644 index d9a7cfbe9..000000000 --- a/sc/inc/scfuncs.hrc +++ /dev/null @@ -1,42 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include "sc.hrc" - -#define ID_FUNCTION_GRP_DATABASE 1 -#define ID_FUNCTION_GRP_DATETIME 2 -#define ID_FUNCTION_GRP_FINANZ 3 -#define ID_FUNCTION_GRP_INFO 4 -#define ID_FUNCTION_GRP_LOGIC 5 -#define ID_FUNCTION_GRP_MATH 6 -#define ID_FUNCTION_GRP_MATRIX 7 -#define ID_FUNCTION_GRP_STATISTIC 8 -#define ID_FUNCTION_GRP_TABLE 9 -#define ID_FUNCTION_GRP_TEXT 10 -#define ID_FUNCTION_GRP_ADDINS 11 - -#define ID_FUNCTION_OFFSET 90 - diff --git a/sc/inc/scitems.hxx b/sc/inc/scitems.hxx deleted file mode 100644 index 8eb0c8799..000000000 --- a/sc/inc/scitems.hxx +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_ITEMS_HXX -#define SC_ITEMS_HXX - -#include <svx/svxids.hrc> - -// EditEngine is not allowed to define it's own ITEMID's -#define _EEITEMID_HXX - -//-------------------------- -// Item-IDs for UI-MsgPool: -//-------------------------- - -//! shall be moved to the below-1000 range! - -#define MSGPOOL_START 1100 -//-------------------------------------- -#define SCITEM_STRING 1100 -#define SCITEM_SEARCHDATA 1101 -#define SCITEM_SORTDATA 1102 -#define SCITEM_QUERYDATA 1103 -#define SCITEM_SUBTDATA 1104 -#define SCITEM_CONSOLIDATEDATA 1105 -#define SCITEM_PIVOTDATA 1106 -#define SCITEM_SOLVEDATA 1107 -#define SCITEM_USERLIST 1108 -#define SCITEM_PRINTWARN 1109 -//-------------------------------------- -#define MSGPOOL_END 1109 - -//------------------------- -// Item-IDs for attributes: -//------------------------- -#define ATTR_STARTINDEX 100 // begin of attributes - -#define ATTR_PATTERN_START 100 // begin of cell-attribute-pattern - -#define ATTR_FONT 100 // begin of cell-attributes -#define ATTR_FONT_HEIGHT 101 -#define ATTR_FONT_WEIGHT 102 -#define ATTR_FONT_POSTURE 103 -#define ATTR_FONT_UNDERLINE 104 -#define ATTR_FONT_OVERLINE 105 -#define ATTR_FONT_CROSSEDOUT 106 -#define ATTR_FONT_CONTOUR 107 -#define ATTR_FONT_SHADOWED 108 -#define ATTR_FONT_COLOR 109 -#define ATTR_FONT_LANGUAGE 110 -#define ATTR_CJK_FONT 111 -#define ATTR_CJK_FONT_HEIGHT 112 -#define ATTR_CJK_FONT_WEIGHT 113 -#define ATTR_CJK_FONT_POSTURE 114 -#define ATTR_CJK_FONT_LANGUAGE 115 -#define ATTR_CTL_FONT 116 -#define ATTR_CTL_FONT_HEIGHT 117 -#define ATTR_CTL_FONT_WEIGHT 118 -#define ATTR_CTL_FONT_POSTURE 119 -#define ATTR_CTL_FONT_LANGUAGE 120 -#define ATTR_FONT_EMPHASISMARK 121 -#define ATTR_USERDEF 122 // not saved in binary files -#define ATTR_FONT_WORDLINE 123 -#define ATTR_FONT_RELIEF 124 -#define ATTR_HYPHENATE 125 -#define ATTR_SCRIPTSPACE 126 -#define ATTR_HANGPUNCTUATION 127 -#define ATTR_FORBIDDEN_RULES 128 -#define ATTR_HOR_JUSTIFY 129 -#define ATTR_HOR_JUSTIFY_METHOD 130 -#define ATTR_INDENT 131 -#define ATTR_VER_JUSTIFY 132 -#define ATTR_VER_JUSTIFY_METHOD 133 -#define ATTR_STACKED 134 -#define ATTR_ROTATE_VALUE 135 -#define ATTR_ROTATE_MODE 136 -#define ATTR_VERTICAL_ASIAN 137 -#define ATTR_WRITINGDIR 138 -#define ATTR_LINEBREAK 139 -#define ATTR_SHRINKTOFIT 140 -#define ATTR_BORDER_TLBR 141 -#define ATTR_BORDER_BLTR 142 -#define ATTR_MARGIN 143 -#define ATTR_MERGE 144 -#define ATTR_MERGE_FLAG 145 -#define ATTR_VALUE_FORMAT 146 -#define ATTR_LANGUAGE_FORMAT 147 -#define ATTR_BACKGROUND 148 -#define ATTR_PROTECTION 149 -#define ATTR_BORDER 150 -#define ATTR_BORDER_INNER 151 // inside, because of template-EditDialog -#define ATTR_SHADOW 152 -#define ATTR_VALIDDATA 153 -#define ATTR_CONDITIONAL 154 - -#define ATTR_PATTERN_END 154 // end cell-attribute-pattern - -#define ATTR_PATTERN 155 - // page attributes -#define ATTR_LRSPACE 156 // editor: PageDesc-TabPage -#define ATTR_ULSPACE 157 -#define ATTR_PAGE 158 -#define ATTR_PAGE_PAPERTRAY 159 -#define ATTR_PAGE_PAPERBIN 160 -#define ATTR_PAGE_SIZE 161 -#define ATTR_PAGE_MAXSIZE 162 -#define ATTR_PAGE_HORCENTER 163 -#define ATTR_PAGE_VERCENTER 164 - -#define ATTR_PAGE_ON 165 // editor: header/footer-page -#define ATTR_PAGE_DYNAMIC 166 -#define ATTR_PAGE_SHARED 167 - -#define ATTR_PAGE_NOTES 168 // editor: table -#define ATTR_PAGE_GRID 169 -#define ATTR_PAGE_HEADERS 170 -#define ATTR_PAGE_CHARTS 171 -#define ATTR_PAGE_OBJECTS 172 -#define ATTR_PAGE_DRAWINGS 173 -#define ATTR_PAGE_TOPDOWN 174 -#define ATTR_PAGE_SCALE 175 -#define ATTR_PAGE_SCALETOPAGES 176 -#define ATTR_PAGE_FIRSTPAGENO 177 - -#define ATTR_PAGE_PRINTAREA 178 // editor: print areas -#define ATTR_PAGE_REPEATROW 179 -#define ATTR_PAGE_REPEATCOL 180 -#define ATTR_PAGE_PRINTTABLES 181 - -#define ATTR_PAGE_HEADERLEFT 182 // contents of header/ -#define ATTR_PAGE_FOOTERLEFT 183 // footer (left) -#define ATTR_PAGE_HEADERRIGHT 184 // contents of header/ -#define ATTR_PAGE_FOOTERRIGHT 185 // footer (right) -#define ATTR_PAGE_HEADERSET 186 // the corresponding sets -#define ATTR_PAGE_FOOTERSET 187 - -#define ATTR_PAGE_FORMULAS 188 -#define ATTR_PAGE_NULLVALS 189 - -#define ATTR_PAGE_SCALETO 190 // #i8868# scale printout to width/height - -#define ATTR_ENDINDEX ATTR_PAGE_SCALETO // end of pool-range - -//-------------------------------- -// Dummy Slot-IDs for dialogs -//-------------------------------- -#define SID_SCATTR_PAGE_NOTES ATTR_PAGE_NOTES -#define SID_SCATTR_PAGE_GRID ATTR_PAGE_GRID -#define SID_SCATTR_PAGE_HEADERS ATTR_PAGE_HEADERS -#define SID_SCATTR_PAGE_CHARTS ATTR_PAGE_CHARTS -#define SID_SCATTR_PAGE_OBJECTS ATTR_PAGE_OBJECTS -#define SID_SCATTR_PAGE_DRAWINGS ATTR_PAGE_DRAWINGS -#define SID_SCATTR_PAGE_TOPDOWN ATTR_PAGE_TOPDOWN -#define SID_SCATTR_PAGE_SCALE ATTR_PAGE_SCALE -#define SID_SCATTR_PAGE_SCALETOPAGES ATTR_PAGE_SCALETOPAGES -#define SID_SCATTR_PAGE_FIRSTPAGENO ATTR_PAGE_FIRSTPAGENO -#define SID_SCATTR_PAGE_PRINTAREA ATTR_PAGE_PRINTAREA -#define SID_SCATTR_PAGE_REPEATROW ATTR_PAGE_REPEATROW -#define SID_SCATTR_PAGE_REPEATCOL ATTR_PAGE_REPEATCOL -#define SID_SCATTR_PAGE_PRINTTABLES ATTR_PAGE_PRINTTABLES -#define SID_SCATTR_PAGE_HEADERLEFT ATTR_PAGE_HEADERLEFT -#define SID_SCATTR_PAGE_FOOTERLEFT ATTR_PAGE_FOOTERLEFT -#define SID_SCATTR_PAGE_HEADERRIGHT ATTR_PAGE_HEADERRIGHT -#define SID_SCATTR_PAGE_FOOTERRIGHT ATTR_PAGE_FOOTERRIGHT -#define SID_SCATTR_PAGE_FORMULAS ATTR_PAGE_FORMULAS -#define SID_SCATTR_PAGE_NULLVALS ATTR_PAGE_NULLVALS -#define SID_SCATTR_PAGE_SCALETO ATTR_PAGE_SCALETO - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx deleted file mode 100644 index bf695225e..000000000 --- a/sc/inc/scmatrix.hxx +++ /dev/null @@ -1,383 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_MATRIX_HXX -#define SC_MATRIX_HXX - -#include "global.hxx" -#include "types.hxx" -#include "formula/errorcodes.hxx" -#include <tools/string.hxx> -#include "scdllapi.h" - -#include <boost/intrusive_ptr.hpp> - -class SvStream; -class ScInterpreter; -class SvNumberFormatter; -class ScMatrixImpl; - -typedef sal_uInt8 ScMatValType; -const ScMatValType SC_MATVAL_VALUE = 0x00; -const ScMatValType SC_MATVAL_BOOLEAN = 0x01; -const ScMatValType SC_MATVAL_STRING = 0x02; -const ScMatValType SC_MATVAL_EMPTY = SC_MATVAL_STRING | 0x04; // STRING plus flag -const ScMatValType SC_MATVAL_EMPTYPATH = SC_MATVAL_EMPTY | 0x08; // EMPTY plus flag -const ScMatValType SC_MATVAL_NONVALUE = SC_MATVAL_EMPTYPATH; // mask of all non-value bits - -struct ScMatrixValue -{ - union { - double fVal; - const String* pS; - }; - ScMatValType nType; - - /// Only valid if ScMatrix methods indicate so! - const String& GetString() const { return pS ? *pS : EMPTY_STRING; } - - /// Only valid if ScMatrix methods indicate that this is no string! - sal_uInt16 GetError() const { return GetDoubleErrorValue( fVal); } - - /// Only valid if ScMatrix methods indicate that this is a boolean - bool GetBoolean() const { return fVal != 0.0; } - - ScMatrixValue() : fVal(0.0), nType(SC_MATVAL_EMPTY) {} - - ScMatrixValue(const ScMatrixValue& r) : fVal(r.fVal), nType(r.nType) - { - if (nType == SC_MATVAL_STRING) - // This is probably not necessary but just in case... - pS = r.pS; - } - - bool operator== (const ScMatrixValue& r) const - { - if (nType != r.nType) - return false; - - switch (nType) - { - case SC_MATVAL_VALUE: - case SC_MATVAL_BOOLEAN: - return fVal == r.fVal; - break; - default: - ; - } - if (!pS) - return r.pS == NULL; - - return GetString().Equals(r.GetString()); - } - - bool operator!= (const ScMatrixValue& r) const - { - return !operator==(r); - } - - ScMatrixValue& operator= (const ScMatrixValue& r) - { - nType = r.nType; - fVal = r.fVal; - - if (nType == SC_MATVAL_STRING) - // This is probably not necessary but just in case... - pS = r.pS; - - return *this; - } -}; - -/** - * Matrix data type that can store values of mixed types. Each element can - * be one of the following types: numeric, string, boolean, empty, and empty - * path. - * - * This class also supports four different density types: filled zero, - * filled empty, sparse zero, and sparse empty. The filled density type - * allocates memory for every single element at all times, whereas the - * sparse density types allocates memory only for non-default elements. - */ -class SC_DLLPUBLIC ScMatrix -{ - ScMatrixImpl* pImpl; - mutable size_t nRefCnt; // reference count - - // only delete via Delete() - ~ScMatrix(); - - // not implemented, prevent usage - ScMatrix( const ScMatrix& ); - ScMatrix& operator=( const ScMatrix&); - -public: - enum DensityType - { - FILLED_ZERO, - FILLED_EMPTY, - SPARSE_ZERO, - SPARSE_EMPTY - }; - - /** - * When adding all numerical matrix elements for a scalar result such as - * summation, the interpreter wants to separate the first non-zero value - * with the rest of the summed values. - * - * TODO: Find out if we still need to do this. If not, we can re-write - * ScInterpreter::IterateParameters() to make it simpler and remove this - * struct. - */ - struct IterateResult - { - double mfFirst; - double mfRest; - size_t mnCount; - - IterateResult(double fFirst, double fRest, size_t nCount) : - mfFirst(fFirst), mfRest(fRest), mnCount(nCount) {} - - IterateResult(const IterateResult& r) : - mfFirst(r.mfFirst), mfRest(r.mfRest), mnCount(r.mnCount) {} - }; - - /// The maximum number of elements a matrix may have at runtime. - inline static size_t GetElementsMax() - { - // Roughly 125MB in total, divided by 8+1 per element => 14M elements. - const size_t nMemMax = 0x08000000 / (sizeof(ScMatrixValue) + sizeof(ScMatValType)); - // With MAXROWCOUNT==65536 and 128 columns => 8M elements ~72MB. - const size_t nArbitraryLimit = (size_t)MAXROWCOUNT * 128; - // Stuffed with a million rows would limit this to 14 columns. - return nMemMax < nArbitraryLimit ? nMemMax : nArbitraryLimit; - } - - /// Value or boolean. - inline static bool IsValueType( ScMatValType nType ) - { - return nType <= SC_MATVAL_BOOLEAN; - } - - /// Boolean. - inline static bool IsBooleanType( ScMatValType nType ) - { - return nType == SC_MATVAL_BOOLEAN; - } - - /// String, empty or empty path, but not value nor boolean. - inline static bool IsNonValueType( ScMatValType nType ) - { - return (nType & SC_MATVAL_NONVALUE) != 0; - } - - /** String, but not empty or empty path or any other type. - Not named IsStringType to prevent confusion because previously - IsNonValueType was named IsStringType. */ - inline static bool IsRealStringType( ScMatValType nType ) - { - return (nType & SC_MATVAL_NONVALUE) == SC_MATVAL_STRING; - } - - /// Empty, but not empty path or any other type. - inline static bool IsEmptyType( ScMatValType nType ) - { - return (nType & SC_MATVAL_NONVALUE) == SC_MATVAL_EMPTY; - } - - /// Empty path, but not empty or any other type. - inline static bool IsEmptyPathType( ScMatValType nType ) - { - return (nType & SC_MATVAL_NONVALUE) == SC_MATVAL_EMPTYPATH; - } - - ScMatrix( SCSIZE nC, SCSIZE nR, DensityType eType = FILLED_ZERO); - - /** Clone the matrix. */ - ScMatrix* Clone() const; - ScMatrix* Clone( DensityType eType) const; - - /** Clone the matrix if mbCloneIfConst (immutable) is set, otherwise - return _this_ matrix, to be assigned to a ScMatrixRef. */ - ScMatrix* CloneIfConst(); - - /** Set the matrix to (im)mutable for CloneIfConst(), only the interpreter - should do this and know the consequences. */ - void SetImmutable( bool bVal ); - - /** - * Resize the matrix to specified new dimension. - */ - void Resize( SCSIZE nC, SCSIZE nR); - - /** Clone the matrix and extend it to the new size. nNewCols and nNewRows - MUST be at least of the size of the original matrix. */ - ScMatrix* CloneAndExtend( SCSIZE nNewCols, SCSIZE nNewRows, DensityType eType) const; - - inline void IncRef() const - { - ++nRefCnt; - } - inline void DecRef() const - { - --nRefCnt; - if (nRefCnt == 0) - delete this; - } - - DensityType GetDensityType() const; - void SetErrorInterpreter( ScInterpreter* p); - void GetDimensions( SCSIZE& rC, SCSIZE& rR) const; - SCSIZE GetElementCount() const; - bool ValidColRow( SCSIZE nC, SCSIZE nR) const; - SCSIZE CalcOffset( SCSIZE nC, SCSIZE nR) const; - - /** For a row vector or column vector, if the position does not point into - the vector but is a valid column or row offset it is adapted such that - it points to an element to be replicated, same column row 0 for a row - vector, same row column 0 for a column vector. Else, for a 2D matrix, - returns false. - */ - bool ValidColRowReplicated( SCSIZE & rC, SCSIZE & rR ) const; - - /** Checks if the matrix position is within the matrix. If it is not, for a - row vector or column vector the position is adapted such that it points - to an element to be replicated, same column row 0 for a row vector, - same row column 0 for a column vector. Else, for a 2D matrix and - position not within matrix, returns false. - */ - bool ValidColRowOrReplicated( SCSIZE & rC, SCSIZE & rR ) const; - - void PutDouble( double fVal, SCSIZE nC, SCSIZE nR); - void PutDouble( double fVal, SCSIZE nIndex); - void PutString( const String& rStr, SCSIZE nC, SCSIZE nR); - void PutString( const String& rStr, SCSIZE nIndex); - void PutEmpty( SCSIZE nC, SCSIZE nR); - /// Jump FALSE without path - void PutEmptyPath( SCSIZE nC, SCSIZE nR); - void PutError( sal_uInt16 nErrorCode, SCSIZE nC, SCSIZE nR ); - void PutBoolean( bool bVal, SCSIZE nC, SCSIZE nR); - - void FillDouble( double fVal, - SCSIZE nC1, SCSIZE nR1, SCSIZE nC2, SCSIZE nR2 ); - - /** May be used before obtaining the double value of an element to avoid - passing its NAN around. - @ATTENTION: MUST NOT be used if the element is a string! - Use GetErrorIfNotString() instead if not sure. - @returns 0 if no error, else one of err... constants */ - sal_uInt16 GetError( SCSIZE nC, SCSIZE nR) const; - - /** Use in ScInterpreter to obtain the error code, if any. - @returns 0 if no error or string element, else one of err... constants */ - sal_uInt16 GetErrorIfNotString( SCSIZE nC, SCSIZE nR) const - { return IsValue( nC, nR) ? GetError( nC, nR) : 0; } - - /// @return 0.0 if empty or empty path, else value or DoubleError. - double GetDouble( SCSIZE nC, SCSIZE nR) const; - /// @return 0.0 if empty or empty path, else value or DoubleError. - double GetDouble( SCSIZE nIndex) const; - - /// @return empty string if empty or empty path, else string content. - const String& GetString( SCSIZE nC, SCSIZE nR) const; - /// @return empty string if empty or empty path, else string content. - const String& GetString( SCSIZE nIndex) const; - - /** @returns the matrix element's string if one is present, otherwise the - numerical value formatted as string, or in case of an error the error - string is returned; an empty string for empty, a "FALSE" string for - empty path. */ - String GetString( SvNumberFormatter& rFormatter, SCSIZE nC, SCSIZE nR) const; - - /// @ATTENTION: If bString the ScMatrixValue->pS may still be NULL to indicate - /// an empty string! - ScMatrixValue Get( SCSIZE nC, SCSIZE nR) const; - - /// @return <TRUE/> if string or empty or empty path, in fact non-value. - sal_Bool IsString( SCSIZE nIndex ) const; - - /// @return <TRUE/> if string or empty or empty path, in fact non-value. - sal_Bool IsString( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if empty or empty path. - sal_Bool IsEmpty( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if empty path. - sal_Bool IsEmptyPath( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if value or boolean. - sal_Bool IsValue( SCSIZE nIndex ) const; - - /// @return <TRUE/> if value or boolean. - sal_Bool IsValue( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if value or boolean or empty or empty path. - sal_Bool IsValueOrEmpty( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if boolean. - sal_Bool IsBoolean( SCSIZE nC, SCSIZE nR ) const; - - /// @return <TRUE/> if entire matrix is numeric, including booleans, with no strings or empties - sal_Bool IsNumeric() const; - - void MatTrans( ScMatrix& mRes) const; - void MatCopy ( ScMatrix& mRes) const; - - // Convert ScInterpreter::CompareMat values (-1,0,1) to boolean values - void CompareEqual(); - void CompareNotEqual(); - void CompareLess(); - void CompareGreater(); - void CompareLessEqual(); - void CompareGreaterEqual(); - - double And() const; // logical AND of all matrix values, or NAN - double Or() const; // logical OR of all matrix values, or NAN - - IterateResult Sum(bool bTextAsZero) const; - IterateResult SumSquare(bool bTextAsZero) const; - IterateResult Product(bool bTextAsZero) const; - size_t Count(bool bCountStrings) const; - - // All other matrix functions MatMult, MInv, ... are in ScInterpreter - // to be numerically safe. -}; - -inline void intrusive_ptr_add_ref(const ScMatrix* p) -{ - p->IncRef(); -} - -inline void intrusive_ptr_release(const ScMatrix* p) -{ - p->DecRef(); -} - -#endif // SC_MATRIX_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx deleted file mode 100644 index 2d130e460..000000000 --- a/sc/inc/scmod.hxx +++ /dev/null @@ -1,290 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCMOD_HXX -#define SC_SCMOD_HXX - -#include "scdllapi.h" -#include "scdll.hxx" -#include <vcl/timer.hxx> -#include <svl/lstner.hxx> -#include "global.hxx" // ScInputMode -#include "markdata.hxx" // ScMarkData -#include "shellids.hxx" -#include <unotools/options.hxx> -#include <tools/shl.hxx> - -#include <map> -#include <list> -#include <algorithm> - - -class KeyEvent; -class SdrModel; -class SdrView; -class EditView; -class SfxErrorHandler; -class SvxErrorHandler; -class SvtAccessibilityOptions; -class SvtCTLOptions; -class SvtUserOptions; - -namespace svtools { class ColorConfig; } - -class ScRange; -class ScDocument; -class ScViewCfg; -class ScDocCfg; -class ScAppCfg; -class ScInputCfg; -class ScPrintCfg; -class ScViewOptions; -class ScDocOptions; -class ScAppOptions; -class ScInputOptions; -class ScPrintOptions; -class ScInputHandler; -class ScInputWindow; -class ScTabViewShell; -class ScFunctionDlg; -class ScArgDlgBase; -class ScEditFunctionDlg; -class ScMessagePool; -class EditFieldInfo; -class ScNavipiCfg; -class ScAddInCfg; - -class ScTransferObj; -class ScDrawTransferObj; -class ScSelectionTransferObj; - -class ScFormEditData; - -//================================================================== - -// for internal Drag&Drop: - -#define SC_DROP_NAVIGATOR 1 -#define SC_DROP_TABLE 2 - -struct ScDragData -{ - ScTransferObj* pCellTransfer; - ScDrawTransferObj* pDrawTransfer; - - String aLinkDoc; - String aLinkTable; - String aLinkArea; - ScDocument* pJumpLocalDoc; - String aJumpTarget; - String aJumpText; -}; - -struct ScClipData -{ - ScTransferObj* pCellClipboard; - ScDrawTransferObj* pDrawClipboard; -}; - -//================================================================== - - -class ScModule: public SfxModule, public SfxListener, utl::ConfigurationListener -{ - Timer aIdleTimer; - Timer aSpellTimer; - ScDragData aDragData; - ScClipData aClipData; - ScSelectionTransferObj* pSelTransfer; - ScMessagePool* pMessagePool; - // there is no global InputHandler anymore, each View has it's own - ScInputHandler* pRefInputHandler; - ScViewCfg* pViewCfg; - ScDocCfg* pDocCfg; - ScAppCfg* pAppCfg; - ScInputCfg* pInputCfg; - ScPrintCfg* pPrintCfg; - ScNavipiCfg* pNavipiCfg; - ScAddInCfg* pAddInCfg; - svtools::ColorConfig* pColorConfig; - SvtAccessibilityOptions* pAccessOptions; - SvtCTLOptions* pCTLOptions; - SvtUserOptions* pUserOptions; - SfxErrorHandler* pErrorHdl; - SvxErrorHandler* pSvxErrorHdl; - ScFormEditData* pFormEditData; - sal_uInt16 nCurRefDlgId; - sal_Bool bIsWaterCan; - sal_Bool bIsInEditCommand; - sal_Bool bIsInExecuteDrop; - bool mbIsInSharedDocLoading; - bool mbIsInSharedDocSaving; - - std::map<sal_uInt16, std::list<Window*> > m_mapRefWindow; -public: - SFX_DECL_INTERFACE(SCID_APP) - - ScModule( SfxObjectFactory* pFact ); - virtual ~ScModule(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - virtual void ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 ); - void DeleteCfg(); - - // moved by the application - - DECL_LINK( IdleHandler, Timer* ); // Timer instead of idle - DECL_LINK( SpellTimerHdl, Timer* ); - DECL_LINK( CalcFieldValueHdl, EditFieldInfo* ); - - void Execute( SfxRequest& rReq ); - void GetState( SfxItemSet& rSet ); - void HideDisabledSlots( SfxItemSet& rSet ); - - void AnythingChanged(); - - // Drag & Drop: - const ScDragData& GetDragData() const { return aDragData; } - void SetDragObject( ScTransferObj* pCellObj, ScDrawTransferObj* pDrawObj ); - void ResetDragObject(); - void SetDragLink( const String& rDoc, const String& rTab, const String& rArea ); - void SetDragJump( ScDocument* pLocalDoc, - const String& rTarget, const String& rText ); - - // clipboard: - const ScClipData& GetClipData() const { return aClipData; } - void SetClipObject( ScTransferObj* pCellObj, ScDrawTransferObj* pDrawObj ); - - ScDocument* GetClipDoc(); // called from document - should be removed later - - // X selection: - ScSelectionTransferObj* GetSelectionTransfer() const { return pSelTransfer; } - void SetSelectionTransfer( ScSelectionTransferObj* pNew ); - - void SetWaterCan( sal_Bool bNew ) { bIsWaterCan = bNew; } - sal_Bool GetIsWaterCan() const { return bIsWaterCan; } - - void SetInEditCommand( sal_Bool bNew ) { bIsInEditCommand = bNew; } - sal_Bool IsInEditCommand() const { return bIsInEditCommand; } - - void SetInExecuteDrop( sal_Bool bNew ) { bIsInExecuteDrop = bNew; } - sal_Bool IsInExecuteDrop() const { return bIsInExecuteDrop; } - - // Options: - const ScViewOptions& GetViewOptions (); -SC_DLLPUBLIC const ScDocOptions& GetDocOptions (); -SC_DLLPUBLIC const ScAppOptions& GetAppOptions (); - const ScInputOptions& GetInputOptions (); -SC_DLLPUBLIC const ScPrintOptions& GetPrintOptions (); - void SetViewOptions ( const ScViewOptions& rOpt ); -SC_DLLPUBLIC void SetDocOptions ( const ScDocOptions& rOpt ); -SC_DLLPUBLIC void SetAppOptions ( const ScAppOptions& rOpt ); - void SetInputOptions ( const ScInputOptions& rOpt ); - void SetPrintOptions ( const ScPrintOptions& rOpt ); - void InsertEntryToLRUList(sal_uInt16 nFIndex); - void RecentFunctionsChanged(); - - static void GetSpellSettings( sal_uInt16& rDefLang, sal_uInt16& rCjkLang, sal_uInt16& rCtlLang, - sal_Bool& rAutoSpell ); - static void SetAutoSpellProperty( sal_Bool bSet ); - static sal_Bool HasThesaurusLanguage( sal_uInt16 nLang ); - - sal_uInt16 GetOptDigitLanguage(); // from CTL options - - ScNavipiCfg& GetNavipiCfg(); - ScAddInCfg& GetAddInCfg(); - svtools::ColorConfig& GetColorConfig(); - SvtAccessibilityOptions& GetAccessOptions(); - SvtCTLOptions& GetCTLOptions(); - SvtUserOptions& GetUserOptions(); - - void ModifyOptions( const SfxItemSet& rOptSet ); - - // InputHandler: - sal_Bool IsEditMode(); // not for SC_INPUT_TYPE - sal_Bool IsInputMode(); // also for SC_INPUT_TYPE - void SetInputMode( ScInputMode eMode ); - sal_Bool InputKeyEvent( const KeyEvent& rKEvt, sal_Bool bStartEdit = false ); - SC_DLLPUBLIC void InputEnterHandler( sal_uInt8 nBlockMode = 0 ); - void InputCancelHandler(); - void InputSelection( EditView* pView ); - void InputChanged( EditView* pView ); - ScInputHandler* GetInputHdl( ScTabViewShell* pViewSh = NULL, sal_Bool bUseRef = sal_True ); - - void SetRefInputHdl( ScInputHandler* pNew ); - ScInputHandler* GetRefInputHdl(); - - void ViewShellGone(ScTabViewShell* pViewSh); - void ViewShellChanged(); - // communication with function-autopilot - void InputGetSelection( xub_StrLen& rStart, xub_StrLen& rEnd ); - void InputSetSelection( xub_StrLen nStart, xub_StrLen nEnd ); - void InputReplaceSelection( const String& rStr ); - String InputGetFormulaStr(); - void ActivateInputWindow( const String* pStr = NULL, - sal_Bool bMatrix = false ); - - void InitFormEditData(); - void ClearFormEditData(); - ScFormEditData* GetFormEditData() { return pFormEditData; } - - // input of reference: - SC_DLLPUBLIC void SetRefDialog( sal_uInt16 nId, sal_Bool bVis, SfxViewFrame* pViewFrm = NULL ); - sal_Bool IsModalMode(SfxObjectShell* pDocSh = NULL); - sal_Bool IsFormulaMode(); - sal_Bool IsRefDialogOpen(); - sal_Bool IsTableLocked(); - void SetReference( const ScRange& rRef, ScDocument* pDoc, - const ScMarkData* pMarkData = NULL ); - void AddRefEntry(); - void EndReference(); - sal_uInt16 GetCurRefDlgId() const { return nCurRefDlgId; } - - // virtual methods for the options dialog - virtual SfxItemSet* CreateItemSet( sal_uInt16 nId ); - virtual void ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet ); - virtual SfxTabPage* CreateTabPage( sal_uInt16 nId, Window* pParent, const SfxItemSet& rSet ); - - void SetInSharedDocLoading( bool bNew ) { mbIsInSharedDocLoading = bNew; } - bool IsInSharedDocLoading() const { return mbIsInSharedDocLoading; } - void SetInSharedDocSaving( bool bNew ) { mbIsInSharedDocSaving = bNew; } - bool IsInSharedDocSaving() const { return mbIsInSharedDocSaving; } - - SC_DLLPUBLIC sal_Bool RegisterRefWindow( sal_uInt16 nSlotId, Window *pWnd ); - SC_DLLPUBLIC sal_Bool UnregisterRefWindow( sal_uInt16 nSlotId, Window *pWnd ); - SC_DLLPUBLIC sal_Bool IsAliveRefDlg( sal_uInt16 nSlotId, Window *pWnd ); - SC_DLLPUBLIC Window * Find1RefWindow( sal_uInt16 nSlotId, Window *pWndAncestor ); - SC_DLLPUBLIC Window * Find1RefWindow( Window *pWndAncestor ); -}; - -#define SC_MOD() ( *(ScModule**) GetAppData(SHL_CALC) ) - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scresid.hxx b/sc/inc/scresid.hxx deleted file mode 100644 index ffc258384..000000000 --- a/sc/inc/scresid.hxx +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCRESID_HXX -#define SC_SCRESID_HXX - -#include <tools/resid.hxx> -#include "scdllapi.h" - -//=================================================================== - -class SC_DLLPUBLIC ScResId : public ResId -{ - public: - ScResId( sal_uInt16 nId ); // in scdll.cxx -}; - - - -#endif // SC_SCRESMGR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/scwarngs.hxx b/sc/inc/scwarngs.hxx deleted file mode 100644 index 612e52c4b..000000000 --- a/sc/inc/scwarngs.hxx +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef __SCWARNGS_HXX_ -#define __SCWARNGS_HXX_ - -#define ERRCODE_SC_EXPORT_WRN_ASCII (ERRCODE_WARNING_MASK | ERRCODE_AREA_SC | ERRCODE_CLASS_WRITE | 1) -#define ERRCODE_SC_IMPORT_WRN_RNGOVRFLW (ERRCODE_WARNING_MASK | ERRCODE_AREA_SC | ERRCODE_CLASS_READ | 1) - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/segmenttree.hxx b/sc/inc/segmenttree.hxx deleted file mode 100644 index 7596ec55b..000000000 --- a/sc/inc/segmenttree.hxx +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SEGMENTTREE_HXX -#define SC_SEGMENTTREE_HXX - -#include "address.hxx" - -#include <memory> - -class ScFlatBoolSegmentsImpl; - -class ScFlatBoolRowSegments -{ -public: - struct RangeData - { - SCROW mnRow1; - SCROW mnRow2; - bool mbValue; - }; - - class ForwardIterator - { - public: - explicit ForwardIterator(ScFlatBoolRowSegments& rSegs); - - bool getValue(SCROW nPos, bool& rVal); - SCROW getLastPos() const; - - private: - ScFlatBoolRowSegments& mrSegs; - - SCROW mnCurPos; - SCROW mnLastPos; - bool mbCurValue; - }; - - class RangeIterator - { - public: - explicit RangeIterator(ScFlatBoolRowSegments& rSegs); - bool getFirst(RangeData& rRange); - bool getNext(RangeData& rRange); - private: - ScFlatBoolRowSegments& mrSegs; - }; - - ScFlatBoolRowSegments(); - ScFlatBoolRowSegments(const ScFlatBoolRowSegments& r); - ~ScFlatBoolRowSegments(); - - bool setTrue(SCROW nRow1, SCROW nRow2); - bool setFalse(SCROW nRow1, SCROW nRow2); - bool getValue(SCROW nRow); - bool getRangeData(SCROW nRow, RangeData& rData); - bool getRangeDataLeaf(SCROW nRow, RangeData& rData); - void removeSegment(SCROW nRow1, SCROW nRow2); - void insertSegment(SCROW nRow, SCROW nSize, bool bSkipStartBoundary); - - SCROW findLastNotOf(bool bValue) const; - -private: - ::std::auto_ptr<ScFlatBoolSegmentsImpl> mpImpl; -}; - -class ScFlatBoolColSegments -{ -public: - struct RangeData - { - SCCOL mnCol1; - SCCOL mnCol2; - bool mbValue; - }; - ScFlatBoolColSegments(); - ScFlatBoolColSegments(const ScFlatBoolColSegments& r); - ~ScFlatBoolColSegments(); - - bool setTrue(SCCOL nCol1, SCCOL nCol2); - bool setFalse(SCCOL nCol1, SCCOL nCol2); - bool getRangeData(SCCOL nCol, RangeData& rData); - void removeSegment(SCCOL nCol1, SCCOL nCol2); - void insertSegment(SCCOL nCol, SCCOL nSize, bool bSkipStartBoundary); - -private: - ::std::auto_ptr<ScFlatBoolSegmentsImpl> mpImpl; -}; - -class ScFlatUInt16SegmentsImpl; - -class ScFlatUInt16RowSegments -{ -public: - struct RangeData - { - SCROW mnRow1; - SCROW mnRow2; - sal_uInt16 mnValue; - }; - - class ForwardIterator - { - public: - explicit ForwardIterator(ScFlatUInt16RowSegments& rSegs); - - bool getValue(SCROW nPos, sal_uInt16& rVal); - SCROW getLastPos() const; - - private: - ScFlatUInt16RowSegments& mrSegs; - - SCROW mnCurPos; - SCROW mnLastPos; - sal_uInt16 mnCurValue; - }; - - ScFlatUInt16RowSegments(sal_uInt16 nDefault); - ScFlatUInt16RowSegments(const ScFlatUInt16RowSegments& r); - ~ScFlatUInt16RowSegments(); - - void setValue(SCROW nRow1, SCROW nRow2, sal_uInt16 nValue); - sal_uInt16 getValue(SCROW nRow); - sal_uInt32 getSumValue(SCROW nRow1, SCROW nRow2); - bool getRangeData(SCROW nRow, RangeData& rData); - void removeSegment(SCROW nRow1, SCROW nRow2); - void insertSegment(SCROW nRow, SCROW nSize, bool bSkipStartBoundary); - - SCROW findLastNotOf(sal_uInt16 nValue) const; - - void enableTreeSearch(bool bEnable); - -private: - ::std::auto_ptr<ScFlatUInt16SegmentsImpl> mpImpl; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/servuno.hxx b/sc/inc/servuno.hxx deleted file mode 100644 index ffe6f7b5b..000000000 --- a/sc/inc/servuno.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SERVUNO_HXX -#define SC_SERVUNO_HXX - -#include <com/sun/star/uno/XInterface.hpp> -#include <com/sun/star/uno/Sequence.hxx> - -class String; -class ScDocShell; - - -//! AutoFormat here or global?????? - -#define SC_SERVICE_SHEET 0 -#define SC_SERVICE_URLFIELD 1 -#define SC_SERVICE_PAGEFIELD 2 -#define SC_SERVICE_PAGESFIELD 3 -#define SC_SERVICE_DATEFIELD 4 -#define SC_SERVICE_TIMEFIELD 5 -#define SC_SERVICE_TITLEFIELD 6 -#define SC_SERVICE_FILEFIELD 7 -#define SC_SERVICE_SHEETFIELD 8 -#define SC_SERVICE_CELLSTYLE 9 -#define SC_SERVICE_PAGESTYLE 10 -#define SC_SERVICE_AUTOFORMAT 11 -#define SC_SERVICE_CELLRANGES 12 - -// drawing layer tables -#define SC_SERVICE_GRADTAB 13 -#define SC_SERVICE_HATCHTAB 14 -#define SC_SERVICE_BITMAPTAB 15 -#define SC_SERVICE_TRGRADTAB 16 -#define SC_SERVICE_MARKERTAB 17 -#define SC_SERVICE_DASHTAB 18 -#define SC_SERVICE_NUMRULES 19 - -#define SC_SERVICE_DOCDEFLTS 20 -#define SC_SERVICE_DRAWDEFLTS 21 - -#define SC_SERVICE_DOCSPRSETT 22 -#define SC_SERVICE_DOCCONF 23 - -#define SC_SERVICE_IMAP_RECT 24 -#define SC_SERVICE_IMAP_CIRC 25 -#define SC_SERVICE_IMAP_POLY 26 - -// Support creation of GraphicObjectResolver and EmbeddedObjectResolver -#define SC_SERVICE_EXPORT_GOR 27 -#define SC_SERVICE_IMPORT_GOR 28 -#define SC_SERVICE_EXPORT_EOR 29 -#define SC_SERVICE_IMPORT_EOR 30 - -#define SC_SERVICE_VALBIND 31 -#define SC_SERVICE_LISTCELLBIND 32 -#define SC_SERVICE_LISTSOURCE 33 - -#define SC_SERVICE_CELLADDRESS 34 -#define SC_SERVICE_RANGEADDRESS 35 - -#define SC_SERVICE_SHEETDOCSET 36 - -// BM -#define SC_SERVICE_CHDATAPROV 37 - -// formula parser -#define SC_SERVICE_FORMULAPARS 38 -#define SC_SERVICE_OPCODEMAPPER 39 - -// VBA specific -#define SC_SERVICE_VBAOBJECTPROVIDER 40 -#define SC_SERVICE_VBACODENAMEPROVIDER 41 -#define SC_SERVICE_VBAGLOBALS 42 - -#define SC_SERVICE_COUNT 43 -#define SC_SERVICE_INVALID USHRT_MAX - - -class ScServiceProvider -{ -public: - // pDocShell is not needed for all Services - static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > - MakeInstance( sal_uInt16 nType, ScDocShell* pDocShell ); - static ::com::sun::star::uno::Sequence<rtl::OUString> GetAllServiceNames(); - static sal_uInt16 GetProviderType(const String& rServiceName); -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/shapeuno.hxx b/sc/inc/shapeuno.hxx deleted file mode 100644 index ae2d468da..000000000 --- a/sc/inc/shapeuno.hxx +++ /dev/null @@ -1,246 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SHAPEUNO_HXX -#define SC_SHAPEUNO_HXX - -#include <tools/solar.h> -#include <com/sun/star/beans/XPropertyState.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/text/XTextContent.hpp> -#include <com/sun/star/text/XText.hpp> -#include <com/sun/star/lang/XTypeProvider.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/document/XEventsSupplier.hpp> - -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase1.hxx> - -namespace com { namespace sun { namespace star { - namespace uno { - class XAggregation; - } - namespace drawing { - class XShape; - } -}}} - -class SdrObject; -struct SvEventDescription; -class ShapeUnoEventAccessImpl; -class ScMacroInfo; - -//------------------------------------------------------------------------ - -// object which aggregates all svx shape objects, -// to add own properties - -typedef ::cppu::WeakImplHelper5 < ::com::sun::star::beans::XPropertySet - , ::com::sun::star::beans::XPropertyState - , ::com::sun::star::text::XTextContent - , ::com::sun::star::document::XEventsSupplier - , ::com::sun::star::lang::XServiceInfo - > ScShapeObj_Base; -typedef ::cppu::ImplHelper1 < ::com::sun::star::text::XText - > ScShapeObj_TextBase; -class ScShapeObj :public ScShapeObj_Base - ,public ScShapeObj_TextBase -{ -private: -friend ScMacroInfo* lcl_getShapeHyperMacroInfo( ScShapeObj* pShape, sal_Bool bCreate ); - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > mxShapeAgg; - // cached pointers to avoid repeated queryAggregation calls: - ::com::sun::star::beans::XPropertySet* pShapePropertySet; - ::com::sun::star::beans::XPropertyState* pShapePropertyState; - ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > mxPropSetInfo; - com::sun::star::uno::Sequence< sal_Int8 >* pImplementationId; - sal_Bool bIsTextShape; - bool bInitializedNotifier; - - SdrObject* GetSdrObject() const throw(); - - void GetShapePropertySet(); - void GetShapePropertyState(); - -friend class ShapeUnoEventAccessImpl; - -public: - static const SvEventDescription* GetSupportedMacroItems(); - - // ctor modifies xShape parameter - ScShapeObj( ::com::sun::star::uno::Reference< - ::com::sun::star::drawing::XShape > & xShape ); - virtual ~ScShapeObj(); - - // XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XPropertyState - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL - getPropertyStates( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( - const ::rtl::OUString& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XTextContent - virtual void SAL_CALL attach(const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange > & xTextRange) - throw( ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getAnchor(void) throw( ::com::sun::star::uno::RuntimeException ); - - // XComponent - virtual void SAL_CALL dispose(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener > & aListener) - throw( ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener > & aListener) - throw( ::com::sun::star::uno::RuntimeException ); - - // XText - virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent, - sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XSimpleText - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& aTextPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::rtl::OUString& aString, sal_Bool bAbsorb ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nControlCharacter, sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XTextRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - // XEventsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace > SAL_CALL getEvents() - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw (::com::sun::star::uno::RuntimeException) ; - virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) - throw (::com::sun::star::uno::RuntimeException); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/sheetdata.hxx b/sc/inc/sheetdata.hxx deleted file mode 100644 index a64322a13..000000000 --- a/sc/inc/sheetdata.hxx +++ /dev/null @@ -1,187 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SHEETDATA_HXX -#define SC_SHEETDATA_HXX - -#include <xmloff/maptype.hxx> -#include <editeng/editdata.hxx> -#include <vector> -#include <boost/unordered_set.hpp> - -#include "address.hxx" - -class ScAddress; -class SvXMLNamespaceMap; - - -struct ScStreamEntry -{ - sal_Int32 mnStartOffset; - sal_Int32 mnEndOffset; - - ScStreamEntry() : - mnStartOffset(-1), - mnEndOffset(-1) - { - } - - ScStreamEntry( sal_Int32 nStart, sal_Int32 nEnd ) : - mnStartOffset(nStart), - mnEndOffset(nEnd) - { - } -}; - -struct ScCellStyleEntry -{ - rtl::OUString maName; - ScAddress maCellPos; - - ScCellStyleEntry( const rtl::OUString& rName, const ScAddress& rPos ) : - maName(rName), - maCellPos(rPos) - { - } -}; - -struct ScNoteStyleEntry -{ - rtl::OUString maStyleName; - rtl::OUString maTextStyle; - ScAddress maCellPos; - - ScNoteStyleEntry( const rtl::OUString& rStyle, const rtl::OUString& rText, const ScAddress& rPos ) : - maStyleName(rStyle), - maTextStyle(rText), - maCellPos(rPos) - { - } -}; - -struct ScTextStyleEntry -{ - rtl::OUString maName; - ScAddress maCellPos; - ESelection maSelection; - - ScTextStyleEntry( const rtl::OUString& rName, const ScAddress& rPos, const ESelection& rSel ) : - maName(rName), - maCellPos(rPos), - maSelection(rSel) - { - } -}; - -struct ScLoadedNamespaceEntry -{ - rtl::OUString maPrefix; - rtl::OUString maName; - sal_uInt16 mnKey; - - ScLoadedNamespaceEntry( const rtl::OUString& rPrefix, const rtl::OUString& rName, sal_uInt16 nKey ) : - maPrefix(rPrefix), - maName(rName), - mnKey(nKey) - { - } -}; - -class ScSheetSaveData -{ - boost::unordered_set<rtl::OUString, rtl::OUStringHash> maInitialPrefixes; - std::vector<ScLoadedNamespaceEntry> maLoadedNamespaces; - - std::vector<ScCellStyleEntry> maCellStyles; - std::vector<ScCellStyleEntry> maColumnStyles; - std::vector<ScCellStyleEntry> maRowStyles; - std::vector<ScCellStyleEntry> maTableStyles; - std::vector<ScNoteStyleEntry> maNoteStyles; - std::vector<ScTextStyleEntry> maNoteParaStyles; - std::vector<ScTextStyleEntry> maNoteTextStyles; - std::vector<ScTextStyleEntry> maTextStyles; - std::vector<bool> maBlocked; - std::vector<ScStreamEntry> maStreamEntries; - std::vector<ScStreamEntry> maSaveEntries; - SCTAB mnStartTab; - sal_Int32 mnStartOffset; - - ScNoteStyleEntry maPreviousNote; - - bool mbInSupportedSave; - -public: - ScSheetSaveData(); - ~ScSheetSaveData(); - - void AddCellStyle( const rtl::OUString& rName, const ScAddress& rCellPos ); - void AddColumnStyle( const rtl::OUString& rName, const ScAddress& rCellPos ); - void AddRowStyle( const rtl::OUString& rName, const ScAddress& rCellPos ); - void AddTableStyle( const rtl::OUString& rName, const ScAddress& rCellPos ); - - void HandleNoteStyles( const rtl::OUString& rStyleName, const rtl::OUString& rTextName, const ScAddress& rCellPos ); - void AddNoteContentStyle( sal_uInt16 nFamily, const rtl::OUString& rName, const ScAddress& rCellPos, const ESelection& rSelection ); - - void AddTextStyle( const rtl::OUString& rName, const ScAddress& rCellPos, const ESelection& rSelection ); - - void BlockSheet( SCTAB nTab ); - bool IsSheetBlocked( SCTAB nTab ) const; - - void AddStreamPos( SCTAB nTab, sal_Int32 nStartOffset, sal_Int32 nEndOffset ); - void GetStreamPos( SCTAB nTab, sal_Int32& rStartOffset, sal_Int32& rEndOffset ) const; - bool HasStreamPos( SCTAB nTab ) const; - - void StartStreamPos( SCTAB nTab, sal_Int32 nStartOffset ); - void EndStreamPos( sal_Int32 nEndOffset ); - - bool HasStartPos() const { return mnStartTab >= 0; } - - void ResetSaveEntries(); - void AddSavePos( SCTAB nTab, sal_Int32 nStartOffset, sal_Int32 nEndOffset ); - void UseSaveEntries(); - - void StoreInitialNamespaces( const SvXMLNamespaceMap& rNamespaces ); - void StoreLoadedNamespaces( const SvXMLNamespaceMap& rNamespaces ); - bool AddLoadedNamespaces( SvXMLNamespaceMap& rNamespaces ) const; - - const std::vector<ScCellStyleEntry>& GetCellStyles() const { return maCellStyles; } - const std::vector<ScCellStyleEntry>& GetColumnStyles() const { return maColumnStyles; } - const std::vector<ScCellStyleEntry>& GetRowStyles() const { return maRowStyles; } - const std::vector<ScCellStyleEntry>& GetTableStyles() const { return maTableStyles; } - const std::vector<ScNoteStyleEntry>& GetNoteStyles() const { return maNoteStyles; } - const std::vector<ScTextStyleEntry>& GetNoteParaStyles() const { return maNoteParaStyles; } - const std::vector<ScTextStyleEntry>& GetNoteTextStyles() const { return maNoteTextStyles; } - const std::vector<ScTextStyleEntry>& GetTextStyles() const { return maTextStyles; } - - bool IsInSupportedSave() const; - void SetInSupportedSave( bool bSet ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/sheetevents.hxx b/sc/inc/sheetevents.hxx deleted file mode 100644 index c9869fd02..000000000 --- a/sc/inc/sheetevents.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SHEETEVENTS_HXX -#define SC_SHEETEVENTS_HXX - -#include <rtl/ustring.hxx> - -#define SC_SHEETEVENT_FOCUS 0 -#define SC_SHEETEVENT_UNFOCUS 1 -#define SC_SHEETEVENT_SELECT 2 -#define SC_SHEETEVENT_DOUBLECLICK 3 -#define SC_SHEETEVENT_RIGHTCLICK 4 -#define SC_SHEETEVENT_CHANGE 5 -#define SC_SHEETEVENT_CALCULATE 6 -#define SC_SHEETEVENT_COUNT 7 - -class ScSheetEvents -{ - rtl::OUString** mpScriptNames; - - void Clear(); - -public: - ScSheetEvents(); - ScSheetEvents(const ScSheetEvents& rOther); - ~ScSheetEvents(); - - const ScSheetEvents& operator= (const ScSheetEvents& rOther); - - const rtl::OUString* GetScript(sal_Int32 nEvent) const; - void SetScript(sal_Int32 nEvent, const rtl::OUString* pNew); - - static rtl::OUString GetEventName(sal_Int32 nEvent); - static sal_Int32 GetVbaSheetEventId(sal_Int32 nEvent); - static sal_Int32 GetVbaDocumentEventId(sal_Int32 nEvent); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/shellids.hxx b/sc/inc/shellids.hxx deleted file mode 100644 index 5caabed17..000000000 --- a/sc/inc/shellids.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SHELLIDS_HXX -#define SC_SHELLIDS_HXX - -// Sfx Interface-IDs -#define SCID_APP (SFX_INTERFACE_SC_START+0) -#define SCID_DOC_SHELL (SFX_INTERFACE_SC_START+1) -#define SCID_TABVIEW_SHELL (SFX_INTERFACE_SC_START+2) -#define SCID_TABPOP_SHELL (SFX_INTERFACE_SC_START+3) -#define SCID_EDIT_SHELL (SFX_INTERFACE_SC_START+4) -#define SCID_DRAW_SHELL (SFX_INTERFACE_SC_START+5) -#define SCID_DRAW_TEXT_SHELL (SFX_INTERFACE_SC_START+6) -#define SCID_PREVIEW_SHELL (SFX_INTERFACE_SC_START+7) -#define SCID_PIVOT_SHELL (SFX_INTERFACE_SC_START+8) -#define SCID_AUDITING_SHELL (SFX_INTERFACE_SC_START+9) -#define SCID_FORM_SHELL (SFX_INTERFACE_SC_START+10) - -#define SCID_FORMAT_SHELL (SFX_INTERFACE_SC_START+11) -#define SCID_CELL_SHELL (SFX_INTERFACE_SC_START+12) -#define SCID_OLEOBJECT_SHELL (SFX_INTERFACE_SC_START+13) -#define SCID_CHART_SHELL (SFX_INTERFACE_SC_START+14) -#define SCID_GRAPHIC_SHELL (SFX_INTERFACE_SC_START+15) -#define SCID_PAGEBREAK_SHELL (SFX_INTERFACE_SC_START+16) -#define SCID_MEDIA_SHELL (SFX_INTERFACE_SC_START+17) - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/simplerangelist.hxx b/sc/inc/simplerangelist.hxx deleted file mode 100644 index efba4dd97..000000000 --- a/sc/inc/simplerangelist.hxx +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef __SC_SIMPLERANGELIST_HXX__ -#define __SC_SIMPLERANGELIST_HXX__ - -#include <boost/shared_ptr.hpp> - -#include "address.hxx" - -#include <map> -#include <list> - -class ScAddress; -class ScRange; -class ScRangeList; - -/** - * This container is optimized for use in the ods import filter, to store - * ranges for cell styles. We may change the name of this class once we - * have a better name for what it does. Using this is way more efficient - * than ScRangeList. - */ -class ScSimpleRangeList -{ -public: - struct Range - { - SCCOL mnCol1; - SCROW mnRow1; - SCCOL mnCol2; - SCROW mnRow2; - explicit Range(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2); - - bool contains(const Range& r) const; - }; - typedef ::boost::shared_ptr< ::std::list<Range> > RangeListRef; - typedef ::std::map<SCTAB, RangeListRef> TabType; - - ScSimpleRangeList(); - - void addRange(const ScRange& rRange); - void insertCol(SCCOL nCol, SCTAB nTab); - void insertRow(SCROW nRow, SCTAB nTab); - void getRangeList(::std::list<ScRange>& rList) const; - void clear(); - -private: - RangeListRef findTab(SCTAB nTab); - -private: - TabType maTabs; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/sortparam.hxx b/sc/inc/sortparam.hxx deleted file mode 100644 index 56c50a30a..000000000 --- a/sc/inc/sortparam.hxx +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SORTPARAM_HXX -#define SC_SORTPARAM_HXX - -#include "address.hxx" -#include <tools/string.hxx> -#include <tools/solar.h> -#include <com/sun/star/lang/Locale.hpp> -#include "scdllapi.h" - -#define MAXSORT 3 - -struct ScSubTotalParam; -struct ScQueryParam; - -struct SC_DLLPUBLIC ScSortParam -{ - SCCOL nCol1; - SCROW nRow1; - SCCOL nCol2; - SCROW nRow2; - sal_uInt16 nUserIndex; - bool bHasHeader; - bool bByRow; - bool bCaseSens; - bool bNaturalSort; - bool bUserDef; - bool bIncludePattern; - bool bInplace; - SCTAB nDestTab; - SCCOL nDestCol; - SCROW nDestRow; - bool bDoSort[MAXSORT]; - SCCOLROW nField[MAXSORT]; - bool bAscending[MAXSORT]; - ::com::sun::star::lang::Locale aCollatorLocale; - ::rtl::OUString aCollatorAlgorithm; - sal_uInt16 nCompatHeader; - - ScSortParam(); - ScSortParam( const ScSortParam& r ); - /// SubTotals sort - ScSortParam( const ScSubTotalParam& rSub, const ScSortParam& rOld ); - /// TopTen sort - ScSortParam( const ScQueryParam&, SCCOL nCol ); - - ScSortParam& operator= ( const ScSortParam& r ); - bool operator== ( const ScSortParam& rOther ) const; - void Clear (); - - void MoveToDest(); -}; - - -#endif // SC_SORTPARAM_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/srchuno.hxx b/sc/inc/srchuno.hxx deleted file mode 100644 index ded6c80a0..000000000 --- a/sc/inc/srchuno.hxx +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SRCHUNO_HXX -#define SC_SRCHUNO_HXX - -#include <com/sun/star/util/XReplaceDescriptor.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <svl/itemprop.hxx> -#include <cppuhelper/implbase3.hxx> - - -class SvxSearchItem; - - -class ScCellSearchObj : public cppu::WeakImplHelper3< - com::sun::star::util::XReplaceDescriptor, - com::sun::star::lang::XUnoTunnel, - com::sun::star::lang::XServiceInfo > -{ -private: - SfxItemPropertySet aPropSet; - SvxSearchItem* pSearchItem; - -public: - ScCellSearchObj(); - virtual ~ScCellSearchObj(); - - SvxSearchItem* GetSearchItem() const { return pSearchItem; } - - // XReplaceDescriptor - virtual ::rtl::OUString SAL_CALL getReplaceString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setReplaceString( const ::rtl::OUString& aReplaceString ) - throw(::com::sun::star::uno::RuntimeException); - - // XSearchDescriptor - virtual ::rtl::OUString SAL_CALL getSearchString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setSearchString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // search/replace should be called from outside (from XSearchable)... - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScCellSearchObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::util::XSearchDescriptor> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/stlalgorithm.hxx b/sc/inc/stlalgorithm.hxx deleted file mode 100644 index a3a02f934..000000000 --- a/sc/inc/stlalgorithm.hxx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Initial Developer of the Original Code is - * Kohei Yoshida <kyoshida@novell.com> (Novell, Inc.) - * Portions created by the Initial Developer are Copyright (C) 2010 the - * Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#ifndef __SC_STLALGORITHM_HXX__ -#define __SC_STLALGORITHM_HXX__ - -#include <functional> - -/** - * Function object to allow deleting instances stored in STL containers as - * pointers. - */ -template<typename T> -struct ScDeleteObjectByPtr : public ::std::unary_function<T*, void> -{ - void operator() (T* p) - { - delete p; - } -}; - -#endif diff --git a/sc/inc/stlpool.hxx b/sc/inc/stlpool.hxx deleted file mode 100644 index f72b2f3b1..000000000 --- a/sc/inc/stlpool.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_STLPOOL_HXX -#define SC_STLPOOL_HXX - -#include <svl/style.hxx> - - -class ScStyleSheet; -class ScDocument; - -class ScStyleSheetPool : public SfxStyleSheetPool -{ -public: - ScStyleSheetPool( SfxItemPool& rPool, - ScDocument* pDocument ); - - void SetDocument( ScDocument* pDocument ); - ScDocument* GetDocument() const { return pDoc; } - - virtual void Remove( SfxStyleSheetBase* pStyle ); - - void SetActualStyleSheet ( SfxStyleSheetBase* pActStyleSheet ) - { pActualStyleSheet = pActStyleSheet; } - - SfxStyleSheetBase* GetActualStyleSheet () - { return pActualStyleSheet; } - - void CreateStandardStyles(); - void CopyStdStylesFrom( ScStyleSheetPool* pSrcPool ); - - void CopyStyleFrom( ScStyleSheetPool* pSrcPool, - const String& rName, SfxStyleFamily eFamily ); - - ScStyleSheet* FindCaseIns( const String& rName, SfxStyleFamily eFam ); - - const String* GetForceStdName() const { return pForceStdName; } - - virtual SfxStyleSheetBase& Make( const String&, SfxStyleFamily eFam, - sal_uInt16 nMask = 0xffff, sal_uInt16 nPos = 0xffff ); - -protected: - virtual ~ScStyleSheetPool(); - - using SfxStyleSheetPool::Create; // calcwarnings: Create(const SfxStyleSheet&) - ever used? - - virtual SfxStyleSheetBase* Create( const String& rName, - SfxStyleFamily eFamily, - sal_uInt16 nMask); - virtual SfxStyleSheetBase* Create( const SfxStyleSheetBase& rStyle ); - -private: - SfxStyleSheetBase* pActualStyleSheet; - ScDocument* pDoc; - const String* pForceStdName; -}; - -#endif // SC_STLPOOL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/stlsheet.hxx b/sc/inc/stlsheet.hxx deleted file mode 100644 index c4f7353ef..000000000 --- a/sc/inc/stlsheet.hxx +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_STLSHEET_HXX -#define SC_STLSHEET_HXX - -#include <svl/style.hxx> - -//------------------------------------------------------------------------ - -#define SCSTYLEBIT_STANDARD 0x0001 - -//------------------------------------------------------------------------ - -class ScStyleSheetPool; - -class ScStyleSheet : public SfxStyleSheet -{ -friend class ScStyleSheetPool; - -public: - - enum Usage - { - UNKNOWN, - USED, - NOTUSED - }; - -private: - mutable ScStyleSheet::Usage eUsage; - -public: - TYPEINFO(); - - ScStyleSheet( const ScStyleSheet& rStyle ); - - virtual sal_Bool SetParent ( const String& rParentName ); - virtual SfxItemSet& GetItemSet (); - virtual sal_Bool IsUsed () const; - virtual sal_Bool HasFollowSupport () const; - virtual sal_Bool HasParentSupport () const; - - virtual const String& GetName() const; - virtual const String& GetParent() const; - virtual const String& GetFollow() const; - - virtual sal_Bool SetName( const String& ); - - void SetUsage( ScStyleSheet::Usage eUse ) const - { eUsage = eUse; } - ScStyleSheet::Usage GetUsage() const - { return eUsage; } - -protected: - virtual ~ScStyleSheet(); - - ScStyleSheet( const String& rName, - ScStyleSheetPool& rPool, - SfxStyleFamily eFamily, - sal_uInt16 nMask ); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); -}; - -#endif // SC_STLSHEET_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/stringutil.hxx b/sc/inc/stringutil.hxx deleted file mode 100644 index d64652d2e..000000000 --- a/sc/inc/stringutil.hxx +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_STRINGUTIL_HXX -#define SC_STRINGUTIL_HXX - -#include "rtl/ustring.hxx" -#include "scdllapi.h" - -class SvNumberFormatter; - -/** - * Store parameters used in the ScDocument::SetString() method. Various - * options for string-setting operation are specified herein. - */ -struct SC_DLLPUBLIC ScSetStringParam -{ - /** - * Stores the pointer to the number formatter instance to be used during - * number format detection. The caller must manage the life cycle of the - * instance. - */ - SvNumberFormatter* mpNumFormatter; - - /** - * When true, we try to detect special number format (dates etc) from the - * input string, when false, we only try to detect a basic decimal number - * format. - */ - bool mbDetectNumberFormat; - - /** - * When true, set the format of the cell to Text when a string cell is - * requested for a number input. We may want to do this during text file - * import (csv, html etc). - */ - bool mbSetTextCellFormat; - - ScSetStringParam(); -}; - -// ============================================================================ - -class ScStringUtil -{ -public: - /** - * Check if a given string is a simple decimal number (e.g. 12.345). We - * don't do any elaborate parsing here; we only check for the simplest - * case of decimal number format. - * - * Note that preceding and trailing spaces are ignored during parsing. - * - * @param rStr string to parse - * @param dsep decimal separator - * @param gsep group separator (aka thousands separator) - * @param rVal value of successfully parsed number - * - * @return true if the string is a valid number, false otherwise. - */ - static bool parseSimpleNumber( - const ::rtl::OUString& rStr, sal_Unicode dsep, sal_Unicode gsep, double& rVal); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/strload.hxx b/sc/inc/strload.hxx deleted file mode 100644 index 73bf43f0b..000000000 --- a/sc/inc/strload.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_STRLOAD_HXX -#define SC_STRLOAD_HXX - -#include "scresid.hxx" -#include <tools/rc.hxx> - -class ScRscStrLoader : public Resource -{ -public: - ScRscStrLoader( sal_uInt16 nRsc, sal_uInt16 nStrId ) : - Resource( ScResId( nRsc ) ), theStr( ScResId( nStrId ) ) - { - FreeResource(); - } - - const String& GetString() const { return theStr; } - -private: - String theStr; -}; - - -#endif // SC_STRLOAD_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/styleuno.hxx b/sc/inc/styleuno.hxx deleted file mode 100644 index da3f71e24..000000000 --- a/sc/inc/styleuno.hxx +++ /dev/null @@ -1,379 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_STYLEUNO_HXX -#define SC_STYLEUNO_HXX - -#include <svl/itemprop.hxx> -#include <svl/lstner.hxx> -#include <rsc/rscsfx.hxx> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <com/sun/star/style/XStyle.hpp> -#include <com/sun/star/style/XStyleLoader.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/container/XIndexReplace.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/XMultiPropertySet.hpp> -#include <com/sun/star/beans/XPropertyState.hpp> -#include <com/sun/star/beans/XMultiPropertyStates.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase7.hxx> - -class SfxStyleSheetBase; -class ScDocShell; - -class ScStyleFamilyObj; -class ScStyleObj; - - -class ScStyleNameConversion -{ -public: - static String DisplayToProgrammaticName( const String& rDispName, sal_uInt16 nType ); - static String ProgrammaticToDisplayName( const String& rProgName, sal_uInt16 nType ); -}; - - -class ScStyleFamiliesObj : public ::cppu::WeakImplHelper4< - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::container::XNameAccess, - ::com::sun::star::style::XStyleLoader, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - - ScStyleFamilyObj* GetObjectByType_Impl(sal_uInt16 Type) const; - ScStyleFamilyObj* GetObjectByIndex_Impl(sal_uInt32 nIndex) const; - ScStyleFamilyObj* GetObjectByName_Impl(const rtl::OUString& aName) const; - -public: - ScStyleFamiliesObj(ScDocShell* pDocSh); - virtual ~ScStyleFamiliesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XStyleLoader - virtual void SAL_CALL loadStylesFromURL( const ::rtl::OUString& URL, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aOptions ) - throw(::com::sun::star::io::IOException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL - getStyleLoaderOptions() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScStyleFamilyObj : public ::cppu::WeakImplHelper4< - ::com::sun::star::container::XNameContainer, - ::com::sun::star::container::XIndexAccess, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - SfxStyleFamily eFamily; // Family - - ScStyleObj* GetObjectByIndex_Impl(sal_uInt32 nIndex); - ScStyleObj* GetObjectByName_Impl(const rtl::OUString& Name); - -public: - ScStyleFamilyObj(ScDocShell* pDocSh, SfxStyleFamily eFam); - virtual ~ScStyleFamilyObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XNameContainer - virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::ElementExistException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeByName( const ::rtl::OUString& Name ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameReplace - virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, - const ::com::sun::star::uno::Any& aElement ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -class ScStyleObj : public ::cppu::WeakImplHelper7< - ::com::sun::star::style::XStyle, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::beans::XMultiPropertySet, - ::com::sun::star::beans::XPropertyState, - ::com::sun::star::beans::XMultiPropertyStates, - ::com::sun::star::lang::XUnoTunnel, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - const SfxItemPropertySet* pPropSet; - ScDocShell* pDocShell; - SfxStyleFamily eFamily; // Family - String aStyleName; - - SfxStyleSheetBase* GetStyle_Impl(); - const SfxItemSet* GetStyleItemSet_Impl( const ::rtl::OUString& rPropName, const SfxItemPropertySimpleEntry*& rpEntry ); - void SetOnePropertyValue( const ::rtl::OUString& rPropertyName, - const SfxItemPropertySimpleEntry* pEntry, - const ::com::sun::star::uno::Any* pValue ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - ScStyleObj(); // disabled -public: - ScStyleObj(ScDocShell* pDocSh, SfxStyleFamily eFam, const String& rName); - virtual ~ScStyleObj(); - - // created by getImplementation: - sal_Bool IsInserted() const { return pDocShell != NULL; } - SfxStyleFamily GetFamily() const { return eFamily; } - void InitDoc( ScDocShell* pNewDocSh, const String& rNewName ); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - static ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace > - CreateEmptyNumberingRules(); - - // XStyle - virtual sal_Bool SAL_CALL isUserDefined() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isInUse() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getParentStyle() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setParentStyle( const ::rtl::OUString& aParentStyle ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XNamed - virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setName( const ::rtl::OUString& aName ) - throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XMultiPropertySet - virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) - throw (::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL - getPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XPropertyState - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL - getPropertyStates( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( - const ::rtl::OUString& aPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XMultiPropertyStates - // getPropertyStates already defined for XPropertyState - virtual void SAL_CALL setAllPropertiesToDefault() throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertiesToDefault( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL - getPropertyDefaults( const ::com::sun::star::uno::Sequence< - ::rtl::OUString >& aPropertyNames ) - throw (::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScStyleObj* getImplementation( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface> xObj ); - -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/subtotal.hxx b/sc/inc/subtotal.hxx deleted file mode 100644 index ab803f260..000000000 --- a/sc/inc/subtotal.hxx +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SUBTOTAL_HXX -#define SC_SUBTOTAL_HXX - -#include "global.hxx" - -class SubTotal -{ -public: - - static sal_Bool SafePlus( double& fVal1, double fVal2); - static sal_Bool SafeMult( double& fVal1, double fVal2); - static sal_Bool SafeDiv( double& fVal1, double fVal2); -}; - - -struct ScFunctionData // to calculate single functions -{ - ScSubTotalFunc eFunc; - double nVal; - long nCount; - sal_Bool bError; - - ScFunctionData( ScSubTotalFunc eFn ) : - eFunc(eFn), nVal(0.0), nCount(0), bError(false) {} -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/subtotalparam.hxx b/sc/inc/subtotalparam.hxx deleted file mode 100644 index 9e64c292f..000000000 --- a/sc/inc/subtotalparam.hxx +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Initial Developer of the Original Code is - * Kohei Yoshida <kyoshida@novell.com> (Novell, Inc.) - * Portions created by the Initial Developer are Copyright (C) 2010 the - * Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#ifndef __SC_SUBTOTALPARAM_HXX__ -#define __SC_SUBTOTALPARAM_HXX__ - -#include "global.hxx" -#include "address.hxx" - -struct SC_DLLPUBLIC ScSubTotalParam -{ - SCCOL nCol1; // selected area - SCROW nRow1; - SCCOL nCol2; - SCROW nRow2; - sal_uInt16 nUserIndex; // index into list - bool bRemoveOnly:1; - bool bReplace:1; // replace existing results - bool bPagebreak:1; // page break at change of group - bool bCaseSens:1; // - bool bDoSort:1; // presort - bool bAscending:1; // sort ascending - bool bUserDef:1; // sort user defined - bool bIncludePattern:1; // sort formats - bool bGroupActive[MAXSUBTOTAL]; // active groups - SCCOL nField[MAXSUBTOTAL]; // associated field - SCCOL nSubTotals[MAXSUBTOTAL]; // number of SubTotals - SCCOL* pSubTotals[MAXSUBTOTAL]; // array of columns to be calculated - ScSubTotalFunc* pFunctions[MAXSUBTOTAL]; // array of associated functions - - ScSubTotalParam(); - ScSubTotalParam( const ScSubTotalParam& r ); - - ScSubTotalParam& operator= ( const ScSubTotalParam& r ); - bool operator== ( const ScSubTotalParam& r ) const; - void Clear(); - void SetSubTotals( sal_uInt16 nGroup, - const SCCOL* ptrSubTotals, - const ScSubTotalFunc* ptrFuncions, - sal_uInt16 nCount ); -}; - -#endif diff --git a/sc/inc/tabbgcolor.hxx b/sc/inc/tabbgcolor.hxx deleted file mode 100644 index 063c20596..000000000 --- a/sc/inc/tabbgcolor.hxx +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TABBGCOLOR_HXX -#define SC_TABBGCOLOR_HXX - -#include "tools/color.hxx" -#include "address.hxx" - -#include <vector> - -struct ScUndoTabColorInfo -{ - SCTAB mnTabId; - Color maOldTabBgColor; - Color maNewTabBgColor; - - explicit ScUndoTabColorInfo(SCTAB nTab); - ScUndoTabColorInfo(const ScUndoTabColorInfo& r); - - typedef ::std::vector<ScUndoTabColorInfo> List; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx deleted file mode 100644 index 6d02ad531..000000000 --- a/sc/inc/table.hxx +++ /dev/null @@ -1,962 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TABLE_HXX -#define SC_TABLE_HXX - -#include <vector> -#include <memory> -#include <utility> -#include <tools/gen.hxx> -#include <tools/color.hxx> -#include <com/sun/star/uno/Sequence.hxx> -#include "column.hxx" -#include "sortparam.hxx" -#include "compressedarray.hxx" -#include "dbdata.hxx" - -#include <memory> -#include <set> -#include <boost/shared_ptr.hpp> - -namespace utl { - class TextSearch; -} - -namespace com { namespace sun { namespace star { - namespace sheet { - struct TablePageBreakData; - } -} } } - -class SfxItemSet; -class SfxStyleSheetBase; -class SvxBoxInfoItem; -class SvxBoxItem; -class SvxSearchItem; - -class ScAutoFormat; -class ScAutoFormatData; -class ScBaseCell; -class ScDocument; -class ScDrawLayer; -class ScEditDataArray; -class ScFormulaCell; -class ScOutlineTable; -class ScPostIt; -class ScPrintSaverTab; -class ScProgress; -class ScProgress; -class ScRangeList; -class ScSheetEvents; -class ScSortInfoArray; -class ScStyleSheet; -class ScTableLink; -class ScTableProtection; -class ScUserListData; -struct RowInfo; -struct ScFunctionData; -struct ScLineFlags; -class CollatorWrapper; -class ScFlatUInt16RowSegments; -class ScFlatBoolRowSegments; -class ScFlatBoolColSegments; -struct ScSetStringParam; -struct ScColWidthParam; -struct ScColWidthParam; -class ScRangeName; - -typedef boost::unordered_map< ::rtl::OUString, rtl::OUString, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NameToNameMap; - -class ScTable -{ -private: - typedef ::std::vector< ScRange > ScRangeVec; - typedef ::std::pair< SCCOL, SCROW > ScAddress2D; - typedef ::std::vector< ScAddress2D > ScAddress2DVec; - typedef ::std::auto_ptr< ScAddress2DVec > ScAddress2DVecPtr; - - // data per table - ScColumn aCol[MAXCOLCOUNT]; - - String aName; - String aCodeName; - String aComment; - sal_Bool bScenario; - sal_Bool bLayoutRTL; - sal_Bool bLoadingRTL; - - String aLinkDoc; - String aLinkFlt; - String aLinkOpt; - String aLinkTab; - sal_uLong nLinkRefreshDelay; - sal_uInt8 nLinkMode; - - // page style template - String aPageStyle; - sal_Bool bPageSizeValid; - Size aPageSizeTwips; // size of the print-page - SCCOL nRepeatStartX; // repeating rows/columns - SCCOL nRepeatEndX; // REPEAT_NONE, if not used - SCROW nRepeatStartY; - SCROW nRepeatEndY; - - ::std::auto_ptr<ScTableProtection> pTabProtection; - - sal_uInt16* pColWidth; - ::boost::shared_ptr<ScFlatUInt16RowSegments> mpRowHeights; - - sal_uInt8* pColFlags; - ScBitMaskCompressedArray< SCROW, sal_uInt8>* pRowFlags; - ::boost::shared_ptr<ScFlatBoolColSegments> mpHiddenCols; - ::boost::shared_ptr<ScFlatBoolRowSegments> mpHiddenRows; - ::boost::shared_ptr<ScFlatBoolColSegments> mpFilteredCols; - ::boost::shared_ptr<ScFlatBoolRowSegments> mpFilteredRows; - - ::std::set<SCROW> maRowPageBreaks; - ::std::set<SCROW> maRowManualBreaks; - ::std::set<SCCOL> maColPageBreaks; - ::std::set<SCCOL> maColManualBreaks; - - ScOutlineTable* pOutlineTable; - - ScSheetEvents* pSheetEvents; - - SCCOL nTableAreaX; - SCROW nTableAreaY; - sal_Bool bTableAreaValid; - - // internal management - sal_Bool bVisible; - sal_Bool bStreamValid; - sal_Bool bPendingRowHeights; - sal_Bool bCalcNotification; - - SCTAB nTab; - sal_uInt16 nRecalcLvl; // recursion level Size-Recalc - ScDocument* pDocument; - utl::TextSearch* pSearchText; - - mutable String aUpperName; // #i62977# filled only on demand, reset in SetName - - ScAddress2DVecPtr mxUninitNotes; - - // sort parameter to minimize stack size of quicksort - ScSortParam aSortParam; - CollatorWrapper* pSortCollator; - sal_Bool bGlobalKeepQuery; - - ScRangeVec aPrintRanges; - bool bPrintEntireSheet; - - ScRange* pRepeatColRange; - ScRange* pRepeatRowRange; - - sal_uInt16 nLockCount; - - ScRangeList* pScenarioRanges; - Color aScenarioColor; - Color aTabBgColor; - sal_uInt16 nScenarioFlags; - sal_Bool bActiveScenario; - ScDBData* pDBDataNoName; - mutable ScRangeName* mpRangeName; - bool mbPageBreaksValid; - -friend class ScDocument; // for FillInfo -friend class ScDocumentIterator; -friend class ScValueIterator; -friend class ScDBQueryDataIterator; -friend class ScCellIterator; -friend class ScQueryCellIterator; -friend class ScHorizontalCellIterator; -friend class ScHorizontalAttrIterator; -friend class ScDocAttrIterator; -friend class ScAttrRectIterator; - - -public: - ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, - sal_Bool bColInfo = sal_True, sal_Bool bRowInfo = sal_True ); - ~ScTable(); - - ScOutlineTable* GetOutlineTable() { return pOutlineTable; } - - SCSIZE GetCellCount(SCCOL nCol) const; - sal_uLong GetCellCount() const; - sal_uLong GetWeightedCount() const; - sal_uLong GetCodeCount() const; // RPN code in formula - - sal_Bool SetOutlineTable( const ScOutlineTable* pNewOutline ); - void StartOutlineTable(); - - void DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ); - - sal_Bool TestRemoveSubTotals( const ScSubTotalParam& rParam ); - void RemoveSubTotals( ScSubTotalParam& rParam ); - sal_Bool DoSubTotals( ScSubTotalParam& rParam ); - - const ScSheetEvents* GetSheetEvents() const { return pSheetEvents; } - void SetSheetEvents( const ScSheetEvents* pNew ); - - sal_Bool IsVisible() const { return bVisible; } - void SetVisible( sal_Bool bVis ); - - sal_Bool IsStreamValid() const { return bStreamValid; } - void SetStreamValid( sal_Bool bSet, sal_Bool bIgnoreLock = false ); - - sal_Bool IsPendingRowHeights() const { return bPendingRowHeights; } - void SetPendingRowHeights( sal_Bool bSet ); - - sal_Bool GetCalcNotification() const { return bCalcNotification; } - void SetCalcNotification( sal_Bool bSet ); - - sal_Bool IsLayoutRTL() const { return bLayoutRTL; } - sal_Bool IsLoadingRTL() const { return bLoadingRTL; } - void SetLayoutRTL( sal_Bool bSet ); - void SetLoadingRTL( sal_Bool bSet ); - - sal_Bool IsScenario() const { return bScenario; } - void SetScenario( sal_Bool bFlag ); - void GetScenarioComment( String& rComment) const { rComment = aComment; } - void SetScenarioComment( const String& rComment ) { aComment = rComment; } - const Color& GetScenarioColor() const { return aScenarioColor; } - void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; } - const Color& GetTabBgColor() const; - void SetTabBgColor(const Color& rColor); - sal_uInt16 GetScenarioFlags() const { return nScenarioFlags; } - void SetScenarioFlags(sal_uInt16 nNew) { nScenarioFlags = nNew; } - void SetActiveScenario(sal_Bool bSet) { bActiveScenario = bSet; } - sal_Bool IsActiveScenario() const { return bActiveScenario; } - - sal_uInt8 GetLinkMode() const { return nLinkMode; } - sal_Bool IsLinked() const { return nLinkMode != SC_LINK_NONE; } - const String& GetLinkDoc() const { return aLinkDoc; } - const String& GetLinkFlt() const { return aLinkFlt; } - const String& GetLinkOpt() const { return aLinkOpt; } - const String& GetLinkTab() const { return aLinkTab; } - sal_uLong GetLinkRefreshDelay() const { return nLinkRefreshDelay; } - - void SetLink( sal_uInt8 nMode, const String& rDoc, const String& rFlt, - const String& rOpt, const String& rTab, sal_uLong nRefreshDelay ); - - void GetName( String& rName ) const; - void SetName( const String& rNewName ); - - void SetAnonymousDBData(ScDBData* pDBData); - ScDBData* GetAnonymousDBData(); - - void GetCodeName( String& rName ) const { rName = aCodeName; } - void SetCodeName( const String& rNewName ) { aCodeName = rNewName; } - - const String& GetUpperName() const; - - const String& GetPageStyle() const { return aPageStyle; } - void SetPageStyle( const String& rName ); - void PageStyleModified( const String& rNewName ); - - sal_Bool IsProtected() const; - void SetProtection(const ScTableProtection* pProtect); - ScTableProtection* GetProtection(); - - Size GetPageSize() const; - void SetPageSize( const Size& rSize ); - void SetRepeatArea( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow ); - - void RemoveAutoSpellObj(); - - void LockTable(); - void UnlockTable(); - - sal_Bool IsBlockEditable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, - SCROW nRow2, sal_Bool* pOnlyNotBecauseOfMatrix = NULL ) const; - sal_Bool IsSelectionEditable( const ScMarkData& rMark, - sal_Bool* pOnlyNotBecauseOfMatrix = NULL ) const; - - sal_Bool HasBlockMatrixFragment( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const; - bool HasSelectionMatrixFragment( const ScMarkData& rMark ) const; - - sal_Bool IsBlockEmpty( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bIgnoreNotes = false ) const; - - void PutCell( const ScAddress&, ScBaseCell* pCell ); - void PutCell( SCCOL nCol, SCROW nRow, ScBaseCell* pCell ); - void PutCell(SCCOL nCol, SCROW nRow, sal_uLong nFormatIndex, ScBaseCell* pCell); - // TRUE = numberformat set - sal_Bool SetString( SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rString, - ScSetStringParam* pParam = NULL ); - void SetValue( SCCOL nCol, SCROW nRow, const double& rVal ); - void SetError( SCCOL nCol, SCROW nRow, sal_uInt16 nError); - - void GetString( SCCOL nCol, SCROW nRow, String& rString ); - void GetInputString( SCCOL nCol, SCROW nRow, String& rString ); - double GetValue( const ScAddress& rPos ) const - { - return ValidColRow(rPos.Col(),rPos.Row()) ? - aCol[rPos.Col()].GetValue( rPos.Row() ) : - 0.0; - } - double GetValue( SCCOL nCol, SCROW nRow ); - void GetFormula( SCCOL nCol, SCROW nRow, String& rFormula ); - - CellType GetCellType( const ScAddress& rPos ) const - { - return ValidColRow(rPos.Col(),rPos.Row()) ? - aCol[rPos.Col()].GetCellType( rPos.Row() ) : - CELLTYPE_NONE; - } - CellType GetCellType( SCCOL nCol, SCROW nRow ) const; - ScBaseCell* GetCell( const ScAddress& rPos ) const - { - return ValidColRow(rPos.Col(),rPos.Row()) ? - aCol[rPos.Col()].GetCell( rPos.Row() ) : - NULL; - } - ScBaseCell* GetCell( SCCOL nCol, SCROW nRow ) const; - - void GetFirstDataPos(SCCOL& rCol, SCROW& rRow) const; - void GetLastDataPos(SCCOL& rCol, SCROW& rRow) const; - - /** Returns the pointer to a cell note object at the passed cell address. */ - ScPostIt* GetNote( SCCOL nCol, SCROW nRow ); - /** Sets the passed cell note object at the passed cell address. Takes ownership! */ - void TakeNote( SCCOL nCol, SCROW nRow, ScPostIt*& rpNote ); - /** Returns and forgets the cell note object at the passed cell address. */ - ScPostIt* ReleaseNote( SCCOL nCol, SCROW nRow ); - /** Deletes the note at the passed cell address. */ - void DeleteNote( SCCOL nCol, SCROW nRow ); - /** Creates the captions of all uninitialized cell notes. - @param bForced True = always create all captions, false = skip when Undo is disabled. */ - void InitializeNoteCaptions( bool bForced = false ); - - sal_Bool TestInsertRow( SCCOL nStartCol, SCCOL nEndCol, SCSIZE nSize ); - void InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize ); - void DeleteRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize, - sal_Bool* pUndoOutline = NULL ); - - sal_Bool TestInsertCol( SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ); - void InsertCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ); - void DeleteCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, - sal_Bool* pUndoOutline = NULL ); - - void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt16 nDelFlag); - void CopyToClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pTable, - sal_Bool bKeepScenarioFlags, sal_Bool bCloneNoteCaptions); - void CopyToClip(const ScRangeList& rRanges, ScTable* pTable, - bool bKeepScenarioFlags, bool bCloneNoteCaptions); - void CopyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCsCOL nDx, SCsROW nDy, - sal_uInt16 nInsFlag, sal_Bool bAsLink, sal_Bool bSkipAttrForEmpty, ScTable* pTable); - void StartListeningInArea( SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2 ); - void BroadcastInArea( SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2 ); - - void CopyToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, sal_Bool bMarked, ScTable* pDestTab, - const ScMarkData* pMarkData = NULL, - sal_Bool bAsLink = false, sal_Bool bColRowFlags = sal_True); - void UndoToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, sal_Bool bMarked, ScTable* pDestTab, - const ScMarkData* pMarkData = NULL); - - void TransposeClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - ScTable* pTransClip, sal_uInt16 nFlags, sal_Bool bAsLink ); - - // mark of this document - void MixMarked( const ScMarkData& rMark, sal_uInt16 nFunction, - sal_Bool bSkipEmpty, ScTable* pSrcTab ); - void MixData( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFunction, sal_Bool bSkipEmpty, ScTable* pSrcTab ); - - void CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab ); - - void CopyScenarioFrom( const ScTable* pSrcTab ); - void CopyScenarioTo( ScTable* pDestTab ) const; - sal_Bool TestCopyScenarioTo( const ScTable* pDestTab ) const; - void MarkScenarioIn( ScMarkData& rMark, sal_uInt16 nNeededBits ) const; - sal_Bool HasScenarioRange( const ScRange& rRange ) const; - void InvalidateScenarioRanges(); - const ScRangeList* GetScenarioRanges() const; - - void CopyUpdated( const ScTable* pPosTab, ScTable* pDestTab ) const; - - void InvalidateTableArea(); - void InvalidatePageBreaks(); - - sal_Bool GetCellArea( SCCOL& rEndCol, SCROW& rEndRow ) const; // FALSE = empty - sal_Bool GetTableArea( SCCOL& rEndCol, SCROW& rEndRow ) const; - sal_Bool GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, sal_Bool bNotes ) const; - sal_Bool GetPrintAreaHor( SCROW nStartRow, SCROW nEndRow, - SCCOL& rEndCol, sal_Bool bNotes ) const; - sal_Bool GetPrintAreaVer( SCCOL nStartCol, SCCOL nEndCol, - SCROW& rEndRow, sal_Bool bNotes ) const; - - sal_Bool GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const; - - void ExtendPrintArea( OutputDevice* pDev, - SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow ); - - void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, - sal_Bool bIncludeOld, bool bOnlyDown ) const; - - bool ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const; - - SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ); - - void FindAreaPos( SCCOL& rCol, SCROW& rRow, SCsCOL nMovX, SCsROW nMovY ); - void GetNextPos( SCCOL& rCol, SCROW& rRow, SCsCOL nMovX, SCsROW nMovY, - sal_Bool bMarked, sal_Bool bUnprotected, const ScMarkData& rMark ); - - void LimitChartArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ); - - sal_Bool HasData( SCCOL nCol, SCROW nRow ); - sal_Bool HasStringData( SCCOL nCol, SCROW nRow ); - sal_Bool HasValueData( SCCOL nCol, SCROW nRow ); - sal_Bool HasStringCells( SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow ) const; - - sal_uInt16 GetErrCode( const ScAddress& rPos ) const - { - return ValidColRow(rPos.Col(),rPos.Row()) ? - aCol[rPos.Col()].GetErrCode( rPos.Row() ) : - 0; - } - - void ResetChanged( const ScRange& rRange ); - - void SetDirty(); - void SetDirty( const ScRange& ); - void SetDirtyAfterLoad(); - void SetDirtyVar(); - void SetTableOpDirty( const ScRange& ); - void CalcAll(); - void CalcAfterLoad(); - void CompileAll(); - void CompileXML( ScProgress& rProgress ); - - void UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL, sal_Bool bIncludeDraw = sal_True, bool bUpdateNoteCaptionPos = true ); - - void UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, - SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz, bool bUpdateNoteCaptionPos = true ); - - void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest, - ScDocument* pUndoDoc ); - - void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ); - - void UpdateInsertTab(SCTAB nTable, SCTAB nNewSheets = 1); - void UpdateDeleteTab( SCTAB nTable, sal_Bool bIsMove, ScTable* pRefUndo = NULL, SCTAB nSheets = 1 ); - void UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo, ScProgress* pProgress ); - void UpdateCompile( sal_Bool bForceIfNameInUse = false ); - void SetTabNo(SCTAB nNewTab); - sal_Bool IsRangeNameInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nIndex) const; - void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - std::set<sal_uInt16>& rIndexes) const; - void ReplaceRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScRangeData::IndexMap& rMap ); - void Fill( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uLong nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, - double nStepValue, double nMaxValue); - String GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW nEndY ); - - void UpdateSelectionFunction( ScFunctionData& rData, - SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - const ScMarkData& rMark ); - - void AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - sal_uInt16 nFormatNo ); - void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData& rData); - void ScReplaceTabsStr( String& rStr, const String& rSrch, const String& rRepl ); // from sw - sal_Bool SearchAndReplace(const SvxSearchItem& rSearchItem, - SCCOL& rCol, SCROW& rRow, ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc); - - void FindMaxRotCol( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2 ); - - void GetBorderLines( SCCOL nCol, SCROW nRow, - const ::editeng::SvxBorderLine** ppLeft, const ::editeng::SvxBorderLine** ppTop, - const ::editeng::SvxBorderLine** ppRight, const ::editeng::SvxBorderLine** ppBottom ) const; - - bool HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt16 nMask ) const; - bool HasAttribSelection( const ScMarkData& rMark, sal_uInt16 nMask ) const; - bool ExtendMerge( SCCOL nStartCol, SCROW nStartRow, - SCCOL& rEndCol, SCROW& rEndRow, - sal_Bool bRefresh, sal_Bool bAttrs ); - const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich ) const; - const ScPatternAttr* GetPattern( SCCOL nCol, SCROW nRow ) const; - const ScPatternAttr* GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const; - - sal_uLong GetNumberFormat( const ScAddress& rPos ) const - { - return ValidColRow(rPos.Col(),rPos.Row()) ? - aCol[rPos.Col()].GetNumberFormat( rPos.Row() ) : - 0; - } - sal_uLong GetNumberFormat( SCCOL nCol, SCROW nRow ) const; - sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const; - void MergeSelectionPattern( ScMergePatternState& rState, - const ScMarkData& rMark, sal_Bool bDeep ) const; - void MergePatternArea( ScMergePatternState& rState, SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2, sal_Bool bDeep ) const; - void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner, - ScLineFlags& rFlags, - SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow ) const; - void ApplyBlockFrame( const SvxBoxItem* pLineOuter, - const SvxBoxInfoItem* pLineInner, - SCCOL nStartCol, SCROW nStartRow, - SCCOL nEndCol, SCROW nEndRow ); - - void ApplyAttr( SCCOL nCol, SCROW nRow, const SfxPoolItem& rAttr ); - void ApplyPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr ); - void ApplyPatternArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - const ScPatternAttr& rAttr, ScEditDataArray* pDataArray = NULL ); - bool SetAttrEntries(SCCOL nCol, ScAttrEntry* pData, SCSIZE nSize); - - void SetPattern( const ScAddress& rPos, const ScPatternAttr& rAttr, sal_Bool bPutToPool = false ) - { - if (ValidColRow(rPos.Col(),rPos.Row())) - aCol[rPos.Col()].SetPattern( rPos.Row(), rAttr, bPutToPool ); - } - void SetPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr, sal_Bool bPutToPool = false ); - void ApplyPatternIfNumberformatIncompatible( const ScRange& rRange, - const ScPatternAttr& rPattern, short nNewType ); - - void ApplyStyle( SCCOL nCol, SCROW nRow, const ScStyleSheet& rStyle ); - void ApplyStyleArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet& rStyle ); - void ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark); - void ApplySelectionLineStyle( const ScMarkData& rMark, - const ::editeng::SvxBorderLine* pLine, sal_Bool bColorOnly ); - - const ScStyleSheet* GetStyle( SCCOL nCol, SCROW nRow ) const; - const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark, sal_Bool& rFound ) const; - const ScStyleSheet* GetAreaStyle( sal_Bool& rFound, SCCOL nCol1, SCROW nRow1, - SCCOL nCol2, SCROW nRow2 ) const; - - void StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, sal_Bool bRemoved, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY ); - - sal_Bool IsStyleSheetUsed( const ScStyleSheet& rStyle, sal_Bool bGatherAllStyles ) const; - - bool ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_Int16 nFlags ); - bool RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_Int16 nFlags ); - - void ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark ); - - void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark ); - void ChangeSelectionIndent( sal_Bool bIncrement, const ScMarkData& rMark ); - - const ScRange* GetRepeatColRange() const { return pRepeatColRange; } - const ScRange* GetRepeatRowRange() const { return pRepeatRowRange; } - void SetRepeatColRange( const ScRange* pNew ); - void SetRepeatRowRange( const ScRange* pNew ); - - sal_uInt16 GetPrintRangeCount() const { return static_cast< sal_uInt16 >( aPrintRanges.size() ); } - const ScRange* GetPrintRange(sal_uInt16 nPos) const; - /** Returns true, if the sheet is always printed. */ - bool IsPrintEntireSheet() const { return bPrintEntireSheet; } - - /** Removes all print ranges. */ - void ClearPrintRanges(); - /** Adds a new print ranges. */ - void AddPrintRange( const ScRange& rNew ); - /** Marks the specified sheet to be printed completely. Deletes old print ranges! */ - void SetPrintEntireSheet(); - - void FillPrintSaver( ScPrintSaverTab& rSaveTab ) const; - void RestorePrintRanges( const ScPrintSaverTab& rSaveTab ); - - sal_uInt16 GetOptimalColWidth( SCCOL nCol, OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bFormula, const ScMarkData* pMarkData, - const ScColWidthParam* pParam ); - sal_Bool SetOptimalHeight( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nExtra, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bForce, - ScProgress* pOuterProgress = NULL, sal_uLong nProgressStart = 0 ); - - void SetOptimalHeightOnly(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nExtra, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bForce, - ScProgress* pOuterProgress = NULL, sal_uLong nProgressStart = 0 ); - - long GetNeededSize( SCCOL nCol, SCROW nRow, - OutputDevice* pDev, - double nPPTX, double nPPTY, - const Fraction& rZoomX, const Fraction& rZoomY, - sal_Bool bWidth, sal_Bool bTotalSize ); - void SetColWidth( SCCOL nCol, sal_uInt16 nNewWidth ); - void SetColWidthOnly( SCCOL nCol, sal_uInt16 nNewWidth ); - void SetRowHeight( SCROW nRow, sal_uInt16 nNewHeight ); - sal_Bool SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight, - double nPPTX, double nPPTY ); - - /** - * Set specified row height to specified ranges. Don't check for drawing - * objects etc. Just set the row height. Nothing else. - * - * Note that setting a new row height via this function will not - * invalidate page breaks. - */ - void SetRowHeightOnly( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight ); - - // nPPT to test for modification - void SetManualHeight( SCROW nStartRow, SCROW nEndRow, sal_Bool bManual ); - - sal_uInt16 GetColWidth( SCCOL nCol ) const; - SC_DLLPUBLIC sal_uInt16 GetRowHeight( SCROW nRow, SCROW* pStartRow = NULL, SCROW* pEndRow = NULL, bool bHiddenAsZero = true ) const; - sal_uLong GetRowHeight( SCROW nStartRow, SCROW nEndRow ) const; - sal_uLong GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow, double fScale ) const; - sal_uLong GetColOffset( SCCOL nCol ) const; - sal_uLong GetRowOffset( SCROW nRow ) const; - - /** - * Get the last row such that the height of row 0 to the end row is as - * high as possible without exceeding the specified height value. - * - * @param nHeight maximum desired height - * - * @return SCROW last row of the range within specified height. - */ - SCROW GetRowForHeight(sal_uLong nHeight) const; - - sal_uInt16 GetOriginalWidth( SCCOL nCol ) const; - sal_uInt16 GetOriginalHeight( SCROW nRow ) const; - - sal_uInt16 GetCommonWidth( SCCOL nEndCol ); - - SCROW GetHiddenRowCount( SCROW nRow ); - - void ShowCol(SCCOL nCol, bool bShow); - void ShowRow(SCROW nRow, bool bShow); - void DBShowRow(SCROW nRow, bool bShow); - - void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow); - void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow); - - void SetColFlags( SCCOL nCol, sal_uInt8 nNewFlags ); - void SetRowFlags( SCROW nRow, sal_uInt8 nNewFlags ); - void SetRowFlags( SCROW nStartRow, SCROW nEndRow, sal_uInt8 nNewFlags ); - - /// @return the index of the last row with any set flags (auto-pagebreak is ignored). - SCROW GetLastFlaggedRow() const; - - /// @return the index of the last changed column (flags and column width, auto pagebreak is ignored). - SCCOL GetLastChangedCol() const; - /// @return the index of the last changed row (flags and row height, auto pagebreak is ignored). - SCROW GetLastChangedRow() const; - - bool IsDataFiltered() const; - sal_uInt8 GetColFlags( SCCOL nCol ) const; - sal_uInt8 GetRowFlags( SCROW nRow ) const; - - const ScBitMaskCompressedArray< SCROW, sal_uInt8> * GetRowFlagsArray() const - { return pRowFlags; } - - sal_Bool UpdateOutlineCol( SCCOL nStartCol, SCCOL nEndCol, sal_Bool bShow ); - sal_Bool UpdateOutlineRow( SCROW nStartRow, SCROW nEndRow, sal_Bool bShow ); - - void UpdatePageBreaks( const ScRange* pUserArea ); - void RemoveManualBreaks(); - sal_Bool HasManualBreaks() const; - void SetRowManualBreaks( const ::std::set<SCROW>& rBreaks ); - void SetColManualBreaks( const ::std::set<SCCOL>& rBreaks ); - - void GetAllRowBreaks(::std::set<SCROW>& rBreaks, bool bPage, bool bManual) const; - void GetAllColBreaks(::std::set<SCCOL>& rBreaks, bool bPage, bool bManual) const; - bool HasRowPageBreak(SCROW nRow) const; - bool HasColPageBreak(SCCOL nCol) const; - bool HasRowManualBreak(SCROW nRow) const; - bool HasColManualBreak(SCCOL nCol) const; - - /** - * Get the row position of the next manual break that occurs at or below - * specified row. When no more manual breaks are present at or below - * the specified row, -1 is returned. - * - * @param nRow row at which the search begins. - * - * @return SCROW next row position with manual page break, or -1 if no - * more manual breaks are present. - */ - SCROW GetNextManualBreak(SCROW nRow) const; - - void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow); - void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual); - void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual); - void SetRowBreak(SCROW nRow, bool bPage, bool bManual); - void SetColBreak(SCCOL nCol, bool bPage, bool bManual); - ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::TablePageBreakData> GetRowBreakData() const; - - bool RowHidden(SCROW nRow, SCROW* pFirstRow = NULL, SCROW* pLastRow = NULL) const; - bool RowHiddenLeaf(SCROW nRow, SCROW* pFirstRow = NULL, SCROW* pLastRow = NULL) const; - bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const; - bool ColHidden(SCCOL nCol, SCCOL* pFirstCol = NULL, SCCOL* pLastCol = NULL) const; - bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden); - bool SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden); - void CopyColHidden(ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol); - void CopyRowHidden(ScTable& rTable, SCROW nStartRow, SCROW nEndRow); - void CopyRowHeight(ScTable& rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset); - SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const; - SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const; - SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const; - sal_uInt32 GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow) const; - - SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const; - - bool RowFiltered(SCROW nRow, SCROW* pFirstRow = NULL, SCROW* pLastRow = NULL) const; - bool ColFiltered(SCCOL nCol, SCCOL* pFirstCol = NULL, SCCOL* pLastCol = NULL) const; - bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const; - void CopyColFiltered(ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol); - void CopyRowFiltered(ScTable& rTable, SCROW nStartRow, SCROW nEndRow); - void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered); - void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered); - SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const; - SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const; - SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const; - - void SyncColRowFlags(); - - void StripHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 ); - void ExtendHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 ); - - void Sort(const ScSortParam& rSortParam, sal_Bool bKeepQuery); - sal_Bool ValidQuery(SCROW nRow, const ScQueryParam& rQueryParam, - sal_Bool* pSpecial = NULL, ScBaseCell* pCell = NULL, - sal_Bool* pbTestEqualCondition = NULL ); - void TopTenQuery( ScQueryParam& ); - SCSIZE Query(ScQueryParam& rQueryParam, sal_Bool bKeepSub); - sal_Bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam); - - void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, TypedScStrCollection& rStrings, bool& rHasDates); - void GetFilteredFilterEntries( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, TypedScStrCollection& rStrings, bool& rHasDates ); - sal_Bool GetDataEntries(SCCOL nCol, SCROW nRow, TypedScStrCollection& rStrings, sal_Bool bLimit); - - sal_Bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ); - sal_Bool HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ); - - void DoColResize( SCCOL nCol1, SCCOL nCol2, SCSIZE nAdd ); - - - sal_Int32 GetMaxStringLen( SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd, CharSet eCharSet ) const; - xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, - SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd ) const; - - void FindConditionalFormat( sal_uLong nKey, ScRangeList& rRanges ); - - void IncRecalcLevel(); - void DecRecalcLevel( bool bUpdateNoteCaptionPos = true ); - - sal_Bool IsSortCollatorGlobal() const; - void InitSortCollator( const ScSortParam& rPar ); - void DestroySortCollator(); - void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true ); - - void SetRangeName(ScRangeName* pNew); - ScRangeName* GetRangeName() const; - void UpdateMoveTab(SCTAB nOldPos,SCTAB nNewPos); - -private: - void FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uLong nFillCount, FillDir eFillDir, FillCmd eFillCmd, - FillDateCmd eFillDateCmd, - double nStepValue, double nMaxValue, sal_uInt16 nMinDigits, - sal_Bool bAttribs, ScProgress& rProgress ); - void FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - FillCmd& rCmd, FillDateCmd& rDateCmd, - double& rInc, sal_uInt16& rMinDigits, - ScUserListData*& rListData, sal_uInt16& rListIndex); - void FillAuto( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uLong nFillCount, FillDir eFillDir, ScProgress& rProgress ); - - sal_Bool ValidNextPos( SCCOL nCol, SCROW nRow, const ScMarkData& rMark, - sal_Bool bMarked, sal_Bool bUnprotected ); - - void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, - const ScPatternAttr& rAttr, sal_uInt16 nFormatNo); - void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData& rData); - void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData& rData); - sal_Bool SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRow, - const ScMarkData& rMark, String& rUndoStr, ScDocument* pUndoDoc); - sal_Bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, - const ScMarkData& rMark, String& rUndoStr, ScDocument* pUndoDoc); - sal_Bool SearchAll(const SvxSearchItem& rSearchItem, ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc); - sal_Bool Replace(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, - const ScMarkData& rMark, String& rUndoStr, ScDocument* pUndoDoc); - sal_Bool ReplaceAll(const SvxSearchItem& rSearchItem, ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc); - - sal_Bool SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, - ScMarkData& rMark); - sal_Bool ReplaceStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, - ScMarkData& rMark, sal_Bool bIsUndo); - sal_Bool SearchAllStyle(const SvxSearchItem& rSearchItem, ScMarkData& rMark); - sal_Bool ReplaceAllStyle(const SvxSearchItem& rSearchItem, ScMarkData& rMark, - ScDocument* pUndoDoc); - bool SearchAndReplaceEmptyCells( - const SvxSearchItem& rSearchItem, - SCCOL& rCol, SCROW& rRow, ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc); - bool SearchRangeForEmptyCell(const ScRange& rRange, - const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, - String& rUndoStr, ScDocument* pUndoDoc); - bool SearchRangeForAllEmptyCells(const ScRange& rRange, - const SvxSearchItem& rSearchItem, ScMarkData& rMark, - String& rUndoStr, ScDocument* pUndoDoc); - - // use the global sort parameter: - sal_Bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd); - void DecoladeRow( ScSortInfoArray*, SCROW nRow1, SCROW nRow2 ); - void SwapCol(SCCOL nCol1, SCCOL nCol2); - void SwapRow(SCROW nRow1, SCROW nRow2); - short CompareCell( sal_uInt16 nSort, - ScBaseCell* pCell1, SCCOL nCell1Col, SCROW nCell1Row, - ScBaseCell* pCell2, SCCOL nCell2Col, SCROW nCell2Row ); - short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2); - short Compare( ScSortInfoArray*, SCCOLROW nIndex1, SCCOLROW nIndex2); - ScSortInfoArray* CreateSortInfoArray( SCCOLROW nInd1, SCCOLROW nInd2 ); - void QuickSort( ScSortInfoArray*, SCsCOLROW nLo, SCsCOLROW nHi); - void SortReorder( ScSortInfoArray*, ScProgress& ); - - sal_Bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam); - sal_Bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam); - void GetUpperCellString(SCCOL nCol, SCROW nRow, String& rStr); - - sal_Bool RefVisible(ScFormulaCell* pCell); - - sal_Bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol); - - void IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillDateCmd eCmd); - void FillFormula(sal_uLong& nFormulaCounter, sal_Bool bFirst, ScFormulaCell* pSrcCell, - SCCOL nDestCol, SCROW nDestRow, sal_Bool bLast ); - void UpdateInsertTabAbs(SCTAB nNewPos); - sal_Bool GetNextSpellingCell(SCCOL& rCol, SCROW& rRow, sal_Bool bInSel, - const ScMarkData& rMark) const; - sal_Bool GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark ); - sal_Bool TestTabRefAbs(SCTAB nTable); - void CompileDBFormula(); - void CompileDBFormula( sal_Bool bCreateFormulaString ); - void CompileNameFormula( sal_Bool bCreateFormulaString ); - void CompileColRowNameFormula(); - - void StartListening( const ScAddress& rAddress, SvtListener* pListener ); - void EndListening( const ScAddress& rAddress, SvtListener* pListener ); - void StartAllListeners(); - void StartNeededListeners(); // only for cells where NeedsListening()==TRUE - void SetRelNameDirty(); - - void SetLoadingMedium(bool bLoading); - - SCSIZE FillMaxRot( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2, - SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY, - const ScPatternAttr* pPattern, const SfxItemSet* pCondSet ); - - // idle calculation of OutputDevice text width for cell - // also invalidates script type, broadcasts for "calc as shown" - void InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* pAdrTo, - sal_Bool bNumFormatChanged, sal_Bool bBroadcast ); - - void SkipFilteredRows(SCROW& rRow, SCROW& rLastNonFilteredRow, bool bForward); - - /** - * In case the cell text goes beyond the column width, move the max column - * position to the right. This is called from ExtendPrintArea. - */ - void MaybeAddExtraColumn(SCCOL& rCol, SCROW nRow, OutputDevice* pDev, double nPPTX, double nPPTY); - - void CopyPrintRange(const ScTable& rTable); - - /** - * Use this to iterate through non-empty visible cells in a single column. - */ - class VisibleDataCellIterator - { - public: - static SCROW ROW_NOT_FOUND; - - explicit VisibleDataCellIterator(ScFlatBoolRowSegments& rRowSegs, ScColumn& rColumn); - ~VisibleDataCellIterator(); - - /** - * Set the start row position. In case there is not visible data cell - * at the specified row position, it will move to the position of the - * first visible data cell below that point. - * - * @return First visible data cell if found, or NULL otherwise. - */ - ScBaseCell* reset(SCROW nRow); - - /** - * Find the next visible data cell position. - * - * @return Next visible data cell if found, or NULL otherwise. - */ - ScBaseCell* next(); - - /** - * Get the current row position. - * - * @return Current row position, or ROW_NOT_FOUND if the iterator - * doesn't point to a valid data cell position. - */ - SCROW getRow() const; - - private: - ScFlatBoolRowSegments& mrRowSegs; - ScColumn& mrColumn; - ScBaseCell* mpCell; - SCROW mnCurRow; - SCROW mnUBound; - }; -}; - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/tablink.hxx b/sc/inc/tablink.hxx deleted file mode 100644 index 77178dd49..000000000 --- a/sc/inc/tablink.hxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TABLINK_HXX -#define SC_TABLINK_HXX - -#include "scdllapi.h" -#include "refreshtimer.hxx" -#include <sfx2/lnkbase.hxx> - -#include <sfx2/objsh.hxx> - -class ScDocShell; -struct TableLink_Impl; - -class ScTableLink : public ::sfx2::SvBaseLink, public ScRefreshTimer -{ -private: - TableLink_Impl* pImpl; - String aFileName; - String aFilterName; - String aOptions; - sal_Bool bInCreate; - sal_Bool bInEdit; - sal_Bool bAddUndo; - sal_Bool bDoPaint; - -public: - TYPEINFO(); - ScTableLink( ScDocShell* pDocSh, const String& rFile, - const String& rFilter, const String& rOpt, sal_uLong nRefresh ); - ScTableLink( SfxObjectShell* pShell, const String& rFile, - const String& rFilter, const String& rOpt, sal_uLong nRefresh ); - virtual ~ScTableLink(); - virtual void Closed(); - virtual ::sfx2::SvBaseLink::UpdateResult DataChanged( - const String& rMimeType, const ::com::sun::star::uno::Any & rValue ); - - virtual void Edit( Window*, const Link& rEndEditHdl ); - - sal_Bool Refresh(const String& rNewFile, const String& rNewFilter, - const String* pNewOptions /* = NULL */, sal_uLong nNewRefresh ); - void SetInCreate(sal_Bool bSet) { bInCreate = bSet; } - void SetAddUndo(sal_Bool bSet) { bAddUndo = bSet; } - void SetPaint(sal_Bool bSet) { bDoPaint = bSet; } - - const String& GetFileName() const { return aFileName; } - const String& GetFilterName() const { return aFilterName; } - const String& GetOptions() const { return aOptions; } - - sal_Bool IsUsed() const; - - DECL_LINK( RefreshHdl, ScTableLink* ); - DECL_LINK( TableEndEditHdl, ::sfx2::SvBaseLink* ); -}; - -class ScDocument; -class SfxMedium; - -class SC_DLLPUBLIC ScDocumentLoader -{ -private: - ScDocShell* pDocShell; - SfxObjectShellRef aRef; - SfxMedium* pMedium; - -public: - ScDocumentLoader( const String& rFileName, - String& rFilterName, String& rOptions, - sal_uInt32 nRekCnt = 0, sal_Bool bWithInteraction = false ); - ~ScDocumentLoader(); - ScDocument* GetDocument(); - ScDocShell* GetDocShell() { return pDocShell; } - sal_Bool IsError() const; - String GetTitle() const; - - void ReleaseDocRef(); // without calling DoClose - - static String GetOptions( SfxMedium& rMedium ); - - /** Returns the filter name and options from a file name. - @param bWithContent - true = Tries to detect the filter by looking at the file contents. - false = Detects filter by file name extension only (should be used in filter code only). - @return sal_True if a filter could be found, sal_False otherwise. */ - static sal_Bool GetFilterName( const String& rFileName, - String& rFilter, String& rOptions, - sal_Bool bWithContent, sal_Bool bWithInteraction ); - - static bool GetFilterName( const ::rtl::OUString& rFileName, - ::rtl::OUString& rFilter, ::rtl::OUString& rOptions, - bool bWithContent, bool bWithInteraction ); - - static void RemoveAppPrefix( String& rFilterName ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/tabopparams.hxx b/sc/inc/tabopparams.hxx deleted file mode 100644 index 7a505c79c..000000000 --- a/sc/inc/tabopparams.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TABOPPARAMS_HXX -#define SC_TABOPPARAMS_HXX - -#include "global.hxx" -#include "address.hxx" - -#include <vector> - -class ScFormulaCell; - -struct ScInterpreterTableOpParams -{ - ScAddress aOld1; - ScAddress aNew1; - ScAddress aOld2; - ScAddress aNew2; - ScAddress aFormulaPos; - ::std::vector< ScFormulaCell* > aNotifiedFormulaCells; - ::std::vector< ScAddress > aNotifiedFormulaPos; - sal_Bool bValid; - sal_Bool bRefresh; - sal_Bool bCollectNotifications; - - ScInterpreterTableOpParams() - : bValid( false ) - , bRefresh( false ) - , bCollectNotifications( sal_True ) - { - } - - ScInterpreterTableOpParams( const ScInterpreterTableOpParams& r ) - : aOld1( r.aOld1 ) - , aNew1( r.aNew1 ) - , aOld2( r.aOld2 ) - , aNew2( r.aNew2 ) - , aFormulaPos( r.aFormulaPos ) - , aNotifiedFormulaPos( r.aNotifiedFormulaPos ) - , bValid( r.bValid ) - , bRefresh( r.bRefresh ) - , bCollectNotifications( r.bCollectNotifications ) - { - } - - ScInterpreterTableOpParams& operator =( const ScInterpreterTableOpParams& r ) - { - aOld1 = r.aOld1; - aNew1 = r.aNew1; - aOld2 = r.aOld2; - aNew2 = r.aNew2; - aFormulaPos = r.aFormulaPos; - ::std::vector< ScFormulaCell* >().swap( aNotifiedFormulaCells ); - aNotifiedFormulaPos = r.aNotifiedFormulaPos; - bValid = r.bValid; - bRefresh = r.bRefresh; - bCollectNotifications = r.bCollectNotifications; - return *this; - } - - sal_Bool operator ==( const ScInterpreterTableOpParams& r ) - { - return - bValid && r.bValid && - aOld1 == r.aOld1 && - aOld2 == r.aOld2 && - aFormulaPos == r.aFormulaPos ; - } -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/tabprotection.hxx b/sc/inc/tabprotection.hxx deleted file mode 100644 index 54ace318b..000000000 --- a/sc/inc/tabprotection.hxx +++ /dev/null @@ -1,188 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TAB_PROTECTION_HXX -#define SC_TAB_PROTECTION_HXX - -#include "sal/types.h" -#include <com/sun/star/uno/Sequence.hxx> - -#include "global.hxx" -#include <boost/shared_ptr.hpp> - -class ScDocument; -class ScTableProtectionImpl; - -enum ScPasswordHash -{ - PASSHASH_SHA1 = 0, - PASSHASH_XL, - PASSHASH_UNSPECIFIED -}; - -class ScPassHashHelper -{ -public: - /** Check for the compatibility of all password hashes. If there is at - least one hash that needs to be regenerated, it returns true. If all - hash values are compatible with the specified hash type, then it - returns false. */ - static bool needsPassHashRegen(const ScDocument& rDoc, ScPasswordHash eHash1, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED); - - static ::rtl::OUString getHashURI(ScPasswordHash eHash); - - static ScPasswordHash getHashTypeFromURI(const ::rtl::OUString& rURI); - -private: - ScPassHashHelper(); - ~ScPassHashHelper(); -}; - -// ============================================================================ - -class SAL_NO_VTABLE ScPassHashProtectable -{ -public: - virtual ~ScPassHashProtectable() = 0; - - virtual bool isProtected() const = 0; - virtual bool isProtectedWithPass() const = 0; - virtual void setProtected(bool bProtected) = 0; - - virtual bool isPasswordEmpty() const = 0; - virtual bool hasPasswordHash(ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) const = 0; - virtual void setPassword(const String& aPassText) = 0; - virtual ::com::sun::star::uno::Sequence<sal_Int8> getPasswordHash( - ScPasswordHash eHash, ScPasswordHash eHas2 = PASSHASH_UNSPECIFIED) const = 0; - virtual void setPasswordHash( - const ::com::sun::star::uno::Sequence<sal_Int8>& aPassword, - ScPasswordHash eHash = PASSHASH_SHA1, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) = 0; - virtual bool verifyPassword(const String& aPassText) const = 0; -}; - -// ============================================================================ - -class SC_DLLPUBLIC ScDocProtection : public ScPassHashProtectable -{ -public: - enum Option - { - STRUCTURE = 0, - WINDOWS, - CONTENT, - NONE // last item - used to resize the vector - }; - - explicit ScDocProtection(); - explicit ScDocProtection(const ScDocProtection& r); - virtual ~ScDocProtection(); - - virtual bool isProtected() const; - virtual bool isProtectedWithPass() const; - virtual void setProtected(bool bProtected); - - virtual bool isPasswordEmpty() const; - virtual bool hasPasswordHash(ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) const; - virtual void setPassword(const String& aPassText); - virtual ::com::sun::star::uno::Sequence<sal_Int8> getPasswordHash( - ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) const; - virtual void setPasswordHash( - const ::com::sun::star::uno::Sequence<sal_Int8>& aPassword, - ScPasswordHash eHash = PASSHASH_SHA1, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED); - virtual bool verifyPassword(const String& aPassText) const; - - bool isOptionEnabled(Option eOption) const; - void setOption(Option eOption, bool bEnabled); - -private: - ::boost::shared_ptr<ScTableProtectionImpl> mpImpl; -}; - -// ============================================================================ - -/** sheet protection state container - - This class stores sheet's protection state: 1) whether the protection - is on, 2) password and/or password hash, and 3) any associated - protection options. This class is also used as a protection state - container for the undo/redo stack, in which case the password, hash and - the options need to be preserved even when the protection flag is - off. */ -class SC_DLLPUBLIC ScTableProtection : public ScPassHashProtectable -{ -public: - enum Option - { - AUTOFILTER = 0, - DELETE_COLUMNS, - DELETE_ROWS, - FORMAT_CELLS, - FORMAT_COLUMNS, - FORMAT_ROWS, - INSERT_COLUMNS, - INSERT_HYPERLINKS, - INSERT_ROWS, - OBJECTS, - PIVOT_TABLES, - SCENARIOS, - SELECT_LOCKED_CELLS, - SELECT_UNLOCKED_CELLS, - SHEET, - SORT, - NONE // last item - used to resize the vector - }; - - explicit ScTableProtection(); - explicit ScTableProtection(const ScTableProtection& r); - virtual ~ScTableProtection(); - - virtual bool isProtected() const; - virtual bool isProtectedWithPass() const; - virtual void setProtected(bool bProtected); - - virtual bool isPasswordEmpty() const; - virtual bool hasPasswordHash(ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) const; - virtual void setPassword(const String& aPassText); - virtual ::com::sun::star::uno::Sequence<sal_Int8> getPasswordHash( - ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) const; - virtual void setPasswordHash( - const ::com::sun::star::uno::Sequence<sal_Int8>& aPassword, - ScPasswordHash eHash = PASSHASH_SHA1, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED); - virtual bool verifyPassword(const String& aPassText) const; - - bool isOptionEnabled(Option eOption) const; - void setOption(Option eOption, bool bEnabled); - -private: - ::boost::shared_ptr<ScTableProtectionImpl> mpImpl; -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/targuno.hxx b/sc/inc/targuno.hxx deleted file mode 100644 index ee5d42567..000000000 --- a/sc/inc/targuno.hxx +++ /dev/null @@ -1,208 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TARGUNO_HXX -#define SC_TARGUNO_HXX - -#include <svl/lstner.hxx> -#include <tools/string.hxx> -#include <com/sun/star/document/XLinkTargetSupplier.hpp> -#include <com/sun/star/lang/XServiceName.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/PropertyValues.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/PropertyState.hpp> -#include <com/sun/star/beans/XPropertySetInfo.hpp> -#include <com/sun/star/beans/XMultiPropertySet.hpp> -#include <com/sun/star/beans/XFastPropertySet.hpp> -#include <com/sun/star/beans/XVetoableChangeListener.hpp> -#include <com/sun/star/beans/XPropertyState.hpp> -#include <com/sun/star/beans/XPropertyStateChangeListener.hpp> -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <com/sun/star/beans/XPropertiesChangeListener.hpp> -#include <com/sun/star/beans/XPropertyChangeListener.hpp> -#include <com/sun/star/beans/XPropertyAccess.hpp> -#include <com/sun/star/beans/XPropertyContainer.hpp> -#include <com/sun/star/beans/PropertyStateChangeEvent.hpp> -#include <com/sun/star/beans/PropertyChangeEvent.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/container/XHierarchicalNameAccess.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XContentEnumerationAccess.hpp> -#include <com/sun/star/container/XEnumeration.hpp> -#include <com/sun/star/container/XElementAccess.hpp> -#include <com/sun/star/container/XIndexAccess.hpp> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> - -class ScDocShell; - - -#define SC_LINKTARGETTYPE_SHEET 0 -#define SC_LINKTARGETTYPE_RANGENAME 1 -#define SC_LINKTARGETTYPE_DBAREA 2 - -#define SC_LINKTARGETTYPE_COUNT 3 - -#define SCLINKTARGET_SERVICE "com.sun.star.document.LinkTarget" - - -//! Graphic / OleObject (need separate collections!) - - -class ScLinkTargetTypesObj : public ::cppu::WeakImplHelper2< - ::com::sun::star::container::XNameAccess, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - String aNames[SC_LINKTARGETTYPE_COUNT]; - -public: - ScLinkTargetTypesObj(ScDocShell* pDocSh); - virtual ~ScLinkTargetTypesObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // ::com::sun::star::container::XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName(const ::rtl::OUString& aName) - throw( ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL hasByName(const ::rtl::OUString& aName) throw( ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::container::XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL hasElements(void) throw( ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::lang::XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); -}; - - -class ScLinkTargetTypeObj : public ::cppu::WeakImplHelper3< - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::document::XLinkTargetSupplier, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ScDocShell* pDocShell; - sal_uInt16 nType; - String aName; - -public: - ScLinkTargetTypeObj(ScDocShell* pDocSh, sal_uInt16 nT); - virtual ~ScLinkTargetTypeObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - static void SetLinkTargetBitmap( ::com::sun::star::uno::Any& rRet, sal_uInt16 nType ); - - // ::com::sun::star::beans::XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL setPropertyValue(const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(const ::rtl::OUString& PropertyName) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL addPropertyChangeListener(const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & xListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL removePropertyChangeListener(const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & aListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL addVetoableChangeListener(const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener > & aListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL removeVetoableChangeListener(const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener > & aListener) - throw( ::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::document::XLinkTargetSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getLinks(void) throw( ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::lang::XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); -}; - - -class ScLinkTargetsObj : public ::cppu::WeakImplHelper2< - ::com::sun::star::container::XNameAccess, - ::com::sun::star::lang::XServiceInfo > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > xCollection; - -public: - ScLinkTargetsObj( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > & rColl ); - virtual ~ScLinkTargetsObj(); - - // ::com::sun::star::container::XNameAccess - virtual ::com::sun::star::uno::Any SAL_CALL getByName(const ::rtl::OUString& aName) - throw( ::com::sun::star::container::NoSuchElementException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getElementNames(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL hasByName(const ::rtl::OUString& aName) throw( ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::container::XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL hasElements(void) throw( ::com::sun::star::uno::RuntimeException ); - - // ::com::sun::star::lang::XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); - virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx deleted file mode 100644 index 1028e5743..000000000 --- a/sc/inc/textuno.hxx +++ /dev/null @@ -1,420 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TEXTSUNO_HXX -#define SC_TEXTSUNO_HXX - -#include "global.hxx" // ScRange, ScAddress -#include "address.hxx" -#include <editeng/unotext.hxx> -#include <svl/brdcst.hxx> -#include <svl/lstner.hxx> -#include <com/sun/star/text/XTextFieldsSupplier.hpp> -#include <com/sun/star/sheet/XHeaderFooterContent.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase5.hxx> -#include "scdllapi.h" - -class EditEngine; -class EditTextObject; -class SvxEditEngineForwarder; -class ScDocShell; -class ScAddress; -class ScCellObj; -class ScSimpleEditSource; -class ScSharedCellEditSource; -class ScEditEngineDefaulter; -class ScFieldEditEngine; - -struct ScHeaderFieldData; - - -#define SC_HDFT_LEFT 0 -#define SC_HDFT_CENTER 1 -#define SC_HDFT_RIGHT 2 - - -// ScHeaderFooterContentObj is a dumb container which must be re-written into -// the page template using setPropertyValue - -class ScHeaderFooterContentObj : public cppu::WeakImplHelper3< - com::sun::star::sheet::XHeaderFooterContent, - com::sun::star::lang::XUnoTunnel, - com::sun::star::lang::XServiceInfo > -{ -private: - EditTextObject* pLeftText; - EditTextObject* pCenterText; - EditTextObject* pRightText; - SfxBroadcaster aBC; - - ScHeaderFooterContentObj(); // disabled - -public: - ScHeaderFooterContentObj( const EditTextObject* pLeft, - const EditTextObject* pCenter, - const EditTextObject* pRight ); - virtual ~ScHeaderFooterContentObj(); - - // for ScPageHFItem (using getImplementation) - const EditTextObject* GetLeftEditObject() const { return pLeftText; } - const EditTextObject* GetCenterEditObject() const { return pCenterText; } - const EditTextObject* GetRightEditObject() const { return pRightText; } - - void AddListener( SfxListener& rListener ); - void RemoveListener( SfxListener& rListener ); - - void UpdateText( sal_uInt16 nPart, EditEngine& rSource ); - - // XHeaderFooterContent - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getLeftText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getCenterText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getRightText() throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScHeaderFooterContentObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::sheet::XHeaderFooterContent> xObj ); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// ScHeaderFooterTextData: shared data between sub objects of a ScHeaderFooterTextObj - -class ScHeaderFooterTextData : public SfxListener -{ -private: - ScHeaderFooterContentObj& rContentObj; - sal_uInt16 nPart; - ScEditEngineDefaulter* pEditEngine; - SvxEditEngineForwarder* pForwarder; - sal_Bool bDataValid; - sal_Bool bInUpdate; - -public: - ScHeaderFooterTextData( ScHeaderFooterContentObj& rContent, - sal_uInt16 nP ); - ~ScHeaderFooterTextData(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // helper functions - SvxTextForwarder* GetTextForwarder(); - void UpdateData(); - ScEditEngineDefaulter* GetEditEngine() { GetTextForwarder(); return pEditEngine; } - - sal_uInt16 GetPart() const { return nPart; } - ScHeaderFooterContentObj& GetContentObj() const { return rContentObj; } -}; - -// ScHeaderFooterTextObj changes the text in a ScHeaderFooterContentObj - -class ScHeaderFooterTextObj : public cppu::WeakImplHelper5< - com::sun::star::text::XText, - com::sun::star::text::XTextRangeMover, - com::sun::star::container::XEnumerationAccess, - com::sun::star::text::XTextFieldsSupplier, - com::sun::star::lang::XServiceInfo > -{ -private: - ScHeaderFooterTextData aTextData; - SvxUnoText* pUnoText; - - void CreateUnoText_Impl(); - -public: - ScHeaderFooterTextObj( ScHeaderFooterContentObj& rContent, - sal_uInt16 nP ); - virtual ~ScHeaderFooterTextObj(); - - const SvxUnoText& GetUnoText(); - - static void FillDummyFieldData( ScHeaderFieldData& rData ); - - // XText - virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent, - sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextContent >& xContent ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XSimpleText - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursor() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL - createTextCursorByRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& aTextPosition ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - const ::rtl::OUString& aString, sal_Bool bAbsorb ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nControlCharacter, sal_Bool bAbsorb ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XTextRange - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) - throw(::com::sun::star::uno::RuntimeException); - - // XTextRangeMover - virtual void SAL_CALL moveTextRange( const ::com::sun::star::uno::Reference< - ::com::sun::star::text::XTextRange >& xRange, - sal_Int16 nParagraphs ) - throw(::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XTextFieldsSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumerationAccess > SAL_CALL - getTextFields() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL - getTextFieldMasters() throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// derived cursor objects for getImplementation and getText/getStart/getEnd - -//! uno3: SvxUnoTextCursor is not derived from XUnoTunnel, but should be (?) - -class ScCellTextCursor : public SvxUnoTextCursor -{ - ScCellObj& rTextObj; - -public: - ScCellTextCursor(const ScCellTextCursor& rOther); - ScCellTextCursor(ScCellObj& rText); - virtual ~ScCellTextCursor() throw(); - - ScCellObj& GetCellObj() const { return rTextObj; } - - // SvxUnoTextCursor methods reimplemented here: - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScCellTextCursor* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); -}; - -class ScHeaderFooterTextCursor : public SvxUnoTextCursor -{ -private: - ScHeaderFooterTextObj& rTextObj; - -public: - ScHeaderFooterTextCursor(const ScHeaderFooterTextCursor& rOther); - ScHeaderFooterTextCursor(ScHeaderFooterTextObj& rText); - virtual ~ScHeaderFooterTextCursor() throw(); - - // SvxUnoTextCursor methods reimplemented here: - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScHeaderFooterTextCursor* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); -}; - -class ScDrawTextCursor : public SvxUnoTextCursor -{ -private: - com::sun::star::uno::Reference< com::sun::star::text::XText > xParentText; - -public: - ScDrawTextCursor(const ScDrawTextCursor& rOther); - ScDrawTextCursor( const com::sun::star::uno::Reference< - com::sun::star::text::XText >& xParent, - const SvxUnoTextBase& rText ); - virtual ~ScDrawTextCursor() throw(); - - // SvxUnoTextCursor methods reimplemented here: - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL - getText() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getStart() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL - getEnd() throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScDrawTextCursor* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); -}; - - -// ScAnnotationTextCursor isn't needed anymore - SvxUnoTextCursor is used instead - - -// ScEditEngineTextObj for formatted cell content that is not inserted in a cell or header/footer -// (used for XML export of change tracking contents) - -class ScSimpleEditSourceHelper -{ - ScEditEngineDefaulter* pEditEngine; - SvxEditEngineForwarder* pForwarder; - ScSimpleEditSource* pOriginalSource; - -public: - ScSimpleEditSourceHelper(); - ~ScSimpleEditSourceHelper(); - - ScSimpleEditSource* GetOriginalSource() const { return pOriginalSource; } - ScEditEngineDefaulter* GetEditEngine() const { return pEditEngine; } -}; - -class ScEditEngineTextObj : public ScSimpleEditSourceHelper, public SvxUnoText -{ -public: - ScEditEngineTextObj(); - virtual ~ScEditEngineTextObj() throw(); - - void SetText( const EditTextObject& rTextObject ); - EditTextObject* CreateTextObject(); -}; - - -// ScCellTextData: shared data between sub objects of a cell text object - -class ScCellTextData : public SfxListener -{ -protected: - ScDocShell* pDocShell; - ScAddress aCellPos; - ScFieldEditEngine* pEditEngine; - SvxEditEngineForwarder* pForwarder; - ScSharedCellEditSource* pOriginalSource; - sal_Bool bDataValid; - sal_Bool bInUpdate; - sal_Bool bDirty; - sal_Bool bDoUpdate; - -protected: - virtual void GetCellText(const ScAddress& rCellPos, String& rText); - -public: - ScCellTextData(ScDocShell* pDocSh, const ScAddress& rP); - virtual ~ScCellTextData(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // helper functions for ScSharedCellEditSource: - virtual SvxTextForwarder* GetTextForwarder(); - void UpdateData(); - ScFieldEditEngine* GetEditEngine() { GetTextForwarder(); return pEditEngine; } - - ScSharedCellEditSource* GetOriginalSource(); // used as argument for SvxUnoText ctor - - // used for ScCellEditSource: - ScDocShell* GetDocShell() const { return pDocShell; } - const ScAddress& GetCellPos() const { return aCellPos; } - - void SetDirty(sal_Bool bValue) { bDirty = bValue; } - sal_Bool IsDirty() const { return bDirty; } - void SetDoUpdate(sal_Bool bValue) { bDoUpdate = bValue; } -}; - -class ScCellTextObj : public ScCellTextData, public SvxUnoText -{ -public: - ScCellTextObj(ScDocShell* pDocSh, const ScAddress& rP); - virtual ~ScCellTextObj() throw(); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx deleted file mode 100644 index ce16c1731..000000000 --- a/sc/inc/token.hxx +++ /dev/null @@ -1,525 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TOKEN_HXX -#define SC_TOKEN_HXX - -#include <memory> -#include <vector> -#include <boost/intrusive_ptr.hpp> - -#include "formula/opcode.hxx" -#include "refdata.hxx" -#include "scmatrix.hxx" -#include <tools/mempool.hxx> -#include "scdllapi.h" -#include "formula/IFunctionDescription.hxx" -#include "formula/token.hxx" - - -class ScJumpMatrix; -class ScToken; - -typedef ::std::vector< ScComplexRefData > ScRefList; -typedef ::boost::intrusive_ptr<ScToken> ScTokenRef; - -class SC_DLLPUBLIC ScToken : public formula::FormulaToken -{ -private: - // not implemented, prevent usage - ScToken(); - ScToken& operator=( const ScToken& ); - -protected: - - ScToken( formula::StackVar eTypeP,OpCode e = ocPush ) : formula::FormulaToken(eTypeP,e) {} - ScToken( const ScToken& r ): formula::FormulaToken(r) {} - -public: - - virtual ~ScToken(); - - /** - Dummy methods to avoid switches and casts where possible, - the real token classes have to overload the appropriate method[s]. - The only methods valid anytime if not overloaded are: - - - GetByte() since this represents the count of parameters to a function - which of course is 0 on non-functions. formula::FormulaByteToken and ScExternal do - overload it. - - - HasForceArray() since also this is only used for operators and - functions and is 0 for other tokens. - - Any other non-overloaded method pops up an assertion. - */ - - virtual const ScSingleRefData& GetSingleRef() const; - virtual ScSingleRefData& GetSingleRef(); - virtual const ScComplexRefData& GetDoubleRef() const; - virtual ScComplexRefData& GetDoubleRef(); - virtual const ScSingleRefData& GetSingleRef2() const; - virtual ScSingleRefData& GetSingleRef2(); - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual const ScMatrix* GetMatrix() const; - virtual ScMatrix* GetMatrix(); - virtual ScJumpMatrix* GetJumpMatrix() const; - virtual const ScRefList* GetRefList() const; - virtual ScRefList* GetRefList(); - - virtual bool TextEqual( const formula::FormulaToken& rToken ) const; - virtual bool Is3DRef() const; // reference with 3D flag set - - /** If rTok1 and rTok2 both are SingleRef or DoubleRef tokens, extend/merge - ranges as needed for ocRange. - @param rPos - The formula's position, used to calculate absolute positions from - relative references. - @param bReuseDoubleRef - If sal_True, a DoubleRef token is reused if passed as rTok1 or rTok2, - else a new DoubleRef token is created and returned. - @return - A reused or new'ed ScDoubleRefToken, or a NULL TokenRef if rTok1 or - rTok2 are not of sv(Single|Double)Ref - */ - static formula::FormulaTokenRef ExtendRangeReference( formula::FormulaToken & rTok1, formula::FormulaToken & rTok2, const ScAddress & rPos, bool bReuseDoubleRef ); -}; - -inline void intrusive_ptr_add_ref(const ScToken* p) -{ - p->IncRef(); -} - -inline void intrusive_ptr_release(const ScToken* p) -{ - p->DecRef(); -} - -class ScSingleRefToken : public ScToken -{ -private: - ScSingleRefData aSingleRef; -public: - ScSingleRefToken( const ScSingleRefData& r, OpCode e = ocPush ) : - ScToken( formula::svSingleRef, e ), aSingleRef( r ) {} - ScSingleRefToken( const ScSingleRefToken& r ) : - ScToken( r ), aSingleRef( r.aSingleRef ) {} - virtual const ScSingleRefData& GetSingleRef() const; - virtual ScSingleRefData& GetSingleRef(); - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScSingleRefToken(*this); } - - DECL_FIXEDMEMPOOL_NEWDEL( ScSingleRefToken ); -}; - -class ScDoubleRefToken : public ScToken -{ -private: - ScComplexRefData aDoubleRef; -public: - ScDoubleRefToken( const ScComplexRefData& r, OpCode e = ocPush ) : - ScToken( formula::svDoubleRef, e ), aDoubleRef( r ) {} - ScDoubleRefToken( const ScSingleRefData& r, OpCode e = ocPush ) : - ScToken( formula::svDoubleRef, e ) - { - aDoubleRef.Ref1 = r; - aDoubleRef.Ref2 = r; - } - ScDoubleRefToken( const ScDoubleRefToken& r ) : - ScToken( r ), aDoubleRef( r.aDoubleRef ) {} - virtual const ScSingleRefData& GetSingleRef() const; - virtual ScSingleRefData& GetSingleRef(); - virtual const ScComplexRefData& GetDoubleRef() const; - virtual ScComplexRefData& GetDoubleRef(); - virtual const ScSingleRefData& GetSingleRef2() const; - virtual ScSingleRefData& GetSingleRef2(); - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScDoubleRefToken(*this); } - - DECL_FIXEDMEMPOOL_NEWDEL( ScDoubleRefToken ); -}; - -class ScMatrixToken : public ScToken -{ -private: - ScMatrixRef pMatrix; -public: - ScMatrixToken( ScMatrixRef p ) : - ScToken( formula::svMatrix ), pMatrix( p ) {} - ScMatrixToken( const ScMatrixToken& r ) : - ScToken( r ), pMatrix( r.pMatrix ) {} - virtual const ScMatrix* GetMatrix() const; - virtual ScMatrix* GetMatrix(); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScMatrixToken(*this); } -}; - - -class ScExternalSingleRefToken : public ScToken -{ -private: - sal_uInt16 mnFileId; - String maTabName; - ScSingleRefData maSingleRef; - - ScExternalSingleRefToken(); // disabled -public: - ScExternalSingleRefToken( sal_uInt16 nFileId, const String& rTabName, const ScSingleRefData& r ); - ScExternalSingleRefToken( const ScExternalSingleRefToken& r ); - virtual ~ScExternalSingleRefToken(); - - virtual sal_uInt16 GetIndex() const; - virtual const String& GetString() const; - virtual const ScSingleRefData& GetSingleRef() const; - virtual ScSingleRefData& GetSingleRef(); - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScExternalSingleRefToken(*this); } -}; - - -class ScExternalDoubleRefToken : public ScToken -{ -private: - sal_uInt16 mnFileId; - String maTabName; // name of the first sheet - ScComplexRefData maDoubleRef; - - ScExternalDoubleRefToken(); // disabled -public: - ScExternalDoubleRefToken( sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& r ); - ScExternalDoubleRefToken( const ScExternalDoubleRefToken& r ); - virtual ~ScExternalDoubleRefToken(); - - virtual sal_uInt16 GetIndex() const; - virtual const String& GetString() const; - virtual const ScSingleRefData& GetSingleRef() const; - virtual ScSingleRefData& GetSingleRef(); - virtual const ScSingleRefData& GetSingleRef2() const; - virtual ScSingleRefData& GetSingleRef2(); - virtual const ScComplexRefData& GetDoubleRef() const; - virtual ScComplexRefData& GetDoubleRef(); - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScExternalDoubleRefToken(*this); } -}; - -class ScNameToken : public ScToken -{ -private: - sal_uInt16 mnIndex; - bool mbGlobal; // true = global, false = local -private: - ScNameToken(); // disabled -public: - ScNameToken(sal_uInt16 nIndex, bool bGlobal, OpCode eOpCode = ocName); - ScNameToken(const ScNameToken& r); - virtual ~ScNameToken(); - virtual sal_uInt8 GetByte() const; - virtual sal_uInt16 GetIndex() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScNameToken(*this); } -}; - -class ScExternalNameToken : public ScToken -{ -private: - sal_uInt16 mnFileId; - String maName; -private: - ScExternalNameToken(); // disabled -public: - ScExternalNameToken( sal_uInt16 nFileId, const String& rName ); - ScExternalNameToken( const ScExternalNameToken& r ); - virtual ~ScExternalNameToken(); - virtual sal_uInt16 GetIndex() const; - virtual const String& GetString() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScExternalNameToken(*this); } -}; - - -// Only created from within the interpreter, no conversion from ScRawToken, -// never added to ScTokenArray! -class ScJumpMatrixToken : public ScToken -{ -private: - ScJumpMatrix* pJumpMatrix; -public: - ScJumpMatrixToken( ScJumpMatrix* p ) : - ScToken( formula::svJumpMatrix ), pJumpMatrix( p ) {} - ScJumpMatrixToken( const ScJumpMatrixToken& r ) : - ScToken( r ), pJumpMatrix( r.pJumpMatrix ) {} - virtual ~ScJumpMatrixToken(); - virtual ScJumpMatrix* GetJumpMatrix() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScJumpMatrixToken(*this); } -}; - - -// Only created from within the interpreter, no conversion from ScRawToken, -// never added to ScTokenArray! -class ScRefListToken : public ScToken -{ -private: - ScRefList aRefList; -public: - ScRefListToken() : - ScToken( formula::svRefList ) {} - ScRefListToken( const ScRefListToken & r ) : - ScToken( r ), aRefList( r.aRefList ) {} - virtual void CalcAbsIfRel( const ScAddress& ); - virtual void CalcRelFromAbs( const ScAddress& ); - virtual const ScRefList* GetRefList() const; - virtual ScRefList* GetRefList(); - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScRefListToken(*this); } -}; - - -class SC_DLLPUBLIC ScEmptyCellToken : public ScToken -{ - bool bInherited :1; - bool bDisplayedAsString :1; -public: - explicit ScEmptyCellToken( bool bInheritedP, bool bDisplayAsString ) : - ScToken( formula::svEmptyCell ), - bInherited( bInheritedP ), - bDisplayedAsString( bDisplayAsString ) {} - ScEmptyCellToken( const ScEmptyCellToken& r ) : - ScToken( r ), - bInherited( r.bInherited ), - bDisplayedAsString( r.bDisplayedAsString ) {} - bool IsInherited() const { return bInherited; } - bool IsDisplayedAsString() const { return bDisplayedAsString; } - virtual double GetDouble() const; - virtual const String & GetString() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScEmptyCellToken(*this); } -}; - - -/** Transports the result from the interpreter to the formula cell. */ -class SC_DLLPUBLIC ScMatrixCellResultToken : public ScToken -{ - // No non-const access implemented, silence down unxsols4 complaining about - // the public GetMatrix() hiding the one from ScToken. - virtual ScMatrix* GetMatrix(); - -protected: - ScConstMatrixRef xMatrix; - formula::FormulaConstTokenRef xUpperLeft; -public: - ScMatrixCellResultToken( const ScConstMatrixRef& pMat, formula::FormulaToken* pUL ) : - ScToken( formula::svMatrixCell ), - xMatrix( pMat), xUpperLeft( pUL) {} - ScMatrixCellResultToken( const ScMatrixCellResultToken& r ) : - ScToken( r ), xMatrix( r.xMatrix ), - xUpperLeft( r.xUpperLeft ) {} - virtual double GetDouble() const; - virtual const String & GetString() const; - virtual const ScMatrix* GetMatrix() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScMatrixCellResultToken(*this); } - formula::StackVar GetUpperLeftType() const - { - return xUpperLeft ? - xUpperLeft->GetType() : - static_cast<formula::StackVar>(formula::svUnknown); - } - inline formula::FormulaConstTokenRef GetUpperLeftToken() const { return xUpperLeft; } - void Assign( const ScMatrixCellResultToken & r ) - { - xMatrix = r.xMatrix; - xUpperLeft = r.xUpperLeft; - } -}; - - -/** Stores the matrix result at the formula cell, additionally the range the - matrix formula occupies. */ -class SC_DLLPUBLIC ScMatrixFormulaCellToken : public ScMatrixCellResultToken -{ -private: - SCROW nRows; - SCCOL nCols; -public: - ScMatrixFormulaCellToken( SCCOL nC, SCROW nR ) : - ScMatrixCellResultToken( NULL, NULL ), - nRows( nR ), nCols( nC ) {} - ScMatrixFormulaCellToken( const ScMatrixFormulaCellToken& r ) : - ScMatrixCellResultToken( r ), - nRows( r.nRows ), nCols( r.nCols ) - { - // xUpperLeft is modifiable through - // SetUpperLeftDouble(), so clone it. - if (xUpperLeft) - xUpperLeft = xUpperLeft->Clone(); - } - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScMatrixFormulaCellToken(*this); } - void SetMatColsRows( SCCOL nC, SCROW nR ) - { - nRows = nR; - nCols = nC; - } - void GetMatColsRows( SCCOL & nC, SCROW & nR ) const - { - nR = nRows; - nC = nCols; - } - SCCOL GetMatCols() const { return nCols; } - SCROW GetMatRows() const { return nRows; } - - /** Assign matrix result, keep matrix formula - dimension. */ - void Assign( const ScMatrixCellResultToken & r ) - { - ScMatrixCellResultToken::Assign( r); - } - - /** Assign any result, keep matrix formula - dimension. If token is of type - ScMatrixCellResultToken uses the - appropriate Assign() call, other tokens - are assigned to xUpperLeft and xMatrix will - be assigned NULL. */ - void Assign( const formula::FormulaToken & r ); - - /** Modify xUpperLeft if formula::svDouble, or create - new formula::FormulaDoubleToken if not set yet. Does - nothing if xUpperLeft is of different type! */ - void SetUpperLeftDouble( double f); - - /** Reset matrix and upper left, keep matrix - formula dimension. */ - void ResetResult() - { - xMatrix = NULL; - xUpperLeft = NULL; - } -}; - - -class SC_DLLPUBLIC ScHybridCellToken : public ScToken -{ -private: - double fDouble; - String aString; - String aFormula; -public: - ScHybridCellToken( double f, - const String & rStr, - const String & rFormula ) : - ScToken( formula::svHybridCell ), - fDouble( f ), aString( rStr ), - aFormula( rFormula ) {} - ScHybridCellToken( const ScHybridCellToken& r ) : - ScToken( r ), fDouble( r.fDouble), - aString( r.aString), aFormula( r.aFormula) {} - const String & GetFormula() const { return aFormula; } - virtual double GetDouble() const; - virtual const String & GetString() const; - virtual bool operator==( const formula::FormulaToken& rToken ) const; - virtual FormulaToken* Clone() const { return new ScHybridCellToken(*this); } -}; - - -// Simplify argument passing to RefUpdate methods with ScSingleRefToken or -// ScDoubleRefToken -class SingleDoubleRefModifier -{ - ScComplexRefData aDub; - ScSingleRefData* pS; - ScComplexRefData* pD; - - // not implemented, prevent usage - SingleDoubleRefModifier( const SingleDoubleRefModifier& ); - SingleDoubleRefModifier& operator=( const SingleDoubleRefModifier& ); - -public: - SingleDoubleRefModifier( ScToken& rT ) - { - if ( rT.GetType() == formula::svSingleRef ) - { - pS = &rT.GetSingleRef(); - aDub.Ref1 = aDub.Ref2 = *pS; - pD = &aDub; - } - else - { - pS = 0; - pD = &rT.GetDoubleRef(); - } - } - SingleDoubleRefModifier( ScSingleRefData& rS ) - { - pS = &rS; - aDub.Ref1 = aDub.Ref2 = *pS; - pD = &aDub; - } - ~SingleDoubleRefModifier() - { - if ( pS ) - *pS = (*pD).Ref1; - } - inline ScComplexRefData& Ref() { return *pD; } -}; - -class SingleDoubleRefProvider -{ -public: - - const ScSingleRefData& Ref1; - const ScSingleRefData& Ref2; - - SingleDoubleRefProvider( const ScToken& r ) - : Ref1( r.GetSingleRef() ), - Ref2( r.GetType() == formula::svDoubleRef ? - r.GetDoubleRef().Ref2 : Ref1 ) - {} - SingleDoubleRefProvider( const ScSingleRefData& r ) - : Ref1( r ), Ref2( r ) - {} - SingleDoubleRefProvider( const ScComplexRefData& r ) - : Ref1( r.Ref1 ), Ref2( r.Ref2 ) - {} - ~SingleDoubleRefProvider() - {} -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/tokenarray.hxx b/sc/inc/tokenarray.hxx deleted file mode 100644 index 2d146af36..000000000 --- a/sc/inc/tokenarray.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TOKENARRAY_HXX -#define SC_TOKENARRAY_HXX - -#include "formula/token.hxx" -#include "scmatrix.hxx" -#include <tools/solar.h> -#include "scdllapi.h" -#include <formula/tokenarray.hxx> - -struct ScRawToken; -struct ScSingleRefData; -struct ScComplexRefData; -class ScMatrix; - -class SC_DLLPUBLIC ScTokenArray : public formula::FormulaTokenArray -{ - friend class ScCompiler; - sal_Bool ImplGetReference( ScRange& rRange, sal_Bool bValidOnly ) const; - -public: - ScTokenArray(); - /// Assignment with references to ScToken entries (not copied!) - ScTokenArray( const ScTokenArray& ); - virtual ~ScTokenArray(); - ScTokenArray* Clone() const; /// True copy! - - /// Exactly and only one range (valid or deleted) - sal_Bool IsReference( ScRange& rRange ) const; - /// Exactly and only one valid range (no #REF!s) - sal_Bool IsValidReference( ScRange& rRange ) const; - - - /** Determines the extent of direct adjacent - references. Only use with real functions, e.g. - GetOuterFuncOpCode() == ocSum ! */ - sal_Bool GetAdjacentExtendOfOuterFuncRefs( SCCOLROW& nExtend, - const ScAddress& rPos, ScDirection ); - - formula::FormulaToken* AddRawToken( const ScRawToken& ); - virtual bool AddFormulaToken(const com::sun::star::sheet::FormulaToken& _aToken,formula::ExternalReferenceHelper* _pRef); - virtual formula::FormulaToken* AddOpCode( OpCode eCode ); - /** ScSingleRefToken with ocPush. */ - formula::FormulaToken* AddSingleReference( const ScSingleRefData& rRef ); - /** ScSingleRefOpToken with ocMatRef. */ - formula::FormulaToken* AddMatrixSingleReference( const ScSingleRefData& rRef ); - formula::FormulaToken* AddDoubleReference( const ScComplexRefData& rRef ); - formula::FormulaToken* AddRangeName( sal_uInt16 n, bool bGlobal ); - formula::FormulaToken* AddExternalName( sal_uInt16 nFileId, const String& rName ); - formula::FormulaToken* AddExternalSingleReference( sal_uInt16 nFileId, const String& rTabName, const ScSingleRefData& rRef ); - formula::FormulaToken* AddExternalDoubleReference( sal_uInt16 nFileId, const String& rTabName, const ScComplexRefData& rRef ); - formula::FormulaToken* AddMatrix( const ScMatrixRef& p ); - /** ScSingleRefOpToken with ocColRowName. */ - formula::FormulaToken* AddColRowName( const ScSingleRefData& rRef ); - virtual formula::FormulaToken* MergeArray( ); - - /** Merge very last SingleRef+ocRange+SingleRef combination into DoubleRef - and adjust pCode array, or do nothing if conditions not met. - Unconditionally returns last token from the resulting pCode array, or - NULL if there is no pCode (which actually would be caller's fault). */ - formula::FormulaToken* MergeRangeReference( const ScAddress & rPos ); - - /// Assignment with references to ScToken entries (not copied!) - ScTokenArray& operator=( const ScTokenArray& ); - - /// Make 3D references point to old referenced position even if relative - void ReadjustRelative3DReferences( - const ScAddress& rOldPos, - const ScAddress& rNewPos ); -}; - -#endif // SC_TOKENARRAY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/tokenuno.hxx b/sc/inc/tokenuno.hxx deleted file mode 100644 index bb9d224a5..000000000 --- a/sc/inc/tokenuno.hxx +++ /dev/null @@ -1,160 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TOKENUNO_HXX -#define SC_TOKENUNO_HXX - -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/sheet/FormulaOpCodeMapEntry.hpp> -#include <com/sun/star/sheet/FormulaToken.hpp> -#include <com/sun/star/sheet/XFormulaParser.hpp> -#include <cppuhelper/implbase3.hxx> -#include <svl/lstner.hxx> -#include <formula/FormulaOpCodeMapperObj.hxx> -#include "address.hxx" -#include "compiler.hxx" - -class ScTokenArray; -class ScDocShell; - -// ============================================================================ - -class ScTokenConversion -{ -public: - static bool ConvertToTokenArray( - ScDocument& rDoc, - ScTokenArray& rTokenArray, - const com::sun::star::uno::Sequence< com::sun::star::sheet::FormulaToken >& rSequence ); - static bool ConvertToTokenSequence( - ScDocument& rDoc, - com::sun::star::uno::Sequence< com::sun::star::sheet::FormulaToken >& rSequence, - const ScTokenArray& rTokenArray ); -}; - -// ============================================================================ - -class ScFormulaParserObj : public ::cppu::WeakImplHelper3< - ::com::sun::star::sheet::XFormulaParser, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceInfo >, - public SfxListener -{ -private: - ::com::sun::star::uno::Sequence< const ::com::sun::star::sheet::FormulaOpCodeMapEntry > maOpCodeMapping; - ::com::sun::star::uno::Sequence< const ::com::sun::star::sheet::ExternalLinkInfo > maExternalLinks; - ScCompiler::OpCodeMapPtr mxOpCodeMap; - ScDocShell* mpDocShell; - sal_Int16 mnConv; - bool mbEnglish; - bool mbIgnoreSpaces; - bool mbCompileFAP; - - void SetCompilerFlags( ScCompiler& rCompiler ) const; - -public: - ScFormulaParserObj(ScDocShell* pDocSh); - virtual ~ScFormulaParserObj(); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XFormulaParser - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL parseFormula( - const ::rtl::OUString& aFormula, - const ::com::sun::star::table::CellAddress& rReferencePos ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL printFormula( const ::com::sun::star::uno::Sequence< - ::com::sun::star::sheet::FormulaToken >& aTokens, - const ::com::sun::star::table::CellAddress& rReferencePos ) - throw (::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); -}; - -// ============================================================================ - -class ScFormulaOpCodeMapperObj : public formula::FormulaOpCodeMapperObj -{ -public: - ScFormulaOpCodeMapperObj(::std::auto_ptr<formula::FormulaCompiler> _pCompiler); -}; - -// ============================================================================ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/types.hxx b/sc/inc/types.hxx deleted file mode 100644 index bb454a9e0..000000000 --- a/sc/inc/types.hxx +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Initial Developer of the Original Code is - * Novell, Inc. - * Portions created by the Initial Developer are Copyright (C) 2010 the - * Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#ifndef __SC_TYPES_HXX__ -#define __SC_TYPES_HXX__ - -#include <boost/intrusive_ptr.hpp> - -class ScMatrix; - -typedef ::boost::intrusive_ptr<ScMatrix> ScMatrixRef; -typedef ::boost::intrusive_ptr<const ScMatrix> ScConstMatrixRef; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/undorangename.hxx b/sc/inc/undorangename.hxx deleted file mode 100644 index 7a50f82e3..000000000 --- a/sc/inc/undorangename.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Initial Developer of the Original Code is - * Kohei Yoshida <kyoshida@novell.com> (Novell, Inc) - * Portions created by the Initial Developer are Copyright (C) 2010 the - * Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#ifndef __SC_UNDORANGENAME_HXX__ -#define __SC_UNDORANGENAME_HXX__ - -#include "undobase.hxx" -#include "rangenam.hxx" - -class ScDocShell; - -/** - * Undo object for named ranges, both in global and sheet-local scopes. - */ -class ScUndoAllRangeNames : public ScSimpleUndo -{ -public: - ScUndoAllRangeNames(ScDocShell* pDocSh, - const ScRangeName* pOldGlobal, - const ScRangeName* pNewGlobal, - const ScRangeName::TabNameCopyMap& rOldLocal, - const ScRangeName::TabNameCopyMap& rNewLocal); - - virtual ~ScUndoAllRangeNames(); - - virtual void Undo(); - virtual void Redo(); - virtual void Repeat(SfxRepeatTarget& rTarget); - virtual sal_Bool CanRepeat(SfxRepeatTarget& rTarget) const; - virtual String GetComment() const; - -private: - void DoChange(const ScRangeName& rGlobal, const ScRangeName::TabNameMap& rLocal); - -private: - ScRangeName maOldGlobalNames; - ScRangeName maNewGlobalNames; - ScRangeName::TabNameMap maOldLocalNames; - ScRangeName::TabNameMap maNewLocalNames; -}; - -#endif diff --git a/sc/inc/unitconv.hxx b/sc/inc/unitconv.hxx deleted file mode 100644 index 2b82f863f..000000000 --- a/sc/inc/unitconv.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_UNITCONV_HXX -#define SC_UNITCONV_HXX - -#include "collect.hxx" - - -class ScUnitConverterData : public StrData -{ - double fValue; - - // not implemented - ScUnitConverterData& operator=( const ScUnitConverterData& ); - -public: - ScUnitConverterData( const String& rFromUnit, - const String& rToUnit, double fValue = 1.0 ); - ScUnitConverterData( const ScUnitConverterData& ); - virtual ~ScUnitConverterData() {}; - - virtual ScDataObject* Clone() const; - - double GetValue() const { return fValue; } - - static void BuildIndexString( String& rStr, - const String& rFromUnit, const String& rToUnit ); - -}; - - -class ScUnitConverter : public ScStrCollection -{ - // not implemented - ScUnitConverter( const ScUnitConverter& ); - ScUnitConverter& operator=( const ScUnitConverter& ); - -public: - ScUnitConverter( sal_uInt16 nInit = 16, sal_uInt16 nDelta = 4 ); - virtual ~ScUnitConverter() {}; - - sal_Bool GetValue( double& fValue, const String& rFromUnit, - const String& rToUnit ) const; -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/unonames.hxx b/sc/inc/unonames.hxx deleted file mode 100644 index f826e369e..000000000 --- a/sc/inc/unonames.hxx +++ /dev/null @@ -1,658 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_UNONAMES_HXX -#define SC_UNONAMES_HXX - -// service names -#define SC_SERVICENAME_VALBIND "com.sun.star.table.CellValueBinding" -#define SC_SERVICENAME_LISTCELLBIND "com.sun.star.table.ListPositionCellBinding" -#define SC_SERVICENAME_LISTSOURCE "com.sun.star.table.CellRangeListSource" -#define SC_SERVICENAME_CELLADDRESS "com.sun.star.table.CellAddressConversion" -#define SC_SERVICENAME_RANGEADDRESS "com.sun.star.table.CellRangeAddressConversion" - -#define SC_SERVICENAME_FORMULAPARS "com.sun.star.sheet.FormulaParser" -#define SC_SERVICENAME_OPCODEMAPPER "com.sun.star.sheet.FormulaOpCodeMapper" - -#define SC_SERVICENAME_CHDATAPROV "com.sun.star.chart2.data.DataProvider" -#define SC_SERVICENAME_CHRANGEHILIGHT "com.sun.star.chart2.data.RangeHighlightListener" - -// document -#define SC_UNO_AREALINKS "AreaLinks" -#define SC_UNO_DDELINKS "DDELinks" -#define SC_UNO_EXTERNALDOCLINKS "ExternalDocLinks" -#define SC_UNO_COLLABELRNG "ColumnLabelRanges" -#define SC_UNO_DATABASERNG "DatabaseRanges" -#define SC_UNO_UNNAMEDDBRNG "UnnamedDatabaseRanges" -#define SC_UNO_NAMEDRANGES "NamedRanges" -#define SC_UNO_ROWLABELRNG "RowLabelRanges" -#define SC_UNO_SHEETLINKS "SheetLinks" -#define SC_UNO_FORBIDDEN "ForbiddenCharacters" -#define SC_UNO_HASDRAWPAGES "HasDrawPages" - -// CharacterProperties -#define SC_UNONAME_CCOLOR "CharColor" -#define SC_UNONAME_CHEIGHT "CharHeight" -#define SC_UNONAME_CUNDER "CharUnderline" -#define SC_UNONAME_CUNDLCOL "CharUnderlineColor" -#define SC_UNONAME_CUNDLHAS "CharUnderlineHasColor" -#define SC_UNONAME_COVER "CharOverline" -#define SC_UNONAME_COVRLCOL "CharOverlineColor" -#define SC_UNONAME_COVRLHAS "CharOverlineHasColor" -#define SC_UNONAME_CWEIGHT "CharWeight" -#define SC_UNONAME_CPOST "CharPosture" -#define SC_UNONAME_CCROSS "CharCrossedOut" -#define SC_UNONAME_CSTRIKE "CharStrikeout" -#define SC_UNONAME_CLOCAL "CharLocale" -#define SC_UNONAME_CSHADD "CharShadowed" -#define SC_UNONAME_CFONT "CharFont" -#define SC_UNONAME_COUTL "CharContoured" -#define SC_UNONAME_CEMPHAS "CharEmphasis" -#define SC_UNONAME_CFNAME "CharFontName" -#define SC_UNONAME_CFSTYLE "CharFontStyleName" -#define SC_UNONAME_CFFAMIL "CharFontFamily" -#define SC_UNONAME_CFCHARS "CharFontCharSet" -#define SC_UNONAME_CFPITCH "CharFontPitch" -#define SC_UNONAME_CRELIEF "CharRelief" -#define SC_UNONAME_CWORDMOD "CharWordMode" - -#define SC_UNO_CJK_CFNAME "CharFontNameAsian" -#define SC_UNO_CJK_CFSTYLE "CharFontStyleNameAsian" -#define SC_UNO_CJK_CFFAMIL "CharFontFamilyAsian" -#define SC_UNO_CJK_CFCHARS "CharFontCharSetAsian" -#define SC_UNO_CJK_CFPITCH "CharFontPitchAsian" -#define SC_UNO_CJK_CHEIGHT "CharHeightAsian" -#define SC_UNO_CJK_CWEIGHT "CharWeightAsian" -#define SC_UNO_CJK_CPOST "CharPostureAsian" -#define SC_UNO_CJK_CLOCAL "CharLocaleAsian" - -#define SC_UNO_CTL_CFNAME "CharFontNameComplex" -#define SC_UNO_CTL_CFSTYLE "CharFontStyleNameComplex" -#define SC_UNO_CTL_CFFAMIL "CharFontFamilyComplex" -#define SC_UNO_CTL_CFCHARS "CharFontCharSetComplex" -#define SC_UNO_CTL_CFPITCH "CharFontPitchComplex" -#define SC_UNO_CTL_CHEIGHT "CharHeightComplex" -#define SC_UNO_CTL_CWEIGHT "CharWeightComplex" -#define SC_UNO_CTL_CPOST "CharPostureComplex" -#define SC_UNO_CTL_CLOCAL "CharLocaleComplex" - -// CellProperties -#define SC_UNONAME_CELLSTYL "CellStyle" -#define SC_UNONAME_CELLBACK "CellBackColor" -#define SC_UNONAME_CELLTRAN "IsCellBackgroundTransparent" -#define SC_UNONAME_CELLPRO "CellProtection" -#define SC_UNONAME_CELLHJUS "HoriJustify" -#define SC_UNONAME_CELLVJUS "VertJustify" -#define SC_UNONAME_CELLHJUS_METHOD "HoriJustifyMethod" -#define SC_UNONAME_CELLVJUS_METHOD "VertJustifyMethod" -#define SC_UNONAME_CELLORI "Orientation" -#define SC_UNONAME_NUMFMT "NumberFormat" -#define SC_UNONAME_SHADOW "ShadowFormat" -#define SC_UNONAME_TBLBORD "TableBorder" -#define SC_UNONAME_WRAP "IsTextWrapped" -#define SC_UNONAME_PINDENT "ParaIndent" -#define SC_UNONAME_PTMARGIN "ParaTopMargin" -#define SC_UNONAME_PBMARGIN "ParaBottomMargin" -#define SC_UNONAME_PLMARGIN "ParaLeftMargin" -#define SC_UNONAME_PRMARGIN "ParaRightMargin" -#define SC_UNONAME_ROTANG "RotateAngle" -#define SC_UNONAME_ROTREF "RotateReference" -#define SC_UNONAME_ASIANVERT "AsianVerticalMode" -#define SC_UNONAME_WRITING "WritingMode" - -#define SC_UNONAME_BOTTBORDER "BottomBorder" -#define SC_UNONAME_LEFTBORDER "LeftBorder" -#define SC_UNONAME_RIGHTBORDER "RightBorder" -#define SC_UNONAME_TOPBORDER "TopBorder" - -#define SC_UNONAME_DIAGONAL_TLBR "DiagonalTLBR" -#define SC_UNONAME_DIAGONAL_BLTR "DiagonalBLTR" - -#define SC_UNONAME_SHRINK_TO_FIT "ShrinkToFit" - -#define SC_UNONAME_PISHANG "ParaIsHangingPunctuation" -#define SC_UNONAME_PISCHDIST "ParaIsCharacterDistance" -#define SC_UNONAME_PISFORBID "ParaIsForbiddenRules" -#define SC_UNONAME_PISHYPHEN "ParaIsHyphenation" -#define SC_UNONAME_PADJUST "ParaAdjust" -#define SC_UNONAME_PLASTADJ "ParaLastLineAdjust" - -#define SC_UNONAME_NUMRULES "NumberingRules" - -// Styles -#define SC_UNONAME_DISPNAME "DisplayName" - -// XStyleLoader -#define SC_UNONAME_OVERWSTL "OverwriteStyles" -#define SC_UNONAME_LOADCELL "LoadCellStyles" -#define SC_UNONAME_LOADPAGE "LoadPageStyles" - -// SheetCellRange -#define SC_UNONAME_POS "Position" -#define SC_UNONAME_SIZE "Size" -#define SC_UNONAME_ABSNAME "AbsoluteName" - -// column/row/sheet -#define SC_UNONAME_CELLHGT "Height" -#define SC_UNONAME_CELLWID "Width" -#define SC_UNONAME_CELLVIS "IsVisible" -#define SC_UNONAME_CELLFILT "IsFiltered" -#define SC_UNONAME_MANPAGE "IsManualPageBreak" -#define SC_UNONAME_NEWPAGE "IsStartOfNewPage" -#define SC_UNONAME_OHEIGHT "OptimalHeight" -#define SC_UNONAME_OWIDTH "OptimalWidth" -#define SC_UNONAME_PAGESTL "PageStyle" -#define SC_UNONAME_ISACTIVE "IsActive" -#define SC_UNONAME_BORDCOL "BorderColor" -#define SC_UNONAME_PROTECT "Protected" -#define SC_UNONAME_SHOWBORD "ShowBorder" -#define SC_UNONAME_PRINTBORD "PrintBorder" -#define SC_UNONAME_COPYBACK "CopyBack" -#define SC_UNONAME_COPYSTYL "CopyStyles" -#define SC_UNONAME_COPYFORM "CopyFormulas" -#define SC_UNONAME_TABLAYOUT "TableLayout" -#define SC_UNONAME_AUTOPRINT "AutomaticPrintArea" -#define SC_UNONAME_TABCOLOR "TabColor" - -// LinkTarget -#define SC_UNO_LINKDISPBIT "LinkDisplayBitmap" -#define SC_UNO_LINKDISPNAME "LinkDisplayName" - -// drawing objects -#define SC_UNONAME_IMAGEMAP "ImageMap" -#define SC_UNONAME_ANCHOR "Anchor" -#define SC_UNONAME_HORIPOS "HoriOrientPosition" -#define SC_UNONAME_VERTPOS "VertOrientPosition" -// #i66550 HLINK_FOR_SHAPES -#define SC_UNONAME_HYPERLINK "Hyperlink" -#define SC_UNONAME_MOVEPROTECT "MoveProtect" -#define SC_UNONAME_SIZEPROTECT "SizeProtect" - -// other cell properties -#define SC_UNONAME_CHCOLHDR "ChartColumnAsLabel" -#define SC_UNONAME_CHROWHDR "ChartRowAsLabel" -#define SC_UNONAME_CONDFMT "ConditionalFormat" -#define SC_UNONAME_CONDLOC "ConditionalFormatLocal" -#define SC_UNONAME_CONDXML "ConditionalFormatXML" -#define SC_UNONAME_VALIDAT "Validation" -#define SC_UNONAME_VALILOC "ValidationLocal" -#define SC_UNONAME_VALIXML "ValidationXML" -#define SC_UNONAME_FORMLOC "FormulaLocal" -#define SC_UNONAME_FORMRT "FormulaResultType" - -#define SC_UNONAME_USERDEF "UserDefinedAttributes" -#define SC_UNONAME_TEXTUSER "TextUserDefinedAttributes" - -// auto format -#define SC_UNONAME_INCBACK "IncludeBackground" -#define SC_UNONAME_INCBORD "IncludeBorder" -#define SC_UNONAME_INCFONT "IncludeFont" -#define SC_UNONAME_INCJUST "IncludeJustify" -#define SC_UNONAME_INCNUM "IncludeNumberFormat" -#define SC_UNONAME_INCWIDTH "IncludeWidthAndHeight" - -// function description -#define SC_UNONAME_ARGUMENTS "Arguments" -#define SC_UNONAME_CATEGORY "Category" -#define SC_UNONAME_DESCRIPTION "Description" -#define SC_UNONAME_ID "Id" -#define SC_UNONAME_NAME "Name" - -// application settings -#define SC_UNONAME_DOAUTOCP "DoAutoComplete" -#define SC_UNONAME_ENTERED "EnterEdit" -#define SC_UNONAME_EXPREF "ExpandReferences" -#define SC_UNONAME_EXTFMT "ExtendFormat" -#define SC_UNONAME_LINKUPD "LinkUpdateMode" -#define SC_UNONAME_MARKHDR "MarkHeader" -#define SC_UNONAME_METRIC "Metric" -#define SC_UNONAME_MOVEDIR "MoveDirection" -#define SC_UNONAME_MOVESEL "MoveSelection" -#define SC_UNONAME_RANGEFIN "RangeFinder" -#define SC_UNONAME_SCALE "Scale" -#define SC_UNONAME_STBFUNC "StatusBarFunction" -#define SC_UNONAME_ULISTS "UserLists" -#define SC_UNONAME_USETABCOL "UseTabCol" -#define SC_UNONAME_PRMETRICS "UsePrinterMetrics" -#define SC_UNONAME_PRALLSH "PrintAllSheets" -#define SC_UNONAME_PREMPTY "PrintEmptyPages" -#define SC_UNONAME_REPLWARN "ReplaceCellsWarning" - -// data pilot field -#define SC_UNONAME_FUNCTION "Function" -#define SC_UNONAME_SUBTOTALS "Subtotals" -#define SC_UNONAME_SELPAGE "SelectedPage" -#define SC_UNONAME_USESELPAGE "UseSelectedPage" -#define SC_UNONAME_HASREFERENCE "HasReference" -#define SC_UNONAME_REFERENCE "Reference" -#define SC_UNONAME_HASAUTOSHOW "HasAutoShowInfo" -#define SC_UNONAME_AUTOSHOW "AutoShowInfo" -#define SC_UNONAME_HASSORTINFO "HasSortInfo" -#define SC_UNONAME_SORTINFO "SortInfo" -#define SC_UNONAME_HASLAYOUTINFO "HasLayoutInfo" -#define SC_UNONAME_LAYOUTINFO "LayoutInfo" -#define SC_UNONAME_ISGROUP "IsGroupField" -#define SC_UNONAME_GROUPINFO "GroupInfo" -#define SC_UNONAME_SHOWEMPTY "ShowEmpty" - -// data pilot item -#define SC_UNONAME_SHOWDETAIL "ShowDetail" -#define SC_UNONAME_ISHIDDEN "IsHidden" - -// database options -#define SC_UNONAME_CASE "CaseSensitive" -#define SC_UNONAME_DBNAME "DatabaseName" -#define SC_UNONAME_FORMATS "IncludeFormats" -#define SC_UNONAME_INSBRK "InsertPageBreaks" -#define SC_UNONAME_KEEPFORM "KeepFormats" -#define SC_UNONAME_MOVCELLS "MoveCells" -#define SC_UNONAME_ISUSER "IsUserDefined" -#define SC_UNONAME_ISNATIVE "IsNative" -#define SC_UNONAME_REGEXP "RegularExpressions" -#define SC_UNONAME_SAVEOUT "SaveOutputPosition" -#define SC_UNONAME_SKIPDUP "SkipDuplicates" -#define SC_UNONAME_SRCOBJ "SourceObject" -#define SC_UNONAME_SRCTYPE "SourceType" -#define SC_UNONAME_STRIPDAT "StripData" -#define SC_UNONAME_UNIQUE "UniqueOnly" -#define SC_UNONAME_USEREGEX "UseRegularExpressions" -#define SC_UNONAME_ULIST "UserListEnabled" -#define SC_UNONAME_UINDEX "UserListIndex" -#define SC_UNONAME_BINDFMT "BindFormatsToContent" -#define SC_UNONAME_COPYOUT "CopyOutputData" -#define SC_UNONAME_ISCASE "IsCaseSensitive" -#define SC_UNONAME_ISULIST "IsUserListEnabled" -#define SC_UNONAME_OUTPOS "OutputPosition" -#define SC_UNONAME_CONTHDR "ContainsHeader" -#define SC_UNONAME_MAXFLD "MaxFieldCount" -#define SC_UNONAME_ORIENT "Orientation" -#define SC_UNONAME_ISSORTCOLUMNS "IsSortColumns" -#define SC_UNONAME_SORTFLD "SortFields" -#define SC_UNONAME_SORTASC "SortAscending" -#define SC_UNONAME_ENUSLIST "EnableUserSortList" -#define SC_UNONAME_USINDEX "UserSortListIndex" -#define SC_UNONAME_COLLLOC "CollatorLocale" -#define SC_UNONAME_COLLALG "CollatorAlgorithm" -#define SC_UNONAME_AUTOFLT "AutoFilter" -#define SC_UNONAME_FLTCRT "FilterCriteriaSource" -#define SC_UNONAME_USEFLTCRT "UseFilterCriteriaSource" -#define SC_UNONAME_ENABSORT "EnableSort" -#define SC_UNONAME_FROMSELECT "FromSelection" -#define SC_UNONAME_CONRES "ConnectionResource" -#define SC_UNONAME_TOKENINDEX "TokenIndex" -#define SC_UNONAME_ISSHAREDFMLA "IsSharedFormula" - -// text fields -#define SC_UNONAME_ANCTYPE "AnchorType" -#define SC_UNONAME_ANCTYPES "AnchorTypes" -#define SC_UNONAME_TEXTWRAP "TextWrap" -#define SC_UNONAME_FILEFORM "FileFormat" - -// url field -#define SC_UNONAME_REPR "Representation" -#define SC_UNONAME_TARGET "TargetFrame" -#define SC_UNONAME_URL "URL" - -// conditional format -#define SC_UNONAME_OPERATOR "Operator" -#define SC_UNONAME_FORMULA1 "Formula1" -#define SC_UNONAME_FORMULA2 "Formula2" -#define SC_UNONAME_SOURCEPOS "SourcePosition" -#define SC_UNONAME_SOURCESTR "SourcePositionAsString" // only for use in XML filter -#define SC_UNONAME_FORMULANMSP1 "FormulaNamespace1" // only for use in XML filter -#define SC_UNONAME_FORMULANMSP2 "FormulaNamespace2" // only for use in XML filter -#define SC_UNONAME_GRAMMAR1 "Grammar1" // only for use in XML filter -#define SC_UNONAME_GRAMMAR2 "Grammar2" // only for use in XML filter -#define SC_UNONAME_STYLENAME "StyleName" - -// validation -#define SC_UNONAME_ERRALSTY "ErrorAlertStyle" -#define SC_UNONAME_ERRMESS "ErrorMessage" -#define SC_UNONAME_ERRTITLE "ErrorTitle" -#define SC_UNONAME_IGNOREBL "IgnoreBlankCells" -#define SC_UNONAME_INPMESS "InputMessage" -#define SC_UNONAME_INPTITLE "InputTitle" -#define SC_UNONAME_SHOWERR "ShowErrorMessage" -#define SC_UNONAME_SHOWINP "ShowInputMessage" -#define SC_UNONAME_SHOWLIST "ShowList" -#define SC_UNONAME_TYPE "Type" - -// links -#define SC_UNONAME_FILTER "Filter" -#define SC_UNONAME_FILTOPT "FilterOptions" -#define SC_UNONAME_LINKURL "Url" -#define SC_UNONAME_REFPERIOD "RefreshPeriod" -#define SC_UNONAME_REFDELAY "RefreshDelay" // deprecated, don't use anymore - -// search descriptor -#define SC_UNO_SRCHBACK "SearchBackwards" -#define SC_UNO_SRCHBYROW "SearchByRow" -#define SC_UNO_SRCHCASE "SearchCaseSensitive" -#define SC_UNO_SRCHREGEXP "SearchRegularExpression" -#define SC_UNO_SRCHSIM "SearchSimilarity" -#define SC_UNO_SRCHSIMADD "SearchSimilarityAdd" -#define SC_UNO_SRCHSIMEX "SearchSimilarityExchange" -#define SC_UNO_SRCHSIMREL "SearchSimilarityRelax" -#define SC_UNO_SRCHSIMREM "SearchSimilarityRemove" -#define SC_UNO_SRCHSTYLES "SearchStyles" -#define SC_UNO_SRCHTYPE "SearchType" -#define SC_UNO_SRCHWORDS "SearchWords" -#define SC_UNO_SRCHFILTERED "SearchFiltered" - -// old (5.2) property names for page styles - for compatibility only! -#define OLD_UNO_PAGE_BACKCOLOR "BackgroundColor" -#define OLD_UNO_PAGE_BACKTRANS "IsBackgroundTransparent" -#define OLD_UNO_PAGE_HDRBACKCOL "HeaderBackgroundColor" -#define OLD_UNO_PAGE_HDRBACKTRAN "TransparentHeaderBackground" -#define OLD_UNO_PAGE_HDRSHARED "HeaderShared" -#define OLD_UNO_PAGE_HDRDYNAMIC "HeaderDynamic" -#define OLD_UNO_PAGE_HDRON "HeaderOn" -#define OLD_UNO_PAGE_FTRBACKCOL "FooterBackgroundColor" -#define OLD_UNO_PAGE_FTRBACKTRAN "TransparentFooterBackground" -#define OLD_UNO_PAGE_FTRSHARED "FooterShared" -#define OLD_UNO_PAGE_FTRDYNAMIC "FooterDynamic" -#define OLD_UNO_PAGE_FTRON "FooterOn" - -// page styles -#define SC_UNO_PAGE_BACKCOLOR "BackColor" -#define SC_UNO_PAGE_BACKTRANS "BackTransparent" -#define SC_UNO_PAGE_GRAPHICFILT "BackGraphicFilter" -#define SC_UNO_PAGE_GRAPHICLOC "BackGraphicLocation" -#define SC_UNO_PAGE_GRAPHICURL "BackGraphicURL" -#define SC_UNO_PAGE_LEFTBORDER SC_UNONAME_LEFTBORDER -#define SC_UNO_PAGE_RIGHTBORDER SC_UNONAME_RIGHTBORDER -#define SC_UNO_PAGE_BOTTBORDER SC_UNONAME_BOTTBORDER -#define SC_UNO_PAGE_TOPBORDER SC_UNONAME_TOPBORDER -#define SC_UNO_PAGE_LEFTBRDDIST "LeftBorderDistance" -#define SC_UNO_PAGE_RIGHTBRDDIST "RightBorderDistance" -#define SC_UNO_PAGE_BOTTBRDDIST "BottomBorderDistance" -#define SC_UNO_PAGE_TOPBRDDIST "TopBorderDistance" -#define SC_UNO_PAGE_BORDERDIST "BorderDistance" -#define SC_UNO_PAGE_SHADOWFORM "ShadowFormat" -#define SC_UNO_PAGE_LEFTMARGIN "LeftMargin" -#define SC_UNO_PAGE_RIGHTMARGIN "RightMargin" -#define SC_UNO_PAGE_TOPMARGIN "TopMargin" -#define SC_UNO_PAGE_BOTTMARGIN "BottomMargin" -#define SC_UNO_PAGE_LANDSCAPE "IsLandscape" -#define SC_UNO_PAGE_NUMBERTYPE "NumberingType" -#define SC_UNO_PAGE_SYTLELAYOUT "PageStyleLayout" -#define SC_UNO_PAGE_PAPERTRAY "PrinterPaperTray" -#define SC_UNO_PAGE_SIZE "Size" -#define SC_UNO_PAGE_WIDTH "Width" -#define SC_UNO_PAGE_HEIGHT "Height" -#define SC_UNO_PAGE_CENTERHOR "CenterHorizontally" -#define SC_UNO_PAGE_CENTERVER "CenterVertically" -#define SC_UNO_PAGE_PRINTANNOT "PrintAnnotations" -#define SC_UNO_PAGE_PRINTGRID "PrintGrid" -#define SC_UNO_PAGE_PRINTHEADER "PrintHeaders" -#define SC_UNO_PAGE_PRINTCHARTS "PrintCharts" -#define SC_UNO_PAGE_PRINTOBJS "PrintObjects" -#define SC_UNO_PAGE_PRINTDRAW "PrintDrawing" -#define SC_UNO_PAGE_PRINTDOWN "PrintDownFirst" -#define SC_UNO_PAGE_SCALEVAL "PageScale" -#define SC_UNO_PAGE_SCALETOPAG "ScaleToPages" -#define SC_UNO_PAGE_SCALETOX "ScaleToPagesX" -#define SC_UNO_PAGE_SCALETOY "ScaleToPagesY" -#define SC_UNO_PAGE_FIRSTPAGE "FirstPageNumber" -#define SC_UNO_PAGE_LEFTHDRCONT "LeftPageHeaderContent" -#define SC_UNO_PAGE_LEFTFTRCONT "LeftPageFooterContent" -#define SC_UNO_PAGE_RIGHTHDRCON "RightPageHeaderContent" -#define SC_UNO_PAGE_RIGHTFTRCON "RightPageFooterContent" -#define SC_UNO_PAGE_PRINTFORMUL "PrintFormulas" -#define SC_UNO_PAGE_PRINTZERO "PrintZeroValues" -#define SC_UNO_PAGE_HDRBACKCOL "HeaderBackColor" -#define SC_UNO_PAGE_HDRBACKTRAN "HeaderBackTransparent" -#define SC_UNO_PAGE_HDRGRFFILT "HeaderBackGraphicFilter" -#define SC_UNO_PAGE_HDRGRFLOC "HeaderBackGraphicLocation" -#define SC_UNO_PAGE_HDRGRFURL "HeaderBackGraphicURL" -#define SC_UNO_PAGE_HDRLEFTBOR "HeaderLeftBorder" -#define SC_UNO_PAGE_HDRRIGHTBOR "HeaderRightBorder" -#define SC_UNO_PAGE_HDRBOTTBOR "HeaderBottomBorder" -#define SC_UNO_PAGE_HDRTOPBOR "HeaderTopBorder" -#define SC_UNO_PAGE_HDRLEFTBDIS "HeaderLeftBorderDistance" -#define SC_UNO_PAGE_HDRRIGHTBDIS "HeaderRightBorderDistance" -#define SC_UNO_PAGE_HDRBOTTBDIS "HeaderBottomBorderDistance" -#define SC_UNO_PAGE_HDRTOPBDIS "HeaderTopBorderDistance" -#define SC_UNO_PAGE_HDRBRDDIST "HeaderBorderDistance" -#define SC_UNO_PAGE_HDRSHADOW "HeaderShadowFormat" -#define SC_UNO_PAGE_HDRLEFTMAR "HeaderLeftMargin" -#define SC_UNO_PAGE_HDRRIGHTMAR "HeaderRightMargin" -#define SC_UNO_PAGE_HDRBODYDIST "HeaderBodyDistance" -#define SC_UNO_PAGE_HDRHEIGHT "HeaderHeight" -#define SC_UNO_PAGE_HDRON "HeaderIsOn" -#define SC_UNO_PAGE_HDRDYNAMIC "HeaderIsDynamicHeight" -#define SC_UNO_PAGE_HDRSHARED "HeaderIsShared" -#define SC_UNO_PAGE_FTRBACKCOL "FooterBackColor" -#define SC_UNO_PAGE_FTRBACKTRAN "FooterBackTransparent" -#define SC_UNO_PAGE_FTRGRFFILT "FooterBackGraphicFilter" -#define SC_UNO_PAGE_FTRGRFLOC "FooterBackGraphicLocation" -#define SC_UNO_PAGE_FTRGRFURL "FooterBackGraphicURL" -#define SC_UNO_PAGE_FTRLEFTBOR "FooterLeftBorder" -#define SC_UNO_PAGE_FTRRIGHTBOR "FooterRightBorder" -#define SC_UNO_PAGE_FTRBOTTBOR "FooterBottomBorder" -#define SC_UNO_PAGE_FTRTOPBOR "FooterTopBorder" -#define SC_UNO_PAGE_FTRLEFTBDIS "FooterLeftBorderDistance" -#define SC_UNO_PAGE_FTRRIGHTBDIS "FooterRightBorderDistance" -#define SC_UNO_PAGE_FTRBOTTBDIS "FooterBottomBorderDistance" -#define SC_UNO_PAGE_FTRTOPBDIS "FooterTopBorderDistance" -#define SC_UNO_PAGE_FTRBRDDIST "FooterBorderDistance" -#define SC_UNO_PAGE_FTRSHADOW "FooterShadowFormat" -#define SC_UNO_PAGE_FTRLEFTMAR "FooterLeftMargin" -#define SC_UNO_PAGE_FTRRIGHTMAR "FooterRightMargin" -#define SC_UNO_PAGE_FTRBODYDIST "FooterBodyDistance" -#define SC_UNO_PAGE_FTRHEIGHT "FooterHeight" -#define SC_UNO_PAGE_FTRON "FooterIsOn" -#define SC_UNO_PAGE_FTRDYNAMIC "FooterIsDynamicHeight" -#define SC_UNO_PAGE_FTRSHARED "FooterIsShared" - -// document settings -#define SC_UNO_CALCASSHOWN "CalcAsShown" -#define SC_UNO_DEFTABSTOP "DefaultTabStop" -#define SC_UNO_TABSTOPDIS "TabStopDistance" // is the same like the before, but only the writer name -#define SC_UNO_IGNORECASE "IgnoreCase" -#define SC_UNO_ITERCOUNT "IterationCount" -#define SC_UNO_ITERENABLED "IsIterationEnabled" -#define SC_UNO_ITEREPSILON "IterationEpsilon" -#define SC_UNO_LOOKUPLABELS "LookUpLabels" -#define SC_UNO_MATCHWHOLE "MatchWholeCell" -#define SC_UNO_NULLDATE "NullDate" -#define SC_UNO_SPELLONLINE "SpellOnline" -#define SC_UNO_STANDARDDEC "StandardDecimals" -#define SC_UNO_REGEXENABLED "RegularExpressions" -#define SC_UNO_BASICLIBRARIES "BasicLibraries" -#define SC_UNO_DIALOGLIBRARIES "DialogLibraries" -#define SC_UNO_RUNTIMEUID "RuntimeUID" -#define SC_UNO_HASVALIDSIGNATURES "HasValidSignatures" -#define SC_UNO_ISLOADED "IsLoaded" -#define SC_UNO_ISUNDOENABLED "IsUndoEnabled" -#define SC_UNO_ISADJUSTHEIGHTENABLED "IsAdjustHeightEnabled" -#define SC_UNO_ISEXECUTELINKENABLED "IsExecuteLinkEnabled" -#define SC_UNO_ISCHANGEREADONLYENABLED "IsChangeReadOnlyEnabled" -#define SC_UNO_REFERENCEDEVICE "ReferenceDevice" -#define SC_UNO_CODENAME "CodeName" - -// document properties from FormModel -#define SC_UNO_APPLYFMDES "ApplyFormDesignMode" -#define SC_UNO_AUTOCONTFOC "AutomaticControlFocus" - -// view options -#define SC_UNO_COLROWHDR "HasColumnRowHeaders" -#define SC_UNO_GRIDCOLOR "GridColor" -#define SC_UNO_HIDESPELL "HideSpellMarks" /* deprecated #i91949 */ -#define SC_UNO_HORSCROLL "HasHorizontalScrollBar" -#define SC_UNO_OUTLSYMB "IsOutlineSymbolsSet" -#define SC_UNO_SHEETTABS "HasSheetTabs" -#define SC_UNO_SHOWANCHOR "ShowAnchor" -#define SC_UNO_SHOWCHARTS "ShowCharts" -#define SC_UNO_SHOWDRAW "ShowDrawing" -#define SC_UNO_SHOWFORM "ShowFormulas" -#define SC_UNO_SHOWGRID "ShowGrid" -#define SC_UNO_SHOWHELP "ShowHelpLines" -#define SC_UNO_SHOWNOTES "ShowNotes" -#define SC_UNO_SHOWOBJ "ShowObjects" -#define SC_UNO_SHOWPAGEBR "ShowPageBreaks" -#define SC_UNO_SHOWZERO "ShowZeroValues" -#define SC_UNO_SHOWSOLID "SolidHandles" -#define SC_UNO_VALUEHIGH "IsValueHighlightingEnabled" -#define SC_UNO_VERTSCROLL "HasVerticalScrollBar" -#define SC_UNO_SNAPTORASTER "IsSnapToRaster" -#define SC_UNO_RASTERVIS "RasterIsVisible" -#define SC_UNO_RASTERRESX "RasterResolutionX" -#define SC_UNO_RASTERRESY "RasterResolutionY" -#define SC_UNO_RASTERSUBX "RasterSubdivisionX" -#define SC_UNO_RASTERSUBY "RasterSubdivisionY" -#define SC_UNO_RASTERSYNC "IsRasterAxisSynchronized" -#define SC_UNO_AUTOCALC "AutoCalculate" -#define SC_UNO_PRINTERNAME "PrinterName" -#define SC_UNO_PRINTERSETUP "PrinterSetup" -#define SC_UNO_APPLYDOCINF "ApplyUserData" -#define SC_UNO_CHARCOMP "CharacterCompressionType" -#define SC_UNO_ASIANKERN "IsKernAsianPunctuation" -#define SC_UNO_VISAREA "VisibleArea" -#define SC_UNO_ZOOMTYPE "ZoomType" -#define SC_UNO_ZOOMVALUE "ZoomValue" -#define SC_UNO_UPDTEMPL "UpdateFromTemplate" -#define SC_UNO_FILTERED_RANGE_SELECTION "FilteredRangeSelection" -#define SC_UNO_VISAREASCREEN "VisibleAreaOnScreen" - -/*Stampit enable/disable print cancel */ -#define SC_UNO_ALLOWPRINTJOBCANCEL "AllowPrintJobCancel" - -// old (5.2) property names for view options - for compatibility only! -#define OLD_UNO_COLROWHDR "ColumnRowHeaders" -#define OLD_UNO_HORSCROLL "HorizontalScrollBar" -#define OLD_UNO_OUTLSYMB "OutlineSymbols" -#define OLD_UNO_SHEETTABS "SheetTabs" -#define OLD_UNO_VALUEHIGH "ValueHighlighting" -#define OLD_UNO_VERTSCROLL "VerticalScrollBar" - -// data pilot source -#define SC_UNO_COLGRAND "ColumnGrand" -#define SC_UNO_ROWGRAND "RowGrand" -#define SC_UNO_ORIGINAL "Original" -#define SC_UNO_ISDATALA "IsDataLayoutDimension" -#define SC_UNO_ORIENTAT "Orientation" -#define SC_UNO_POSITION "Position" -#define SC_UNO_FUNCTION "Function" -#define SC_UNO_USEDHIER "UsedHierarchy" -#define SC_UNO_FILTER "Filter" -#define SC_UNO_SUBTOTAL "SubTotals" -#define SC_UNO_SHOWEMPT "ShowEmpty" -#define SC_UNO_ISVISIBL "IsVisible" -#define SC_UNO_SHOWDETA "ShowDetails" -#define SC_UNO_IGNOREEM "IgnoreEmptyRows" -#define SC_UNO_REPEATIF "RepeatIfEmpty" -#define SC_UNO_DATADESC "DataDescription" -#define SC_UNO_NUMBERFO "NumberFormat" -#define SC_UNO_ROWFIELDCOUNT "RowFieldCount" -#define SC_UNO_COLUMNFIELDCOUNT "ColumnFieldCount" -#define SC_UNO_DATAFIELDCOUNT "DataFieldCount" -#define SC_UNO_LAYOUTNAME "LayoutName" -#define SC_UNO_FIELD_SUBTOTALNAME "FieldSubtotalName" -#define SC_UNO_GRANDTOTAL_NAME "GrandTotalName" -#define SC_UNO_HAS_HIDDEN_MEMBER "HasHiddenMember" -#define SC_UNO_FLAGS "Flags" - -// (preliminary:) -#define SC_UNO_REFVALUE "ReferenceValue" -#define SC_UNO_SORTING "Sorting" -#define SC_UNO_AUTOSHOW "AutoShow" -#define SC_UNO_LAYOUT "Layout" - -// data pilot descriptor -#define SC_UNO_IGNEMPROWS "IgnoreEmptyRows" -#define SC_UNO_RPTEMPTY "RepeatIfEmpty" -#define SC_UNO_DRILLDOWN "DrillDownOnDoubleClick" -#define SC_UNO_SHOWFILT "ShowFilterButton" -#define SC_UNO_IMPORTDESC "ImportDescriptor" -#define SC_UNO_SOURCESERV "SourceServiceName" -#define SC_UNO_SERVICEARG "ServiceArguments" - -// properties in data pilot descriptor ServiceArguments -#define SC_UNO_SOURCENAME "SourceName" -#define SC_UNO_OBJECTNAME "ObjectName" -#define SC_UNO_USERNAME "UserName" -#define SC_UNO_PASSWORD "Password" - -// range selection -#define SC_UNONAME_INITVAL "InitialValue" -#define SC_UNONAME_TITLE "Title" -#define SC_UNONAME_CLOSEONUP "CloseOnMouseRelease" -#define SC_UNONAME_SINGLECELL "SingleCellMode" -#define SC_UNONAME_MULTISEL "MultiSelectionMode" - -// XRenderable -#define SC_UNONAME_PAGESIZE "PageSize" -#define SC_UNONAME_RENDERDEV "RenderDevice" -#define SC_UNONAME_SOURCERANGE "SourceRange" -#define SC_UNONAME_INC_NP_AREA "PageIncludesNonprintableArea" - -// CellValueBinding -#define SC_UNONAME_BOUNDCELL "BoundCell" -// CellRangeListSource -#define SC_UNONAME_CELLRANGE "CellRange" - -// CellAddressConversion / CellRangeAddressConversion -#define SC_UNONAME_ADDRESS "Address" -#define SC_UNONAME_UIREPR "UserInterfaceRepresentation" -#define SC_UNONAME_PERSREPR "PersistentRepresentation" -#define SC_UNONAME_XLA1REPR "XLA1Representation" -#define SC_UNONAME_REFSHEET "ReferenceSheet" - -// Security options -#define SC_UNO_LOADREADONLY "LoadReadonly" -#define SC_UNO_MODIFYPASSWORDINFO "ModifyPasswordInfo" - -// FormulaParser -#define SC_UNO_COMPILEENGLISH "CompileEnglish" -#define SC_UNO_FORMULACONVENTION "FormulaConvention" -#define SC_UNO_IGNORELEADING "IgnoreLeadingSpaces" -#define SC_UNO_OPCODEMAP "OpCodeMap" -#define SC_UNO_EXTERNALLINKS "ExternalLinks" -#define SC_UNO_COMPILEFAP "CompileFAP" - -// Chart2 -#define SC_UNONAME_ROLE "Role" -#define SC_UNONAME_HIDDENVALUES "HiddenValues" -#define SC_UNONAME_INCLUDEHIDDENCELLS "IncludeHiddenCells" -#define SC_UNONAME_HIDDENVALUES "HiddenValues" - -// Solver -#define SC_UNONAME_TIMEOUT "Timeout" -#define SC_UNO_SHAREDOC "IsDocumentShared" - -// EventDescriptor -#define SC_UNO_EVENTTYPE "EventType" -#define SC_UNO_SCRIPT "Script" - -// Named ranges -#define SC_UNO_MODIFY_BROADCAST "ModifyAndBroadcast" - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/unoreflist.hxx b/sc/inc/unoreflist.hxx deleted file mode 100644 index 93e61fdad..000000000 --- a/sc/inc/unoreflist.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_UNOREFLIST_HXX -#define SC_UNOREFLIST_HXX - -#include <list> -#include <svl/hint.hxx> -#include "rangelst.hxx" - - -struct ScUnoRefEntry -{ - sal_Int64 nObjectId; - ScRangeList aRanges; - - ScUnoRefEntry( sal_Int64 nId, const ScRangeList& rOldRanges ) : - nObjectId( nId ), - aRanges( rOldRanges ) - { - } -}; - -/** List of RefUpdate changes made to UNO objects during ScUpdateRefHint broadcast. -*/ - -class ScUnoRefList -{ -private: - ::std::list<ScUnoRefEntry> aEntries; - -public: - ScUnoRefList(); - ~ScUnoRefList(); - - void Add( sal_Int64 nId, const ScRangeList& rOldRanges ); - void Undo( ScDocument* pDoc ); - - bool IsEmpty() const { return aEntries.empty(); } -}; - -/** Hint to restore a UNO object to its old state (used during undo). -*/ - -class ScUnoRefUndoHint : public SfxHint -{ - ScUnoRefEntry aEntry; - -public: - TYPEINFO(); - ScUnoRefUndoHint( const ScUnoRefEntry& rRefEntry ); - ~ScUnoRefUndoHint(); - - sal_Int64 GetObjectId() const { return aEntry.nObjectId; } - const ScRangeList& GetRanges() const { return aEntry.aRanges; } -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/unowids.hxx b/sc/inc/unowids.hxx deleted file mode 100644 index 0dcc31a63..000000000 --- a/sc/inc/unowids.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_UNOWIDS_HXX -#define SC_UNOWIDS_HXX - -#include <tools/solar.h> -#include "scitems.hxx" - - -// WIDs for uno property maps, -// never stored in files - -#define SC_WID_UNO_START 1200 - -#define SC_WID_UNO_CELLSTYL ( SC_WID_UNO_START + 0 ) -#define SC_WID_UNO_CHCOLHDR ( SC_WID_UNO_START + 1 ) -#define SC_WID_UNO_CHROWHDR ( SC_WID_UNO_START + 2 ) -#define SC_WID_UNO_CONDFMT ( SC_WID_UNO_START + 3 ) -#define SC_WID_UNO_CONDLOC ( SC_WID_UNO_START + 4 ) -#define SC_WID_UNO_CONDXML ( SC_WID_UNO_START + 5 ) -#define SC_WID_UNO_TBLBORD ( SC_WID_UNO_START + 6 ) -#define SC_WID_UNO_VALIDAT ( SC_WID_UNO_START + 7 ) -#define SC_WID_UNO_VALILOC ( SC_WID_UNO_START + 8 ) -#define SC_WID_UNO_VALIXML ( SC_WID_UNO_START + 9 ) -#define SC_WID_UNO_POS ( SC_WID_UNO_START + 10 ) -#define SC_WID_UNO_SIZE ( SC_WID_UNO_START + 11 ) -#define SC_WID_UNO_FORMLOC ( SC_WID_UNO_START + 12 ) -#define SC_WID_UNO_FORMRT ( SC_WID_UNO_START + 13 ) -#define SC_WID_UNO_PAGESTL ( SC_WID_UNO_START + 14 ) -#define SC_WID_UNO_CELLVIS ( SC_WID_UNO_START + 15 ) -#define SC_WID_UNO_LINKDISPBIT ( SC_WID_UNO_START + 16 ) -#define SC_WID_UNO_LINKDISPNAME ( SC_WID_UNO_START + 17 ) -#define SC_WID_UNO_CELLWID ( SC_WID_UNO_START + 18 ) -#define SC_WID_UNO_OWIDTH ( SC_WID_UNO_START + 19 ) -#define SC_WID_UNO_NEWPAGE ( SC_WID_UNO_START + 20 ) -#define SC_WID_UNO_MANPAGE ( SC_WID_UNO_START + 21 ) -#define SC_WID_UNO_CELLHGT ( SC_WID_UNO_START + 22 ) -#define SC_WID_UNO_CELLFILT ( SC_WID_UNO_START + 23 ) -#define SC_WID_UNO_OHEIGHT ( SC_WID_UNO_START + 24 ) -#define SC_WID_UNO_DISPNAME ( SC_WID_UNO_START + 25 ) -#define SC_WID_UNO_HEADERSET ( SC_WID_UNO_START + 26 ) -#define SC_WID_UNO_FOOTERSET ( SC_WID_UNO_START + 27 ) -#define SC_WID_UNO_NUMRULES ( SC_WID_UNO_START + 28 ) -#define SC_WID_UNO_ISACTIVE ( SC_WID_UNO_START + 29 ) -#define SC_WID_UNO_BORDCOL ( SC_WID_UNO_START + 30 ) -#define SC_WID_UNO_PROTECT ( SC_WID_UNO_START + 31 ) -#define SC_WID_UNO_SHOWBORD ( SC_WID_UNO_START + 32 ) -#define SC_WID_UNO_PRINTBORD ( SC_WID_UNO_START + 33 ) -#define SC_WID_UNO_COPYBACK ( SC_WID_UNO_START + 34 ) -#define SC_WID_UNO_COPYSTYL ( SC_WID_UNO_START + 35 ) -#define SC_WID_UNO_COPYFORM ( SC_WID_UNO_START + 36 ) -#define SC_WID_UNO_TABLAYOUT ( SC_WID_UNO_START + 37 ) -#define SC_WID_UNO_AUTOPRINT ( SC_WID_UNO_START + 38 ) -#define SC_WID_UNO_ABSNAME ( SC_WID_UNO_START + 39 ) -#define SC_WID_UNO_CODENAME ( SC_WID_UNO_START + 40 ) -#define SC_WID_UNO_TABCOLOR ( SC_WID_UNO_START + 41 ) -#define SC_WID_UNO_END ( SC_WID_UNO_START + 41 ) - - -inline sal_Bool IsScUnoWid( sal_uInt16 nWid ) -{ - return nWid >= SC_WID_UNO_START && nWid <= SC_WID_UNO_END; -} - -inline sal_Bool IsScItemWid( sal_uInt16 nWid ) -{ - return nWid >= ATTR_STARTINDEX && nWid <= ATTR_ENDINDEX; // incl. page -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/userdat.hxx b/sc/inc/userdat.hxx deleted file mode 100644 index f551d1760..000000000 --- a/sc/inc/userdat.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_USERDAT_HXX -#define SC_USERDAT_HXX - -#include <svx/svdobj.hxx> -#include <svtools/imap.hxx> -#include "global.hxx" -#include "address.hxx" - - -//------------------------------------------------------------------------- - -#define SC_DRAWLAYER 0x30334353 // Inventor: "SC30" - -// Object-Ids fuer UserData -#define SC_UD_OBJDATA 1 -#define SC_UD_IMAPDATA 2 -#define SC_UD_MACRODATA 3 - -//------------------------------------------------------------------------- - -class ScDrawObjFactory -{ - DECL_LINK( MakeUserData, SdrObjFactory * ); -public: - ScDrawObjFactory(); - ~ScDrawObjFactory(); -}; - -//------------------------------------------------------------------------- - -class ScDrawObjData : public SdrObjUserData -{ -public: - ScAddress maStart; - ScAddress maEnd; - Point maStartOffset; - Point maEndOffset; - bool mbNote; - Rectangle maLastRect; - - explicit ScDrawObjData(); - -private: - virtual ScDrawObjData* Clone( SdrObject* pObj ) const; -}; - -//------------------------------------------------------------------------- - -class ScIMapInfo : public SdrObjUserData -{ - ImageMap aImageMap; - -public: - ScIMapInfo(); - ScIMapInfo( const ImageMap& rImageMap ); - ScIMapInfo( const ScIMapInfo& rIMapInfo ); - virtual ~ScIMapInfo(); - - virtual SdrObjUserData* Clone( SdrObject* pObj ) const; - - void SetImageMap( const ImageMap& rIMap ) { aImageMap = rIMap; } - const ImageMap& GetImageMap() const { return aImageMap; } -}; - -//------------------------------------------------------------------------- - -class ScMacroInfo : public SdrObjUserData -{ -public: - ScMacroInfo(); - virtual ~ScMacroInfo(); - - virtual SdrObjUserData* Clone( SdrObject* pObj ) const; - - void SetMacro( const rtl::OUString& rMacro ) { maMacro = rMacro; } - const rtl::OUString& GetMacro() const { return maMacro; } - - void SetHlink( const rtl::OUString& rHlink ) { maHlink = rHlink; } - const rtl::OUString& GetHlink() const { return maHlink; } - -private: - rtl::OUString maMacro; - rtl::OUString maHlink; -}; - -//------------------------------------------------------------------------- - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/userlist.hxx b/sc/inc/userlist.hxx deleted file mode 100644 index 84a12977d..000000000 --- a/sc/inc/userlist.hxx +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_USERLIST_HXX -#define SC_USERLIST_HXX - -#include <tools/stream.hxx> -#include "scdllapi.h" - -#include <boost/ptr_container/ptr_vector.hpp> - -/** - * Stores individual user-defined sort list. - */ -class SC_DLLPUBLIC ScUserListData -{ -public: - struct SubStr - { - ::rtl::OUString maReal; - ::rtl::OUString maUpper; - SubStr(const ::rtl::OUString& rReal, const ::rtl::OUString& rUpper); - }; -private: - typedef ::boost::ptr_vector<SubStr> SubStringsType; - SubStringsType maSubStrings; - ::rtl::OUString aStr; - - SC_DLLPRIVATE void InitTokens(); - -public: - ScUserListData(const ::rtl::OUString& rStr); - ScUserListData(const ScUserListData& rData); - ~ScUserListData(); - - const ::rtl::OUString& GetString() const { return aStr; } - void SetString(const ::rtl::OUString& rStr); - size_t GetSubCount() const; - bool GetSubIndex(const ::rtl::OUString& rSubStr, sal_uInt16& rIndex) const; - ::rtl::OUString GetSubStr(sal_uInt16 nIndex) const; - StringCompare Compare(const ::rtl::OUString& rSubStr1, const ::rtl::OUString& rSubStr2) const; - StringCompare ICompare(const ::rtl::OUString& rSubStr1, const ::rtl::OUString& rSubStr2) const; -}; - -/** - * Collection of user-defined sort lists. - */ -class SC_DLLPUBLIC ScUserList -{ - typedef ::boost::ptr_vector<ScUserListData> DataType; - DataType maData; -public: - typedef DataType::iterator iterator; - typedef DataType::const_iterator const_iterator; - - ScUserList(); - ScUserList(const ScUserList& r); - - const ScUserListData* GetData( const ::rtl::OUString& rSubStr ) const; - /// If the list in rStr is already inserted - bool HasEntry( const ::rtl::OUString& rStr ) const; - - const ScUserListData* operator[](size_t nIndex) const; - ScUserListData* operator[](size_t nIndex); - ScUserList& operator= ( const ScUserList& r ); - bool operator==( const ScUserList& r ) const; - bool operator!=( const ScUserList& r ) const; - - iterator begin(); - iterator end(); - const_iterator begin() const; - const_iterator end() const; - void clear(); - size_t size() const; - void push_back(ScUserListData* p); - void erase(iterator itr); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/validat.hxx b/sc/inc/validat.hxx deleted file mode 100644 index de211449d..000000000 --- a/sc/inc/validat.hxx +++ /dev/null @@ -1,211 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_VALIDAT_HXX -#define SC_VALIDAT_HXX - -#include "conditio.hxx" -#include <com/sun/star/sheet/TableValidationVisibility.hpp> -#include "scdllapi.h" - -namespace ValidListType = ::com::sun::star::sheet::TableValidationVisibility; - -class ScPatternAttr; -class ScTokenArray; -class TypedScStrCollection; - -enum ScValidationMode -{ - SC_VALID_ANY, - SC_VALID_WHOLE, - SC_VALID_DECIMAL, - SC_VALID_DATE, - SC_VALID_TIME, - SC_VALID_TEXTLEN, - SC_VALID_LIST, - SC_VALID_CUSTOM -}; - -enum ScValidErrorStyle -{ - SC_VALERR_STOP, - SC_VALERR_WARNING, - SC_VALERR_INFO, - SC_VALERR_MACRO -}; - -// -// Entry for validation (only one condition exists) -// - -class SC_DLLPUBLIC ScValidationData : public ScConditionEntry -{ - sal_uInt32 nKey; // index in attributes - - ScValidationMode eDataMode; - sal_Bool bShowInput; - sal_Bool bShowError; - ScValidErrorStyle eErrorStyle; - sal_Int16 mnListType; // selection list type: none, unsorted, sorted. - String aInputTitle; - String aInputMessage; - String aErrorTitle; - String aErrorMessage; - - sal_Bool bIsUsed; // temporary during saving - - sal_Bool DoMacro( const ScAddress& rPos, const String& rInput, - ScFormulaCell* pCell, Window* pParent ) const; - - sal_Bool DoScript( const ScAddress& rPos, const String& rInput, - ScFormulaCell* pCell, Window* pParent ) const; - - using ScConditionEntry::operator==; - -public: - ScValidationData( ScValidationMode eMode, ScConditionMode eOper, - const String& rExpr1, const String& rExpr2, - ScDocument* pDocument, const ScAddress& rPos, - const String& rExprNmsp1 = EMPTY_STRING, const String& rExprNmsp2 = EMPTY_STRING, - formula::FormulaGrammar::Grammar eGrammar1 = formula::FormulaGrammar::GRAM_DEFAULT, - formula::FormulaGrammar::Grammar eGrammar2 = formula::FormulaGrammar::GRAM_DEFAULT ); - ScValidationData( ScValidationMode eMode, ScConditionMode eOper, - const ScTokenArray* pArr1, const ScTokenArray* pArr2, - ScDocument* pDocument, const ScAddress& rPos ); - ScValidationData( const ScValidationData& r ); - ScValidationData( ScDocument* pDocument, const ScValidationData& r ); - virtual ~ScValidationData(); - - ScValidationData* Clone() const // real copy - { return new ScValidationData( GetDocument(), *this ); } - ScValidationData* Clone(ScDocument* pNew) const - { return new ScValidationData( pNew, *this ); } - - void ResetInput(); - void ResetError(); - void SetInput( const String& rTitle, const String& rMsg ); - void SetError( const String& rTitle, const String& rMsg, - ScValidErrorStyle eStyle ); - - sal_Bool GetInput( String& rTitle, String& rMsg ) const - { rTitle = aInputTitle; rMsg = aInputMessage; return bShowInput; } - sal_Bool GetErrMsg( String& rTitle, String& rMsg, ScValidErrorStyle& rStyle ) const; - - sal_Bool HasErrMsg() const { return bShowError; } - - ScValidationMode GetDataMode() const { return eDataMode; } - - inline sal_Int16 GetListType() const { return mnListType; } - inline void SetListType( sal_Int16 nListType ) { mnListType = nListType; } - - /** Returns true, if the validation cell will show a selection list. - @descr Use this instead of GetListType() which returns the raw property - regardless of the validation type. */ - bool HasSelectionList() const; - /** Tries to fill the passed collection with list validation entries. - @descr Fills the list only, if this is a list validation and IsShowList() is enabled. - @param rStrings (out-param) The string list to fill with list validation entires. - @return true = rStrings has been filled with at least one entry. */ - bool FillSelectionList( TypedScStrCollection& rStrings, const ScAddress& rPos ) const; - - // with string: during input, with cell: for detective / RC_FORCED - sal_Bool IsDataValid( const String& rTest, const ScPatternAttr& rPattern, - const ScAddress& rPos ) const; - sal_Bool IsDataValid( ScBaseCell* pCell, const ScAddress& rPos ) const; - - // TRUE -> break - sal_Bool DoError( Window* pParent, const String& rInput, const ScAddress& rPos ) const; - void DoCalcError( ScFormulaCell* pCell ) const; - - sal_Bool IsEmpty() const; - sal_uInt32 GetKey() const { return nKey; } - void SetKey(sal_uInt32 nNew) { nKey = nNew; } // only if not inserted! - - void SetUsed(sal_Bool bSet) { bIsUsed = bSet; } - sal_Bool IsUsed() const { return bIsUsed; } - - sal_Bool EqualEntries( const ScValidationData& r ) const; // for undo - - // sort (using PTRARR) by index - // operator== only for sorting - sal_Bool operator ==( const ScValidationData& r ) const { return nKey == r.nKey; } - sal_Bool operator < ( const ScValidationData& r ) const { return nKey < r.nKey; } - -private: - /** Tries to fill the passed collection with list validation entries. - @descr Fills the list only if it is non-NULL, - @param pStrings (out-param) Optionally NULL, string list to fill with list validation entires. - @param pCell can be NULL if it is not necessary to which element in the list is selected. - @param rPos the base address for relative references. - @param rTokArr Formula token array. - @param rMatch (out-param) the index of the first item that matched, -1 if nothing matched. - @return true = Cell range found, rRange is valid, or an error entry stuffed into the list if pCell==NULL. */ - bool GetSelectionFromFormula( TypedScStrCollection* pStrings, - ScBaseCell* pCell, const ScAddress& rPos, - const ScTokenArray& rTokArr, int& rMatch ) const; - - /** Tests, if pCell is equal to what the passed token array represents. */ - bool IsEqualToTokenArray( ScBaseCell* pCell, const ScAddress& rPos, const ScTokenArray& rTokArr ) const; - - /** Tests, if contents of pCell occur in cell range referenced by own formula, or in a string list. */ - bool IsListValid( ScBaseCell* pCell, const ScAddress& rPos ) const; -}; - -// -// list of contitions: -// - -typedef ScValidationData* ScValidationDataPtr; - -SV_DECL_PTRARR_SORT(ScValidationEntries_Impl, ScValidationDataPtr, - SC_COND_GROW, SC_COND_GROW) - -class ScValidationDataList : public ScValidationEntries_Impl -{ -public: - ScValidationDataList() {} - ScValidationDataList(const ScValidationDataList& rList); - ScValidationDataList(ScDocument* pNewDoc, const ScValidationDataList& rList); - ~ScValidationDataList() {} - - void InsertNew( ScValidationData* pNew ) - { if (!Insert(pNew)) delete pNew; } - - ScValidationData* GetData( sal_uInt32 nKey ); - - void CompileXML(); - void UpdateReference( UpdateRefMode eUpdateRefMode, - const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - void UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos ); - - sal_Bool operator==( const ScValidationDataList& r ) const; // for ref-undo -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/viewopti.hxx b/sc/inc/viewopti.hxx deleted file mode 100644 index 6ad4814bb..000000000 --- a/sc/inc/viewopti.hxx +++ /dev/null @@ -1,180 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_VIEWOPTI_HXX -#define SC_VIEWOPTI_HXX - -#include <svx/optgrid.hxx> - -#include <svx/svxids.hrc> -#include "scdllapi.h" -#include "optutil.hxx" -#include "global.hxx" - -//================================================================== -// View-Optionen -//================================================================== - -enum ScViewOption -{ - VOPT_FORMULAS = 0, - VOPT_NULLVALS, - VOPT_SYNTAX, - VOPT_NOTES, - VOPT_VSCROLL, - VOPT_HSCROLL, - VOPT_TABCONTROLS, - VOPT_OUTLINER, - VOPT_HEADER, - VOPT_GRID, - VOPT_GRID_ONTOP, - VOPT_HELPLINES, - VOPT_ANCHOR, - VOPT_PAGEBREAKS, - VOPT_SOLIDHANDLES, - VOPT_CLIPMARKS, - VOPT_BIGHANDLES -}; - -enum ScVObjType -{ - VOBJ_TYPE_OLE = 0, - VOBJ_TYPE_CHART, - VOBJ_TYPE_DRAW -}; - -#define MAX_OPT (sal_uInt16)VOPT_BIGHANDLES+1 -#define MAX_TYPE (sal_uInt16)VOBJ_TYPE_DRAW+1 - -#define SC_STD_GRIDCOLOR COL_LIGHTGRAY - -//================================================================== -// SvxGrid-Optionen mit Standard-Operatoren -//================================================================== - -class ScGridOptions : public SvxOptionsGrid -{ -public: - ScGridOptions() : SvxOptionsGrid() {} - ScGridOptions( const SvxOptionsGrid& rOpt ) : SvxOptionsGrid( rOpt ) {} - - void SetDefaults(); - const ScGridOptions& operator= ( const ScGridOptions& rCpy ); - int operator== ( const ScGridOptions& rOpt ) const; - int operator!= ( const ScGridOptions& rOpt ) const { return !(operator==(rOpt)); } -}; - -//================================================================== -// Einstellungen - Ansicht -//================================================================== - -class SC_DLLPUBLIC ScViewOptions -{ -public: - ScViewOptions(); - ScViewOptions( const ScViewOptions& rCpy ); - ~ScViewOptions(); - - void SetDefaults(); - - void SetOption( ScViewOption eOpt, sal_Bool bNew = sal_True ) { aOptArr[eOpt] = bNew; } - sal_Bool GetOption( ScViewOption eOpt ) const { return aOptArr[eOpt]; } - - void SetObjMode( ScVObjType eObj, ScVObjMode eMode ) { aModeArr[eObj] = eMode; } - ScVObjMode GetObjMode( ScVObjType eObj ) const { return aModeArr[eObj]; } - - void SetGridColor( const Color& rCol, const String& rName ) { aGridCol = rCol; aGridColName = rName;} - Color GetGridColor( String* pStrName = NULL ) const; - - const ScGridOptions& GetGridOptions() const { return aGridOpt; } - void SetGridOptions( const ScGridOptions& rNew ) { aGridOpt = rNew; } - SvxGridItem* CreateGridItem( sal_uInt16 nId = SID_ATTR_GRID_OPTIONS ) const; - - const ScViewOptions& operator= ( const ScViewOptions& rCpy ); - int operator== ( const ScViewOptions& rOpt ) const; - int operator!= ( const ScViewOptions& rOpt ) const { return !(operator==(rOpt)); } - -private: - sal_Bool aOptArr [MAX_OPT]; - ScVObjMode aModeArr [MAX_TYPE]; - Color aGridCol; - String aGridColName; - ScGridOptions aGridOpt; -}; - -//================================================================== -// Item fuer Einstellungsdialog - Ansicht -//================================================================== - -class SC_DLLPUBLIC ScTpViewItem : public SfxPoolItem -{ -public: - TYPEINFO(); - ScTpViewItem( sal_uInt16 nWhich, const ScViewOptions& rOpt ); - ScTpViewItem( const ScTpViewItem& rItem ); - ~ScTpViewItem(); - - virtual String GetValueText() const; - virtual int operator==( const SfxPoolItem& ) const; - virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; - - const ScViewOptions& GetViewOptions() const { return theOptions; } - -private: - ScViewOptions theOptions; -}; - - -//================================================================== -// CfgItem fuer View-Optionen -//================================================================== - -class ScViewCfg : public ScViewOptions -{ - ScLinkConfigItem aLayoutItem; - ScLinkConfigItem aDisplayItem; - ScLinkConfigItem aGridItem; - - DECL_LINK( LayoutCommitHdl, void* ); - DECL_LINK( DisplayCommitHdl, void* ); - DECL_LINK( GridCommitHdl, void* ); - - com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetDisplayPropertyNames(); - com::sun::star::uno::Sequence<rtl::OUString> GetGridPropertyNames(); - -public: - ScViewCfg(); - - void SetOptions( const ScViewOptions& rNew ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/viewuno.hxx b/sc/inc/viewuno.hxx deleted file mode 100644 index 5b29c1f74..000000000 --- a/sc/inc/viewuno.hxx +++ /dev/null @@ -1,405 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_VIEWUNO_HXX -#define SC_VIEWUNO_HXX - -#include <sfx2/sfxbasecontroller.hxx> -#include <svl/svarray.hxx> -#include <svl/itemprop.hxx> -#include <com/sun/star/view/XFormLayerAccess.hpp> -#include <com/sun/star/view/XSelectionChangeListener.hpp> -#include <com/sun/star/view/XSelectionSupplier.hpp> -#include <com/sun/star/sheet/XCellRangeReferrer.hpp> -#include <com/sun/star/sheet/XViewSplitable.hpp> -#include <com/sun/star/sheet/XViewFreezable.hpp> -#include <com/sun/star/sheet/XSpreadsheetView.hpp> -#include <com/sun/star/sheet/XEnhancedMouseClickBroadcaster.hpp> -#include <com/sun/star/sheet/XActivationBroadcaster.hpp> -#include <com/sun/star/sheet/XViewPane.hpp> -#include <com/sun/star/sheet/XRangeSelection.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/container/XEnumerationAccess.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/datatransfer/XTransferableSupplier.hpp> - -#include "address.hxx" - -class ScTabViewShell; - -#define SC_VIEWPANE_ACTIVE 0xFFFF - - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionListener >* XRangeSelectionListenerPtr; -SV_DECL_PTRARR_DEL( XRangeSelectionListenerArr_Impl, XRangeSelectionListenerPtr, 4, 4 ) - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionChangeListener >* XRangeSelectionChangeListenerPtr; -SV_DECL_PTRARR_DEL( XRangeSelectionChangeListenerArr_Impl, XRangeSelectionChangeListenerPtr, 4, 4 ) - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::view::XSelectionChangeListener >* XSelectionChangeListenerPtr; -SV_DECL_PTRARR_DEL( XSelectionChangeListenerArr_Impl, XSelectionChangeListenerPtr, 4, 4 ) - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >* XViewPropertyChangeListenerPtr; -SV_DECL_PTRARR_DEL( XViewPropertyChangeListenerArr_Impl, XViewPropertyChangeListenerPtr, 4, 4 ) - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::awt::XEnhancedMouseClickHandler >* XMouseClickHandlerPtr; -SV_DECL_PTRARR_DEL( XMouseClickHandlerArr_Impl, XMouseClickHandlerPtr, 4, 4 ) - -typedef ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XActivationEventListener >* XActivationEventListenerPtr; -SV_DECL_PTRARR_DEL( XActivationEventListenerArr_Impl, XActivationEventListenerPtr, 4, 4 ) - - -// ScViewPaneBase not derived from OWeakObject -// to avoid duplicate OWeakObject in ScTabViewObj - -class ScViewPaneBase : public com::sun::star::sheet::XViewPane, - public com::sun::star::sheet::XCellRangeReferrer, - public com::sun::star::view::XFormLayerAccess, - public com::sun::star::lang::XServiceInfo, - public com::sun::star::lang::XTypeProvider, - public SfxListener -{ -private: - ScTabViewShell* pViewShell; - sal_uInt16 nPane; // ScSplitPos oder SC_VIEWPANE_ACTIVE - -protected: - ::com::sun::star::awt::Rectangle GetVisArea() const; - -public: - ScViewPaneBase(ScTabViewShell* pViewSh, sal_uInt16 nP); - virtual ~ScViewPaneBase(); - - ScTabViewShell* GetViewShell() const { return pViewShell; } - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - - virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - // XViewPane - virtual sal_Int32 SAL_CALL getFirstVisibleColumn() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFirstVisibleColumn( sal_Int32 nFirstVisibleColumn ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getFirstVisibleRow() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFirstVisibleRow( sal_Int32 nFirstVisibleRow ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getVisibleRange() - throw(::com::sun::star::uno::RuntimeException); - - // XCellRangeReferrer - virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL - getReferredCells() throw(::com::sun::star::uno::RuntimeException); - - // XFormLayerAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > SAL_CALL - getFormController( const ::com::sun::star::uno::Reference< - ::com::sun::star::form::XForm >& Form ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Bool SAL_CALL - isFormDesignMode( ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFormDesignMode( ::sal_Bool DesignMode ) - throw (::com::sun::star::uno::RuntimeException); - - // XControlAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > SAL_CALL - getControl( const ::com::sun::star::uno::Reference< - ::com::sun::star::awt::XControlModel >& xModel ) - throw(::com::sun::star::container::NoSuchElementException, - ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); -}; - - -// ScViewPaneObj for direct use (including OWeakObject) - -class ScViewPaneObj : public ScViewPaneBase, public cppu::OWeakObject -{ -public: - ScViewPaneObj(ScTabViewShell* pViewSh, sal_uInt16 nP); - virtual ~ScViewPaneObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); -}; - -// OWeakObject is base of SfxBaseController -> use ScViewPaneBase - -class ScTabViewObj : public ScViewPaneBase, - public SfxBaseController, - public com::sun::star::sheet::XSpreadsheetView, - public com::sun::star::sheet::XEnhancedMouseClickBroadcaster, - public com::sun::star::sheet::XActivationBroadcaster, - public com::sun::star::container::XEnumerationAccess, - public com::sun::star::container::XIndexAccess, - public com::sun::star::view::XSelectionSupplier, - public com::sun::star::beans::XPropertySet, - public com::sun::star::sheet::XViewSplitable, - public com::sun::star::sheet::XViewFreezable, - public com::sun::star::sheet::XRangeSelection, - public com::sun::star::lang::XUnoTunnel, - public com::sun::star::datatransfer::XTransferableSupplier -{ -private: - SfxItemPropertySet aPropSet; - XSelectionChangeListenerArr_Impl aSelectionListeners; - XRangeSelectionListenerArr_Impl aRangeSelListeners; - XRangeSelectionChangeListenerArr_Impl aRangeChgListeners; - XViewPropertyChangeListenerArr_Impl aPropertyChgListeners; - XMouseClickHandlerArr_Impl aMouseClickHandlers; - XActivationEventListenerArr_Impl aActivationListeners; - SCTAB nPreviousTab; - sal_Bool bDrawSelModeSet; - sal_Bool bFilteredRangeSelection; - - ScViewPaneObj* GetObjectByIndex_Impl(sal_uInt16 nIndex) const; - sal_Int16 GetZoom(void) const; - void SetZoom(sal_Int16 Zoom); - sal_Int16 GetZoomType(void) const; - void SetZoomType(sal_Int16 ZoomType); - - com::sun::star::uno::Reference< com::sun::star::uno::XInterface > GetClickedObject(const Point& rPoint) const; - void StartMouseListening(); - void EndMouseListening(); - void StartActivationListening(); - void EndActivationListening(); - - ScTabViewObj(); // disabled -public: - ScTabViewObj(ScTabViewShell* pViewSh); - virtual ~ScTabViewObj(); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - void SelectionChanged(); - void VisAreaChanged(); - // bSameTabButMoved = true if the same sheet as before is activated, used after moving/copying/inserting/deleting a sheet - void SheetChanged( bool bSameTabButMoved = false ); - bool IsMouseListening() const; - sal_Bool MousePressed( const ::com::sun::star::awt::MouseEvent& e ) throw (::com::sun::star::uno::RuntimeException); - sal_Bool MouseReleased( const ::com::sun::star::awt::MouseEvent& e ) throw (::com::sun::star::uno::RuntimeException); - - void RangeSelDone( const String& rText ); - void RangeSelAborted( const String& rText ); - void RangeSelChanged( const String& rText ); - - // XSelectionSupplier - virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getSelection() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::view::XSelectionChangeListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::view::XSelectionChangeListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - - //! XPrintable? - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( - const ::rtl::OUString& PropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& xListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertyChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, - const ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XVetoableChangeListener >& aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XEnumerationAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL - createEnumeration() throw(::com::sun::star::uno::RuntimeException); - - // XIndexAccess - virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) - throw(::com::sun::star::lang::IndexOutOfBoundsException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException); - - // XElementAccess - virtual ::com::sun::star::uno::Type SAL_CALL getElementType() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); - - // XSpreadsheetView - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL - getActiveSheet() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setActiveSheet( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSpreadsheet >& xActiveSheet ) - throw(::com::sun::star::uno::RuntimeException); - - // support expand (but not replace) the active sheet - virtual void SAL_CALL selectSheet( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XSpreadsheet >& xActiveSheet, - sal_Bool bExpand) - throw(::com::sun::star::uno::RuntimeException); - //XEnhancedMouseClickBroadcaster - - virtual void SAL_CALL addEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference< - ::com::sun::star::awt::XEnhancedMouseClickHandler >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference< - ::com::sun::star::awt::XEnhancedMouseClickHandler >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - //XActivationBroadcaster - - virtual void SAL_CALL addActivationEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XActivationEventListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeActivationEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XActivationEventListener >& aListener ) - throw (::com::sun::star::uno::RuntimeException); - - // XViewSplitable - virtual sal_Bool SAL_CALL getIsWindowSplit() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getSplitHorizontal() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getSplitVertical() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getSplitColumn() throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getSplitRow() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL splitAtPosition( sal_Int32 nPixelX, sal_Int32 nPixelY ) - throw(::com::sun::star::uno::RuntimeException); - - // XViewFreezable - virtual sal_Bool SAL_CALL hasFrozenPanes() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL freezeAtPosition( sal_Int32 nColumns, sal_Int32 nRows ) - throw(::com::sun::star::uno::RuntimeException); - - // XRangeSelection - virtual void SAL_CALL startRangeSelection( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& aArguments ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL abortRangeSelection() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRangeSelectionListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRangeSelectionListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addRangeSelectionChangeListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionChangeListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeRangeSelectionChangeListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::sheet::XRangeSelectionChangeListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< - sal_Int8 >& aIdentifier ) - throw(::com::sun::star::uno::RuntimeException); - - static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScTabViewObj* getImplementation( const com::sun::star::uno::Reference< - com::sun::star::uno::XInterface> xObj ); - - // XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException); - - //XTransferableSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > SAL_CALL getTransferable( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL insertTransferable( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& xTrans ) throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::uno::RuntimeException); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/waitoff.hxx b/sc/inc/waitoff.hxx deleted file mode 100644 index 50903994b..000000000 --- a/sc/inc/waitoff.hxx +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_WAITOFF_HXX -#define SC_WAITOFF_HXX - -#include <sal/types.h> - -class Window; - -class ScWaitCursorOff -{ -private: - Window* pWin; - sal_uInt32 nWaiters; -public: - ScWaitCursorOff( Window* pWin ); - ~ScWaitCursorOff(); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/warnpassword.hxx b/sc/inc/warnpassword.hxx deleted file mode 100644 index 39834e539..000000000 --- a/sc/inc/warnpassword.hxx +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_WARNPASSWORD_HXX -#define SC_WARNPASSWORD_HXX - - - -class SfxMedium; -/** Static API helper functions. */ -class ScWarnPassword -{ -public: - /** Opens a query warning dialog. - @descr Pop up Query on export with a choice of yes/no if a - an encrypted password is imported. - @return true if yes and false if no. default to true. - */ - static bool WarningOnPassword( SfxMedium& rMedium ); -}; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/xmlwrap.hxx b/sc/inc/xmlwrap.hxx deleted file mode 100644 index dff64ef4f..000000000 --- a/sc/inc/xmlwrap.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_XMLWRAP_HXX -#define SC_XMLWRAP_HXX - -#include <tools/solar.h> -#include <com/sun/star/uno/Reference.hxx> -#include <com/sun/star/uno/Sequence.hxx> - -class ScDocument; -class SfxMedium; -class ScMySharedData; - -#include <tools/errcode.hxx> - -namespace com { namespace sun { namespace star { - namespace beans { struct PropertyValue; } - namespace frame { class XModel; } - namespace task { class XStatusIndicator; } - namespace lang { class XMultiServiceFactory; } - namespace uno { class XInterface; } - namespace embed { class XStorage; } - namespace xml { - namespace sax { struct InputSource; } } -} } } - -class ScXMLImportWrapper -{ - ScDocument& rDoc; - SfxMedium* pMedium; - ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > xStorage; - - com::sun::star::uno::Reference< com::sun::star::task::XStatusIndicator> GetStatusIndicator(); - - sal_uInt32 ImportFromComponent(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory>& xServiceFactory, - com::sun::star::uno::Reference<com::sun::star::frame::XModel>& xModel, - com::sun::star::uno::Reference<com::sun::star::uno::XInterface>& xXMLParser, - com::sun::star::xml::sax::InputSource& aParserInput, - const rtl::OUString& sComponentName, const rtl::OUString& sDocName, const rtl::OUString& sOldDocName, - com::sun::star::uno::Sequence<com::sun::star::uno::Any>& aArgs, - sal_Bool bMustBeSuccessfull); - - sal_Bool ExportToComponent(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory>& xServiceFactory, - com::sun::star::uno::Reference<com::sun::star::frame::XModel>& xModel, - com::sun::star::uno::Reference<com::sun::star::uno::XInterface>& xWriter, - com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aDescriptor, - const rtl::OUString& sName, const rtl::OUString& sMediaType, const rtl::OUString& sComponentName, - const sal_Bool bPlainText, com::sun::star::uno::Sequence<com::sun::star::uno::Any>& aArgs, - ScMySharedData*& pSharedData); - -public: - ScXMLImportWrapper(ScDocument& rD, SfxMedium* pM, const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >&); - sal_Bool Import(sal_Bool bStylesOnly, ErrCode& ); - sal_Bool Export(sal_Bool bStylesOnly); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/zforauto.hxx b/sc/inc/zforauto.hxx deleted file mode 100644 index 78e65b64a..000000000 --- a/sc/inc/zforauto.hxx +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _ZFORAUTO_HXX_ -#define _ZFORAUTO_HXX_ - -#include <tools/string.hxx> -#include <i18npool/lang.h> - - -class SvStream; -class SvNumberFormatter; - - -class ScNumFormatAbbrev -{ - String sFormatstring; - LanguageType eLnge; - LanguageType eSysLnge; -public: - ScNumFormatAbbrev(); - ScNumFormatAbbrev(const ScNumFormatAbbrev& aFormat); - ScNumFormatAbbrev(sal_uLong nFormat, SvNumberFormatter& rFormatter); - void Load( SvStream& rStream, CharSet eByteStrSet ); // loading of the numberformats - void Save( SvStream& rStream, CharSet eByteStrSet ) const; // saving of the numberformats - void PutFormatIndex(sal_uLong nFormat, SvNumberFormatter& rFormatter); - sal_uLong GetFormatIndex( SvNumberFormatter& rFormatter); - inline int operator==(const ScNumFormatAbbrev& rNumFormat) const - { - return ((sFormatstring == rNumFormat.sFormatstring) - && (eLnge == rNumFormat.eLnge) - && (eSysLnge == rNumFormat.eSysLnge)); - } - inline ScNumFormatAbbrev& operator=(const ScNumFormatAbbrev& rNumFormat) - { - sFormatstring = rNumFormat.sFormatstring; - eLnge = rNumFormat.eLnge; - eSysLnge = rNumFormat.eSysLnge; - return *this; - } - inline LanguageType GetLanguage() const { return eLnge; } -}; - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |