31 #include <document.hxx>
40 : pPattAttr(
std::move(p))
83 std::vector< std::unique_ptr<ENTRY> >::const_iterator iter
85 [nRefHash] (
const std::unique_ptr<ENTRY>& rEntry) {
return rEntry->nHash0 == nRefHash; } );
88 return *((*iter)->pPattAttr);
94 ENTRY *pCurrent =
new ENTRY( std::unique_ptr<ScPatternAttr>(pNewPatt) );
96 pCurrent->
nHash0 = nRefHash;
114 aBox.
SetLine( &aTop, SvxBoxItemLine::TOP );
115 aBox.
SetLine( &aLeft, SvxBoxItemLine::LEFT );
116 aBox.
SetLine( &aBottom, SvxBoxItemLine::BOTTOM );
117 aBox.
SetLine( &aRight, SvxBoxItemLine::RIGHT );
119 rItemSet.
Put( aBox );
136 if( rAttr.
nBack & 0x80 )
139 rItemSet.
Put( aHorJustify );
142 aEntries.push_back(std::unique_ptr<ENTRY>(pCurrent));
168 assert( nLotIndex > 0 && nLotIndex < 7 );
186 SAL_WARN_IF( !pDoc->
ValidRow(nRow),
"sc.filter",
"*LotAttrCol::SetAttr(): ... and failed?!" );
188 std::vector<std::unique_ptr<ENTRY> >::reverse_iterator iterLast =
aEntries.rbegin();
192 if( ( (*iterLast)->nLastRow == nRow - 1 ) && ( &rAttr == (*iterLast)->pPattAttr ) )
193 (*iterLast)->nLastRow = nRow;
201 aEntries.push_back(std::unique_ptr<ENTRY>(pCurrent));
210 aEntries.push_back(std::unique_ptr<ENTRY>(pCurrent));
218 for (
const auto& rxEntry :
aEntries)
221 nTabNum, *(rxEntry->pPattAttr));
239 for( nColCnt = nColFirst ; nColCnt <= nColLast ; nColCnt++ )
247 pCols[ nColCnt ].
Apply(rContext, nColCnt, nTabNum);
void SetBorderLineStyle(SvxBorderLineStyle nNew)
void SetWidth(tools::Long nWidth)
static void LotusToScBorderLine(sal_uInt8 nLine,::editeng::SvxBorderLine &)
constexpr TypedWhichId< SvxBoxItem > ATTR_BORDER(150)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTMAGENTA
const SvxColorItem & GetColorItem(const sal_uInt8 nLotIndex) const
void Apply(LotusContext &rContext, const SCCOL nCol, const SCTAB nTab)
std::unique_ptr< Color[]> pColTab
const SfxItemSet & GetItemSet() const
LotAttrCache(LotusContext &rContext)
ENTRY(std::unique_ptr< ScPatternAttr > p)
ScDocumentPool * pDocPool
void Apply(LotusContext &rContext, const SCTAB nTabNum)
SC_DLLPUBLIC ScDocumentPool * GetPool()
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
const ScPatternAttr * pPattAttr
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTRED
LotAttrTable(LotusContext &rContext)
SC_DLLPUBLIC SCCOL MaxCol() const
std::vector< std::unique_ptr< ENTRY > > aEntries
std::vector< std::unique_ptr< ENTRY > > aEntries
SC_DLLPUBLIC void ApplyPatternAreaTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScPatternAttr &rAttr)
const Color & GetColor(const sal_uInt8 nLotIndex) const
LotusFontBuffer maFontBuff
constexpr TypedWhichId< SvxBrushItem > ATTR_BACKGROUND(148)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTCYAN
static void MakeHash(const LotAttrWK3 &rAttr, sal_uInt32 &rOut)
bool ValidRow(SCROW nRow) const
#define SAL_WARN_IF(condition, area, stream)
void SetAttr(const ScDocument *pDoc, const SCROW nRow, const ScPatternAttr &)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTGREEN
constexpr TypedWhichId< SvxHorJustifyItem > ATTR_HOR_JUSTIFY(129)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_YELLOW
std::unique_ptr< SvxColorItem > pWhite
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTBLUE
LotAttrCol pCols[MAXCOLCOUNT]
void SetAttr(LotusContext &rContext, const SCCOL nColFirst, const SCCOL nColLast, const SCROW nRow, const LotAttrWK3 &)
std::unique_ptr< SvxColorItem > ppColorItems[6]
constexpr TypedWhichId< SvxColorItem > ATTR_FONT_COLOR(109)
const ScPatternAttr & GetPattAttr(const LotAttrWK3 &)
void Fill(const sal_uInt8 nIndex, SfxItemSet &rItemSet)
void SetLine(const editeng::SvxBorderLine *pNew, SvxBoxItemLine nLine)