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>
67 #include <preview.hxx>
110 {
u"", 0, css::uno::Type(), 0, 0 }
112 return aViewOptPropertyMap_Impl;
115 #define SCTABVIEWOBJ_SERVICE "com.sun.star.sheet.SpreadsheetView"
116 #define SCVIEWSETTINGS_SERVICE "com.sun.star.sheet.SpreadsheetViewSettings"
121 pViewShell( pViewSh ),
133 EndListening(*pViewShell);
138 if ( rHint.
GetId() == SfxHintId::Dying )
139 pViewShell =
nullptr;
156 static const uno::Sequence<uno::Type>
aTypes
169 return css::uno::Sequence<sal_Int8>();
179 ScViewData& rViewData = pViewShell->GetViewData();
185 return rViewData.
GetPosX( eWhichH );
187 OSL_FAIL(
"no View ?!?");
196 ScViewData& rViewData = pViewShell->GetViewData();
203 pViewShell->ScrollX( nDeltaX, eWhichH );
212 ScViewData& rViewData = pViewShell->GetViewData();
218 return rViewData.
GetPosY( eWhichV );
220 OSL_FAIL(
"no View ?!?");
229 ScViewData& rViewData = pViewShell->GetViewData();
236 pViewShell->ScrollY( nDeltaY, eWhichV );
243 table::CellRangeAddress aAdr;
246 ScViewData& rViewData = pViewShell->GetViewData();
259 if (!nVisX) nVisX = 1;
260 if (!nVisY) nVisY = 1;
262 aAdr.StartColumn = rViewData.
GetPosX( eWhichH );
263 aAdr.StartRow = rViewData.
GetPosY( eWhichV );
264 aAdr.EndColumn = aAdr.StartColumn + nVisX - 1;
265 aAdr.EndRow = aAdr.StartRow + nVisY - 1;
279 table::CellRangeAddress aAdr(getVisibleRange());
280 ScRange aRange( static_cast<SCCOL>(aAdr.StartColumn), static_cast<SCROW>(aAdr.StartRow), aAdr.Sheet,
281 static_cast<SCCOL>(aAdr.EndColumn), static_cast<SCROW>(aAdr.EndRow), aAdr.Sheet );
305 return ( _rpFormShell !=
nullptr ) && ( _rpSdrView != nullptr )&& ( _rpWindow !=
nullptr );
314 uno::Reference< form::runtime::XFormController >
xController;
319 if ( lcl_prepareFormShellCall( pViewShell, nPane, pFormShell, pWindow, pSdrView ) )
329 bool bIsFormDesignMode(
true );
331 FmFormShell* pFormShell( pViewShell ? pViewShell->GetFormShell() : nullptr );
335 return bIsFormDesignMode;
345 if ( lcl_prepareFormShellCall( pViewShell, nPane, pFormShell, pWindow, pSdrView ) )
352 const uno::Reference<awt::XControlModel>& xModel )
356 uno::Reference<awt::XControl> xRet;
361 if ( lcl_prepareFormShellCall( pViewShell, nPane, pFormShell, pWindow, pSdrView ) )
365 throw container::NoSuchElementException();
372 awt::Rectangle aVisArea;
376 pViewShell->GetViewData().GetActivePart() :
379 ScDocument& rDoc = pViewShell->GetViewData().GetDocument();
386 ScAddress aCell(pViewShell->GetViewData().GetPosX(eWhichH),
387 pViewShell->GetViewData().GetPosY(eWhichV),
388 pViewShell->GetViewData().GetTabNo());
391 Point aVisPos( aCellRect.TopLeft() );
394 aVisPos = aCellRect.TopRight();
395 aVisPos.AdjustX( -(aVisSize.
Width()) );
419 aRet = OWeakObject::queryInterface( rType );
425 OWeakObject::acquire();
430 OWeakObject::release();
439 aMouseClickHandlers( 0 ),
440 aActivationListeners( 0 ),
442 bDrawSelModeSet(false),
443 bFilteredRangeSelection(false),
444 mbLeftMousePressed(false)
484 aRet = SfxBaseController::queryInterface( rType );
490 SfxBaseController::acquire();
495 SfxBaseController::release();
509 const OUString* pScript = pEvents->
GetScript(nEvent);
513 uno::Sequence<uno::Any> aParams;
514 uno::Sequence<sal_Int16> aOutArgsIndex;
515 uno::Sequence<uno::Any> aOutArgs;
516 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
523 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
525 uno::Sequence< uno::Any > aArgs( 1 );
529 catch( uno::Exception& )
543 sheet::ActivationEvent
aEvent;
544 uno::Reference< sheet::XSpreadsheetView > xView(
this);
545 uno::Reference< uno::XInterface > xSource(xView, uno::UNO_QUERY);
546 aEvent.Source = xSource;
552 (*it)->activeSpreadsheetChanged( aEvent );
555 catch( uno::Exception& )
577 SfxBaseController::getTypes(),
578 uno::Sequence<uno::Type>
597 return css::uno::Sequence<sal_Int8>();
606 const ScRange & rRange = rRanges[
i ];
616 SCTAB nObjectTab = 0;
620 for (sal_uInt16
i=0;
i<nPageCount && !bFound;
i++)
627 while (pObject && !bFound)
629 if ( pObject == pSelObj )
632 nObjectTab =
static_cast<SCTAB>(
i);
634 pObject = aIter.
Next();
657 uno::Reference<uno::XInterface> xInterface(aSelection, uno::UNO_QUERY);
658 if ( !xInterface.is() )
681 ScCellRangesBase* pRangesImp = comphelper::getUnoTunnelImplementation<ScCellRangesBase>( xInterface );
682 uno::Reference<drawing::XShapes> xShapeColl( xInterface, uno::UNO_QUERY );
683 uno::Reference<drawing::XShape> xShapeSel( xInterface, uno::UNO_QUERY );
684 SvxShape* pShapeImp = comphelper::getUnoTunnelImplementation<SvxShape>( xShapeSel );
701 if ( pFunc && pFunc->
GetSlotID() != SID_OBJECT_SELECT )
714 size_t nRangeCount = rRanges.
size();
716 if ( nRangeCount == 0 )
718 else if ( nRangeCount == 1 )
724 const ScRange & rFirst = rRanges[ 0 ];
741 else if ( pShapeImp || xShapeColl.is() )
758 pDrawView->
MarkObj( pObj, pPV );
773 bool bAllMarked(
true);
776 uno::Reference<drawing::XShape> xShapeInt(xShapeColl->getByIndex(
i), uno::UNO_QUERY);
779 SvxShape* pShape = comphelper::getUnoTunnelImplementation<SvxShape>( xShapeInt );
799 pDrawView->
MarkObj( pObj, pPV );
820 throw lang::IllegalArgumentException();
827 uno::Reference<drawing::XShapes> xShapes;
839 for (
size_t i = 0;
i < nMarkCount; ++
i)
844 uno::Reference<drawing::XShape> xShape( pDrawObj->
getUnoShape(), uno::UNO_QUERY );
846 xShapes->add(xShape);
864 return uno::makeAny(xRet);
890 switch ( aRangeList.size() )
899 const ScRange& rRange = aRangeList[ 0 ];
932 return uno::makeAny(uno::Reference<uno::XInterface>(static_cast<cppu::OWeakObject*>(pObj)));
940 return new ScIndexEnumeration(
this,
"com.sun.star.sheet.SpreadsheetViewPanesEnumeration");
949 sal_uInt16 nPanes = 0;
967 throw lang::IndexOutOfBoundsException();
969 return uno::makeAny(xPane);
1003 eWhich = ePosHV[nIndex];
1011 else if ( nIndex == 1 )
1019 else if ( nIndex == 0 )
1023 else if ( nIndex > 0 )
1027 return new ScViewPaneObj( pViewSh, sal::static_int_cast<sal_uInt16>(eWhich) );
1053 if ( !(pViewSh && xActiveSheet.is()) )
1058 ScCellRangesBase* pRangesImp = comphelper::getUnoTunnelImplementation<ScCellRangesBase>( xActiveSheet );
1062 if ( rRanges.
size() == 1 )
1064 SCTAB nNewTab = rRanges[ 0 ].aStart.Tab();
1073 uno::Reference< uno::XInterface >
xTarget;
1086 xTarget.set(uno::Reference<table::XCell>(pCellObj), uno::UNO_QUERY);
1092 if (pDrawLayer->HasObjects() && (pDrawLayer->GetPageCount() > nTab))
1093 pDrawPage = pDrawLayer->GetPage(static_cast<sal_uInt16>(nTab));
1102 sal_uInt16 nHitLog =
static_cast<sal_uInt16
>(pActiveWin->
PixelToLogic(
1107 for (
size_t i = 0;
i <
nCount && !bFound; ++
i)
1140 bool bReturn(
false);
1141 if ( e.Buttons == css::awt::MouseButton::LEFT )
1147 awt::EnhancedMouseEvent aMouseEvent;
1149 aMouseEvent.Buttons = e.Buttons;
1150 aMouseEvent.X = e.X;
1151 aMouseEvent.Y = e.Y;
1152 aMouseEvent.ClickCount = e.ClickCount;
1153 aMouseEvent.PopupTrigger = e.PopupTrigger;
1154 aMouseEvent.Target = xTarget;
1155 aMouseEvent.Modifiers = e.Modifiers;
1161 if (!(*it)->mousePressed( aMouseEvent ))
1165 catch ( uno::Exception& )
1173 bool bDoubleClick = ( e.Buttons == awt::MouseButton::LEFT && e.ClickCount == 2 );
1174 bool bRightClick = ( e.Buttons == awt::MouseButton::RIGHT && e.ClickCount == 1 );
1175 if ( ( bDoubleClick || bRightClick ) && !bReturn && xTarget.is())
1187 const OUString* pScript = pEvents->
GetScript(nEvent);
1191 uno::Sequence<uno::Any> aParams(1);
1192 aParams[0] <<= xTarget;
1195 uno::Sequence<sal_Int16> aOutArgsIndex;
1196 uno::Sequence<uno::Any> aOutArgs;
1198 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1201 bool bRetValue =
false;
1202 if ((aRet >>= bRetValue) && bRetValue)
1208 if (!bReturn && xTarget.is())
try
1210 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1212 uno::Sequence< uno::Any > aArgs( 1 );
1213 aArgs[ 0 ] <<= xTarget;
1216 catch( util::VetoException& )
1220 catch( uno::Exception& )
1230 if ( e.Buttons == css::awt::MouseButton::LEFT )
1238 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1239 uno::Sequence< uno::Any > aArgs( 1 );
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;
1264 aMouseEvent.Target = xTarget;
1265 aMouseEvent.Modifiers = e.Modifiers;
1271 if (!(*it)->mouseReleased( aMouseEvent ))
1275 catch ( uno::Exception& )
1289 lang::EventObject
aEvent;
1295 rListener->disposing(aEvent);
1297 catch ( uno::Exception& )
1301 aMouseClickHandlers.clear();
1306 lang::EventObject
aEvent;
1312 rListener->disposing(aEvent);
1314 catch ( uno::Exception& )
1318 aActivationListeners.clear();
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;
1656 aEvent.Source.set(static_cast<cppu::OWeakObject*>(
this));
1658 rListener->selectionChanged( aEvent );
1673 uno::Sequence<uno::Any> aParams(1);
1676 uno::Sequence<sal_Int16> aOutArgsIndex;
1677 uno::Sequence<uno::Any> aOutArgs;
1678 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1689 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1690 uno::Sequence< uno::Any > aArgs( 1 );
1694 catch( uno::Exception& )
1705 static uno::Reference<beans::XPropertySetInfo> aRef(
1711 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 )
1812 if ( aNewOpt == rOldOpt )
1889 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1896 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1905 const uno::Reference<beans::XVetoableChangeListener >& )
1910 const uno::Reference<beans::XVetoableChangeListener >& )
1916 beans::PropertyChangeEvent
aEvent;
1917 aEvent.Source.set(static_cast<cppu::OWeakObject*>(
this));
1919 rListener->propertyChange( aEvent );
1925 const uno::Sequence<beans::PropertyValue>& aArguments )
1932 OUString aInitVal, aTitle;
1933 bool bCloseOnButtonUp =
false;
1934 bool bSingleCell =
false;
1935 bool bMultiSelection =
false;
1938 for (
const beans::PropertyValue& rProp : aArguments)
1940 OUString aPropName(rProp.Name);
1946 if ( rProp.Value >>= aStrVal )
1951 if ( rProp.Value >>= aStrVal )
1960 pViewSh->
StartSimpleRefDialog( aTitle, aInitVal, bCloseOnButtonUp, bSingleCell, bMultiSelection );
1972 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
1979 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
1988 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
1995 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2005 sheet::RangeSelectionEvent
aEvent;
2006 aEvent.Source.set(static_cast<cppu::OWeakObject*>(
this));
2007 aEvent.RangeDescriptor = rText;
2012 for (
const auto& rListener : listeners)
2013 rListener->done( aEvent );
2018 sheet::RangeSelectionEvent
aEvent;
2019 aEvent.Source.set(static_cast<cppu::OWeakObject*>(
this));
2020 aEvent.RangeDescriptor = rText;
2025 for (
const auto& rListener : listeners)
2026 rListener->aborted( aEvent );
2031 sheet::RangeSelectionEvent
aEvent;
2032 aEvent.Source.set(static_cast<cppu::OWeakObject*>(
this));
2033 aEvent.RangeDescriptor = rText;
2038 for (
const auto& rListener : listener)
2039 rListener->descriptorChanged( aEvent );
2045 return "ScTabViewObj";
2084 uno::Reference<datatransfer::XTransferable> xTransferable( pObj );
2085 return xTransferable;
2117 uno::Sequence<sal_Int32> aRet(rSelected.size());
2119 for (
const auto& rTab : rSelected)
2121 aRet[i] =
static_cast<sal_Int32
>(rTab);
2134 return uno::Sequence<sal_Int32>();
2140 ScExtDocOptions* pExtOpt = rViewData.GetDocument().GetExtDocOptions();
2148 return toSequence(rViewData.GetMarkData().GetSelectedTabs());
2153 mpViewShell(pViewSh)
2168 return SfxBaseController::queryInterface(rType);
2173 SfxBaseController::acquire();
2178 SfxBaseController::release();
2183 if (rHint.
GetId() == SfxHintId::Dying)
2191 return uno::Sequence<sal_Int32>();
void SetChanged(bool bChanged)
If set to true, the data will be copied to the view data after import.
If set, cloned formula cells will start to listen to the document.
ScMarkData & GetMarkData()
virtual Point GetPosPixel() const
SfxViewFrame * GetViewFrame() const
SvxZoomType GetZoomType() const
void SetOption(ScViewOption eOpt, bool bNew)
#define SC_UNO_SHOWCHARTS
#define SCVIEWSETTINGS_SERVICE
virtual css::uno::Reference< css::datatransfer::XTransferable > SAL_CALL getTransferable() override
std::vector< css::uno::Reference< css::beans::XPropertyChangeListener > > aPropertyChgListeners
virtual void SAL_CALL removeRangeSelectionListener(const css::uno::Reference< css::sheet::XRangeSelectionListener > &aListener) override
#define SC_UNONAME_MULTISEL
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
ScDocShell * GetDocShell() const
void FreezeSplitters(bool bFreeze, SplitMethod eSplitMethod=SC_SPLIT_METHOD_CURSOR, SCCOLROW nFreezeIndex=-1)
size_t GetMarkCount() const
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
void RangeSelAborted(const OUString &rText)
ScVSplitPos WhichV(ScSplitPos ePos)
virtual void SAL_CALL acquire() override
void ReadExtOptions(const ScExtDocOptions &rOpt)
virtual css::uno::Reference< css::form::runtime::XFormController > SAL_CALL getFormController(const css::uno::Reference< css::form::XForm > &Form) override
virtual const FmFormShell * GetFormShell() const override
MapMode GetDrawMapMode(bool bForce=false)
MapMode for the drawinglayer objects.
ScDocShell * GetDocShell() const
virtual void SAL_CALL release() override
static void lcl_CallActivate(ScDocShell *pDocSh, SCTAB nTab, ScSheetEventId nEvent)
virtual void SAL_CALL setFirstVisibleRow(sal_Int32 nFirstVisibleRow) override
const css::uno::Reference< css::script::vba::XVBAEventProcessor > & GetVbaEventProcessor() const
bool IsObjMarkable(SdrObject const *pObj, SdrPageView const *pPV) const
virtual void SAL_CALL addRangeSelectionChangeListener(const css::uno::Reference< css::sheet::XRangeSelectionChangeListener > &aListener) override
#define OLD_UNO_HORSCROLL
#define SCTABVIEWOBJ_SERVICE
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
virtual void SAL_CALL startRangeSelection(const css::uno::Sequence< css::beans::PropertyValue > &aArguments) override
SfxDispatcher * GetDispatcher()
ScViewPaneObj * GetObjectByIndex_Impl(sal_uInt16 nIndex) const
std::vector< css::uno::Reference< css::awt::XEnhancedMouseClickHandler > > aMouseClickHandlers
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
bool MousePressed(const css::awt::MouseEvent &e)
virtual void SAL_CALL splitAtPosition(sal_Int32 nPixelX, sal_Int32 nPixelY) override
ScHSplitPos WhichH(ScSplitPos ePos)
Reference< XInterface > xTarget
virtual OUString SAL_CALL getImplementationName() override
bool IsMouseListening() const
SdrObject * GetObj(size_t nNum) const
virtual Size GetSizePixel() const
size_t GetObjCount() const
void FillRangeListWithMarks(ScRangeList *pList, bool bClear, SCTAB nForTab=-1) const
Create a range list of marks.
void SetDocumentModified()
const ContentProperties & rData
virtual void SAL_CALL removeEnhancedMouseClickHandler(const css::uno::Reference< css::awt::XEnhancedMouseClickHandler > &aListener) override
std::vector< css::uno::Reference< css::sheet::XRangeSelectionChangeListener > > aRangeChgListeners
#define OLD_UNO_SHEETTABS
constexpr SdrLayerID SC_LAYER_BACK(1)
virtual void SAL_CALL setFirstVisibleColumn(sal_Int32 nFirstVisibleColumn) override
Extended options held by an ScDocument containing additional settings for filters.
ScSplitPos GetActivePart() const
sal_Int16 GetZoomType() const
SdrMark * GetMark(size_t nNum) const
ScDocument & GetDocument() const
void SheetChanged(bool bSameTabButMoved)
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual sal_Int32 SAL_CALL getSplitColumn() override
void Invalidate(sal_uInt16 nId)
#define SC_UNONAME_SINGLECELL
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
UNO3_GETIMPLEMENTATION_IMPL(ScTabViewObj)
EmbeddedObjectRef * pObject
SC_DLLPUBLIC void SetCursor(SCCOL nPosX, SCROW nPosY, bool bNew=false)
virtual void Notify(SfxBroadcaster &, const SfxHint &rHint) override
css::chart::ChartAxisLabelPosition ePos
SCCOL GetPosX(ScHSplitPos eWhich, SCTAB nForTab=-1) const
const ScRangeList & GetRangeList() const
static bool lcl_TabInRanges(SCTAB nTab, const ScRangeList &rRanges)
std::vector< css::uno::Reference< css::sheet::XActivationEventListener > > aActivationListeners
static const SfxItemPropertyMapEntry * lcl_GetViewOptPropertyMap()
Clipping Marks.
void MarkFromRangeList(const ScRangeList &rList, bool bReset)
SfxApplication * SfxGetpApp()
ScViewPaneObj(ScTabViewShell *pViewSh, sal_uInt16 nP)
css::uno::Reference< css::drawing::XShapes > getSelectedXShapes()
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
#define SC_VIEWPANE_ACTIVE
ScDrawView * GetDrawView()
virtual ~ScViewPaneObj() override
Reference< XController > xController
tools::Long GetVSplitPos() const
virtual void SAL_CALL addActivationEventListener(const css::uno::Reference< css::sheet::XActivationEventListener > &aListener) override
SfxShell * GetShell(sal_uInt16 nIdx) const
virtual css::uno::Reference< css::uno::XInterface > getUnoShape()
SdrPage * getSdrPageFromSdrObject() const
void SetObjMode(ScVObjType eObj, ScVObjMode eMode)
ScPreviewObj(ScPreviewShell *pViewSh)
void SetZoom(sal_Int16 Zoom)
virtual void SAL_CALL insertTransferable(const css::uno::Reference< css::datatransfer::XTransferable > &xTrans) override
void RangeSelChanged(const OUString &rText)
SCCOL VisibleCellsX(ScHSplitPos eWhichX) const
std::vector< css::uno::Reference< css::view::XSelectionChangeListener > > aSelectionChgListeners
bool IsMultiMarked() const
SCTAB GetSelectCount() const
virtual sal_Bool SAL_CALL isFormDesignMode() override
virtual sal_Int32 SAL_CALL getSplitRow() override
bool MouseReleased(const css::awt::MouseEvent &e)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
void SetOptions(const ScViewOptions &rOpt)
SdrObject * SdrObjectPrimitiveHit(const SdrObject &rObject, const Point &rPnt, sal_uInt16 nTol, const SdrPageView &rSdrPageView, const SdrLayerIDSet *pVisiLayer, bool bTextOnly, drawinglayer::primitive2d::Primitive2DContainer *pHitContainer)
SC_DLLPUBLIC bool HasTable(SCTAB nTab) const
void SetCursorOnly(bool bSet)
virtual css::uno::Reference< css::awt::XControl > SAL_CALL getControl(const css::uno::Reference< css::awt::XControlModel > &xModel) override
static sal_Int32 GetVbaSheetEventId(ScSheetEventId nEvent)
bool HasSheetEventScript(SCTAB nTab, ScSheetEventId nEvent, bool bWithVbaEvents=false) const
void DoneBlockMode(bool bContinue=false)
css::awt::Rectangle GetVisArea() const
#define SC_UNO_SHOWPAGEBR
SCROW GetPosY(ScVSplitPos eWhich, SCTAB nForTab=-1) const
tools::Rectangle GetWindowExtentsRelative(const vcl::Window *pRelativeWindow) const
ScSplitMode GetHSplitMode() const
const Fraction & GetZoomY() const
ScDrawView * GetScDrawView()
ScViewData & GetViewData()
sal_uInt16 GetSlotID() const
#define SC_QUERYINTERFACE(x)
EditView & GetEditView() const
void ScrollToObject(const SdrObject *pDrawObj)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
SCROW VisibleCellsY(ScVSplitPos eWhichY) const
virtual void SAL_CALL addEnhancedMouseClickHandler(const css::uno::Reference< css::awt::XEnhancedMouseClickHandler > &aListener) override
#define OLD_UNO_VERTSCROLL
SdrObject * GetMarkedSdrObj() const
SC_DLLPUBLIC void SetAppOptions(const ScAppOptions &rOpt)
virtual void SAL_CALL release() override
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
vcl::Window * GetWindowByPos(ScSplitPos ePos) const
virtual sal_Bool SAL_CALL hasElements() override
virtual sal_Int32 SAL_CALL getCount() override
void EndActivationListening()
void StopSimpleRefDialog()
virtual css::uno::Reference< css::table::XCellRange > SAL_CALL getReferredCells() override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
SfxDispatcher * GetDispatcher() const
static SfxApplication * Get()
Point GetScrPos(SCCOL nWhereX, SCROW nWhereY, ScSplitPos eWhich, bool bAllowNeg=false, SCTAB nForTab=-1) const
void ExtendRangeListTables(ScRangeList *pList) const
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
std::vector< css::uno::Reference< css::sheet::XRangeSelectionListener > > aRangeSelListeners
ScMarkType
States GetSimpleArea() returns for the underlying selection marks, so the caller can react if the res...
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
bool bFilteredRangeSelection
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
void GetPosFromPixel(tools::Long nClickX, tools::Long nClickY, ScSplitPos eWhich, SCCOL &rPosX, SCROW &rPosY, bool bTestMerge=true, bool bRepair=false, SCTAB nForTab=-1)
virtual void SAL_CALL addSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual void SAL_CALL abortRangeSelection() override
SfxBindings & GetBindings()
tools::Long GetHSplitPos() const
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
const SdrMarkList & GetMarkedObjectList() const
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
SC_DLLPUBLIC const ScAppOptions & GetAppOptions()
const SdrPage * GetPage(sal_uInt16 nPgNum) const
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
tools::Long Width() const
void SetDrawShell(bool bActive)
virtual void SAL_CALL addRangeSelectionListener(const css::uno::Reference< css::sheet::XRangeSelectionListener > &aListener) override
sal_Int16 GetZoom() const
ScMarkType GetSimpleArea(SCCOL &rStartCol, SCROW &rStartRow, SCTAB &rStartTab, SCCOL &rEndCol, SCROW &rEndRow, SCTAB &rEndTab) const
const SfxItemPropertyMap & getPropertyMap() const
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)
#define SC_UNO_SHOWANCHOR
bool GetOption(ScViewOption eOpt) const
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
ScGridWindow * GetActiveWin()
const OutlinerView * GetTextEditOutlinerView() const
virtual sal_Int32 SAL_CALL getFirstVisibleColumn() override
ScTransferObj * CopyToTransferable()
virtual void SAL_CALL acquire() override
const ScMarkData::MarkedTabsType & GetSelectedTabs() const
ScPreviewShell * mpViewShell
css::uno::Type const & get()
void InsertText(const OUString &rNew, bool bSelect=false)
#define SC_SIMPLE_SERVICE_INFO(ClassName, ClassNameAscii, ServiceAscii)
SC_DLLPUBLIC tools::Rectangle GetMMRect(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
void StartListening(SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
css::uno::Reference< css::datatransfer::XTransferable > GetTransferable() const
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual ~ScPreviewObj() override
static void UnmarkFiltered(ScMarkData &rMark, const ScDocument &rDoc)
sal_uInt16 CalcZoom(SvxZoomType eType, sal_uInt16 nOldZoom)
ScTabViewShell * GetViewShell() const
#define SC_UNO_VISAREASCREEN
static ScViewData * GetViewData()
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &...rSn)
virtual sal_Bool SAL_CALL getIsWindowSplit() override
Base class for all functions.
void SetZoom(sal_uInt16 nNew)
virtual void SAL_CALL freezeAtPosition(sal_Int32 nColumns, sal_Int32 nRows) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
void RangeSelDone(const OUString &rText)
virtual css::uno::Reference< css::sheet::XSpreadsheet > SAL_CALL getActiveSheet() override
ScDBFunc * GetView() const
virtual SdrLayerID GetLayer() const
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedSheets() override
const OUString * GetScript(ScSheetEventId nEvent) const
Point PixelToLogic(const Point &rDevicePt) const
SfxItemPropertySet aPropSet
virtual sal_Int32 SAL_CALL getSplitHorizontal() override
virtual css::uno::Any SAL_CALL getSelection() override
virtual css::table::CellRangeAddress SAL_CALL getVisibleRange() override
virtual void SAL_CALL removeRangeSelectionChangeListener(const css::uno::Reference< css::sheet::XRangeSelectionChangeListener > &aListener) override
void StartSimpleRefDialog(const OUString &rTitle, const OUString &rInitVal, bool bCloseOnButtonUp, bool bSingleCell, bool bMultiSelection)
ScDrawView * GetScDrawView()
#define OLD_UNO_COLROWHDR
SdrPage * GetPage() const
void PasteFromTransferable(const css::uno::Reference< css::datatransfer::XTransferable > &rxTransferable)
const ScSheetEvents * GetSheetEvents(SCTAB nTab) const
FuPoor * GetDrawFuncPtr()
really derive cell from range?
void EndListening(SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
sal_uInt16 GetHitTolerancePixel() const
virtual sal_Int32 SAL_CALL getFirstVisibleRow() override
SdrObject * GetSdrObject() const
const ScViewOptions & GetOptions() const
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPrintable?
Reference< XComponentContext > getProcessComponentContext()
virtual void SAL_CALL removeActivationEventListener(const css::uno::Reference< css::sheet::XActivationEventListener > &aListener) override
const ScDocument & GetDocument() const
css::uno::Reference< css::uno::XInterface > GetClickedObject(const Point &rPoint) const
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedSheets() override
SdrEndTextEditKind ScEndTextEdit()
virtual sal_Int32 SAL_CALL getSplitVertical() override
#define SC_UNONAME_CLOSEONUP
void AlignToCursor(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, const ScSplitPos *pWhich=nullptr)
virtual sal_Bool SAL_CALL hasFrozenPanes() override
SC_DLLPUBLIC bool IsLayoutRTL(SCTAB nTab) const
Color const & GetGridColor(OUString *pStrName=nullptr) const
SdrPageView * GetSdrPageView() const
css::uno::Reference< css::datatransfer::XTransferable > CopyToTransferable()
void SetZoomType(SvxZoomType eNew, bool bAll)
void GetMultiArea(ScRangeListRef &rRange) const
#define SC_UNO_FILTERED_RANGE_SELECTION
#define SC_QUERY_MULTIPLE(x, y)
bool MarkObj(const Point &rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false)
virtual sal_Bool SAL_CALL select(const css::uno::Any &aSelection) override
virtual void SAL_CALL setFormDesignMode(sal_Bool DesignMode) override
#define SC_UNO_VERTSCROLL
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
void SetGridColor(const Color &rCol, const OUString &rName)
static bool GetBoolFromAny(const css::uno::Any &aAny)
virtual void SAL_CALL release() override
bool IsPagebreakMode() const
virtual void SAL_CALL setActiveSheet(const css::uno::Reference< css::sheet::XSpreadsheet > &xActiveSheet) override
#define SC_UNONAME_INITVAL
std::set< SCTAB > MarkedTabsType
virtual void SAL_CALL acquire() override
SdrModel * GetModel() const
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL removeSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
static void lcl_ShowObject(ScTabViewShell &rViewSh, const ScDrawView &rDrawView, const SdrObject *pSelObj)
ScVObjMode GetObjMode(ScVObjType eObj) const
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
void SetZoomType(sal_Int16 ZoomType)
void SplitAtPixel(const Point &rPixel)
ScSplitMode GetVSplitMode() const
css::awt::Rectangle AWTRectangle(const ::tools::Rectangle &rVCLRect)
#define OLD_UNO_VALUEHIGH
sal_uInt16 GetPageCount() const
virtual css::uno::Type SAL_CALL getElementType() override
virtual ~ScViewPaneBase() override
void SetDrawSelMode(bool bNew)
virtual ~ScTabViewObj() override