20#include <com/sun/star/awt/MouseButton.hpp>
21#include <com/sun/star/drawing/ShapeCollection.hpp>
22#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
23#include <com/sun/star/script/vba/XVBAEventProcessor.hpp>
24#include <com/sun/star/util/VetoException.hpp>
25#include <com/sun/star/view/DocumentZoomType.hpp>
58#include <drawview.hxx>
61#include <unonames.hxx>
70#include <inputwin.hxx>
117 return aViewOptPropertyMap_Impl;
126 pViewShell( pViewSh ),
143 if ( rHint.
GetId() == SfxHintId::Dying )
161 static const uno::Sequence<uno::Type>
aTypes
174 return css::uno::Sequence<sal_Int8>();
190 return rViewData.
GetPosX( eWhichH );
192 OSL_FAIL(
"no View ?!?");
223 return rViewData.
GetPosY( eWhichV );
225 OSL_FAIL(
"no View ?!?");
248 table::CellRangeAddress aAdr;
264 if (!nVisX) nVisX = 1;
265 if (!nVisY) nVisY = 1;
267 aAdr.StartColumn = rViewData.
GetPosX( eWhichH );
268 aAdr.StartRow = rViewData.
GetPosY( eWhichV );
269 aAdr.EndColumn = aAdr.StartColumn + nVisX - 1;
270 aAdr.EndRow = aAdr.StartRow + nVisY - 1;
285 ScRange aRange(
static_cast<SCCOL>(aAdr.StartColumn),
static_cast<SCROW>(aAdr.StartRow), aAdr.Sheet,
286 static_cast<SCCOL>(aAdr.EndColumn),
static_cast<SCROW>(aAdr.EndRow), aAdr.Sheet );
310 return ( _rpFormShell !=
nullptr ) && ( _rpSdrView != nullptr )&& ( _rpWindow !=
nullptr );
319 uno::Reference< form::runtime::XFormController >
xController;
324 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
334 bool bIsFormDesignMode(
true );
340 return bIsFormDesignMode;
350 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
357 const uno::Reference<awt::XControlModel>& xModel )
361 uno::Reference<awt::XControl> xRet;
366 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
370 throw container::NoSuchElementException();
377 awt::Rectangle aVisArea;
424 aRet = OWeakObject::queryInterface( rType );
430 OWeakObject::acquire();
435 OWeakObject::release();
444 aMouseClickHandlers( 0 ),
445 aActivationListeners( 0 ),
447 bDrawSelModeSet(false),
448 bFilteredRangeSelection(false),
449 mbLeftMousePressed(false)
488 aRet = SfxBaseController::queryInterface( rType );
494 SfxBaseController::acquire();
499 SfxBaseController::release();
513 const OUString* pScript = pEvents->
GetScript(nEvent);
517 uno::Sequence<uno::Any> aParams;
518 uno::Sequence<sal_Int16> aOutArgsIndex;
519 uno::Sequence<uno::Any> aOutArgs;
520 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
527 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
529 uno::Sequence< uno::Any > aArgs{
uno::Any(nTab) };
532 catch( uno::Exception& )
546 sheet::ActivationEvent
aEvent;
547 uno::Reference< sheet::XSpreadsheetView > xView(
this);
548 uno::Reference< uno::XInterface > xSource(xView, uno::UNO_QUERY);
558 catch( uno::Exception& )
580 SfxBaseController::getTypes(),
581 uno::Sequence<uno::Type>
600 return css::uno::Sequence<sal_Int8>();
609 const ScRange & rRange = rRanges[
i ];
619 SCTAB nObjectTab = 0;
623 for (sal_uInt16
i=0;
i<nPageCount && !bFound;
i++)
635 nObjectTab =
static_cast<SCTAB>(
i);
660 uno::Reference<uno::XInterface> xInterface(aSelection, uno::UNO_QUERY);
661 if ( !xInterface.is() )
684 ScCellRangesBase* pRangesImp =
dynamic_cast<ScCellRangesBase*
>( xInterface.get() );
685 uno::Reference<drawing::XShapes> xShapeColl( xInterface, uno::UNO_QUERY );
686 uno::Reference<drawing::XShape> xShapeSel( xInterface, uno::UNO_QUERY );
687 SvxShape* pShapeImp = comphelper::getFromUnoTunnel<SvxShape>( xShapeSel );
692 if ( rViewData.
GetDocShell() == pRangesImp->GetDocShell() )
704 if ( pFunc && pFunc->
GetSlotID() != SID_OBJECT_SELECT )
716 const ScRangeList& rRanges = pRangesImp->GetRangeList();
717 size_t nRangeCount = rRanges.
size();
719 if ( nRangeCount == 0 )
721 else if ( nRangeCount == 1 )
727 const ScRange & rFirst = rRanges[ 0 ];
744 else if ( pShapeImp || xShapeColl.is() )
761 pDrawView->
MarkObj( pObj, pPV );
776 bool bAllMarked(
true);
779 uno::Reference<drawing::XShape> xShapeInt(xShapeColl->getByIndex(
i), uno::UNO_QUERY);
799 pDrawView->
MarkObj( pObj, pPV );
819 throw lang::IllegalArgumentException();
826 uno::Reference<drawing::XShapes> xShapes;
838 for (
size_t i = 0;
i < nMarkCount; ++
i)
843 uno::Reference<drawing::XShape> xShape( pDrawObj->
getUnoShape(), uno::UNO_QUERY );
845 xShapes->add(xShape);
882 if (pMergeAttr && pMergeAttr->
IsMerged())
902 switch ( aRangeList.
size() )
907 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
911 const ScRange& rRange = aRangeList[ 0 ];
919 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
932 pObj =
new ScCellRangesObj( pDocSh, *xRanges );
940 pObj->SetCursorOnly(
true );
944 return uno::Any(uno::Reference(cppu::getXWeak(pObj.get())));
952 return new ScIndexEnumeration(
this,
"com.sun.star.sheet.SpreadsheetViewPanesEnumeration");
961 sal_uInt16 nPanes = 0;
979 throw lang::IndexOutOfBoundsException();
1006 bool bError =
false;
1038 return new ScViewPaneObj( pViewSh, sal::static_int_cast<sal_uInt16>(eWhich) );
1064 if ( !(pViewSh && xActiveSheet.is()) )
1069 ScCellRangesBase* pRangesImp =
dynamic_cast<ScCellRangesBase*
>( xActiveSheet.get() );
1072 const ScRangeList& rRanges = pRangesImp->GetRangeList();
1073 if ( rRanges.
size() == 1 )
1075 SCTAB nNewTab = rRanges[ 0 ].aStart.Tab();
1084 uno::Reference< uno::XInterface >
xTarget;
1097 xTarget.set(uno::Reference<table::XCell>(pCellObj), uno::UNO_QUERY);
1103 if (pDrawLayer->HasObjects() && (pDrawLayer->GetPageCount() > nTab))
1104 pDrawPage = pDrawLayer->GetPage(
static_cast<sal_uInt16
>(nTab));
1117 for (
size_t i = 0;
i <
nCount && !bFound; ++
i)
1150 bool bReturn(
false);
1151 if ( e.Buttons == css::awt::MouseButton::LEFT )
1157 awt::EnhancedMouseEvent aMouseEvent;
1159 aMouseEvent.Buttons = e.Buttons;
1160 aMouseEvent.X = e.X;
1161 aMouseEvent.Y = e.Y;
1162 aMouseEvent.ClickCount = e.ClickCount;
1163 aMouseEvent.PopupTrigger = e.PopupTrigger;
1165 aMouseEvent.Modifiers = e.Modifiers;
1175 catch ( uno::Exception& )
1183 bool bDoubleClick = ( e.Buttons == awt::MouseButton::LEFT && e.ClickCount == 2 );
1184 bool bRightClick = ( e.Buttons == awt::MouseButton::RIGHT && e.ClickCount == 1 );
1185 if ( ( bDoubleClick || bRightClick ) && !bReturn &&
xTarget.is())
1197 const OUString* pScript = pEvents->
GetScript(nEvent);
1204 uno::Sequence<sal_Int16> aOutArgsIndex;
1205 uno::Sequence<uno::Any> aOutArgs;
1207 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1210 bool bRetValue =
false;
1211 if ((aRet >>= bRetValue) && bRetValue)
1217 if (!bReturn &&
xTarget.is())
try
1219 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1224 catch( util::VetoException& )
1228 catch( uno::Exception& )
1238 if ( e.Buttons == css::awt::MouseButton::LEFT )
1246 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1250 catch( uno::Exception& )
1256 bool bReturn(
false);
1264 awt::EnhancedMouseEvent aMouseEvent;
1266 aMouseEvent.Buttons = e.Buttons;
1267 aMouseEvent.X = e.X;
1268 aMouseEvent.Y = e.Y;
1269 aMouseEvent.ClickCount = e.ClickCount;
1270 aMouseEvent.PopupTrigger = e.PopupTrigger;
1272 aMouseEvent.Modifiers = e.Modifiers;
1282 catch ( uno::Exception& )
1296 lang::EventObject
aEvent;
1297 aEvent.Source = getXWeak();
1302 rListener->disposing(
aEvent);
1304 catch ( uno::Exception& )
1313 lang::EventObject
aEvent;
1314 aEvent.Source = getXWeak();
1319 rListener->disposing(
aEvent);
1321 catch ( uno::Exception& )
1378 return static_cast<sal_Int16
>(
tools::Long( rZoomY * 100 ));
1389 if ( nZoom !=
GetZoom() && nZoom != 0 )
1401 pViewSh->
SetZoom( aFract, aFract,
true );
1413 sal_Int16 aZoomType = view::DocumentZoomType::OPTIMAL;
1420 case SvxZoomType::PERCENT:
1421 aZoomType = view::DocumentZoomType::BY_VALUE;
1423 case SvxZoomType::OPTIMAL:
1424 aZoomType = view::DocumentZoomType::OPTIMAL;
1426 case SvxZoomType::WHOLEPAGE:
1427 aZoomType = view::DocumentZoomType::ENTIRE_PAGE;
1429 case SvxZoomType::PAGEWIDTH:
1430 aZoomType = view::DocumentZoomType::PAGE_WIDTH;
1432 case SvxZoomType::PAGEWIDTH_NOBORDER:
1433 aZoomType = view::DocumentZoomType::PAGE_WIDTH_EXACT;
1453 case view::DocumentZoomType::BY_VALUE:
1454 eZoomType = SvxZoomType::PERCENT;
1456 case view::DocumentZoomType::OPTIMAL:
1457 eZoomType = SvxZoomType::OPTIMAL;
1459 case view::DocumentZoomType::ENTIRE_PAGE:
1460 eZoomType = SvxZoomType::WHOLEPAGE;
1462 case view::DocumentZoomType::PAGE_WIDTH:
1463 eZoomType = SvxZoomType::PAGEWIDTH;
1465 case view::DocumentZoomType::PAGE_WIDTH_EXACT:
1466 eZoomType = SvxZoomType::PAGEWIDTH_NOBORDER;
1469 eZoomType = SvxZoomType::OPTIMAL;
1472 sal_Int16 nOldZoom(nZoom);
1473 if ( eZoomType == SvxZoomType::PERCENT )
1479 nZoom = pView->
CalcZoom( eZoomType, nOldZoom );
1481 switch ( eZoomType )
1483 case SvxZoomType::WHOLEPAGE:
1484 case SvxZoomType::PAGEWIDTH:
1629 aSplit += aWinStart;
1637 const uno::Reference<view::XSelectionChangeListener>& xListener )
1644 const uno::Reference< view::XSelectionChangeListener >& xListener )
1660 SfxRequest aReq( SID_STYLE_END_PREVIEW, SfxCallMode::SLOT, reqList );
1662 lang::EventObject
aEvent;
1663 aEvent.Source.set(getXWeak());
1665 rListener->selectionChanged(
aEvent );
1682 uno::Sequence<sal_Int16> aOutArgsIndex;
1683 uno::Sequence<uno::Any> aOutArgs;
1684 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1695 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1699 catch( uno::Exception& )
1710 static uno::Reference<beans::XPropertySetInfo> aRef(
1716 const OUString& aPropertyName,
const uno::Any& aValue )
1764 sal_Int16 nIntVal = 0;
1765 if ( aValue >>= nIntVal )
1775 sal_Int16 nIntVal = 0;
1776 if ( aValue >>= nIntVal )
1786 sal_Int16 nIntVal = 0;
1787 if ( aValue >>= nIntVal )
1798 if ( aValue >>= nIntVal )
1803 sal_Int16 nIntVal = 0;
1804 if ( aValue >>= nIntVal )
1809 sal_Int16 nIntVal = 0;
1810 if ( aValue >>= nIntVal )
1835 if ( aNewOpt == rOldOpt )
1914 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1921 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1930 const uno::Reference<beans::XVetoableChangeListener >& )
1935 const uno::Reference<beans::XVetoableChangeListener >& )
1941 beans::PropertyChangeEvent
aEvent;
1942 aEvent.Source.set(getXWeak());
1944 rListener->propertyChange(
aEvent );
1950 const uno::Sequence<beans::PropertyValue>& aArguments )
1957 OUString aInitVal, aTitle;
1958 bool bCloseOnButtonUp =
false;
1959 bool bSingleCell =
false;
1960 bool bMultiSelection =
false;
1963 for (
const beans::PropertyValue& rProp :
aArguments)
1971 if ( rProp.Value >>= aStrVal )
1976 if ( rProp.Value >>= aStrVal )
1985 pViewSh->
StartSimpleRefDialog( aTitle, aInitVal, bCloseOnButtonUp, bSingleCell, bMultiSelection );
1997 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
2004 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
2013 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2020 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2030 sheet::RangeSelectionEvent
aEvent;
2031 aEvent.Source.set(getXWeak());
2032 aEvent.RangeDescriptor = rText;
2037 for (
const auto& rListener : listeners)
2038 rListener->done(
aEvent );
2043 sheet::RangeSelectionEvent
aEvent;
2044 aEvent.Source.set(getXWeak());
2045 aEvent.RangeDescriptor = rText;
2050 for (
const auto& rListener : listeners)
2051 rListener->aborted(
aEvent );
2056 sheet::RangeSelectionEvent
aEvent;
2057 aEvent.Source.set(getXWeak());
2058 aEvent.RangeDescriptor = rText;
2063 for (
const auto& rListener : listener)
2064 rListener->descriptorChanged(
aEvent );
2070 return "ScTabViewObj";
2138 uno::Sequence<sal_Int32> aRet(rSelected.size());
2139 auto aRetRange = asNonConstRange(aRet);
2141 for (
const auto& rTab : rSelected)
2143 aRetRange[
i] =
static_cast<sal_Int32
>(rTab);
2156 return uno::Sequence<sal_Int32>();
2175 mpViewShell(pViewSh)
2190 return SfxBaseController::queryInterface(rType);
2195 SfxBaseController::acquire();
2200 SfxBaseController::release();
2205 if (rHint.
GetId() == SfxHintId::Dying)
2213 return uno::Sequence<sal_Int32>();
2215 return toSequence(
p->GetSelectedTabs());
css::chart::ChartAxisLabelPosition ePos
SfxApplication * SfxGetpApp()
css::uno::Reference< css::datatransfer::XTransferable > GetTransferable() const
void InsertText(const OUString &rNew, bool bSelect=false, bool bLOKShowSelect=true)
Base class for all functions.
sal_uInt16 GetSlotID() const
EditView & GetEditView() const
constexpr tools::Long Y() const
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
void SetZoom(sal_uInt16 nNew)
void SetZoomType(SvxZoomType eNew)
really derive cell from range?
void SetDocumentModified()
const ScDocument & GetDocument() const
const ScSheetEvents * GetSheetEvents(SCTAB nTab) const
ScExtDocOptions * GetExtDocOptions()
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
const css::uno::Reference< css::script::vba::XVBAEventProcessor > & GetVbaEventProcessor() const
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
bool HasSheetEventScript(SCTAB nTab, ScSheetEventId nEvent, bool bWithVbaEvents=false) const
SC_DLLPUBLIC bool IsLayoutRTL(SCTAB nTab) const
SC_DLLPUBLIC bool HasTable(SCTAB nTab) const
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
SC_DLLPUBLIC tools::Rectangle GetMMRect(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
ScDrawView * GetDrawView()
SdrEndTextEditKind ScEndTextEdit()
css::uno::Reference< css::datatransfer::XTransferable > CopyToTransferable()
Extended options held by an ScDocument containing additional settings for filters.
void SetChanged(bool bChanged)
If set to true, the data will be copied to the view data after import.
MapMode GetDrawMapMode(bool bForce=false)
MapMode for the drawinglayer objects.
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
void ExtendRangeListTables(ScRangeList *pList) const
bool IsMultiMarked() const
void FillRangeListWithMarks(ScRangeList *pList, bool bClear, SCTAB nForTab=-1) const
Create a range list of marks.
std::set< SCTAB > MarkedTabsType
SCTAB GetSelectCount() const
const MarkedTabsType & GetSelectedTabs() const
void MarkFromRangeList(const ScRangeList &rList, bool bReset)
SCCOL GetColMerge() const
SCROW GetRowMerge() const
SC_DLLPUBLIC const ScAppOptions & GetAppOptions()
SC_DLLPUBLIC void SetAppOptions(const ScAppOptions &rOpt)
virtual void SAL_CALL release() noexcept override
virtual ~ScPreviewObj() override
virtual void SAL_CALL acquire() noexcept override
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedSheets() override
virtual void Notify(SfxBroadcaster &, const SfxHint &rHint) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
ScPreviewObj(ScPreviewShell *pViewSh)
ScPreviewShell * mpViewShell
const OUString * GetScript(ScSheetEventId nEvent) const
static sal_Int32 GetVbaSheetEventId(ScSheetEventId nEvent)
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
sal_Int16 GetZoom() const
std::vector< css::uno::Reference< css::sheet::XActivationEventListener > > aActivationListeners
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
rtl::Reference< ScViewPaneObj > GetObjectByIndex_Impl(sal_uInt16 nIndex) const
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedSheets() override
virtual sal_Int32 SAL_CALL getSplitColumn() override
css::uno::Reference< css::uno::XInterface > GetClickedObject(const Point &rPoint) const
virtual sal_Bool SAL_CALL select(const css::uno::Any &aSelection) override
virtual css::uno::Reference< css::datatransfer::XTransferable > SAL_CALL getTransferable() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
std::vector< css::uno::Reference< css::sheet::XRangeSelectionChangeListener > > aRangeChgListeners
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual void SAL_CALL addEnhancedMouseClickHandler(const css::uno::Reference< css::awt::XEnhancedMouseClickHandler > &aListener) override
virtual void SAL_CALL removeSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual void SAL_CALL freezeAtPosition(sal_Int32 nColumns, sal_Int32 nRows) override
virtual void SAL_CALL startRangeSelection(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
virtual void SAL_CALL addRangeSelectionChangeListener(const css::uno::Reference< css::sheet::XRangeSelectionChangeListener > &aListener) override
bool bFilteredRangeSelection
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
sal_Int16 GetZoomType() const
virtual void SAL_CALL removeActivationEventListener(const css::uno::Reference< css::sheet::XActivationEventListener > &aListener) override
void RangeSelChanged(const OUString &rText)
virtual void SAL_CALL removeEnhancedMouseClickHandler(const css::uno::Reference< css::awt::XEnhancedMouseClickHandler > &aListener) override
void SetZoom(sal_Int16 Zoom)
SfxItemPropertySet aPropSet
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPrintable?
virtual void SAL_CALL setActiveSheet(const css::uno::Reference< css::sheet::XSpreadsheet > &xActiveSheet) override
void EndActivationListening()
virtual void SAL_CALL addActivationEventListener(const css::uno::Reference< css::sheet::XActivationEventListener > &aListener) override
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
virtual sal_Int32 SAL_CALL getCount() override
virtual void SAL_CALL addSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual void SAL_CALL insertTransferable(const css::uno::Reference< css::datatransfer::XTransferable > &xTrans) override
virtual sal_Bool SAL_CALL hasElements() override
virtual css::uno::Any SAL_CALL getSelection() override
bool MousePressed(const css::awt::MouseEvent &e)
virtual void SAL_CALL removeRangeSelectionListener(const css::uno::Reference< css::sheet::XRangeSelectionListener > &aListener) override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
std::vector< css::uno::Reference< css::sheet::XRangeSelectionListener > > aRangeSelListeners
virtual css::uno::Type SAL_CALL getElementType() override
virtual sal_Int32 SAL_CALL getSplitHorizontal() override
std::vector< css::uno::Reference< css::view::XSelectionChangeListener > > aSelectionChgListeners
std::vector< css::uno::Reference< css::awt::XEnhancedMouseClickHandler > > aMouseClickHandlers
virtual void SAL_CALL acquire() noexcept override
virtual sal_Bool SAL_CALL getIsWindowSplit() override
void RangeSelAborted(const OUString &rText)
virtual void SAL_CALL abortRangeSelection() override
virtual void SAL_CALL removeRangeSelectionChangeListener(const css::uno::Reference< css::sheet::XRangeSelectionChangeListener > &aListener) override
virtual sal_Bool SAL_CALL hasFrozenPanes() override
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool IsMouseListening() const
virtual sal_Int32 SAL_CALL getSplitRow() override
virtual sal_Int32 SAL_CALL getSplitVertical() override
void SetZoomType(sal_Int16 ZoomType)
void RangeSelDone(const OUString &rText)
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL release() noexcept override
void SheetChanged(bool bSameTabButMoved)
virtual css::uno::Reference< css::sheet::XSpreadsheet > SAL_CALL getActiveSheet() override
bool MouseReleased(const css::awt::MouseEvent &e)
virtual void SAL_CALL addRangeSelectionListener(const css::uno::Reference< css::sheet::XRangeSelectionListener > &aListener) override
std::vector< css::uno::Reference< css::beans::XPropertyChangeListener > > aPropertyChgListeners
virtual ~ScTabViewObj() override
virtual void SAL_CALL splitAtPosition(sal_Int32 nPixelX, sal_Int32 nPixelY) override
virtual const FmFormShell * GetFormShell() const override
void StopSimpleRefDialog()
css::uno::Reference< css::drawing::XShapes > getSelectedXShapes()
void StartSimpleRefDialog(const OUString &rTitle, const OUString &rInitVal, bool bCloseOnButtonUp, bool bSingleCell, bool bMultiSelection)
void SetDrawShell(bool bActive)
FuPoor * GetDrawFuncPtr()
void AlignToCursor(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, const ScSplitPos *pWhich=nullptr)
void DoneBlockMode(bool bContinue=false)
sal_uInt16 CalcZoom(SvxZoomType eType, sal_uInt16 nOldZoom)
void ScrollToObject(const SdrObject *pDrawObj)
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
void FreezeSplitters(bool bFreeze, SplitMethod eSplitMethod=SC_SPLIT_METHOD_CURSOR, SCCOLROW nFreezeIndex=-1)
ScViewData & GetViewData()
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
SvxZoomType GetZoomType() const
SC_DLLPUBLIC void SetCursor(SCCOL nPosX, SCROW nPosY, bool bNew=false)
void ScrollX(tools::Long nDeltaX, ScHSplitPos eWhich, bool bUpdBars=true)
void SetDrawSelMode(bool bNew)
ScDrawView * GetScDrawView()
vcl::Window * GetWindowByPos(ScSplitPos ePos) const
void ScrollY(tools::Long nDeltaY, ScVSplitPos eWhich, bool bUpdBars=true)
void InitOwnBlockMode(const ScRange &rMarkRange)
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
void SplitAtPixel(const Point &rPixel)
void SetZoomType(SvxZoomType eNew, bool bAll)
static sal_Int16 GetInt16FromAny(const css::uno::Any &aAny)
static bool GetBoolFromAny(const css::uno::Any &aAny)
void GetMultiArea(ScRangeListRef &rRange) const
void SetOptions(const ScViewOptions &rOpt)
void SetFormulaBarLines(sal_Int16 nLines)
const ScViewOptions & GetOptions() const
ScMarkData & GetMarkData()
const Fraction & GetZoomY() const
ScDocument & GetDocument() const
SCROW GetPosY(ScVSplitPos eWhich, SCTAB nForTab=-1) const
ScSplitMode GetHSplitMode() const
ScDocShell * GetDocShell() const
ScGridWindow * GetActiveWin()
void GetPosFromPixel(tools::Long nClickX, tools::Long nClickY, ScSplitPos eWhich, SCCOL &rPosX, SCROW &rPosY, bool bTestMerge=true, bool bRepair=false, SCTAB nForTab=-1)
tools::Long GetHSplitPos() const
ScMarkType GetSimpleArea(SCCOL &rStartCol, SCROW &rStartRow, SCTAB &rStartTab, SCCOL &rEndCol, SCROW &rEndRow, SCTAB &rEndTab) const
ScDBFunc * GetView() const
SCROW VisibleCellsY(ScVSplitPos eWhichY) const
ScSplitPos GetActivePart() const
Point GetScrPos(SCCOL nWhereX, SCROW nWhereY, ScSplitPos eWhich, bool bAllowNeg=false, SCTAB nForTab=-1) const
SCCOL VisibleCellsX(ScHSplitPos eWhichX) const
ScSplitMode GetVSplitMode() const
bool IsPagebreakMode() const
tools::Long GetVSplitPos() const
ScDrawView * GetScDrawView()
SCCOL GetPosX(ScHSplitPos eWhich, SCTAB nForTab=-1) const
void ReadExtOptions(const ScExtDocOptions &rOpt)
sal_Int16 GetFormulaBarLines() const
void PasteFromTransferable(const css::uno::Reference< css::datatransfer::XTransferable > &rxTransferable)
rtl::Reference< ScTransferObj > CopyToTransferable()
void SetGridColor(const Color &rCol, const OUString &rName)
void SetOption(ScViewOption eOpt, bool bNew)
void SetObjMode(ScVObjType eObj, ScVObjMode eMode)
bool GetOption(ScViewOption eOpt) const
Color const & GetGridColor(OUString *pStrName=nullptr) const
ScVObjMode GetObjMode(ScVObjType eObj) const
virtual void SAL_CALL setFirstVisibleColumn(sal_Int32 nFirstVisibleColumn) override
virtual sal_Int32 SAL_CALL getFirstVisibleColumn() override
css::awt::Rectangle GetVisArea() const
virtual ~ScViewPaneBase() override
ScTabViewShell * GetViewShell() const
virtual sal_Int32 SAL_CALL getFirstVisibleRow() override
virtual css::table::CellRangeAddress SAL_CALL getVisibleRange() override
virtual void SAL_CALL setFormDesignMode(sal_Bool DesignMode) override
virtual void SAL_CALL setFirstVisibleRow(sal_Int32 nFirstVisibleRow) override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Reference< css::table::XCellRange > SAL_CALL getReferredCells() override
virtual css::uno::Reference< css::awt::XControl > SAL_CALL getControl(const css::uno::Reference< css::awt::XControlModel > &xModel) override
virtual css::uno::Reference< css::form::runtime::XFormController > SAL_CALL getFormController(const css::uno::Reference< css::form::XForm > &Form) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual sal_Bool SAL_CALL isFormDesignMode() override
ScTabViewShell * pViewShell
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL acquire() noexcept override
virtual void SAL_CALL release() noexcept override
ScViewPaneObj(ScTabViewShell *pViewSh, sal_uInt16 nP)
virtual ~ScViewPaneObj() override
static void UnmarkFiltered(ScMarkData &rMark, const ScDocument &rDoc)
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
const SdrMarkList & GetMarkedObjectList() const
bool IsObjMarkable(SdrObject const *pObj, SdrPageView const *pPV) const
bool MarkObj(const Point &rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false)
SdrObject * GetMarkedSdrObj() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
sal_uInt16 GetPageCount() const
const OutlinerView * GetTextEditOutlinerView() const
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
virtual css::uno::Reference< css::drawing::XShape > getUnoShape()
SdrPage * getSdrPageFromSdrObject() const
virtual SdrLayerID GetLayer() const
SdrPage * GetPage() const
sal_uInt16 GetHitTolerancePixel() const
SdrPageView * GetSdrPageView() const
SdrModel & GetModel() const
static SfxApplication * Get()
void Invalidate(sal_uInt16 nId)
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
SfxShell * GetShell(sal_uInt16 nIdx) const
const SfxItemPropertyMap & getPropertyMap() const
void StartListening(SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
void EndListening(SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
ErrCode CallXScript(const OUString &rScriptURL, const css::uno::Sequence< css::uno::Any > &aParams, css::uno::Any &aRet, css::uno::Sequence< sal_Int16 > &aOutParamIndex, css::uno::Sequence< css::uno::Any > &aOutParam, bool bRaiseError=true, const css::uno::Any *aCaller=nullptr)
SfxDispatcher * GetDispatcher() const
SfxBindings & GetBindings()
SfxDispatcher * GetDispatcher()
SfxViewFrame & GetViewFrame() const
constexpr tools::Long Width() const
SdrObject * GetSdrObject() const
css::uno::Type const & get()
tools::Rectangle GetWindowExtentsAbsolute() const
virtual Point GetPosPixel() const
::OutputDevice const * GetOutDev() const
Point PixelToLogic(const Point &rDevicePt) const
virtual Size GetSizePixel() const
css::awt::Rectangle AWTRectangle(const ::tools::Rectangle &rVCLRect)
EmbeddedObjectRef * pObject
Reference< XInterface > xTarget
@ StartListening
If set, cloned formula cells will start to listen to the document.
constexpr SdrLayerID SC_LAYER_BACK(1)
Sequence< PropertyValue > aArguments
void SAL_CALL mouseReleased(const css::awt::MouseEvent &e) override
DECL_LISTENERMULTIPLEXER_END void SAL_CALL mousePressed(const css::awt::MouseEvent &e) override
#define SC_QUERYINTERFACE(x)
#define SC_SIMPLE_SERVICE_INFO(ClassName, ClassNameAscii, ServiceAscii)
#define SC_QUERY_MULTIPLE(x, y)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
Reference< XComponentContext > getProcessComponentContext()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr TypedWhichId< ScMergeAttr > ATTR_MERGE(144)
SVXCORE_DLLPUBLIC SdrObject * SdrObjectPrimitiveHit(const SdrObject &rObject, const Point &rPnt, const basegfx::B2DVector &rHitTolerance, const SdrPageView &rSdrPageView, const SdrLayerIDSet *pVisiLayer, bool bTextOnly, drawinglayer::primitive2d::Primitive2DContainer *pHitContainer=nullptr)
Reference< XController > xController
Reference< XModel > xModel
constexpr OUStringLiteral SC_UNONAME_MULTISEL
constexpr OUStringLiteral SC_UNO_ZOOMVALUE
constexpr OUStringLiteral SC_UNO_SHOWGRID
constexpr OUStringLiteral SC_UNO_ZOOMTYPE
constexpr OUStringLiteral SC_UNO_SHOWHELP
constexpr OUStringLiteral SC_UNO_OUTLSYMB
constexpr OUStringLiteral OLD_UNO_HORSCROLL
constexpr OUStringLiteral SC_UNO_HIDESPELL
constexpr OUStringLiteral SC_UNO_SHOWFORMULASMARKS
constexpr OUStringLiteral SC_UNONAME_SINGLECELL
constexpr OUStringLiteral SC_UNO_SHOWNOTES
constexpr OUStringLiteral SC_UNO_SHOWOBJ
constexpr OUStringLiteral SC_UNO_SHOWDRAW
constexpr OUStringLiteral SC_UNO_VISAREA
constexpr OUStringLiteral SC_UNO_SHOWPAGEBR
constexpr OUStringLiteral OLD_UNO_COLROWHDR
constexpr OUStringLiteral SC_UNO_SHEETTABS
constexpr OUStringLiteral OLD_UNO_VALUEHIGH
constexpr OUStringLiteral OLD_UNO_VERTSCROLL
constexpr OUStringLiteral SC_UNONAME_INITVAL
constexpr OUStringLiteral SC_UNO_COLROWHDR
constexpr OUStringLiteral OLD_UNO_SHEETTABS
constexpr OUStringLiteral SC_UNO_SHOWFORM
constexpr OUStringLiteral SC_UNO_SHOWCHARTS
constexpr OUStringLiteral SC_UNO_VERTSCROLL
constexpr OUStringLiteral SC_UNO_FILTERED_RANGE_SELECTION
constexpr OUStringLiteral OLD_UNO_OUTLSYMB
constexpr OUStringLiteral SC_UNO_GRIDCOLOR
constexpr OUStringLiteral SC_UNO_SHOWZERO
constexpr OUStringLiteral SC_UNO_FORMULABARHEIGHT
constexpr OUStringLiteral SC_UNO_VISAREASCREEN
constexpr OUStringLiteral SC_UNONAME_CLOSEONUP
constexpr OUStringLiteral SC_UNONAME_TITLE
constexpr OUStringLiteral SC_UNO_SHOWANCHOR
constexpr OUStringLiteral SC_UNO_HORSCROLL
constexpr OUStringLiteral SC_UNO_VALUEHIGH
ScHSplitPos WhichH(ScSplitPos ePos)
ScMarkType
States GetSimpleArea() returns for the underlying selection marks, so the caller can react if the res...
@ SC_MARK_SIMPLE_FILTERED
ScVSplitPos WhichV(ScSplitPos ePos)
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetViewOptPropertyMap()
Clipping Marks.
static void lcl_CallActivate(ScDocShell *pDocSh, SCTAB nTab, ScSheetEventId nEvent)
static bool lcl_TabInRanges(SCTAB nTab, const ScRangeList &rRanges)
constexpr OUStringLiteral SCTABVIEWOBJ_SERVICE
constexpr OUStringLiteral SCVIEWSETTINGS_SERVICE
static void lcl_ShowObject(ScTabViewShell &rViewSh, const ScDrawView &rDrawView, const SdrObject *pSelObj)
#define SC_VIEWPANE_ACTIVE