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

struct  ScSlotData
 
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)
 
void CollectBroadcasterState (sc::BroadcasterState &rState) const
 

Private Types

typedef std::map< ScBroadcastArea *, sc::ColumnSpanSetBulkGroupAreasType
 
typedef ::std::map< SCTAB, TableSlotsTableSlotsMap
 
typedef ::std::vector< ::std::pair< ScBroadcastAreaSlot *, ScBroadcastAreas::iterator > > AreasToBeErased
 
typedef ::std::vector< ScSlotDataScSlotDistribution
 

Private Member Functions

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

Private Attributes

ScSlotDistribution maSlotDistribution
 
SCSIZE mnBcaSlotsCol
 
SCSIZE mnBcaSlots
 
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 248 of file bcaslot.hxx.

Member Typedef Documentation

◆ AreasToBeErased

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

Definition at line 283 of file bcaslot.hxx.

◆ BulkGroupAreasType

Definition at line 251 of file bcaslot.hxx.

◆ ScSlotDistribution

Definition at line 307 of file bcaslot.hxx.

◆ TableSlotsMap

Definition at line 281 of file bcaslot.hxx.

Constructor & Destructor Documentation

◆ ScBroadcastAreaSlotMachine()

ScBroadcastAreaSlotMachine::ScBroadcastAreaSlotMachine ( ScDocument pDoc)

Definition at line 555 of file bcaslot.cxx.

References DoChecks(), maSlotDistribution, mnBcaSlots, and mnBcaSlotsCol.

◆ ~ScBroadcastAreaSlotMachine()

ScBroadcastAreaSlotMachine::~ScBroadcastAreaSlotMachine ( )

Definition at line 610 of file bcaslot.cxx.

References aTableSlotsMap, maAreasToBeErased, pBCAlways, and SAL_WARN_IF.

Member Function Documentation

◆ AreaBroadcast() [1/2]

bool ScBroadcastAreaSlotMachine::AreaBroadcast ( const ScHint rHint) const

◆ AreaBroadcast() [2/2]

bool ScBroadcastAreaSlotMachine::AreaBroadcast ( const ScRange rRange,
SfxHintId  nHint 
)

◆ BulkBroadcastGroupAreas()

bool ScBroadcastAreaSlotMachine::BulkBroadcastGroupAreas ( SfxHintId  nHintId)

◆ CollectBroadcasterState()

void ScBroadcastAreaSlotMachine::CollectBroadcasterState ( sc::BroadcasterState rState) const

◆ ComputeAreaPoints()

void ScBroadcastAreaSlotMachine::ComputeAreaPoints ( const ScRange rRange,
SCSIZE nStart,
SCSIZE nEnd,
SCSIZE nRowBreak 
) const
private

◆ ComputeSlotOffset()

SCSIZE ScBroadcastAreaSlotMachine::ComputeSlotOffset ( const ScAddress rAddress) const
inlineprivate

◆ DelBroadcastAreasInRange()

void ScBroadcastAreaSlotMachine::DelBroadcastAreasInRange ( const ScRange rRange)

◆ DoChecks()

void ScBroadcastAreaSlotMachine::DoChecks ( )
private

◆ EndListeningArea()

void ScBroadcastAreaSlotMachine::EndListeningArea ( const ScRange rRange,
bool  bGroupListening,
SvtListener pListener 
)

◆ EnterBulkBroadcast()

void ScBroadcastAreaSlotMachine::EnterBulkBroadcast ( )

Definition at line 1135 of file bcaslot.cxx.

References nInBulkBroadcast.

Referenced by ScBulkBroadcast::ScBulkBroadcast().

◆ FinallyEraseAreas()

void ScBroadcastAreaSlotMachine::FinallyEraseAreas ( ScBroadcastAreaSlot pSlot)

◆ GetAllListeners()

std::vector< sc::AreaListener > ScBroadcastAreaSlotMachine::GetAllListeners ( const ScRange rRange,
sc::AreaOverlapType  eType,
sc::ListenerGroupType  eGroup = sc::ListenerGroupType::Both 
)

◆ GetEOUpdateChain()

ScBroadcastArea * ScBroadcastAreaSlotMachine::GetEOUpdateChain ( ) const
inline

Definition at line 356 of file bcaslot.hxx.

References pEOUpdateChain.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

◆ InsertBulkArea()

bool ScBroadcastAreaSlotMachine::InsertBulkArea ( const ScBroadcastArea p)

Definition at line 1157 of file bcaslot.cxx.

References aBulkBroadcastAreas.

Referenced by ScBroadcastAreaSlot::AreaBroadcast().

◆ InsertBulkGroupArea()

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

