Kaydet (Commit) 61ed09d2 authored tarafından Rüdiger Timm's avatar Rüdiger Timm

INTEGRATION: CWS impresstables2 (1.29.118); FILE MERGED

2007/12/01 19:25:50 cl 1.29.118.4: RESYNC: (1.31-1.32); FILE MERGED
2007/08/01 18:45:02 cl 1.29.118.3: RESYNC: (1.30-1.31); FILE MERGED
2007/06/27 18:03:53 cl 1.29.118.2: RESYNC: (1.29-1.30); FILE MERGED
2007/03/15 17:05:59 cl 1.29.118.1: #i68103# starting to seperate the text from the SdrTextObj
üst df64bd53
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* *
* $RCSfile: svdomeas.cxx,v $ * $RCSfile: svdomeas.cxx,v $
* *
* $Revision: 1.32 $ * $Revision: 1.33 $
* *
* last change: $Author: ihi $ $Date: 2007-11-26 14:55:09 $ * last change: $Author: rt $ $Date: 2008-03-12 09:54:49 $
* *
* The Contents of this file are made available subject to * The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1. * the terms of GNU Lesser General Public License Version 2.1.
...@@ -488,8 +488,11 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly& ...@@ -488,8 +488,11 @@ void SdrMeasureObj::ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly&
rPol.eUsedTextVPos=rRec.eWantTextVPos; rPol.eUsedTextVPos=rRec.eWantTextVPos;
if (rPol.eUsedTextVPos==SDRMEASURE_TEXTVAUTO) rPol.eUsedTextVPos=SDRMEASURE_ABOVE; if (rPol.eUsedTextVPos==SDRMEASURE_TEXTVAUTO) rPol.eUsedTextVPos=SDRMEASURE_ABOVE;
FASTBOOL bBrkLine=rPol.eUsedTextVPos==SDRMEASURETEXT_BREAKEDLINE; FASTBOOL bBrkLine=rPol.eUsedTextVPos==SDRMEASURETEXT_BREAKEDLINE;
if (rPol.eUsedTextVPos==SDRMEASURETEXT_VERTICALCENTERED) { if (rPol.eUsedTextVPos==SDRMEASURETEXT_VERTICALCENTERED)
if (pOutlinerParaObject!=NULL && pOutlinerParaObject->GetTextObject().GetParagraphCount()==1) { {
OutlinerParaObject* pOutlinerParaObject = SdrTextObj::GetOutlinerParaObject();
if (pOutlinerParaObject!=NULL && pOutlinerParaObject->GetTextObject().GetParagraphCount()==1)
{
bBrkLine=TRUE; // Unterbrochene Linie, wenn nur 1 Absatz. bBrkLine=TRUE; // Unterbrochene Linie, wenn nur 1 Absatz.
} }
} }
...@@ -747,9 +750,12 @@ FASTBOOL SdrMeasureObj::CalcFieldValue(const SvxFieldItem& rField, USHORT nPara, ...@@ -747,9 +750,12 @@ FASTBOOL SdrMeasureObj::CalcFieldValue(const SvxFieldItem& rField, USHORT nPara,
void SdrMeasureObj::UndirtyText() const void SdrMeasureObj::UndirtyText() const
{ {
if (bTextDirty) { if (bTextDirty)
{
SdrOutliner& rOutliner=ImpGetDrawOutliner(); SdrOutliner& rOutliner=ImpGetDrawOutliner();
if (pOutlinerParaObject==NULL) { OutlinerParaObject* pOutlinerParaObject = SdrTextObj::GetOutlinerParaObject();
if(pOutlinerParaObject==NULL)
{
rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_ROTA90BLANCS), EE_FEATURE_FIELD), ESelection(0,0)); rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_ROTA90BLANCS), EE_FEATURE_FIELD), ESelection(0,0));
rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_VALUE), EE_FEATURE_FIELD),ESelection(0,1)); rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_VALUE), EE_FEATURE_FIELD),ESelection(0,1));
rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_UNIT), EE_FEATURE_FIELD),ESelection(0,2)); rOutliner.QuickInsertField(SvxFieldItem(SdrMeasureField(SDRMEASUREFIELD_UNIT), EE_FEATURE_FIELD),ESelection(0,2));
...@@ -761,10 +767,13 @@ void SdrMeasureObj::UndirtyText() const ...@@ -761,10 +767,13 @@ void SdrMeasureObj::UndirtyText() const
rOutliner.SetParaAttribs(0, GetObjectItemSet()); rOutliner.SetParaAttribs(0, GetObjectItemSet());
// casting auf nonconst // casting auf nonconst
((SdrMeasureObj*)this)->pOutlinerParaObject=rOutliner.CreateParaObject(); const_cast<SdrMeasureObj*>(this)->NbcSetOutlinerParaObject( rOutliner.CreateParaObject() );
} else { }
else
{
rOutliner.SetText(*pOutlinerParaObject); rOutliner.SetText(*pOutlinerParaObject);
} }
rOutliner.SetUpdateMode(TRUE); rOutliner.SetUpdateMode(TRUE);
rOutliner.UpdateFields(); rOutliner.UpdateFields();
Size aSiz(rOutliner.CalcTextSize()); Size aSiz(rOutliner.CalcTextSize());
...@@ -1570,14 +1579,16 @@ const Size& SdrMeasureObj::GetTextSize() const ...@@ -1570,14 +1579,16 @@ const Size& SdrMeasureObj::GetTextSize() const
OutlinerParaObject* SdrMeasureObj::GetOutlinerParaObject() const OutlinerParaObject* SdrMeasureObj::GetOutlinerParaObject() const
{ {
if (bTextDirty) UndirtyText(); if(bTextDirty)
return pOutlinerParaObject; UndirtyText();
return SdrTextObj::GetOutlinerParaObject();
} }
void SdrMeasureObj::NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject) void SdrMeasureObj::NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject)
{ {
SdrTextObj::NbcSetOutlinerParaObject(pTextObject); SdrTextObj::NbcSetOutlinerParaObject(pTextObject);
if (pOutlinerParaObject==NULL) SetTextDirty(); // Text neu berechnen! if(SdrTextObj::GetOutlinerParaObject())
SetTextDirty(); // Text neu berechnen!
} }
void SdrMeasureObj::TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FASTBOOL bNoEditText, void SdrMeasureObj::TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FASTBOOL bNoEditText,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment