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>
57#include <drawview.hxx>
60#include <unonames.hxx>
69#include <inputwin.hxx>
116 return aViewOptPropertyMap_Impl;
125 pViewShell( pViewSh ),
142 if ( rHint.
GetId() == SfxHintId::Dying )
160 static const uno::Sequence<uno::Type>
aTypes
173 return css::uno::Sequence<sal_Int8>();
189 return rViewData.
GetPosX( eWhichH );
191 OSL_FAIL(
"no View ?!?");
222 return rViewData.
GetPosY( eWhichV );
224 OSL_FAIL(
"no View ?!?");
247 table::CellRangeAddress aAdr;
263 if (!nVisX) nVisX = 1;
264 if (!nVisY) nVisY = 1;
266 aAdr.StartColumn = rViewData.
GetPosX( eWhichH );
267 aAdr.StartRow = rViewData.
GetPosY( eWhichV );
268 aAdr.EndColumn = aAdr.StartColumn + nVisX - 1;
269 aAdr.EndRow = aAdr.StartRow + nVisY - 1;
284 ScRange aRange(
static_cast<SCCOL>(aAdr.StartColumn),
static_cast<SCROW>(aAdr.StartRow), aAdr.Sheet,
285 static_cast<SCCOL>(aAdr.EndColumn),
static_cast<SCROW>(aAdr.EndRow), aAdr.Sheet );
309 return ( _rpFormShell !=
nullptr ) && ( _rpSdrView != nullptr )&& ( _rpWindow !=
nullptr );
318 uno::Reference< form::runtime::XFormController >
xController;
323 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
333 bool bIsFormDesignMode(
true );
339 return bIsFormDesignMode;
349 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
356 const uno::Reference<awt::XControlModel>& xModel )
360 uno::Reference<awt::XControl> xRet;
365 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
369 throw container::NoSuchElementException();
376 awt::Rectangle aVisArea;
399 aVisPos.AdjustX( -(aVisSize.
Width()) );
423 aRet = OWeakObject::queryInterface( rType );
429 OWeakObject::acquire();
434 OWeakObject::release();
443 aMouseClickHandlers( 0 ),
444 aActivationListeners( 0 ),
446 bDrawSelModeSet(false),
447 bFilteredRangeSelection(false),
448 mbLeftMousePressed(false)
487 aRet = SfxBaseController::queryInterface( rType );
493 SfxBaseController::acquire();
498 SfxBaseController::release();
512 const OUString* pScript = pEvents->
GetScript(nEvent);
516 uno::Sequence<uno::Any> aParams;
517 uno::Sequence<sal_Int16> aOutArgsIndex;
518 uno::Sequence<uno::Any> aOutArgs;
519 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
526 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
528 uno::Sequence< uno::Any > aArgs{
uno::Any(nTab) };
531 catch( uno::Exception& )
545 sheet::ActivationEvent
aEvent;
546 uno::Reference< sheet::XSpreadsheetView > xView(
this);
547 uno::Reference< uno::XInterface > xSource(xView, uno::UNO_QUERY);
557 catch( uno::Exception& )
579 SfxBaseController::getTypes(),
580 uno::Sequence<uno::Type>
599 return css::uno::Sequence<sal_Int8>();
608 const ScRange & rRange = rRanges[
i ];
618 SCTAB nObjectTab = 0;
622 for (sal_uInt16
i=0;
i<nPageCount && !bFound;
i++)
634 nObjectTab =
static_cast<SCTAB>(
i);
659 uno::Reference<uno::XInterface> xInterface(aSelection, uno::UNO_QUERY);
660 if ( !xInterface.is() )
683 ScCellRangesBase* pRangesImp =
dynamic_cast<ScCellRangesBase*
>( xInterface.get() );
684 uno::Reference<drawing::XShapes> xShapeColl( xInterface, uno::UNO_QUERY );
685 uno::Reference<drawing::XShape> xShapeSel( xInterface, uno::UNO_QUERY );
686 SvxShape* pShapeImp = comphelper::getFromUnoTunnel<SvxShape>( xShapeSel );
691 if ( rViewData.
GetDocShell() == pRangesImp->GetDocShell() )
703 if ( pFunc && pFunc->
GetSlotID() != SID_OBJECT_SELECT )
715 const ScRangeList& rRanges = pRangesImp->GetRangeList();
716 size_t nRangeCount = rRanges.
size();
718 if ( nRangeCount == 0 )
720 else if ( nRangeCount == 1 )
726 const ScRange & rFirst = rRanges[ 0 ];
743 else if ( pShapeImp || xShapeColl.is() )
760 pDrawView->
MarkObj( pObj, pPV );
775 bool bAllMarked(
true);
778 uno::Reference<drawing::XShape> xShapeInt(xShapeColl->getByIndex(
i), uno::UNO_QUERY);
798 pDrawView->
MarkObj( pObj, pPV );
818 throw lang::IllegalArgumentException();
825 uno::Reference<drawing::XShapes> xShapes;
837 for (
size_t i = 0;
i < nMarkCount; ++
i)
842 uno::Reference<drawing::XShape> xShape( pDrawObj->
getUnoShape(), uno::UNO_QUERY );
844 xShapes->add(xShape);
882 == SfxItemState::SET))
894 switch ( aRangeList.
size() )
899 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
903 const ScRange& rRange = aRangeList[ 0 ];
911 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
924 pObj =
new ScCellRangesObj( pDocSh, *xRanges );
932 pObj->SetCursorOnly(
true );
944 return new ScIndexEnumeration(
this,
"com.sun.star.sheet.SpreadsheetViewPanesEnumeration");
953 sal_uInt16 nPanes = 0;
971 throw lang::IndexOutOfBoundsException();
1030 return new ScViewPaneObj( pViewSh, sal::static_int_cast<sal_uInt16>(eWhich) );
1056 if ( !(pViewSh && xActiveSheet.is()) )
1061 ScCellRangesBase* pRangesImp =
dynamic_cast<ScCellRangesBase*
>( xActiveSheet.get() );
1064 const ScRangeList& rRanges = pRangesImp->GetRangeList();
1065 if ( rRanges.
size() == 1 )
1067 SCTAB nNewTab = rRanges[ 0 ].aStart.Tab();
1076 uno::Reference< uno::XInterface >
xTarget;
1089 xTarget.set(uno::Reference<table::XCell>(pCellObj), uno::UNO_QUERY);
1095 if (pDrawLayer->HasObjects() && (pDrawLayer->GetPageCount() > nTab))
1096 pDrawPage = pDrawLayer->GetPage(
static_cast<sal_uInt16
>(nTab));
1105 sal_uInt16 nHitLog =
static_cast<sal_uInt16
>(pActiveWin->
PixelToLogic(
1110 for (
size_t i = 0;
i <
nCount && !bFound; ++
i)
1143 bool bReturn(
false);
1144 if ( e.Buttons == css::awt::MouseButton::LEFT )
1150 awt::EnhancedMouseEvent aMouseEvent;
1152 aMouseEvent.Buttons = e.Buttons;
1153 aMouseEvent.X = e.X;
1154 aMouseEvent.Y = e.Y;
1155 aMouseEvent.ClickCount = e.ClickCount;
1156 aMouseEvent.PopupTrigger = e.PopupTrigger;
1158 aMouseEvent.Modifiers = e.Modifiers;
1168 catch ( uno::Exception& )
1176 bool bDoubleClick = ( e.Buttons == awt::MouseButton::LEFT && e.ClickCount == 2 );
1177 bool bRightClick = ( e.Buttons == awt::MouseButton::RIGHT && e.ClickCount == 1 );
1178 if ( ( bDoubleClick || bRightClick ) && !bReturn &&
xTarget.is())
1190 const OUString* pScript = pEvents->
GetScript(nEvent);
1197 uno::Sequence<sal_Int16> aOutArgsIndex;
1198 uno::Sequence<uno::Any> aOutArgs;
1200 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1203 bool bRetValue =
false;
1204 if ((aRet >>= bRetValue) && bRetValue)
1210 if (!bReturn &&
xTarget.is())
try
1212 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1217 catch( util::VetoException& )
1221 catch( uno::Exception& )
1231 if ( e.Buttons == css::awt::MouseButton::LEFT )
1239 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1243 catch( uno::Exception& )
1249 bool bReturn(
false);
1257 awt::EnhancedMouseEvent aMouseEvent;
1259 aMouseEvent.Buttons = e.Buttons;
1260 aMouseEvent.X = e.X;
1261 aMouseEvent.Y = e.Y;
1262 aMouseEvent.ClickCount = e.ClickCount;
1263 aMouseEvent.PopupTrigger = e.PopupTrigger;
1265 aMouseEvent.Modifiers = e.Modifiers;
1275 catch ( uno::Exception& )
1289 lang::EventObject
aEvent;
1295 rListener->disposing(
aEvent);
1297 catch ( uno::Exception& )
1306 lang::EventObject
aEvent;
1312 rListener->disposing(
aEvent);
1314 catch ( uno::Exception& )
1371 return static_cast<sal_Int16
>(
tools::Long( rZoomY * 100 ));
1382 if ( nZoom !=
GetZoom() && nZoom != 0 )
1394 pViewSh->
SetZoom( aFract, aFract,
true );
1406 sal_Int16 aZoomType = view::DocumentZoomType::OPTIMAL;
1413 case SvxZoomType::PERCENT:
1414 aZoomType = view::DocumentZoomType::BY_VALUE;
1416 case SvxZoomType::OPTIMAL:
1417 aZoomType = view::DocumentZoomType::OPTIMAL;
1419 case SvxZoomType::WHOLEPAGE:
1420 aZoomType = view::DocumentZoomType::ENTIRE_PAGE;
1422 case SvxZoomType::PAGEWIDTH:
1423 aZoomType = view::DocumentZoomType::PAGE_WIDTH;
1425 case SvxZoomType::PAGEWIDTH_NOBORDER:
1426 aZoomType = view::DocumentZoomType::PAGE_WIDTH_EXACT;
1446 case view::DocumentZoomType::BY_VALUE:
1447 eZoomType = SvxZoomType::PERCENT;
1449 case view::DocumentZoomType::OPTIMAL:
1450 eZoomType = SvxZoomType::OPTIMAL;
1452 case view::DocumentZoomType::ENTIRE_PAGE:
1453 eZoomType = SvxZoomType::WHOLEPAGE;
1455 case view::DocumentZoomType::PAGE_WIDTH:
1456 eZoomType = SvxZoomType::PAGEWIDTH;
1458 case view::DocumentZoomType::PAGE_WIDTH_EXACT:
1459 eZoomType = SvxZoomType::PAGEWIDTH_NOBORDER;
1462 eZoomType = SvxZoomType::OPTIMAL;
1465 sal_Int16 nOldZoom(nZoom);
1466 if ( eZoomType == SvxZoomType::PERCENT )
1472 nZoom = pView->
CalcZoom( eZoomType, nOldZoom );
1474 switch ( eZoomType )
1476 case SvxZoomType::WHOLEPAGE:
1477 case SvxZoomType::PAGEWIDTH:
1622 aSplit += aWinStart;
1630 const uno::Reference<view::XSelectionChangeListener>& xListener )
1637 const uno::Reference< view::XSelectionChangeListener >& xListener )
1653 SfxRequest aReq( SID_STYLE_END_PREVIEW, SfxCallMode::SLOT, reqList );
1655 lang::EventObject
aEvent;
1658 rListener->selectionChanged(
aEvent );
1675 uno::Sequence<sal_Int16> aOutArgsIndex;
1676 uno::Sequence<uno::Any> aOutArgs;
1677 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1688 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1692 catch( uno::Exception& )
1703 static uno::Reference<beans::XPropertySetInfo> aRef(
1709 const OUString& aPropertyName,
const uno::Any& aValue )
1757 sal_Int16 nIntVal = 0;
1758 if ( aValue >>= nIntVal )
1768 sal_Int16 nIntVal = 0;
1769 if ( aValue >>= nIntVal )
1779 sal_Int16 nIntVal = 0;
1780 if ( aValue >>= nIntVal )
1791 if ( aValue >>= nIntVal )
1796 sal_Int16 nIntVal = 0;
1797 if ( aValue >>= nIntVal )
1802 sal_Int16 nIntVal = 0;
1803 if ( aValue >>= nIntVal )
1828 if ( aNewOpt == rOldOpt )
1907 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1914 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1923 const uno::Reference<beans::XVetoableChangeListener >& )
1928 const uno::Reference<beans::XVetoableChangeListener >& )
1934 beans::PropertyChangeEvent
aEvent;
1937 rListener->propertyChange(
aEvent );
1943 const uno::Sequence<beans::PropertyValue>& aArguments )
1950 OUString aInitVal, aTitle;
1951 bool bCloseOnButtonUp =
false;
1952 bool bSingleCell =
false;
1953 bool bMultiSelection =
false;
1956 for (
const beans::PropertyValue& rProp :
aArguments)
1964 if ( rProp.Value >>= aStrVal )
1969 if ( rProp.Value >>= aStrVal )
1978 pViewSh->
StartSimpleRefDialog( aTitle, aInitVal, bCloseOnButtonUp, bSingleCell, bMultiSelection );
1990 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
1997 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
2006 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2013 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2023 sheet::RangeSelectionEvent
aEvent;
2025 aEvent.RangeDescriptor = rText;
2030 for (
const auto& rListener : listeners)
2031 rListener->done(
aEvent );
2036 sheet::RangeSelectionEvent
aEvent;
2038 aEvent.RangeDescriptor = rText;
2043 for (
const auto& rListener : listeners)
2044 rListener->aborted(
aEvent );
2049 sheet::RangeSelectionEvent
aEvent;
2051 aEvent.RangeDescriptor = rText;
2056 for (
const auto& rListener : listener)
2057 rListener->descriptorChanged(
aEvent );
2063 return "ScTabViewObj";
2131 uno::Sequence<sal_Int32> aRet(rSelected.size());
2132 auto aRetRange = asNonConstRange(aRet);
2134 for (
const auto& rTab : rSelected)
2136 aRetRange[
i] =
static_cast<sal_Int32
>(rTab);
2149 return uno::Sequence<sal_Int32>();
2168 mpViewShell(pViewSh)
2183 return SfxBaseController::queryInterface(rType);
2188 SfxBaseController::acquire();
2193 SfxBaseController::release();
2198 if (rHint.
GetId() == SfxHintId::Dying)
2206 return uno::Sequence<sal_Int32>();
2208 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
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 ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow, SCTAB nTab) 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)
SC_DLLPUBLIC const ScAppOptions & GetAppOptions()
SC_DLLPUBLIC void SetAppOptions(const ScAppOptions &rOpt)
SfxItemSet & GetItemSet()
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
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) 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()
virtual Point GetPosPixel() const
::OutputDevice const * GetOutDev() const
tools::Rectangle GetWindowExtentsRelative(const vcl::Window *pRelativeWindow) 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, sal_uInt16 nTol, 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