22 #include <formdata.hxx>
25 #include <svx/dialogs.hrc>
41 #include <globstr.hrc>
46 #include <drformsh.hxx>
54 #include <inputwin.hxx>
64 #include <mediash.hxx>
69 #include <drawview.hxx>
76 #include <preview.hxx>
81 #include <com/sun/star/document/XDocumentProperties.hpp>
84 #include <LibreOfficeKit/LibreOfficeKitEnums.h>
101 ActivateView(
true, bFirstActivate );
104 UpdateDrawTextOutliner();
109 if ( mpInputHandler && pThisFrame->
HasChildWindow(FID_INPUTLINE_STATUS) )
124 while ( pSh!=
nullptr && pOldHdl!=
nullptr)
131 if (static_cast<ScTabViewShell*>(pSh)->GetInputHandler() == pOldHdl)
146 if ( bFirstActivate )
149 bFirstActivate =
false;
157 ScExtDocOptions* pExtOpt = GetViewData().GetDocument().GetExtDocOptions();
160 GetViewData().ReadExtOptions(*pExtOpt);
161 SetTabNo( GetViewData().GetTabNo(),
true );
171 pHdl->
SetRefScale( GetViewData().GetZoomX(), GetViewData().GetZoomY() );
213 ScDocument& rDoc = GetViewData().GetDocument();
217 if(pChanges!=
nullptr)
231 bool bOldDontSwitch = bDontSwitch;
234 ActivateView(
false,
false );
236 if ( GetViewFrame()->GetFrame().IsInPlace() )
237 GetViewData().GetDocShell()->UpdateOle(GetViewData(),
true);
245 bDontSwitch = bOldDontSwitch;
277 FuPoor* pPoor = GetDrawFuncPtr();
278 if (pPoor && IsDrawTextShell())
282 GetViewData().GetDispatcher().Execute( pPoor->
GetSlotID(), SfxCallMode::SLOT | SfxCallMode::RECORD );
294 bool bRet = pFormShell->PrepareClose(bUI);
306 ScDocShell* pDocSh = GetViewData().GetDocShell();
307 if ( pDocSh->
GetCreateMode() == SfxObjectCreateMode::EMBEDDED )
323 Size aNewSize( rSize );
324 if ( GetViewFrame()->GetFrame().IsInPlace() )
327 GetBorderSize( aBorder, rSize );
328 SetBorderPixel( aBorder );
330 Size aObjSize = GetObjectShell()->GetVisArea().GetSize();
338 Size aLogicSize = GetWindow()->PixelToLogic(aSize,
MapMode(MapUnit::Map100thMM));
344 aPos.AdjustX(aBorder.
Left() );
345 aPos.AdjustY(aBorder.
Top() );
346 GetWindow()->SetPosSizePixel( aPos, aSize );
351 GetBorderSize( aBorder, rSize );
352 SetBorderPixel( aBorder );
357 DoResize( rOfs, aNewSize,
true );
361 if (!inplaceEditModeChange)
363 GetViewData().GetDocShell()->SetDocumentModified();
370 GetBorderSize( aBorder, rSize );
371 SetBorderPixel( aBorder );
373 DoResize( rOfs, rSize );
389 if ( aNewX < aFrac20 )
391 if ( aNewX > aFrac400 )
394 if ( aNewY < aFrac20 )
396 if ( aNewY > aFrac400 )
399 GetViewData().UpdateScreenZoom( aNewX, aNewY );
400 SetZoom( aNewX, aNewY,
true );
431 aLogicRect.
SetSize( aLogicSize );
440 Point aNewPos = GetViewFrame()->GetWindow().OutputToScreenPixel(
Point());
442 if (aNewPos != aWinPos)
463 GetViewData().WriteUserData(rData);
468 GetViewData().WriteUserDataSequence(rSettings);
473 if ( !GetViewData().GetDocShell()->IsPreview() )
474 DoReadUserData( rData );
479 if ( !GetViewData().GetDocShell()->IsPreview() )
480 DoReadUserDataSequence( rSettings );
486 bool bFocus = pOldWin && pOldWin->
HasFocus();
488 GetViewData().ReadUserDataSequence(rSettings);
489 SetTabNo( GetViewData().GetTabNo(),
true );
491 if ( GetViewData().IsPagebreakMode() )
492 SetCurSubShell( GetCurObjectSelectionType(),
true );
495 if (pNewWin && pNewWin != pOldWin)
497 SetWindow( pNewWin );
521 bool bFocus = pOldWin && pOldWin->
HasFocus();
523 GetViewData().ReadUserData(rData);
524 SetTabNo( GetViewData().GetTabNo(),
true );
526 if ( GetViewData().IsPagebreakMode() )
527 SetCurSubShell( GetCurObjectSelectionType(),
true );
530 if (pNewWin && pNewWin != pOldWin)
532 SetWindow( pNewWin );
556 SdrView* pDrView = GetScDrawView();
558 SetDrawShell(
false );
563 bActiveDrawSh =
true;
565 if(bActiveDrawFormSh)
569 else if(bActiveGraphicSh)
573 else if(bActiveMediaSh)
577 else if(bActiveChartSh)
581 else if(bActiveOleObjectSh)
603 if(bActiveDrawFormSh || bActiveDrawSh ||
604 bActiveGraphicSh || bActiveMediaSh || bActiveOleObjectSh||
605 bActiveChartSh || bActiveDrawTextSh)
609 bActiveDrawFormSh=
false;
610 bActiveGraphicSh=
false;
611 bActiveMediaSh=
false;
612 bActiveOleObjectSh=
false;
613 bActiveChartSh=
false;
616 bool bWasDraw = bActiveDrawSh || bActiveDrawTextSh;
618 bActiveDrawSh = bActive;
619 bActiveDrawTextSh =
false;
625 if (bWasDraw && (GetViewData().GetHSplitMode() ==
SC_SPLIT_FIX ||
629 MoveCursorAbs( GetViewData().GetCurX(), GetViewData().GetCurY(),
637 bActiveDrawTextSh = bActive;
640 bActiveDrawFormSh=
false;
641 bActiveGraphicSh=
false;
642 bActiveMediaSh=
false;
643 bActiveOleObjectSh=
false;
644 bActiveChartSh=
false;
645 bActiveDrawSh =
false;
663 bActiveDrawTextSh = bActiveDrawSh =
false;
664 bActiveDrawFormSh=
false;
665 bActiveGraphicSh=
false;
666 bActiveMediaSh=
false;
667 bActiveOleObjectSh=
false;
668 bActiveChartSh=
false;
679 bActiveDrawTextSh = bActiveDrawSh =
false;
680 bActiveDrawFormSh=
false;
681 bActiveGraphicSh=
false;
682 bActiveMediaSh=
false;
683 bActiveOleObjectSh=
false;
684 bActiveChartSh=
false;
693 bActiveDrawFormSh = bActive;
695 if(bActiveDrawFormSh)
700 bActiveChartSh = bActive;
708 bActiveGraphicSh = bActive;
716 bActiveMediaSh = bActive;
724 bActiveOleObjectSh = bActive;
726 if(bActiveOleObjectSh)
737 pEditShell->SetEditView( pView );
739 pEditShell.reset(
new ScEditShell(pView, GetViewData()) );
743 else if(bActiveEditSh)
747 bActiveEditSh = bActive;
755 if(bDontSwitch)
return;
759 pCellShell.reset(
new ScCellShell(GetViewData(), GetFrameWin()));
765 if(bPgBrk && !pPageBreakShell)
768 pPageBreakShell->SetRepeatTarget( &aTarget );
771 if ( !(eOST!=eCurOST || bForce) )
774 bool bCellBrush =
false;
775 bool bDrawBrush =
false;
777 if(eCurOST!=
OST_NONE) RemoveSubShell();
779 if (pFormShell && !bFormShellAtTop)
780 AddSubShell(*pFormShell);
786 AddSubShell(*pCellShell);
787 if(bPgBrk) AddSubShell(*pPageBreakShell);
793 AddSubShell(*pCellShell);
794 if(bPgBrk) AddSubShell(*pPageBreakShell);
798 AddSubShell(*pEditShell);
804 if ( !pDrawTextShell )
809 AddSubShell(*pDrawTextShell);
815 GetScDrawView(),
true )) {
816 if (pExtrusionBarShell ==
nullptr)
818 AddSubShell( *pExtrusionBarShell );
820 sal_uInt32 nCheckStatus = 0;
822 GetScDrawView(), nCheckStatus )) {
823 if (pFontworkBarShell ==
nullptr)
825 AddSubShell( *pFontworkBarShell );
832 pDrawShell->SetRepeatTarget( &aTarget );
834 AddSubShell(*pDrawShell);
841 if ( !pDrawFormShell )
845 pDrawFormShell->SetRepeatTarget( &aTarget );
847 AddSubShell(*pDrawFormShell);
858 pChartShell->SetRepeatTarget( &aTarget );
860 AddSubShell(*pChartShell);
867 if ( !pOleObjectShell )
871 pOleObjectShell->SetRepeatTarget( &aTarget );
873 AddSubShell(*pOleObjectShell);
884 pGraphicShell->SetRepeatTarget( &aTarget );
886 AddSubShell(*pGraphicShell);
897 pMediaShell->SetRepeatTarget( &aTarget );
899 AddSubShell(*pMediaShell);
905 AddSubShell(*pCellShell);
906 if(bPgBrk) AddSubShell(*pPageBreakShell);
911 pPivotShell->SetRepeatTarget( &aTarget );
913 AddSubShell(*pPivotShell);
919 AddSubShell(*pCellShell);
920 if(bPgBrk) AddSubShell(*pPageBreakShell);
922 if ( !pAuditingShell )
927 pAuditingShell->SetRepeatTarget( &aTarget );
929 AddSubShell(*pAuditingShell);
934 OSL_FAIL(
"wrong shell requested");
938 if (pFormShell && bFormShellAtTop)
939 AddSubShell(*pFormShell);
944 if ( ( GetBrushDocument() && !bCellBrush ) || ( GetDrawBrushSet() && !bDrawBrush ) )
945 ResetBrushDocument();
950 if ( pFormShell && !bSet )
951 pFormShell->ForgetActiveControl();
953 if ( bFormShellAtTop != bSet )
955 bFormShellAtTop = bSet;
956 SetCurSubShell( GetCurObjectSelectionType(),
true );
963 SetFormShellAtTop(
true );
977 if ( pSub == pDrawShell.get() || pSub == pDrawTextShell.get() || pSub == pEditShell.get() ||
978 pSub == pPivotShell.get() || pSub == pAuditingShell.get() || pSub == pDrawFormShell.get() ||
979 pSub == pCellShell.get() || pSub == pOleObjectShell.get() || pSub == pChartShell.get() ||
980 pSub == pGraphicShell.get() || pSub == pMediaShell.get() || pSub == pPageBreakShell.get())
990 return ( pDrawTextShell && ( GetMySubShell() == pDrawTextShell.get() ) );
995 return ( pAuditingShell && ( GetMySubShell() == pAuditingShell.get() ) );
1002 pNewUndoMgr = GetViewData().GetDocShell()->GetUndoManager();
1006 pDrawTextShell->SetUndoManager(pNewUndoMgr);
1007 ScDocShell* pDocSh = GetViewData().GetDocShell();
1016 OSL_FAIL(
"SetDrawTextUndo without DrawTextShell");
1028 return GetViewData().GetDocShell()->GetPrinter(bCreate);
1033 return GetViewData().GetDocShell()->SetPrinter( pNewPrinter, nDiffFlags );
1045 if ( ScTpPrintOptionsCreate )
1046 return ScTpPrintOptionsCreate(pPage, pController, &rOptions);
1052 if ( pEditShell !=
nullptr && !bDontSwitch )
1053 SetEditShell(
nullptr,
false );
1066 SetTabNo( GetViewData().GetRefTabNo() );
1082 if (xController.is())
1083 pRet = comphelper::getUnoTunnelImplementation<ScTabViewObj>( xController );
1110 const OUString& rTitle,
const OUString& rInitVal,
1111 bool bCloseOnButtonUp,
bool bSingleCell,
bool bMultiSelection )
1115 if ( GetActiveViewShell() !=
this )
1124 sal_uInt16
nId = ScSimpleRefDlgWrapper::GetChildWindowId();
1126 SC_MOD()->SetRefDialog( nId,
true, pViewFrm );
1137 pWnd->
SetFlags( bCloseOnButtonUp, bSingleCell, bMultiSelection );
1140 xWin->set_title(rTitle);
1147 sal_uInt16
nId = ScSimpleRefDlgWrapper::GetChildWindowId();
1166 bool bShift = aCode.
IsShift();
1167 bool bControl = aCode.
IsMod1();
1168 bool bAlt = aCode.
IsMod2();
1173 bool bDraw = IsDrawTextEdit();
1178 bool bOnRefSheet = ( GetViewData().GetRefTabNo() == GetViewData().GetTabNo() );
1179 bool bHideCursor = ( ( nCode ==
KEY_RETURN && bInPlace ) || nCode ==
KEY_TAB ) && bOnRefSheet;
1184 ScDocument& rDoc = GetViewData().GetDocument();
1195 bool bIsType =
false;
1197 sal_uInt16 nGroup = aCode.
GetGroup();
1200 if ( !bControl && !bAlt )
1207 bIsType = bControl && !bAlt;
1208 if ( !bIsType && nModi == 0 )
1217 bIsType = !bControl && !bAlt;
1220 bIsType = (nModi == 0);
1232 if ( !bUsed && !bIsType && nCode !=
KEY_RETURN )
1240 if ( eFunc == KeyFuncType::CUT )
1243 ScMarkType eMarkType = GetViewData().GetSimpleArea( aDummy );
1246 ErrorMessage(STR_NOMULTISELECT);
1257 bool bParent = ( GetViewFrame()->GetFrame().IsInPlace() && eFunc != KeyFuncType::DONTKNOW );
1259 if( !bUsed && !bDraw && nCode !=
KEY_RETURN && !bParent )
1263 if (!bInPlace && !bUsed && !bDraw)
1269 bool bNormal = !bControl && !bAlt;
1270 if ( !bAnyEdit && bNormal )
1281 bool bEditReturn = bControl && !bShift;
1282 if ( !bUsed && !bEditReturn )
1288 if ( bShift && bControl )
1297 GetViewData().GetDispatcher().Execute( SID_CURSORENTERUP,
1298 SfxCallMode::SLOT | SfxCallMode::RECORD );
1300 GetViewData().GetDispatcher().Execute( SID_CURSORENTERDOWN,
1301 SfxCallMode::SLOT | SfxCallMode::RECORD );
1304 UpdateInputHandler(
true);
1321 if ( !bUsed && bAlt && !bControl )
1323 sal_uInt16 nSlotId = 0;
1327 ModifyCellSize(
DIR_TOP, bShift );
1335 ModifyCellSize(
DIR_LEFT, bShift );
1343 nSlotId = bShift ? SID_CURSORPAGELEFT_SEL : SID_CURSORPAGELEFT_;
1346 nSlotId = bShift ? SID_CURSORPAGERIGHT_SEL : SID_CURSORPAGERIGHT_;
1359 bool bRangeFinder =
false;
1360 bool bSubTotal =
false;
1372 GetViewData().GetDispatcher().Execute( nSlotId, SfxCallMode::SLOT | SfxCallMode::RECORD );
1379 if ( !bUsed && bAlt && bControl && bShift)
1381 sal_uInt16 nSlotId = 0;
1385 nSlotId = SID_CURSORUP;
1388 nSlotId = SID_CURSORDOWN;
1391 nSlotId = SID_CURSORLEFT;
1394 nSlotId = SID_CURSORRIGHT;
1397 nSlotId = SID_CURSORPAGEUP;
1400 nSlotId = SID_CURSORPAGEDOWN;
1403 nSlotId = SID_CURSORHOME;
1406 nSlotId = SID_CURSOREND;
1414 sal_uInt16 nMode = GetLockedModifiers();
1416 GetViewData().GetDispatcher().Execute( nSlotId, SfxCallMode::SLOT | SfxCallMode::RECORD );
1417 LockModifiers(nMode);
1434 return TabKeyInput( rKeyEvent );
1440 ScDocShell* pDocSh = GetViewData().GetDocShell();
1449 SetPool( &
SC_MOD()->GetPool() );
1450 SetWindow( GetActiveWin() );
1452 pCurFrameLine.reset( new ::editeng::SvxBorderLine(&aColBlack, 20, SvxBorderLineStyle::SOLID) );
1453 StartListening(*GetViewData().GetDocShell(), DuplicateHandling::Prevent);
1458 bool bFirstView = !pFirst
1461 if ( pDocSh->
GetCreateMode() == SfxObjectCreateMode::EMBEDDED )
1472 SetTabNo( nVisTab );
1475 GetViewData().SetScreenPos( bNegativePage ? aVisArea.
TopRight() : aVisArea.
TopLeft() );
1477 if ( GetViewFrame()->GetFrame().IsInPlace() )
1483 else if ( bFirstView )
1486 GetViewData().RefreshZoom();
1510 pFormShell->SetControlActivationHandler(
LINK(
this,
ScTabViewShell, FormControlActivated ) );
1515 MakeDrawView( nForceDesignMode );
1516 ViewOptionsHasChanged(
false,
false);
1519 SetUndoManager( pMgr );
1520 pFormShell->SetUndoManager( pMgr );
1525 SetRepeatTarget( &aTarget );
1526 pFormShell->SetRepeatTarget( &aTarget );
1537 if ( pDocSh->
GetCreateMode() != SfxObjectCreateMode::EMBEDDED )
1543 for (
SCTAB i=1;
i<nInitTabCount;
i++)
1553 if ( pDocSh->
GetCreateMode() != SfxObjectCreateMode::INTERNAL &&
1562 for (
SCTAB i=0;
i<nTabCount && !bLink;
i++)
1575 pFirst = GetViewFrame();
1577 if(
SC_MOD()->GetCurRefDlgId()==0)
1580 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD );
1593 bool bReImport =
false;
1598 bReImport = std::any_of(rDBs.
begin(), rDBs.
end(),
1599 [](
const std::unique_ptr<ScDBData>& rxDB) {
return rxDB->IsStripData() && rxDB->HasImportParam() && !rxDB->HasImportSelection(); });
1604 pFirst = GetViewFrame();
1605 if(
SC_MOD()->GetCurRefDlgId()==0)
1608 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD );
1614 UpdateAutoFillMark();
1619 bFirstActivate =
true;
1624 if ( GetViewFrame()->GetFrame().IsInPlace() )
1625 UpdateHeaderWidth();
1628 GetBorderSize( aBorder,
Size() );
1629 SetBorderPixel( aBorder );
1635 ScDBFunc( &pViewFrame->GetWindow(), static_cast<
ScDocShell&>(*pViewFrame->GetObjectShell()), this ),
1639 bActiveDrawSh(false),
1640 bActiveDrawTextSh(false),
1641 bActiveDrawFormSh(false),
1642 bActiveOleObjectSh(false),
1643 bActiveChartSh(false),
1644 bActiveGraphicSh(false),
1645 bActiveMediaSh(false),
1646 bFormShellAtTop(false),
1648 bInFormatDialog(false),
1650 bForceFocusOnCurCell(false),
1651 bInPrepareClose(false),
1665 if (
auto pPreviewShell = dynamic_cast<ScPreviewShell*>( pOldSh) )
1667 nForceDesignMode = pPreviewShell->GetSourceDesignMode();
1683 bool bInstalledScTabViewObjAsTempController =
false;
1684 uno::Reference<frame::XController> xCurrentController(
GetViewData().GetDocShell()->GetModel()->getCurrentController());
1685 if (!xCurrentController)
1689 bInstalledScTabViewObjAsTempController =
true;
1691 xCurrentController.clear();
1701 SetZoom( aFract, aFract,
true );
1713 if (bInstalledScTabViewObjAsTempController)
1732 }
while (pViewShell2 && pViewShell2->
GetDocId() != pViewShell->
GetDocId());
1736 if (pViewShell2 && pViewShell2 ==
this)
1766 EndListening(*pDocSh);
1770 SC_MOD()->ViewShellGone(
this);
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()
static bool IsSystemRTL()
std::shared_ptr< SfxDialogController > & GetController()
constexpr sal_uInt16 KEYGROUP_MISC
SfxViewFrame * GetViewFrame() const
#define LINK(Instance, Class, Member)
virtual void OuterResizePixel(const Point &rOfs, const Size &rSize) override
SCTAB GetInitTabCount() const
virtual void ReadUserData(const OUString &, bool bBrowse=false) override
static void notifyOtherViews(const SfxViewShell *pThisView, int nType, std::string_view rKey, const OString &rPayload)
virtual void SetZoomFactor(const Fraction &rZoomX, const Fraction &rZoomY) override
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
ScDocShell * GetDocShell() const
std::unique_ptr< ScInputHandler, o3tl::default_delete< ScInputHandler > > mpInputHandler
void RangeSelAborted(const OUString &rText)
SfxChildWindow * GetChildWindow(sal_uInt16)
ScVSplitPos WhichV(ScSplitPos ePos)
constexpr sal_uInt16 KEY_MOD1
SC_DLLPUBLIC bool IsNegativePage(SCTAB nTab) const
std::unique_ptr< ScGraphicShell > pGraphicShell
OUString GetTitle(sal_uInt16 nMaxLen=0) const
virtual bool PrepareClose(bool bUI=true) override
void SetDialogDPObject(std::unique_ptr< ScDPObject > pObj)
bool IsObjectInPlaceActive() const
virtual std::unique_ptr< SfxTabPage > CreatePrintOptionsPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rOptions) override
bool SfxKeyInput(const KeyEvent &rKEvt)
void SetMediaShell(bool bActive)
std::unique_ptr< ScDPObject > pDialogDPObject
SfxDispatcher * GetDispatcher()
bool AreObjectsMarked() const
bool IsUpdateEnabled() const
ScHSplitPos WhichH(ScSplitPos ePos)
ViewShellDocId GetDocId() const override
std::unique_ptr< ScMediaShell > pMediaShell
virtual void QueryObjAreaPixel(tools::Rectangle &rRect) const override
std::unique_ptr< ScOleObjectShell > pOleObjectShell
void SetPivotShell(bool bActive)
sal_uInt16 GetGroup() const
void SetAuditShell(bool bActive)
sal_uInt16 GetCode() const
Contains settings of the navigator listbox.
static ScTabViewObj * lcl_GetViewObj(const ScTabViewShell &rShell)
bool checkForSelectedFontWork(SdrView const *pSdrView, sal_uInt32 &nCheckStatus)
Extended options held by an ScDocument containing additional settings for filters.
ScSplitPos GetActivePart() const
void GetBorderSize(SvBorder &rBorder, const Size &rSize)
IMPL_LINK(ScTabViewShell, SimpleRefDone, const OUString &, aResult, void)
void DoReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &rSettings)
SC_DLLPUBLIC void SetLayoutRTL(SCTAB nTab, bool bRTL)
ScDocument & GetDocument() const
OUString GetLastName(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
void SetModifiedLink(const Link< ScChangeTrack &, void > &r)
css::uno::Reference< css::frame::XModel > GetModel() const
std::unique_ptr< ScCellShell > pCellShell
constexpr sal_uInt16 KEYGROUP_ALPHA
constexpr sal_uInt16 KEY_SPACE
sc::DocumentLinkManager & GetDocLinkManager()
bool IsLinked(SCTAB nTab) const
SvxZoomType GetZoomType() const
void ViewShellChanged(bool bStopEditing)
virtual bool HasPrintOptionsPage() const override
void SetDrawTextUndo(SfxUndoManager *pUndoMgr)
css::chart::ChartAxisLabelPosition ePos
SCCOL GetPosX(ScHSplitPos eWhich, SCTAB nForTab=-1) const
vcl::Window * GetWindow() const
void SetBorderPixel(const SvBorder &rBorder)
std::unique_ptr< FmFormShell > pFormShell
virtual void WriteUserData(OUString &, bool bBrowse=false) override
constexpr sal_uInt16 KEY_UP
css::uno::Reference< css::document::XDocumentProperties > getDocProperties() const
SC_DLLPUBLIC void InputEnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL)
void SetRefString(const OUString &rStr)
SfxApplication * SfxGetpApp()
constexpr sal_uInt16 KEY_END
virtual SfxUndoManager * GetUndoManager() override
void KillEditView(bool bNoPaint)
Reference< XController > xController
std::unique_ptr< ScEditShell > pEditShell
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
SC_DLLPUBLIC SCTAB GetTableCount() const
void RangeSelChanged(const OUString &rText)
IMPL_LINK_NOARG(ScTabViewShell, FormControlActivated, LinkParamNone *, void)
sal_uInt16 GetZoom() const
SfxFrame & GetFrame() const
virtual ~ScTabViewShell() override
static SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
constexpr sal_uInt16 KEY_PAGEUP
SC_DLLPUBLIC ScExternalRefManager * GetExternalRefManager() const
void FillFieldData(ScHeaderFieldData &rData)
SC_DLLPUBLIC bool HasTable(SCTAB nTab) const
void SetUnoLinks(const Link< const OUString &, void > &rDone, const Link< const OUString &, void > &rAbort, const Link< const OUString &, void > &rChange)
bool IsDrawTextShell() const
sal_uInt16 GetModifier() const
static void NotifyContextChange(const css::uno::Reference< css::frame::XController > &rxController, const vcl::EnumContext::Context eContext)
void Construct(TriState nForceDesignMode)
void SetFlags(bool bCloseOnButtonUp, bool bSingleCell, bool bMultiSelection)
std::unique_ptr< ScDrawFormShell > pDrawFormShell
SfxObjectCreateMode GetCreateMode() const
bool checkForSelectedCustomShapes(SdrView const *pSdrView, bool bOnlyExtruded)
SCROW GetPosY(ScVSplitPos eWhich, SCTAB nForTab=-1) const
ScDrawLayer * MakeDrawLayer()
ScViewData & GetViewData()
sal_uInt16 GetSlotID() const
ScChangeTrack * GetChangeTrack() const
void SetFormShellAtTop(bool bSet)
bool InputKeyEvent(const KeyEvent &rKEvt, bool bStartEdit=false)
std::unique_ptr< ScNavigatorSettings > pNavSettings
std::unique_ptr< ScDrawTextObjectBar > pDrawTextShell
void SetGraphicShell(bool bActive)
SC_DLLPUBLIC const ScDocOptions & GetDocOptions() const
constexpr sal_uInt16 KEY_DOWN
SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab)
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
void SetChartShell(bool bActive)
void SetDrawTextShell(bool bActive)
sal_uInt16 GetCurRefDlgId() const
void DoReadUserData(const OUString &rData)
void StopSimpleRefDialog()
void SetWindow(vcl::Window *pViewPort)
void SetRepeatTarget(SfxRepeatTarget *pTarget)
std::unique_ptr< svx::FontworkBar > pFontworkBarShell
ScMarkType
States GetSimpleArea() returns for the underlying selection marks, so the caller can react if the res...
constexpr sal_uInt16 KEY_HOME
static void SetAutoReOpen(bool bFlag)
bool HasAreaLinks() const
std::unique_ptr< ScPivotShell > pPivotShell
ScNavigatorSettings * GetNavigatorSettings()
static SfxViewFrame * GetNext(const SfxViewFrame &rPrev, const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
tools::Long Width() const
void SetDrawShell(bool bActive)
bool hasExternalData() const
constexpr sal_uInt16 KEY_PAGEDOWN
const ScMarkData::MarkedTabsType & GetSelectedTabs() const
virtual void Activate(bool IsMDIActivate) override
virtual void ViewShellChanged()=0
Size GetOutputSizePixel() const
SC_DLLPUBLIC tools::Rectangle GetMMRect(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
virtual void ReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &) override
static SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
bool HasLinkFormulaNeedingCheck() const
Base class for all functions.
KeyFuncType GetFunction() const
virtual void Deactivate(bool IsMDIActivate) override
void RangeSelDone(const OUString &rText)
constexpr sal_uInt16 KEY_RETURN
void SetInputMode(ScInputMode eMode, const OUString *pInitText=nullptr)
void SetUpdateEnabled(bool bValue)
constexpr sal_uInt16 KEY_RIGHT
bool IsAuditShell() const
std::unique_ptr< ScDrawShell > pDrawShell
Point PixelToLogic(const Point &rDevicePt) const
Point LogicToPixel(const Point &rLogicPt) const
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
Stores global named database ranges.
void SetDrawFormShell(bool bActive)
void SetEmbedded(const ScRange &rRange)
const vcl::KeyCode & GetKeyCode() const
std::unique_ptr< ScChartShell > pChartShell
SC_DLLPUBLIC void SetDocVisible(bool bSet)
bool HasChildWindow(sal_uInt16)
virtual sal_uInt16 SetPrinter(SfxPrinter *pNewPrinter, SfxPrinterChangeFlags nDiffFlags=SFX_PRINTER_ALL) override
std::unique_ptr< ScFormEditData > mpFormEditData
static ScTabViewShell * GetActiveViewShell()
void StartSimpleRefDialog(const OUString &rTitle, const OUString &rInitVal, bool bCloseOnButtonUp, bool bSingleCell, bool bMultiSelection)
SfxShell * GetMySubShell() const
void SetCurSubShell(ObjectSelectionType eOST, bool bForce=false)
void RemoveSubShell(SfxShell *pShell=nullptr)
constexpr sal_uInt16 KEY_ESCAPE
virtual void Deactivate(bool bMDI) override
css::uno::Reference< css::frame::XController > GetController() const
void SetInplace(bool bInplace)
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
tools::Long AdjustWidth(tools::Long n)
bool hasDdeOrOleOrWebServiceLinks() const
void SetOleObjectShell(bool bActive)
SfxViewShell * pScActiveViewShell
tools::Long Height() const
const INetURLObject & GetURLObject() const
virtual CreateTabPage GetTabPageCreatorFunc(sal_uInt16 nId)=0
std::unique_ptr< SfxBroadcaster > pAccessibilityBroadcaster
SC_DLLPUBLIC const ScInputOptions & GetInputOptions()
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
const ScDocument & GetDocument() const
bool TabKeyInput(const KeyEvent &rKEvt)
SdrEndTextEditKind ScEndTextEdit()
tools::Long AdjustHeight(tools::Long n)
constexpr sal_uInt16 KEYGROUP_NUM
virtual void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &) override
std::unique_ptr< svx::ExtrusionBar > pExtrusionBarShell
void SetZoomType(SvxZoomType eNew, bool bAll)
virtual bool KeyInput(const KeyEvent &rKeyEvent)
constexpr sal_uInt16 KEY_EQUAL
static SfxViewFrame * GetFirst(const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
bool IsUndoEnabled() const
ScInputHandler * GetInputHdl(ScTabViewShell *pViewSh=nullptr, bool bUseRef=true)
Input-Handler.
std::unique_ptr<::editeng::SvxBorderLine > pCurFrameLine
constexpr sal_uInt16 KEY_LEFT
virtual SfxPrinter * GetPrinter(bool bCreate=false) override
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
SC_DLLPUBLIC void MakeTable(SCTAB nTab, bool _bNeedsNameCheck=true)
SCTAB GetVisibleTab() const
bool IsPagebreakMode() const
std::unique_ptr< ScAuditingShell > pAuditingShell
void SetCloseHdl(const Link< const OUString *, void > &rLink)
ScTabViewShell(SfxViewFrame *pViewFrame, SfxViewShell *pOldSh)
-> Clone Method for Factory Created from a general shell and inherit as much as possible ...
virtual bool KeyInput(const KeyEvent &rKeyEvent) override
const ScInputHandler * GetInputHandler() const
virtual void Move() override
void SnapVisArea(tools::Rectangle &rRect) const
SC_DLLPUBLIC bool GetName(SCTAB nTab, OUString &rName) const
void SetMaxUndoActionCount(size_t nMaxUndoActionCount)
void SetEditShell(EditView *pView, bool bActive)
std::unique_ptr< ScPageBreakShell > pPageBreakShell
virtual bool PrepareClose(bool bUI=true)
virtual void SetZoomFactor(const Fraction &rZoomX, const Fraction &rZoomY)
constexpr sal_uInt16 KEY_TAB
void SetSelectedTabs(const MarkedTabsType &rTabs)
virtual void Activate(bool bMDI) override
css::uno::Reference< css::frame::XController > GetController() const
SfxMedium * GetMedium() const
virtual void InnerResizePixel(const Point &rOfs, const Size &rSize, bool inplaceEditModeChange) override