20 #include <com/sun/star/ui/dialogs/XSLTFilterDialog.hpp>
45 #include <svx/dialogs.hrc>
55 #include <com/sun/star/i18n/ScriptType.hpp>
56 #include <com/sun/star/linguistic2/XThesaurus.hpp>
57 #include <ooo/vba/XSinkCaller.hpp>
67 #include <printopt.hxx>
68 #include <navicfg.hxx>
74 #include <uiitems.hxx>
76 #include <scerrors.hrc>
77 #include <scstyles.hrc>
78 #include <globstr.hrc>
80 #include <bitmaps.hlst>
82 #include <inputwin.hxx>
83 #include <msgpool.hxx>
85 #include <preview.hxx>
91 #define ShellClass_ScModule
92 #include <scslots.hxx>
98 #define SC_IDLE_MIN 150
99 #define SC_IDLE_MAX 3000
100 #define SC_IDLE_STEP 75
101 #define SC_IDLE_COUNT 50
110 SfxVisibilityFlags::Standard | SfxVisibilityFlags::Client | SfxVisibilityFlags::Viewer,
111 ToolbarId::Objectbar_App);
113 GetStaticInterface()->RegisterStatusBar(StatusBarId::CalcStatusBar);
118 m_aIdleTimer(
"sc ScModule IdleTimer"),
120 m_pSelTransfer(
nullptr ),
121 m_pRefInputHandler(
nullptr ),
123 m_bIsWaterCan(
false ),
124 m_bIsInEditCommand(
false ),
125 m_bIsInExecuteDrop(
false ),
126 m_bIsInSharedDocLoading(
false ),
127 m_bIsInSharedDocSaving(
false )
145 m_aIdleTimer.SetInvokeHandler(
LINK(
this,
ScModule, IdleHandler ) );
146 m_aIdleTimer.Start();
150 SetPool( m_pMessagePool.get() );
158 OSL_ENSURE( !
m_pSelTransfer,
"Selection Transfer object not deleted" );
186 if ( bArrows || bComments )
194 if (
auto pDocSh = dynamic_cast<ScDocShell * >(pObjSh) )
210 if (
ScTabViewShell* pViewSh = dynamic_cast<ScTabViewShell*>(pViewShell))
212 pViewSh->PaintGrid();
214 pViewSh->PaintLeft();
215 pViewSh->PaintExtras();
221 else if ( dynamic_cast<const ScPreviewShell*>( pViewShell) !=
nullptr )
236 if (
auto pDocSh = dynamic_cast<ScDocShell *>(pObjSh) )
242 pDocSh->CalcOutputFactor();
244 SCTAB nTabCount = pDocSh->GetDocument().GetTableCount();
245 for (
SCTAB nTab=0; nTab<nTabCount; nTab++)
246 pDocSh->AdjustRowHeight( 0, pDocSh->GetDocument().MaxRow(), nTab );
262 pViewSh->DigitLanguageChanged();
263 pViewSh->PaintGrid();
265 else if (
ScPreviewShell* pPreviewSh = dynamic_cast<ScPreviewShell*>(pSh))
267 ScPreview* pPreview = pPreviewSh->GetPreview();
280 if ( rHint.
GetId() == SfxHintId::Deinitializing )
325 sal_uInt16 nSlot = rReq.
GetSlot();
329 case SID_CHOOSE_DESIGN:
332 case SID_EURO_CONVERTER:
335 case SID_AUTOSPELL_CHECK:
339 if (pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( FN_PARAM_1,
true, &pItem ))
340 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
341 else if ( pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( nSlot,
true, &pItem ) )
342 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
359 case SID_ATTR_METRIC:
362 if ( pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( nSlot,
true, &pItem ) )
369 case FieldUnit::INCH:
370 case FieldUnit::PICA:
371 case FieldUnit::POINT:
389 case FID_AUTOCOMPLETE:
401 case SID_DETECTIVE_AUTO:
418 case SID_PSZ_FUNCTION:
421 auto const &
p = pReqArgs->
Get(SID_PSZ_FUNCTION);
422 assert(dynamic_cast<const SfxUInt32Item*>(&
p) &&
"wrong Parameter");
432 pBindings->
Update( SID_TABLE_CELL );
435 pBindings->
Update( SID_PSZ_FUNCTION );
441 case SID_ATTR_LANGUAGE:
442 case SID_ATTR_CHAR_CJK_LANGUAGE:
443 case SID_ATTR_CHAR_CTL_LANGUAGE:
455 LanguageType eOld = ( nSlot == SID_ATTR_CHAR_CJK_LANGUAGE ) ? eCjk :
456 ( ( nSlot == SID_ATTR_CHAR_CTL_LANGUAGE ) ? eCtl : eLatin );
457 if ( eNewLang != eOld )
459 if ( nSlot == SID_ATTR_CHAR_CJK_LANGUAGE )
461 else if ( nSlot == SID_ATTR_CHAR_CTL_LANGUAGE )
482 case FID_FOCUS_POSWND:
495 case SID_OPEN_XML_FILTERSETTINGS:
502 catch( css::uno::RuntimeException& )
510 OSL_FAIL(
"ScApplication: Unknown Message." );
521 for (sal_uInt16 nWhich = aIter.FirstWhich(); nWhich; nWhich = aIter.NextWhich())
532 case FID_AUTOCOMPLETE:
535 case SID_DETECTIVE_AUTO:
538 case SID_PSZ_FUNCTION:
541 case SID_ATTR_METRIC:
544 case SID_AUTOSPELL_CHECK:
547 case SID_ATTR_LANGUAGE:
627 const OUString&
rDoc,
const OUString& rTab,
const OUString& rArea )
645 ScDocument* pLocalDoc,
const OUString& rTarget,
const OUString& rText )
651 pViewShell->
SetDragJump(pLocalDoc, rTarget, rText);
668 css::uno::Reference<css::datatransfer::XTransferable2> xTransferable;
676 css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard =
678 xTransferable.set(xClipboard.is() ? xClipboard->getContents() :
nullptr, css::uno::UNO_QUERY);
685 assert((!pDoc || pDoc->
IsClipboard()) &&
"Document is not clipboard, how can that be?");
742 while ((n <
LRU_MAX) && n<nLRUFuncCount)
744 if (!bFound && (pLRUListIds[n]== nFIndex))
747 aIdxList[n ] = pLRUListIds[n];
749 aIdxList[n+1] = pLRUListIds[n];
754 aIdxList[0] = nFIndex;
771 SC_MOD()->GetAppOptions();
925 OSL_ENSURE(
m_pAppCfg,
"AppOptions not initialised :-(" );
929 OSL_ENSURE(
m_pInputCfg,
"InputOptions not initialised :-(" );
937 bool bRepaint =
false;
938 bool bUpdateMarks =
false;
939 bool bUpdateRefDev =
false;
940 bool bCalcAll =
false;
941 bool bSaveAppOptions =
false;
942 bool bSaveInputOptions =
false;
943 bool bCompileErrorCells =
false;
953 aAppOptions.
SetAppMetric( static_cast<FieldUnit>(pItem->GetValue()) );
954 bSaveAppOptions =
true;
960 bSaveAppOptions =
true;
966 bSaveAppOptions =
true;
971 sal_uInt16 nVal = pItem->GetValue();
977 bSaveAppOptions =
true;
1002 bCompileErrorCells =
true;
1045 if ( rOldOpt != rNewOpt )
1073 const ScGridOptions& rOldGridOpt = aNewViewOpt.GetGridOptions();
1075 if ( rOldGridOpt != aNewGridOpt )
1077 aNewViewOpt.SetGridOptions( aNewGridOpt );
1104 bRepaint = ( bRepaint || ( rOldOpt != rNewOpt ) );
1105 bCalcAll = bRepaint &&
1127 sal_uInt16 nTabDist = pItem->GetValue();
1146 bool bDoAutoSpell = pItem->GetValue();
1164 if ( bOldAutoSpell != bDoAutoSpell )
1169 if ( pInputHandler )
1175 pBindings->
Invalidate( SID_AUTOSPELL_CHECK );
1182 aInputOptions.
SetMoveDir( pItem->GetValue() );
1183 bSaveInputOptions =
true;
1188 bSaveInputOptions =
true;
1193 bSaveInputOptions =
true;
1198 bSaveInputOptions =
true;
1203 bSaveInputOptions =
true;
1208 bSaveInputOptions =
true;
1213 bSaveInputOptions =
true;
1219 bSaveInputOptions =
true;
1220 bUpdateMarks =
true;
1224 bool bNew = pItem->GetValue();
1228 bSaveInputOptions =
true;
1229 bUpdateRefDev =
true;
1235 bSaveInputOptions =
true;
1241 bSaveInputOptions =
true;
1247 bSaveInputOptions =
true;
1260 if ( bSaveAppOptions )
1263 if ( bSaveInputOptions )
1267 if (pDoc && bCompileErrorCells)
1276 if ( pDoc && bCalcAll )
1288 if ( pViewSh && bUpdateMarks )
1292 if ( pViewSh && bRepaint )
1308 if ( !bUpdateRefDev )
1315 if (
auto pOneDocSh = dynamic_cast<ScDocShell *>(pObjSh) )
1317 pOneDocSh->CalcOutputFactor();
1318 SCTAB nTabCount = pOneDocSh->GetDocument().GetTableCount();
1319 for (
SCTAB nTab=0; nTab<nTabCount; nTab++)
1364 pViewSh = pCurViewSh;
1371 OSL_ENSURE( pHdl || !pViewSh,
"GetInputHdl: no InputHandler found!" );
1379 if ( pShell && pHdl )
1387 pHdl->
SetMode(eMode, pInitText);
1405 return pHdl && pHdl->
KeyInput( rKEvt, bStartEdit );
1547 if (
ScTabViewShell* pTabViewSh = dynamic_cast<ScTabViewShell*>(pViewSh))
1560 pSfxApp->Broadcast(
SfxHint( SfxHintId::ScRefModeChanged ) );
1598 bool bIsModal =
false;
1609 bIsModal = pChildWnd->
IsVisible() && pRefDlg &&
1636 bool bLocked =
false;
1666 bool bIsOpen =
false;
1682 bool bIsFormula =
false;
1752 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1793 OSL_FAIL(
"SetReference without receiver");
1808 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1848 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1892 m_aIdleTimer.Start();
1906 bMore = bLinks || bWidth;
1915 sal_uInt64 nOldTime = m_aIdleTimer.GetTimeout();
1916 sal_uInt64 nNewTime = nOldTime;
1934 if ( nNewTime != nOldTime )
1935 m_aIdleTimer.SetTimeout( nNewTime );
1938 m_aIdleTimer.Start();
1946 std::optional<SfxItemSet> pRet;
1947 if(SID_SC_EDITOPTIONS == nId)
1955 SID_ATTR_GRID_OPTIONS, SID_ATTR_GRID_OPTIONS,
1956 SID_ATTR_METRIC, SID_ATTR_METRIC,
1957 SID_ATTR_DEFTABSTOP, SID_ATTR_DEFTABSTOP,
1959 SID_SC_INPUT_LEGACY_CELL_SELECTION, SID_SC_OPT_SORT_REF_UPDATE,
1961 SID_SCFORMULAOPTIONS, SID_SCDEFAULTSOPTIONS,
1963 SID_SCVIEWOPTIONS, SID_SCDOCOPTIONS,
1965 SID_SC_INPUT_ENTER_PASTE_MODE, SID_SC_INPUT_ENTER_PASTE_MODE,
1967 SID_SCPRINTOPTIONS, SID_SCPRINTOPTIONS,
1969 SID_SC_INPUT_SELECTION, SID_SC_INPUT_MARK_HEADER,
1970 SID_SC_INPUT_TEXTWYSIWYG, SID_SC_INPUT_TEXTWYSIWYG,
1971 SID_SC_INPUT_REPLCELLSWARN, SID_SC_INPUT_REPLCELLSWARN,
1973 SID_SC_OPT_SYNCZOOM, SID_SC_OPT_KEY_BINDING_COMPAT>);
1993 sal::static_int_cast<sal_uInt16>(rAppOpt.
GetAppMetric()) ) );
1998 pRet->Put(
ScTpCalcItem( SID_SCDOCOPTIONS, aCalcOpt ) );
2023 pRet->Put(
SfxBoolItem( SID_SC_INPUT_REPLCELLSWARN,
2025 pRet->Put(
SfxBoolItem( SID_SC_INPUT_LEGACY_CELL_SELECTION,
2027 pRet->Put(
SfxBoolItem( SID_SC_INPUT_ENTER_PASTE_MODE,
2034 std::unique_ptr<SvxGridItem> pSvxGridItem = aViewOpt.
CreateGridItem();
2035 pRet->Put( *pSvxGridItem );
2036 pSvxGridItem.reset();
2067 if(SID_SC_EDITOPTIONS == nId)
2075 std::unique_ptr<SfxTabPage> xRet;
2079 case SID_SC_TP_LAYOUT:
2082 if (ScTpLayoutOptionsCreate)
2083 xRet = (*ScTpLayoutOptionsCreate)(pPage, pController, &rSet);
2086 case SID_SC_TP_CONTENT:
2089 if (ScTpContentOptionsCreate)
2090 xRet = (*ScTpContentOptionsCreate)(pPage, pController, &rSet);
2093 case SID_SC_TP_GRID:
2096 case SID_SC_TP_USERLISTS:
2099 if (ScTpUserListsCreate)
2100 xRet = (*ScTpUserListsCreate)(pPage, pController, &rSet);
2103 case SID_SC_TP_CALC:
2106 if (ScTpCalcOptionsCreate)
2107 xRet = (*ScTpCalcOptionsCreate)(pPage, pController, &rSet);
2110 case SID_SC_TP_FORMULA:
2113 if (ScTpFormulaOptionsCreate)
2114 xRet = (*ScTpFormulaOptionsCreate)(pPage, pController, &rSet);
2117 case SID_SC_TP_COMPATIBILITY:
2120 if (ScTpCompatOptionsCreate)
2121 xRet = (*ScTpCompatOptionsCreate)(pPage, pController, &rSet);
2124 case SID_SC_TP_CHANGES:
2127 if (ScRedlineOptionsTabPageCreate)
2128 xRet =(*ScRedlineOptionsTabPageCreate)(pPage, pController, &rSet);
2131 case RID_SC_TP_PRINT:
2134 if (ScTpPrintOptionsCreate)
2135 xRet = (*ScTpPrintOptionsCreate)(pPage, pController, &rSet);
2138 case RID_SC_TP_DEFAULTS:
2141 if (ScTpDefaultsOptionsCreate)
2142 xRet = (*ScTpDefaultsOptionsCreate)(pPage, pController, &rSet);
2147 OSL_ENSURE( xRet,
"ScModule::CreateTabPage(): no valid ID for TabPage!" );
2161 if (
const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField))
2164 const OUString&
aURL = pURLField->GetURL();
2166 switch ( pURLField->GetFormat() )
2168 case SvxURLFormat::AppDefault:
2169 case SvxURLFormat::Repr:
2171 pInfo->SetRepresentation( pURLField->GetRepresentation() );
2175 case SvxURLFormat::Url:
2177 pInfo->SetRepresentation( aURL );
2184 pInfo->SetTextColor( GetColorConfig().GetColorValue(eEntry).nColor );
2188 OSL_FAIL(
"Unknown Field");
2189 pInfo->SetRepresentation(OUString(
'?'));
2197 if (std::find_if(rlRefWindow.begin(), rlRefWindow.end(),
2198 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2200 return rCandidate.first.get() == rWnd.get();
2201 }) == rlRefWindow.end())
2203 rlRefWindow.emplace_back(rWnd, pWndAncestor);
2214 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2216 auto i = std::find_if(rlRefWindow.begin(), rlRefWindow.end(),
2217 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2219 return rCandidate.first.get() == rWnd.get();
2222 if(
i == rlRefWindow.end() )
2225 rlRefWindow.erase(
i );
2227 if( rlRefWindow.empty() )
2241 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2243 for (
auto const& refWindow : rlRefWindow)
2244 if ( refWindow.second == pWndAncestor )
2245 return refWindow.first;
2284 bool bHasLang =
false;
2291 catch( uno::Exception& )
2293 OSL_FAIL(
"Error in Thesaurus");
2304 ScResId(STR_STYLE_FAMILY_CELL),
2305 BMP_STYLES_FAMILY_CELL,
2306 RID_CELLSTYLEFAMILY,
SC_MOD()->GetResLocale()));
2309 ScResId(STR_STYLE_FAMILY_PAGE),
2310 BMP_STYLES_FAMILY_PAGE,
2311 RID_PAGESTYLEFAMILY,
SC_MOD()->GetResLocale()));
2313 return aStyleFamilies;
2318 mxAutomationApplicationEventsCaller = xCaller;
2323 if (mxAutomationApplicationEventsCaller.is())
2324 mxAutomationApplicationEventsCaller->CallSinks(Method, Arguments);
If set, cloned formula cells will start to listen to the document.
std::shared_ptr< SfxDialogController > & GetController()
#define LINK(Instance, Class, Member)
std::unique_ptr< SvtUserOptions > m_pUserOptions
IMPL_LINK_NOARG(ScModule, IdleHandler, Timer *, void)
void SetAutoComplete(bool bNew)
void SetDigitLanguage(LanguageType)
TextNumerals GetCTLTextNumerals() const
Collection of user-defined sort lists.
static void HideDisabledSlot(SfxItemSet &rSet, SfxBindings &rBindings, sal_uInt16 nSlotId)
const ScDragData & GetDragData() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
bool GetAutoComplete() const
std::vector< SfxStyleFamilyItem > SfxStyleFamilies
SfxChildWindow * GetChildWindow(sal_uInt16)
std::unique_ptr< ScFormulaCfg > m_pFormulaCfg
#define SFX_IMPL_INTERFACE(Class, SuperClass)
OUString ScResId(TranslateId aId)
#define LANGUAGE_ARABIC_SAUDI_ARABIA
std::map< sal_uInt16, std::vector< std::pair< std::shared_ptr< SfxDialogController >, weld::Window * > > > m_mapRefController
#define LANGUAGE_ENGLISH_US
SC_DLLPUBLIC void RegisterRefController(sal_uInt16 nSlotId, std::shared_ptr< SfxDialogController > &rWnd, weld::Window *pWndAncestor)
std::unique_ptr< ScNavipiCfg > m_pNavipiCfg
static constexpr auto Items
constexpr TypedWhichId< SvxLanguageItem > ATTR_CJK_FONT_LANGUAGE(115)
SC_DLLPUBLIC void RegisterAutomationApplicationEventsCaller(css::uno::Reference< ooo::vba::XSinkCaller > const &xCaller)
static void GetSpellSettings(LanguageType &rDefLang, LanguageType &rCjkLang, LanguageType &rCtlLang, bool &rAutoSpell)
static weld::Window * GetActiveDialogParent()
const Fraction & GetZoomX() const
css::uno::Reference< css::datatransfer::clipboard::XClipboard > GetClipboard()
std::unique_ptr< SvtCTLOptions > m_pCTLOptions
sal_uInt16 GetLRUFuncListCount() const
void SetLRUFuncList(const sal_uInt16 *pList, const sal_uInt16 nCount)
void InputGetSelection(sal_Int32 &rStart, sal_Int32 &rEnd)
ScModule(SfxObjectFactory *pFact)
svtools::ColorConfig & GetColorConfig()
void AddRefEntry()
Multiple selection.
std::unique_ptr< ScDefaultsCfg > m_pDefaultsCfg
static void SetUserList(const ScUserList *pNewList)
void SetDocumentModified()
bool GetSynchronizeZoom() const
LanguageType nDefaultLanguage_CJK
void SetStatusFunc(sal_uInt32 nNew)
LanguageType GetOptDigitLanguage()
static LanguageType resolveSystemLanguageByScriptType(LanguageType nLang, sal_Int16 nType)
void InputSelection(const EditView *pView)
void SetDragObject(ScTransferObj *pCellObj, ScDrawTransferObj *pDrawObj)
SvtCTLOptions & GetCTLOptions()
static Color GetErrorColor()
ScOptionsUtil::KeyBindingType GetKeyBindingType() const
void SetTabDistance(sal_uInt16 nTabDist)
void Done(bool bRemove=false)
ScDocument & GetDocument() const
static css::uno::Reference< css::datatransfer::XTransferable2 > GetClipData(vcl::Window *pWin)
std::unique_ptr< ScInputCfg > m_pInputCfg
static bool HasThesaurusLanguage(LanguageType nLang)
static SfxObjectShell * Current()
const SfxItemSet * GetArgs() const
void Invalidate(sal_uInt16 nId)
sc::DocumentLinkManager & GetDocLinkManager()
void ViewShellChanged(bool bStopEditing)
std::unique_ptr< ScAppCfg, o3tl::default_delete< ScAppCfg > > m_pAppCfg
void PutItem(const SfxPoolItem &rItem)
sal_uInt16 GetIterCount() const
ScNavipiCfg & GetNavipiCfg()
void SetReference(const ScRange &rRef, ScDocument &rDoc, const ScMarkData *pMarkData=nullptr)
SfxApplication * SfxGetpApp()
SC_DLLPUBLIC void UnregisterRefController(sal_uInt16 nSlotId, const std::shared_ptr< SfxDialogController > &rWnd)
SfxInPlaceClient * GetUIActiveClient() const
void SetFormulaOptions(const ScFormulaOptions &rOpt, bool bForLoading=false)
virtual std::optional< SfxStyleFamilies > CreateStyleFamilies() override
FieldUnit GetAppMetric() const
void UpdateAutoFillMark(bool bFromPaste=false)
void SetDefaultTabulator(sal_uInt16 nVal)
vcl::Window & GetWindow() const
virtual bool IsTableLocked() const =0
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
sal_uInt16 m_nCurRefDlgId
static void ResetKeyBindings(ScOptionsUtil::KeyBindingType eType)
SC_DLLPUBLIC SCROW MaxRow() const
static Color GetArrowColor()
virtual void ConfigurationChanged(utl::ConfigurationBroadcaster *, ConfigurationHints) override
SCTAB GetSelectCount() const
void SetViewOptions(const ScViewOptions &rOpt)
void InsertEntryToLRUList(sal_uInt16 nFIndex)
SC_DLLPUBLIC void InputEnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL, bool bBeforeSavingInLOK=false)
static SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
sal_uInt16 * GetLRUFuncList() const
SC_DLLPUBLIC void SetRefDialog(sal_uInt16 nId, bool bVis, SfxViewFrame *pViewFrm=nullptr)
Reference dialogs.
void SetRefInputHdl(ScInputHandler *pNew)
static SfxViewShell * Current()
virtual std::optional< SfxItemSet > CreateItemSet(sal_uInt16 nId) override
Virtual methods for the OptionsDialog.
void SetOptions(const ScViewOptions &rOpt)
SC_DLLPUBLIC std::shared_ptr< SfxDialogController > Find1RefWindow(sal_uInt16 nSlotId, const weld::Window *pWndAncestor)
void UpdateCharts(bool bAllCharts)
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
void UpdateInputHandler(bool bForce=false, bool bStopEditing=true)
SC_DLLPUBLIC const ScDocOptions & GetDocOptions()
std::unique_ptr< ScDocCfg, o3tl::default_delete< ScDocCfg > > m_pDocCfg
static ErrCode CallAppBasic(const OUString &i_macroName)
constexpr OUStringLiteral LINGUPROP_AUTOSPELL
ScDocument * GetDocument() const
const Fraction & GetZoomY() const
SC_DLLPUBLIC void SetInputOptions(const ScInputOptions &rOpt)
ScViewData & GetViewData()
static ScDocument * GetClipDoc()
SfxItemPool & GetPool() const
static bool IsColorsInitialized()
bool IsMatchWholeCell() const
bool InputKeyEvent(const KeyEvent &rKEvt, bool bStartEdit=false)
SC_DLLPUBLIC const ScDocOptions & GetDocOptions() const
static SfxChildWindow * lcl_GetChildWinFromCurrentView(sal_uInt16 nId)
void MergeDocumentSpecific(const ScCalcConfig &r)
ScSelectionTransferObj * m_pSelTransfer
rtl::Reference< ScMessagePool > m_pMessagePool
SC_DLLPUBLIC void SetAppOptions(const ScAppOptions &rOpt)
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
#define DBG_UNHANDLED_EXCEPTION(...)
void GetState(SfxItemSet &rSet)
bool IsModalMode(SfxObjectShell *pDocSh=nullptr)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
static INetURLHistory * GetOrCreate()
sal_uInt16 GetTabDistance() const
sal_uInt64 GetTimeout() const
void Execute(SfxRequest &rReq)
bool GetDetectiveAuto() const
static bool AnyInput(VclInputFlags nType=VCL_INPUT_ANY)
void GetOptions(SvtLinguOptions &rOptions) const
SC_DLLPUBLIC const ScPrintOptions & GetPrintOptions()
virtual void ApplyItemSet(sal_uInt16 nId, const SfxItemSet &rSet) override
void SetKeyBindingType(ScOptionsUtil::KeyBindingType e)
void SetDetectiveAuto(bool bNew)
static SC_DLLPUBLIC void Clear()
LanguageType GetLanguage(SwWrtShell &rSh, sal_uInt16 nLangWhichId)
SC_DLLPUBLIC const ScFormulaOptions & GetFormulaOptions()
void SetPrintOptions(const ScPrintOptions &rOpt)
virtual void AddRefEntry()=0
SfxBindings & GetBindings()
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
SC_DLLPUBLIC const ScAppOptions & GetAppOptions()
const T * GetArg(sal_uInt16 nSlotId) const
SvtAccessibilityOptions & GetAccessOptions()
std::unique_ptr< SvtAccessibilityOptions > m_pAccessOptions
std::unique_ptr< ScDragData > m_pDragData
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rAttrSet)
static SfxViewFrame * GetNext(const SfxViewFrame &rPrev, const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
static void HideDisabledSlots(SfxItemSet &rSet)
virtual std::unique_ptr< SfxTabPage > CreateTabPage(sal_uInt16 nId, weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet) override
static void UpdateAllComments(ScDocument &rDoc)
on all tables
bool GetOption(ScViewOption eOpt) const
ScGridWindow * GetActiveWin()
static SC_DLLPUBLIC ScUserList * GetUserList()
void SetGridOptions(const ScGridOptions &rNew)
void SetSynchronizeZoom(bool bNew)
std::unique_ptr< svtools::ColorConfig > m_pColorConfig
std::unique_ptr< SvxGridItem > CreateGridItem() const
void global_InitAppOptions()
static sal_uInt16 nIdleCount
bool CompileErrorCells(FormulaError nErrCode)
Re-compile formula cells with error.
void EnableAutoSpell(bool bEnable)
void SetDragJump(ScDocument *pLocalDoc, const OUString &rTarget, const OUString &rText)
static SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
void SetTimeout(sal_uInt64 nTimeoutMs)
virtual void SetReference(const ScRange &rRef, ScDocument &rDoc)=0
SfxViewShell * GetViewShell() const
std::unique_ptr< ScViewCfg, o3tl::default_delete< ScViewCfg > > m_pViewCfg
static SfxChildWindow * lcl_GetChildWinFromAnyView(sal_uInt16 nId)
void SetInputMode(ScInputMode eMode, const OUString *pInitText=nullptr)
static sal_uInt16 DoUpdateCharts(const ScAddress &rPos, ScDocument &rDoc, bool bAllCharts)
Configuration options for formula interpreter.
void Update(sal_uInt16 nId)
SC_DLLPUBLIC void SetFormulaOptions(const ScFormulaOptions &rOpt)
ScAddInCfg & GetAddInCfg()
constexpr TypedWhichId< SvxLanguageItem > ATTR_CTL_FONT_LANGUAGE(120)
static void InitTextHeight(const SfxItemPool *pPool)
static Color GetCommentColor()
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
sal_uInt16 GetSlot() const
bool IsFormulaWildcardsEnabled() const
static SfxViewFrame * Current()
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
static ScTabViewShell * GetActiveViewShell()
void DisableItem(sal_uInt16 nWhich)
virtual bool IsRefInputMode() const =0
void ModifyOptions(const SfxItemSet &rOptSet)
Options.
virtual bool IsDocAllowed(SfxObjectShell *pDocSh) const =0
SC_DLLPUBLIC void CalcAll()
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
static SfxObjectShell * GetFirst(const std::function< bool(const SfxObjectShell *)> &isObjectShell=nullptr, bool bOnlyVisible=true)
void ActivateInputWindow(const OUString *pStr=nullptr, bool bMatrix=false)
const ScCalcConfig & GetCalcConfig() const
bool IsCalcAsShown() const
static void InitializeColors()
ScInputHandler * m_pRefInputHandler
SC_DLLPUBLIC SvtUserOptions & GetUserOptions()
SCTAB GetFirstSelected() const
LanguageType nDefaultLanguage
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
::OutputDevice const * GetOutDev() const
void InputChanged(const EditView *pView)
SCTAB GetLastSelected() const
const ScDragData & GetDragData() const
void InputReplaceSelection(const OUString &rStr)
void SetChildWindow(sal_uInt16 nId, bool bVisible, bool bSetFocus=true)
SC_DLLPUBLIC const ScDefaultsOptions & GetDefaultsOptions()
static SC_DLLPUBLIC ScTransferObj * GetOwnClipboard(const css::uno::Reference< css::datatransfer::XTransferable2 > &)
double GetIterEps() const
const ScViewOptions & GetOptions() const
virtual CreateTabPage GetTabPageCreatorFunc(sal_uInt16 nId)=0
Reference< XComponentContext > getProcessComponentContext()
void SetLanguage(LanguageType eLatin, LanguageType eCjk, LanguageType eCtl)
SC_DLLPUBLIC const ScInputOptions & GetInputOptions()
const ScDocument & GetDocument() const
sal_uInt16 GetYear2000() const
std::unique_ptr< ScAddInCfg > m_pAddInCfg
void InputSetSelection(sal_Int32 nStart, sal_Int32 nEnd)
vcl::Window * GetWindow() const
sal_uInt16 GetStdPrecision() const
virtual ~ScModule() override
SC_DLLPUBLIC void CallAutomationApplicationEventSinks(const OUString &Method, css::uno::Sequence< css::uno::Any > &Arguments)
void InputCancelHandler()
void SetDragObject(ScTransferObj *pCellObj, ScDrawTransferObj *pDrawObj)
void UpdateAnchorHandles()
void SetSelectionTransfer(ScSelectionTransferObj *pNew)
sal_uInt32 GetValue() const
void SetDragLink(const OUString &rDoc, const OUString &rTab, const OUString &rArea)
bool IsFormulaRegexEnabled() const
void SetDragJump(ScDocument *pLocalDoc, const OUString &rTarget, const OUString &rText)
static css::uno::Reference< css::linguistic2::XThesaurus > GetThesaurus()
const ScViewOptions & GetViewOptions()
static SfxViewFrame * GetFirst(const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
void AppendItem(const SfxPoolItem &)
bool QueryUrl(const INetURLObject &rUrl) const
void InputTurnOffWinEngine()
static SfxObjectShell * GetNext(const SfxObjectShell &rPrev, const std::function< bool(const SfxObjectShell *)> &isObjectShell=nullptr, bool bOnlyVisible=true)
void UpdateDrawTextOutliner()
ScInputHandler * GetInputHdl(ScTabViewShell *pViewSh=nullptr, bool bUseRef=true)
Input-Handler.
virtual void SetActive()=0
ScTabViewShell * GetBestViewShell(bool bOnlyVisible=true)
std::unique_ptr< ScPrintCfg > m_pPrintCfg
void SetAutoSpell(bool bVal)
bool IsIgnoreCase() const
IMPL_LINK(ScModule, CalcFieldValueHdl, EditFieldInfo *, pInfo, void)
SC_DLLPUBLIC void GetLanguage(LanguageType &rLatin, LanguageType &rCjk, LanguageType &rCtl) const
void SetUserList(const ScUserList &rUserList)
static void lcl_MarkedTabs(const ScMarkData &rMark, SCTAB &rStartTab, SCTAB &rEndTab)
LanguageType nDefaultLanguage_CTL
const ScInputHandler * GetInputHandler() const
void SetDragLink(const OUString &rDoc, const OUString &rTab, const OUString &rArea)
static void SetAutoSpellProperty(bool bSet)
std::unique_ptr< SfxErrorHandler > m_pErrorHdl
void AnythingChanged()
Idle/OnlineSpelling.
bool SetProperty(std::u16string_view rPropertyName, const css::uno::Any &rValue)
void ViewShellGone(const ScTabViewShell *pViewSh)
#define SFX_OBJECTBAR_APPLICATION
static void lcl_CheckNeedsRepaint(const ScDocShell *pDocShell)
SC_DLLPUBLIC void SetDefaultsOptions(const ScDefaultsOptions &rOpt)
const SvxFieldData * GetField() const
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
bool m_bDetectedRangeSegmentation false
void SetAppMetric(FieldUnit eUnit)