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>
76#include <scerrors.hrc>
77#include <scstyles.hrc>
80#include <bitmaps.hlst>
82#include <inputwin.hxx>
91#define ShellClass_ScModule
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) )
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();
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 ))
341 else if ( pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( nSlot,
true, &pItem ) )
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:
499 css::uno::Reference < css::ui::dialogs::XExecutableDialog > xDialog = css::ui::dialogs::XSLTFilterDialog::create( ::comphelper::getProcessComponentContext());
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 )
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?");
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;
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 )
1075 if ( rOldGridOpt != 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 )
1405 return pHdl && pHdl->
KeyInput( rKEvt, bStartEdit );
1560 pSfxApp->Broadcast(
SfxHint( SfxHintId::ScRefModeChanged ) );
1598 bool bIsModal =
false;
1607 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1609 bIsModal = pChildWnd->
IsVisible() && pRefDlg &&
1610 !( pRefDlg->IsRefInputMode() && pRefDlg->IsDocAllowed(pDocSh) );
1636 bool bLocked =
false;
1646 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1649 bLocked = pRefDlg->IsTableLocked();
1666 bool bIsOpen =
false;
1682 bool bIsFormula =
false;
1697 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1699 bIsFormula = pChildWnd->
IsVisible() && pRefDlg && pRefDlg->IsRefInputMode();
1752 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1766 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1772 pRefDlg->HideReference(
false );
1773 pRefDlg->SetReference( aNew, rDoc );
1793 OSL_FAIL(
"SetReference without receiver");
1808 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1813 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1817 pRefDlg->AddRefEntry();
1848 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1853 IAnyRefDialog* pRefDlg =
dynamic_cast<IAnyRefDialog*
>(pChildWnd->
GetController().get());
1857 pRefDlg->SetActive();
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,
2065 if(SID_SC_EDITOPTIONS ==
nId)
2073 std::unique_ptr<SfxTabPage> xRet;
2077 case SID_SC_TP_LAYOUT:
2080 if (ScTpLayoutOptionsCreate)
2081 xRet = (*ScTpLayoutOptionsCreate)(pPage, pController, &
rSet);
2084 case SID_SC_TP_CONTENT:
2087 if (ScTpContentOptionsCreate)
2088 xRet = (*ScTpContentOptionsCreate)(pPage, pController, &
rSet);
2091 case SID_SC_TP_GRID:
2094 case SID_SC_TP_USERLISTS:
2097 if (ScTpUserListsCreate)
2098 xRet = (*ScTpUserListsCreate)(pPage, pController, &
rSet);
2101 case SID_SC_TP_CALC:
2104 if (ScTpCalcOptionsCreate)
2105 xRet = (*ScTpCalcOptionsCreate)(pPage, pController, &
rSet);
2108 case SID_SC_TP_FORMULA:
2111 if (ScTpFormulaOptionsCreate)
2112 xRet = (*ScTpFormulaOptionsCreate)(pPage, pController, &
rSet);
2115 case SID_SC_TP_COMPATIBILITY:
2118 if (ScTpCompatOptionsCreate)
2119 xRet = (*ScTpCompatOptionsCreate)(pPage, pController, &
rSet);
2122 case SID_SC_TP_CHANGES:
2125 if (ScRedlineOptionsTabPageCreate)
2126 xRet =(*ScRedlineOptionsTabPageCreate)(pPage, pController, &
rSet);
2129 case RID_SC_TP_PRINT:
2132 if (ScTpPrintOptionsCreate)
2133 xRet = (*ScTpPrintOptionsCreate)(pPage, pController, &
rSet);
2136 case RID_SC_TP_DEFAULTS:
2139 if (ScTpDefaultsOptionsCreate)
2140 xRet = (*ScTpDefaultsOptionsCreate)(pPage, pController, &
rSet);
2145 OSL_ENSURE( xRet,
"ScModule::CreateTabPage(): no valid ID for TabPage!" );
2162 const OUString&
aURL = pURLField->GetURL();
2164 switch ( pURLField->GetFormat() )
2166 case SvxURLFormat::AppDefault:
2167 case SvxURLFormat::Repr:
2169 pInfo->SetRepresentation( pURLField->GetRepresentation() );
2173 case SvxURLFormat::Url:
2175 pInfo->SetRepresentation(
aURL );
2182 pInfo->SetTextColor( GetColorConfig().GetColorValue(eEntry).nColor );
2186 OSL_FAIL(
"Unknown Field");
2187 pInfo->SetRepresentation(OUString(
'?'));
2195 if (std::none_of(rlRefWindow.begin(), rlRefWindow.end(),
2196 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2198 return rCandidate.first.get() == rWnd.get();
2201 rlRefWindow.emplace_back(rWnd, pWndAncestor);
2212 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2214 auto i = std::find_if(rlRefWindow.begin(), rlRefWindow.end(),
2215 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2217 return rCandidate.first.get() == rWnd.get();
2220 if(
i == rlRefWindow.end() )
2223 rlRefWindow.erase(
i );
2225 if( rlRefWindow.empty() )
2239 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2241 for (
auto const& refWindow : rlRefWindow)
2242 if ( refWindow.second == pWndAncestor )
2243 return refWindow.first;
2282 bool bHasLang =
false;
2289 catch( uno::Exception& )
2291 OSL_FAIL(
"Error in Thesaurus");
2302 ScResId(STR_STYLE_FAMILY_CELL),
2303 BMP_STYLES_FAMILY_CELL,
2307 ScResId(STR_STYLE_FAMILY_PAGE),
2308 BMP_STYLES_FAMILY_PAGE,
2312 ScResId(STR_STYLE_FAMILY_GRAPHICS),
2313 BMP_STYLES_FAMILY_GRAPHICS,
2316 return aStyleFamilies;
SfxApplication * SfxGetpApp()
static bool AnyInput(VclInputFlags nType=VCL_INPUT_ANY)
sal_uInt32 GetValue() const
static INetURLHistory * GetOrCreate()
bool QueryUrl(const INetURLObject &rUrl) const
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
static css::uno::Reference< css::linguistic2::XThesaurus > GetThesaurus()
static LanguageType resolveSystemLanguageByScriptType(LanguageType nLang, sal_Int16 nType)
void SetDigitLanguage(LanguageType)
virtual CreateTabPage GetTabPageCreatorFunc(sal_uInt16 nId)=0
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
void SetStatusFunc(sal_uInt32 nNew)
sal_uInt16 GetLRUFuncListCount() const
void SetKeyBindingType(ScOptionsUtil::KeyBindingType e)
FieldUnit GetAppMetric() const
void SetLRUFuncList(const sal_uInt16 *pList, const sal_uInt16 nCount)
void SetDetectiveAuto(bool bNew)
void SetAutoComplete(bool bNew)
bool GetSynchronizeZoom() const
void SetAppMetric(FieldUnit eUnit)
sal_uInt16 * GetLRUFuncList() const
bool GetAutoComplete() const
ScOptionsUtil::KeyBindingType GetKeyBindingType() const
bool GetDetectiveAuto() const
void SetSynchronizeZoom(bool bNew)
static sal_uInt16 DoUpdateCharts(const ScAddress &rPos, ScDocument &rDoc, bool bAllCharts)
void UpdateCharts(bool bAllCharts)
static void InitializeColors()
static void UpdateAllComments(ScDocument &rDoc)
on all tables
static Color GetArrowColor()
static bool IsColorsInitialized()
void UpdateAllArrowColors()
on all tables
static Color GetErrorColor()
static Color GetCommentColor()
sal_uInt16 GetYear2000() const
bool IsFormulaWildcardsEnabled() const
bool IsIgnoreCase() const
void SetTabDistance(sal_uInt16 nTabDist)
sal_uInt16 GetIterCount() const
void SetAutoSpell(bool bVal)
sal_uInt16 GetTabDistance() const
sal_uInt16 GetStdPrecision() const
bool IsMatchWholeCell() const
bool IsFormulaRegexEnabled() const
bool IsCalcAsShown() const
double GetIterEps() const
static weld::Window * GetActiveDialogParent()
void SetDocumentModified()
const ScDocument & GetDocument() const
ScTabViewShell * GetBestViewShell(bool bOnlyVisible=true)
void SetFormulaOptions(const ScFormulaOptions &rOpt, bool bForLoading=false)
static void ResetKeyBindings(ScOptionsUtil::KeyBindingType eType)
const ScCalcConfig & GetCalcConfig() const
bool CompileErrorCells(FormulaError nErrCode)
Re-compile formula cells with error.
SC_DLLPUBLIC SCROW MaxRow() const
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
void SetLanguage(LanguageType eLatin, LanguageType eCjk, LanguageType eCtl)
SC_DLLPUBLIC void SetViewOptions(const ScViewOptions &rOpt)
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
SC_DLLPUBLIC void GetLanguage(LanguageType &rLatin, LanguageType &rCjk, LanguageType &rCtl) const
sc::DocumentLinkManager & GetDocLinkManager()
SC_DLLPUBLIC void CalcAll()
SC_DLLPUBLIC const ScDocOptions & GetDocOptions() const
static void InitTextHeight(const SfxItemPool *pPool)
static void SetUserList(const ScUserList *pNewList)
static SC_DLLPUBLIC ScUserList * GetUserList()
static SC_DLLPUBLIC void Clear()
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
SCTAB GetFirstSelected() const
SCTAB GetLastSelected() const
SCTAB GetSelectCount() const
void SetDragLink(const OUString &rDoc, const OUString &rTab, const OUString &rArea)
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
SC_DLLPUBLIC std::shared_ptr< SfxDialogController > Find1RefWindow(sal_uInt16 nSlotId, const weld::Window *pWndAncestor)
SC_DLLPUBLIC void UnregisterRefController(sal_uInt16 nSlotId, const std::shared_ptr< SfxDialogController > &rWnd)
void InputSetSelection(sal_Int32 nStart, sal_Int32 nEnd)
ScAddInCfg & GetAddInCfg()
ScNavipiCfg & GetNavipiCfg()
svtools::ColorConfig & GetColorConfig()
sal_uInt16 m_nCurRefDlgId
void SetRefInputHdl(ScInputHandler *pNew)
void ViewShellGone(const ScTabViewShell *pViewSh)
SC_DLLPUBLIC SvtUserOptions & GetUserOptions()
std::unique_ptr< ScNavipiCfg > m_pNavipiCfg
virtual std::optional< SfxItemSet > CreateItemSet(sal_uInt16 nId) override
Virtual methods for the OptionsDialog.
SC_DLLPUBLIC void RegisterAutomationApplicationEventsCaller(css::uno::Reference< ooo::vba::XSinkCaller > const &xCaller)
css::uno::Reference< ooo::vba::XSinkCaller > mxAutomationApplicationEventsCaller
void SetReference(const ScRange &rRef, ScDocument &rDoc, const ScMarkData *pMarkData=nullptr)
SC_DLLPUBLIC void RegisterRefController(sal_uInt16 nSlotId, std::shared_ptr< SfxDialogController > &rWnd, weld::Window *pWndAncestor)
ScInputHandler * GetInputHdl(ScTabViewShell *pViewSh=nullptr, bool bUseRef=true)
Input-Handler.
SC_DLLPUBLIC void SetRefDialog(sal_uInt16 nId, bool bVis, SfxViewFrame *pViewFrm=nullptr)
Reference dialogs.
void InputTurnOffWinEngine()
bool InputKeyEvent(const KeyEvent &rKEvt, bool bStartEdit=false)
SC_DLLPUBLIC const ScFormulaOptions & GetFormulaOptions()
std::map< sal_uInt16, std::vector< std::pair< std::shared_ptr< SfxDialogController >, weld::Window * > > > m_mapRefController
std::unique_ptr< svtools::ColorConfig > m_pColorConfig
std::unique_ptr< SvtCTLOptions > m_pCTLOptions
bool IsModalMode(SfxObjectShell *pDocSh=nullptr)
SC_DLLPUBLIC const ScPrintOptions & GetPrintOptions()
std::unique_ptr< ScInputCfg > m_pInputCfg
void SetViewOptions(const ScViewOptions &rOpt)
std::unique_ptr< SvtUserOptions > m_pUserOptions
void SetPrintOptions(const ScPrintOptions &rOpt)
virtual void ConfigurationChanged(utl::ConfigurationBroadcaster *, ConfigurationHints) override
ScSelectionTransferObj * m_pSelTransfer
std::unique_ptr< ScFormulaCfg > m_pFormulaCfg
std::unique_ptr< ScViewCfg, o3tl::default_delete< ScViewCfg > > m_pViewCfg
virtual ~ScModule() override
void SetInputMode(ScInputMode eMode, const OUString *pInitText=nullptr)
SvtAccessibilityOptions & GetAccessOptions()
virtual std::optional< SfxStyleFamilies > CreateStyleFamilies() override
void InputGetSelection(sal_Int32 &rStart, sal_Int32 &rEnd)
SvtCTLOptions & GetCTLOptions()
rtl::Reference< ScMessagePool > m_pMessagePool
void ActivateInputWindow(const OUString *pStr=nullptr, bool bMatrix=false)
ScModule(SfxObjectFactory *pFact)
SC_DLLPUBLIC const ScDocOptions & GetDocOptions()
void InputReplaceSelection(std::u16string_view aStr)
SC_DLLPUBLIC const ScInputOptions & GetInputOptions()
void ViewShellChanged(bool bStopEditing)
std::unique_ptr< SvtAccessibilityOptions > m_pAccessOptions
void InputChanged(const EditView *pView)
const ScDragData & GetDragData() const
SC_DLLPUBLIC const ScAppOptions & GetAppOptions()
ScInputHandler * m_pRefInputHandler
SC_DLLPUBLIC void CallAutomationApplicationEventSinks(const OUString &Method, css::uno::Sequence< css::uno::Any > &Arguments)
static bool HasThesaurusLanguage(LanguageType nLang)
virtual std::unique_ptr< SfxTabPage > CreateTabPage(sal_uInt16 nId, weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet) override
std::unique_ptr< SfxErrorHandler > m_pErrorHdl
void SetSelectionTransfer(ScSelectionTransferObj *pNew)
SC_DLLPUBLIC void SetAppOptions(const ScAppOptions &rOpt)
static void GetSpellSettings(LanguageType &rDefLang, LanguageType &rCjkLang, LanguageType &rCtlLang, bool &rAutoSpell)
static void SetAutoSpellProperty(bool bSet)
std::unique_ptr< ScDefaultsCfg > m_pDefaultsCfg
std::unique_ptr< ScDragData > m_pDragData
void AddRefEntry()
Multiple selection.
void SetDragJump(ScDocument *pLocalDoc, const OUString &rTarget, const OUString &rText)
SC_DLLPUBLIC void SetFormulaOptions(const ScFormulaOptions &rOpt)
SC_DLLPUBLIC void InputEnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL, bool bBeforeSavingInLOK=false)
std::unique_ptr< ScAppCfg, o3tl::default_delete< ScAppCfg > > m_pAppCfg
void Execute(SfxRequest &rReq)
std::unique_ptr< ScPrintCfg > m_pPrintCfg
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
void ModifyOptions(const SfxItemSet &rOptSet)
Options.
void InsertEntryToLRUList(sal_uInt16 nFIndex)
std::unique_ptr< ScDocCfg, o3tl::default_delete< ScDocCfg > > m_pDocCfg
void InputCancelHandler()
static ScDocument * GetClipDoc()
SC_DLLPUBLIC const ScDefaultsOptions & GetDefaultsOptions()
void GetState(SfxItemSet &rSet)
void InputSelection(const EditView *pView)
void SetDragObject(ScTransferObj *pCellObj, ScDrawTransferObj *pDrawObj)
static void HideDisabledSlots(SfxItemSet &rSet)
const ScViewOptions & GetViewOptions()
virtual void ApplyItemSet(sal_uInt16 nId, const SfxItemSet &rSet) override
SC_DLLPUBLIC void SetInputOptions(const ScInputOptions &rOpt)
SC_DLLPUBLIC void SetDefaultsOptions(const ScDefaultsOptions &rOpt)
void AnythingChanged()
Idle/OnlineSpelling.
LanguageType GetOptDigitLanguage()
std::unique_ptr< ScAddInCfg > m_pAddInCfg
const ScDragData & GetDragData() const
static css::uno::Reference< css::datatransfer::XTransferable2 > GetClipData(vcl::Window *pWin)
void UpdateInputHandler(bool bForce=false, bool bStopEditing=true)
void SetDragObject(ScTransferObj *pCellObj, ScDrawTransferObj *pDrawObj)
static ScTabViewShell * GetActiveViewShell()
const ScInputHandler * GetInputHandler() const
void SetDragJump(ScDocument *pLocalDoc, const OUString &rTarget, const OUString &rText)
void SetDragLink(const OUString &rDoc, const OUString &rTab, const OUString &rArea)
void UpdateAutoFillMark(bool bFromPaste=false)
void EnableAutoSpell(bool bEnable)
void UpdateDrawTextOutliner()
void UpdateAnchorHandles()
ScViewData & GetViewData()
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, bool bAll)
ScDocument * GetDocument() const
static SC_DLLPUBLIC ScTransferObj * GetOwnClipboard(const css::uno::Reference< css::datatransfer::XTransferable2 > &)
void SetUserList(const ScUserList &rUserList)
Collection of user-defined sort lists.
void SetOptions(const ScViewOptions &rOpt)
const ScViewOptions & GetOptions() const
const Fraction & GetZoomY() const
ScDocument & GetDocument() const
ScGridWindow * GetActiveWin()
const Fraction & GetZoomX() const
std::unique_ptr< SvxGridItem > CreateGridItem() const
const ScGridOptions & GetGridOptions() const
bool GetOption(ScViewOption eOpt) const
void SetGridOptions(const ScGridOptions &rNew)
static void HideDisabledSlot(SfxItemSet &rSet, SfxBindings &rBindings, sal_uInt16 nSlotId)
void SetDefaultTabulator(sal_uInt16 nVal)
static ErrCode CallAppBasic(const OUString &i_macroName)
void Update(sal_uInt16 nId)
void Invalidate(sal_uInt16 nId)
std::shared_ptr< SfxDialogController > & GetController()
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void DisableItem(sal_uInt16 nWhich)
std::locale GetResLocale() const
static SAL_WARN_UNUSED_RESULT SfxObjectShell * GetNext(const SfxObjectShell &rPrev, const std::function< bool(const SfxObjectShell *)> &isObjectShell=nullptr, bool bOnlyVisible=true)
static SAL_WARN_UNUSED_RESULT SfxObjectShell * GetFirst(const std::function< bool(const SfxObjectShell *)> &isObjectShell=nullptr, bool bOnlyVisible=true)
static SAL_WARN_UNUSED_RESULT SfxObjectShell * Current()
sal_uInt16 GetSlot() const
const SfxItemSet * GetArgs() const
const T * GetArg(sal_uInt16 nSlotId) const
void AppendItem(const SfxPoolItem &)
void Done(bool bRemove=false)
void PutItem(const SfxPoolItem &rItem)
SfxItemPool & GetPool() const
SfxViewShell * GetViewShell() const
static SAL_WARN_UNUSED_RESULT SfxViewFrame * Current()
vcl::Window & GetWindow() const
SfxBindings & GetBindings()
void SetChildWindow(sal_uInt16 nId, bool bVisible, bool bSetFocus=true)
static SAL_WARN_UNUSED_RESULT SfxViewFrame * GetNext(const SfxViewFrame &rPrev, const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
SfxChildWindow * GetChildWindow(sal_uInt16)
static SAL_WARN_UNUSED_RESULT SfxViewFrame * GetFirst(const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
SfxInPlaceClient * GetUIActiveClient() const
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
static SAL_WARN_UNUSED_RESULT SfxViewShell * Current()
vcl::Window * GetWindow() const
TextNumerals GetCTLTextNumerals() const
void GetOptions(SvtLinguOptions &rOptions) const
bool SetProperty(std::u16string_view rPropertyName, const css::uno::Any &rValue)
const SvxFieldData * GetField() const
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rAttrSet)
void SetTimeout(sal_uInt64 nTimeoutMs)
sal_uInt64 GetTimeout() const
::OutputDevice const * GetOutDev() const
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
css::uno::Reference< css::datatransfer::clipboard::XClipboard > GetClipboard()
#define DBG_UNHANDLED_EXCEPTION(...)
@ StartListening
If set, cloned formula cells will start to listen to the document.
#define LANGUAGE_ARABIC_SAUDI_ARABIA
#define LANGUAGE_ENGLISH_US
#define LINK(Instance, Class, Member)
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
static constexpr auto Items
#define SFX_OBJECTBAR_APPLICATION
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< SvxLanguageItem > ATTR_CTL_FONT_LANGUAGE(120)
constexpr TypedWhichId< SvxLanguageItem > ATTR_CJK_FONT_LANGUAGE(115)
static SfxChildWindow * lcl_GetChildWinFromAnyView(sal_uInt16 nId)
void global_InitAppOptions()
static SfxChildWindow * lcl_GetChildWinFromCurrentView(sal_uInt16 nId)
static sal_uInt16 nIdleCount
IMPL_LINK(ScModule, CalcFieldValueHdl, EditFieldInfo *, pInfo, void)
static void lcl_CheckNeedsRepaint(const ScDocShell *pDocShell)
IMPL_LINK_NOARG(ScModule, IdleHandler, Timer *, void)
static void lcl_MarkedTabs(const ScMarkData &rMark, SCTAB &rStartTab, SCTAB &rEndTab)
constexpr OUStringLiteral LINGUPROP_AUTOSPELL
#define SFX_IMPL_INTERFACE(Class, SuperClass)
Configuration options for formula interpreter.
void MergeDocumentSpecific(const ScCalcConfig &r)
LanguageType nDefaultLanguage
LanguageType nDefaultLanguage_CTL
LanguageType nDefaultLanguage_CJK
std::vector< SfxStyleFamilyItem > SfxStyleFamilies