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_pMessagePool(
nullptr ),
122 m_pRefInputHandler(
nullptr ),
124 m_bIsWaterCan(
false ),
125 m_bIsInEditCommand(
false ),
126 m_bIsInExecuteDrop(
false ),
127 m_bIsInSharedDocLoading(
false ),
128 m_bIsInSharedDocSaving(
false )
146 m_aIdleTimer.SetInvokeHandler(
LINK(
this,
ScModule, IdleHandler ) );
147 m_aIdleTimer.Start();
151 SetPool( m_pMessagePool );
159 OSL_ENSURE( !
m_pSelTransfer,
"Selection Transfer object not deleted" );
187 if ( bArrows || bComments )
195 if (
auto pDocSh = dynamic_cast<ScDocShell * >(pObjSh) )
211 if (
ScTabViewShell* pViewSh = dynamic_cast<ScTabViewShell*>(pViewShell))
213 pViewSh->PaintGrid();
215 pViewSh->PaintLeft();
216 pViewSh->PaintExtras();
222 else if ( dynamic_cast<const ScPreviewShell*>( pViewShell) !=
nullptr )
237 if (
auto pDocSh = dynamic_cast<ScDocShell *>(pObjSh) )
243 pDocSh->CalcOutputFactor();
245 SCTAB nTabCount = pDocSh->GetDocument().GetTableCount();
246 for (
SCTAB nTab=0; nTab<nTabCount; nTab++)
247 pDocSh->AdjustRowHeight( 0, pDocSh->GetDocument().MaxRow(), nTab );
263 pViewSh->DigitLanguageChanged();
264 pViewSh->PaintGrid();
266 else if (
ScPreviewShell* pPreviewSh = dynamic_cast<ScPreviewShell*>(pSh))
268 ScPreview* pPreview = pPreviewSh->GetPreview();
281 if ( rHint.
GetId() == SfxHintId::Deinitializing )
326 sal_uInt16 nSlot = rReq.
GetSlot();
330 case SID_CHOOSE_DESIGN:
333 case SID_EURO_CONVERTER:
336 case SID_AUTOSPELL_CHECK:
340 if (pReqArgs && pReqArgs->
HasItem(FN_PARAM_1, &pItem))
341 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
342 else if ( pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( nSlot,
true, &pItem ) )
343 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
354 aSet.Put(
SfxBoolItem( SID_AUTOSPELL_CHECK, bSet ) );
360 case SID_ATTR_METRIC:
363 if ( pReqArgs && SfxItemState::SET == pReqArgs->
GetItemState( nSlot,
true, &pItem ) )
370 case FieldUnit::INCH:
371 case FieldUnit::PICA:
372 case FieldUnit::POINT:
390 case FID_AUTOCOMPLETE:
403 case SID_DETECTIVE_AUTO:
420 case SID_PSZ_FUNCTION:
423 auto const &
p = pReqArgs->
Get(SID_PSZ_FUNCTION);
424 OSL_ENSURE(dynamic_cast<const SfxUInt32Item*>(&
p) !=
nullptr,
"wrong Parameter");
434 pBindings->
Update( SID_TABLE_CELL );
437 pBindings->
Update( SID_PSZ_FUNCTION );
443 case SID_ATTR_LANGUAGE:
444 case SID_ATTR_CHAR_CJK_LANGUAGE:
445 case SID_ATTR_CHAR_CTL_LANGUAGE:
457 LanguageType eOld = ( nSlot == SID_ATTR_CHAR_CJK_LANGUAGE ) ? eCjk :
458 ( ( nSlot == SID_ATTR_CHAR_CTL_LANGUAGE ) ? eCtl : eLatin );
459 if ( eNewLang != eOld )
461 if ( nSlot == SID_ATTR_CHAR_CJK_LANGUAGE )
463 else if ( nSlot == SID_ATTR_CHAR_CTL_LANGUAGE )
484 case FID_FOCUS_POSWND:
497 case SID_OPEN_XML_FILTERSETTINGS:
504 catch( css::uno::RuntimeException& )
512 OSL_FAIL(
"ScApplication: Unknown Message." );
523 for (sal_uInt16 nWhich = aIter.FirstWhich(); nWhich; nWhich = aIter.NextWhich())
534 case FID_AUTOCOMPLETE:
537 case SID_DETECTIVE_AUTO:
540 case SID_PSZ_FUNCTION:
543 case SID_ATTR_METRIC:
546 case SID_AUTOSPELL_CHECK:
549 case SID_ATTR_LANGUAGE:
599 const OUString&
rDoc,
const OUString& rTab,
const OUString& rArea )
608 ScDocument* pLocalDoc,
const OUString& rTarget,
const OUString& rText )
622 css::uno::Reference<css::datatransfer::XTransferable2> xTransferable;
630 css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard =
632 xTransferable.set(xClipboard.is() ? xClipboard->getContents() :
nullptr, css::uno::UNO_QUERY);
639 assert((!pDoc || pDoc->
IsClipboard()) &&
"Document is not clipboard, how can that be?");
696 while ((n <
LRU_MAX) && n<nLRUFuncCount)
698 if (!bFound && (pLRUListIds[n]== nFIndex))
701 aIdxList[n ] = pLRUListIds[n];
703 aIdxList[n+1] = pLRUListIds[n];
708 aIdxList[0] = nFIndex;
725 SC_MOD()->GetAppOptions();
879 OSL_ENSURE(
m_pAppCfg,
"AppOptions not initialised :-(" );
883 OSL_ENSURE(
m_pInputCfg,
"InputOptions not initialised :-(" );
892 bool bRepaint =
false;
893 bool bUpdateMarks =
false;
894 bool bUpdateRefDev =
false;
895 bool bCalcAll =
false;
896 bool bSaveAppOptions =
false;
897 bool bSaveInputOptions =
false;
898 bool bCompileErrorCells =
false;
903 if (rOptSet.
HasItem(SID_ATTR_METRIC, &pItem))
906 m_pAppCfg->SetAppMetric( static_cast<FieldUnit>(static_cast<const SfxUInt16Item*>(pItem)->
GetValue()) );
907 bSaveAppOptions =
true;
913 bSaveAppOptions =
true;
916 if (rOptSet.
HasItem(SID_SC_OPT_SYNCZOOM, &pItem))
918 m_pAppCfg->SetSynchronizeZoom( static_cast<const SfxBoolItem*>(pItem)->
GetValue() );
919 bSaveAppOptions =
true;
922 if (rOptSet.
HasItem(SID_SC_OPT_KEY_BINDING_COMPAT, &pItem))
930 bSaveAppOptions =
true;
936 if (rOptSet.
HasItem(SID_SCDEFAULTSOPTIONS, &pItem))
943 if (rOptSet.
HasItem(SID_SCFORMULAOPTIONS, &pItem))
955 bCompileErrorCells =
true;
986 if (rOptSet.
HasItem(SID_SCVIEWOPTIONS, &pItem))
998 if ( rOldOpt != rNewOpt )
1018 if ( rOptSet.
HasItem(SID_ATTR_GRID_OPTIONS,&pItem) )
1020 ScGridOptions aNewGridOpt( static_cast<const SvxGridItem&>(*pItem ));
1026 const ScGridOptions& rOldGridOpt = aNewViewOpt.GetGridOptions();
1028 if ( rOldGridOpt != aNewGridOpt )
1030 aNewViewOpt.SetGridOptions( aNewGridOpt );
1049 if ( rOptSet.
HasItem(SID_SCDOCOPTIONS,&pItem) )
1057 bRepaint = ( bRepaint || ( rOldOpt != rNewOpt ) );
1058 bCalcAll = bRepaint &&
1078 if ( rOptSet.
HasItem(SID_ATTR_DEFTABSTOP,&pItem) )
1097 if ( rOptSet.
HasItem(SID_AUTOSPELL_CHECK,&pItem) )
1117 if ( bOldAutoSpell != bDoAutoSpell )
1122 if ( pInputHandler )
1128 pBindings->
Invalidate( SID_AUTOSPELL_CHECK );
1132 if ( rOptSet.
HasItem(SID_SC_INPUT_SELECTIONPOS,&pItem) )
1135 bSaveInputOptions =
true;
1137 if ( rOptSet.
HasItem(SID_SC_INPUT_SELECTION,&pItem) )
1140 bSaveInputOptions =
true;
1142 if ( rOptSet.
HasItem(SID_SC_INPUT_EDITMODE,&pItem) )
1145 bSaveInputOptions =
true;
1147 if ( rOptSet.
HasItem(SID_SC_INPUT_FMT_EXPAND,&pItem) )
1150 bSaveInputOptions =
true;
1152 if ( rOptSet.
HasItem(SID_SC_INPUT_RANGEFINDER,&pItem) )
1155 bSaveInputOptions =
true;
1157 if ( rOptSet.
HasItem(SID_SC_INPUT_REF_EXPAND,&pItem) )
1160 bSaveInputOptions =
true;
1162 if (rOptSet.
HasItem(SID_SC_OPT_SORT_REF_UPDATE, &pItem))
1165 bSaveInputOptions =
true;
1168 if ( rOptSet.
HasItem(SID_SC_INPUT_MARK_HEADER,&pItem) )
1171 bSaveInputOptions =
true;
1172 bUpdateMarks =
true;
1174 if ( rOptSet.
HasItem(SID_SC_INPUT_TEXTWYSIWYG,&pItem) )
1180 bSaveInputOptions =
true;
1181 bUpdateRefDev =
true;
1184 if( rOptSet.
HasItem( SID_SC_INPUT_REPLCELLSWARN, &pItem ) )
1187 bSaveInputOptions =
true;
1190 if( rOptSet.
HasItem( SID_SC_INPUT_LEGACY_CELL_SELECTION, &pItem ) )
1192 m_pInputCfg->SetLegacyCellSelection( static_cast<const SfxBoolItem*>(pItem)->
GetValue() );
1193 bSaveInputOptions =
true;
1196 if( rOptSet.
HasItem( SID_SC_INPUT_ENTER_PASTE_MODE, &pItem ) )
1199 bSaveInputOptions =
true;
1203 if ( rOptSet.
HasItem(SID_SCPRINTOPTIONS,&pItem) )
1212 if ( bSaveAppOptions )
1215 if ( bSaveInputOptions )
1219 if (pDoc && bCompileErrorCells)
1228 if ( pDoc && bCalcAll )
1240 if ( pViewSh && bUpdateMarks )
1244 if ( pViewSh && bRepaint )
1260 if ( !bUpdateRefDev )
1267 if (
auto pOneDocSh = dynamic_cast<ScDocShell *>(pObjSh) )
1269 pOneDocSh->CalcOutputFactor();
1270 SCTAB nTabCount = pOneDocSh->GetDocument().GetTableCount();
1271 for (
SCTAB nTab=0; nTab<nTabCount; nTab++)
1316 pViewSh = pCurViewSh;
1323 OSL_ENSURE( pHdl || !pViewSh,
"GetInputHdl: no InputHandler found!" );
1331 if ( pShell && pHdl )
1339 pHdl->
SetMode(eMode, pInitText);
1357 return pHdl && pHdl->
KeyInput( rKEvt, bStartEdit );
1499 if (
ScTabViewShell* pTabViewSh = dynamic_cast<ScTabViewShell*>(pViewSh))
1512 pSfxApp->Broadcast(
SfxHint( SfxHintId::ScRefModeChanged ) );
1550 bool bIsModal =
false;
1561 bIsModal = pChildWnd->
IsVisible() && pRefDlg &&
1580 bool bLocked =
false;
1610 bool bIsOpen =
false;
1626 bool bIsFormula =
false;
1682 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1715 OSL_FAIL(
"SetReference without receiver");
1730 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1770 OSL_ENSURE( pChildWnd,
"NoChildWin" );
1814 m_aIdleTimer.Start();
1828 bMore = bLinks || bWidth;
1837 sal_uInt64 nOldTime = m_aIdleTimer.GetTimeout();
1838 sal_uInt64 nNewTime = nOldTime;
1856 if ( nNewTime != nOldTime )
1857 m_aIdleTimer.SetTimeout( nNewTime );
1860 m_aIdleTimer.Start();
1868 std::unique_ptr<SfxItemSet> pRet;
1869 if(SID_SC_EDITOPTIONS == nId)
1871 pRet = std::make_unique<SfxItemSet>(
1877 SID_ATTR_GRID_OPTIONS, SID_ATTR_GRID_OPTIONS,
1878 SID_ATTR_METRIC, SID_ATTR_METRIC,
1879 SID_ATTR_DEFTABSTOP, SID_ATTR_DEFTABSTOP,
1881 SID_SC_INPUT_LEGACY_CELL_SELECTION, SID_SC_OPT_SORT_REF_UPDATE,
1883 SID_SCFORMULAOPTIONS, SID_SCDEFAULTSOPTIONS,
1885 SID_SCVIEWOPTIONS, SID_SCDOCOPTIONS,
1887 SID_SC_INPUT_ENTER_PASTE_MODE, SID_SC_INPUT_ENTER_PASTE_MODE,
1889 SID_SCPRINTOPTIONS, SID_SCPRINTOPTIONS,
1891 SID_SC_INPUT_SELECTION, SID_SC_INPUT_MARK_HEADER,
1892 SID_SC_INPUT_TEXTWYSIWYG, SID_SC_INPUT_TEXTWYSIWYG,
1893 SID_SC_INPUT_REPLCELLSWARN, SID_SC_INPUT_REPLCELLSWARN,
1895 SID_SC_OPT_SYNCZOOM, SID_SC_OPT_KEY_BINDING_COMPAT>{});
1915 sal::static_int_cast<sal_uInt16>(rAppOpt.GetAppMetric()) ) );
1920 pRet->Put(
ScTpCalcItem( SID_SCDOCOPTIONS, aCalcOpt ) );
1924 pRet->Put(
SfxBoolItem( SID_SC_OPT_SYNCZOOM, rAppOpt.GetSynchronizeZoom() ) );
1945 pRet->Put(
SfxBoolItem( SID_SC_INPUT_REPLCELLSWARN,
1947 pRet->Put(
SfxBoolItem( SID_SC_INPUT_LEGACY_CELL_SELECTION,
1949 pRet->Put(
SfxBoolItem( SID_SC_INPUT_ENTER_PASTE_MODE,
1956 std::unique_ptr<SvxGridItem> pSvxGridItem = aViewOpt.
CreateGridItem();
1957 pRet->Put( *pSvxGridItem );
1958 pSvxGridItem.reset();
1969 rAppOpt.GetKeyBindingType() ) );
1989 if(SID_SC_EDITOPTIONS == nId)
1997 std::unique_ptr<SfxTabPage> xRet;
2001 case SID_SC_TP_LAYOUT:
2004 if (ScTpLayoutOptionsCreate)
2005 xRet = (*ScTpLayoutOptionsCreate)(pPage, pController, &rSet);
2008 case SID_SC_TP_CONTENT:
2011 if (ScTpContentOptionsCreate)
2012 xRet = (*ScTpContentOptionsCreate)(pPage, pController, &rSet);
2015 case SID_SC_TP_GRID:
2018 case SID_SC_TP_USERLISTS:
2021 if (ScTpUserListsCreate)
2022 xRet = (*ScTpUserListsCreate)(pPage, pController, &rSet);
2025 case SID_SC_TP_CALC:
2028 if (ScTpCalcOptionsCreate)
2029 xRet = (*ScTpCalcOptionsCreate)(pPage, pController, &rSet);
2032 case SID_SC_TP_FORMULA:
2035 if (ScTpFormulaOptionsCreate)
2036 xRet = (*ScTpFormulaOptionsCreate)(pPage, pController, &rSet);
2039 case SID_SC_TP_COMPATIBILITY:
2042 if (ScTpCompatOptionsCreate)
2043 xRet = (*ScTpCompatOptionsCreate)(pPage, pController, &rSet);
2046 case SID_SC_TP_CHANGES:
2049 if (ScRedlineOptionsTabPageCreate)
2050 xRet =(*ScRedlineOptionsTabPageCreate)(pPage, pController, &rSet);
2053 case RID_SC_TP_PRINT:
2056 if (ScTpPrintOptionsCreate)
2057 xRet = (*ScTpPrintOptionsCreate)(pPage, pController, &rSet);
2060 case RID_SC_TP_DEFAULTS:
2063 if (ScTpDefaultsOptionsCreate)
2064 xRet = (*ScTpDefaultsOptionsCreate)(pPage, pController, &rSet);
2069 OSL_ENSURE( xRet,
"ScModule::CreateTabPage(): no valid ID for TabPage!" );
2083 if (
const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField))
2086 const OUString&
aURL = pURLField->GetURL();
2088 switch ( pURLField->GetFormat() )
2090 case SvxURLFormat::AppDefault:
2091 case SvxURLFormat::Repr:
2093 pInfo->SetRepresentation( pURLField->GetRepresentation() );
2097 case SvxURLFormat::Url:
2099 pInfo->SetRepresentation( aURL );
2106 pInfo->SetTextColor( GetColorConfig().GetColorValue(eEntry).nColor );
2110 OSL_FAIL(
"Unknown Field");
2111 pInfo->SetRepresentation(OUString(
'?'));
2119 if (std::find_if(rlRefWindow.begin(), rlRefWindow.end(),
2120 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2122 return rCandidate.first.get() == rWnd.get();
2123 }) == rlRefWindow.end())
2125 rlRefWindow.emplace_back(rWnd, pWndAncestor);
2136 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2138 auto i = std::find_if(rlRefWindow.begin(), rlRefWindow.end(),
2139 [rWnd](
const std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>& rCandidate)
2141 return rCandidate.first.get() == rWnd.get();
2144 if(
i == rlRefWindow.end() )
2147 rlRefWindow.erase(
i );
2149 if( rlRefWindow.empty() )
2163 std::vector<std::pair<std::shared_ptr<SfxDialogController>,
weld::Window*>> & rlRefWindow = iSlot->second;
2165 for (
auto const& refWindow : rlRefWindow)
2166 if ( refWindow.second == pWndAncestor )
2167 return refWindow.first;
2174 #define LINGUPROP_AUTOSPELL "IsSpellAuto"
2206 bool bHasLang =
false;
2213 catch( uno::Exception& )
2215 OSL_FAIL(
"Error in Thesaurus");
2226 ScResId(STR_STYLE_FAMILY_CELL),
2227 BMP_STYLES_FAMILY_CELL,
2228 RID_CELLSTYLEFAMILY,
SC_MOD()->GetResLocale()));
2231 ScResId(STR_STYLE_FAMILY_PAGE),
2232 BMP_STYLES_FAMILY_PAGE,
2233 RID_PAGESTYLEFAMILY,
SC_MOD()->GetResLocale()));
2235 return pStyleFamilies;
2240 mxAutomationApplicationEventsCaller = xCaller;
2245 if (mxAutomationApplicationEventsCaller.is())
2246 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)
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)
#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
#define LINGUPROP_AUTOSPELL
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()
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()
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()
SC_DLLPUBLIC void InputEnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL)
void SetReference(const ScRange &rRef, ScDocument &rDoc, const ScMarkData *pMarkData=nullptr)
ScMessagePool * m_pMessagePool
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)
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()
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
virtual void ConfigurationChanged(utl::ConfigurationBroadcaster *, ConfigurationHints) override
SCTAB GetSelectCount() const
void SetViewOptions(const ScViewOptions &rOpt)
void InsertEntryToLRUList(sal_uInt16 nFIndex)
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()
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)
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
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 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
OUString ScResId(const char *pId)
bool GetOption(ScViewOption eOpt) const
ScGridWindow * GetActiveWin()
static SC_DLLPUBLIC ScUserList * GetUserList()
void SetGridOptions(const ScGridOptions &rNew)
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.
virtual std::unique_ptr< SfxItemSet > CreateItemSet(sal_uInt16 nId) override
Virtual methods for the OptionsDialog.
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.
bool QueryUrl(const INetURLObject &rUrl)
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
SC_DLLPUBLIC void PutInOrder()
bool IsFormulaWildcardsEnabled() const
static void Free(SfxItemPool *pPool)
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()
virtual std::unique_ptr< SfxStyleFamilies > CreateStyleFamilies() override
SCTAB GetFirstSelected() const
LanguageType nDefaultLanguage
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
void InputChanged(const EditView *pView)
SCTAB GetLastSelected() 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 > &)
bool SetProperty(const OUString &rPropertyName, const css::uno::Any &rValue)
bool HasItem(sal_uInt16 nWhich, const SfxPoolItem **ppItem=nullptr) const
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 UpdateAnchorHandles()
void SetSelectionTransfer(ScSelectionTransferObj *pNew)
sal_uInt32 GetValue() const
bool IsFormulaRegexEnabled() const
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 &)
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.
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)
void SetAppMetric(FieldUnit eUnit)