Definition at line 1162 of file bcaslot.cxx.

References m_BulkGroupAreas, pDoc, and rSet.

Referenced by ScBroadcastAreaSlot::AreaBroadcast().

◆ IsInBulkBroadcast()

bool ScBroadcastAreaSlotMachine::IsInBulkBroadcast ( ) const
inline

◆ LeaveBulkBroadcast()

void ScBroadcastAreaSlotMachine::LeaveBulkBroadcast ( SfxHintId  nHintId)

◆ PushAreaToBeErased()

void ScBroadcastAreaSlotMachine::PushAreaToBeErased ( ScBroadcastAreaSlot pSlot,
ScBroadcastAreas::iterator &  rIter 
)

Definition at line 1216 of file bcaslot.cxx.

References maAreasToBeErased.

Referenced by ScBroadcastAreaSlot::EraseArea().

◆ RemoveBulkArea()

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

Definition at line 1206 of file bcaslot.cxx.

References aBulkBroadcastAreas.

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

◆ RemoveBulkGroupArea()

void ScBroadcastAreaSlotMachine::RemoveBulkGroupArea ( ScBroadcastArea pArea)

Definition at line 1211 of file bcaslot.cxx.

References m_BulkGroupAreas.

Referenced by ScBroadcastAreaSlot::EraseArea().

◆ SetEOUpdateChain()

void ScBroadcastAreaSlotMachine::SetEOUpdateChain ( ScBroadcastArea p)
inline

Definition at line 357 of file bcaslot.hxx.

References p, and pEOUpdateChain.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

◆ SetUpdateChain()

void ScBroadcastAreaSlotMachine::SetUpdateChain ( ScBroadcastArea p)
inline

Definition at line 355 of file bcaslot.hxx.

References p, and pUpdateChain.

Referenced by ScBroadcastAreaSlot::UpdateRemove().

◆ StartListeningArea()

void ScBroadcastAreaSlotMachine::StartListeningArea ( const ScRange rRange,
bool  bGroupListening,
SvtListener pListener 
)

◆ UpdateBroadcastAreas()

void ScBroadcastAreaSlotMachine::UpdateBroadcastAreas ( UpdateRefMode  eUpdateRefMode,
const ScRange rRange,
SCCOL  nDx,
SCROW  nDy,
SCTAB  nDz 
)

Member Data Documentation

◆ aBulkBroadcastAreas

ScBroadcastAreasBulk ScBroadcastAreaSlotMachine::aBulkBroadcastAreas
private

Definition at line 311 of file bcaslot.hxx.

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

◆ aTableSlotsMap

TableSlotsMap ScBroadcastAreaSlotMachine::aTableSlotsMap
private

◆ m_BulkGroupAreas

BulkGroupAreasType ScBroadcastAreaSlotMachine::m_BulkGroupAreas
private

Definition at line 312 of file bcaslot.hxx.

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

◆ maAreasToBeErased

AreasToBeErased ScBroadcastAreaSlotMachine::maAreasToBeErased
private

Definition at line 314 of file bcaslot.hxx.

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

◆ maSlotDistribution

ScSlotDistribution ScBroadcastAreaSlotMachine::maSlotDistribution
private

Definition at line 308 of file bcaslot.hxx.

Referenced by ComputeSlotOffset(), DoChecks(), and ScBroadcastAreaSlotMachine().

◆ mnBcaSlots

SCSIZE ScBroadcastAreaSlotMachine::mnBcaSlots
private

◆ mnBcaSlotsCol

SCSIZE ScBroadcastAreaSlotMachine::mnBcaSlotsCol
private

◆ nInBulkBroadcast

sal_uInt32 ScBroadcastAreaSlotMachine::nInBulkBroadcast
private

Definition at line 319 of file bcaslot.hxx.

Referenced by EnterBulkBroadcast(), IsInBulkBroadcast(), and LeaveBulkBroadcast().

◆ pBCAlways

std::unique_ptr<SvtBroadcaster> ScBroadcastAreaSlotMachine::pBCAlways
private

◆ pDoc

ScDocument* ScBroadcastAreaSlotMachine::pDoc
private

◆ pEOUpdateChain

ScBroadcastArea* ScBroadcastAreaSlotMachine::pEOUpdateChain
private

Definition at line 318 of file bcaslot.hxx.

Referenced by GetEOUpdateChain(), SetEOUpdateChain(), and UpdateBroadcastAreas().

◆ pUpdateChain

ScBroadcastArea* ScBroadcastAreaSlotMachine::pUpdateChain
private

Definition at line 317 of file bcaslot.hxx.

Referenced by SetUpdateChain(), and UpdateBroadcastAreas().


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