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 *, std::unique_ptr< sc::ColumnSpanSet > > | BulkGroupAreasType |
typedef ::std::map< SCTAB, std::unique_ptr< 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 |
BroadcastAreaSlots and their management, once per document.
Definition at line 246 of file bcaslot.hxx.
|
private |
Definition at line 287 of file bcaslot.hxx.
|
private |
Definition at line 249 of file bcaslot.hxx.
|
private |
Definition at line 299 of file bcaslot.hxx.
|
private |
Definition at line 285 of file bcaslot.hxx.
ScBroadcastAreaSlotMachine::ScBroadcastAreaSlotMachine | ( | ScDocument * | pDoc | ) |
Definition at line 588 of file bcaslot.cxx.
References assert(), BCA_SLOT_ROWS(), BCA_SLOTS(), BCA_SLOTS_COL, BCA_SLOTS_ROW(), ScSheetLimits::GetMaxRowCount(), ScDocument::GetSheetLimits(), maSlotDistribution, mnBcaSlots, mnBcaSlotsRow, and pDoc.
ScBroadcastAreaSlotMachine::~ScBroadcastAreaSlotMachine | ( | ) |
Definition at line 626 of file bcaslot.cxx.
References aTableSlotsMap, maAreasToBeErased, pBCAlways, and SAL_WARN_IF.
Definition at line 787 of file bcaslot.cxx.
References ScRange::aEnd, ScBroadcastAreaSlot::AreaBroadcast(), ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), mnBcaSlotsRow, and ScAddress::Tab().
bool ScBroadcastAreaSlotMachine::AreaBroadcast | ( | const ScHint & | rHint | ) | const |
Definition at line 810 of file bcaslot.cxx.
References ScBroadcastAreaSlot::AreaBroadcast(), aTableSlotsMap, BCA_BRDCST_ALWAYS, ComputeSlotOffset(), ScHint::GetAddress(), pBCAlways, and ScAddress::Tab().
bool ScBroadcastAreaSlotMachine::BulkBroadcastGroupAreas | ( | SfxHintId | nHintId | ) |
Definition at line 1088 of file bcaslot.cxx.
References assert(), SvtBroadcaster::Broadcast(), ScBroadcastArea::GetBroadcaster(), SvtBroadcaster::HasListeners(), m_BulkGroupAreas, pDoc, SAL_WARN, and sc::BulkDataHint::setSpans().
Referenced by LeaveBulkBroadcast().
|
private |
Definition at line 659 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), ComputeSlotOffset(), and ScAddress::Row().
Referenced by AreaBroadcast(), DelBroadcastAreasInRange(), EndListeningArea(), GetAllListeners(), StartListeningArea(), and UpdateBroadcastAreas().
|
inlineprivate |
Definition at line 635 of file bcaslot.cxx.
References BCA_SLOT_COLS, ScAddress::Col(), i, maSlotDistribution, mnBcaSlots, mnBcaSlotsRow, ScBroadcastAreaSlotMachine::ScSlotData::nCumulated, ScBroadcastAreaSlotMachine::ScSlotData::nSlice, ScBroadcastAreaSlotMachine::ScSlotData::nStartRow, pDoc, ScAddress::Row(), ScDocument::ValidCol(), and ScDocument::ValidRow().
Referenced by AreaBroadcast(), and ComputeAreaPoints().
Definition at line 837 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), ScBroadcastAreaSlot::DelBroadcastAreasInRange(), mnBcaSlots, mnBcaSlotsRow, and ScAddress::Tab().
void ScBroadcastAreaSlotMachine::EndListeningArea | ( | const ScRange & | rRange, |
bool | bGroupListening, | ||
SvtListener * | pListener | ||
) |
Definition at line 736 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, BCA_LISTEN_ALWAYS, ComputeAreaPoints(), ComputeNextSlot(), SvtListener::EndListening(), ScBroadcastAreaSlot::EndListeningArea(), mnBcaSlots, mnBcaSlotsRow, pBCAlways, and ScAddress::Tab().
void ScBroadcastAreaSlotMachine::EnterBulkBroadcast | ( | ) |
Definition at line 1047 of file bcaslot.cxx.
References nInBulkBroadcast.
Referenced by ScBulkBroadcast::ScBulkBroadcast().
void ScBroadcastAreaSlotMachine::FinallyEraseAreas | ( | ScBroadcastAreaSlot * | pSlot | ) |
Definition at line 1137 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 1158 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, ComputeAreaPoints(), ComputeNextSlot(), ScBroadcastAreaSlot::GetAllListeners(), mnBcaSlotsRow, p, and ScAddress::Tab().
Referenced by ScTable::SortReorderByColumn(), and ScTable::SortReorderByRowRefUpdate().
|
inline |
Definition at line 345 of file bcaslot.hxx.
References pEOUpdateChain.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
bool ScBroadcastAreaSlotMachine::InsertBulkArea | ( | const ScBroadcastArea * | p | ) |
Definition at line 1069 of file bcaslot.cxx.
References aBulkBroadcastAreas.
Referenced by ScBroadcastAreaSlot::AreaBroadcast().
void ScBroadcastAreaSlotMachine::InsertBulkGroupArea | ( | ScBroadcastArea * | pArea, |
const ScRange & | rRange | ||
) |
Definition at line 1074 of file bcaslot.cxx.
References assert(), m_BulkGroupAreas, pDoc, and sc::ColumnSpanSet::set().
Referenced by ScBroadcastAreaSlot::AreaBroadcast().
|
inline |
Definition at line 347 of file bcaslot.hxx.
Referenced by ScBroadcastAreaSlot::AreaBroadcast(), ScBroadcastAreaSlot::DelBroadcastAreasInRange(), ScBroadcastAreaSlot::EraseArea(), and ScBroadcastAreaSlot::UpdateRemove().
Definition at line 1052 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 1131 of file bcaslot.cxx.
References maAreasToBeErased.
Referenced by ScBroadcastAreaSlot::EraseArea().
size_t ScBroadcastAreaSlotMachine::RemoveBulkArea | ( | const ScBroadcastArea * | p | ) |
Definition at line 1121 of file bcaslot.cxx.
References aBulkBroadcastAreas.
Referenced by ScBroadcastAreaSlot::DelBroadcastAreasInRange(), and ScBroadcastAreaSlot::UpdateRemove().
void ScBroadcastAreaSlotMachine::RemoveBulkGroupArea | ( | ScBroadcastArea * | pArea | ) |
Definition at line 1126 of file bcaslot.cxx.
References m_BulkGroupAreas.
Referenced by ScBroadcastAreaSlot::EraseArea().
|
inline |
Definition at line 346 of file bcaslot.hxx.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
|
inline |
Definition at line 344 of file bcaslot.hxx.
Referenced by ScBroadcastAreaSlot::UpdateRemove().
void ScBroadcastAreaSlotMachine::StartListeningArea | ( | const ScRange & | rRange, |
bool | bGroupListening, | ||
SvtListener * | pListener | ||
) |
Definition at line 686 of file bcaslot.cxx.
References ScRange::aEnd, ScRange::aStart, aTableSlotsMap, BCA_LISTEN_ALWAYS, ComputeAreaPoints(), ComputeNextSlot(), mnBcaSlots, mnBcaSlotsRow, pBCAlways, pDoc, SvtListener::StartListening(), and ScAddress::Tab().
void ScBroadcastAreaSlotMachine::UpdateBroadcastAreas | ( | UpdateRefMode | eUpdateRefMode, |
const ScRange & | rRange, | ||
SCCOL | nDx, | ||
SCROW | nDy, | ||
SCTAB | nDz | ||
) |
Definition at line 874 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, mnBcaSlotsRow, pDoc, pEOUpdateChain, pUpdateChain, ScBroadcastArea::SetInUpdateChain(), ScBroadcastArea::SetUpdateChainNext(), ScAddress::Tab(), ScRefUpdate::Update(), ScBroadcastArea::UpdateRange(), ScBroadcastAreaSlot::UpdateRemove(), and ScBroadcastAreaSlot::UpdateRemoveArea().
|
private |
Definition at line 303 of file bcaslot.hxx.
Referenced by InsertBulkArea(), LeaveBulkBroadcast(), and RemoveBulkArea().
|
private |
Definition at line 305 of file bcaslot.hxx.
Referenced by AreaBroadcast(), DelBroadcastAreasInRange(), EndListeningArea(), GetAllListeners(), StartListeningArea(), UpdateBroadcastAreas(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 304 of file bcaslot.hxx.
Referenced by BulkBroadcastGroupAreas(), InsertBulkGroupArea(), and RemoveBulkGroupArea().
|
private |
Definition at line 306 of file bcaslot.hxx.
Referenced by FinallyEraseAreas(), PushAreaToBeErased(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 300 of file bcaslot.hxx.
Referenced by ComputeSlotOffset(), and ScBroadcastAreaSlotMachine().
|
private |
Definition at line 302 of file bcaslot.hxx.
Referenced by ComputeSlotOffset(), DelBroadcastAreasInRange(), EndListeningArea(), ScBroadcastAreaSlotMachine(), StartListeningArea(), UpdateBroadcastAreas(), and ScBroadcastAreaSlotMachine::TableSlots::~TableSlots().
|
private |
Definition at line 301 of file bcaslot.hxx.
Referenced by AreaBroadcast(), ComputeSlotOffset(), DelBroadcastAreasInRange(), EndListeningArea(), GetAllListeners(), ScBroadcastAreaSlotMachine(), StartListeningArea(), and UpdateBroadcastAreas().
|
private |
Definition at line 311 of file bcaslot.hxx.
Referenced by EnterBulkBroadcast(), and LeaveBulkBroadcast().
|
private |
Definition at line 307 of file bcaslot.hxx.
Referenced by AreaBroadcast(), EndListeningArea(), StartListeningArea(), and ~ScBroadcastAreaSlotMachine().
|
private |
Definition at line 308 of file bcaslot.hxx.
Referenced by BulkBroadcastGroupAreas(), ComputeSlotOffset(), InsertBulkGroupArea(), LeaveBulkBroadcast(), ScBroadcastAreaSlotMachine(), StartListeningArea(), and UpdateBroadcastAreas().
|
private |
Definition at line 310 of file bcaslot.hxx.
Referenced by GetEOUpdateChain(), and UpdateBroadcastAreas().
|
private |
Definition at line 309 of file bcaslot.hxx.
Referenced by UpdateBroadcastAreas().