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>
113 {
u"", 0, css::uno::Type(), 0, 0 }
115 return aViewOptPropertyMap_Impl;
124 pViewShell( pViewSh ),
141 if ( rHint.
GetId() == SfxHintId::Dying )
159 static const uno::Sequence<uno::Type>
aTypes
172 return css::uno::Sequence<sal_Int8>();
188 return rViewData.
GetPosX( eWhichH );
190 OSL_FAIL(
"no View ?!?");
221 return rViewData.
GetPosY( eWhichV );
223 OSL_FAIL(
"no View ?!?");
246 table::CellRangeAddress aAdr;
262 if (!nVisX) nVisX = 1;
263 if (!nVisY) nVisY = 1;
265 aAdr.StartColumn = rViewData.
GetPosX( eWhichH );
266 aAdr.StartRow = rViewData.
GetPosY( eWhichV );
267 aAdr.EndColumn = aAdr.StartColumn + nVisX - 1;
268 aAdr.EndRow = aAdr.StartRow + nVisY - 1;
283 ScRange aRange(
static_cast<SCCOL>(aAdr.StartColumn),
static_cast<SCROW>(aAdr.StartRow), aAdr.Sheet,
284 static_cast<SCCOL>(aAdr.EndColumn),
static_cast<SCROW>(aAdr.EndRow), aAdr.Sheet );
308 return ( _rpFormShell !=
nullptr ) && ( _rpSdrView != nullptr )&& ( _rpWindow !=
nullptr );
317 uno::Reference< form::runtime::XFormController >
xController;
322 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
332 bool bIsFormDesignMode(
true );
338 return bIsFormDesignMode;
348 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
355 const uno::Reference<awt::XControlModel>& xModel )
359 uno::Reference<awt::XControl> xRet;
364 if ( lcl_prepareFormShellCall(
pViewShell,
nPane, pFormShell, pWindow, pSdrView ) )
368 throw container::NoSuchElementException();
375 awt::Rectangle aVisArea;
398 aVisPos.AdjustX( -(aVisSize.
Width()) );
422 aRet = OWeakObject::queryInterface( rType );
428 OWeakObject::acquire();
433 OWeakObject::release();
442 aMouseClickHandlers( 0 ),
443 aActivationListeners( 0 ),
445 bDrawSelModeSet(false),
446 bFilteredRangeSelection(false),
447 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 = comphelper::getFromUnoTunnel<ScCellRangesBase>( xInterface );
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 );
703 if ( pFunc && pFunc->
GetSlotID() != SID_OBJECT_SELECT )
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);
888 switch ( aRangeList.
size() )
893 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
897 const ScRange& rRange = aRangeList[ 0 ];
905 pObj =
new ScCellRangesObj( pDocSh, aRangeList );
918 pObj =
new ScCellRangesObj( pDocSh, *xRanges );
926 pObj->SetCursorOnly(
true );
938 return new ScIndexEnumeration(
this,
"com.sun.star.sheet.SpreadsheetViewPanesEnumeration");
947 sal_uInt16 nPanes = 0;
965 throw lang::IndexOutOfBoundsException();
1024 return new ScViewPaneObj( pViewSh, sal::static_int_cast<sal_uInt16>(eWhich) );
1050 if ( !(pViewSh && xActiveSheet.is()) )
1055 ScCellRangesBase* pRangesImp = comphelper::getFromUnoTunnel<ScCellRangesBase>( xActiveSheet );
1059 if ( rRanges.
size() == 1 )
1061 SCTAB nNewTab = rRanges[ 0 ].aStart.Tab();
1070 uno::Reference< uno::XInterface >
xTarget;
1078 rData.GetPosFromPixel( rPoint.X(), rPoint.Y(), eSplitMode, nX, nY);
1083 xTarget.set(uno::Reference<table::XCell>(pCellObj), uno::UNO_QUERY);
1089 if (pDrawLayer->HasObjects() && (pDrawLayer->GetPageCount() > nTab))
1090 pDrawPage = pDrawLayer->GetPage(
static_cast<sal_uInt16
>(nTab));
1099 sal_uInt16 nHitLog =
static_cast<sal_uInt16
>(pActiveWin->
PixelToLogic(
1104 for (
size_t i = 0;
i <
nCount && !bFound; ++
i)
1137 bool bReturn(
false);
1138 if ( e.Buttons == css::awt::MouseButton::LEFT )
1144 awt::EnhancedMouseEvent aMouseEvent;
1146 aMouseEvent.Buttons = e.Buttons;
1147 aMouseEvent.X = e.X;
1148 aMouseEvent.Y = e.Y;
1149 aMouseEvent.ClickCount = e.ClickCount;
1150 aMouseEvent.PopupTrigger = e.PopupTrigger;
1152 aMouseEvent.Modifiers = e.Modifiers;
1162 catch ( uno::Exception& )
1170 bool bDoubleClick = ( e.Buttons == awt::MouseButton::LEFT && e.ClickCount == 2 );
1171 bool bRightClick = ( e.Buttons == awt::MouseButton::RIGHT && e.ClickCount == 1 );
1172 if ( ( bDoubleClick || bRightClick ) && !bReturn &&
xTarget.is())
1184 const OUString* pScript = pEvents->
GetScript(nEvent);
1191 uno::Sequence<sal_Int16> aOutArgsIndex;
1192 uno::Sequence<uno::Any> aOutArgs;
1194 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1197 bool bRetValue =
false;
1198 if ((aRet >>= bRetValue) && bRetValue)
1204 if (!bReturn &&
xTarget.is())
try
1206 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1211 catch( util::VetoException& )
1215 catch( uno::Exception& )
1225 if ( e.Buttons == css::awt::MouseButton::LEFT )
1233 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1237 catch( uno::Exception& )
1243 bool bReturn(
false);
1251 awt::EnhancedMouseEvent aMouseEvent;
1253 aMouseEvent.Buttons = e.Buttons;
1254 aMouseEvent.X = e.X;
1255 aMouseEvent.Y = e.Y;
1256 aMouseEvent.ClickCount = e.ClickCount;
1257 aMouseEvent.PopupTrigger = e.PopupTrigger;
1259 aMouseEvent.Modifiers = e.Modifiers;
1269 catch ( uno::Exception& )
1283 lang::EventObject
aEvent;
1289 rListener->disposing(
aEvent);
1291 catch ( uno::Exception& )
1300 lang::EventObject
aEvent;
1306 rListener->disposing(
aEvent);
1308 catch ( uno::Exception& )
1365 return static_cast<sal_Int16
>(
tools::Long( rZoomY * 100 ));
1376 if ( nZoom !=
GetZoom() && nZoom != 0 )
1388 pViewSh->
SetZoom( aFract, aFract,
true );
1400 sal_Int16 aZoomType = view::DocumentZoomType::OPTIMAL;
1407 case SvxZoomType::PERCENT:
1408 aZoomType = view::DocumentZoomType::BY_VALUE;
1410 case SvxZoomType::OPTIMAL:
1411 aZoomType = view::DocumentZoomType::OPTIMAL;
1413 case SvxZoomType::WHOLEPAGE:
1414 aZoomType = view::DocumentZoomType::ENTIRE_PAGE;
1416 case SvxZoomType::PAGEWIDTH:
1417 aZoomType = view::DocumentZoomType::PAGE_WIDTH;
1419 case SvxZoomType::PAGEWIDTH_NOBORDER:
1420 aZoomType = view::DocumentZoomType::PAGE_WIDTH_EXACT;
1440 case view::DocumentZoomType::BY_VALUE:
1441 eZoomType = SvxZoomType::PERCENT;
1443 case view::DocumentZoomType::OPTIMAL:
1444 eZoomType = SvxZoomType::OPTIMAL;
1446 case view::DocumentZoomType::ENTIRE_PAGE:
1447 eZoomType = SvxZoomType::WHOLEPAGE;
1449 case view::DocumentZoomType::PAGE_WIDTH:
1450 eZoomType = SvxZoomType::PAGEWIDTH;
1452 case view::DocumentZoomType::PAGE_WIDTH_EXACT:
1453 eZoomType = SvxZoomType::PAGEWIDTH_NOBORDER;
1456 eZoomType = SvxZoomType::OPTIMAL;
1459 sal_Int16 nOldZoom(nZoom);
1460 if ( eZoomType == SvxZoomType::PERCENT )
1466 nZoom = pView->
CalcZoom( eZoomType, nOldZoom );
1468 switch ( eZoomType )
1470 case SvxZoomType::WHOLEPAGE:
1471 case SvxZoomType::PAGEWIDTH:
1616 aSplit += aWinStart;
1624 const uno::Reference<view::XSelectionChangeListener>& xListener )
1631 const uno::Reference< view::XSelectionChangeListener >& xListener )
1647 SfxRequest aReq( SID_STYLE_END_PREVIEW, SfxCallMode::SLOT, reqList );
1649 lang::EventObject
aEvent;
1652 rListener->selectionChanged(
aEvent );
1669 uno::Sequence<sal_Int16> aOutArgsIndex;
1670 uno::Sequence<uno::Any> aOutArgs;
1671 pDocSh->
CallXScript( *pScript, aParams, aRet, aOutArgsIndex, aOutArgs );
1682 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
1686 catch( uno::Exception& )
1697 static uno::Reference<beans::XPropertySetInfo> aRef(
1703 const OUString& aPropertyName,
const uno::Any& aValue )
1749 sal_Int16 nIntVal = 0;
1750 if ( aValue >>= nIntVal )
1760 sal_Int16 nIntVal = 0;
1761 if ( aValue >>= nIntVal )
1771 sal_Int16 nIntVal = 0;
1772 if ( aValue >>= nIntVal )
1783 if ( aValue >>= nIntVal )
1788 sal_Int16 nIntVal = 0;
1789 if ( aValue >>= nIntVal )
1794 sal_Int16 nIntVal = 0;
1795 if ( aValue >>= nIntVal )
1820 if ( aNewOpt == rOldOpt )
1898 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1905 const uno::Reference<beans::XPropertyChangeListener >& xListener )
1914 const uno::Reference<beans::XVetoableChangeListener >& )
1919 const uno::Reference<beans::XVetoableChangeListener >& )
1925 beans::PropertyChangeEvent
aEvent;
1928 rListener->propertyChange(
aEvent );
1934 const uno::Sequence<beans::PropertyValue>& aArguments )
1941 OUString aInitVal, aTitle;
1942 bool bCloseOnButtonUp =
false;
1943 bool bSingleCell =
false;
1944 bool bMultiSelection =
false;
1947 for (
const beans::PropertyValue& rProp :
aArguments)
1955 if ( rProp.Value >>= aStrVal )
1960 if ( rProp.Value >>= aStrVal )
1969 pViewSh->
StartSimpleRefDialog( aTitle, aInitVal, bCloseOnButtonUp, bSingleCell, bMultiSelection );
1981 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
1988 const uno::Reference<sheet::XRangeSelectionListener>& xListener )
1997 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2004 const uno::Reference<sheet::XRangeSelectionChangeListener>& xListener )
2014 sheet::RangeSelectionEvent
aEvent;
2016 aEvent.RangeDescriptor = rText;
2021 for (
const auto& rListener : listeners)
2022 rListener->done(
aEvent );
2027 sheet::RangeSelectionEvent
aEvent;
2029 aEvent.RangeDescriptor = rText;
2034 for (
const auto& rListener : listeners)
2035 rListener->aborted(
aEvent );
2040 sheet::RangeSelectionEvent
aEvent;
2042 aEvent.RangeDescriptor = rText;
2047 for (
const auto& rListener : listener)
2048 rListener->descriptorChanged(
aEvent );
2054 return "ScTabViewObj";
2124 uno::Sequence<sal_Int32> aRet(rSelected.size());
2125 auto aRetRange = asNonConstRange(aRet);
2127 for (
const auto& rTab : rSelected)
2129 aRetRange[
i] =
static_cast<sal_Int32
>(rTab);
2142 return uno::Sequence<sal_Int32>();
2161 mpViewShell(pViewSh)
2176 return SfxBaseController::queryInterface(rType);
2181 SfxBaseController::acquire();
2186 SfxBaseController::release();
2191 if (rHint.
GetId() == SfxHintId::Dying)
2199 return uno::Sequence<sal_Int32>();
2201 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?
const ScRangeList & GetRangeList() const
ScDocShell * GetDocShell() const
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 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)
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
SdrModel * GetModel() const
SdrPageView * GetSdrPageView() 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()
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)
const ContentProperties & rData
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)
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
#define SC_UNO_VISAREASCREEN
#define SC_UNONAME_MULTISEL
#define OLD_UNO_VERTSCROLL
#define SC_UNONAME_SINGLECELL
#define SC_UNO_FILTERED_RANGE_SELECTION
#define SC_UNO_SHOWPAGEBR
#define OLD_UNO_SHEETTABS
#define SC_UNO_SHOWCHARTS
#define SC_UNO_VERTSCROLL
#define SC_UNONAME_CLOSEONUP
#define OLD_UNO_COLROWHDR
#define SC_UNONAME_INITVAL
#define SC_UNO_FORMULABARHEIGHT
#define OLD_UNO_HORSCROLL
#define SC_UNO_SHOWANCHOR
#define OLD_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 const SfxItemPropertyMapEntry * lcl_GetViewOptPropertyMap()
Clipping Marks.
static void lcl_CallActivate(ScDocShell *pDocSh, SCTAB nTab, ScSheetEventId nEvent)
UNO3_GETIMPLEMENTATION_IMPL(ScTabViewObj)
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