LibreOffice Module sc (master)  1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ScBroadcastAreaSlotMachine Class Reference

BroadcastAreaSlots and their management, once per document. More...

#include <bcaslot.hxx>

Collaboration diagram for ScBroadcastAreaSlotMachine:
[legend]

Classes

class  TableSlots
 Slot offset arrangement of columns and rows, once per sheet. More...
 

Public Member Functions

 ScBroadcastAreaSlotMachine (ScDocument *pDoc)
 
 ~ScBroadcastAreaSlotMachine ()
 
void StartListeningArea (const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
 
void EndListeningArea (const ScRange &rRange, bool bGroupListening, SvtListener *pListener)
 
bool AreaBroadcast (const ScRange &rRange, SfxHintId nHint)
 
bool AreaBroadcast (const ScHint &rHint) const
 
void DelBroadcastAreasInRange (const ScRange &rRange)
 
void UpdateBroadcastAreas (UpdateRefMode eUpdateRefMode, const ScRange &rRange, SCCOL nDx, SCROW nDy, SCTAB nDz)
 
void EnterBulkBroadcast ()
 
void LeaveBulkBroadcast (SfxHintId nHintId)
 
bool InsertBulkArea (const ScBroadcastArea *p)
 
void InsertBulkGroupArea (ScBroadcastArea *pArea, const ScRange &rRange)
 
void RemoveBulkGroupArea (ScBroadcastArea *pArea)
 
bool BulkBroadcastGroupAreas (SfxHintId nHintId)
 
size_t RemoveBulkArea (const ScBroadcastArea *p)
 
void SetUpdateChain (ScBroadcastArea *p)
 
ScBroadcastAreaGetEOUpdateChain () const
 
void SetEOUpdateChain (ScBroadcastArea *p)
 
bool IsInBulkBroadcast () const
 
void PushAreaToBeErased (ScBroadcastAreaSlot *pSlot, ScBroadcastAreas::iterator &rIter)
 
void FinallyEraseAreas (ScBroadcastAreaSlot *pSlot)
 
std::vector< sc::AreaListenerGetAllListeners (const ScRange &rRange, sc::AreaOverlapType eType, sc::ListenerGroupType eGroup=sc::ListenerGroupType::Both)
 

Private Types

typedef std::map< ScBroadcastArea *, std::unique_ptr< sc::ColumnSpanSet > > BulkGroupAreasType
 
typedef ::std::map< SCTAB, std::unique_ptr< TableSlots > > TableSlotsMap
 
typedef ::std::vector< ::std::pair< ScBroadcastAreaSlot *, ScBroadcastAreas::iterator > > AreasToBeErased
 

Private Member Functions

SCSIZE ComputeSlotOffset (const ScAddress &rAddress) const
 
void ComputeAreaPoints (const ScRange &rRange, SCSIZE &nStart, SCSIZE &nEnd, SCSIZE &nRowBreak) const
 

Private Attributes

ScBroadcastAreasBulk aBulkBroadcastAreas
 
BulkGroupAreasType m_BulkGroupAreas
 
TableSlotsMap aTableSlotsMap
 
AreasToBeErased maAreasToBeErased
 
std::unique_ptr< SvtBroadcasterpBCAlways
 
ScDocumentpDoc
 
ScBroadcastAreapUpdateChain
 
ScBroadcastAreapEOUpdateChain
 
sal_uInt32 nInBulkBroadcast
 

Detailed Description

BroadcastAreaSlots and their management, once per document.

Definition at line 246 of file bcaslot.hxx.

Member Typedef Documentation

typedef ::std::vector< ::std::pair< ScBroadcastAreaSlot*, ScBroadcastAreas::iterator > > ScBroadcastAreaSlotMachine::AreasToBeErased
private

Definition at line 286 of file bcaslot.hxx.

Definition at line 249 of file bcaslot.hxx.

typedef ::std::map< SCTAB, std::unique_ptr<TableSlots> > ScBroadcastAreaSlotMachine::TableSlotsMap
private

Definition at line 284 of file bcaslot.hxx.

Constructor & Destructor Documentation

ScBroadcastAreaSlotMachine::ScBroadcastAreaSlotMachine ( ScDocument pDoc)

Definition at line 625 of file bcaslot.cxx.

ScBroadcastAreaSlotMachine::~ScBroadcastAreaSlotMachine ( )

Definition at line 634 of file bcaslot.cxx.

References aTableSlotsMap, maAreasToBeErased, pBCAlways, and SAL_WARN_IF.

Member Function Documentation

bool ScBroadcastAreaSlotMachine::AreaBroadcast ( const ScRange rRange,
SfxHintId  nHint 
)
bool ScBroadcastAreaSlotMachine::AreaBroadcast ( const ScHint rHint) const
bool ScBroadcastAreaSlotMachine::BulkBroadcastGroupAreas ( SfxHintId  nHintId)
void ScBroadcastAreaSlotMachine::ComputeAreaPoints ( const ScRange rRange,
SCSIZE nStart,
SCSIZE nEnd,
SCSIZE nRowBreak 
) const
private
SCSIZE ScBroadcastAreaSlotMachine::ComputeSlotOffset ( const ScAddress rAddress) const
inlineprivate
void ScBroadcastAreaSlotMachine::DelBroadcastAreasInRange ( const ScRange rRange)
void ScBroadcastAreaSlotMachine::EndListeningArea ( const ScRange rRange,
bool  bGroupListening,
SvtListener pListener 
)
void ScBroadcastAreaSlotMachine::EnterBulkBroadcast ( )

Definition at line 1055 of file bcaslot.cxx.

References nInBulkBroadcast.

Referenced by ScBulkBroadcast::ScBulkBroadcast().

void ScBroadcastAreaSlotMachine::FinallyEraseAreas ( ScBroadcastAreaSlot pSlot)
std::vector< sc::AreaListener > ScBroadcastAreaSlotMachine::GetAllListeners ( const ScRange rRange,
sc::AreaOverlapType  eType,
sc::ListenerGroupType  eGroup = sc::ListenerGroupType::Both 
)
ScBroadcastArea* ScBroadcastAreaSlotMachine::GetEOUpdateChain ( ) const
inline

Definition at line 331 of file bcaslot.hxx.

References pEOUpdateChain.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

bool ScBroadcastAreaSlotMachine::InsertBulkArea ( const ScBroadcastArea p)

Definition at line 1077 of file bcaslot.cxx.

References aBulkBroadcastAreas.

Referenced by ScBroadcastAreaSlot::AreaBroadcast().

void ScBroadcastAreaSlotMachine::InsertBulkGroupArea ( ScBroadcastArea pArea,
const ScRange rRange 
)

Definition at line 1082 of file bcaslot.cxx.

References assert(), m_BulkGroupAreas, pDoc, and sc::ColumnSpanSet::set().

Referenced by ScBroadcastAreaSlot::AreaBroadcast().

bool ScBroadcastAreaSlotMachine::IsInBulkBroadcast ( ) const
inline
void ScBroadcastAreaSlotMachine::LeaveBulkBroadcast ( SfxHintId  nHintId)
void ScBroadcastAreaSlotMachine::PushAreaToBeErased ( ScBroadcastAreaSlot pSlot,
ScBroadcastAreas::iterator &  rIter 
)

Definition at line 1139 of file bcaslot.cxx.

References maAreasToBeErased.

Referenced by ScBroadcastAreaSlot::EraseArea().

size_t ScBroadcastAreaSlotMachine::RemoveBulkArea ( const ScBroadcastArea p)
Returns
: how many removed

Definition at line 1129 of file bcaslot.cxx.

References aBulkBroadcastAreas.

Referenced by ScBroadcastAreaSlot::DelBroadcastAreasInRange(), and ScBroadcastAreaSlot::UpdateRemove().

void ScBroadcastAreaSlotMachine::RemoveBulkGroupArea ( ScBroadcastArea pArea)

Definition at line 1134 of file bcaslot.cxx.

References m_BulkGroupAreas.

Referenced by ScBroadcastAreaSlot::EraseArea().

void ScBroadcastAreaSlotMachine::SetEOUpdateChain ( ScBroadcastArea p)
inline

Definition at line 332 of file bcaslot.hxx.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

void ScBroadcastAreaSlotMachine::SetUpdateChain ( ScBroadcastArea p)
inline

Definition at line 330 of file bcaslot.hxx.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

void ScBroadcastAreaSlotMachine::StartListeningArea ( const ScRange rRange,
bool  bGroupListening,
SvtListener pListener 
)
void ScBroadcastAreaSlotMachine::UpdateBroadcastAreas ( UpdateRefMode  eUpdateRefMode,
const ScRange rRange,
SCCOL  nDx,
SCROW  nDy,
SCTAB  nDz 
)

Member Data Documentation

ScBroadcastAreasBulk ScBroadcastAreaSlotMachine::aBulkBroadcastAreas
private

Definition at line 289 of file bcaslot.hxx.

Referenced by InsertBulkArea(), LeaveBulkBroadcast(), and RemoveBulkArea().

TableSlotsMap ScBroadcastAreaSlotMachine::aTableSlotsMap
private
BulkGroupAreasType ScBroadcastAreaSlotMachine::m_BulkGroupAreas
private

Definition at line 290 of file bcaslot.hxx.

Referenced by BulkBroadcastGroupAreas(), InsertBulkGroupArea(), and RemoveBulkGroupArea().

AreasToBeErased ScBroadcastAreaSlotMachine::maAreasToBeErased
private

Definition at line 292 of file bcaslot.hxx.

Referenced by FinallyEraseAreas(), PushAreaToBeErased(), and ~ScBroadcastAreaSlotMachine().

sal_uInt32 ScBroadcastAreaSlotMachine::nInBulkBroadcast
private

Definition at line 297 of file bcaslot.hxx.

Referenced by EnterBulkBroadcast(), and LeaveBulkBroadcast().

std::unique_ptr<SvtBroadcaster> ScBroadcastAreaSlotMachine::pBCAlways
private
ScDocument* ScBroadcastAreaSlotMachine::pDoc
private
ScBroadcastArea* ScBroadcastAreaSlotMachine::pEOUpdateChain
private

Definition at line 296 of file bcaslot.hxx.

Referenced by GetEOUpdateChain(), and UpdateBroadcastAreas().

ScBroadcastArea* ScBroadcastAreaSlotMachine::pUpdateChain
private

Definition at line 295 of file bcaslot.hxx.

Referenced by UpdateBroadcastAreas().


The documentation for this class was generated from the following files: