LibreOffice Module sc (master) 1
|
BroadcastAreaSlots and their management, once per document. More...
#include <bcaslot.hxx>
Classes | |
struct | ScSlotData |
class | TableSlots |
Slot offset arrangement of columns and rows, once per sheet. More... | |
Private Types | |
typedef std::map< ScBroadcastArea *, sc::ColumnSpanSet > | BulkGroupAreasType |
typedef ::std::map< SCTAB, TableSlots > | TableSlotsMap |
typedef ::std::vector< ::std::pair< ScBroadcastAreaSlot *, ScBroadcastAreas::iterator > > | AreasToBeErased |
typedef ::std::vector< ScSlotData > | ScSlotDistribution |
Private Member Functions | |
SCSIZE | ComputeSlotOffset (const ScAddress &rAddress) const |
void | ComputeAreaPoints (const ScRange &rRange, SCSIZE &nStart, SCSIZE &nEnd, SCSIZE &nRowBreak) const |
void | DoChecks () |
BroadcastAreaSlots and their management, once per document.
Definition at line 248 of file bcaslot.hxx.
|
private |
Definition at line 283 of file bcaslot.hxx.
|
private |
Definition at line 251 of file bcaslot.hxx.
|
private |
Definition at line 307 of file bcaslot.hxx.
|
private |
Definition at line 281 of file bcaslot.hxx.
ScBroadcastAreaSlotMachine::ScBroadcastAreaSlotMachine | ( | ScDocument * | pDoc | ) |
Definition at line 555 of file bcaslot.cxx.
References DoChecks(), maSlotDistribution, mnBcaSlots, and mnBcaSlotsCol.
ScBroadcastAreaSlotMachine::~ScBroadcastAreaSlotMachine | ( | ) |
Definition at line 610 of file bcaslot.cxx.
References aTableSlotsMap, maAreasToBeErased, pBCAlways, and SAL_WARN_IF.
bool ScBroadcastAreaSlotMachine::AreaBroadcast | ( | const ScHint & | rHint | ) | const |
Definition at line 886 of file bcaslot.cxx.
References ScBroadcastAreaSlot::AreaBroadcast(), aTableSlotsMap, BCA_BRDCST_ALWAYS, ScAddress::Col(), ComputeAreaPoints(), ComputeNextSlot(), ScHint::GetRowCount(), ScHint::GetStartAddress(), mnBcaSlotsCol, pBCAlways, ScAddress::Row(), and ScAddress::Tab().
Definition at line 863 of file bcaslot.cxx.
References ScRange::aEnd, ScBroadcastAreaSlot::AreaBroadcast(), ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), mnBcaSlotsCol, and ScAddress::Tab().
bool ScBroadcastAreaSlotMachine::BulkBroadcastGroupAreas | ( | SfxHintId | nHintId | ) |
Definition at line 1175 of file bcaslot.cxx.
References SvtBroadcaster::Broadcast(), SvtBroadcaster::HasListeners(), m_BulkGroupAreas, pDoc, SAL_WARN, and sc::BulkDataHint::setSpans().
Referenced by LeaveBulkBroadcast().
void ScBroadcastAreaSlotMachine::CollectBroadcasterState | ( | sc::BroadcasterState & | rState | ) | const |
Definition at line 1270 of file bcaslot.cxx.
References aTableSlotsMap, ScBroadcastAreaSlot::CollectBroadcasterState(), i, and mnBcaSlots.
|
private |
Definition at line 647 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), ComputeSlotOffset(), and ScAddress::Row().
Referenced by AreaBroadcast(), DelBroadcastAreasInRange(), DoChecks(), EndListeningArea(), GetAllListeners(), StartListeningArea(), and UpdateBroadcastAreas().
|
inlineprivate |
Definition at line 619 of file bcaslot.cxx.
References ScAddress::Col(), maSlotDistribution, mnBcaSlots, mnBcaSlotsCol, pDoc, ScAddress::Row(), ScDocument::ValidCol(), and ScDocument::ValidRow().
Referenced by ComputeAreaPoints(), and DoChecks().
void ScBroadcastAreaSlotMachine::DelBroadcastAreasInRange | ( | const ScRange & | rRange | ) |
Definition at line 924 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), ScBroadcastAreaSlot::DelBroadcastAreasInRange(), mnBcaSlots, mnBcaSlotsCol, and ScAddress::Tab().
|
private |
Definition at line 683 of file bcaslot.cxx.
References compare(), ComputeAreaPoints(), ComputeNextSlot(), ComputeSlotOffset(), ScDocument::GetMaxColCount(), ScDocument::GetMaxRowCount(), i, maSlotDistribution, ScDocument::MaxCol(), ScDocument::MaxRow(), mnBcaSlots, mnBcaSlotsCol, ScBroadcastAreaSlotMachine::ScSlotData::nStartCol, ScBroadcastAreaSlotMachine::ScSlotData::nStartRow, ScBroadcastAreaSlotMachine::ScSlotData::nStopCol, ScBroadcastAreaSlotMachine::ScSlotData::nStopRow, and pDoc.
Referenced by ScBroadcastAreaSlotMachine().
void ScBroadcastAreaSlotMachine::EndListeningArea | ( | const ScRange & | rRange, |
bool | bGroupListening, | ||
SvtListener * | pListener | ||
) |
Definition at line 812 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, BCA_LISTEN_ALWAYS, ComputeAreaPoints(), ComputeNextSlot(), SvtListener::EndListening(), ScBroadcastAreaSlot::EndListeningArea(), mnBcaSlots, mnBcaSlotsCol, pBCAlways, and ScAddress::Tab().
void ScBroadcastAreaSlotMachine::EnterBulkBroadcast | ( | ) |
Definition at line 1135 of file bcaslot.cxx.
References nInBulkBroadcast.
Referenced by ScBulkBroadcast::ScBulkBroadcast().
void ScBroadcastAreaSlotMachine::FinallyEraseAreas | ( | ScBroadcastAreaSlot * | pSlot | ) |
Definition at line 1222 of file bcaslot.cxx.
References ScBroadcastAreaSlot::EraseArea(), ScBroadcastAreaSlot::IsInBroadcastIteration(), maAreasToBeErased, and SAL_WARN_IF.
Referenced by ScBroadcastAreaSlot::FinallyEraseAreas().
std::vector< sc::AreaListener > ScBroadcastAreaSlotMachine::GetAllListeners | ( | const ScRange & | rRange, |
sc::AreaOverlapType | eType, | ||
sc::ListenerGroupType | eGroup = sc::ListenerGroupType::Both |
||
) |
Definition at line 1243 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), eType, mnBcaSlotsCol, p, and ScAddress::Tab().
Referenced by ScTable::SortReorderByColumn(), and ScTable::SortReorderByRowRefUpdate().
|
inline |
Definition at line 356 of file bcaslot.hxx.
References pEOUpdateChain.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
bool ScBroadcastAreaSlotMachine::InsertBulkArea | ( | const ScBroadcastArea * | p | ) |
Definition at line 1157 of file bcaslot.cxx.
References aBulkBroadcastAreas.
Referenced by ScBroadcastAreaSlot::AreaBroadcast().
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().
|
inline |
Definition at line 358 of file bcaslot.hxx.
References nInBulkBroadcast.
Referenced by ScBroadcastAreaSlot::AreaBroadcast(), ScBroadcastAreaSlot::DelBroadcastAreasInRange(), ScBroadcastAreaSlot::EraseArea(), and ScBroadcastAreaSlot::UpdateRemove().
void ScBroadcastAreaSlotMachine::LeaveBulkBroadcast | ( | SfxHintId | nHintId | ) |
Definition at line 1140 of file bcaslot.cxx.
References aBulkBroadcastAreas, BulkBroadcastGroupAreas(), ScDocument::FinalTrackFormulas(), ScDocument::IsTrackFormulasPending(), nInBulkBroadcast, pDoc, and ScDocument::TrackFormulas().
Referenced by ScBulkBroadcast::~ScBulkBroadcast().
void ScBroadcastAreaSlotMachine::PushAreaToBeErased | ( | ScBroadcastAreaSlot * | pSlot, |
ScBroadcastAreas::iterator & | rIter | ||
) |
Definition at line 1216 of file bcaslot.cxx.
References maAreasToBeErased.
Referenced by ScBroadcastAreaSlot::EraseArea().
size_t ScBroadcastAreaSlotMachine::RemoveBulkArea | ( | const ScBroadcastArea * | p | ) |
Definition at line 1206 of file bcaslot.cxx.
References aBulkBroadcastAreas.
Referenced by ScBroadcastAreaSlot::DelBroadcastAreasInRange(), and ScBroadcastAreaSlot::UpdateRemove().
void ScBroadcastAreaSlotMachine::RemoveBulkGroupArea | ( | ScBroadcastArea * | pArea | ) |
Definition at line 1211 of file bcaslot.cxx.
References m_BulkGroupAreas.
Referenced by ScBroadcastAreaSlot::EraseArea().
|
inline |
Definition at line 357 of file bcaslot.hxx.
References p, and pEOUpdateChain.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
|
inline |
Definition at line 355 of file bcaslot.hxx.
References p, and pUpdateChain.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
void ScBroadcastAreaSlotMachine::StartListeningArea | ( | const ScRange & | rRange, |
bool | bGroupListening, | ||
SvtListener * | pListener | ||
) |
Definition at line 761 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, BCA_LISTEN_ALWAYS, ComputeAreaPoints(), ComputeNextSlot(), mnBcaSlots, mnBcaSlotsCol, pBCAlways, pDoc, SvtListener::StartListening(), and ScAddress::Tab().
void ScBroadcastAreaSlotMachine::UpdateBroadcastAreas | ( | UpdateRefMode | eUpdateRefMode, |
const ScRange & | rRange, | ||
SCCOL | nDx, | ||
SCROW | nDy, | ||
SCTAB | nDz | ||
) |
Definition at line 961 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, SvtBroadcaster::Broadcast(), ComputeAreaPoints(), ComputeNextSlot(), ScBroadcastArea::GetBroadcaster(), ScBroadcastArea::GetRange(), GetRef, ScBroadcastArea::GetRef(), ScBroadcastArea::GetUpdateChainNext(), ScRange::GetVars(), mnBcaSlots, mnBcaSlotsCol, pDoc, pEOUpdateChain, pUpdateChain, ScBroadcastArea::SetInUpdateChain(), ScBroadcastArea::SetUpdateChainNext(), ScAddress::Tab(), ScRefUpdate::Update(), ScBroadcastArea::UpdateRange(), ScBroadcastAreaSlot::UpdateRemove(), and ScBroadcastAreaSlot::UpdateRemoveArea().
|
private |
Definition at line 311 of file bcaslot.hxx.
Referenced by InsertBulkArea(), LeaveBulkBroadcast(), and RemoveBulkArea().
|
private |
Definition at line 313 of file bcaslot.hxx.
Referenced by AreaBroadcast(), CollectBroadcasterState(), DelBroadcastAreasInRange(), EndListeningArea(), GetAllListeners(), StartListeningArea(), UpdateBroadcastAreas(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 312 of file bcaslot.hxx.
Referenced by BulkBroadcastGroupAreas(), InsertBulkGroupArea(), and RemoveBulkGroupArea().
|
private |
Definition at line 314 of file bcaslot.hxx.
Referenced by FinallyEraseAreas(), PushAreaToBeErased(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 308 of file bcaslot.hxx.
Referenced by ComputeSlotOffset(), DoChecks(), and ScBroadcastAreaSlotMachine().
|
private |
Definition at line 310 of file bcaslot.hxx.
Referenced by CollectBroadcasterState(), ComputeSlotOffset(), DelBroadcastAreasInRange(), DoChecks(), EndListeningArea(), ScBroadcastAreaSlotMachine(), StartListeningArea(), UpdateBroadcastAreas(), and ScBroadcastAreaSlotMachine::TableSlots::~TableSlots().
|
private |
Definition at line 309 of file bcaslot.hxx.
Referenced by AreaBroadcast(), ComputeSlotOffset(), DelBroadcastAreasInRange(), DoChecks(), EndListeningArea(), GetAllListeners(), ScBroadcastAreaSlotMachine(), StartListeningArea(), and UpdateBroadcastAreas().
|
private |
Definition at line 319 of file bcaslot.hxx.
Referenced by EnterBulkBroadcast(), IsInBulkBroadcast(), and LeaveBulkBroadcast().
|
private |
Definition at line 315 of file bcaslot.hxx.
Referenced by AreaBroadcast(), EndListeningArea(), StartListeningArea(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 316 of file bcaslot.hxx.
Referenced by BulkBroadcastGroupAreas(), ComputeSlotOffset(), DoChecks(), InsertBulkGroupArea(), LeaveBulkBroadcast(), StartListeningArea(), and UpdateBroadcastAreas().
|
private |
Definition at line 318 of file bcaslot.hxx.
Referenced by GetEOUpdateChain(), SetEOUpdateChain(), and UpdateBroadcastAreas().
|
private |
Definition at line 317 of file bcaslot.hxx.
Referenced by SetUpdateChain(), and UpdateBroadcastAreas().