table2.cxx (4d7c9de0) table2.cxx (a54c2933)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 141 unchanged lines hidden (view full) ---

150 if (pOutlineTable)
151 pOutlineTable->InsertRow( nStartRow, nSize );
152
153 mpFilteredRows->insertSegment(nStartRow, nSize, true);
154 mpHiddenRows->insertSegment(nStartRow, nSize, true);
155
156 if (!maRowManualBreaks.empty())
157 {
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 141 unchanged lines hidden (view full) ---

150 if (pOutlineTable)
151 pOutlineTable->InsertRow( nStartRow, nSize );
152
153 mpFilteredRows->insertSegment(nStartRow, nSize, true);
154 mpHiddenRows->insertSegment(nStartRow, nSize, true);
155
156 if (!maRowManualBreaks.empty())
157 {
158 std::set<SCROW>::reverse_iterator rit = maRowManualBreaks.rbegin();
159 while (rit != maRowManualBreaks.rend())
158 std::vector<SCROW> aUpdatedBreaks;
159
160 while ( ! maRowManualBreaks.empty())
160 {
161 {
161 SCROW nRow = *rit;
162 if (nRow < nStartRow)
163 break; // while
164 else
165 {
166 maRowManualBreaks.erase( (++rit).base());
167 maRowManualBreaks.insert( static_cast<SCROW>( nRow + nSize));
168 }
162 std::set<SCROW>::iterator aLast (--maRowManualBreaks.end());
163
164 // Check if there are more entries that have to be processed.
165 if (*aLast < nStartRow)
166 break;
167
168 // Remember the updated break location and erase the entry.
169 aUpdatedBreaks.push_back(static_cast<SCROW>(*aLast + nSize));
170 maRowManualBreaks.erase(aLast);
169 }
171 }
172
173 // Insert the updated break locations.
174 if ( ! aUpdatedBreaks.empty())
175 maRowManualBreaks.insert(aUpdatedBreaks.begin(), aUpdatedBreaks.end());
170 }
171 }
172
173 for (SCCOL j=nStartCol; j<=nEndCol; j++)
174 aCol[j].InsertRow( nStartRow, nSize );
175 DecRecalcLevel( false );
176
177 InvalidatePageBreaks();

--- 3142 unchanged lines hidden ---
176 }
177 }
178
179 for (SCCOL j=nStartCol; j<=nEndCol; j++)
180 aCol[j].InsertRow( nStartRow, nSize );
181 DecRecalcLevel( false );
182
183 InvalidatePageBreaks();

--- 3142 unchanged lines hidden ---