Files
libreoffice/sw/source/core/doc/docnum.cxx

2627 lines
83 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2000-09-18 23:08:29 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2000-09-18 23:08:29 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2000-09-18 23:08:29 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-18 23:08:29 +00:00
*
* This file is part of OpenOffice.org.
2000-09-18 23:08:29 +00:00
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
2000-09-18 23:08:29 +00:00
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
2000-09-18 23:08:29 +00:00
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
2000-09-18 23:08:29 +00:00
*
************************************************************************/
2000-09-18 23:08:29 +00:00
#include <hintids.hxx>
#include <tools/date.hxx>
#include <tools/time.hxx>
#include <tools/resid.hxx>
#include <editeng/lrspitem.hxx>
2000-09-18 23:08:29 +00:00
#include <ftninfo.hxx>
#include <ftnidx.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
2000-09-18 23:08:29 +00:00
#include <pam.hxx>
#include <ndtxt.hxx>
#include <doctxm.hxx> // pTOXBaseRing
#include <poolfmt.hxx>
#include <UndoCore.hxx>
#include <UndoRedline.hxx>
#include <UndoNumbering.hxx>
2000-09-18 23:08:29 +00:00
#include <swundo.hxx>
#include <SwUndoFmt.hxx>
2000-09-18 23:08:29 +00:00
#include <rolbck.hxx>
#include <paratr.hxx>
#include <docary.hxx>
#include <mvsave.hxx>
#include <txtfrm.hxx>
#include <pamtyp.hxx>
#include <redline.hxx>
#include <comcore.hrc>
#include <editeng/adjitem.hxx>
#include <editeng/frmdiritem.hxx>
#include <frmatr.hxx>
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
#include <SwStyleNameMapper.hxx>
#include <SwNodeNum.hxx>
#include <list.hxx>
#include <listfunc.hxx>
#include <switerator.hxx>
#include <comphelper/string.hxx>
2000-09-18 23:08:29 +00:00
#include <map>
namespace {
static void lcl_ResetIndentAttrs(SwDoc *pDoc, const SwPaM &rPam, sal_uInt16 marker )
{
std::set<sal_uInt16> aResetAttrsArray;
aResetAttrsArray.insert( marker );
// #i114929#
// On a selection setup a corresponding Point-and-Mark in order to get
// the indentation attribute reset on all paragraphs touched by the selection
if ( rPam.HasMark() &&
rPam.End()->nNode.GetNode().GetTxtNode() )
{
SwPaM aPam( rPam.Start()->nNode,
rPam.End()->nNode );
aPam.Start()->nContent = 0;
aPam.End()->nContent = rPam.End()->nNode.GetNode().GetTxtNode()->Len();
pDoc->ResetAttrs( aPam, sal_False, aResetAttrsArray );
}
else
{
pDoc->ResetAttrs( rPam, sal_False, aResetAttrsArray );
}
}
}
2012-07-27 17:30:49 +02:00
#include <stdlib.h>
inline sal_uInt8 GetUpperLvlChg( sal_uInt8 nCurLvl, sal_uInt8 nLevel, sal_uInt16 nMask )
2000-09-18 23:08:29 +00:00
{
if( 1 < nLevel )
{
if( nCurLvl + 1 >= nLevel )
nCurLvl -= nLevel - 1;
else
nCurLvl = 0;
}
return static_cast<sal_uInt8>((nMask - 1) & ~(( 1 << nCurLvl ) - 1));
2000-09-18 23:08:29 +00:00
}
void SwDoc::SetOutlineNumRule( const SwNumRule& rRule )
{
if( pOutlineRule )
(*pOutlineRule) = rRule;
else
{
pOutlineRule = new SwNumRule( rRule );
AddNumRule(pOutlineRule); // #i36749#
2000-09-18 23:08:29 +00:00
}
2000-09-18 23:08:29 +00:00
pOutlineRule->SetRuleType( OUTLINE_RULE );
pOutlineRule->SetName( rtl::OUString::createFromAscii(
SwNumRule::GetOutlineRuleName() ),
*this);
2010-10-18 12:55:43 +01:00
// assure that the outline numbering rule is an automatic rule
pOutlineRule->SetAutoRule( sal_True );
2000-09-18 23:08:29 +00:00
// test whether the optional CharFormats are defined in this Document
2000-09-18 23:08:29 +00:00
pOutlineRule->CheckCharFmts( this );
// notify text nodes, which are registered at the outline style, about the
// changed outline style
SwNumRule::tTxtNodeList aTxtNodeList;
pOutlineRule->GetTxtNodeList( aTxtNodeList );
for ( SwNumRule::tTxtNodeList::iterator aIter = aTxtNodeList.begin();
aIter != aTxtNodeList.end(); ++aIter )
{
SwTxtNode* pTxtNd = *aIter;
pTxtNd->NumRuleChgd();
2010-10-18 12:55:43 +01:00
CWS-TOOLING: integrate CWS sw31bf04 2009-01-21 14:24:10 +0100 od r266670 : #i59051# correction of metric change for PolyPolygonBezier needed 2009-01-21 09:35:44 +0100 od r266632 : #i96062# adjustment of fix after rebasing 2009-01-21 09:34:56 +0100 od r266631 : #i94152# adjustment of fix after rebasing 2009-01-20 16:43:12 +0100 od r266596 : CWS-TOOLING: rebase CWS sw31bf04 to trunk@266428 (milestone: DEV300:m39) 2009-01-20 11:52:22 +0100 od r266561 : #i94152 method <SwDoc::SetOutlineNumRule(..)> - assure that at outline list style registered text node have the correct list level set 2009-01-20 10:43:53 +0100 od r266556 : #i93399# methods <SwNumRule::SetIndent(..)> and <SwNumRule::ChangeIndent(..)> - adjust also the list tab position, if a list tab stop is applied 2009-01-16 16:26:56 +0100 od r266432 : #i59051# adjust Writer's UNO-API for drawing objects - correct conversion of "StartPosition" and "EndPosition" - conversion of "PolyPolygonBezier" 2009-01-16 16:20:49 +0100 od r266430 : #i59051# - adjust UNO-API of connector shape -- convert "PolyPolygonBezier" to correct metric -- convert "StartPosition" and "EndPosition" in set-method before applying anchor position - adjust UNO-API of measure shape -- convert "StartPosition" and "EndPosition" to correct metric 2009-01-16 15:01:21 +0100 od r266419 : #i95698# method <SwFrm::GetPrevSctLeaf(..)> - only columns as previous section leaves for tables inside sections, which are inside another table. 2009-01-14 14:34:58 +0100 od r266304 : #i96092# method <HandleResetAttrAtTxtNode::~HandleResetAttrAtTxtNode()> - set list level to outline level, if needed. 2009-01-13 17:09:43 +0100 od r266238 : #i98037# method <SwWW8ImplReader::IsObjectLayoutInTableCell(..)> - adjust evaluation of WW8 attributes 2009-01-13 11:49:48 +0100 od r266203 : #i94187# method <SwTxtFormatter::NewTabPortion(..)> - correct consideration of compatibility option TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST 2009-01-13 11:48:45 +0100 od r266202 : #i94187# method <OutWW8_SwTxtNode(..)> - set list style directly at paragraph only in position and space mode LABEL_WIDTH_AND_POSITION 2009-01-12 12:22:58 +0100 od r266143 : #i70582# method <SwFlyAtCntFrm::SetAbsPos(..)> and local method <lcl_CalcDownDist(..)> - correct determination of anchor's frame top for object positioning.
2009-02-13 10:05:35 +00:00
// assure that list level corresponds to outline level
if ( pTxtNd->GetTxtColl()->IsAssignedToListLevelOfOutlineStyle() &&
pTxtNd->GetAttrListLevel() != pTxtNd->GetTxtColl()->GetAssignedOutlineStyleLevel() )
{
pTxtNd->SetAttrListLevel( pTxtNd->GetTxtColl()->GetAssignedOutlineStyleLevel() );
}
}
PropagateOutlineRule();
pOutlineRule->SetInvalidRule(sal_True);
UpdateNumRule();
// update if we have foot notes && numbering by chapter
if( !GetFtnIdxs().empty() && FTNNUM_CHAPTER == GetFtnInfo().eNum )
GetFtnIdxs().UpdateAllFtn();
UpdateExpFlds(NULL, true);
2000-09-18 23:08:29 +00:00
SetModified();
}
void SwDoc::PropagateOutlineRule()
{
for (sal_uInt16 n = 0; n < pTxtFmtCollTbl->size(); n++)
{
SwTxtFmtColl *pColl = (*pTxtFmtCollTbl)[n];
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if(pColl->IsAssignedToListLevelOfOutlineStyle())//<-end,zhaojianwei
{
// Check only the list style, which is set at the paragraph style
const SwNumRuleItem & rCollRuleItem = pColl->GetNumRule( sal_False );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
// Check on document setting OUTLINE_LEVEL_YIELDS_OUTLINE_RULE no longer needed.
if ( rCollRuleItem.GetValue().Len() == 0 )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
SwNumRule * pMyOutlineRule = GetOutlineNumRule();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (pMyOutlineRule)
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
SwNumRuleItem aNumItem( pMyOutlineRule->GetName() );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
pColl->SetFmtAttr(aNumItem);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
}
}
}
}
2000-09-18 23:08:29 +00:00
// Increase/Decrease
sal_Bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
2000-09-18 23:08:29 +00:00
{
if( GetNodes().GetOutLineNds().empty() || !nOffset )
return sal_False;
2000-09-18 23:08:29 +00:00
// calculate the range
2000-09-18 23:08:29 +00:00
const SwOutlineNodes& rOutlNds = GetNodes().GetOutLineNds();
const SwNodePtr pSttNd = (SwNodePtr)&rPam.Start()->nNode.GetNode();
const SwNodePtr pEndNd = (SwNodePtr)&rPam.End()->nNode.GetNode();
sal_uInt16 nSttPos, nEndPos;
2000-09-18 23:08:29 +00:00
if( !rOutlNds.Seek_Entry( pSttNd, &nSttPos ) &&
!nSttPos-- )
// we're not in an "Outline section"
return sal_False;
2000-09-18 23:08:29 +00:00
if( rOutlNds.Seek_Entry( pEndNd, &nEndPos ) )
++nEndPos;
// We now have the wanted range in the OutlineNodes array,
// so check now if we're not invalidating sublevels
// (stepping over the limits)
sal_uInt16 n;
2000-09-18 23:08:29 +00:00
// Here we go:
// 1. Create the style array:
2000-09-18 23:08:29 +00:00
SwTxtFmtColl* aCollArr[ MAXLEVEL ];
memset( aCollArr, 0, sizeof( SwTxtFmtColl* ) * MAXLEVEL );
for( n = 0; n < pTxtFmtCollTbl->size(); ++n )
2000-09-18 23:08:29 +00:00
{
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if((*pTxtFmtCollTbl)[ n ]->IsAssignedToListLevelOfOutlineStyle())
{
const int nLevel = (*pTxtFmtCollTbl)[ n ]->GetAssignedOutlineStyleLevel();
2000-09-18 23:08:29 +00:00
aCollArr[ nLevel ] = (*pTxtFmtCollTbl)[ n ];
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
}//<-end,zhaojianwei
2000-09-18 23:08:29 +00:00
}
/* Find the last occupied level (backward). */
for (n = MAXLEVEL - 1; n > 0; n--)
{
if (aCollArr[n] != 0)
break;
}
/* If an occupied level is found, choose next level (which IS
unoccupied) until a valid level is found. If no occupied level
was found n is 0 and aCollArr[0] is 0. In this case no demoting
is possible. */
if (aCollArr[n] != 0)
{
while (n < MAXLEVEL - 1)
{
n++;
SwTxtFmtColl *aTmpColl =
GetTxtCollFromPool(static_cast<sal_uInt16>(RES_POOLCOLL_HEADLINE1 + n));
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if( aTmpColl->IsAssignedToListLevelOfOutlineStyle() &&
aTmpColl->GetAssignedOutlineStyleLevel() == n )//<-end,zhaojianwei
{
aCollArr[n] = aTmpColl;
break;
}
}
}
/* Find the first occupied level (forward). */
for (n = 0; n < MAXLEVEL - 1; n++)
{
if (aCollArr[n] != 0)
break;
}
/* If an occupied level is found, choose previous level (which IS
unoccupied) until a valid level is found. If no occupied level
was found n is MAXLEVEL - 1 and aCollArr[MAXLEVEL - 1] is 0. In
this case no demoting is possible. */
if (aCollArr[n] != 0)
{
while (n > 0)
{
n--;
SwTxtFmtColl *aTmpColl =
GetTxtCollFromPool(static_cast<sal_uInt16>(RES_POOLCOLL_HEADLINE1 + n));
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
//if (aTmpColl->GetOutlineLevel() == n)//#outline level,zhaojianwei
if( aTmpColl->IsAssignedToListLevelOfOutlineStyle() &&
aTmpColl->GetAssignedOutlineStyleLevel() == n )//<-end,zhaojianwei
{
aCollArr[n] = aTmpColl;
break;
}
}
}
/* --> #i13747#
Build a move table that states from which level to which other level
an outline will be moved.
the move table:
aMoveArr[n] = m: replace aCollArr[n] with aCollArr[m]
*/
int aMoveArr[MAXLEVEL];
int nStep; // step size for searching in aCollArr: -1 or 1
int nNum; // amount of steps for stepping in aCollArr
if (nOffset < 0)
{
nStep = -1;
nNum = -nOffset;
}
else
{
nStep = 1;
nNum = nOffset;
}
/* traverse aCollArr */
for (n = 0; n < MAXLEVEL; n++)
{
/* If outline level n has an assigned paragraph style step
nNum steps forwards (nStep == 1) or backwards (nStep ==
-1). One step is to go to the next non-null entry in
aCollArr in the selected direction. If nNum steps were
possible write the index of the entry found to aCollArr[n],
i.e. outline level n will be replaced by outline level
aCollArr[n].
If outline level n has no assigned paragraph style
aMoveArr[n] is set to -1.
*/
if (aCollArr[n] != NULL)
{
sal_uInt16 m = n;
int nCount = nNum;
while (nCount > 0 && m + nStep >= 0 && m + nStep < MAXLEVEL)
{
m = static_cast<sal_uInt16>(m + nStep);
if (aCollArr[m] != NULL)
nCount--;
}
if (nCount == 0)
aMoveArr[n] = m;
else
aMoveArr[n] = -1;
}
else
aMoveArr[n] = -1;
}
/* If moving of the outline levels is applicable, i.e. for all
outline levels occuring in the document there has to be a valid
target outline level implied by aMoveArr. */
bool bMoveApplicable = true;
for (n = nSttPos; n < nEndPos; n++)
{
SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
SwTxtFmtColl* pColl = pTxtNd->GetTxtColl();
2010-11-18 08:25:05 +01:00
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if( pColl->IsAssignedToListLevelOfOutlineStyle() )
{
const int nLevel = pColl->GetAssignedOutlineStyleLevel();
if (aMoveArr[nLevel] == -1)
bMoveApplicable = false;
}//<-end,zhaojianwei
2010-10-18 12:55:43 +01:00
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
// Check on outline level attribute of text node, if text node is
// not an outline via a to outline style assigned paragraph style.
else
{
const int nNewOutlineLevel = pTxtNd->GetAttrOutlineLevel() + nOffset;
if ( nNewOutlineLevel < 1 || nNewOutlineLevel > MAXLEVEL )
{
bMoveApplicable = false;
}
}
}
if (! bMoveApplicable )
return sal_False;
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
GetIDocumentUndoRedo().StartUndo(UNDO_OUTLINE_LR, NULL);
SwUndo *const pUndoOLR( new SwUndoOutlineLeftRight( rPam, nOffset ) );
GetIDocumentUndoRedo().AppendUndo(pUndoOLR);
2000-09-18 23:08:29 +00:00
}
// 2. Apply the new style to all Nodes
n = nSttPos;
while( n < nEndPos)
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
SwTxtFmtColl* pColl = pTxtNd->GetTxtColl();
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if( pColl->IsAssignedToListLevelOfOutlineStyle() )
{
const int nLevel = pColl->GetAssignedOutlineStyleLevel();//#outline level,add by zhaojianwei
OSL_ENSURE(aMoveArr[nLevel] >= 0,
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
"move table: current TxtColl not found when building table!");
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if (nLevel < MAXLEVEL && aMoveArr[nLevel] >= 0)
{
pColl = aCollArr[ aMoveArr[nLevel] ];
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if (pColl != NULL)
pColl = (SwTxtFmtColl*)pTxtNd->ChgFmtColl( pColl );
}
}
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
else if( pTxtNd->GetAttrOutlineLevel() > 0) //#outline level,add by zhaojianwei
{
int nLevel = pTxtNd->GetAttrOutlineLevel() + nOffset;
if( 0 <= nLevel && nLevel <= MAXLEVEL)
pTxtNd->SetAttrOutlineLevel( nLevel );
}//<-end,zhaojianwei
n++;
2000-09-18 23:08:29 +00:00
// Undo ???
}
if (GetIDocumentUndoRedo().DoesUndo())
{
GetIDocumentUndoRedo().EndUndo(UNDO_OUTLINE_LR, NULL);
}
2000-09-18 23:08:29 +00:00
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
ChkCondColls();
2000-09-18 23:08:29 +00:00
SetModified();
return sal_True;
2000-09-18 23:08:29 +00:00
}
// Move up/down
sal_Bool SwDoc::MoveOutlinePara( const SwPaM& rPam, short nOffset )
2000-09-18 23:08:29 +00:00
{
// Do not move to special sections in the nodes array
2000-09-18 23:08:29 +00:00
const SwPosition& rStt = *rPam.Start(),
& rEnd = &rStt == rPam.GetPoint() ? *rPam.GetMark()
: *rPam.GetPoint();
if( GetNodes().GetOutLineNds().empty() || !nOffset ||
(rStt.nNode.GetIndex() < GetNodes().GetEndOfExtras().GetIndex()) ||
(rEnd.nNode.GetIndex() < GetNodes().GetEndOfExtras().GetIndex()))
{
return sal_False;
}
2000-09-18 23:08:29 +00:00
sal_uInt16 nAktPos = 0;
2000-09-18 23:08:29 +00:00
SwNodeIndex aSttRg( rStt.nNode ), aEndRg( rEnd.nNode );
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
int nOutLineLevel = MAXLEVEL; //<-end,zhaojianwei
SwNode* pSrch = &aSttRg.GetNode();
2010-11-18 08:25:05 +01:00
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
if( pSrch->IsTxtNode())
nOutLineLevel = static_cast<sal_uInt8>(((SwTxtNode*)pSrch)->GetAttrOutlineLevel()-1);//<-end,zhaojianwei
SwNode* pEndSrch = &aEndRg.GetNode();
if( !GetNodes().GetOutLineNds().Seek_Entry( pSrch, &nAktPos ) )
2000-09-18 23:08:29 +00:00
{
if( !nAktPos )
return sal_False; // Promoting or demoting before the first outline => no.
if( --nAktPos )
2000-09-18 23:08:29 +00:00
aSttRg = *GetNodes().GetOutLineNds()[ nAktPos ];
else if( 0 > nOffset )
return sal_False; // Promoting at the top of document?!
2000-09-18 23:08:29 +00:00
else
aSttRg = *GetNodes().GetEndOfContent().StartOfSectionNode();
2000-09-18 23:08:29 +00:00
}
sal_uInt16 nTmpPos = 0;
// If the given range ends at an outlined text node we have to decide if it has to be a part of
// the moving range or not. Normally it will be a sub outline of our chapter
// and has to be moved, too. But if the chapter ends with a table(or a section end),
// the next text node will be choosen and this could be the next outline of the same level.
// The criteria has to be the outline level: sub level => incorporate, same/higher level => no.
if( GetNodes().GetOutLineNds().Seek_Entry( pEndSrch, &nTmpPos ) )
2000-09-18 23:08:29 +00:00
{
if( !pEndSrch->IsTxtNode() || pEndSrch == pSrch ||
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
nOutLineLevel < ((SwTxtNode*)pEndSrch)->GetAttrOutlineLevel()-1 )//<-end,zhaojianwei
++nTmpPos; // For sub outlines only!
}
2000-09-18 23:08:29 +00:00
aEndRg = nTmpPos < GetNodes().GetOutLineNds().size()
? *GetNodes().GetOutLineNds()[ nTmpPos ]
: GetNodes().GetEndOfContent();
if( nOffset >= 0 )
nAktPos = nTmpPos;
if( aEndRg == aSttRg )
{
OSL_FAIL( "Moving outlines: Surprising selection" );
++aEndRg;
2000-09-18 23:08:29 +00:00
}
2000-09-18 23:08:29 +00:00
const SwNode* pNd;
// The following code corrects the range to handle sections (start/end nodes)
// The range will be extended if the least node before the range is a start node
// which ends inside the range => The complete section will be moved.
// The range will be shrinked if the last position is a start node.
// The range will be shrinked if the last node is an end node which starts before the range.
aSttRg--;
while( aSttRg.GetNode().IsStartNode() )
{
pNd = aSttRg.GetNode().EndOfSectionNode();
if( pNd->GetIndex() >= aEndRg.GetIndex() )
break;
aSttRg--;
}
++aSttRg;
aEndRg--;
while( aEndRg.GetNode().IsStartNode() )
aEndRg--;
while( aEndRg.GetNode().IsEndNode() )
{
pNd = aEndRg.GetNode().StartOfSectionNode();
if( pNd->GetIndex() >= aSttRg.GetIndex() )
break;
aEndRg--;
}
++aEndRg;
// calculation of the new position
if( nOffset < 0 && nAktPos < sal_uInt16(-nOffset) )
2000-09-18 23:08:29 +00:00
pNd = GetNodes().GetEndOfContent().StartOfSectionNode();
else if( nAktPos + nOffset >= (sal_uInt16)GetNodes().GetOutLineNds().size() )
2000-09-18 23:08:29 +00:00
pNd = &GetNodes().GetEndOfContent();
else
pNd = GetNodes().GetOutLineNds()[ nAktPos + nOffset ];
sal_uLong nNewPos = pNd->GetIndex();
2000-09-18 23:08:29 +00:00
// And now a correction of the insert position if necessary...
SwNodeIndex aInsertPos( *pNd, -1 );
while( aInsertPos.GetNode().IsStartNode() )
{
// Just before the insert position starts a section:
// when I'm moving forward I do not want to enter the section,
// when I'm moving backward I want to stay in the section if I'm already a part of,
// I want to stay outside if I was outside before.
if( nOffset < 0 )
{
pNd = aInsertPos.GetNode().EndOfSectionNode();
if( pNd->GetIndex() >= aEndRg.GetIndex() )
break;
}
aInsertPos--;
--nNewPos;
}
if( nOffset >= 0 )
{
// When just before the insert position a section ends, it is okay when I'm moving backward
// because I want to stay outside the section.
// When moving forward I've to check if I started inside or outside the section
// because I don't want to enter of leave such a section
while( aInsertPos.GetNode().IsEndNode() )
{
pNd = aInsertPos.GetNode().StartOfSectionNode();
if( pNd->GetIndex() >= aSttRg.GetIndex() )
break;
aInsertPos--;
--nNewPos;
}
}
// We do not want to move into tables (at the moment)
++aInsertPos;
pNd = &aInsertPos.GetNode();
if( pNd->IsTableNode() )
pNd = pNd->StartOfSectionNode();
if( pNd->FindTableNode() )
return sal_False;
OSL_ENSURE( aSttRg.GetIndex() > nNewPos || nNewPos >= aEndRg.GetIndex(),
"Position lies within Move range" );
2000-09-18 23:08:29 +00:00
// If a Position inside the special nodes array sections was calculated,
// set it to document start instead.
// Sections or Tables at the document start will be pushed backwards.
nNewPos = Max( nNewPos, GetNodes().GetEndOfExtras().GetIndex() + 2 );
2000-09-18 23:08:29 +00:00
long nOffs = nNewPos - ( 0 < nOffset ? aEndRg.GetIndex() : aSttRg.GetIndex());
SwPaM aPam( aSttRg, aEndRg, 0, -1 );
return MoveParagraph( aPam, nOffs, sal_True );
2000-09-18 23:08:29 +00:00
}
static sal_uInt16 lcl_FindOutlineName( const SwNodes& rNds, const String& rName,
sal_Bool bExact )
2000-09-18 23:08:29 +00:00
{
sal_uInt16 nSavePos = USHRT_MAX;
2000-09-18 23:08:29 +00:00
const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
for( sal_uInt16 n = 0; n < rOutlNds.size(); ++n )
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
2001-11-27 12:24:29 +00:00
String sTxt( pTxtNd->GetExpandTxt() );
2000-09-18 23:08:29 +00:00
if( sTxt.Equals( rName ) )
{
// Found "exact", set Pos to the Node
2000-09-18 23:08:29 +00:00
nSavePos = n;
break;
}
else if( !bExact && USHRT_MAX == nSavePos &&
COMPARE_EQUAL == sTxt.CompareTo( rName, rName.Len()) )
{
// maybe we just found the text's first part
2000-09-18 23:08:29 +00:00
nSavePos = n;
}
}
return nSavePos;
}
static sal_uInt16 lcl_FindOutlineNum( const SwNodes& rNds, String& rName )
2000-09-18 23:08:29 +00:00
{
// Valid numbers are (always just offsets!):
// ([Number]+\.)+ (as a regular expression!)
// (Number follwed by a period, with 5 repetitions)
// i.e.: "1.1.", "1.", "1.1.1."
2000-09-18 23:08:29 +00:00
xub_StrLen nPos = 0;
String sNum = rName.GetToken( 0, '.', nPos );
if( STRING_NOTFOUND == nPos )
return USHRT_MAX; // invalid number!
2000-09-18 23:08:29 +00:00
sal_uInt16 nLevelVal[ MAXLEVEL ]; // numbers of all levels
2000-09-18 23:08:29 +00:00
memset( nLevelVal, 0, MAXLEVEL * sizeof( nLevelVal[0] ));
sal_uInt8 nLevel = 0;
2000-09-18 23:08:29 +00:00
String sName( rName );
while( STRING_NOTFOUND != nPos )
{
sal_uInt16 nVal = 0;
2000-09-18 23:08:29 +00:00
sal_Unicode c;
for( sal_uInt16 n = 0; n < sNum.Len(); ++n )
2000-09-18 23:08:29 +00:00
if( '0' <= ( c = sNum.GetChar( n )) && c <= '9' )
{
nVal *= 10; nVal += c - '0';
}
else if( nLevel )
break; // "almost" valid number
2000-09-18 23:08:29 +00:00
else
return USHRT_MAX; // invalid number!
2000-09-18 23:08:29 +00:00
if( MAXLEVEL > nLevel )
nLevelVal[ nLevel++ ] = nVal;
sName.Erase( 0, nPos );
nPos = 0;
sNum = sName.GetToken( 0, '.', nPos );
// #i4533# without this check all parts delimited by a dot are treated as outline numbers
2011-08-28 01:03:37 +01:00
if(!comphelper::string::isdigitAsciiString(sNum))
nPos = STRING_NOTFOUND;
2000-09-18 23:08:29 +00:00
}
rName = sName; // that's the follow-up text
2000-09-18 23:08:29 +00:00
// read all levels, so search the document for this outline
2000-09-18 23:08:29 +00:00
const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
// Without OutlineNodes searching doesn't pay off
// and we save a crash
if( rOutlNds.empty() )
2000-09-18 23:08:29 +00:00
return USHRT_MAX;
SwTxtNode* pNd;
nPos = 0;
// search in the existing outline nodes for the required outline num array
for( ; nPos < rOutlNds.size(); ++nPos )
2000-09-18 23:08:29 +00:00
{
pNd = rOutlNds[ nPos ]->GetTxtNode();
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
const int nLvl = pNd->GetAttrOutlineLevel()-1; //<-end,zhaojianwei
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( nLvl == nLevel - 1)
2000-09-18 23:08:29 +00:00
{
2010-11-18 08:25:05 +01:00
// #i51089#, #i68289#
// Assure, that text node has the correct numbering level. Otherwise,
// its number vector will not fit to the searched level.
if ( pNd->GetNum() &&
pNd->GetActualListLevel() == ( nLevel - 1 ) )
2000-09-18 23:08:29 +00:00
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
const SwNodeNum & rNdNum = *(pNd->GetNum());
SwNumberTree::tNumberVector aLevelVal = rNdNum.GetNumberVector();
// now compare with the one searched for
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
bool bEqual = true;
for( sal_uInt8 n = 0; (n < nLevel) && bEqual; ++n )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
bEqual = aLevelVal[n] == nLevelVal[n];
}
if(bEqual)
{
break;
}
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
else
2000-09-18 23:08:29 +00:00
{
// A text node, which has an outline paragraph style applied and
// has as hard attribute 'no numbering' set, has an outline level,
// but no numbering tree node. Thus, consider this situation in
// the assertion condition.
OSL_ENSURE( !pNd->GetNumRule(),
"<lcl_FindOutlineNum(..)> - text node with outline level and numbering rule, but without numbering tree node. This is a serious defect -> inform OD" );
2000-09-18 23:08:29 +00:00
}
}
}
if( nPos >= rOutlNds.size() )
nPos = USHRT_MAX;
2000-09-18 23:08:29 +00:00
return nPos;
}
// Ad this bullet point:
2000-09-18 23:08:29 +00:00
// A Name can contain a Number and/or the Text.
//
// First, we try to find the correct Entry via the Number.
// If it exists, we compare the Text, to see if it's the right one.
// If that's not the case, we search again via the Text. If it is
// found, we got the right entry. Or else we use the one found by
// searching for the Number.
// If we don't have a Number, we search via the Text only.
sal_Bool SwDoc::GotoOutline( SwPosition& rPos, const String& rName ) const
2000-09-18 23:08:29 +00:00
{
if( rName.Len() )
{
const SwOutlineNodes& rOutlNds = GetNodes().GetOutLineNds();
// 1. step: via the Number:
2000-09-18 23:08:29 +00:00
String sName( rName );
sal_uInt16 nFndPos = ::lcl_FindOutlineNum( GetNodes(), sName );
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nFndPos )
{
SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
String sExpandedText = pNd->GetExpandTxt();
//#i4533# leading numbers followed by a dot have been remove while
//searching for the outline position
//to compensate this they must be removed from the paragraphs text content, too
sal_uInt16 nPos = 0;
String sTempNum;
while(sExpandedText.Len() && (sTempNum = sExpandedText.GetToken(0, '.', nPos)).Len() &&
STRING_NOTFOUND != nPos &&
2011-08-28 01:03:37 +01:00
comphelper::string::isdigitAsciiString(sTempNum))
{
sExpandedText.Erase(0, nPos);
nPos = 0;
}
if( !sExpandedText.Equals( sName ) )
2000-09-18 23:08:29 +00:00
{
sal_uInt16 nTmp = ::lcl_FindOutlineName( GetNodes(), sName, sal_True );
if( USHRT_MAX != nTmp ) // found via the Name
2000-09-18 23:08:29 +00:00
{
nFndPos = nTmp;
pNd = rOutlNds[ nFndPos ]->GetTxtNode();
}
}
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return sal_True;
2000-09-18 23:08:29 +00:00
}
nFndPos = ::lcl_FindOutlineName( GetNodes(), rName, sal_False );
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nFndPos )
{
SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return sal_True;
2000-09-18 23:08:29 +00:00
}
2011-01-28 11:31:24 +00:00
// #i68289# additional search on hyperlink URL without its outline numbering part
if ( !sName.Equals( rName ) )
{
nFndPos = ::lcl_FindOutlineName( GetNodes(), sName, sal_False );
if( USHRT_MAX != nFndPos )
{
SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return sal_True;
}
}
2000-09-18 23:08:29 +00:00
}
return sal_False;
2000-09-18 23:08:29 +00:00
}
static void lcl_ChgNumRule( SwDoc& rDoc, const SwNumRule& rRule )
2000-09-18 23:08:29 +00:00
{
SwNumRule* pOld = rDoc.FindNumRulePtr( rRule.GetName() );
OSL_ENSURE( pOld, "we cannot proceed without the old NumRule" );
2000-09-18 23:08:29 +00:00
sal_uInt16 nChgFmtLevel = 0, nMask = 1;
sal_uInt8 n;
2000-09-18 23:08:29 +00:00
for( n = 0; n < MAXLEVEL; ++n, nMask <<= 1 )
2000-09-18 23:08:29 +00:00
{
const SwNumFmt& rOldFmt = pOld->Get( n ),
& rNewFmt = rRule.Get( n );
if( rOldFmt != rNewFmt )
{
nChgFmtLevel |= nMask;
}
else if( SVX_NUM_NUMBER_NONE > rNewFmt.GetNumberingType() && 1 < rNewFmt.GetIncludeUpperLevels() &&
0 != (nChgFmtLevel & GetUpperLvlChg( n, rNewFmt.GetIncludeUpperLevels(),nMask )) )
2000-09-18 23:08:29 +00:00
nChgFmtLevel |= nMask;
}
if( !nChgFmtLevel ) // Nothing has been changed?
2000-09-18 23:08:29 +00:00
{
const bool bInvalidateNumRule( pOld->IsContinusNum() != rRule.IsContinusNum() );
2000-09-18 23:08:29 +00:00
pOld->CheckCharFmts( &rDoc );
pOld->SetContinusNum( rRule.IsContinusNum() );
2010-10-18 12:55:43 +01:00
if ( bInvalidateNumRule )
{
pOld->SetInvalidRule(sal_True);
}
2010-10-18 12:55:43 +01:00
2000-09-18 23:08:29 +00:00
return ;
}
SwNumRule::tTxtNodeList aTxtNodeList;
pOld->GetTxtNodeList( aTxtNodeList );
sal_uInt8 nLvl( 0 );
for ( SwNumRule::tTxtNodeList::iterator aIter = aTxtNodeList.begin();
aIter != aTxtNodeList.end(); ++aIter )
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTxtNd = *aIter;
nLvl = static_cast<sal_uInt8>(pTxtNd->GetActualListLevel());
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( nLvl < MAXLEVEL )
2000-09-18 23:08:29 +00:00
{
if( nChgFmtLevel & ( 1 << nLvl ))
{
pTxtNd->NumRuleChgd();
}
}
}
for( n = 0; n < MAXLEVEL; ++n )
if( nChgFmtLevel & ( 1 << n ))
pOld->Set( n, rRule.GetNumFmt( n ));
pOld->CheckCharFmts( &rDoc );
pOld->SetInvalidRule(sal_True);
2000-09-18 23:08:29 +00:00
pOld->SetContinusNum( rRule.IsContinusNum() );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
rDoc.UpdateNumRule();
2000-09-18 23:08:29 +00:00
}
void SwDoc::SetNumRule( const SwPaM& rPam,
const SwNumRule& rRule,
const bool bCreateNewList,
const String sContinuedListId,
sal_Bool bSetItem,
const bool bResetIndentAttrs )
2000-09-18 23:08:29 +00:00
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwUndoInsNum * pUndo = NULL;
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
// Start/End for attributes!
GetIDocumentUndoRedo().StartUndo( UNDO_INSNUM, NULL );
pUndo = new SwUndoInsNum( rPam, rRule );
GetIDocumentUndoRedo().AppendUndo(pUndo);
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwNumRule * pNew = FindNumRulePtr( rRule.GetName() );
bool bUpdateRule = false;
2000-09-18 23:08:29 +00:00
if( !pNew )
{
2000-09-18 23:08:29 +00:00
pNew = (*pNumRuleTbl)[ MakeNumRule( rRule.GetName(), &rRule ) ];
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
else if (rRule != *pNew)
2000-09-18 23:08:29 +00:00
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
bUpdateRule = true;
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (bUpdateRule)
{
if( pUndo )
{
pUndo->SaveOldNumRule( *pNew );
::lcl_ChgNumRule( *this, rRule );
pUndo->SetLRSpaceEndPos();
}
else
{
::lcl_ChgNumRule( *this, rRule );
}
}
2000-09-18 23:08:29 +00:00
if ( bSetItem )
{
if ( bCreateNewList )
{
String sListId;
if ( !bUpdateRule )
{
// apply list id of list, which has been created for the new list style
sListId = pNew->GetDefaultListId();
}
else
{
// create new list and apply its list id
SwList* pNewList = createList( String(), pNew->GetName() );
OSL_ENSURE( pNewList,
"<SwDoc::SetNumRule(..)> - could not create new list. Serious defect -> please inform OD." );
sListId = pNewList->GetListId();
}
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
InsertPoolItem( rPam,
SfxStringItem( RES_PARATR_LIST_ID, sListId ), 0 );
}
else if ( sContinuedListId.Len() > 0 )
{
// apply given list id
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
InsertPoolItem( rPam,
SfxStringItem( RES_PARATR_LIST_ID, sContinuedListId ), 0 );
}
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if ( ! rPam.HasMark())
2000-09-18 23:08:29 +00:00
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwTxtNode * pTxtNd = rPam.GetPoint()->nNode.GetNode().GetTxtNode();
// consider case that the PaM doesn't denote a text node - e.g. it denotes a graphic node
if ( pTxtNd )
2000-09-18 23:08:29 +00:00
{
SwNumRule * pRule = pTxtNd->GetNumRule();
if (pRule && pRule->GetName() == pNew->GetName())
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
bSetItem = sal_False;
2010-10-18 12:55:43 +01:00
if ( !pTxtNd->IsInList() )
{
pTxtNd->AddToList();
}
}
2011-01-28 11:31:24 +00:00
// Only clear numbering attribute at text node, if at paragraph
// style the new numbering rule is found.
else if ( !pRule )
{
SwTxtFmtColl* pColl = pTxtNd->GetTxtColl();
if ( pColl )
2000-09-18 23:08:29 +00:00
{
SwNumRule* pCollRule = FindNumRulePtr(pColl->GetNumRule().GetValue());
if ( pCollRule && pCollRule->GetName() == pNew->GetName() )
{
pTxtNd->ResetAttr( RES_PARATR_NUMRULE );
bSetItem = sal_False;
}
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
CWS-TOOLING: integrate CWS sw32bf02 2009-08-25 15:52:04 +0200 hde r275366 : reactived testcases hit by issue 102752 2009-08-21 13:52:17 +0200 od r275245 : #i102921# delete files whose deletion has been forgotten in cws impress172 2009-08-21 11:20:47 +0200 od r275225 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@275001 (milestone: DEV300:m55) 2009-08-20 16:21:30 +0200 od r275191 : #i92511# method <lcl_MoveAllLowerObjs(..)> - invalidation of cache for object rectangle inclusive spaces is needed. 2009-08-20 15:50:40 +0200 od r275188 : #i96726# method <SwPagePreView::DocSzChgd(..)> - trigger recalculation of page preview layout even if the count of pages is not changing 2009-08-20 12:37:32 +0200 od r275172 : #i100466# correction for showing and hiding redlines 2009-08-18 13:25:18 +0200 od r275100 : #i103817# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that a heading applies the outline style, if no other list style is applied. 2009-08-18 13:21:38 +0200 od r275098 : #i103817# allow the outline style - list style for outline numbering - to be set directly at the paragraph 2009-08-17 14:13:02 +0200 od r275052 : #i103684# add missing documentation for new optional OutlineLevel attribute introduced in OOo 3.1 2009-08-17 14:00:25 +0200 od r275049 : #i100481# method <XMLTextFrameContext_Impl::CreateChildContext(..)># - correct condition for handling embedded documents and embedded math objects 2009-08-12 14:11:34 +0200 od r274891 : #i97379# assure that columns are not applied to fly frames, which represent graphics or embedded objects 2009-08-12 12:51:43 +0200 od r274889 : #i101870# method <SwTxtNode::_MakeNewTxtNode(..)> - perform action on different paragraph styles before applying new paragraph style 2009-08-12 12:24:44 +0200 od r274888 : #i101092# method <ViewShell::Paint(..)> - encapsulate paint of document background and document into pre and post drawing layer paint calls 2009-08-12 11:38:48 +0200 od r274886 : #i98766# minor adjustment in order to be warning free under Mac port builds 2009-08-12 11:33:54 +0200 od r274885 : #i99267# method <SwTabFrm::MakeAll()> - reset <bSplit> after forward move to assure that follows can be joined, if further space is available. 2009-08-12 11:11:49 +0200 od r274882 : #i98766# method <ViewShell::SmoothScroll(..) - disable smooth scroll for Mac port builds 2009-08-10 12:17:58 +0200 od r274801 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@274622 (milestone: DEV300:m54) 2009-07-21 16:56:45 +0200 od r274206 : #i103685# method <SwTxtFormatter::NewTabPortion(..)> - adjust condition to apply automatic tab stop at left margin correctly in case that tab stops are not relative to indent 2009-07-10 11:53:53 +0200 od r273883 : #i102752 method <SwDrawContact::Modify(..)> - assure that a ShapePropertyChangeNotifier exists 2009-07-07 12:01:58 +0200 mst r273788 : #i103304# apply patch by dtardon to fix bogus conditional 2009-07-07 09:01:13 +0200 od r273767 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@273468 (milestone: DEV300:m51)
2009-08-27 14:36:29 +00:00
if ( bSetItem )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
InsertPoolItem( rPam, SwNumRuleItem( pNew->GetName() ), 0 );
2000-09-18 23:08:29 +00:00
}
if ( bResetIndentAttrs &&
pNew && pNew->Get( 0 ).GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_ALIGNMENT )
{
::lcl_ResetIndentAttrs(this, rPam, RES_LR_SPACE);
}
if (GetIDocumentUndoRedo().DoesUndo())
{
GetIDocumentUndoRedo().EndUndo( UNDO_INSNUM, NULL );
}
2000-09-18 23:08:29 +00:00
SetModified();
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
void SwDoc::SetCounted(const SwPaM & rPam, bool bCounted)
{
if ( bCounted )
{
::lcl_ResetIndentAttrs(this, rPam, RES_PARATR_LIST_ISCOUNTED);
}
else
{
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
InsertPoolItem( rPam,
SfxBoolItem( RES_PARATR_LIST_ISCOUNTED, sal_False ), 0 );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
}
void SwDoc::SetNumRuleStart( const SwPosition& rPos, sal_Bool bFlag )
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTxtNd = rPos.nNode.GetNode().GetTxtNode();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (pTxtNd)
2000-09-18 23:08:29 +00:00
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
const SwNumRule* pRule = pTxtNd->GetNumRule();
if( pRule && !bFlag != !pTxtNd->IsListRestart())
2000-09-18 23:08:29 +00:00
{
if (GetIDocumentUndoRedo().DoesUndo())
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
SwUndo *const pUndo( new SwUndoNumRuleStart(rPos, bFlag) );
GetIDocumentUndoRedo().AppendUndo(pUndo);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
pTxtNd->SetListRestart(bFlag ? true : false);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SetModified();
2000-09-18 23:08:29 +00:00
}
}
}
void SwDoc::SetNodeNumStart( const SwPosition& rPos, sal_uInt16 nStt )
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTxtNd = rPos.nNode.GetNode().GetTxtNode();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (pTxtNd)
2000-09-18 23:08:29 +00:00
{
if ( !pTxtNd->HasAttrListRestartValue() ||
pTxtNd->GetAttrListRestartValue() != nStt )
2000-09-18 23:08:29 +00:00
{
if (GetIDocumentUndoRedo().DoesUndo())
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
SwUndo *const pUndo( new SwUndoNumRuleStart(rPos, nStt) );
GetIDocumentUndoRedo().AppendUndo(pUndo);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
pTxtNd->SetAttrListRestartValue( nStt );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SetModified();
}
2000-09-18 23:08:29 +00:00
}
}
// We can only delete if the Rule is unused!
sal_Bool SwDoc::DelNumRule( const String& rName, sal_Bool bBroadcast )
2000-09-18 23:08:29 +00:00
{
sal_uInt16 nPos = FindNumRule( rName );
if ( (*pNumRuleTbl)[ nPos ] == GetOutlineNumRule() )
{
OSL_FAIL( "<SwDoc::DelNumRule(..)> - No deletion of outline list style. This is serious defect - please inform OD" );
return sal_False;
}
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nPos && !IsUsed( *(*pNumRuleTbl)[ nPos ] ))
{
if (GetIDocumentUndoRedo().DoesUndo())
{
SwUndo * pUndo =
new SwUndoNumruleDelete(*(*pNumRuleTbl)[nPos], this);
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
if (bBroadcast)
BroadcastStyleOperation(rName, SFX_STYLE_FAMILY_PSEUDO,
SFX_STYLESHEET_ERASED);
deleteListForListStyle( rName );
{
// delete further list, which have the deleted list style as default list style
std::vector< SwList* > aListsForDeletion;
tHashMapForLists::iterator aListIter = maLists.begin();
while ( aListIter != maLists.end() )
{
SwList* pList = (*aListIter).second;
if ( pList->GetDefaultListStyleName() == rName )
{
aListsForDeletion.push_back( pList );
}
++aListIter;
}
while ( !aListsForDeletion.empty() )
{
SwList* pList = aListsForDeletion.back();
aListsForDeletion.pop_back();
deleteList( pList->GetListId() );
}
}
// #i34097# DeleteAndDestroy deletes rName if
// rName is directly taken from the numrule.
const String aTmpName( rName );
delete (*pNumRuleTbl)[ nPos ];
pNumRuleTbl->erase( pNumRuleTbl->begin() + nPos );
maNumRuleMap.erase(aTmpName);
2000-09-18 23:08:29 +00:00
SetModified();
return sal_True;
2000-09-18 23:08:29 +00:00
}
return sal_False;
2000-09-18 23:08:29 +00:00
}
void SwDoc::ChgNumRuleFmts( const SwNumRule& rRule, const String * pName )
2000-09-18 23:08:29 +00:00
{
SwNumRule* pRule = FindNumRulePtr( pName ? *pName : rRule.GetName() );
2000-09-18 23:08:29 +00:00
if( pRule )
{
SwUndoInsNum* pUndo = 0;
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
pUndo = new SwUndoInsNum( *pRule, rRule );
pUndo->GetHistory();
GetIDocumentUndoRedo().AppendUndo( pUndo );
2000-09-18 23:08:29 +00:00
}
::lcl_ChgNumRule( *this, rRule );
2000-09-18 23:08:29 +00:00
if( pUndo )
pUndo->SetLRSpaceEndPos();
SetModified();
}
}
sal_Bool SwDoc::RenameNumRule(const String & rOldName, const String & rNewName,
sal_Bool bBroadcast)
{
sal_Bool bResult = sal_False;
SwNumRule * pNumRule = FindNumRulePtr(rOldName);
if (pNumRule)
{
if (GetIDocumentUndoRedo().DoesUndo())
{
SwUndo * pUndo = new SwUndoNumruleRename(rOldName, rNewName, this);
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
SwNumRule::tTxtNodeList aTxtNodeList;
pNumRule->GetTxtNodeList( aTxtNodeList );
pNumRule->SetName( rNewName, *this );
SwNumRuleItem aItem(rNewName);
2010-11-18 08:25:05 +01:00
for ( SwNumRule::tTxtNodeList::iterator aIter = aTxtNodeList.begin();
aIter != aTxtNodeList.end(); ++aIter )
{
SwTxtNode * pTxtNd = *aIter;
pTxtNd->SetAttr(aItem);
}
bResult = sal_True;
if (bBroadcast)
BroadcastStyleOperation(rOldName, SFX_STYLE_FAMILY_PSEUDO,
SFX_STYLESHEET_MODIFIED);
}
return bResult;
}
2000-09-18 23:08:29 +00:00
void SwDoc::StopNumRuleAnimations( OutputDevice* pOut )
{
for( sal_uInt16 n = GetNumRuleTbl().size(); n; )
2000-09-18 23:08:29 +00:00
{
SwNumRule::tTxtNodeList aTxtNodeList;
GetNumRuleTbl()[ --n ]->GetTxtNodeList( aTxtNodeList );
for ( SwNumRule::tTxtNodeList::iterator aTxtNodeIter = aTxtNodeList.begin();
aTxtNodeIter != aTxtNodeList.end(); ++aTxtNodeIter )
2000-09-18 23:08:29 +00:00
{
SwTxtNode* pTNd = *aTxtNodeIter;
SwIterator<SwTxtFrm,SwTxtNode> aIter(*pTNd);
for(SwTxtFrm* pFrm = aIter.First(); pFrm; pFrm = aIter.Next() )
if( pFrm->HasAnimation() )
pFrm->StopAnimation( pOut );
2000-09-18 23:08:29 +00:00
}
}
}
sal_Bool SwDoc::ReplaceNumRule( const SwPosition& rPos,
2000-09-18 23:08:29 +00:00
const String& rOldRule, const String& rNewRule )
{
sal_Bool bRet = sal_False;
2000-09-18 23:08:29 +00:00
SwNumRule *pOldRule = FindNumRulePtr( rOldRule ),
*pNewRule = FindNumRulePtr( rNewRule );
if( pOldRule && pNewRule && pOldRule != pNewRule )
{
SwUndoInsNum* pUndo = 0;
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
// Start/End for attributes!
GetIDocumentUndoRedo().StartUndo( UNDO_START, NULL );
pUndo = new SwUndoInsNum( rPos, *pNewRule, rOldRule );
GetIDocumentUndoRedo().AppendUndo(pUndo);
2000-09-18 23:08:29 +00:00
}
SwNumRule::tTxtNodeList aTxtNodeList;
pOldRule->GetTxtNodeList( aTxtNodeList );
if ( aTxtNodeList.size() > 0 )
{
2000-09-18 23:08:29 +00:00
SwRegHistory aRegH( pUndo ? pUndo->GetHistory() : 0 );
sal_uInt16 nChgFmtLevel = 0;
for( sal_uInt8 n = 0; n < MAXLEVEL; ++n )
{
const SwNumFmt& rOldFmt = pOldRule->Get( n ),
& rNewFmt = pNewRule->Get( n );
2000-09-18 23:08:29 +00:00
if( rOldFmt.GetAbsLSpace() != rNewFmt.GetAbsLSpace() ||
rOldFmt.GetFirstLineOffset() != rNewFmt.GetFirstLineOffset() )
nChgFmtLevel |= ( 1 << n );
}
2000-09-18 23:08:29 +00:00
const SwTxtNode* pGivenTxtNode = rPos.nNode.GetNode().GetTxtNode();
SwNumRuleItem aRule( rNewRule );
for ( SwNumRule::tTxtNodeList::iterator aIter = aTxtNodeList.begin();
aIter != aTxtNodeList.end(); ++aIter )
{
SwTxtNode* pTxtNd = *aIter;
2000-09-18 23:08:29 +00:00
if ( pGivenTxtNode &&
pGivenTxtNode->GetListId() == pTxtNd->GetListId() )
{
aRegH.RegisterInModify( pTxtNd, *pTxtNd );
2000-09-18 23:08:29 +00:00
pTxtNd->SetAttr( aRule );
pTxtNd->NumRuleChgd();
}
}
GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
SetModified();
Merge commit 'ooo/DEV300_m101' into integration/dev300_m101 Conflicts: starmath/inc/applicat.hxx starmath/inc/dialog.hxx starmath/inc/document.hxx starmath/inc/edit.hxx starmath/inc/format.hxx starmath/inc/node.hxx starmath/inc/parse.hxx starmath/inc/rect.hxx starmath/inc/smdll.hxx starmath/inc/smmod.hxx starmath/inc/starmath.hrc starmath/inc/symbol.hxx starmath/inc/toolbox.hxx starmath/inc/utility.hxx starmath/inc/view.hxx starmath/prj/build.lst starmath/qa/cppunit/version.map starmath/sdi/smslots.sdi starmath/source/accessibility.cxx starmath/source/cfgitem.cxx starmath/source/cfgitem.hxx starmath/source/config.cxx starmath/source/dialog.cxx starmath/source/document.cxx starmath/source/edit.cxx starmath/source/format.cxx starmath/source/makefile.mk starmath/source/math_pch.cxx starmath/source/mathmlexport.cxx starmath/source/mathmlimport.cxx starmath/source/mathtype.cxx starmath/source/node.cxx starmath/source/parse.cxx starmath/source/rect.cxx starmath/source/register.cxx starmath/source/smdetect.cxx starmath/source/smdll.cxx starmath/source/smmod.cxx starmath/source/smres.src starmath/source/symbol.cxx starmath/source/toolbox.cxx starmath/source/unomodel.cxx starmath/source/utility.cxx starmath/source/view.cxx sw/JunitTest_sw_unoapi.mk sw/Library_swd.mk sw/Makefile sw/inc/IDocumentFieldsAccess.hxx sw/inc/IDocumentSettingAccess.hxx sw/inc/IDocumentUndoRedo.hxx sw/inc/IShellCursorSupplier.hxx sw/inc/SwUndoField.hxx sw/inc/acmplwrd.hxx sw/inc/authfld.hxx sw/inc/bparr.hxx sw/inc/calbck.hxx sw/inc/calc.hxx sw/inc/ccoll.hxx sw/inc/cellatr.hxx sw/inc/cellfml.hxx sw/inc/chpfld.hxx sw/inc/cmdid.h sw/inc/crsrsh.hxx sw/inc/crstate.hxx sw/inc/dbfld.hxx sw/inc/dbmgr.hxx sw/inc/dcontact.hxx sw/inc/ddefld.hxx sw/inc/doc.hxx sw/inc/docary.hxx sw/inc/docsh.hxx sw/inc/docstat.hxx sw/inc/docstyle.hxx sw/inc/docufld.hxx sw/inc/editsh.hxx sw/inc/errhdl.hxx sw/inc/expfld.hxx sw/inc/fchrfmt.hxx sw/inc/fesh.hxx sw/inc/fldbas.hxx sw/inc/flddat.hxx sw/inc/flddropdown.hxx sw/inc/flypos.hxx sw/inc/fmtanchr.hxx sw/inc/fmtautofmt.hxx sw/inc/fmtclds.hxx sw/inc/fmtcnct.hxx sw/inc/fmtcol.hxx sw/inc/fmtfsize.hxx sw/inc/fmtftn.hxx sw/inc/fmtftntx.hxx sw/inc/fmthdft.hxx sw/inc/fmtinfmt.hxx sw/inc/fmtline.hxx sw/inc/fmtornt.hxx sw/inc/fmtpdsc.hxx sw/inc/fmtruby.hxx sw/inc/fmtsrnd.hxx sw/inc/fmturl.hxx sw/inc/fmtwrapinfluenceonobjpos.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/grfatr.hxx sw/inc/helpid.h sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/htmltbl.hxx sw/inc/inetfld.hxx sw/inc/io.hxx sw/inc/iodetect.hxx sw/inc/itabenum.hxx sw/inc/ndarr.hxx sw/inc/ndgrf.hxx sw/inc/ndindex.hxx sw/inc/ndnotxt.hxx sw/inc/ndole.hxx sw/inc/ndtxt.hxx sw/inc/ndtyp.hxx sw/inc/node.hxx sw/inc/numrule.hxx sw/inc/pagedesc.hxx sw/inc/pagepreviewlayout.hxx sw/inc/pam.hxx sw/inc/paratr.hxx sw/inc/poolfmt.awk sw/inc/poolfmt.hxx sw/inc/printdata.hxx sw/inc/reffld.hxx sw/inc/shellio.hxx sw/inc/shellres.hxx sw/inc/swabstdlg.hxx sw/inc/swatrset.hxx sw/inc/swerror.h sw/inc/swprtopt.hxx sw/inc/swtable.hxx sw/inc/swtypes.hxx sw/inc/tblafmt.hxx sw/inc/tgrditem.hxx sw/inc/tox.hxx sw/inc/undobj.hxx sw/inc/unocoll.hxx sw/inc/unoframe.hxx sw/inc/unoprnms.hxx sw/inc/usrfld.hxx sw/inc/viewopt.hxx sw/inc/viewsh.hxx sw/inc/viscrs.hxx sw/prj/build.lst sw/qa/complex/accessibility/makefile.mk sw/qa/core/Test-BigPtrArray.cxx sw/qa/core/makefile.mk sw/sdi/makefile.mk sw/source/core/access/makefile.mk sw/source/core/access/textmarkuphelper.cxx sw/source/core/attr/calbck.cxx sw/source/core/attr/cellatr.cxx sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/bastyp/calc.cxx sw/source/core/bastyp/init.cxx sw/source/core/bastyp/makefile.mk sw/source/core/bastyp/swcache.cxx sw/source/core/crsr/bookmrk.cxx sw/source/core/crsr/callnk.cxx sw/source/core/crsr/crsrsh.cxx sw/source/core/crsr/crstrvl.cxx sw/source/core/crsr/findattr.cxx sw/source/core/crsr/findcoll.cxx sw/source/core/crsr/makefile.mk sw/source/core/crsr/pam.cxx sw/source/core/crsr/swcrsr.cxx sw/source/core/crsr/trvltbl.cxx sw/source/core/crsr/unocrsr.cxx sw/source/core/crsr/viscrs.cxx sw/source/core/doc/acmplwrd.cxx sw/source/core/doc/doc.cxx sw/source/core/doc/docbm.cxx sw/source/core/doc/doccomp.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docedt.cxx sw/source/core/doc/docfld.cxx sw/source/core/doc/docfly.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docftn.cxx sw/source/core/doc/docglbl.cxx sw/source/core/doc/docglos.cxx sw/source/core/doc/doclay.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docnum.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/docruby.cxx sw/source/core/doc/docsort.cxx sw/source/core/doc/docstat.cxx sw/source/core/doc/doctxm.cxx sw/source/core/doc/fmtcol.cxx sw/source/core/doc/gctable.cxx sw/source/core/doc/htmltbl.cxx sw/source/core/doc/makefile.mk sw/source/core/doc/number.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/tblafmt.cxx sw/source/core/doc/tblcpy.cxx sw/source/core/doc/tblrwcl.cxx sw/source/core/docnode/makefile.mk sw/source/core/docnode/ndcopy.cxx sw/source/core/docnode/ndnum.cxx sw/source/core/docnode/ndsect.cxx sw/source/core/docnode/ndtbl.cxx sw/source/core/docnode/ndtbl1.cxx sw/source/core/docnode/node.cxx sw/source/core/docnode/node2lay.cxx sw/source/core/docnode/nodes.cxx sw/source/core/docnode/section.cxx sw/source/core/docnode/swbaslnk.cxx sw/source/core/draw/dcontact.cxx sw/source/core/draw/dflyobj.cxx sw/source/core/draw/drawdoc.cxx sw/source/core/draw/dview.cxx sw/source/core/draw/makefile.mk sw/source/core/edit/autofmt.cxx sw/source/core/edit/edattr.cxx sw/source/core/edit/eddel.cxx sw/source/core/edit/edfcol.cxx sw/source/core/edit/edfld.cxx sw/source/core/edit/edfldexp.cxx sw/source/core/edit/edfmt.cxx sw/source/core/edit/edglss.cxx sw/source/core/edit/editsh.cxx sw/source/core/edit/edlingu.cxx sw/source/core/edit/ednumber.cxx sw/source/core/edit/edsect.cxx sw/source/core/edit/edtab.cxx sw/source/core/edit/edtox.cxx sw/source/core/edit/edundo.cxx sw/source/core/edit/makefile.mk sw/source/core/except/dbgloop.cxx sw/source/core/except/errhdl.cxx sw/source/core/fields/authfld.cxx sw/source/core/fields/cellfml.cxx sw/source/core/fields/chpfld.cxx sw/source/core/fields/dbfld.cxx sw/source/core/fields/ddefld.cxx sw/source/core/fields/ddetbl.cxx sw/source/core/fields/docufld.cxx sw/source/core/fields/expfld.cxx sw/source/core/fields/fldbas.cxx sw/source/core/fields/flddat.cxx sw/source/core/fields/flddropdown.cxx sw/source/core/fields/macrofld.cxx sw/source/core/fields/makefile.mk sw/source/core/fields/reffld.cxx sw/source/core/fields/scrptfld.cxx sw/source/core/fields/tblcalc.cxx sw/source/core/fields/usrfld.cxx sw/source/core/frmedt/fecopy.cxx sw/source/core/frmedt/fedesc.cxx sw/source/core/frmedt/fefly1.cxx sw/source/core/frmedt/feshview.cxx sw/source/core/frmedt/fetab.cxx sw/source/core/frmedt/fews.cxx sw/source/core/frmedt/makefile.mk sw/source/core/frmedt/tblsel.cxx sw/source/core/graphic/grfatr.cxx sw/source/core/inc/SwUndoFmt.hxx sw/source/core/inc/SwUndoTOXChange.hxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/inc/dbgloop.hxx sw/source/core/inc/drawfont.hxx sw/source/core/inc/flowfrm.hxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/layact.hxx sw/source/core/inc/layfrm.hxx sw/source/core/inc/notxtfrm.hxx sw/source/core/inc/rolbck.hxx sw/source/core/inc/rootfrm.hxx sw/source/core/inc/scriptinfo.hxx sw/source/core/inc/swblocks.hxx sw/source/core/inc/swcache.hxx sw/source/core/inc/tabfrm.hxx sw/source/core/inc/txmsrt.hxx sw/source/core/inc/undoflystrattr.hxx sw/source/core/inc/viewimp.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/calcmove.cxx sw/source/core/layout/dbg_lay.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/flowfrm.cxx sw/source/core/layout/fly.cxx sw/source/core/layout/flycnt.cxx sw/source/core/layout/flyincnt.cxx sw/source/core/layout/flylay.cxx sw/source/core/layout/frmtool.cxx sw/source/core/layout/ftnfrm.cxx sw/source/core/layout/layact.cxx sw/source/core/layout/laycache.cxx sw/source/core/layout/makefile.mk sw/source/core/layout/objectformatter.cxx sw/source/core/layout/pagechg.cxx sw/source/core/layout/pagedesc.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/sectfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/layout/unusedf.cxx sw/source/core/layout/wsfrm.cxx sw/source/core/makefile.mk sw/source/core/objectpositioning/anchoredobjectposition.cxx sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx sw/source/core/objectpositioning/makefile.mk sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx sw/source/core/ole/ndole.cxx sw/source/core/para/makefile.mk sw/source/core/para/paratr.cxx sw/source/core/sw3io/makefile.mk sw/source/core/sw3io/sw3convert.cxx sw/source/core/swg/SwXMLTextBlocks.cxx sw/source/core/swg/makefile.mk sw/source/core/swg/swblocks.cxx sw/source/core/table/swnewtable.cxx sw/source/core/table/swtable.cxx sw/source/core/text/EnhancedPDFExportHelper.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/frmcrsr.cxx sw/source/core/text/frmform.cxx sw/source/core/text/itrcrsr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/makefile.mk sw/source/core/text/porlay.cxx sw/source/core/text/pormulti.cxx sw/source/core/text/txtfld.cxx sw/source/core/text/txtfrm.cxx sw/source/core/text/txtio.cxx sw/source/core/tox/makefile.mk sw/source/core/tox/txmsrt.cxx sw/source/core/txtnode/fmtatr2.cxx sw/source/core/txtnode/fntcache.cxx sw/source/core/txtnode/fntcap.cxx sw/source/core/txtnode/makefile.mk sw/source/core/txtnode/ndhints.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/swfont.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/SwUndoField.cxx sw/source/core/undo/SwUndoPageDesc.cxx sw/source/core/undo/SwUndoTOXChange.cxx sw/source/core/undo/docundo.cxx sw/source/core/undo/makefile.mk sw/source/core/undo/rolbck.cxx sw/source/core/undo/unbkmk.cxx sw/source/core/undo/undel.cxx sw/source/core/undo/undobj.cxx sw/source/core/undo/undobj1.cxx sw/source/core/undo/unfmco.cxx sw/source/core/undo/unins.cxx sw/source/core/undo/unnum.cxx sw/source/core/undo/unoutl.cxx sw/source/core/undo/unredln.cxx sw/source/core/undo/unsect.cxx sw/source/core/undo/unsort.cxx sw/source/core/undo/unspnd.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/makefile.mk sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unobkm.cxx sw/source/core/unocore/unocoll.cxx sw/source/core/unocore/unocrsrhelper.cxx sw/source/core/unocore/unodraw.cxx sw/source/core/unocore/unofield.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unoredlines.cxx sw/source/core/unocore/unosett.cxx sw/source/core/unocore/unosrch.cxx sw/source/core/unocore/unostyle.cxx sw/source/core/unocore/unotbl.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/viewimp.cxx sw/source/core/view/viewpg.cxx sw/source/core/view/viewsh.cxx sw/source/core/view/vnew.cxx sw/source/core/view/vprint.cxx sw/source/filter/ascii/ascatr.cxx sw/source/filter/ascii/makefile.mk sw/source/filter/ascii/wrtasc.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/basflt/iodetect.cxx sw/source/filter/basflt/makefile.mk sw/source/filter/html/SwAppletImpl.cxx sw/source/filter/html/css1atr.cxx sw/source/filter/html/htmlatr.cxx sw/source/filter/html/htmlbas.cxx sw/source/filter/html/htmlcss1.cxx sw/source/filter/html/htmlfly.cxx sw/source/filter/html/htmlftn.cxx sw/source/filter/html/htmlgrin.cxx sw/source/filter/html/htmlnum.cxx sw/source/filter/html/htmlplug.cxx sw/source/filter/html/htmltab.cxx sw/source/filter/html/makefile.mk sw/source/filter/html/parcss1.cxx sw/source/filter/html/svxcss1.cxx sw/source/filter/html/swhtml.cxx sw/source/filter/inc/msfilter.hxx sw/source/filter/inc/wrtswtbl.hxx sw/source/filter/rtf/makefile.mk sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/rtfnum.cxx sw/source/filter/rtf/rtftbl.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/rtf/swparrtf.hxx sw/source/filter/writer/makefile.mk sw/source/filter/writer/writer.cxx sw/source/filter/writer/wrt_fn.cxx sw/source/filter/writer/wrtswtbl.cxx sw/source/filter/ww1/fltshell.cxx sw/source/filter/ww1/makefile.mk sw/source/filter/ww1/w1class.cxx sw/source/filter/ww1/w1class.hxx sw/source/filter/ww1/w1filter.cxx sw/source/filter/ww1/w1par.cxx sw/source/filter/ww1/w1sprm.cxx sw/source/filter/ww1/w1struct.hxx sw/source/filter/ww8/README-rtf.txt sw/source/filter/ww8/attributeoutputbase.hxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/docxattributeoutput.hxx sw/source/filter/ww8/docxexport.cxx sw/source/filter/ww8/docxexport.hxx sw/source/filter/ww8/docxexportfilter.cxx sw/source/filter/ww8/dump/dump8.cxx sw/source/filter/ww8/dump/dump8a.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/msvbasic.hxx sw/source/filter/ww8/dump/ww8darr.cxx sw/source/filter/ww8/dump/ww8darr.hxx sw/source/filter/ww8/dump/ww8dout.cxx sw/source/filter/ww8/dump/ww8dout.hxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/makefile.mk sw/source/filter/ww8/rtfattributeoutput.cxx sw/source/filter/ww8/rtfattributeoutput.hxx sw/source/filter/ww8/rtfexport.cxx sw/source/filter/ww8/rtfexport.hxx sw/source/filter/ww8/rtfexportfilter.cxx sw/source/filter/ww8/rtfexportfilter.hxx sw/source/filter/ww8/rtfimportfilter.cxx sw/source/filter/ww8/rtfimportfilter.hxx sw/source/filter/ww8/rtfsdrexport.cxx sw/source/filter/ww8/rtfsdrexport.hxx sw/source/filter/ww8/writerhelper.cxx sw/source/filter/ww8/writerwordglue.cxx sw/source/filter/ww8/wrtw8esh.cxx sw/source/filter/ww8/wrtw8nds.cxx sw/source/filter/ww8/wrtw8num.cxx sw/source/filter/ww8/wrtw8sty.cxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/wrtww8.hxx sw/source/filter/ww8/wrtww8gr.cxx sw/source/filter/ww8/ww8atr.cxx sw/source/filter/ww8/ww8attributeoutput.hxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8graf.hxx sw/source/filter/ww8/ww8graf2.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par.hxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par5.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/filter/ww8/ww8struc.hxx sw/source/filter/xml/makefile.mk sw/source/filter/xml/xmlimpit.cxx sw/source/filter/xml/xmltble.cxx sw/source/filter/xml/xmltbli.cxx sw/source/ui/app/appenv.cxx sw/source/ui/app/apphdl.cxx sw/source/ui/app/applab.cxx sw/source/ui/app/appopt.cxx sw/source/ui/app/docsh.cxx sw/source/ui/app/docsh2.cxx sw/source/ui/app/docshini.cxx sw/source/ui/app/docst.cxx sw/source/ui/app/docstyle.cxx sw/source/ui/app/makefile.mk sw/source/ui/app/mn.src sw/source/ui/app/swmodul1.cxx sw/source/ui/cctrl/makefile.mk sw/source/ui/cctrl/swlbox.cxx sw/source/ui/chrdlg/break.cxx sw/source/ui/chrdlg/ccoll.cxx sw/source/ui/chrdlg/chardlg.cxx sw/source/ui/chrdlg/drpcps.cxx sw/source/ui/chrdlg/makefile.mk sw/source/ui/chrdlg/numpara.cxx sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/chrdlg/swuiccoll.cxx sw/source/ui/config/barcfg.cxx sw/source/ui/config/caption.cxx sw/source/ui/config/cfgitems.cxx sw/source/ui/config/fontcfg.cxx sw/source/ui/config/mailconfigpage.cxx sw/source/ui/config/makefile.mk sw/source/ui/config/modcfg.cxx sw/source/ui/config/optcomp.cxx sw/source/ui/config/optload.cxx sw/source/ui/config/optpage.cxx sw/source/ui/config/prtopt.cxx sw/source/ui/config/uinums.cxx sw/source/ui/config/usrpref.cxx sw/source/ui/config/viewopt.cxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/dbui/dbmgr.cxx sw/source/ui/dbui/dbtree.cxx sw/source/ui/dbui/makefile.mk sw/source/ui/dbui/mmaddressblockpage.cxx sw/source/ui/dbui/mmdocselectpage.cxx sw/source/ui/dbui/mmoutputpage.cxx sw/source/ui/dbui/swdbtoolsclient.cxx sw/source/ui/dialog/abstract.cxx sw/source/ui/dialog/ascfldlg.cxx sw/source/ui/dialog/macassgn.cxx sw/source/ui/dialog/makefile.mk sw/source/ui/dialog/regionsw.cxx sw/source/ui/dialog/swdlgfact.cxx sw/source/ui/dialog/swdlgfact.hxx sw/source/ui/dialog/uiregionsw.cxx sw/source/ui/dochdl/gloshdl.cxx sw/source/ui/dochdl/makefile.mk sw/source/ui/dochdl/swdtflvr.cxx sw/source/ui/docvw/PostItMgr.cxx sw/source/ui/docvw/SidebarWin.cxx sw/source/ui/docvw/edtdd.cxx sw/source/ui/docvw/edtwin.cxx sw/source/ui/docvw/edtwin2.cxx sw/source/ui/docvw/edtwin3.cxx sw/source/ui/docvw/makefile.mk sw/source/ui/docvw/romenu.cxx sw/source/ui/docvw/romenu.hxx sw/source/ui/docvw/srcedtw.cxx sw/source/ui/envelp/envfmt.cxx sw/source/ui/envelp/envimg.cxx sw/source/ui/envelp/envlop1.cxx sw/source/ui/envelp/envprt.cxx sw/source/ui/envelp/label1.cxx sw/source/ui/envelp/labfmt.cxx sw/source/ui/envelp/labprt.cxx sw/source/ui/envelp/mailmrge.cxx sw/source/ui/envelp/makefile.mk sw/source/ui/fldui/flddb.cxx sw/source/ui/fldui/flddinf.cxx sw/source/ui/fldui/flddok.cxx sw/source/ui/fldui/fldedt.cxx sw/source/ui/fldui/fldfunc.cxx sw/source/ui/fldui/fldmgr.cxx sw/source/ui/fldui/fldpage.cxx sw/source/ui/fldui/fldref.cxx sw/source/ui/fldui/fldtdlg.cxx sw/source/ui/fldui/fldvar.cxx sw/source/ui/fldui/fldwrap.cxx sw/source/ui/fldui/inpdlg.cxx sw/source/ui/fldui/makefile.mk sw/source/ui/fmtui/makefile.mk sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/frmdlg/colmgr.cxx sw/source/ui/frmdlg/column.cxx sw/source/ui/frmdlg/cption.cxx sw/source/ui/frmdlg/frmdlg.cxx sw/source/ui/frmdlg/frmmgr.cxx sw/source/ui/frmdlg/frmpage.cxx sw/source/ui/frmdlg/makefile.mk sw/source/ui/frmdlg/wrap.cxx sw/source/ui/globdoc/makefile.mk sw/source/ui/inc/bmpwin.hxx sw/source/ui/inc/colmgr.hxx sw/source/ui/inc/column.hxx sw/source/ui/inc/envimg.hxx sw/source/ui/inc/envlop.hxx sw/source/ui/inc/frmpage.hxx sw/source/ui/inc/inputwin.hxx sw/source/ui/inc/javaedit.hxx sw/source/ui/inc/num.hxx sw/source/ui/inc/optpage.hxx sw/source/ui/inc/regionsw.hxx sw/source/ui/inc/split.hxx sw/source/ui/inc/swlbox.hxx sw/source/ui/inc/swmn_tmpl.hrc sw/source/ui/inc/swuiidxmrk.hxx sw/source/ui/inc/tabsh.hxx sw/source/ui/inc/toxmgr.hxx sw/source/ui/inc/uiitems.hxx sw/source/ui/inc/view.hxx sw/source/ui/inc/workctrl.hxx sw/source/ui/inc/wrap.hxx sw/source/ui/inc/wrtsh.hxx sw/source/ui/index/cnttab.cxx sw/source/ui/index/makefile.mk sw/source/ui/index/toxmgr.cxx sw/source/ui/lingu/hhcwrp.cxx sw/source/ui/lingu/makefile.mk sw/source/ui/lingu/olmenu.cxx sw/source/ui/misc/bookmark.cxx sw/source/ui/misc/docfnote.cxx sw/source/ui/misc/glosbib.cxx sw/source/ui/misc/glosdoc.cxx sw/source/ui/misc/glshell.cxx sw/source/ui/misc/insfnote.cxx sw/source/ui/misc/linenum.cxx sw/source/ui/misc/makefile.mk sw/source/ui/misc/num.cxx sw/source/ui/misc/numberingtypelistbox.cxx sw/source/ui/misc/outline.cxx sw/source/ui/misc/pgfnote.cxx sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/redlndlg.cxx sw/source/ui/misc/srtdlg.cxx sw/source/ui/misc/swmodalredlineacceptdlg.cxx sw/source/ui/ribbar/conarc.cxx sw/source/ui/ribbar/drawbase.cxx sw/source/ui/ribbar/inputwin.cxx sw/source/ui/ribbar/inputwin.src sw/source/ui/ribbar/makefile.mk sw/source/ui/ribbar/tbxanchr.cxx sw/source/ui/ribbar/workctrl.cxx sw/source/ui/ribbar/workctrl.src sw/source/ui/shells/annotsh.cxx sw/source/ui/shells/basesh.cxx sw/source/ui/shells/beziersh.cxx sw/source/ui/shells/drawdlg.cxx sw/source/ui/shells/drwbassh.cxx sw/source/ui/shells/drwtxtex.cxx sw/source/ui/shells/drwtxtsh.cxx sw/source/ui/shells/frmsh.cxx sw/source/ui/shells/grfsh.cxx sw/source/ui/shells/grfshex.cxx sw/source/ui/shells/makefile.mk sw/source/ui/shells/tabsh.cxx sw/source/ui/shells/textfld.cxx sw/source/ui/shells/textglos.cxx sw/source/ui/shells/textsh.cxx sw/source/ui/shells/textsh1.cxx sw/source/ui/shells/txtattr.cxx sw/source/ui/shells/txtcrsr.cxx sw/source/ui/shells/txtnum.cxx sw/source/ui/table/convert.cxx sw/source/ui/table/instable.cxx sw/source/ui/table/makefile.mk sw/source/ui/table/swtablerep.cxx sw/source/ui/table/tabledlg.cxx sw/source/ui/table/tablemgr.cxx sw/source/ui/table/tablepg.hxx sw/source/ui/table/tautofmt.cxx sw/source/ui/uiview/formatclipboard.cxx sw/source/ui/uiview/makefile.mk sw/source/ui/uiview/pview.cxx sw/source/ui/uiview/pview.src sw/source/ui/uiview/scroll.cxx sw/source/ui/uiview/srcview.cxx sw/source/ui/uiview/swcli.cxx sw/source/ui/uiview/uivwimp.cxx sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view1.cxx sw/source/ui/uiview/view2.cxx sw/source/ui/uiview/viewcoll.cxx sw/source/ui/uiview/viewdlg2.cxx sw/source/ui/uiview/viewling.cxx sw/source/ui/uiview/viewmdi.cxx sw/source/ui/uiview/viewport.cxx sw/source/ui/uiview/viewprt.cxx sw/source/ui/uiview/viewsrch.cxx sw/source/ui/uiview/viewtab.cxx sw/source/ui/uno/SwXDocumentSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.hxx sw/source/ui/uno/unoatxt.cxx sw/source/ui/uno/unomod.cxx sw/source/ui/uno/unotxdoc.cxx sw/source/ui/uno/unotxvw.cxx sw/source/ui/utlui/attrdesc.cxx sw/source/ui/utlui/content.cxx sw/source/ui/utlui/glbltree.cxx sw/source/ui/utlui/initui.cxx sw/source/ui/utlui/makefile.mk sw/source/ui/utlui/navipi.cxx sw/source/ui/utlui/navipi.src sw/source/ui/utlui/numfmtlb.cxx sw/source/ui/utlui/prcntfld.cxx sw/source/ui/utlui/uiitems.cxx sw/source/ui/utlui/uitool.cxx sw/source/ui/utlui/unotools.cxx sw/source/ui/utlui/viewlayoutctrl.cxx sw/source/ui/utlui/zoomctrl.cxx sw/source/ui/vba/makefile.mk sw/source/ui/vba/service.cxx sw/source/ui/web/makefile.mk sw/source/ui/wrtsh/makefile.mk sw/source/ui/wrtsh/wrtsh1.cxx sw/source/ui/wrtsh/wrtsh2.cxx sw/source/ui/wrtsh/wrtsh4.cxx sw/source/ui/wrtsh/wrtundo.cxx sw/util/hidother.src sw/util/makefile.mk sw/util/msword.map
2011-03-14 16:51:14 +00:00
bRet = sal_True;
2000-09-18 23:08:29 +00:00
}
}
2000-09-18 23:08:29 +00:00
return bRet;
}
namespace
{
struct ListStyleData
{
SwNumRule* pReplaceNumRule;
bool bCreateNewList;
String sListId;
ListStyleData()
: pReplaceNumRule( 0 ),
bCreateNewList( false ),
sListId()
{}
};
}
void SwDoc::MakeUniqueNumRules(const SwPaM & rPaM)
{
OSL_ENSURE( rPaM.GetDoc() == this, "need same doc" );
::std::map<SwNumRule *, ListStyleData> aMyNumRuleMap;
sal_uLong nStt = rPaM.Start()->nNode.GetIndex();
sal_uLong nEnd = rPaM.End()->nNode.GetIndex();
bool bFirst = true;
for (sal_uLong n = nStt; n <= nEnd; n++)
{
SwTxtNode * pCNd = GetNodes()[n]->GetTxtNode();
if (pCNd)
{
SwNumRule * pRule = pCNd->GetNumRule();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (pRule && pRule->IsAutoRule() && ! pRule->IsOutlineRule())
{
ListStyleData aListStyleData = aMyNumRuleMap[pRule];
if ( aListStyleData.pReplaceNumRule == 0 )
{
if (bFirst)
{
SwPosition aPos(*pCNd);
aListStyleData.pReplaceNumRule =
const_cast<SwNumRule *>
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
(SearchNumRule( aPos, false, pCNd->HasNumber(),
false, 0,
aListStyleData.sListId, true ));
}
if ( aListStyleData.pReplaceNumRule == 0 )
{
aListStyleData.pReplaceNumRule = new SwNumRule(*pRule);
2010-10-18 12:55:43 +01:00
aListStyleData.pReplaceNumRule->SetName(
GetUniqueNumRuleName(), *this );
2010-10-18 12:55:43 +01:00
aListStyleData.bCreateNewList = true;
}
aMyNumRuleMap[pRule] = aListStyleData;
}
SwPaM aPam(*pCNd);
SetNumRule( aPam, *aListStyleData.pReplaceNumRule,
aListStyleData.bCreateNewList,
aListStyleData.sListId );
if ( aListStyleData.bCreateNewList )
{
aListStyleData.bCreateNewList = false;
aListStyleData.sListId = pCNd->GetListId();
aMyNumRuleMap[pRule] = aListStyleData;
}
bFirst = false;
}
}
}
}
sal_Bool SwDoc::NoNum( const SwPaM& rPam )
2000-09-18 23:08:29 +00:00
{
sal_Bool bRet = SplitNode( *rPam.GetPoint(), false );
// Do we actually use Numbering at all?
2000-09-18 23:08:29 +00:00
if( bRet )
{
// Set NoNum and Upate
2000-09-18 23:08:29 +00:00
const SwNodeIndex& rIdx = rPam.GetPoint()->nNode;
SwTxtNode* pNd = rIdx.GetNode().GetTxtNode();
const SwNumRule* pRule = pNd->GetNumRule();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( pRule )
2000-09-18 23:08:29 +00:00
{
pNd->SetCountedInList(false);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
2000-09-18 23:08:29 +00:00
SetModified();
}
else
bRet = sal_False; // no Numbering or just always sal_True?
2000-09-18 23:08:29 +00:00
}
return bRet;
}
void SwDoc::DelNumRules( const SwPaM& rPam )
2000-09-18 23:08:29 +00:00
{
sal_uLong nStt = rPam.GetPoint()->nNode.GetIndex(),
2000-09-18 23:08:29 +00:00
nEnd = rPam.GetMark()->nNode.GetIndex();
if( nStt > nEnd )
{
sal_uLong nTmp = nStt; nStt = nEnd; nEnd = nTmp;
2000-09-18 23:08:29 +00:00
}
SwUndoDelNum* pUndo;
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
pUndo = new SwUndoDelNum( rPam );
GetIDocumentUndoRedo().AppendUndo(pUndo);
2000-09-18 23:08:29 +00:00
}
else
pUndo = 0;
SwRegHistory aRegH( pUndo ? pUndo->GetHistory() : 0 );
2000-09-18 23:08:29 +00:00
SwNumRuleItem aEmptyRule( aEmptyStr );
const SwNode* pOutlNd = 0;
for( ; nStt <= nEnd; ++nStt )
{
SwTxtNode* pTNd = GetNodes()[ nStt ]->GetTxtNode();
SwNumRule* pNumRuleOfTxtNode = pTNd ? pTNd->GetNumRule() : 0;
if ( pTNd && pNumRuleOfTxtNode )
2000-09-18 23:08:29 +00:00
{
// recognize changes of attribute for undo
2000-09-18 23:08:29 +00:00
aRegH.RegisterInModify( pTNd, *pTNd );
if( pUndo )
pUndo->AddNode( *pTNd, sal_False );
2000-09-18 23:08:29 +00:00
// directly set list style attribute is reset, otherwise empty
// list style is applied
const SfxItemSet* pAttrSet = pTNd->GetpSwAttrSet();
if ( pAttrSet &&
pAttrSet->GetItemState( RES_PARATR_NUMRULE, sal_False ) == SFX_ITEM_SET )
pTNd->ResetAttr( RES_PARATR_NUMRULE );
2000-09-18 23:08:29 +00:00
else
pTNd->SetAttr( aEmptyRule );
pTNd->ResetAttr( RES_PARATR_LIST_ID );
pTNd->ResetAttr( RES_PARATR_LIST_LEVEL );
pTNd->ResetAttr( RES_PARATR_LIST_ISRESTART );
pTNd->ResetAttr( RES_PARATR_LIST_RESTARTVALUE );
pTNd->ResetAttr( RES_PARATR_LIST_ISCOUNTED );
2000-09-18 23:08:29 +00:00
if( RES_CONDTXTFMTCOLL == pTNd->GetFmtColl()->Which() )
pTNd->ChkCondColl();
2010-11-18 08:25:05 +01:00
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
else if( !pOutlNd &&
((SwTxtFmtColl*)pTNd->GetFmtColl())->IsAssignedToListLevelOfOutlineStyle() )//<-end,zhaojianwei
2000-09-18 23:08:29 +00:00
pOutlNd = pTNd;
}
}
// Finally, update all
2000-09-18 23:08:29 +00:00
UpdateNumRule();
if( pOutlNd )
GetNodes().UpdtOutlineIdx( *pOutlNd );
}
void SwDoc::InvalidateNumRules()
{
for (sal_uInt16 n = 0; n < pNumRuleTbl->size(); ++n)
(*pNumRuleTbl)[n]->SetInvalidRule(sal_True);
}
2000-09-18 23:08:29 +00:00
// To the next/preceding Bullet at the same Level
static sal_Bool lcl_IsNumOk( sal_uInt8 nSrchNum, sal_uInt8& rLower, sal_uInt8& rUpper,
sal_Bool bOverUpper, sal_uInt8 nNumber )
2000-09-18 23:08:29 +00:00
{
OSL_ENSURE( nNumber < MAXLEVEL,
"<lcl_IsNumOk(..)> - misusage of method" );
sal_Bool bRet = sal_False;
2000-09-18 23:08:29 +00:00
{
if( bOverUpper ? nSrchNum == nNumber : nSrchNum >= nNumber )
bRet = sal_True;
2000-09-18 23:08:29 +00:00
else if( nNumber > rLower )
rLower = nNumber;
else if( nNumber < rUpper )
rUpper = nNumber;
}
return bRet;
}
static sal_Bool lcl_IsValidPrevNextNumNode( const SwNodeIndex& rIdx )
2000-09-18 23:08:29 +00:00
{
sal_Bool bRet = sal_False;
2000-09-18 23:08:29 +00:00
const SwNode& rNd = rIdx.GetNode();
switch( rNd.GetNodeType() )
{
case ND_ENDNODE:
bRet = SwTableBoxStartNode == rNd.StartOfSectionNode()->GetStartNodeType() ||
rNd.StartOfSectionNode()->IsSectionNode();
2000-09-18 23:08:29 +00:00
break;
case ND_STARTNODE:
bRet = SwTableBoxStartNode == ((SwStartNode&)rNd).GetStartNodeType();
break;
case ND_SECTIONNODE: // that one's valid, so proceed
bRet = sal_True;
2000-09-18 23:08:29 +00:00
break;
}
return bRet;
}
static sal_Bool lcl_GotoNextPrevNum( SwPosition& rPos, sal_Bool bNext,
sal_Bool bOverUpper, sal_uInt8* pUpper, sal_uInt8* pLower )
2000-09-18 23:08:29 +00:00
{
const SwTxtNode* pNd = rPos.nNode.GetNode().GetTxtNode();
const SwNumRule* pRule;
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( !pNd || 0 == ( pRule = pNd->GetNumRule()))
return sal_False;
2000-09-18 23:08:29 +00:00
sal_uInt8 nSrchNum = static_cast<sal_uInt8>(pNd->GetActualListLevel());
2000-09-18 23:08:29 +00:00
SwNodeIndex aIdx( rPos.nNode );
if( ! pNd->IsCountedInList() )
2000-09-18 23:08:29 +00:00
{
// If NO_NUMLEVEL is switched on, we search the preceding Node with Numbering
sal_Bool bError = sal_False;
2000-09-18 23:08:29 +00:00
do {
aIdx--;
if( aIdx.GetNode().IsTxtNode() )
{
pNd = aIdx.GetNode().GetTxtNode();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
pRule = pNd->GetNumRule();
sal_uInt8 nTmpNum;
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( pRule )
2000-09-18 23:08:29 +00:00
{
nTmpNum = static_cast<sal_uInt8>(pNd->GetActualListLevel());
if( !( ! pNd->IsCountedInList() &&
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
(nTmpNum >= nSrchNum )) )
break; // found it!
2000-09-18 23:08:29 +00:00
}
else
bError = sal_True;
2000-09-18 23:08:29 +00:00
}
else
bError = !lcl_IsValidPrevNextNumNode( aIdx );
} while( !bError );
if( bError )
return sal_False;
2000-09-18 23:08:29 +00:00
}
sal_uInt8 nLower = nSrchNum, nUpper = nSrchNum;
sal_Bool bRet = sal_False;
2000-09-18 23:08:29 +00:00
const SwTxtNode* pLast;
if( bNext )
aIdx++, pLast = pNd;
else
aIdx--, pLast = 0;
while( bNext ? ( aIdx.GetIndex() < aIdx.GetNodes().Count() - 1 )
: aIdx.GetIndex() )
{
if( aIdx.GetNode().IsTxtNode() )
{
pNd = aIdx.GetNode().GetTxtNode();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
pRule = pNd->GetNumRule();
if( pRule )
2000-09-18 23:08:29 +00:00
{
if( ::lcl_IsNumOk( nSrchNum, nLower, nUpper, bOverUpper,
static_cast<sal_uInt8>(pNd->GetActualListLevel()) ))
2000-09-18 23:08:29 +00:00
{
rPos.nNode = aIdx;
rPos.nContent.Assign( (SwTxtNode*)pNd, 0 );
bRet = sal_True;
2000-09-18 23:08:29 +00:00
break;
}
else
pLast = pNd;
}
else
break;
}
else if( !lcl_IsValidPrevNextNumNode( aIdx ))
break;
if( bNext )
++aIdx;
2000-09-18 23:08:29 +00:00
else
aIdx--;
}
if( !bRet && !bOverUpper && pLast ) // do not iterate over higher numbers, but still to the end
2000-09-18 23:08:29 +00:00
{
if( bNext )
{
rPos.nNode = aIdx;
if( aIdx.GetNode().IsCntntNode() )
rPos.nContent.Assign( aIdx.GetNode().GetCntntNode(), 0 );
}
else
{
rPos.nNode.Assign( *pLast );
rPos.nContent.Assign( (SwTxtNode*)pLast, 0 );
}
bRet = sal_True;
2000-09-18 23:08:29 +00:00
}
if( bRet )
{
if( pUpper )
*pUpper = nUpper;
if( pLower )
*pLower = nLower;
}
return bRet;
}
sal_Bool SwDoc::GotoNextNum( SwPosition& rPos, sal_Bool bOverUpper,
sal_uInt8* pUpper, sal_uInt8* pLower )
2000-09-18 23:08:29 +00:00
{
return ::lcl_GotoNextPrevNum( rPos, sal_True, bOverUpper, pUpper, pLower );
2000-09-18 23:08:29 +00:00
}
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
const SwNumRule * SwDoc::SearchNumRule(const SwPosition & rPos,
const bool bForward,
const bool bNum,
const bool bOutline,
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
int nNonEmptyAllowed,
String& sListId,
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
const bool bInvestigateStartNode)
{
const SwNumRule * pResult = NULL;
SwTxtNode * pTxtNd = rPos.nNode.GetNode().GetTxtNode();
SwNode * pStartFromNode = pTxtNd;
if (pTxtNd)
{
SwNodeIndex aIdx(rPos.nNode);
2000-09-18 23:08:29 +00:00
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
// - the start node has also been investigated, if requested.
const SwNode * pNode = NULL;
do
{
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
if ( !bInvestigateStartNode )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
if (bForward)
++aIdx;
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
else
aIdx--;
}
2010-10-18 12:55:43 +01:00
if (aIdx.GetNode().IsTxtNode())
{
pTxtNd = aIdx.GetNode().GetTxtNode();
const SwNumRule * pNumRule = pTxtNd->GetNumRule();
if (pNumRule)
{
Merge commit 'ooo/DEV300_m101' into integration/dev300_m101 Conflicts: starmath/inc/applicat.hxx starmath/inc/dialog.hxx starmath/inc/document.hxx starmath/inc/edit.hxx starmath/inc/format.hxx starmath/inc/node.hxx starmath/inc/parse.hxx starmath/inc/rect.hxx starmath/inc/smdll.hxx starmath/inc/smmod.hxx starmath/inc/starmath.hrc starmath/inc/symbol.hxx starmath/inc/toolbox.hxx starmath/inc/utility.hxx starmath/inc/view.hxx starmath/prj/build.lst starmath/qa/cppunit/version.map starmath/sdi/smslots.sdi starmath/source/accessibility.cxx starmath/source/cfgitem.cxx starmath/source/cfgitem.hxx starmath/source/config.cxx starmath/source/dialog.cxx starmath/source/document.cxx starmath/source/edit.cxx starmath/source/format.cxx starmath/source/makefile.mk starmath/source/math_pch.cxx starmath/source/mathmlexport.cxx starmath/source/mathmlimport.cxx starmath/source/mathtype.cxx starmath/source/node.cxx starmath/source/parse.cxx starmath/source/rect.cxx starmath/source/register.cxx starmath/source/smdetect.cxx starmath/source/smdll.cxx starmath/source/smmod.cxx starmath/source/smres.src starmath/source/symbol.cxx starmath/source/toolbox.cxx starmath/source/unomodel.cxx starmath/source/utility.cxx starmath/source/view.cxx sw/JunitTest_sw_unoapi.mk sw/Library_swd.mk sw/Makefile sw/inc/IDocumentFieldsAccess.hxx sw/inc/IDocumentSettingAccess.hxx sw/inc/IDocumentUndoRedo.hxx sw/inc/IShellCursorSupplier.hxx sw/inc/SwUndoField.hxx sw/inc/acmplwrd.hxx sw/inc/authfld.hxx sw/inc/bparr.hxx sw/inc/calbck.hxx sw/inc/calc.hxx sw/inc/ccoll.hxx sw/inc/cellatr.hxx sw/inc/cellfml.hxx sw/inc/chpfld.hxx sw/inc/cmdid.h sw/inc/crsrsh.hxx sw/inc/crstate.hxx sw/inc/dbfld.hxx sw/inc/dbmgr.hxx sw/inc/dcontact.hxx sw/inc/ddefld.hxx sw/inc/doc.hxx sw/inc/docary.hxx sw/inc/docsh.hxx sw/inc/docstat.hxx sw/inc/docstyle.hxx sw/inc/docufld.hxx sw/inc/editsh.hxx sw/inc/errhdl.hxx sw/inc/expfld.hxx sw/inc/fchrfmt.hxx sw/inc/fesh.hxx sw/inc/fldbas.hxx sw/inc/flddat.hxx sw/inc/flddropdown.hxx sw/inc/flypos.hxx sw/inc/fmtanchr.hxx sw/inc/fmtautofmt.hxx sw/inc/fmtclds.hxx sw/inc/fmtcnct.hxx sw/inc/fmtcol.hxx sw/inc/fmtfsize.hxx sw/inc/fmtftn.hxx sw/inc/fmtftntx.hxx sw/inc/fmthdft.hxx sw/inc/fmtinfmt.hxx sw/inc/fmtline.hxx sw/inc/fmtornt.hxx sw/inc/fmtpdsc.hxx sw/inc/fmtruby.hxx sw/inc/fmtsrnd.hxx sw/inc/fmturl.hxx sw/inc/fmtwrapinfluenceonobjpos.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/grfatr.hxx sw/inc/helpid.h sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/htmltbl.hxx sw/inc/inetfld.hxx sw/inc/io.hxx sw/inc/iodetect.hxx sw/inc/itabenum.hxx sw/inc/ndarr.hxx sw/inc/ndgrf.hxx sw/inc/ndindex.hxx sw/inc/ndnotxt.hxx sw/inc/ndole.hxx sw/inc/ndtxt.hxx sw/inc/ndtyp.hxx sw/inc/node.hxx sw/inc/numrule.hxx sw/inc/pagedesc.hxx sw/inc/pagepreviewlayout.hxx sw/inc/pam.hxx sw/inc/paratr.hxx sw/inc/poolfmt.awk sw/inc/poolfmt.hxx sw/inc/printdata.hxx sw/inc/reffld.hxx sw/inc/shellio.hxx sw/inc/shellres.hxx sw/inc/swabstdlg.hxx sw/inc/swatrset.hxx sw/inc/swerror.h sw/inc/swprtopt.hxx sw/inc/swtable.hxx sw/inc/swtypes.hxx sw/inc/tblafmt.hxx sw/inc/tgrditem.hxx sw/inc/tox.hxx sw/inc/undobj.hxx sw/inc/unocoll.hxx sw/inc/unoframe.hxx sw/inc/unoprnms.hxx sw/inc/usrfld.hxx sw/inc/viewopt.hxx sw/inc/viewsh.hxx sw/inc/viscrs.hxx sw/prj/build.lst sw/qa/complex/accessibility/makefile.mk sw/qa/core/Test-BigPtrArray.cxx sw/qa/core/makefile.mk sw/sdi/makefile.mk sw/source/core/access/makefile.mk sw/source/core/access/textmarkuphelper.cxx sw/source/core/attr/calbck.cxx sw/source/core/attr/cellatr.cxx sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/bastyp/calc.cxx sw/source/core/bastyp/init.cxx sw/source/core/bastyp/makefile.mk sw/source/core/bastyp/swcache.cxx sw/source/core/crsr/bookmrk.cxx sw/source/core/crsr/callnk.cxx sw/source/core/crsr/crsrsh.cxx sw/source/core/crsr/crstrvl.cxx sw/source/core/crsr/findattr.cxx sw/source/core/crsr/findcoll.cxx sw/source/core/crsr/makefile.mk sw/source/core/crsr/pam.cxx sw/source/core/crsr/swcrsr.cxx sw/source/core/crsr/trvltbl.cxx sw/source/core/crsr/unocrsr.cxx sw/source/core/crsr/viscrs.cxx sw/source/core/doc/acmplwrd.cxx sw/source/core/doc/doc.cxx sw/source/core/doc/docbm.cxx sw/source/core/doc/doccomp.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docedt.cxx sw/source/core/doc/docfld.cxx sw/source/core/doc/docfly.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docftn.cxx sw/source/core/doc/docglbl.cxx sw/source/core/doc/docglos.cxx sw/source/core/doc/doclay.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docnum.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/docruby.cxx sw/source/core/doc/docsort.cxx sw/source/core/doc/docstat.cxx sw/source/core/doc/doctxm.cxx sw/source/core/doc/fmtcol.cxx sw/source/core/doc/gctable.cxx sw/source/core/doc/htmltbl.cxx sw/source/core/doc/makefile.mk sw/source/core/doc/number.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/tblafmt.cxx sw/source/core/doc/tblcpy.cxx sw/source/core/doc/tblrwcl.cxx sw/source/core/docnode/makefile.mk sw/source/core/docnode/ndcopy.cxx sw/source/core/docnode/ndnum.cxx sw/source/core/docnode/ndsect.cxx sw/source/core/docnode/ndtbl.cxx sw/source/core/docnode/ndtbl1.cxx sw/source/core/docnode/node.cxx sw/source/core/docnode/node2lay.cxx sw/source/core/docnode/nodes.cxx sw/source/core/docnode/section.cxx sw/source/core/docnode/swbaslnk.cxx sw/source/core/draw/dcontact.cxx sw/source/core/draw/dflyobj.cxx sw/source/core/draw/drawdoc.cxx sw/source/core/draw/dview.cxx sw/source/core/draw/makefile.mk sw/source/core/edit/autofmt.cxx sw/source/core/edit/edattr.cxx sw/source/core/edit/eddel.cxx sw/source/core/edit/edfcol.cxx sw/source/core/edit/edfld.cxx sw/source/core/edit/edfldexp.cxx sw/source/core/edit/edfmt.cxx sw/source/core/edit/edglss.cxx sw/source/core/edit/editsh.cxx sw/source/core/edit/edlingu.cxx sw/source/core/edit/ednumber.cxx sw/source/core/edit/edsect.cxx sw/source/core/edit/edtab.cxx sw/source/core/edit/edtox.cxx sw/source/core/edit/edundo.cxx sw/source/core/edit/makefile.mk sw/source/core/except/dbgloop.cxx sw/source/core/except/errhdl.cxx sw/source/core/fields/authfld.cxx sw/source/core/fields/cellfml.cxx sw/source/core/fields/chpfld.cxx sw/source/core/fields/dbfld.cxx sw/source/core/fields/ddefld.cxx sw/source/core/fields/ddetbl.cxx sw/source/core/fields/docufld.cxx sw/source/core/fields/expfld.cxx sw/source/core/fields/fldbas.cxx sw/source/core/fields/flddat.cxx sw/source/core/fields/flddropdown.cxx sw/source/core/fields/macrofld.cxx sw/source/core/fields/makefile.mk sw/source/core/fields/reffld.cxx sw/source/core/fields/scrptfld.cxx sw/source/core/fields/tblcalc.cxx sw/source/core/fields/usrfld.cxx sw/source/core/frmedt/fecopy.cxx sw/source/core/frmedt/fedesc.cxx sw/source/core/frmedt/fefly1.cxx sw/source/core/frmedt/feshview.cxx sw/source/core/frmedt/fetab.cxx sw/source/core/frmedt/fews.cxx sw/source/core/frmedt/makefile.mk sw/source/core/frmedt/tblsel.cxx sw/source/core/graphic/grfatr.cxx sw/source/core/inc/SwUndoFmt.hxx sw/source/core/inc/SwUndoTOXChange.hxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/inc/dbgloop.hxx sw/source/core/inc/drawfont.hxx sw/source/core/inc/flowfrm.hxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/layact.hxx sw/source/core/inc/layfrm.hxx sw/source/core/inc/notxtfrm.hxx sw/source/core/inc/rolbck.hxx sw/source/core/inc/rootfrm.hxx sw/source/core/inc/scriptinfo.hxx sw/source/core/inc/swblocks.hxx sw/source/core/inc/swcache.hxx sw/source/core/inc/tabfrm.hxx sw/source/core/inc/txmsrt.hxx sw/source/core/inc/undoflystrattr.hxx sw/source/core/inc/viewimp.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/calcmove.cxx sw/source/core/layout/dbg_lay.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/flowfrm.cxx sw/source/core/layout/fly.cxx sw/source/core/layout/flycnt.cxx sw/source/core/layout/flyincnt.cxx sw/source/core/layout/flylay.cxx sw/source/core/layout/frmtool.cxx sw/source/core/layout/ftnfrm.cxx sw/source/core/layout/layact.cxx sw/source/core/layout/laycache.cxx sw/source/core/layout/makefile.mk sw/source/core/layout/objectformatter.cxx sw/source/core/layout/pagechg.cxx sw/source/core/layout/pagedesc.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/sectfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/layout/unusedf.cxx sw/source/core/layout/wsfrm.cxx sw/source/core/makefile.mk sw/source/core/objectpositioning/anchoredobjectposition.cxx sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx sw/source/core/objectpositioning/makefile.mk sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx sw/source/core/ole/ndole.cxx sw/source/core/para/makefile.mk sw/source/core/para/paratr.cxx sw/source/core/sw3io/makefile.mk sw/source/core/sw3io/sw3convert.cxx sw/source/core/swg/SwXMLTextBlocks.cxx sw/source/core/swg/makefile.mk sw/source/core/swg/swblocks.cxx sw/source/core/table/swnewtable.cxx sw/source/core/table/swtable.cxx sw/source/core/text/EnhancedPDFExportHelper.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/frmcrsr.cxx sw/source/core/text/frmform.cxx sw/source/core/text/itrcrsr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/makefile.mk sw/source/core/text/porlay.cxx sw/source/core/text/pormulti.cxx sw/source/core/text/txtfld.cxx sw/source/core/text/txtfrm.cxx sw/source/core/text/txtio.cxx sw/source/core/tox/makefile.mk sw/source/core/tox/txmsrt.cxx sw/source/core/txtnode/fmtatr2.cxx sw/source/core/txtnode/fntcache.cxx sw/source/core/txtnode/fntcap.cxx sw/source/core/txtnode/makefile.mk sw/source/core/txtnode/ndhints.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/swfont.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/SwUndoField.cxx sw/source/core/undo/SwUndoPageDesc.cxx sw/source/core/undo/SwUndoTOXChange.cxx sw/source/core/undo/docundo.cxx sw/source/core/undo/makefile.mk sw/source/core/undo/rolbck.cxx sw/source/core/undo/unbkmk.cxx sw/source/core/undo/undel.cxx sw/source/core/undo/undobj.cxx sw/source/core/undo/undobj1.cxx sw/source/core/undo/unfmco.cxx sw/source/core/undo/unins.cxx sw/source/core/undo/unnum.cxx sw/source/core/undo/unoutl.cxx sw/source/core/undo/unredln.cxx sw/source/core/undo/unsect.cxx sw/source/core/undo/unsort.cxx sw/source/core/undo/unspnd.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/makefile.mk sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unobkm.cxx sw/source/core/unocore/unocoll.cxx sw/source/core/unocore/unocrsrhelper.cxx sw/source/core/unocore/unodraw.cxx sw/source/core/unocore/unofield.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unoredlines.cxx sw/source/core/unocore/unosett.cxx sw/source/core/unocore/unosrch.cxx sw/source/core/unocore/unostyle.cxx sw/source/core/unocore/unotbl.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/viewimp.cxx sw/source/core/view/viewpg.cxx sw/source/core/view/viewsh.cxx sw/source/core/view/vnew.cxx sw/source/core/view/vprint.cxx sw/source/filter/ascii/ascatr.cxx sw/source/filter/ascii/makefile.mk sw/source/filter/ascii/wrtasc.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/basflt/iodetect.cxx sw/source/filter/basflt/makefile.mk sw/source/filter/html/SwAppletImpl.cxx sw/source/filter/html/css1atr.cxx sw/source/filter/html/htmlatr.cxx sw/source/filter/html/htmlbas.cxx sw/source/filter/html/htmlcss1.cxx sw/source/filter/html/htmlfly.cxx sw/source/filter/html/htmlftn.cxx sw/source/filter/html/htmlgrin.cxx sw/source/filter/html/htmlnum.cxx sw/source/filter/html/htmlplug.cxx sw/source/filter/html/htmltab.cxx sw/source/filter/html/makefile.mk sw/source/filter/html/parcss1.cxx sw/source/filter/html/svxcss1.cxx sw/source/filter/html/swhtml.cxx sw/source/filter/inc/msfilter.hxx sw/source/filter/inc/wrtswtbl.hxx sw/source/filter/rtf/makefile.mk sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/rtfnum.cxx sw/source/filter/rtf/rtftbl.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/rtf/swparrtf.hxx sw/source/filter/writer/makefile.mk sw/source/filter/writer/writer.cxx sw/source/filter/writer/wrt_fn.cxx sw/source/filter/writer/wrtswtbl.cxx sw/source/filter/ww1/fltshell.cxx sw/source/filter/ww1/makefile.mk sw/source/filter/ww1/w1class.cxx sw/source/filter/ww1/w1class.hxx sw/source/filter/ww1/w1filter.cxx sw/source/filter/ww1/w1par.cxx sw/source/filter/ww1/w1sprm.cxx sw/source/filter/ww1/w1struct.hxx sw/source/filter/ww8/README-rtf.txt sw/source/filter/ww8/attributeoutputbase.hxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/docxattributeoutput.hxx sw/source/filter/ww8/docxexport.cxx sw/source/filter/ww8/docxexport.hxx sw/source/filter/ww8/docxexportfilter.cxx sw/source/filter/ww8/dump/dump8.cxx sw/source/filter/ww8/dump/dump8a.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/msvbasic.hxx sw/source/filter/ww8/dump/ww8darr.cxx sw/source/filter/ww8/dump/ww8darr.hxx sw/source/filter/ww8/dump/ww8dout.cxx sw/source/filter/ww8/dump/ww8dout.hxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/makefile.mk sw/source/filter/ww8/rtfattributeoutput.cxx sw/source/filter/ww8/rtfattributeoutput.hxx sw/source/filter/ww8/rtfexport.cxx sw/source/filter/ww8/rtfexport.hxx sw/source/filter/ww8/rtfexportfilter.cxx sw/source/filter/ww8/rtfexportfilter.hxx sw/source/filter/ww8/rtfimportfilter.cxx sw/source/filter/ww8/rtfimportfilter.hxx sw/source/filter/ww8/rtfsdrexport.cxx sw/source/filter/ww8/rtfsdrexport.hxx sw/source/filter/ww8/writerhelper.cxx sw/source/filter/ww8/writerwordglue.cxx sw/source/filter/ww8/wrtw8esh.cxx sw/source/filter/ww8/wrtw8nds.cxx sw/source/filter/ww8/wrtw8num.cxx sw/source/filter/ww8/wrtw8sty.cxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/wrtww8.hxx sw/source/filter/ww8/wrtww8gr.cxx sw/source/filter/ww8/ww8atr.cxx sw/source/filter/ww8/ww8attributeoutput.hxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8graf.hxx sw/source/filter/ww8/ww8graf2.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par.hxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par5.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/filter/ww8/ww8struc.hxx sw/source/filter/xml/makefile.mk sw/source/filter/xml/xmlimpit.cxx sw/source/filter/xml/xmltble.cxx sw/source/filter/xml/xmltbli.cxx sw/source/ui/app/appenv.cxx sw/source/ui/app/apphdl.cxx sw/source/ui/app/applab.cxx sw/source/ui/app/appopt.cxx sw/source/ui/app/docsh.cxx sw/source/ui/app/docsh2.cxx sw/source/ui/app/docshini.cxx sw/source/ui/app/docst.cxx sw/source/ui/app/docstyle.cxx sw/source/ui/app/makefile.mk sw/source/ui/app/mn.src sw/source/ui/app/swmodul1.cxx sw/source/ui/cctrl/makefile.mk sw/source/ui/cctrl/swlbox.cxx sw/source/ui/chrdlg/break.cxx sw/source/ui/chrdlg/ccoll.cxx sw/source/ui/chrdlg/chardlg.cxx sw/source/ui/chrdlg/drpcps.cxx sw/source/ui/chrdlg/makefile.mk sw/source/ui/chrdlg/numpara.cxx sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/chrdlg/swuiccoll.cxx sw/source/ui/config/barcfg.cxx sw/source/ui/config/caption.cxx sw/source/ui/config/cfgitems.cxx sw/source/ui/config/fontcfg.cxx sw/source/ui/config/mailconfigpage.cxx sw/source/ui/config/makefile.mk sw/source/ui/config/modcfg.cxx sw/source/ui/config/optcomp.cxx sw/source/ui/config/optload.cxx sw/source/ui/config/optpage.cxx sw/source/ui/config/prtopt.cxx sw/source/ui/config/uinums.cxx sw/source/ui/config/usrpref.cxx sw/source/ui/config/viewopt.cxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/dbui/dbmgr.cxx sw/source/ui/dbui/dbtree.cxx sw/source/ui/dbui/makefile.mk sw/source/ui/dbui/mmaddressblockpage.cxx sw/source/ui/dbui/mmdocselectpage.cxx sw/source/ui/dbui/mmoutputpage.cxx sw/source/ui/dbui/swdbtoolsclient.cxx sw/source/ui/dialog/abstract.cxx sw/source/ui/dialog/ascfldlg.cxx sw/source/ui/dialog/macassgn.cxx sw/source/ui/dialog/makefile.mk sw/source/ui/dialog/regionsw.cxx sw/source/ui/dialog/swdlgfact.cxx sw/source/ui/dialog/swdlgfact.hxx sw/source/ui/dialog/uiregionsw.cxx sw/source/ui/dochdl/gloshdl.cxx sw/source/ui/dochdl/makefile.mk sw/source/ui/dochdl/swdtflvr.cxx sw/source/ui/docvw/PostItMgr.cxx sw/source/ui/docvw/SidebarWin.cxx sw/source/ui/docvw/edtdd.cxx sw/source/ui/docvw/edtwin.cxx sw/source/ui/docvw/edtwin2.cxx sw/source/ui/docvw/edtwin3.cxx sw/source/ui/docvw/makefile.mk sw/source/ui/docvw/romenu.cxx sw/source/ui/docvw/romenu.hxx sw/source/ui/docvw/srcedtw.cxx sw/source/ui/envelp/envfmt.cxx sw/source/ui/envelp/envimg.cxx sw/source/ui/envelp/envlop1.cxx sw/source/ui/envelp/envprt.cxx sw/source/ui/envelp/label1.cxx sw/source/ui/envelp/labfmt.cxx sw/source/ui/envelp/labprt.cxx sw/source/ui/envelp/mailmrge.cxx sw/source/ui/envelp/makefile.mk sw/source/ui/fldui/flddb.cxx sw/source/ui/fldui/flddinf.cxx sw/source/ui/fldui/flddok.cxx sw/source/ui/fldui/fldedt.cxx sw/source/ui/fldui/fldfunc.cxx sw/source/ui/fldui/fldmgr.cxx sw/source/ui/fldui/fldpage.cxx sw/source/ui/fldui/fldref.cxx sw/source/ui/fldui/fldtdlg.cxx sw/source/ui/fldui/fldvar.cxx sw/source/ui/fldui/fldwrap.cxx sw/source/ui/fldui/inpdlg.cxx sw/source/ui/fldui/makefile.mk sw/source/ui/fmtui/makefile.mk sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/frmdlg/colmgr.cxx sw/source/ui/frmdlg/column.cxx sw/source/ui/frmdlg/cption.cxx sw/source/ui/frmdlg/frmdlg.cxx sw/source/ui/frmdlg/frmmgr.cxx sw/source/ui/frmdlg/frmpage.cxx sw/source/ui/frmdlg/makefile.mk sw/source/ui/frmdlg/wrap.cxx sw/source/ui/globdoc/makefile.mk sw/source/ui/inc/bmpwin.hxx sw/source/ui/inc/colmgr.hxx sw/source/ui/inc/column.hxx sw/source/ui/inc/envimg.hxx sw/source/ui/inc/envlop.hxx sw/source/ui/inc/frmpage.hxx sw/source/ui/inc/inputwin.hxx sw/source/ui/inc/javaedit.hxx sw/source/ui/inc/num.hxx sw/source/ui/inc/optpage.hxx sw/source/ui/inc/regionsw.hxx sw/source/ui/inc/split.hxx sw/source/ui/inc/swlbox.hxx sw/source/ui/inc/swmn_tmpl.hrc sw/source/ui/inc/swuiidxmrk.hxx sw/source/ui/inc/tabsh.hxx sw/source/ui/inc/toxmgr.hxx sw/source/ui/inc/uiitems.hxx sw/source/ui/inc/view.hxx sw/source/ui/inc/workctrl.hxx sw/source/ui/inc/wrap.hxx sw/source/ui/inc/wrtsh.hxx sw/source/ui/index/cnttab.cxx sw/source/ui/index/makefile.mk sw/source/ui/index/toxmgr.cxx sw/source/ui/lingu/hhcwrp.cxx sw/source/ui/lingu/makefile.mk sw/source/ui/lingu/olmenu.cxx sw/source/ui/misc/bookmark.cxx sw/source/ui/misc/docfnote.cxx sw/source/ui/misc/glosbib.cxx sw/source/ui/misc/glosdoc.cxx sw/source/ui/misc/glshell.cxx sw/source/ui/misc/insfnote.cxx sw/source/ui/misc/linenum.cxx sw/source/ui/misc/makefile.mk sw/source/ui/misc/num.cxx sw/source/ui/misc/numberingtypelistbox.cxx sw/source/ui/misc/outline.cxx sw/source/ui/misc/pgfnote.cxx sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/redlndlg.cxx sw/source/ui/misc/srtdlg.cxx sw/source/ui/misc/swmodalredlineacceptdlg.cxx sw/source/ui/ribbar/conarc.cxx sw/source/ui/ribbar/drawbase.cxx sw/source/ui/ribbar/inputwin.cxx sw/source/ui/ribbar/inputwin.src sw/source/ui/ribbar/makefile.mk sw/source/ui/ribbar/tbxanchr.cxx sw/source/ui/ribbar/workctrl.cxx sw/source/ui/ribbar/workctrl.src sw/source/ui/shells/annotsh.cxx sw/source/ui/shells/basesh.cxx sw/source/ui/shells/beziersh.cxx sw/source/ui/shells/drawdlg.cxx sw/source/ui/shells/drwbassh.cxx sw/source/ui/shells/drwtxtex.cxx sw/source/ui/shells/drwtxtsh.cxx sw/source/ui/shells/frmsh.cxx sw/source/ui/shells/grfsh.cxx sw/source/ui/shells/grfshex.cxx sw/source/ui/shells/makefile.mk sw/source/ui/shells/tabsh.cxx sw/source/ui/shells/textfld.cxx sw/source/ui/shells/textglos.cxx sw/source/ui/shells/textsh.cxx sw/source/ui/shells/textsh1.cxx sw/source/ui/shells/txtattr.cxx sw/source/ui/shells/txtcrsr.cxx sw/source/ui/shells/txtnum.cxx sw/source/ui/table/convert.cxx sw/source/ui/table/instable.cxx sw/source/ui/table/makefile.mk sw/source/ui/table/swtablerep.cxx sw/source/ui/table/tabledlg.cxx sw/source/ui/table/tablemgr.cxx sw/source/ui/table/tablepg.hxx sw/source/ui/table/tautofmt.cxx sw/source/ui/uiview/formatclipboard.cxx sw/source/ui/uiview/makefile.mk sw/source/ui/uiview/pview.cxx sw/source/ui/uiview/pview.src sw/source/ui/uiview/scroll.cxx sw/source/ui/uiview/srcview.cxx sw/source/ui/uiview/swcli.cxx sw/source/ui/uiview/uivwimp.cxx sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view1.cxx sw/source/ui/uiview/view2.cxx sw/source/ui/uiview/viewcoll.cxx sw/source/ui/uiview/viewdlg2.cxx sw/source/ui/uiview/viewling.cxx sw/source/ui/uiview/viewmdi.cxx sw/source/ui/uiview/viewport.cxx sw/source/ui/uiview/viewprt.cxx sw/source/ui/uiview/viewsrch.cxx sw/source/ui/uiview/viewtab.cxx sw/source/ui/uno/SwXDocumentSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.hxx sw/source/ui/uno/unoatxt.cxx sw/source/ui/uno/unomod.cxx sw/source/ui/uno/unotxdoc.cxx sw/source/ui/uno/unotxvw.cxx sw/source/ui/utlui/attrdesc.cxx sw/source/ui/utlui/content.cxx sw/source/ui/utlui/glbltree.cxx sw/source/ui/utlui/initui.cxx sw/source/ui/utlui/makefile.mk sw/source/ui/utlui/navipi.cxx sw/source/ui/utlui/navipi.src sw/source/ui/utlui/numfmtlb.cxx sw/source/ui/utlui/prcntfld.cxx sw/source/ui/utlui/uiitems.cxx sw/source/ui/utlui/uitool.cxx sw/source/ui/utlui/unotools.cxx sw/source/ui/utlui/viewlayoutctrl.cxx sw/source/ui/utlui/zoomctrl.cxx sw/source/ui/vba/makefile.mk sw/source/ui/vba/service.cxx sw/source/ui/web/makefile.mk sw/source/ui/wrtsh/makefile.mk sw/source/ui/wrtsh/wrtsh1.cxx sw/source/ui/wrtsh/wrtsh2.cxx sw/source/ui/wrtsh/wrtsh4.cxx sw/source/ui/wrtsh/wrtundo.cxx sw/util/hidother.src sw/util/makefile.mk sw/util/msword.map
2011-03-14 16:51:14 +00:00
if ( ( pNumRule->IsOutlineRule() == ( bOutline ? sal_True : sal_False ) ) &&
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
( ( bNum && pNumRule->Get(0).IsEnumeration()) ||
( !bNum && pNumRule->Get(0).IsItemize() ) ) ) // #i22362#, #i29560#
{
pResult = pTxtNd->GetNumRule();
// provide also the list id, to which the text node belongs.
sListId = pTxtNd->GetListId();
}
break;
}
else if (pTxtNd->Len() > 0 || NULL != pTxtNd->GetNumRule())
{
if (nNonEmptyAllowed == 0)
break;
nNonEmptyAllowed--;
if (nNonEmptyAllowed < 0)
nNonEmptyAllowed = -1;
}
}
CWS-TOOLING: integrate CWS sw32numbf01 2009-09-04 10:01:07 +0200 od r275780 : #i95907# method <SwWrtShell::NumOfBulletOn(..)> - adjust indentation of newly created automatic list style --> due to MRU add actual paragraph indentation to created automatic list style's indentation 2009-09-02 11:57:40 +0200 od r275703 : #i95907# method <SwTxtMargin::CtorInitTxtMargin(..)> - correct handling of paragraph indents, when list level indents are applicable. 2009-09-01 16:59:47 +0200 od r275671 : CWS-TOOLING: rebase CWS sw32numbf01 to trunk@275331 (milestone: DEV300:m56) 2009-08-28 16:42:34 +0200 od r275540 : #i102458# method <SwFlowFrm::CalcUpperSpace(..)> - correct handling of leading line spacing method <GetSpacingValuesOfFrm(..)> - add output parameter <obIsLineSpacingProportional> 2009-08-27 17:03:07 +0200 od r275496 : #i101516# method <SwTxtNode::SwTxtNode(..)> - in case that the paragraph is add to a list, apply paragraph style's assigned outline style list level as list level, if paragraph has no list level set already. 2009-08-27 15:23:34 +0200 od r275489 : #i101234# method <SwWrtShell::NumOrBulletOn(..)> - check before activation of certain list level of outline numbering, a numbering format is already set. In this only continue the outline numbering. 2009-08-27 14:15:07 +0200 od r275483 : #i95907# method <SwWrtShell::NumOrBulletOn(..)> - consider leading tab stops and intentation of paragraph first text line, when a new list style is created for its application to the selection. 2009-08-26 09:51:39 +0200 od r275401 : #i86492# Adjust copy of text nodes regarding lists - copy of part of paragraph in list does not copy list style and list id - copy of paragraphs in list into another list continues destination list - copy of paragraphs (at least one not in a list) at empty paragraph following a list does not continue the destination list. 2009-08-25 10:30:53 +0200 od r275339 : #i101349# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that list style of automatic paragraph style is applied at paragraph.
2009-09-08 13:44:38 +00:00
if ( bInvestigateStartNode )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
if (bForward)
++aIdx;
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
else
aIdx--;
}
pNode = &aIdx.GetNode();
}
while (!(pNode == GetNodes().DocumentSectionStartNode(pStartFromNode) ||
pNode == GetNodes().DocumentSectionEndNode(pStartFromNode)));
}
return pResult;
}
2010-10-18 12:55:43 +01:00
2000-09-18 23:08:29 +00:00
sal_Bool SwDoc::GotoPrevNum( SwPosition& rPos, sal_Bool bOverUpper,
sal_uInt8* pUpper, sal_uInt8* pLower )
2000-09-18 23:08:29 +00:00
{
return ::lcl_GotoNextPrevNum( rPos, sal_False, bOverUpper, pUpper, pLower );
2000-09-18 23:08:29 +00:00
}
sal_Bool SwDoc::NumUpDown( const SwPaM& rPam, sal_Bool bDown )
2000-09-18 23:08:29 +00:00
{
sal_uLong nStt = rPam.GetPoint()->nNode.GetIndex(),
2000-09-18 23:08:29 +00:00
nEnd = rPam.GetMark()->nNode.GetIndex();
if( nStt > nEnd )
{
sal_uLong nTmp = nStt; nStt = nEnd; nEnd = nTmp;
2000-09-18 23:08:29 +00:00
}
2011-02-07 20:21:18 +01:00
// -> outline nodes are promoted or demoted differently
bool bOnlyOutline = true;
bool bOnlyNonOutline = true;
for (sal_uLong n = nStt; n <= nEnd; n++)
2000-09-18 23:08:29 +00:00
{
SwTxtNode * pTxtNd = GetNodes()[n]->GetTxtNode();
if (pTxtNd)
{
SwNumRule * pRule = pTxtNd->GetNumRule();
if (pRule)
{
if (pRule->IsOutlineRule())
bOnlyNonOutline = false;
else
bOnlyOutline = false;
}
}
2000-09-18 23:08:29 +00:00
}
sal_Bool bRet = sal_True;
2011-10-20 08:32:16 +03:00
sal_Int8 nDiff = bDown ? 1 : -1;
if (bOnlyOutline)
bRet = OutlineUpDown(rPam, nDiff);
else if (bOnlyNonOutline)
2000-09-18 23:08:29 +00:00
{
2011-01-28 11:31:24 +00:00
/* #i24560#
Only promote or demote if all selected paragraphs are
promotable resp. demotable.
*/
for (sal_uLong nTmp = nStt; nTmp <= nEnd; ++nTmp)
{
SwTxtNode* pTNd = GetNodes()[ nTmp ]->GetTxtNode();
2011-01-28 11:31:24 +00:00
// Make code robust: consider case that the node doesn't denote a
// text node.
if ( pTNd )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
SwNumRule * pRule = pTNd->GetNumRule();
if (pRule)
{
sal_uInt8 nLevel = static_cast<sal_uInt8>(pTNd->GetActualListLevel());
if( (-1 == nDiff && 0 >= nLevel) ||
(1 == nDiff && MAXLEVEL - 1 <= nLevel))
bRet = sal_False;
}
2000-09-18 23:08:29 +00:00
}
}
if( bRet )
{
if (GetIDocumentUndoRedo().DoesUndo())
{
SwUndo *const pUndo( new SwUndoNumUpDown(rPam, nDiff) );
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
String sNumRule;
for(sal_uLong nTmp = nStt; nTmp <= nEnd; ++nTmp )
{
SwTxtNode* pTNd = GetNodes()[ nTmp ]->GetTxtNode();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if( pTNd)
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwNumRule * pRule = pTNd->GetNumRule();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
if (pRule)
{
sal_uInt8 nLevel = static_cast<sal_uInt8>(pTNd->GetActualListLevel());
nLevel = nLevel + nDiff;
pTNd->SetAttrListLevel(nLevel);
}
}
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
ChkCondColls();
SetModified();
}
2000-09-18 23:08:29 +00:00
}
2000-09-18 23:08:29 +00:00
return bRet;
}
sal_Bool SwDoc::MoveParagraph( const SwPaM& rPam, long nOffset, sal_Bool bIsOutlMv )
2000-09-18 23:08:29 +00:00
{
const SwPosition *pStt = rPam.Start(), *pEnd = rPam.End();
sal_uLong nStIdx = pStt->nNode.GetIndex();
sal_uLong nEndIdx = pEnd->nNode.GetIndex();
// Here are some sophisticated checks whether the wished PaM will be moved or not.
// For moving outlines (bIsOutlMv) I've already done some checks, so here are two different
// checks...
SwNode *pTmp1;
SwNode *pTmp2;
if( bIsOutlMv )
{
// For moving chapters (outline) the following reason will deny the move:
// if a start node is inside the moved range and its end node outside or vice versa.
// If a start node is the first moved paragraph, its end node has to be within the moved
// range, too (e.g. as last node).
// If an end node is the last node of the moved range, its start node has to be a part of
// the moved section, too.
pTmp1 = GetNodes()[ nStIdx ];
if( pTmp1->IsStartNode() )
{ // First is a start node
pTmp2 = pTmp1->EndOfSectionNode();
if( pTmp2->GetIndex() > nEndIdx )
return sal_False; // Its end node is behind the moved range
}
pTmp1 = pTmp1->StartOfSectionNode()->EndOfSectionNode();
if( pTmp1->GetIndex() <= nEndIdx )
return sal_False; // End node inside but start node before moved range => no.
pTmp1 = GetNodes()[ nEndIdx ];
if( pTmp1->IsEndNode() )
{ // The last one is an end node
pTmp1 = pTmp1->StartOfSectionNode();
if( pTmp1->GetIndex() < nStIdx )
return sal_False; // Its start node is before the moved range.
}
pTmp1 = pTmp1->StartOfSectionNode();
if( pTmp1->GetIndex() >= nStIdx )
return sal_False; // A start node which ends behind the moved range => no.
}
sal_uLong nInStIdx, nInEndIdx;
2000-09-18 23:08:29 +00:00
long nOffs = nOffset;
if( nOffset > 0 )
{
nInEndIdx = nEndIdx;
nEndIdx += nOffset;
++nOffs;
}
else
{
// Impossible to move to negative index
if( sal_uLong(abs( nOffset )) > nStIdx)
return sal_False;
2000-09-18 23:08:29 +00:00
nInEndIdx = nStIdx - 1;
nStIdx += nOffset;
}
nInStIdx = nInEndIdx + 1;
// The following paragraphs shall be swapped:
// Swap [ nStIdx, nInEndIdx ] with [ nInStIdx, nEndIdx ]
2000-09-18 23:08:29 +00:00
if( nEndIdx >= GetNodes().GetEndOfContent().GetIndex() )
return sal_False;
2000-09-18 23:08:29 +00:00
if( !bIsOutlMv )
{ // And here the restrictions for moving paragraphs other than chapters (outlines)
// The plan is to exchange [nStIdx,nInEndIdx] and [nStartIdx,nEndIdx]
// It will checked if the both "start" nodes as well as the both "end" notes belongs to
// the same start-end-section. This is more restrictive than the conditions checked above.
// E.g. a paragraph will not escape from a section or be inserted to another section.
pTmp1 = GetNodes()[ nStIdx ]->StartOfSectionNode();
pTmp2 = GetNodes()[ nInStIdx ]->StartOfSectionNode();
if( pTmp1 != pTmp2 )
return sal_False; // "start" nodes in different sections
pTmp1 = GetNodes()[ nEndIdx ];
bool bIsEndNode = pTmp1->IsEndNode();
if( !pTmp1->IsStartNode() )
{
pTmp1 = pTmp1->StartOfSectionNode();
if( bIsEndNode ) // For end nodes the first start node is of course inside the range,
pTmp1 = pTmp1->StartOfSectionNode(); // I've to check the start node of the start node.
}
pTmp1 = pTmp1->EndOfSectionNode();
pTmp2 = GetNodes()[ nInEndIdx ];
if( !pTmp2->IsStartNode() )
{
bIsEndNode = pTmp2->IsEndNode();
pTmp2 = pTmp2->StartOfSectionNode();
if( bIsEndNode )
pTmp2 = pTmp2->StartOfSectionNode();
}
pTmp2 = pTmp2->EndOfSectionNode();
if( pTmp1 != pTmp2 )
return sal_False; // The "end" notes are in different sections
}
2000-09-18 23:08:29 +00:00
// Test for Redlining - Can the Selection be moved at all, actually?
2000-09-18 23:08:29 +00:00
if( !IsIgnoreRedline() )
{
sal_uInt16 nRedlPos = GetRedlinePos( pStt->nNode.GetNode(), nsRedlineType_t::REDLINE_DELETE );
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nRedlPos )
{
SwPosition aStPos( *pStt ), aEndPos( *pEnd );
aStPos.nContent = 0;
SwCntntNode* pCNd = pEnd->nNode.GetNode().GetCntntNode();
aEndPos.nContent = pCNd ? pCNd->Len() : 1;
sal_Bool bCheckDel = sal_True;
2000-09-18 23:08:29 +00:00
// There is a some Redline Delete Object for the range
for( ; nRedlPos < GetRedlineTbl().size(); ++nRedlPos )
2000-09-18 23:08:29 +00:00
{
const SwRedline* pTmp = GetRedlineTbl()[ nRedlPos ];
if( !bCheckDel || nsRedlineType_t::REDLINE_DELETE == pTmp->GetType() )
2000-09-18 23:08:29 +00:00
{
const SwPosition *pRStt = pTmp->Start(), *pREnd = pTmp->End();
switch( ComparePosition( *pRStt, *pREnd, aStPos, aEndPos ))
{
case POS_COLLIDE_START:
case POS_BEHIND: // Pos1 comes after Pos2
nRedlPos = GetRedlineTbl().size();
2000-09-18 23:08:29 +00:00
break;
case POS_COLLIDE_END:
case POS_BEFORE: // Pos1 comes before Pos2
2000-09-18 23:08:29 +00:00
break;
case POS_INSIDE: // Pos1 is completely inside Pos2
// that's valid, but check all following for overlapping
bCheckDel = sal_False;
2000-09-18 23:08:29 +00:00
break;
case POS_OUTSIDE: // Pos2 is completely inside Pos1
case POS_EQUAL: // Pos1 is equal to Pos2
case POS_OVERLAP_BEFORE: // Pos1 overlaps Pos2 in the beginning
case POS_OVERLAP_BEHIND: // Pos1 overlaps Pos2 at the end
return sal_False;
2000-09-18 23:08:29 +00:00
}
}
}
}
}
{
// Send DataChanged before moving. We then can detect
// which objects are still in the range.
// After the move they could come before/after the
// Position.
SwDataChanged aTmp( rPam );
2000-09-18 23:08:29 +00:00
}
SwNodeIndex aIdx( nOffset > 0 ? pEnd->nNode : pStt->nNode, nOffs );
SwNodeRange aMvRg( pStt->nNode, 0, pEnd->nNode, +1 );
SwRedline* pOwnRedl = 0;
if( IsRedlineOn() )
{
// If the range is completely in the own Redline, we can move it!
sal_uInt16 nRedlPos = GetRedlinePos( pStt->nNode.GetNode(), nsRedlineType_t::REDLINE_INSERT );
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nRedlPos )
{
SwRedline* pTmp = GetRedlineTbl()[ nRedlPos ];
const SwPosition *pRStt = pTmp->Start(), *pREnd = pTmp->End();
SwRedline aTmpRedl( nsRedlineType_t::REDLINE_INSERT, rPam );
2000-09-18 23:08:29 +00:00
const SwCntntNode* pCEndNd = pEnd->nNode.GetNode().GetCntntNode();
// Is completely in the range and is the own Redline too?
2000-09-18 23:08:29 +00:00
if( aTmpRedl.IsOwnRedline( *pTmp ) &&
(pRStt->nNode < pStt->nNode ||
(pRStt->nNode == pStt->nNode && !pRStt->nContent.GetIndex()) ) &&
(pEnd->nNode < pREnd->nNode ||
(pEnd->nNode == pREnd->nNode &&
pCEndNd ? pREnd->nContent.GetIndex() == pCEndNd->Len()
: !pREnd->nContent.GetIndex() )) )
{
pOwnRedl = pTmp;
if( nRedlPos + 1 < (sal_uInt16)GetRedlineTbl().size() )
2000-09-18 23:08:29 +00:00
{
pTmp = GetRedlineTbl()[ nRedlPos+1 ];
if( *pTmp->Start() == *pREnd )
// then don't!
2000-09-18 23:08:29 +00:00
pOwnRedl = 0;
}
if( pOwnRedl &&
!( pRStt->nNode <= aIdx && aIdx <= pREnd->nNode ))
{
// it's not in itself, so don't move it
2000-09-18 23:08:29 +00:00
pOwnRedl = 0;
}
}
}
if( !pOwnRedl )
{
GetIDocumentUndoRedo().StartUndo( UNDO_START, NULL );
2000-09-18 23:08:29 +00:00
// First the Insert, then the Delete
2000-09-18 23:08:29 +00:00
SwPosition aInsPos( aIdx );
aInsPos.nContent.Assign( aIdx.GetNode().GetCntntNode(), 0 );
SwPaM aPam( pStt->nNode, aMvRg.aEnd );
SwPaM& rOrigPam = (SwPaM&)rPam;
rOrigPam.DeleteMark();
rOrigPam.GetPoint()->nNode = aIdx.GetIndex() - 1;
sal_Bool bDelLastPara = !aInsPos.nNode.GetNode().IsCntntNode();
2000-09-18 23:08:29 +00:00
2011-02-07 20:21:18 +01:00
/* When copying to a non-content node Copy will
insert a paragraph before that node and insert before
that inserted node. Copy creates an SwUndoInserts that
does not cover the extra paragraph. Thus we insert the
extra paragraph ourselves, _with_ correct undo
information. */
if (bDelLastPara)
{
/* aInsPos points to the non-content node. Move it to
the previous content node. */
SwPaM aInsPam(aInsPos);
sal_Bool bMoved = aInsPam.Move(fnMoveBackward);
OSL_ENSURE(bMoved, "No content node found!");
if (bMoved)
{
/* Append the new node after the content node
found. The new position to insert the moved
paragraph at is before the inserted
paragraph. */
AppendTxtNode(*aInsPam.GetPoint());
aInsPos = *aInsPam.GetPoint();
}
}
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
CopyRange( aPam, aInsPos, false );
2000-09-18 23:08:29 +00:00
if( bDelLastPara )
{
// We need to remove the last empty Node again
2000-09-18 23:08:29 +00:00
aIdx = aInsPos.nNode;
SwCntntNode* pCNd = GetNodes().GoPrevious( &aInsPos.nNode );
xub_StrLen nCLen = 0; if( pCNd ) nCLen = pCNd->Len();
aInsPos.nContent.Assign( pCNd, nCLen );
// All, that are in the to-be-deleted Node, need to be
// moved to the next Node
2000-09-18 23:08:29 +00:00
SwPosition* pPos;
for( sal_uInt16 n = 0; n < GetRedlineTbl().size(); ++n )
2000-09-18 23:08:29 +00:00
{
SwRedline* pTmp = GetRedlineTbl()[ n ];
if( ( pPos = &pTmp->GetBound(sal_True))->nNode == aIdx )
2000-09-18 23:08:29 +00:00
{
pPos->nNode++;
pPos->nContent.Assign( pPos->nNode.GetNode().GetCntntNode(),0);
}
if( ( pPos = &pTmp->GetBound(sal_False))->nNode == aIdx )
2000-09-18 23:08:29 +00:00
{
pPos->nNode++;
pPos->nContent.Assign( pPos->nNode.GetNode().GetCntntNode(),0);
}
}
CorrRel( aIdx, aInsPos, 0, sal_False );
2000-09-18 23:08:29 +00:00
pCNd->JoinNext();
}
rOrigPam.GetPoint()->nNode++;
rOrigPam.GetPoint()->nContent.Assign( rOrigPam.GetCntntNode(), 0 );
RedlineMode_t eOld = GetRedlineMode();
checkRedlining(eOld);
if (GetIDocumentUndoRedo().DoesUndo())
2000-09-18 23:08:29 +00:00
{
// Still NEEDS to be optimized (even after 14 years)
SetRedlineMode(
(RedlineMode_t)(nsRedlineMode_t::REDLINE_ON | nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE));
SwUndo *const pUndo(new SwUndoRedlineDelete(aPam, UNDO_DELETE));
GetIDocumentUndoRedo().AppendUndo(pUndo);
2000-09-18 23:08:29 +00:00
}
SwRedline* pNewRedline = new SwRedline( nsRedlineType_t::REDLINE_DELETE, aPam );
2011-02-07 20:21:18 +01:00
// prevent assertion from aPam's target being deleted
// (Alternatively, one could just let aPam go out of scope, but
// that requires touching a lot of code.)
aPam.GetBound(sal_True).nContent.Assign( NULL, 0 );
aPam.GetBound(sal_False).nContent.Assign( NULL, 0 );
AppendRedline( pNewRedline, true );
2000-09-18 23:08:29 +00:00
// Still NEEDS to be optimized!
SetRedlineMode( eOld );
GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
2000-09-18 23:08:29 +00:00
SetModified();
return sal_True;
2000-09-18 23:08:29 +00:00
}
}
if( !pOwnRedl && !IsIgnoreRedline() && !GetRedlineTbl().empty() )
2000-09-18 23:08:29 +00:00
{
SwPaM aTemp(aIdx);
SplitRedline(aTemp);
2000-09-18 23:08:29 +00:00
}
sal_uLong nRedlSttNd(0), nRedlEndNd(0);
2000-09-18 23:08:29 +00:00
if( pOwnRedl )
{
const SwPosition *pRStt = pOwnRedl->Start(), *pREnd = pOwnRedl->End();
nRedlSttNd = pRStt->nNode.GetIndex();
nRedlEndNd = pREnd->nNode.GetIndex();
}
SwUndoMoveNum* pUndo = 0;
sal_uLong nMoved = 0;
if (GetIDocumentUndoRedo().DoesUndo())
{
2000-09-18 23:08:29 +00:00
pUndo = new SwUndoMoveNum( rPam, nOffset, bIsOutlMv );
nMoved = rPam.End()->nNode.GetIndex() - rPam.Start()->nNode.GetIndex() + 1;
}
2000-09-18 23:08:29 +00:00
CWS-TOOLING: integrate CWS odfmetadata3 2009-09-11 Michael Stahl merge DEV300_m58 2009-09-07 Michael Stahl SwFmtFld::Modify(): do nothing on RES_OBJECTDYING 2009-08-27 Michael Stahl #i91565#, #i91566#: TextPortionEnumerationTest.java: add test document 2009-08-27 Michael Stahl #i91565#, #i91566#: add complex test: TextPortionEnumerationTest.java 2009-08-27 Michael Stahl CLiteral::initialize(): zero-length literals probably not an error 2009-08-27 Michael Stahl #i91565#, #i91566#: offapi: new InContentMetadata and MetadataField services adapt TextPortion for InContentMetadata 2009-08-27 Michael Stahl #i91564#: xmloff: load/store xml:id and RDFa for text:bookmark(-start). 2009-08-27 Michael Stahl #i91564#: sw core: add support for xml:id at bookmarks: sw::mark::Bookmark: derive from Metadatable. SwHistoryBookmark, SaveBookmark: store a MetadatableUndo. ndcopy.cxx: lcl_CopyBookmarks(): copy the xml:id. SwXBookmark: derive from MetadatableMixin. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: refactor ruby import so nested meta(-field) works: remove XMLRubyHint_Impl. XMLImpRubyContext_Impl::~XMLImpRubyContext_Impl(): insert ruby directly. 2009-08-27 Michael Stahl #i91565#, #i91566#: xmloff: fix text:meta(-field) import/export: new XMLTextParagraphExport::exportTextField() overload for XTextField. CreateAndInsertMark(): set xml:id after insertion. fix meta(-field) service names, bugs etc. 2009-08-27 Michael Stahl #i91565#, #i91566#: sw text formatting: paint background of meta(-field) body: SwFont: add member m_nMetaCount. txttypes.hxx: add POR_META. atrstck.cxx: handle RES_TXTATR_META(FIELD). itrform2.cxx: SwTxtFormatter::WhichTxtPor(): create new class SwMetaPortion. 2009-08-27 Michael Stahl #i91566#: sw text formatting: display meta-field prefix and suffix: SwAttrIter::GetAttr(): replace with call to GetTxtAttrForCharAt(). SwTxtFormatter::NewExtraPortion(): handle meta-field prefix. SwTxtFormatter: new member m_nHintEndIndex. SwTxtFormatter::WhichFirstPortion(): call TryNewNoLengthPortion(). SwTxtFormatter::TryNewNoLengthPortion(): new; handle suffix of meta-field. SwTxtFormatter::UnderFlow(): UGLY HACK: decrement m_nHintEndIndex. SwFldPortion: add flag m_bNoLength: portion has zero length (for suffix). 2009-08-27 Michael Stahl #i91565#, #i91566#: extend text:meta(-field) uno wrapper with XText interface: unoobj.hxx: new CursorType CURSOR_META. unoobj2.cxx: refactor SwXText implementation to ensure that when the SwXText belongs to a SwXMeta, content is always inserted inside the meta(-field). unoobj.cxx: new SwXTextCursor::ForceIntoMeta(): cursor stays in meta(-field). unometa.hxx: SwXMeta implements XText, forwarding to a member SwXMetaText. DocInsertStringSplitCR(), SwX*::attachToRange(), SwX*::DeleteAndInsert(): use FORCEHINTEXPAND hack to ensure insert into the meta(-field) at the end. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) uno wrapper to sw: fmtmeta.hxx, fmtatr2.cxx: new class sw::MetaField, new sw::MetaFieldManager. doc.hxx, docnew.cxx: new SwDoc::GetMetaFieldManager(). unocoll.hxx,.cxx: new SW_SERVICE_FIELDTYPE_METAFIELD, SW_SERVICE_TYPE_META. unomap.hxx,.cxx: new PROPERTY_MAP_METAFIELD. unoprnms.hxx: new UNO_NAME_META. unoport.hxx: new PORTION_META; add "InContentMetadata" prop to SwXTextPortion. new unometa.hxx: new class SwXMeta and SwXMetaField. unofield.cxx: SwXFieldEnumeration: include meta-fields. unoportenum.cxx: handle RES_TXTATR_META(FIELD) by using a portion list stack. unotext.cxx: SwXText::insertTextContent(): handle meta(-field) as attribute. 2009-08-27 Michael Stahl #i91565#, #i91566#: ndhints.cxx: remove sort number from SwTxtAttrNesting 2009-08-27 Michael Stahl #i91565#, #i91566#: add support for hints with end and CH_TXTATR to sw core: doc.hxx, docedt.cxx: replace SwDoc::Delete(), DeleteAndJoin(), ReplaceRange() with wrappers that split at left-overlapped end+CH_TXTATR hints. txatbase.hxx: new member SwTxtAttr::m_bHasDummyChar. ndtxt.hxx: rename SwTxtNode::GetTxtAttr() to GetTxtAttrForCharAt(). ndtxt.cxx: SwTxtNode::CopyText(): copy end+CH_TXTATR hints iff copy CH_TXTATR. txtatr2.cxx, thints.cxx: SwTxtMeta gets a CH_TXTATR. 2009-08-27 Michael Stahl #i91565#, #i91566#: add text:meta(-field) to sw core: txatbase.hxx: new member SwTxtAttr::m_bNesting. hintids.hxx: new ids RES_TXTATR_META, RES_TXTATR_METAFIELD. txtatr.hxx: new base class SwTxtAttrNesting. new hint SwTxtMeta. SwTxtRuby derives from SwTxtAttrNesting. txtinet.hxx: SwTxtINetFmt derives from SwTxtAttrNesting. new header fmtmeta.hxx: new pool item SwFmtMeta. new class sw::Meta. ndhints.hxx, thints.cxx: new method SwpHints::TryInsertNesting(). thints.cxx: refactoring: BuildPortions() no longer handles Ruby/Hyperlink, but TryInsertNesting(), which also handles meta(-field). SwTxtNode::InsertItem(): check if the hint is actually inserted. ndhints.cxx: sort nesting hints based on sort number. ndtxt.cxx: lcl_CopyHint(): handle copy of meta/meta-field. 2009-08-27 Michael Stahl enable expanding hints with m_bLockExpandFlag set: add new InsertFlag: INS_FORCEHINTEXPAND. add new SetAttrMode: SETATTR_FORCEHINTEXPAND. rename SwEditShell::Insert() to Insert2() because changed signature fails to compile when SwWrtShell tries to overwrite these non-virtual members... SwWrtShell::Insert() sets FOCEHINTEXPAND if range was selected/deleted. adapt SwUndoInsert to store flags. 2009-08-27 Michael Stahl change formal parameters of item insertion methods to type SetAttrMode 2009-08-27 Michael Stahl fix incorrect resetting of text attributes in SwUndoInsSection, SwUndoInserts 2009-08-27 Michael Stahl clean up SwTxtNode::CutImpl() and lcl_CopyHint() 2009-08-27 Michael Stahl rename SwDoc::Copy() to CopyRange(), and _Copy() to CopyImpl() 2009-08-27 Michael Stahl rename SwNodes::Move() to MoveRange(), and remove unused parameter 2009-08-27 Michael Stahl rename SwDoc::Move() to MoveRange()/MoveNodeRange() 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertString(), and remove sal_Unicode variant 2009-08-27 Michael Stahl rename SwDoc::Insert() to InsertPoolItem()/InsertItemSet()/InsertSwSection() 2009-08-27 Michael Stahl rename SwDoc::Replace() to ReplaceRange() 2009-08-27 Michael Stahl remove SwDoc::Overwrite() sal_Unicode variant 2009-08-27 Michael Stahl split up SwDoc::DeleteAndJoin(): factor out DeleteAndJoinWithRedline() 2009-08-27 Michael Stahl rename overloaded SwDoc::Delete() to DeleteRange()/DeleteTOXMark() 2009-08-27 Michael Stahl rename SwTxtNode::Copy() to CopyText() 2009-08-27 Michael Stahl rename SwTxtNode::Cut() to CutText(), and _Cut() to CutImpl() 2009-08-27 Michael Stahl rename SwTxtNode::Delete() to DeleteAttribute()/DeleteAttributes() 2009-08-27 Michael Stahl rename SwTxtNode::Replace() to ReplaceText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl rename SwTxtNode::Erase() to EraseText() 2009-08-27 Michael Stahl rename SwTxtNode::Insert() to InsertText(), and remove the xub_Unicode variant 2009-08-27 Michael Stahl clean up SwTxtNode::Update() 2009-08-27 Michael Stahl remove SwTxtAttr::RemoveFromPool() and make destructor non-public, to be invoked by new method SwTxtAttr::Destroy() 2009-08-27 Michael Stahl ensure that SwDoc::Insert() for item (set) returns success indicator: replace SwRegHistory constructor with method InsertItems(), returning bool. refactor InsAttr() so that it checks if InsertItems() succeeds. 2009-08-27 Michael Stahl move SwXTextPortionEnumeration from unoobj.hxx to unoport.hxx 2009-08-27 Michael Stahl add missing SolarMutex in SwXTextPortion methods 2009-08-27 Michael Stahl SwXTextPortion: new member m_xTextField (so the TextField property need not be returned indirectly via SwUnoCursorHelper). factor out function CreateSwXTextField(). 2009-08-27 Michael Stahl SwXTextPortion: remove PORTION_CONTROL_CHAR and implementation of XTextField 2009-08-27 Michael Stahl remove obsolete hint SwTxtHardBlank and formats SwFmtHardBlank/SwFmtSoftHyph 2009-08-27 Michael Stahl clean up SwTxtAttr and friends: remove many accessor methods for obsolete (due to autofmt) char format items. remove unused flag SwTxtAttr::m_bDontMergeAttr. MakeRedlineTxtAttr() now dedicated function, no longer calls MakeTxtAttr(). 2009-08-27 Michael Stahl remove obsolete attribute SwTxt2Lines 2009-08-27 Michael Stahl SwXTextPortionEnumeration: finish refactoring CreatePortions change ExportHints so it always returns a text portion for hint w/ CH_TXTATR. remove special case for handling end of paragraph. unfortunately had to refactor the fieldmarks export as well (got in the way). 2009-08-27 Michael Stahl SwXTextPortionEnumeration: refactor CreatePortions: frames export extract function ExportFrames() from CreatePortions(). remove (un)dead code that calls evil MovePara(fnParaCurr, fnParaEnd) 2009-08-27 Michael Stahl clean up SwXParaFrameEnumeration 2009-08-27 Michael Stahl CollectFrameAtNode: replace SwDependArr with STL based FrameDependList_t 2009-08-27 Michael Stahl SwXTextPortionEnumeration: tweak refmark/toxmark export so ExportHints returns the portion for point marks 2009-08-27 Michael Stahl clean up SwXTextPortionEnumeration: prefix members, remove casts, replace SvWeirdArray with STL, etc. make CreatePortions() method a function, and remove lots of members. extract fieldmarks function from CreatePortions. 2009-08-27 Michael Stahl remove FOREACHUNOPAM_START/END macros 2009-08-27 Michael Stahl clean up SwXTextPortion: prefix members, remove casts, etc. remove SwXRubyPortion: replace it with another SwXTextPortion constructor 2009-08-27 Michael Stahl #i102541# SwXReferenceMark::InsertRefMark(): use flag SETATTR_DONTEXPAND 2009-08-27 Michael Stahl rename SwTxtNode::Insert to SwTxtNode::InsertHint, and fix constness in SwTxtNode::InsertItem 2009-08-27 Michael Stahl turn SwTxtNode::MakeTxtAttr() methods into global functions in ndhints.hxx 2009-08-27 Michael Stahl remove obsolete sw/inc/bookmrk.hxx 2009-08-27 Michael Stahl pam.cxx: fix ComparePosition functions (returned wrong result in one case) 2009-08-27 Michael Stahl #i103613# only import RDF metadata on normal open of a document 2009-09-11 kz CWS-TOOLING: integrate CWS impress176 2009-09-08 20:18:24 +0200 sj r275957 : fixed warning (shadowed variable) 2009-09-08 18:02:05 +0200 cl r275948 : #i104315# added missing tab pages 2009-09-08 17:35:18 +0200 cl r275947 : #i104866# fixed angle import 2009-09-08 17:32:53 +0200 cl r275946 : #i104841# fixed angle import 2009-09-08 17:01:25 +0200 cl r275943 : #i103935# fixed the SID_EVENTCONFIG mess 2009-09-08 14:32:57 +0200 sj r275928 : #i104685# only comments 2009-09-07 12:37:36 +0200 sj r275886 : #i104683# fixed import of bold/italic attributes for normal text shapes 2009-09-04 15:07:46 +0200 sj r275808 : #104689# fixed bullet color problem 2009-09-03 15:25:07 +0200 sj r275753 : #160200# added vertical alignment of table cells 2009-09-11 kz CWS-TOOLING: integrate CWS dv14 2009-09-10 15:16:32 +0200 sg r276035 : #160513# updated wfs scheme to accept ports 2009-09-10 07:41:47 +0200 dv r276019 : #i104942# Better renaming algorithmen 2009-08-31 13:41:11 +0200 dv r275604 : #160505# Setting APP1PRODUCTNAME must not overwrite APP1PRODUCTDEF 2009-09-11 kz CWS-TOOLING: integrate CWS jl131 2009-09-02 16:42:40 +0200 jl r275720 : #i97896# 2009-08-31 13:01:53 +0200 jl r275599 : CWS-TOOLING: rebase CWS jl131 to trunk@275331 (milestone: DEV300:m56) 2009-07-31 14:35:30 +0200 jl r274531 : CWS-TOOLING: rebase CWS jl131 to trunk@274203 (milestone: DEV300:m53) 2009-07-23 14:20:32 +0200 jl r274272 : #i79839# better error text when trying to modify shared layer without having write permission, eg. unopkg add --shared, unopkg remove --shared, unopkg reinstall --shared 2009-07-22 16:38:02 +0200 jl r274252 : #i97896# localize error message for lock file 2009-07-22 16:37:22 +0200 jl r274251 : #i80462# unprecise wording in updatedialog 2009-07-22 16:36:06 +0200 jl r274250 : #i97896# localize error message for lock file 2009-07-22 16:35:20 +0200 jl r274249 : #i97896# localize error message for lock file 2009-07-22 15:07:30 +0200 jl r274242 : #i98873# minimum java version is 1.5 since OOo 3.0 2009-09-11 kz CWS-TOOLING: integrate CWS changehc 2009-08-31 19:38:50 +0200 pl r275633 : remove dbug printf 2009-08-31 17:41:50 +0200 pl r275623 : CWS-TOOLING: rebase CWS changehc to trunk@275331 (milestone: DEV300:m56) 2009-07-15 19:45:46 +0200 pl r274028 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:40:52 +0200 pl r274020 : #i35482# use HC flag to decide high contrast mode 2009-07-15 17:39:50 +0200 pl r274019 : #i35482# update autohc correctly in MergeSystemSettings 2009-07-15 17:38:57 +0200 pl r274018 : #i35482# update autohc correctly in MergeSystemSettings 2009-09-11 kz CWS-TOOLING: integrate CWS notes10 2009-08-24 07:25:57 +0200 mod r275287 : 2009-07-26 02:38:32 +0200 mod r274343 : #i#i103645# 2009-07-26 02:01:53 +0200 mod r274342 : #i103645# 2009-07-26 01:52:42 +0200 mod r274341 : #i103490# 2009-07-22 08:31:48 +0200 mod r274215 : #i103373# 2009-07-15 00:55:11 +0200 mod r273987 : #i101419# 2009-07-14 07:07:55 +0200 mod r273956 : #i101419# 2009-07-14 07:07:43 +0200 mod r273955 : #i101419# 2009-07-14 07:02:10 +0200 mod r273954 : changes from notes9 2009-07-14 06:14:25 +0200 mod r273953 : #i103476# 2009-09-11 kz CWS-TOOLING: integrate CWS ab70 2009-09-10 15:12:54 +0200 jsk r276034 : #i85434# - mandatory automatic update test 2009-09-10 15:11:06 +0200 jsk r276033 : #i85434# - mandatory automatic update test 2009-09-02 09:49:24 +0200 ab r275698 : #i85434# Dialog Import 2009-09-11 kz CWS-TOOLING: integrate CWS hb32bugs02 2009-09-02 Henning Brinkmann #i102420# revert changes 2009-08-26 Henning Brinkmann merged DEV300_m56 2009-08-19 Henning Brinkmann merged DEV300_m55 2009-08-14 Henning Brinkmann merged changes from wntmsci12 2009-08-12 Henning Brinkmann Implemented NoSpaceEdit constructor and destructor in .cxx to allow compile with debug on wntmsci12. 2009-08-12 Henning Brinkmann Added some SW_DLLPUBLIC to make compilable on wntmsci12. 2009-08-11 Henning Brinkmann #i102420# dbg_out: surround output for SwNodes with <nodes-array>. 2009-08-10 Henning Brinkmann #i102420# rewritten debug output for SwNodes. 2009-08-07 Henning Brinkmann #i102420# debug _MoveNodes: output the destination, too. Break after two iterations. 2009-08-07 Henning Brinkmann #i102420# _MoveNodes: Additionally check if destination index is inside source => false Check if current range was already handled => loop Debug output current range 2009-08-06 Henning Brinkmann merged DEV300_m54 2009-08-06 Henning Brinkmann added master fix 2009-08-06 Henning Brinkmann debug output for SwNodeRange 2009-08-04 Henning Brinkmann #i102844# robustness: check for NULL pointer to prevent crash 2009-08-03 Henning Brinkmann #i103475# applied patch and verified 2009-08-03 Henning Brinkmann Removed code preventing build of sw with DEBUG. 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping> 2009-09-11 convert-repo update tags 2009-09-10 kz CWS-TOOLING: integrate CWS os2port06dev300 2009-09-05 22:49:00 +0200 ydario r275858 : #i99588# applied os2port06 diff to DEV300 tree. 2009-09-10 kz CWS-TOOLING: integrate CWS mingwport23 2009-08-29 07:07:53 +0200 tono r275555 : i#104522: mingw port graphite 2009-08-29 07:07:26 +0200 tono r275554 : i#104522: mingw port printf format fix 2009-09-10 kz CWS-TOOLING: integrate CWS mh232 2009-08-26 03:52:57 +0200 mh r275385 : #i102182# FreeBSD patch 2009-08-26 03:43:20 +0200 mh r275384 : #i101333# patch for FreeBSD 2009-08-26 03:11:20 +0200 mh r275383 : #i39230 2009-08-26 03:07:51 +0200 mh r275382 : #i39230# more space for initials field 2009-08-26 02:41:19 +0200 mh r275380 : #i39230# use vos::osecurity for reading the user name 2009-08-18 22:06:00 +0200 mh r275130 : #i104243#, line ending problem with newer perl 2009-08-18 21:53:21 +0200 mh r275129 : #i39230# read initials via getpwnam 2009-08-18 21:34:05 +0200 mh r275128 : enable CAIROCANVAS for Linux and Mac, #i88613# 2009-08-17 18:02:59 +0200 mh r275067 : #i95498# make compile with gcc3 2009-09-10 kz CWS-TOOLING: integrate CWS tkr24 2009-09-07 14:31:06 +0200 is r275898 : #160081# adding NO_LICENSE_INTO_COPYRIGHT 2009-09-10 releng #i10000# change KeyMapping to SingletonRef<framework::KeyMapping>
2009-09-11 14:29:45 +00:00
MoveNodeRange( aMvRg, aIdx, DOC_MOVEREDLINES );
2000-09-18 23:08:29 +00:00
if( pUndo )
{
// i57907: Under circumstances (sections at the end of a chapter)
// the rPam.Start() is not moved to the new position.
// But aIdx should be at the new end position and as long as the
// number of moved paragraphs is nMoved, I know, where the new
// position is.
pUndo->SetStartNode( aIdx.GetIndex() - nMoved );
GetIDocumentUndoRedo().AppendUndo(pUndo);
2000-09-18 23:08:29 +00:00
}
if( pOwnRedl )
{
SwPosition *pRStt = pOwnRedl->Start(), *pREnd = pOwnRedl->End();
if( pRStt->nNode.GetIndex() != nRedlSttNd )
{
pRStt->nNode = nRedlSttNd;
pRStt->nContent.Assign( pRStt->nNode.GetNode().GetCntntNode(),0);
}
if( pREnd->nNode.GetIndex() != nRedlEndNd )
{
pREnd->nNode = nRedlEndNd;
SwCntntNode* pCNd = pREnd->nNode.GetNode().GetCntntNode();
xub_StrLen nL = 0; if( pCNd ) nL = pCNd->Len();
pREnd->nContent.Assign( pCNd, nL );
}
}
SetModified();
return sal_True;
2000-09-18 23:08:29 +00:00
}
sal_Bool SwDoc::NumOrNoNum( const SwNodeIndex& rIdx, sal_Bool bDel )
2000-09-18 23:08:29 +00:00
{
sal_Bool bResult = sal_False;
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwTxtNode * pTxtNd = rIdx.GetNode().GetTxtNode();
2000-09-18 23:08:29 +00:00
if (pTxtNd && pTxtNd->GetNumRule() != NULL &&
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
(pTxtNd->HasNumber() || pTxtNd->HasBullet()))
2000-09-18 23:08:29 +00:00
{
if ( !pTxtNd->IsCountedInList() == !bDel)
2000-09-18 23:08:29 +00:00
{
sal_Bool bOldNum = bDel; // == pTxtNd->IsCounted();
sal_Bool bNewNum = bDel ? sal_False : sal_True;
pTxtNd->SetCountedInList(bNewNum ? true : false);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SetModified();
2004-05-13 09:42:18 +00:00
bResult = sal_True;
2004-05-13 09:42:18 +00:00
if (GetIDocumentUndoRedo().DoesUndo())
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwUndoNumOrNoNum * pUndo =
new SwUndoNumOrNoNum(rIdx, bOldNum, bNewNum);
GetIDocumentUndoRedo().AppendUndo(pUndo);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
2000-09-18 23:08:29 +00:00
}
else if (bDel && pTxtNd->GetNumRule(sal_False) &&
pTxtNd->GetActualListLevel() >= 0 &&
pTxtNd->GetActualListLevel() < MAXLEVEL)
{
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
SwPaM aPam(*pTxtNd);
DelNumRules(aPam);
bResult = sal_True;
}
2000-09-18 23:08:29 +00:00
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
return bResult;
2000-09-18 23:08:29 +00:00
}
SwNumRule* SwDoc::GetCurrNumRule( const SwPosition& rPos ) const
{
SwNumRule* pRet = 0;
SwTxtNode* pTNd = rPos.nNode.GetNode().GetTxtNode();
if( pTNd )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
{
pRet = pTNd->GetNumRule();
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
}
2000-09-18 23:08:29 +00:00
return pRet;
}
sal_uInt16 SwDoc::FindNumRule( const String& rName ) const
2000-09-18 23:08:29 +00:00
{
for( sal_uInt16 n = pNumRuleTbl->size(); n; )
2000-09-18 23:08:29 +00:00
if( (*pNumRuleTbl)[ --n ]->GetName() == rName )
return n;
2000-09-18 23:08:29 +00:00
return USHRT_MAX;
}
SwNumRule* SwDoc::FindNumRulePtr( const String& rName ) const
{
SwNumRule * pResult = 0;
2000-09-18 23:08:29 +00:00
pResult = maNumRuleMap[rName];
if ( !pResult )
{
for (sal_uInt16 n = 0; n < pNumRuleTbl->size(); ++n)
{
if ((*pNumRuleTbl)[n]->GetName() == rName)
{
pResult = (*pNumRuleTbl)[n];
break;
}
}
}
return pResult;
2000-09-18 23:08:29 +00:00
}
void SwDoc::AddNumRule(SwNumRule * pRule)
{
2012-07-27 17:30:49 +02:00
if ((SAL_MAX_UINT16 - 1) <= pNumRuleTbl->size())
{
OSL_ENSURE(false, "SwDoc::AddNumRule: table full.");
abort(); // this should never happen on real documents
}
pNumRuleTbl->push_back(pRule);
maNumRuleMap[pRule->GetName()] = pRule;
pRule->SetNumRuleMap(&maNumRuleMap);
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
createListForListStyle( pRule->GetName() );
}
sal_uInt16 SwDoc::MakeNumRule( const String &rName,
const SwNumRule* pCpy,
sal_Bool bBroadcast,
const SvxNumberFormat::SvxNumPositionAndSpaceMode eDefaultNumberFormatPositionAndSpaceMode )
2000-09-18 23:08:29 +00:00
{
SwNumRule* pNew;
if( pCpy )
{
pNew = new SwNumRule( *pCpy );
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
pNew->SetName( GetUniqueNumRuleName( &rName ), *this );
2010-10-18 12:55:43 +01:00
2000-09-18 23:08:29 +00:00
if( pNew->GetName() != rName )
{
pNew->SetPoolFmtId( USHRT_MAX );
pNew->SetPoolHelpId( USHRT_MAX );
pNew->SetPoolHlpFileId( UCHAR_MAX );
pNew->SetDefaultListId( String() );
2000-09-18 23:08:29 +00:00
}
pNew->CheckCharFmts( this );
}
else
{
pNew = new SwNumRule( GetUniqueNumRuleName( &rName ),
eDefaultNumberFormatPositionAndSpaceMode );
}
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
sal_uInt16 nRet = pNumRuleTbl->size();
2010-10-18 12:55:43 +01:00
AddNumRule(pNew);
if (GetIDocumentUndoRedo().DoesUndo())
{
SwUndo * pUndo = new SwUndoNumruleCreate(pNew, this);
GetIDocumentUndoRedo().AppendUndo(pUndo);
}
if (bBroadcast)
BroadcastStyleOperation(pNew->GetName(), SFX_STYLE_FAMILY_PSEUDO,
SFX_STYLESHEET_CREATED);
2000-09-18 23:08:29 +00:00
return nRet;
}
String SwDoc::GetUniqueNumRuleName( const String* pChkStr, sal_Bool bAutoNum ) const
2000-09-18 23:08:29 +00:00
{
String aName;
if( bAutoNum )
{
long n = Time( Time::SYSTEM ).GetTime();
n += Date( Date::SYSTEM ).GetDate();
2000-09-18 23:08:29 +00:00
aName = String::CreateFromInt32( n );
if( pChkStr && !pChkStr->Len() )
pChkStr = 0;
}
else if( pChkStr && pChkStr->Len() )
aName = *pChkStr;
else
{
pChkStr = 0;
aName = SW_RESSTR( STR_NUMRULE_DEFNAME );
}
sal_uInt16 nNum(0), nTmp, nFlagSize = ( pNumRuleTbl->size() / 8 ) +2;
sal_uInt8* pSetFlags = new sal_uInt8[ nFlagSize ];
2000-09-18 23:08:29 +00:00
memset( pSetFlags, 0, nFlagSize );
xub_StrLen nNmLen = aName.Len();
if( !bAutoNum && pChkStr )
{
while( nNmLen-- && '0' <= aName.GetChar( nNmLen ) &&
'9' >= aName.GetChar( nNmLen ) )
; //nop
if( ++nNmLen < aName.Len() )
{
aName.Erase( nNmLen );
pChkStr = 0;
}
}
const SwNumRule* pNumRule;
sal_uInt16 n;
for( n = 0; n < pNumRuleTbl->size(); ++n )
2000-09-18 23:08:29 +00:00
if( 0 != ( pNumRule = (*pNumRuleTbl)[ n ] ) )
{
const String& rNm = pNumRule->GetName();
if( rNm.Match( aName ) == nNmLen )
{
// Determine Number and set the Flag
nNum = (sal_uInt16)rNm.Copy( nNmLen ).ToInt32();
if( nNum-- && nNum < pNumRuleTbl->size() )
2000-09-18 23:08:29 +00:00
pSetFlags[ nNum / 8 ] |= (0x01 << ( nNum & 0x07 ));
}
if( pChkStr && pChkStr->Equals( rNm ) )
pChkStr = 0;
}
if( !pChkStr )
{
// All Numbers have been flagged accordingly, so identify the right Number
nNum = pNumRuleTbl->size();
2000-09-18 23:08:29 +00:00
for( n = 0; n < nFlagSize; ++n )
if( 0xff != ( nTmp = pSetFlags[ n ] ))
{
// identify the Number
2000-09-18 23:08:29 +00:00
nNum = n * 8;
while( nTmp & 1 )
++nNum, nTmp >>= 1;
break;
}
}
delete [] pSetFlags;
2000-09-18 23:08:29 +00:00
if( pChkStr && pChkStr->Len() )
return *pChkStr;
return aName += String::CreateFromInt32( ++nNum );
}
void SwDoc::UpdateNumRule()
{
const SwNumRuleTbl& rNmTbl = GetNumRuleTbl();
for( sal_uInt16 n = 0; n < rNmTbl.size(); ++n )
2000-09-18 23:08:29 +00:00
if( rNmTbl[ n ]->IsInvalidRule() )
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
rNmTbl[ n ]->Validate();
}
void SwDoc::MarkListLevel( const String& sListId,
const int nListLevel,
const sal_Bool bValue )
{
SwList* pList = getListByName( sListId );
if ( pList )
{
MarkListLevel( *pList, nListLevel, bValue );
}
}
void SwDoc::MarkListLevel( SwList& rList,
const int nListLevel,
const sal_Bool bValue )
{
// Set new marked list level and notify all affected nodes of the changed mark.
rList.MarkListLevel( nListLevel, bValue );
}
sal_Bool SwDoc::IsFirstOfNumRule(SwPosition & rPos)
{
sal_Bool bResult = sal_False;
SwTxtNode * pTxtNode = rPos.nNode.GetNode().GetTxtNode();
if (pTxtNode)
{
SwNumRule * pNumRule = pTxtNode->GetNumRule();
if (pNumRule)
INTEGRATION: CWS swnumtree (1.49.32); FILE MERGED 2005/11/03 10:35:51 od 1.49.32.28: #i51089# improve performance - method <SwDoc::GetOutlineNumRule> now inline implemented. - consider change of <SwTxtNode::GetNum()> 2005/11/01 18:07:21 od 1.49.32.27: #i51089# - remove unused code 2005/10/26 10:47:23 od 1.49.32.26: RESYNC: (1.51-1.52); FILE MERGED 2005/10/26 09:34:37 od 1.49.32.25: #b6340308# <SwDoc::SetNumRule(..)> - Only clear numbering rule attribute at current text node, if its paragraph style already contains the new numbering rule. 2005/10/25 06:20:54 od 1.49.32.24: #i51089# - delete unused code. 2005/10/25 05:44:01 od 1.49.32.23: #i55391# <SwDoc::SearchNumRule(..)> - Investigate given start node, if requested. Request is indicated by new parameter <_bInvestigateStartNode> 2005/10/21 11:20:54 od 1.49.32.22: #i51089# - Only the counting of phantoms of the outline numbering rule depends on <SwDoc::IsOldNumbering()> 2005/10/21 08:33:31 od 1.49.32.21: #i55391# <SwDoc::SearchNumRule(..)> - start node has also been investigated. 2005/09/20 14:13:24 fme 1.49.32.20: #i51089# Removed compiler warnings 2005/09/20 11:16:23 hbrinkm 1.49.32.19: #i51089# SwNumRule::Invalidate->SwNumRule::SetInvalidRule(TRUE) 2005/09/14 13:37:29 hbrinkm 1.49.32.18: #i51089# SyncNumRulesAndNodes: UpdateOutlineNode 2005/09/13 20:27:33 hbrinkm 1.49.32.17: RESYNC: (1.50-1.51); FILE MERGED 2005/09/12 15:15:29 hbrinkm 1.49.32.16: #i51089# AddNumRuleRanges 2005/09/07 11:29:02 hbrinkm 1.49.32.15: #i51089# SyncNumRulesAndNodes 2005/09/01 14:46:47 hbrinkm 1.49.32.14: #i51089# NumOrNoNum: only remove hard numbering 2005/08/31 13:34:47 hbrinkm 1.49.32.13: #i51089# NumOrNoNum: Only touch paragraphs with hard numbering that shows number 2005/08/30 12:58:49 hbrinkm 1.49.32.12: #i51089# PropagateOutlineRule: SyncNumAndNumRule after setting of outline level 2005/08/26 13:43:44 hbrinkm 1.49.32.11: #i51089# SetNumRuleStart: bool <-> BOOL 2005/08/23 07:35:20 hbrinkm 1.49.32.10: #i51089# {Outline|Num}UpDown: call ChkCondColls if modified 2005/08/16 15:31:02 hbrinkm 1.49.32.9: #i51089# FindNumRulePtrWithPool 2005/08/11 09:27:49 hbrinkm 1.49.32.8: #i51089# SetNumRule: do not access zero pointer to numrule 2005/08/10 08:07:25 hbrinkm 1.49.32.7: #121445# PropagateOutlineRule: UpdateOutlineNode 2005/08/09 12:36:44 hbrinkm 1.49.32.6: #i51089# 2005/08/04 09:27:27 hbrinkm 1.49.32.5: #121445# PropagateOutlineRule: only propagate numrule if IsOutlineLevelYieldsOutlineRule returns false, #i51089# 2005/08/03 12:22:55 hbrinkm 1.49.32.4: RESYNC: (1.49-1.50); FILE MERGED 2005/07/11 09:14:57 hbrinkm 1.49.32.3: #i51089# NumOrNoNum: only succeed if a real change is made 2005/07/07 12:49:41 hbrinkm 1.49.32.2: #i51089# PropagateOutlineRule: If a paragraph style has outline level and no numbering rule, set the documents's outline numbering rule, MakeUniqueRules: do not alter outline numbering rules 2005/06/22 10:24:52 hbrinkm 1.49.32.1: #i51089# new implementation of numbering
2005-11-08 16:16:30 +00:00
bResult = pTxtNode->IsFirstOfNumRule();
}
return bResult;
}
// implementation for interface <IDocumentListItems>
bool SwDoc::lessThanNodeNum::operator()( const SwNodeNum* pNodeNumOne,
const SwNodeNum* pNodeNumTwo ) const
{
return pNodeNumOne->LessThan( *pNodeNumTwo );
}
void SwDoc::addListItem( const SwNodeNum& rNodeNum )
{
if ( mpListItemsList == 0 )
{
return;
}
const bool bAlreadyInserted(
mpListItemsList->find( &rNodeNum ) != mpListItemsList->end() );
OSL_ENSURE( !bAlreadyInserted,
"<SwDoc::InsertListItem(..)> - <SwNodeNum> instance already registered as numbered item!" );
if ( !bAlreadyInserted )
{
mpListItemsList->insert( &rNodeNum );
}
}
void SwDoc::removeListItem( const SwNodeNum& rNodeNum )
{
if ( mpListItemsList == 0 )
{
return;
}
const tImplSortedNodeNumList::size_type nDeleted = mpListItemsList->erase( &rNodeNum );
if ( nDeleted > 1 )
{
OSL_FAIL( "<SwDoc::RemoveListItem(..)> - <SwNodeNum> was registered more than once as numbered item!" );
}
}
String SwDoc::getListItemText( const SwNodeNum& rNodeNum,
const bool bWithNumber,
const bool bWithSpacesForLevel ) const
{
return rNodeNum.GetTxtNode()
? rNodeNum.GetTxtNode()->GetExpandTxt( 0, STRING_LEN, bWithNumber,
bWithNumber, bWithSpacesForLevel )
: String();
}
void SwDoc::getListItems( tSortedNodeNumList& orNodeNumList ) const
{
orNodeNumList.clear();
orNodeNumList.reserve( mpListItemsList->size() );
tImplSortedNodeNumList::iterator aIter;
tImplSortedNodeNumList::iterator aEndIter = mpListItemsList->end();
for ( aIter = mpListItemsList->begin(); aIter != aEndIter; ++aIter )
{
orNodeNumList.push_back( (*aIter) );
}
}
void SwDoc::getNumItems( tSortedNodeNumList& orNodeNumList ) const
{
orNodeNumList.clear();
orNodeNumList.reserve( mpListItemsList->size() );
tImplSortedNodeNumList::iterator aIter;
tImplSortedNodeNumList::iterator aEndIter = mpListItemsList->end();
for ( aIter = mpListItemsList->begin(); aIter != aEndIter; ++aIter )
{
const SwNodeNum* pNodeNum = (*aIter);
if ( pNodeNum->IsCounted() &&
pNodeNum->GetTxtNode() && pNodeNum->GetTxtNode()->HasNumber() )
{
orNodeNumList.push_back( pNodeNum );
}
}
}
// implementation for interface <IDocumentOutlineNodes>
sal_Int32 SwDoc::getOutlineNodesCount() const
{
return GetNodes().GetOutLineNds().size();
}
int SwDoc::getOutlineLevel( const sal_Int32 nIdx ) const
{
return GetNodes().GetOutLineNds()[ static_cast<sal_uInt16>(nIdx) ]->
CWS-TOOLING: integrate CWS outlinelevel 2008-12-19 10:32:51 +0100 od r265718 : #i70748# method <SwWW8Writer::StartTOX(..)> - correction for custom to outline style assigned paragraph styles 2008-12-19 09:24:41 +0100 od r265715 : #i70748# method <HandleModifyAtTxtNode(..)> - retrieve former applied list style before potential reset of empty list style due to set outline level 2008-12-17 15:33:57 +0100 hde r265608 : #i97013# 2008-12-17 14:43:42 +0100 od r265603 : #i70748# adjust fix i44177 - adjustment of to outline style assigned paragraph styles only for OOo-Templates. 2008-12-17 12:59:42 +0100 od r265598 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - special handling of OOo 2.x document regarding outline numbering of headings. 2008-12-17 12:45:53 +0100 od r265597 : #i70748# method <HandleModifyAtTxtNode(..)> - correct determination of new and former applied list style 2008-12-17 10:18:41 +0100 od r265581 : #i97312# method <XMLTextNumRuleInfo::Set(..)> - check, if numbering rules instance contains any numbering rule. 2008-12-16 14:34:22 +0100 hde r265542 : #i97013 2008-12-16 14:20:24 +0100 od r265541 : #i70748# adjust documentation of "Which"-ID numbers 2008-12-16 14:19:49 +0100 od r265539 : #i70748# Adjust Attribute-Function-Mapping table due to new attribute 2008-12-16 14:06:24 +0100 od r265538 : #i70748# - Correct handling of to outline style assigned paragraph styles on reset of all paragraph style attributes - WW8 import: Consider refactoring of paragraph style's outline level attribute - NO_NUMBERING define no longer exsits. 2008-12-16 10:37:19 +0100 od r265530 : #i70478# Correction on moving outline paragraph up respectively down in its outline level: - Check also outline paragraph, which are not an outline via a to outline style assigned paragraph style, if action is applicable. 2008-12-16 09:10:13 +0100 hde r265523 : #i97277 2008-12-16 09:09:30 +0100 hde r265522 : #i97277 2008-12-16 09:07:40 +0100 hde r265521 : Added control and purged obsolete id's 2008-12-10 13:09:36 +0100 od r265174 : #i70748# correction of previous fix due to warning-free code 2008-12-10 13:03:30 +0100 od r265172 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - Due to performance issues avoid retrieving outline level value from paragraph's paragraph style for each paragraph. Instead retrieve current outline level value from paragraph, which is the inherited value from its paragraph style, and only when it is needed. 2008-12-09 16:50:36 +0100 ufi r265117 : help 2008-12-09 16:49:50 +0100 ufi r265116 : help 2008-12-09 15:45:05 +0100 od r265107 : #i70748# method <XMLTextImportHelper::SetStyleAndAttrs(..)> - some minor rework and check access to paragraph styles 2008-12-09 15:42:04 +0100 od r265106 : #i70748# adjust name of local variable to avoid hiding of class variable 2008-12-09 15:40:51 +0100 od r265105 : #i70748# correct initialization order 2008-12-09 15:35:07 +0100 od r265101 : #i70748# remove duplicate entry in certain property map 2008-12-09 15:33:39 +0100 od r265100 : #i70748# add end of file token 2008-12-07 15:11:54 +0100 zhaojianwei r264952 : conflicts left not to be resolved when cws rebase 2008-12-04 14:52:21 +0100 zhaojianwei r264846 : CWS-TOOLING: rebase CWS outlinelevel to trunk@264325 (milestone: DEV300:m36) 2008-11-28 03:42:09 +0100 zhaojianwei r264525 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:39 +0100 zhaojianwei r264524 : #i70748#: migrate CWS outlinelevel to SVN 2008-11-28 03:41:11 +0100 zhaojianwei r264523 : #i70748#: migrate CWS outlinelevel to SVN
2009-01-07 11:57:24 +00:00
// GetTxtNode()->GetOutlineLevel(); //#outline level,zhaojianwei
GetTxtNode()->GetAttrOutlineLevel()-1; //<-end,zhaojianwei
}
String SwDoc::getOutlineText( const sal_Int32 nIdx,
const bool bWithNumber,
const bool bWithSpacesForLevel ) const
{
return GetNodes().GetOutLineNds()[ static_cast<sal_uInt16>(nIdx) ]->
GetTxtNode()->GetExpandTxt( 0, STRING_LEN, bWithNumber,
bWithNumber, bWithSpacesForLevel );
}
SwTxtNode* SwDoc::getOutlineNode( const sal_Int32 nIdx ) const
{
return GetNodes().GetOutLineNds()[ static_cast<sal_uInt16>(nIdx) ]->GetTxtNode();
}
void SwDoc::getOutlineNodes( IDocumentOutlineNodes::tSortedOutlineNodeList& orOutlineNodeList ) const
{
orOutlineNodeList.clear();
orOutlineNodeList.reserve( getOutlineNodesCount() );
const sal_uInt16 nOutlCount( static_cast<sal_uInt16>(getOutlineNodesCount()) );
for ( sal_uInt16 i = 0; i < nOutlCount; ++i )
{
orOutlineNodeList.push_back(
GetNodes().GetOutLineNds()[i]->GetTxtNode() );
}
}
// implementation of interface IDocumentListsAccess
SwList* SwDoc::createList( String sListId,
const String sDefaultListStyleName )
{
if ( sListId.Len() == 0 )
{
sListId = listfunc::CreateUniqueListId( *this );
}
if ( getListByName( sListId ) )
{
OSL_FAIL( "<SwDoc::createList(..)> - provided list id already used. Serious defect -> please inform OD." );
return 0;
}
SwNumRule* pDefaultNumRuleForNewList = FindNumRulePtr( sDefaultListStyleName );
if ( !pDefaultNumRuleForNewList )
{
OSL_FAIL( "<SwDoc::createList(..)> - for provided default list style name no list style is found. Serious defect -> please inform OD." );
return 0;
}
SwList* pNewList = new SwList( sListId, *pDefaultNumRuleForNewList, GetNodes() );
maLists[sListId] = pNewList;
return pNewList;
}
void SwDoc::deleteList( const String sListId )
{
SwList* pList = getListByName( sListId );
if ( pList )
{
maLists.erase( sListId );
delete pList;
}
}
SwList* SwDoc::getListByName( const String sListId ) const
{
SwList* pList = 0;
boost::unordered_map< String, SwList*, StringHash >::const_iterator
aListIter = maLists.find( sListId );
if ( aListIter != maLists.end() )
{
pList = (*aListIter).second;
}
return pList;
}
SwList* SwDoc::createListForListStyle( const String sListStyleName )
{
if ( sListStyleName.Len() == 0 )
{
OSL_FAIL( "<SwDoc::createListForListStyle(..)> - no list style name provided. Serious defect -> please inform OD." );
return 0;
}
if ( getListForListStyle( sListStyleName ) )
{
OSL_FAIL( "<SwDoc::createListForListStyle(..)> - a list for the provided list style name already exists. Serious defect -> please inform OD." );
return 0;
}
SwNumRule* pNumRule = FindNumRulePtr( sListStyleName );
if ( !pNumRule )
{
OSL_FAIL( "<SwDoc::createListForListStyle(..)> - for provided list style name no list style is found. Serious defect -> please inform OD." );
return 0;
}
String sListId( pNumRule->GetDefaultListId() ); // can be empty String
if ( getListByName( sListId ) )
{
sListId = String();
}
SwList* pNewList = createList( sListId, sListStyleName );
maListStyleLists[sListStyleName] = pNewList;
pNumRule->SetDefaultListId( pNewList->GetListId() );
return pNewList;
}
SwList* SwDoc::getListForListStyle( const String sListStyleName ) const
{
SwList* pList = 0;
boost::unordered_map< String, SwList*, StringHash >::const_iterator
aListIter = maListStyleLists.find( sListStyleName );
if ( aListIter != maListStyleLists.end() )
{
pList = (*aListIter).second;
}
return pList;
}
void SwDoc::deleteListForListStyle( const String sListStyleName )
{
String sListId;
{
SwList* pList = getListForListStyle( sListStyleName );
OSL_ENSURE( pList,
"<SwDoc::deleteListForListStyle(..)> - misusage of method: no list found for given list style name" );
if ( pList )
{
sListId = pList->GetListId();
}
}
if ( sListId.Len() > 0 )
{
maListStyleLists.erase( sListStyleName );
deleteList( sListId );
}
}
2010-10-18 12:55:43 +01:00
void SwDoc::trackChangeOfListStyleName( const String sListStyleName,
const String sNewListStyleName )
{
SwList* pList = getListForListStyle( sListStyleName );
OSL_ENSURE( pList,
"<SwDoc::changeOfListStyleName(..)> - misusage of method: no list found for given list style name" );
if ( pList != 0 )
{
maListStyleLists.erase( sListStyleName );
maListStyleLists[sNewListStyleName] = pList;
}
}
namespace listfunc
{
const String MakeListIdUnique( const SwDoc& rDoc,
const String aSuggestedUniqueListId )
{
long nHitCount = 0;
String aTmpStr = aSuggestedUniqueListId;
while ( rDoc.getListByName( aTmpStr ) )
{
++nHitCount;
aTmpStr = aSuggestedUniqueListId;
aTmpStr += String::CreateFromInt32( nHitCount );
}
return aTmpStr;
}
const String CreateUniqueListId( const SwDoc& rDoc )
{
2011-01-28 11:31:24 +00:00
// #i92478#
String aNewListId = rtl::OUString("list");
sal_Int64 n = Time( Time::SYSTEM ).GetTime();
n += Date( Date::SYSTEM ).GetDate();
n += rand();
2011-01-28 11:31:24 +00:00
// #i92478#
2012-02-26 20:45:18 +00:00
aNewListId += rtl::OUString::valueOf(n);
return MakeListIdUnique( rDoc, aNewListId );
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */