29 #include <string_view>
30 #include <unordered_map>
31 #include <unordered_set>
50 void addFileId(sal_uInt16 nFileId);
51 void removeFileId(sal_uInt16 nFileId);
65 std::unique_ptr<std::vector<ScTokenRef> >
mpTokens;
79 std::unique_ptr<::std::vector<ScTokenRef>> pTokens );
83 const OUString&
GetName()
const {
return maName;}
85 void SetUno(
const css::uno::Reference< css::chart::XChartDataChangeEventListener >& rListener,
86 const css::uno::Reference< css::chart::XChartData >& rSource );
87 css::uno::Reference< css::chart::XChartDataChangeEventListener > GetUnoListener()
const;
88 css::uno::Reference< css::chart::XChartData > GetUnoSource()
const;
90 bool IsUno()
const {
return (pUnoData !=
nullptr); }
93 void StartListeningTo();
94 void EndListeningTo();
105 void UpdateChartIntersecting(
const ScRange& rRange );
107 ExternalRefListener* GetExtRefListener();
108 void SetUpdateQueue();
119 virtual void notify() = 0;
133 SC_CLCUPDATE_MODIFIED
134 } meModifiedDuringUpdate;
155 void StartAllListeners();
160 bool hasListeners()
const;
162 void removeByName(
const OUString& rName);
172 OUString getUniqueName(std::u16string_view rPrefix)
const;
174 void ChangeListening(
const OUString& rName,
178 void FreeUno(
const css::uno::Reference< css::chart::XChartDataChangeEventListener >& rListener,
179 const css::uno::Reference< css::chart::XChartData >& rSource );
181 void UpdateDirtyCharts();
184 bool bSetChartRangeLists );
186 void SetRangeDirty(
const ScRange& rRange );
188 void UpdateChartsContainingTab(
SCTAB nTab );
200 void StartListeningHiddenRange(
const ScRange& rRange,
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)
bool operator!=(const XclExpString &rLeft, const XclExpString &rRight)
std::unordered_set< OUString > StringSetType
StringSetType & getNonOleObjectNames()
ListenersType m_Listeners
std::unique_ptr< ExternalRefListener > mpExtRefListener
const ListenersType & getListeners() const
StringSetType maNonOleObjectNames
std::unordered_multimap< ScChartHiddenRangeListener *, ScRange > maHiddenListeners
std::unordered_set< sal_uInt16 > & getAllFileIds()
std::unique_ptr< ScChartUnoData > pUnoData
std::unique_ptr< std::vector< ScTokenRef > > mpTokens
Base class for objects that need to listen to link updates.
const SvtListener & operator=(const SvtListener &)=delete
const OUString & GetName() const
std::map< OUString, std::unique_ptr< ScChartListener > > ListenersType
ListenersType & getListeners()
virtual void Notify(const SfxHint &rHint)
std::unordered_set< sal_uInt16 > maFileIds
#define DECL_DLLPRIVATE_LINK(Member, ArgType, RetType)
ScChartListener & mrParent