20 #include <com/sun/star/uno/Sequence.hxx>
40 for(sal_uInt16
i(0);
i < 32;
i++)
50 css::uno::Sequence< sal_Int8 >
aSeq;
51 if( !(rAny >>= aSeq) )
54 sal_Int16
nCount =
static_cast<sal_Int16
>(aSeq.getLength());
59 for( nIndex = 0; nIndex < nCount; nIndex++ )
64 for( ; nIndex < 32; nIndex++ )
71 maName(rNewName), pModel(nullptr), nID(nNewID)
96 return (
nID == rCmpLayer.
nID
103 maControlLayerName(
"controls")
110 maControlLayerName(
"controls")
112 *
this = rSrcLayerAdmin;
126 if (
this != &rSrcLayerAdmin)
132 for (i=0; i<nCount; i++) {
141 if (pNewModelel!=
pModel) {
145 for (i=0; i<nCount; i++) {
164 maLayers.push_back(std::move(pLayer));
172 std::unique_ptr<SdrLayer> pRetLayer = std::move(
maLayers[nPos]);
184 maLayers.push_back(std::unique_ptr<SdrLayer>(pLay));
194 if (pLayer!=
nullptr) {
196 [&](
const std::unique_ptr<SdrLayer> &
p) {
return p.get() == pLayer; });
234 if (pLay!=
nullptr) nRet=pLay->
GetID();
240 for (
auto const & pLayer :
maLayers)
241 if (pLayer->GetID() == nID)
287 for(
auto & pCurrentLayer :
maLayers )
289 if ( pCurrentLayer->IsVisibleODF() )
290 rOutSet.
Set( pCurrentLayer->GetID() );
297 for(
auto & pCurrentLayer :
maLayers )
299 if ( pCurrentLayer->IsPrintableODF() )
300 rOutSet.
Set( pCurrentLayer->GetID() );
307 for(
auto& pCurrentLayer :
maLayers )
309 if ( pCurrentLayer->IsLockedODF() )
310 rOutSet.
Set( pCurrentLayer->GetID() );
328 sal_uInt16 nLayerPos = 0;
329 sal_uInt16 nLayerIndex = 0;
330 for(
const auto& pCurrentLayer :
maLayers )
332 SdrLayerID nCurrentID = pCurrentLayer->GetID();
333 if ( rViewLayerSet.
IsSet(nCurrentID) )
335 nLayerPos = nLayerIndex;
336 nByteIndex = nLayerPos / 8;
339 nBitpos = nLayerPos % 8;
340 aTmp[nByteIndex] |= (1 << nBitpos);
351 nNumBytesSet = nIndex + 1;
355 css::uno::Sequence< sal_Int8 >
aSeq( nNumBytesSet );
356 std::transform(aTmp, aTmp + nNumBytesSet, aSeq.getArray(),
void operator&=(const SdrLayerIDSet &r2ndSet)
void PutValue(const css::uno::Any &rAny)
initialize this set with a UNO sequence of sal_Int8 (e.g.
void getVisibleLayersODF(SdrLayerIDSet &rOutSet) const
SdrLayerAdmin(SdrLayerAdmin *pNewParent=nullptr)
#define SDRLAYERPOS_NOTFOUND
sal_uInt16 GetLayerPos(const SdrLayer *pLayer) const
std::unique_ptr< SdrLayer > RemoveLayer(sal_uInt16 nPos)
void SetModel(SdrModel *pNewModel)
void getLockedLayersODF(SdrLayerIDSet &rOutSet) const
SdrLayerAdmin & operator=(const SdrLayerAdmin &rSrcLayerAdmin)
SdrLayerID GetUniqueLayerID() const
void SetName(const OUString &rNewName)
virtual OUString GetName() const override
virtual void SetChanged(bool bFlg=true)
SdrLayer * GetLayer(sal_uInt16 i)
sal_uInt16 GetLayerCount() const
bool operator==(const SdrLayer &rCmpLayer) const
SdrLayer * NewLayer(const OUString &rName, sal_uInt16 nPos=0xFFFF)
SdrLayer * GetLayerPerID(SdrLayerID nID)
o3tl::strong_int< sal_Int16, struct SdrLayerIDTag > SdrLayerID
constexpr SdrLayerID SDRLAYER_NOTFOUND(-1)
bool IsSet(SdrLayerID a) const
void QueryValue(const SdrLayerIDSet &rViewLayerSet, css::uno::Any &rAny)
void InsertLayer(std::unique_ptr< SdrLayer > pLayer, sal_uInt16 nPos)
void getPrintableLayersODF(SdrLayerIDSet &rOutSet) const
void Broadcast(const SfxHint &rHint)
OUString maControlLayerName
std::vector< std::unique_ptr< SdrLayer > > maLayers
Sequence< sal_Int8 > aSeq
void SetControlLayerName(const OUString &rNewName)
void SetModel(SdrModel *pNewModel)
SdrLayer(SdrLayerID nNewID, const OUString &rNewName)
SdrLayerID GetLayerID(const OUString &rName) const