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

2973 lines
94 KiB
C++
Raw Normal View History

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 2008 by Sun Microsystems, Inc.
2000-09-18 23:08:29 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-18 23:08:29 +00:00
*
* $RCSfile: docnum.cxx,v $
* $Revision: 1.78 $
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
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
2000-09-18 23:08:29 +00:00
#include <hintids.hxx>
#include <tools/date.hxx>
#include <tools/time.hxx>
#include <tools/resid.hxx>
#include <svx/lrspitem.hxx>
#include <ftninfo.hxx>
#include <ftnidx.hxx>
#include <doc.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
#include <doctxm.hxx> // pTOXBaseRing
#include <poolfmt.hxx>
#include <undobj.hxx>
#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>
#ifndef _COMCORE_HRC
#include <comcore.hrc>
#endif
#include <svx/adjitem.hxx>
#include <svx/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>
// --> OD 2008-03-13 #refactorlists#
#include <list.hxx>
#include <listfunc.hxx>
// <--
2000-09-18 23:08:29 +00:00
#include <map>
2000-09-18 23:08:29 +00:00
inline BYTE GetUpperLvlChg( BYTE nCurLvl, BYTE nLevel, USHORT nMask )
{
if( 1 < nLevel )
{
if( nCurLvl + 1 >= nLevel )
nCurLvl -= nLevel - 1;
else
nCurLvl = 0;
}
return static_cast<BYTE>((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 );
// --> OD 2008-07-08 #i91400#
2000-09-18 23:08:29 +00:00
pOutlineRule->SetName( String::CreateFromAscii(
SwNumRule::GetOutlineRuleName() ),
*this);
// <--
// --> OD 2006-09-21 #i69522#
// assure that the outline numbering rule is an automatic rule
pOutlineRule->SetAutoRule( TRUE );
// <--
2000-09-18 23:08:29 +00:00
// teste ob die evt. gesetzen CharFormate in diesem Document
// definiert sind
pOutlineRule->CheckCharFmts( this );
// --> OD 2008-05-13 #refactorlists#
// 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();
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
// --> OD 2009-01-20 #i94152#
// 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(TRUE);
UpdateNumRule();
// gibt es Fussnoten && gilt Kapitelweises Nummerieren, dann updaten
if( GetFtnIdxs().Count() && FTNNUM_CHAPTER == GetFtnInfo().eNum )
GetFtnIdxs().UpdateAllFtn();
UpdateExpFlds(NULL, true);
2000-09-18 23:08:29 +00:00
SetModified();
}
void SwDoc::PropagateOutlineRule()
{
for (USHORT n = 0; n < pTxtFmtCollTbl->Count(); 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 (NO_NUMBERING != pColl->GetOutlineLevel())//#outline level,zhaojianwei
if(pColl->IsAssignedToListLevelOfOutlineStyle())//<-end,zhaojianwei
{
SwClientIter aIter(*pColl);
// --> OD 2006-11-20 #i71764#
// Check only the list style, which is set at the paragraph style
const SwNumRuleItem & rCollRuleItem = pColl->GetNumRule( 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
// --> OD 2006-11-20 #i71764#
// 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
// Hoch-/Runterstufen
BOOL SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
{
if( !GetNodes().GetOutLineNds().Count() || !nOffset )
return FALSE;
// den Bereich feststellen
const SwOutlineNodes& rOutlNds = GetNodes().GetOutLineNds();
const SwNodePtr pSttNd = (SwNodePtr)&rPam.Start()->nNode.GetNode();
const SwNodePtr pEndNd = (SwNodePtr)&rPam.End()->nNode.GetNode();
USHORT nSttPos, nEndPos;
if( !rOutlNds.Seek_Entry( pSttNd, &nSttPos ) &&
!nSttPos-- )
// wir stehen in keiner "Outline-Section"
return FALSE;
if( rOutlNds.Seek_Entry( pEndNd, &nEndPos ) )
++nEndPos;
// jetzt haben wir unseren Bereich im OutlineNodes-Array
// dann prufe ersmal, ob nicht unterebenen aufgehoben werden
// (Stufung ueber die Grenzen)
USHORT n;
2000-09-18 23:08:29 +00:00
// so, dann koennen wir:
// 1. Vorlagen-Array anlegen
SwTxtFmtColl* aCollArr[ MAXLEVEL ];
memset( aCollArr, 0, sizeof( SwTxtFmtColl* ) * MAXLEVEL );
for( n = 0; n < pTxtFmtCollTbl->Count(); ++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
//BYTE nLevel = (*pTxtFmtCollTbl)[ n ]->GetOutlineLevel();//#outline level,zhaojianwei
//if( nLevel < MAXLEVEL )
// aCollArr[ nLevel ] = (*pTxtFmtCollTbl)[ n ];
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
}
/* --> #111107# */
/* 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->GetOutlineLevel() == n)//#outline level,zhaojianwei
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;
}
}
}
/* <-- #111107# */
/* --> #i13747#
Build a move table that states from which level an outline will
be moved to which other level. */
/* 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)
{
USHORT m = n;
int nCount = nNum;
while (nCount > 0 && m + nStep >= 0 && m + nStep < MAXLEVEL)
{
m = static_cast<USHORT>(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();
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 nLevel = pColl->GetOutlineLevel();//#outline level,zhaojianwei
// if (aMoveArr[nLevel] == -1)
// bMoveApplicable = false;
if( pColl->IsAssignedToListLevelOfOutlineStyle() )
{
const int nLevel = pColl->GetAssignedOutlineStyleLevel();
if (aMoveArr[nLevel] == -1)
bMoveApplicable = false;
}//<-end,zhaojianwei
// --> OD 2008-12-16 #i70748#
// 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 FALSE;
/* <-- #i13747 # */
2000-09-18 23:08:29 +00:00
if( DoesUndo() )
{
ClearRedo();
StartUndo(UNDO_OUTLINE_LR, NULL);
2000-09-18 23:08:29 +00:00
AppendUndo( new SwUndoOutlineLeftRight( rPam, nOffset ) );
}
// 2. allen Nodes die neue Vorlage zuweisen
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() )
{
// ASSERT(pColl->GetOutlineLevel() < MAXLEVEL, //#outline level,removed by zhaojianwei
// "non outline node in outline nodes?");
//int nLevel = pColl->GetOutlineLevel();
const int nLevel = pColl->GetAssignedOutlineStyleLevel();//#outline level,add by zhaojianwei
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
ASSERT(aMoveArr[nLevel] >= 0,
"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 (DoesUndo())
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();
2000-09-18 23:08:29 +00:00
return TRUE;
}
// Hoch-/Runter - Verschieben !
BOOL SwDoc::MoveOutlinePara( const SwPaM& rPam, short nOffset )
{
// kein Verschiebung in den Sonderbereichen
const SwPosition& rStt = *rPam.Start(),
& rEnd = &rStt == rPam.GetPoint() ? *rPam.GetMark()
: *rPam.GetPoint();
if( !GetNodes().GetOutLineNds().Count() || !nOffset ||
rStt.nNode.GetIndex() < aNodes.GetEndOfExtras().GetIndex() ||
rEnd.nNode.GetIndex() < aNodes.GetEndOfExtras().GetIndex() )
return FALSE;
USHORT nAktPos = 0;
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
//BYTE nOutLineLevel = NO_NUMBERING; //#outline level,zhaojianwei
int nOutLineLevel = MAXLEVEL; //<-end,zhaojianwei
SwNode* pSrch = &aSttRg.GetNode();
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() ) //#outline level,zhaojianwei
// nOutLineLevel = static_cast<BYTE>(((SwTxtNode*)pSrch)->GetOutlineLevel());
if( pSrch->IsTxtNode())
nOutLineLevel = static_cast<BYTE>(((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 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 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
}
USHORT 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)->GetOutlineLevel() )//#outline level,zhaojianwei
nOutLineLevel < ((SwTxtNode*)pEndSrch)->GetAttrOutlineLevel()-1 )//<-end,zhaojianwei
++nTmpPos; // For sub outlines only!
}
2000-09-18 23:08:29 +00:00
aEndRg = nTmpPos < GetNodes().GetOutLineNds().Count()
? *GetNodes().GetOutLineNds()[ nTmpPos ]
: GetNodes().GetEndOfContent();
if( nOffset >= 0 )
nAktPos = nTmpPos;
if( aEndRg == aSttRg )
{
ASSERT( false, "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
2000-09-18 23:08:29 +00:00
if( nOffset < 0 && nAktPos < USHORT(-nOffset) )
pNd = GetNodes().GetEndOfContent().StartOfSectionNode();
else if( nAktPos + nOffset >= GetNodes().GetOutLineNds().Count() )
pNd = &GetNodes().GetEndOfContent();
else
pNd = GetNodes().GetOutLineNds()[ nAktPos + nOffset ];
ULONG nNewPos = pNd->GetIndex();
// 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 FALSE;
2000-09-18 23:08:29 +00:00
ASSERT( aSttRg.GetIndex() > nNewPos || nNewPos >= aEndRg.GetIndex(),
"Position liegt im MoveBereich" );
// wurde ein Position in den Sonderbereichen errechnet, dann
// setze die Position auf den Dokumentanfang.
// Sollten da Bereiche oder Tabellen stehen, so werden sie nach
// hinten verschoben.
nNewPos = Max( nNewPos, aNodes.GetEndOfExtras().GetIndex() + 2 );
long nOffs = nNewPos - ( 0 < nOffset ? aEndRg.GetIndex() : aSttRg.GetIndex());
SwPaM aPam( aSttRg, aEndRg, 0, -1 );
return MoveParagraph( aPam, nOffs, TRUE );
}
USHORT lcl_FindOutlineName( const SwNodes& rNds, const String& rName,
BOOL bExact )
{
USHORT nSavePos = USHRT_MAX;
const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
for( USHORT n = 0; n < rOutlNds.Count(); ++n )
{
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 ) )
{
// "exact" gefunden, setze Pos auf den Node
nSavePos = n;
break;
}
else if( !bExact && USHRT_MAX == nSavePos &&
COMPARE_EQUAL == sTxt.CompareTo( rName, rName.Len()) )
{
// dann vielleicht nur den den 1.Teil vom Text gefunden
nSavePos = n;
}
}
return nSavePos;
}
USHORT lcl_FindOutlineNum( const SwNodes& rNds, String& rName )
{
// Gueltig Nummern sind (immer nur Offsets!!!):
// ([Nummer]+\.)+ (als regulaerer Ausdruck!)
// (Nummer gefolgt von Punkt, zum 5 Wiederholungen)
// also: "1.1.", "1.", "1.1.1."
xub_StrLen nPos = 0;
String sNum = rName.GetToken( 0, '.', nPos );
if( STRING_NOTFOUND == nPos )
return USHRT_MAX; // ungueltige Nummer!!!
USHORT nLevelVal[ MAXLEVEL ]; // Nummern aller Levels
memset( nLevelVal, 0, MAXLEVEL * sizeof( nLevelVal[0] ));
BYTE nLevel = 0;
String sName( rName );
while( STRING_NOTFOUND != nPos )
{
USHORT nVal = 0;
sal_Unicode c;
for( USHORT n = 0; n < sNum.Len(); ++n )
if( '0' <= ( c = sNum.GetChar( n )) && c <= '9' )
{
nVal *= 10; nVal += c - '0';
}
else if( nLevel )
break; // "fast" gueltige Nummer
else
return USHRT_MAX; // ungueltige Nummer!!!
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
if(!ByteString(sNum, gsl_getSystemTextEncoding()).IsNumericAscii())
nPos = STRING_NOTFOUND;
2000-09-18 23:08:29 +00:00
}
rName = sName; // das ist der nachfolgende Text.
// alle Levels gelesen, dann suche mal im Document nach dieser
// Gliederung:
const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
// OS: ohne OutlineNodes lohnt die Suche nicht
// und man spart sich einen Absturz #42958#
if(!rOutlNds.Count())
return USHRT_MAX;
SwTxtNode* pNd;
nPos = 0;
//search in the existing outline nodes for the required outline num array
for( ; nPos < rOutlNds.Count(); ++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
//BYTE nLvl = pNd->GetTxtColl()->GetOutlineLevel(); //#outline level,zhaojianwei
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
{
// check for the outline num
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
// --> OD 2005-11-02 #i51089 - TUNING#
// --> OD 2006-09-22 #i68289#
// Assure, that text node has the correct numbering level. Otherwise,
// its number vector will not fit to the searched level.
// if ( pNd->GetNum() )
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();
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
//now compare with the one searched for
bool bEqual = true;
for( BYTE n = 0; (n < nLevel) && bEqual; ++n )
{
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
{
// --> OD 2006-01-12 #126588#
// 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.
ASSERT( !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.Count() )
nPos = USHRT_MAX;
2000-09-18 23:08:29 +00:00
return nPos;
}
// zu diesem Gliederungspunkt
// JP 13.06.96:
// im Namen kann eine Nummer oder/und der Text stehen.
// zuerst wird ueber die Nummer versucht den richtigen Eintrag zu finden.
// Gibt es diesen, dann wird ueber den Text verglichen, od es der
// gewuenschte ist. Ist das nicht der Fall, wird noch mal nur ueber den
// Text gesucht. Wird dieser gefunden ist es der Eintrag. Ansonsten der,
// der ueber die Nummer gefunden wurde.
// Ist keine Nummer angegeben, dann nur den Text suchen.
BOOL SwDoc::GotoOutline( SwPosition& rPos, const String& rName ) const
{
if( rName.Len() )
{
const SwOutlineNodes& rOutlNds = GetNodes().GetOutLineNds();
// 1. Schritt: ueber die Nummer:
String sName( rName );
USHORT nFndPos = ::lcl_FindOutlineNum( GetNodes(), sName );
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
USHORT nPos = 0;
String sTempNum;
while(sExpandedText.Len() && (sTempNum = sExpandedText.GetToken(0, '.', nPos)).Len() &&
STRING_NOTFOUND != nPos &&
ByteString(sTempNum, gsl_getSystemTextEncoding()).IsNumericAscii())
{
sExpandedText.Erase(0, nPos);
nPos = 0;
}
if( !sExpandedText.Equals( sName ) )
2000-09-18 23:08:29 +00:00
{
USHORT nTmp = ::lcl_FindOutlineName( GetNodes(), sName, TRUE );
if( USHRT_MAX != nTmp ) // ueber den Namen gefunden
{
nFndPos = nTmp;
pNd = rOutlNds[ nFndPos ]->GetTxtNode();
}
}
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return TRUE;
}
nFndPos = ::lcl_FindOutlineName( GetNodes(), rName, FALSE );
if( USHRT_MAX != nFndPos )
{
SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return TRUE;
}
// --> OD 2006-09-22 #i68289#
// additional search on hyperlink URL without its outline numbering part
if ( !sName.Equals( rName ) )
{
nFndPos = ::lcl_FindOutlineName( GetNodes(), sName, FALSE );
if( USHRT_MAX != nFndPos )
{
SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
rPos.nNode = *pNd;
rPos.nContent.Assign( pNd, 0 );
return TRUE;
}
}
// <--
2000-09-18 23:08:29 +00:00
}
return FALSE;
}
/* */
// --- Nummerierung -----------------------------------------
// --> OD 2008-02-19 #refactorlists#
//void SwNumRuleInfo::MakeList( SwDoc& rDoc, BOOL )
//{
// SwNumRule* pRule = rDoc.FindNumRulePtr(rName);
// // no rule, no fun.
// if ( !pRule )
// return;
// //
// // 1. Case: Information already available at pRule:
// //
// if (pRule->GetTxtNodeList())
// {
// // copy list to own pList pointer:
// aList = *pRule->GetTxtNodeList();
// return;
// }
// //
// // 2. Case: Information has to be generated from scratch:
// //
// if (pRule->IsOutlineRule())
// {
// const SwOutlineNodes & rOutlineNodes = rDoc.GetNodes().GetOutLineNds();
// for (USHORT i = 0; i < rOutlineNodes.Count(); ++i)
// {
// SwTxtNode & aNode = *((SwTxtNode *) rOutlineNodes[i]);
// if (pRule == aNode.GetNumRule())
// AddNode(aNode);
// }
// }
// {
// SwModify* pMod;
// const SfxPoolItem* pItem;
// USHORT i, nMaxItems = rDoc.GetAttrPool().GetItemCount
// ( RES_PARATR_NUMRULE);
// for( i = 0; i < nMaxItems; ++i )
// {
// pItem = rDoc.GetAttrPool().GetItem( RES_PARATR_NUMRULE, i );
// if( 0 != pItem)
// {
// pMod = (SwModify*)((SwNumRuleItem*)pItem)->GetDefinedIn();
// if (0 != pMod &&
// ((SwNumRuleItem*)pItem)->GetValue().Len() &&
// ((SwNumRuleItem*)pItem)->GetValue() == rName )
// {
// if( pMod->IsA( TYPE( SwFmt )) )
// pMod->GetInfo( *this );
// else
// {
// SwTxtNode* pModTxtNode = (SwTxtNode*)pMod;
// // #115901#
// if( pModTxtNode->GetNodes().IsDocNodes())
// {
// AddNode( *pModTxtNode );
// }
// }
// }
// }
// }
// }
// // --> FME 2004-11-03 #i36571# The numrule and this info structure should
// // have different instances of the list:
// // --> OD 2006-09-12 #i69145#
// // method <SwNumRule::SetList(..)> copies content of list provided by the parameter
// pRule->SetTxtNodeList( aList );
// // <--
//}
// <--
2000-09-18 23:08:29 +00:00
void lcl_ChgNumRule( SwDoc& rDoc, const SwNumRule& rRule )
2000-09-18 23:08:29 +00:00
{
SwNumRule* pOld = rDoc.FindNumRulePtr( rRule.GetName() );
ASSERT( pOld, "ohne die alte NumRule geht gar nichts" );
USHORT nChgFmtLevel = 0, nMask = 1;
BYTE 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 ) // es wurde nichts veraendert?
{
// --> OD 2006-04-27 #i64311#
const bool bInvalidateNumRule( pOld->IsContinusNum() != rRule.IsContinusNum() );
// <--
2000-09-18 23:08:29 +00:00
pOld->CheckCharFmts( &rDoc );
pOld->SetContinusNum( rRule.IsContinusNum() );
// --> OD 2008-06-17 #i87166#
// Do NOT change list style type
// pOld->SetRuleType( rRule.GetRuleType() );
// <--
// --> OD 2006-04-27 #i64311#
if ( bInvalidateNumRule )
{
pOld->SetInvalidRule(TRUE);
}
// <--
2000-09-18 23:08:29 +00:00
return ;
}
// --> OD 2008-02-19 #refactorlists#
// SwNumRuleInfo* pUpd = new SwNumRuleInfo( rRule.GetName() );
// pUpd->MakeList( rDoc );
// BYTE nLvl;
// for( ULONG nFirst = 0, nLast = pUpd->GetList().Count();
// nFirst < nLast; ++nFirst )
// {
// SwTxtNode* pTxtNd = pUpd->GetList().GetObject( nFirst );
// nLvl = static_cast<BYTE>(pTxtNd->GetLevel());
2000-09-18 23:08:29 +00:00
// if( nLvl < MAXLEVEL )
// {
// if( nChgFmtLevel & ( 1 << nLvl ))
// {
// pTxtNd->NumRuleChgd();
// }
// }
// }
SwNumRule::tTxtNodeList aTxtNodeList;
pOld->GetTxtNodeList( aTxtNodeList );
BYTE 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<BYTE>(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();
}
}
}
// <--
2000-09-18 23:08:29 +00:00
for( n = 0; n < MAXLEVEL; ++n )
if( nChgFmtLevel & ( 1 << n ))
pOld->Set( n, rRule.GetNumFmt( n ));
pOld->CheckCharFmts( &rDoc );
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
pOld->SetInvalidRule(TRUE);
2000-09-18 23:08:29 +00:00
pOld->SetContinusNum( rRule.IsContinusNum() );
// --> OD 2008-06-17 #i87166#
// Do NOT change list style type
// pOld->SetRuleType( rRule.GetRuleType() );
// <--
2000-09-18 23:08:29 +00:00
// --> OD 2008-02-19 #refactorlists#
// delete pUpd;
// <--
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
}
// OD 2008-02-08 #newlistlevelattrs# - add handling of parameter <bResetIndentAttrs>
// --> OD 2008-03-17 #refactorlists#
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 (DoesUndo())
2000-09-18 23:08:29 +00:00
{
ClearRedo();
StartUndo( UNDO_INSNUM, NULL ); // Klammerung fuer die Attribute!
2000-09-18 23:08:29 +00:00
AppendUndo( pUndo = new SwUndoInsNum( rPam, 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
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
// --> OD 2008-03-17 #refactorlists#
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() );
ASSERT( 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();
// --> OD 2006-10-19 #134160#
// 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;
// --> OD 2008-06-02 #refactorlists#
if ( !pTxtNd->IsInList() )
{
pTxtNd->AddToList();
}
// <--
}
// --> OD 2005-10-26 #b6340308# - 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
// --> OD 2009-08-18 #i103817#
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
}
// --> OD 2008-02-08 #newlistlevelattrs#
if ( bResetIndentAttrs &&
pNew && pNew->Get( 0 ).GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_ALIGNMENT )
{
SvUShortsSort aResetAttrsArray;
aResetAttrsArray.Insert( RES_LR_SPACE );
ResetAttrs( rPam, sal_True, &aResetAttrsArray );
}
// <--
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 (DoesUndo())
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)
{
// --> OD 2008-04-03 #refactorlists#
// ULONG nStartPos = rPam.Start()->nNode.GetIndex();
// ULONG nEndPos = rPam.End()->nNode.GetIndex();
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
// for (ULONG n = nStartPos; n <= nEndPos; n++)
// {
// SwTxtNode * pNd = GetNodes()[n]->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 (pNd)
// pNd->SetCountedInList(bCounted);
// }
if ( bCounted )
{
SvUShortsSort aResetAttrsArray;
aResetAttrsArray.Insert( RES_PARATR_LIST_ISCOUNTED );
ResetAttrs( rPam, sal_True, &aResetAttrsArray );
}
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, 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
}
}
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
//void SwDoc::ReplaceNumRule(const SwPaM & rPaM, const SwNumRule & rNumRule)
//{
// if (DoesUndo())
// StartUndo(UNDO_START, NULL);
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
// ULONG nStt = rPaM.Start()->nNode.GetIndex();
// ULONG nEnd = rPaM.End()->nNode.GetIndex();
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
// for (ULONG n = nStt; n <= nEnd; n++)
// {
// SwTxtNode * pCNd = GetNodes()[n]->GetTxtNode();
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 (pCNd && NULL != pCNd->GetNumRule())
// {
// SwPaM aPam(*pCNd);
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(aPam, SwNumRuleItem(rNumRule.GetName()), 0);
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
// }
// }
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 (DoesUndo())
// EndUndo(UNDO_START, NULL);
//}
2000-09-18 23:08:29 +00:00
void SwDoc::SetNumRuleStart( const SwPosition& rPos, BOOL bFlag )
{
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
{
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( DoesUndo() )
{
ClearRedo();
AppendUndo( new SwUndoNumRuleStart( rPos, bFlag ));
}
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, USHORT nStt )
{
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
{
// --> OD 2008-02-27 #refactorlists#
// const SwNumRule* pRule = pTxtNd->GetNumRule();
// if( pRule && nStt != pTxtNd->GetListRestartValue() )
// {
// if( DoesUndo() )
// {
// ClearRedo();
// AppendUndo( new SwUndoNumRuleStart( rPos, nStt ));
// }
// }
// pTxtNd->SetListRestartValue(nStt);
// SetModified();
if ( !pTxtNd->HasAttrListRestartValue() ||
pTxtNd->GetAttrListRestartValue() != nStt )
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( DoesUndo() )
{
ClearRedo();
AppendUndo( new SwUndoNumRuleStart( rPos, nStt ));
}
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
}
}
// loeschen geht nur, wenn die Rule niemand benutzt!
BOOL SwDoc::DelNumRule( const String& rName, BOOL bBroadcast )
2000-09-18 23:08:29 +00:00
{
USHORT nPos = FindNumRule( rName );
// --> OD 2007-12-17 #151213#
if ( (*pNumRuleTbl)[ nPos ] == GetOutlineNumRule() )
{
ASSERT( false,
"<SwDoc::DelNumRule(..)> - No deletion of outline list style. This is serious defect - please inform OD" );
return FALSE;
}
// <--
2000-09-18 23:08:29 +00:00
if( USHRT_MAX != nPos && !IsUsed( *(*pNumRuleTbl)[ nPos ] ))
{
if (DoesUndo())
{
SwUndo * pUndo =
new SwUndoNumruleDelete(*(*pNumRuleTbl)[nPos], this);
AppendUndo(pUndo);
}
if (bBroadcast)
BroadcastStyleOperation(rName, SFX_STYLE_FAMILY_PSEUDO,
SFX_STYLESHEET_ERASED);
// --> OD 2008-04-02 #refactorlists#
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.size() > 0 )
{
SwList* pList = aListsForDeletion.back();
aListsForDeletion.pop_back();
deleteList( pList->GetListId() );
}
}
// <--
// --> FME 2004-11-02 #i34097# DeleteAndDestroy deletes rName if
// rName is directly taken from the numrule.
const String aTmpName( rName );
// <--
2000-09-18 23:08:29 +00:00
pNumRuleTbl->DeleteAndDestroy( nPos );
maNumRuleMap.erase(aTmpName);
2000-09-18 23:08:29 +00:00
SetModified();
return TRUE;
}
return FALSE;
}
// #106897#
void SwDoc::ChgNumRuleFmts( const SwNumRule& rRule, const String * pName )
2000-09-18 23:08:29 +00:00
{
// #106897#
SwNumRule* pRule = FindNumRulePtr( pName ? *pName : rRule.GetName() );
2000-09-18 23:08:29 +00:00
if( pRule )
{
SwUndoInsNum* pUndo = 0;
if( DoesUndo() )
2000-09-18 23:08:29 +00:00
{
ClearRedo();
pUndo = new SwUndoInsNum( *pRule, rRule );
pUndo->GetHistory();
2000-09-18 23:08:29 +00:00
AppendUndo( pUndo );
}
::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,
BOOL bBroadcast)
{
sal_Bool bResult = sal_False;
SwNumRule * pNumRule = FindNumRulePtr(rOldName);
if (pNumRule)
{
if (DoesUndo())
{
SwUndo * pUndo = new SwUndoNumruleRename(rOldName, rNewName, this);
AppendUndo(pUndo);
}
// --> OD 2008-02-19 #refactorlists#
// SwNumRuleInfo aInfo(rOldName);
// aInfo.MakeList(*this);
SwNumRule::tTxtNodeList aTxtNodeList;
pNumRule->GetTxtNodeList( aTxtNodeList );
// <--
// --> OD 2008-07-08 #i91400#
pNumRule->SetName( rNewName, *this );
// <--
SwNumRuleItem aItem(rNewName);
// --> OD 2008-02-19 #refactorlists#
// for (ULONG nI = 0; nI < aInfo.GetList().Count(); ++nI)
// {
// SwTxtNode * pTxtNd = aInfo.GetList().GetObject(nI);
// pTxtNd->SwCntntNode::SetAttr(aItem);
// }
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( USHORT n = GetNumRuleTbl().Count(); n; )
{
// --> OD 2008-02-19 #refactorlists#
// SwNumRuleInfo aUpd( GetNumRuleTbl()[ --n ]->GetName() );
// aUpd.MakeList( *this );
// for( ULONG nFirst = 0, nLast = aUpd.GetList().Count();
// nFirst < nLast; ++nFirst )
// {
// SwTxtNode* pTNd = aUpd.GetList().GetObject( nFirst );
// SwClientIter aIter( *pTNd );
// for( SwFrm* pFrm = (SwFrm*)aIter.First( TYPE(SwFrm) );
// pFrm; pFrm = (SwFrm*)aIter.Next() )
// if( ((SwTxtFrm*)pFrm)->HasAnimation() )
// ((SwTxtFrm*)pFrm)->StopAnimation( pOut );
// }
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;
2000-09-18 23:08:29 +00:00
SwClientIter aIter( *pTNd );
for( SwFrm* pFrm = (SwFrm*)aIter.First( TYPE(SwFrm) );
pFrm; pFrm = (SwFrm*)aIter.Next() )
if( ((SwTxtFrm*)pFrm)->HasAnimation() )
((SwTxtFrm*)pFrm)->StopAnimation( pOut );
}
// <--
2000-09-18 23:08:29 +00:00
}
}
BOOL SwDoc::ReplaceNumRule( const SwPosition& rPos,
const String& rOldRule, const String& rNewRule )
{
BOOL bRet = FALSE;
SwNumRule *pOldRule = FindNumRulePtr( rOldRule ),
*pNewRule = FindNumRulePtr( rNewRule );
if( pOldRule && pNewRule && pOldRule != pNewRule )
{
// --> OD 2008-02-19 #refactorlists#
2000-09-18 23:08:29 +00:00
SwUndoInsNum* pUndo = 0;
if( DoesUndo() )
{
ClearRedo();
StartUndo( UNDO_START, NULL ); // Klammerung fuer die Attribute!
2000-09-18 23:08:29 +00:00
AppendUndo( pUndo = new SwUndoInsNum( rPos, *pNewRule, rOldRule ) );
}
// --> OD 2008-02-19 #refactorlists#
// apply new list style <pNewRule> to all text nodes, which have the
// old list style <pOldNRule> applied and belong to the same list as
// the text node of the given <SwPosition>.
// SwNumRuleInfo aUpd( rOldRule );
// aUpd.MakeList( *this );
// if (aUpd.GetList().Count() > 0) // #106897#
SwNumRule::tTxtNodeList aTxtNodeList;
pOldRule->GetTxtNodeList( aTxtNodeList );
if ( aTxtNodeList.size() > 0 )
{
// // Position suchen und bestimme ob ein Node davor oder dahinter
// // einen Start erzwingt
// SwTxtNode* pTxtNd;
// ULONG nFndPos, nFirst, nLast;
2000-09-18 23:08:29 +00:00
// if( TABLE_ENTRY_NOTFOUND != aUpd.GetList().SearchKey(
// rPos.nNode.GetIndex(), &nFndPos ))
// ++nFndPos;
2000-09-18 23:08:29 +00:00
// for( nLast = nFndPos; nLast < aUpd.GetList().Count(); ++nLast )
// {
// pTxtNd = aUpd.GetList().GetObject( nLast );
// if(pTxtNd->IsRestart())
// break;
// }
// for( nFirst = nFndPos; nFirst; )
// {
// pTxtNd = aUpd.GetList().GetObject( --nFirst );
// if( pTxtNd->IsRestart() )
// break;
// }
// // dann neue Numerierung ueber diesen Bereich
// // definieren und den Start am Anfang/Ende zurueck setzen
// pTxtNd = aUpd.GetList().GetObject( nFirst );
// if( pTxtNd->IsRestart() )
// {
// pTxtNd->SetRestart(false);
// if( pUndo )
// pUndo->SetSttNum( pTxtNd->GetIndex() );
// }
2000-09-18 23:08:29 +00:00
SwRegHistory aRegH( pUndo ? pUndo->GetHistory() : 0 );
USHORT nChgFmtLevel = 0;
for( BYTE 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( ; nFirst < nLast; ++nFirst )
// {
// pTxtNd = aUpd.GetList().GetObject( nFirst );
// aRegH.RegisterInModify( pTxtNd, *pTxtNd );
// pTxtNd->SwCntntNode::SetAttr( aRule );
// pTxtNd->NumRuleChgd();
// }
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();
}
}
EndUndo( UNDO_END, NULL );
SetModified();
bRet = TRUE; // #106897#
2000-09-18 23:08:29 +00:00
}
}
2000-09-18 23:08:29 +00:00
return bRet;
}
// --> OD 2008-03-18 #refactorlists#
namespace
{
struct ListStyleData
{
SwNumRule* pReplaceNumRule;
bool bCreateNewList;
String sListId;
ListStyleData()
: pReplaceNumRule( 0 ),
bCreateNewList( false ),
sListId()
{}
};
}
// <--
void SwDoc::MakeUniqueNumRules(const SwPaM & rPaM)
{
ASSERT( rPaM.GetDoc() == this, "need same doc" );
// --> OD 2008-03-18 #refactorlists#
// map<SwNumRule *, SwNumRule *> aMyNumRuleMap;
::std::map<SwNumRule *, ListStyleData> aMyNumRuleMap;
// <--
ULONG nStt = rPaM.Start()->nNode.GetIndex();
ULONG nEnd = rPaM.End()->nNode.GetIndex();
bool bFirst = true;
for (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())
{
// --> OD 2008-03-18 #refactorlists#
// SwNumRule * pReplaceNumRule = aMyNumRuleMap[pRule];
ListStyleData aListStyleData = aMyNumRuleMap[pRule];
// if (! pReplaceNumRule)
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 (! pReplaceNumRule)
if ( aListStyleData.pReplaceNumRule == 0 )
{
// pReplaceNumRule = new SwNumRule(*pRule);
// pReplaceNumRule->SetName(GetUniqueNumRuleName());
aListStyleData.pReplaceNumRule = new SwNumRule(*pRule);
// --> OD 2008-07-08 #i91400#
aListStyleData.pReplaceNumRule->SetName(
GetUniqueNumRuleName(), *this );
// <--
aListStyleData.bCreateNewList = true;
}
// aMyNumRuleMap[pRule] = pReplaceNumRule;
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;
}
}
}
}
2000-09-18 23:08:29 +00:00
BOOL SwDoc::NoNum( const SwPaM& rPam )
{
BOOL bRet = SplitNode( *rPam.GetPoint(), false );
2000-09-18 23:08:29 +00:00
// ist ueberhaupt Nummerierung im Spiel ?
if( bRet )
{
// NoNum setzen und Upaten
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 = FALSE; // keine Nummerierung , ?? oder immer TRUE ??
}
return bRet;
}
void SwDoc::DelNumRules( const SwPaM& rPam )
2000-09-18 23:08:29 +00:00
{
ULONG nStt = rPam.GetPoint()->nNode.GetIndex(),
nEnd = rPam.GetMark()->nNode.GetIndex();
if( nStt > nEnd )
{
ULONG nTmp = nStt; nStt = nEnd; nEnd = nTmp;
}
SwUndoDelNum* pUndo;
if( DoesUndo() )
{
ClearRedo();
AppendUndo( pUndo = new SwUndoDelNum( rPam ) );
}
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();
// --> OD 2008-03-13 #refactorlists#
// if( pTNd && 0 != ( pItem = pTNd->GetNoCondAttr(
// RES_PARATR_NUMRULE, TRUE ) ) &&
// ( pName = &((SwNumRuleItem*)pItem)->GetValue())->Len() )
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, 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, FALSE ) == SFX_ITEM_SET )
pTNd->ResetAttr( RES_PARATR_NUMRULE );
2000-09-18 23:08:29 +00:00
else
pTNd->SetAttr( aEmptyRule );
// --> OD 2008-03-26 #refactorlists#
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();
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 && NO_NUMBERING != //#outline level,zhaojianwei
// ((SwTxtFmtColl*)pTNd->GetFmtColl())->GetOutlineLevel() )
else if( !pOutlNd &&
((SwTxtFmtColl*)pTNd->GetFmtColl())->IsAssignedToListLevelOfOutlineStyle() )//<-end,zhaojianwei
2000-09-18 23:08:29 +00:00
pOutlNd = pTNd;
}
}
// dann noch alle Updaten
UpdateNumRule();
if( pOutlNd )
GetNodes().UpdtOutlineIdx( *pOutlNd );
}
void SwDoc::InvalidateNumRules()
{
for (USHORT n = 0; n < pNumRuleTbl->Count(); ++n)
(*pNumRuleTbl)[n]->SetInvalidRule(TRUE);
}
2000-09-18 23:08:29 +00:00
// zum naechsten/vorhergehenden Punkt auf gleicher Ebene
BOOL lcl_IsNumOk( BYTE nSrchNum, BYTE& rLower, BYTE& rUpper,
BOOL bOverUpper, BYTE nNumber )
{
// --> OD 2008-04-02 #refactorlists#
2008-06-17 13:39:17 +00:00
ASSERT( nNumber < MAXLEVEL,
"<lcl_IsNumOk(..)> - misusage of method" );
// <--
BOOL bRet = FALSE;
2000-09-18 23:08:29 +00:00
{
if( bOverUpper ? nSrchNum == nNumber : nSrchNum >= nNumber )
bRet = TRUE;
else if( nNumber > rLower )
rLower = nNumber;
else if( nNumber < rUpper )
rUpper = nNumber;
}
return bRet;
}
BOOL lcl_IsValidPrevNextNumNode( const SwNodeIndex& rIdx )
{
BOOL bRet = FALSE;
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: // der ist erlaubt, also weiter
bRet = TRUE;
break;
}
return bRet;
}
BOOL lcl_GotoNextPrevNum( SwPosition& rPos, BOOL bNext,
BOOL bOverUpper, BYTE* pUpper, BYTE* pLower )
{
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()))
2000-09-18 23:08:29 +00:00
return FALSE;
BYTE nSrchNum = static_cast<BYTE>(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
{
// falls gerade mal NO_NUMLEVEL an ist, so such den vorherigen Node
// mit Nummerierung
BOOL bError = FALSE;
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();
BYTE 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<BYTE>(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 )) )
2000-09-18 23:08:29 +00:00
break; // gefunden
}
else
bError = TRUE;
}
else
bError = !lcl_IsValidPrevNextNumNode( aIdx );
} while( !bError );
if( bError )
return FALSE;
}
BYTE nLower = nSrchNum, nUpper = nSrchNum;
BOOL bRet = FALSE;
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<BYTE>(pNd->GetActualListLevel()) ))
2000-09-18 23:08:29 +00:00
{
rPos.nNode = aIdx;
rPos.nContent.Assign( (SwTxtNode*)pNd, 0 );
bRet = TRUE;
break;
}
else
pLast = pNd;
}
else
break;
}
else if( !lcl_IsValidPrevNextNumNode( aIdx ))
break;
if( bNext )
aIdx++;
else
aIdx--;
}
if( !bRet && !bOverUpper && pLast ) // nicht ueber hoehere Nummmern, aber bis Ende
{
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 = TRUE;
}
if( bRet )
{
if( pUpper )
*pUpper = nUpper;
if( pLower )
*pLower = nLower;
}
return bRet;
}
BOOL SwDoc::GotoNextNum( SwPosition& rPos, BOOL bOverUpper,
BYTE* pUpper, BYTE* pLower )
{
return ::lcl_GotoNextPrevNum( rPos, TRUE, bOverUpper, pUpper, pLower );
}
// -> #i23731#
// --> OD 2008-03-18 #refactorlists# - add output parameter <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 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
// --> OD 2005-10-20 #i55391#
// - the start node has also been investigated, if requested.
const SwNode * pNode = NULL;
do
{
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
// --> OD 2005-10-20 #i55391#
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++;
else
aIdx--;
}
// <--
if (aIdx.GetNode().IsTxtNode())
{
pTxtNd = aIdx.GetNode().GetTxtNode();
const SwNumRule * pNumRule = pTxtNd->GetNumRule();
if (pNumRule)
{
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 ( ( pNumRule->IsOutlineRule() == ( bOutline ? TRUE : FALSE ) ) && // #115901#
( ( bNum && pNumRule->Get(0).IsEnumeration()) ||
( !bNum && pNumRule->Get(0).IsItemize() ) ) ) // #i22362#, #i29560#
{
pResult = pTxtNd->GetNumRule();
// --> OD 2008-03-18 #refactorlists#
// 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;
}
}
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
// --> OD 2005-10-20 #i55391#
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++;
else
aIdx--;
}
// <--
pNode = &aIdx.GetNode();
}
while (! (pNode == aNodes.DocumentSectionStartNode(pStartFromNode) ||
pNode == aNodes.DocumentSectionEndNode(pStartFromNode)));
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 pResult;
}
// <- #i23731#
2000-09-18 23:08:29 +00:00
BOOL SwDoc::GotoPrevNum( SwPosition& rPos, BOOL bOverUpper,
BYTE* pUpper, BYTE* pLower )
{
return ::lcl_GotoNextPrevNum( rPos, FALSE, bOverUpper, pUpper, pLower );
}
BOOL SwDoc::NumUpDown( const SwPaM& rPam, BOOL bDown )
{
ULONG nStt = rPam.GetPoint()->nNode.GetIndex(),
nEnd = rPam.GetMark()->nNode.GetIndex();
if( nStt > nEnd )
{
ULONG nTmp = nStt; nStt = nEnd; nEnd = nTmp;
}
// -> #115901# outline nodes are promoted or demoted differently
bool bOnlyOutline = true;
bool bOnlyNonOutline = true;
for (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
}
// <- #115901#
2000-09-18 23:08:29 +00:00
BOOL bRet = TRUE;
char nDiff = bDown ? 1 : -1;
// ->#115901#
if (bOnlyOutline)
bRet = OutlineUpDown(rPam, nDiff);
else if (bOnlyNonOutline)
2000-09-18 23:08:29 +00:00
{
/* --> #i24560#
Only promote or demote if all selected paragraphs are
promotable resp. demotable.
*/
for (ULONG nTmp = nStt; nTmp <= nEnd; ++nTmp)
{
SwTxtNode* pTNd = GetNodes()[ nTmp ]->GetTxtNode();
// --> OD 2006-10-19 #134160# - 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)
{
BYTE nLevel = static_cast<BYTE>(pTNd->GetActualListLevel());
if( (-1 == nDiff && 0 >= nLevel) ||
(1 == nDiff && MAXLEVEL - 1 <= nLevel))
bRet = FALSE;
}
2000-09-18 23:08:29 +00:00
}
// <--
2000-09-18 23:08:29 +00:00
}
if( bRet )
{
/* <-- #i24560# */
if( DoesUndo() )
{
ClearRedo();
AppendUndo( new SwUndoNumUpDown( rPam, nDiff ) );
}
String sNumRule;
for(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)
{
BYTE nLevel = static_cast<BYTE>(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;
}
BOOL SwDoc::MoveParagraph( const SwPaM& rPam, long nOffset, BOOL bIsOutlMv )
{
const SwPosition *pStt = rPam.Start(), *pEnd = rPam.End();
ULONG nStIdx = pStt->nNode.GetIndex();
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 area 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
// area, too (e.g. as last node).
// If an end node is the last node of the moved area, 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 FALSE; // Its end node is behind the moved range
}
pTmp1 = pTmp1->StartOfSectionNode()->EndOfSectionNode();
if( pTmp1->GetIndex() <= nEndIdx )
return 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 FALSE; // Its start node is before the moved range.
}
pTmp1 = pTmp1->StartOfSectionNode();
if( pTmp1->GetIndex() >= nStIdx )
return FALSE; // A start node which ends behind the moved area => no.
}
2000-09-18 23:08:29 +00:00
ULONG nInStIdx, nInEndIdx;
long nOffs = nOffset;
if( nOffset > 0 )
{
nInEndIdx = nEndIdx;
nEndIdx += nOffset;
++nOffs;
}
else
{
//Impossible to move to negative index
if( ULONG(abs( nOffset )) > nStIdx)
return FALSE;
2000-09-18 23:08:29 +00:00
nInEndIdx = nStIdx - 1;
nStIdx += nOffset;
}
nInStIdx = nInEndIdx + 1;
// Folgende Absatzbloecke sollen vertauscht werden:
// [ nStIdx, nInEndIdx ] mit [ nInStIdx, nEndIdx ]
if( nEndIdx >= GetNodes().GetEndOfContent().GetIndex() )
2000-09-18 23:08:29 +00:00
return FALSE;
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 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 FALSE; // The "end" notes are in different sections
}
2000-09-18 23:08:29 +00:00
// auf Redlining testen - darf die Selektion ueberhaupt verschoben
// werden?
if( !IsIgnoreRedline() )
{
USHORT 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;
BOOL bCheckDel = TRUE;
// es existiert fuer den Bereich irgendein Redline-Delete-Object
for( ; nRedlPos < GetRedlineTbl().Count(); ++nRedlPos )
{
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:
2000-09-18 23:08:29 +00:00
case POS_BEHIND: // Pos1 liegt hinter Pos2
nRedlPos = GetRedlineTbl().Count();
break;
case POS_COLLIDE_END:
2000-09-18 23:08:29 +00:00
case POS_BEFORE: // Pos1 liegt vor Pos2
break;
case POS_INSIDE: // Pos1 liegt vollstaendig in Pos2
// ist erlaubt, aber checke dann alle nachfolgenden
// auf Ueberlappungen
bCheckDel = FALSE;
break;
case POS_OUTSIDE: // Pos2 liegt vollstaendig in Pos1
case POS_EQUAL: // Pos1 ist genauso gross wie Pos2
case POS_OVERLAP_BEFORE: // Pos1 ueberlappt Pos2 am Anfang
case POS_OVERLAP_BEHIND: // Pos1 ueberlappt Pos2 am Ende
return FALSE;
}
}
}
}
}
{
// DataChanged vorm verschieben verschicken, dann bekommt
// man noch mit, welche Objecte sich im Bereich befinden.
// Danach koennen sie vor/hinter der Position befinden.
SwDataChanged aTmp( rPam, 0 );
}
SwNodeIndex aIdx( nOffset > 0 ? pEnd->nNode : pStt->nNode, nOffs );
SwNodeRange aMvRg( pStt->nNode, 0, pEnd->nNode, +1 );
SwRedline* pOwnRedl = 0;
if( IsRedlineOn() )
{
// wenn der Bereich komplett im eigenen Redline liegt, kann es
// verschoben werden!
USHORT 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();
// liegt komplett im Bereich, und ist auch der eigene Redline?
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 < GetRedlineTbl().Count() )
{
pTmp = GetRedlineTbl()[ nRedlPos+1 ];
if( *pTmp->Start() == *pREnd )
// dann doch nicht!
pOwnRedl = 0;
}
if( pOwnRedl &&
!( pRStt->nNode <= aIdx && aIdx <= pREnd->nNode ))
{
// nicht in sich selbst, dann auch nicht moven
pOwnRedl = 0;
}
}
}
if( !pOwnRedl )
{
StartUndo( UNDO_START, NULL );
2000-09-18 23:08:29 +00:00
// zuerst das Insert, dann das Loeschen
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;
BOOL bDelLastPara = !aInsPos.nNode.GetNode().IsCntntNode();
/* #101076# 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);
BOOL bMoved = aInsPam.Move(fnMoveBackward);
ASSERT(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 )
{
// dann muss der letzte leere Node wieder entfernt werden
aIdx = aInsPos.nNode;
SwCntntNode* pCNd = GetNodes().GoPrevious( &aInsPos.nNode );
xub_StrLen nCLen = 0; if( pCNd ) nCLen = pCNd->Len();
aInsPos.nContent.Assign( pCNd, nCLen );
// alle die im zu loeschenden Node stehen, mussen auf den
// naechsten umgestezt werden
SwPosition* pPos;
for( USHORT n = 0; n < GetRedlineTbl().Count(); ++n )
{
SwRedline* pTmp = GetRedlineTbl()[ n ];
if( ( pPos = &pTmp->GetBound(TRUE))->nNode == aIdx )
{
pPos->nNode++;
pPos->nContent.Assign( pPos->nNode.GetNode().GetCntntNode(),0);
}
if( ( pPos = &pTmp->GetBound(FALSE))->nNode == aIdx )
{
pPos->nNode++;
pPos->nContent.Assign( pPos->nNode.GetNode().GetCntntNode(),0);
}
}
CorrRel( aIdx, aInsPos, 0, FALSE );
pCNd->JoinNext();
}
rOrigPam.GetPoint()->nNode++;
rOrigPam.GetPoint()->nContent.Assign( rOrigPam.GetCntntNode(), 0 );
RedlineMode_t eOld = GetRedlineMode();
checkRedlining(eOld);
2000-09-18 23:08:29 +00:00
if( DoesUndo() )
{
//JP 06.01.98: MUSS noch optimiert werden!!!
SetRedlineMode(
(RedlineMode_t)(nsRedlineMode_t::REDLINE_ON | nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE));
2000-09-18 23:08:29 +00:00
AppendUndo( new SwUndoRedlineDelete( aPam, UNDO_DELETE ));
}
SwRedline* pNewRedline = new SwRedline( nsRedlineType_t::REDLINE_DELETE, aPam );
// #101654# 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(TRUE).nContent.Assign( NULL, 0 );
aPam.GetBound(FALSE).nContent.Assign( NULL, 0 );
AppendRedline( pNewRedline, true );
2000-09-18 23:08:29 +00:00
//JP 06.01.98: MUSS noch optimiert werden!!!
SetRedlineMode( eOld );
EndUndo( UNDO_END, NULL );
2000-09-18 23:08:29 +00:00
SetModified();
2000-09-18 23:08:29 +00:00
return TRUE;
}
}
if( !pOwnRedl && !IsIgnoreRedline() && GetRedlineTbl().Count() )
{
SwPaM aTemp(aIdx);
SplitRedline(aTemp);
2000-09-18 23:08:29 +00:00
}
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;
ULONG nMoved = 0;
2000-09-18 23:08:29 +00:00
if( 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 )
{
ClearRedo();
// 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 );
2000-09-18 23:08:29 +00:00
AppendUndo( pUndo );
}
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 TRUE;
}
BOOL SwDoc::NumOrNoNum( const SwNodeIndex& rIdx, BOOL bDel )
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
BOOL bResult = FALSE;
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
{
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 bOldNum = bDel; // == pTxtNd->IsCounted();
BOOL bNewNum = bDel ? FALSE : 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
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 = TRUE;
2004-05-13 09:42:18 +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 (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);
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
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
else if (bDel && pTxtNd->GetNumRule(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);
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 = 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
{
// --> OD 2008-02-20 #refactorlists#
// pTNd->SyncNumberAndNumRule();
// <--
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;
}
USHORT SwDoc::FindNumRule( const String& rName ) const
{
for( USHORT n = pNumRuleTbl->Count(); n; )
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 (USHORT n = 0; n < pNumRuleTbl->Count(); ++n)
{
if ((*pNumRuleTbl)[n]->GetName() == rName)
{
pResult = (*pNumRuleTbl)[n];
break;
}
}
}
return pResult;
2000-09-18 23:08:29 +00:00
}
// #i36749#
void SwDoc::AddNumRule(SwNumRule * pRule)
{
pNumRuleTbl->Insert(pRule, pNumRuleTbl->Count());
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
// --> OD 2008-03-26 #refactorlists#
createListForListStyle( pRule->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
// <--
}
// --> OD 2008-02-11 #newlistlevelattrs#
USHORT SwDoc::MakeNumRule( const String &rName,
const SwNumRule* pCpy,
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
// --> OD 2008-07-08 #i91400#
pNew->SetName( GetUniqueNumRuleName( &rName ), *this );
// <--
2000-09-18 23:08:29 +00:00
if( pNew->GetName() != rName )
{
pNew->SetPoolFmtId( USHRT_MAX );
pNew->SetPoolHelpId( USHRT_MAX );
pNew->SetPoolHlpFileId( UCHAR_MAX );
// --> OD 2008-04-03 #refactorlists#
pNew->SetDefaultListId( String() );
// <--
2000-09-18 23:08:29 +00:00
}
pNew->CheckCharFmts( this );
}
else
{
// --> OD 2008-02-11 #newlistlevelattrs#
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
2000-09-18 23:08:29 +00:00
USHORT nRet = pNumRuleTbl->Count();
AddNumRule(pNew); // #i36749#
if (DoesUndo())
{
SwUndo * pUndo = new SwUndoNumruleCreate(pNew, this);
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, BOOL bAutoNum ) const
{
String aName;
if( bAutoNum )
{
long n = Time().GetTime();
n += Date().GetDate();
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 );
}
USHORT nNum(0), nTmp, nFlagSize = ( pNumRuleTbl->Count() / 8 ) +2;
2000-09-18 23:08:29 +00:00
BYTE* pSetFlags = new BYTE[ nFlagSize ];
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;
USHORT n;
for( n = 0; n < pNumRuleTbl->Count(); ++n )
2000-09-18 23:08:29 +00:00
if( 0 != ( pNumRule = (*pNumRuleTbl)[ n ] ) )
{
const String& rNm = pNumRule->GetName();
if( rNm.Match( aName ) == nNmLen )
{
// Nummer bestimmen und das Flag setzen
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
nNum = (USHORT)rNm.Copy( nNmLen ).ToInt32();
2000-09-18 23:08:29 +00:00
if( nNum-- && nNum < pNumRuleTbl->Count() )
pSetFlags[ nNum / 8 ] |= (0x01 << ( nNum & 0x07 ));
}
if( pChkStr && pChkStr->Equals( rNm ) )
pChkStr = 0;
}
if( !pChkStr )
{
// alle Nummern entsprechend geflag, also bestimme die richtige Nummer
nNum = pNumRuleTbl->Count();
for( n = 0; n < nFlagSize; ++n )
if( 0xff != ( nTmp = pSetFlags[ n ] ))
{
// also die Nummer bestimmen
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();
2000-09-18 23:08:29 +00:00
for( USHORT n = 0; n < rNmTbl.Count(); ++n )
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();
}
// --> OD 2008-04-02 #refactorlists#
void SwDoc::MarkListLevel( const String& sListId,
const int nListLevel,
const BOOL bValue )
{
SwList* pList = getListByName( sListId );
if ( pList )
{
MarkListLevel( *pList, nListLevel, bValue );
}
}
void SwDoc::MarkListLevel( SwList& rList,
const int nListLevel,
const BOOL bValue )
{
// Set new marked list level and notify all affected nodes of the changed mark.
rList.MarkListLevel( nListLevel, bValue );
}
// <- #i27615#
// <--
// #i23726#
BOOL SwDoc::IsFirstOfNumRule(SwPosition & rPos)
{
BOOL bResult = 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;
}
// --> OD 2007-10-26 #i83479#
// 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() );
ASSERT( !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 )
{
ASSERT( false,
"<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 );
}
}
}
// <--
// --> OD 2007-11-15 #i83479#
// implementation for interface <IDocumentOutlineNodes>
sal_Int32 SwDoc::getOutlineNodesCount() const
{
return GetNodes().GetOutLineNds().Count();
}
int SwDoc::getOutlineLevel( const sal_Int32 nIdx ) const
{
return GetNodes().GetOutLineNds()[ static_cast<USHORT>(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<USHORT>(nIdx) ]->
GetTxtNode()->GetExpandTxt( 0, STRING_LEN, bWithNumber,
bWithNumber, bWithSpacesForLevel );
}
SwTxtNode* SwDoc::getOutlineNode( const sal_Int32 nIdx ) const
{
return GetNodes().GetOutLineNds()[ static_cast<USHORT>(nIdx) ]->GetTxtNode();
}
void SwDoc::getOutlineNodes( IDocumentOutlineNodes::tSortedOutlineNodeList& orOutlineNodeList ) const
{
orOutlineNodeList.clear();
orOutlineNodeList.reserve( getOutlineNodesCount() );
const USHORT nOutlCount( static_cast<USHORT>(getOutlineNodesCount()) );
for ( USHORT i = 0; i < nOutlCount; ++i )
{
orOutlineNodeList.push_back(
GetNodes().GetOutLineNds()[i]->GetTxtNode() );
}
}
// <--
// --> OD 2008-03-26 #refactorlists#
// implementation of interface IDocumentListsAccess
SwList* SwDoc::createList( String sListId,
const String sDefaultListStyleName )
{
if ( sListId.Len() == 0 )
{
sListId = listfunc::CreateUniqueListId( *this );
}
if ( getListByName( sListId ) )
{
ASSERT( false,
"<SwDoc::createList(..)> - provided list id already used. Serious defect -> please inform OD." );
return 0;
}
SwNumRule* pDefaultNumRuleForNewList = FindNumRulePtr( sDefaultListStyleName );
if ( !pDefaultNumRuleForNewList )
{
ASSERT( false,
"<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;
std::hash_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 )
{
ASSERT( false,
"<SwDoc::createListForListStyle(..)> - no list style name provided. Serious defect -> please inform OD." );
return 0;
}
if ( getListForListStyle( sListStyleName ) )
{
ASSERT( false,
"<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 )
{
ASSERT( false,
"<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;
std::hash_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 );
ASSERT( 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 );
}
}
// <--
// --> OD 2008-07-08 #i91400#
void SwDoc::trackChangeOfListStyleName( const String sListStyleName,
const String sNewListStyleName )
{
SwList* pList = getListForListStyle( sListStyleName );
ASSERT( pList,
"<SwDoc::changeOfListStyleName(..)> - misusage of method: no list found for given list style name" );
if ( pList != 0 )
{
maListStyleLists.erase( sListStyleName );
maListStyleLists[sNewListStyleName] = pList;
}
}
// <--
// --> OD 2008-03-13 #refactorlists#
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 )
{
// --> OD 2008-08-06 #i92478#
String aNewListId = String::CreateFromAscii( "list" );
// <--
sal_Int64 n = Time().GetTime();
n += Date().GetDate();
n += rand();
// --> OD 2008-08-06 #i92478#
aNewListId += String::CreateFromInt64( n );
// <--
return MakeListIdUnique( rDoc, aNewListId );
}
}
// <--