Kaydet (Commit) 3efdb083 authored tarafından matteocam's avatar matteocam Kaydeden (comit) Thorsten Behrens

chained editeng: Add Chaining-related UNO attribute

Definition and mechanisms for UNO API.

Change-Id: I7fd3969804ca9b04881ced0b1e43ab6236cbefcc
üst aa77b170
......@@ -113,6 +113,7 @@
#define UNO_NAME_TEXT_WRITINGMODE "TextWritingMode"
#define UNO_NAME_TEXT_FONTINDEPENDENTLINESPACING "FontIndependentLineSpacing"
#define UNO_NAME_TEXT_WORDWRAP "TextWordWrap"
#define UNO_NAME_TEXT_CHAINNEXTNAME "TextChainNextName"
#define UNO_NAME_MEASUREKIND "MeasureKind"
#define UNO_NAME_MEASURETEXTHPOS "MeasureTextHorizontalPosition"
......
......@@ -714,5 +714,7 @@
#define STR_TABLE_STYLE_SETTINGS (SIP_Begin + 275)
#define SIP_SA_CROP_MARKERS (SIP_Begin + 276)
#define STR_TABLE_DELETE_CELL_CONTENTS (SIP_Begin + 277)
#define SIP_SA_CHAINNEXTNAME (SIP_Begin + 278)
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -291,6 +291,7 @@
{ OUString(UNO_NAME_TEXT_FONTINDEPENDENTLINESPACING),SDRATTR_TEXT_USEFIXEDCELLHEIGHT,cppu::UnoType<bool>::get(), 0, 0}, \
{ OUString(UNO_NAME_TEXT_VERTADJUST), SDRATTR_TEXT_VERTADJUST, cppu::UnoType<css::drawing::TextVerticalAdjust>::get(), 0, 0},\
{ OUString(UNO_NAME_TEXT_WORDWRAP), SDRATTR_TEXT_WORDWRAP, cppu::UnoType<bool>::get(), 0, 0}, \
{ OUString(UNO_NAME_TEXT_CHAINNEXTNAME), SDRATTR_TEXT_CHAINNEXTNAME, ::cppu::UnoType<OUString>::get(), 0, 0}, \
SVX_UNOEDIT_CHAR_PROPERTIES, \
SVX_UNOEDIT_PARA_PROPERTIES,
......
......@@ -162,6 +162,7 @@ SdrItemPool::SdrItemPool(
mppLocalPoolDefaults[SDRATTR_TEXT_CONTOURFRAME -SDRATTR_START]=new SdrOnOffItem(SDRATTR_TEXT_CONTOURFRAME, false);
mppLocalPoolDefaults[SDRATTR_CUSTOMSHAPE_ADJUSTMENT -SDRATTR_START]=new SdrCustomShapeAdjustmentItem;
mppLocalPoolDefaults[SDRATTR_XMLATTRIBUTES -SDRATTR_START]=new SvXMLAttrContainerItem( SDRATTR_XMLATTRIBUTES );
mppLocalPoolDefaults[SDRATTR_TEXT_CHAINNEXTNAME -SDRATTR_START]=new SfxStringItem(SDRATTR_TEXT_CHAINNEXTNAME, "");
mppLocalPoolDefaults[SDRATTR_TEXT_USEFIXEDCELLHEIGHT -SDRATTR_START]=new SdrTextFixedCellHeightItem;
mppLocalPoolDefaults[SDRATTR_TEXT_WORDWRAP -SDRATTR_START]=new SdrOnOffItem(SDRATTR_TEXT_WORDWRAP, true);
mppLocalPoolDefaults[SDRATTR_TEXT_AUTOGROWSIZE -SDRATTR_START]=new SdrOnOffItem(SDRATTR_TEXT_AUTOGROWSIZE, false);
......@@ -499,6 +500,7 @@ void SdrItemPool::TakeItemName(sal_uInt16 nWhich, OUString& rItemName)
case SDRATTR_XMLATTRIBUTES : nResId = SIP_SA_XMLATTRIBUTES;break;
case SDRATTR_TEXT_USEFIXEDCELLHEIGHT: nResId = SIP_SA_TEXT_USEFIXEDCELLHEIGHT;break;
case SDRATTR_TEXT_WORDWRAP : nResId = SIP_SA_WORDWRAP;break;
case SDRATTR_TEXT_CHAINNEXTNAME : nResId = SIP_SA_CHAINNEXTNAME;break;
case SDRATTR_TEXT_AUTOGROWSIZE : nResId = SIP_SA_AUTOGROWSIZE;break;
case SDRATTR_EDGEKIND : nResId = SIP_SA_EDGEKIND;break;
......
......@@ -2114,6 +2114,12 @@ String SIP_SA_WORDWRAP
Text[ en-US ] = "Word wrap text in shape";
};
String SIP_SA_CHAINNEXTNAME
{
Text[ en-US ] = "Next link in text chain";
};
String SIP_SA_AUTOGROWSIZE
{
Text[ en-US ] = "Auto grow shape to fit text";
......
......@@ -671,6 +671,7 @@ SvxShapeControlPropertyMapping[] =
{ RTL_CONSTASCII_STRINGPARAM(UNO_NAME_EDIT_CHAR_COLOR), RTL_CONSTASCII_STRINGPARAM("TextColor") },
{ RTL_CONSTASCII_STRINGPARAM("CharBackColor"), RTL_CONSTASCII_STRINGPARAM("CharBackColor") },
{ RTL_CONSTASCII_STRINGPARAM("CharBackTransparent"), RTL_CONSTASCII_STRINGPARAM("CharBackTransparent") },
{ RTL_CONSTASCII_STRINGPARAM(UNO_NAME_TEXT_CHAINNEXTNAME), RTL_CONSTASCII_STRINGPARAM(UNO_NAME_TEXT_CHAINNEXTNAME) },
{ RTL_CONSTASCII_STRINGPARAM("CharRelief"), RTL_CONSTASCII_STRINGPARAM("FontRelief") },
{ RTL_CONSTASCII_STRINGPARAM("CharUnderlineColor"), RTL_CONSTASCII_STRINGPARAM("TextLineColor") },
{ RTL_CONSTASCII_STRINGPARAM(UNO_NAME_EDIT_PARA_ADJUST), RTL_CONSTASCII_STRINGPARAM("Align") },
......
......@@ -146,6 +146,7 @@ const XMLPropertyMapEntry aXMLSDProperties[] =
GMAP( "NumberingRules", XML_NAMESPACE_TEXT, XML_LIST_STYLE, XML_SD_TYPE_NUMBULLET|MID_FLAG_ELEMENT_ITEM, CTF_NUMBERINGRULES ),
GMAP( "NumberingRules", XML_NAMESPACE_TEXT, XML_LIST_STYLE_NAME, XML_TYPE_STRING, CTF_SD_NUMBERINGRULES_NAME ),
GMAP( "TextWordWrap", XML_NAMESPACE_FO, XML_WRAP_OPTION, XML_TYPE_WRAP_OPTION, 0 ),
GMAP( "TextChainNextName", XML_NAMESPACE_DRAW, XML_CHAIN_NEXT_NAME, XML_TYPE_STRING, 0 ),
// shadow attributes
GMAP( "Shadow", XML_NAMESPACE_DRAW, XML_SHADOW, XML_SD_TYPE_SHADOW, 0 ),
......
......@@ -1600,7 +1600,8 @@ SdXMLTextBoxShapeContext::SdXMLTextBoxShapeContext(
uno::Reference< drawing::XShapes >& rShapes,
bool bTemporaryShape)
: SdXMLShapeContext( rImport, nPrfx, rLocalName, xAttrList, rShapes, bTemporaryShape ),
mnRadius(0)
mnRadius(0),
maChainNextName("")
{
}
......@@ -1619,6 +1620,13 @@ void SdXMLTextBoxShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
mnRadius, rValue);
return;
}
if( IsXMLToken( rLocalName, XML_CHAIN_NEXT_NAME ) )
{
maChainNextName = rValue;
return;
}
}
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
......@@ -1752,6 +1760,23 @@ void SdXMLTextBoxShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
}
}
if(maChainNextName != "")
{
uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
if(xPropSet.is())
{
try
{
xPropSet->setPropertyValue("TextChainNextName",
uno::makeAny( maChainNextName ) );
}
catch(const uno::Exception&)
{
OSL_FAIL( "exception during setting of name of next chain link!");
}
}
}
SdXMLShapeContext::StartElement(mxAttrList);
}
}
......
......@@ -247,6 +247,7 @@ public:
class SdXMLTextBoxShapeContext : public SdXMLShapeContext
{
sal_Int32 mnRadius;
OUString maChainNextName;
public:
TYPEINFO_OVERRIDE();
......
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