Kaydet (Commit) abe9599b authored tarafından Miklos Vajna's avatar Miklos Vajna

text::BaseFrameProperties: add FillGradientName optional property

Change-Id: Iae428edb97e31ae578d2ab4679f6d346d5339a9f
üst d8de1d60
...@@ -310,6 +310,12 @@ published service BaseFrameProperties ...@@ -310,6 +310,12 @@ published service BaseFrameProperties
@since LibreOffice 4.1 @since LibreOffice 4.1
*/ */
[optional, property] com::sun::star::awt::Gradient FillGradient; [optional, property] com::sun::star::awt::Gradient FillGradient;
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::GRADIENT</const>, this is the name of the gradient used.
@since LibreOffice 4.1
*/
[optional, property] string FillGradientName;
}; };
......
...@@ -818,8 +818,9 @@ enum SwPropNameIds ...@@ -818,8 +818,9 @@ enum SwPropNameIds
/* 0756 */ UNO_NAME_HIDDEN, /* 0756 */ UNO_NAME_HIDDEN,
/* 0757 */ UNO_NAME_FILL_STYLE, /* 0757 */ UNO_NAME_FILL_STYLE,
/* 0758 */ UNO_NAME_FILL_GRADIENT, /* 0758 */ UNO_NAME_FILL_GRADIENT,
/* 0759 */ UNO_NAME_FILL_GRADIENT_NAME,
/* 0759 */ SW_PROPNAME_END /* 0760 */ SW_PROPNAME_END
// new items in this array must match SwPropNameTab aPropNameTab // new items in this array must match SwPropNameTab aPropNameTab
}; };
......
...@@ -136,7 +136,7 @@ public: ...@@ -136,7 +136,7 @@ public:
void SetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId, const uno::Any& rVal); void SetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId, const uno::Any& rVal);
bool GetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId, const uno::Any*& pAny ); bool GetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId, const uno::Any*& pAny );
bool FillBaseProperties(SfxItemSet& rToSet, const SfxItemSet &rFromSet, bool& rSizeFound); bool FillBaseProperties(SwDoc* pDoc, SfxItemSet& rToSet, const SfxItemSet &rFromSet, bool& rSizeFound);
virtual bool AnyToItemSet( SwDoc* pDoc, SfxItemSet& rFrmSet, SfxItemSet& rSet, bool& rSizeFound) = 0; virtual bool AnyToItemSet( SwDoc* pDoc, SfxItemSet& rFrmSet, SfxItemSet& rSet, bool& rSizeFound) = 0;
...@@ -156,7 +156,7 @@ bool BaseFrameProperties_Impl::GetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId, ...@@ -156,7 +156,7 @@ bool BaseFrameProperties_Impl::GetProperty(sal_uInt16 nWID, sal_uInt8 nMemberId,
return aAnyMap.FillValue( nWID, nMemberId, rpAny ); return aAnyMap.FillValue( nWID, nMemberId, rpAny );
} }
bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxItemSet& rFromSet, bool& rSizeFound) bool BaseFrameProperties_Impl::FillBaseProperties(SwDoc* pDoc, SfxItemSet& rToSet, const SfxItemSet& rFromSet, bool& rSizeFound)
{ {
bool bRet = true; bool bRet = true;
//Anker kommt auf jeden Fall in den Set //Anker kommt auf jeden Fall in den Set
...@@ -229,11 +229,24 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI ...@@ -229,11 +229,24 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI
{ {
const ::uno::Any* pFillGradient = 0; const ::uno::Any* pFillGradient = 0;
GetProperty(RES_FILL_GRADIENT, MID_FILLGRADIENT, pFillGradient); GetProperty(RES_FILL_GRADIENT, MID_FILLGRADIENT, pFillGradient);
if (pFillGradient) const ::uno::Any* pName = 0;
GetProperty(RES_FILL_GRADIENT, MID_NAME, pName);
if (pFillGradient || pName)
{ {
XFillGradientItem aFillGradient( static_cast <const :: XFillGradientItem & > ( rFromSet.Get ( RES_FILL_GRADIENT ) ) ); XFillGradientItem aFillGradient( static_cast <const :: XFillGradientItem & > ( rFromSet.Get ( RES_FILL_GRADIENT ) ) );
bRet &= ((SfxPoolItem&)aFillGradient).PutValue(*pFillGradient, MID_FILLGRADIENT); XFillGradientItem* pItem = &aFillGradient;
rToSet.Put(aFillGradient); if (pFillGradient)
bRet &= ((SfxPoolItem*)pItem)->PutValue(*pFillGradient, MID_FILLGRADIENT);
if (pName)
bRet &= ((SfxPoolItem*)pItem)->PutValue(*pName, MID_NAME);
SdrModel* pModel = pDoc->GetDrawModel();
pItem = pItem->checkForUniqueItem( pModel );
if (pItem)
{
rToSet.Put(*pItem);
if(pItem != &aFillGradient)
delete pItem;
}
} }
} }
{ {
...@@ -578,13 +591,13 @@ bool SwFrameProperties_Impl::AnyToItemSet(SwDoc *pDoc, SfxItemSet& rSet, SfxItem ...@@ -578,13 +591,13 @@ bool SwFrameProperties_Impl::AnyToItemSet(SwDoc *pDoc, SfxItemSet& rSet, SfxItem
{ {
rtl::Reference< SwDocStyleSheet > xStyle( new SwDocStyleSheet( *pStyle ) ); rtl::Reference< SwDocStyleSheet > xStyle( new SwDocStyleSheet( *pStyle ) );
const :: SfxItemSet *pItemSet = &xStyle->GetItemSet(); const :: SfxItemSet *pItemSet = &xStyle->GetItemSet();
bRet = FillBaseProperties( rSet, *pItemSet, rSizeFound ); bRet = FillBaseProperties( pDoc, rSet, *pItemSet, rSizeFound );
lcl_FillCol ( rSet, *pItemSet, pColumns ); lcl_FillCol ( rSet, *pItemSet, pColumns );
} }
else else
{ {
const :: SfxItemSet *pItemSet = &pDoc->GetFrmFmtFromPool( RES_POOLFRM_FRAME )->GetAttrSet(); const :: SfxItemSet *pItemSet = &pDoc->GetFrmFmtFromPool( RES_POOLFRM_FRAME )->GetAttrSet();
bRet = FillBaseProperties( rSet, *pItemSet, rSizeFound ); bRet = FillBaseProperties( pDoc, rSet, *pItemSet, rSizeFound );
lcl_FillCol ( rSet, *pItemSet, pColumns ); lcl_FillCol ( rSet, *pItemSet, pColumns );
} }
const ::uno::Any* pEdit; const ::uno::Any* pEdit;
...@@ -659,13 +672,13 @@ bool SwGraphicProperties_Impl::AnyToItemSet( ...@@ -659,13 +672,13 @@ bool SwGraphicProperties_Impl::AnyToItemSet(
{ {
rtl::Reference< SwDocStyleSheet > xStyle( new SwDocStyleSheet(*pStyle) ); rtl::Reference< SwDocStyleSheet > xStyle( new SwDocStyleSheet(*pStyle) );
const :: SfxItemSet *pItemSet = &xStyle->GetItemSet(); const :: SfxItemSet *pItemSet = &xStyle->GetItemSet();
bRet = FillBaseProperties(rFrmSet, *pItemSet, rSizeFound); bRet = FillBaseProperties(pDoc, rFrmSet, *pItemSet, rSizeFound);
lcl_FillMirror ( rGrSet, *pItemSet, pHEvenMirror, pHOddMirror, pVMirror, bRet ); lcl_FillMirror ( rGrSet, *pItemSet, pHEvenMirror, pHOddMirror, pVMirror, bRet );
} }
else else
{ {
const :: SfxItemSet *pItemSet = &pDoc->GetFrmFmtFromPool( RES_POOLFRM_GRAPHIC )->GetAttrSet(); const :: SfxItemSet *pItemSet = &pDoc->GetFrmFmtFromPool( RES_POOLFRM_GRAPHIC )->GetAttrSet();
bRet = FillBaseProperties(rFrmSet, *pItemSet, rSizeFound); bRet = FillBaseProperties(pDoc, rFrmSet, *pItemSet, rSizeFound);
lcl_FillMirror ( rGrSet, *pItemSet, pHEvenMirror, pHOddMirror, pVMirror, bRet ); lcl_FillMirror ( rGrSet, *pItemSet, pHEvenMirror, pHOddMirror, pVMirror, bRet );
} }
......
...@@ -290,6 +290,7 @@ SwUnoPropertyMapProvider::~SwUnoPropertyMapProvider() ...@@ -290,6 +290,7 @@ SwUnoPropertyMapProvider::~SwUnoPropertyMapProvider()
{ SW_PROP_NMID(UNO_NAME_BACK_COLOR_TRANSPARENCY), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_INT8), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, \ { SW_PROP_NMID(UNO_NAME_BACK_COLOR_TRANSPARENCY), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_INT8), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, \
{ SW_PROP_NMID(UNO_NAME_FILL_STYLE), RES_FILL_STYLE, CPPU_E2T(CPPUTYPE_FILLSTYLE), PROPERTY_NONE ,0}, \ { SW_PROP_NMID(UNO_NAME_FILL_STYLE), RES_FILL_STYLE, CPPU_E2T(CPPUTYPE_FILLSTYLE), PROPERTY_NONE ,0}, \
{ SW_PROP_NMID(UNO_NAME_FILL_GRADIENT), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_GRADIENT), PROPERTY_NONE ,MID_FILLGRADIENT}, \ { SW_PROP_NMID(UNO_NAME_FILL_GRADIENT), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_GRADIENT), PROPERTY_NONE ,MID_FILLGRADIENT}, \
{ SW_PROP_NMID(UNO_NAME_FILL_GRADIENT_NAME), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_NAME}, \
{ SW_PROP_NMID(UNO_NAME_CONTENT_PROTECTED), RES_PROTECT, CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_PROTECT_CONTENT }, \ { SW_PROP_NMID(UNO_NAME_CONTENT_PROTECTED), RES_PROTECT, CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, MID_PROTECT_CONTENT }, \
{ SW_PROP_NMID(UNO_NAME_FRAME_STYLE_NAME), FN_UNO_FRAME_STYLE_NAME,CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE, 0}, \ { SW_PROP_NMID(UNO_NAME_FRAME_STYLE_NAME), FN_UNO_FRAME_STYLE_NAME,CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE, 0}, \
{ SW_PROP_NMID(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_GRAPHIC_URL }, \ { SW_PROP_NMID(UNO_NAME_BACK_GRAPHIC_URL), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_GRAPHIC_URL }, \
...@@ -668,6 +669,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s ...@@ -668,6 +669,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
{ SW_PROP_NMID(UNO_NAME_BACK_COLOR_TRANSPARENCY), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_INT8), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, \ { SW_PROP_NMID(UNO_NAME_BACK_COLOR_TRANSPARENCY), RES_BACKGROUND, CPPU_E2T(CPPUTYPE_INT8), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, \
{ SW_PROP_NMID(UNO_NAME_FILL_STYLE), RES_FILL_STYLE, CPPU_E2T(CPPUTYPE_FILLSTYLE), PROPERTY_NONE ,0}, { SW_PROP_NMID(UNO_NAME_FILL_STYLE), RES_FILL_STYLE, CPPU_E2T(CPPUTYPE_FILLSTYLE), PROPERTY_NONE ,0},
{ SW_PROP_NMID(UNO_NAME_FILL_GRADIENT), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_GRADIENT), PROPERTY_NONE ,MID_FILLGRADIENT}, { SW_PROP_NMID(UNO_NAME_FILL_GRADIENT), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_GRADIENT), PROPERTY_NONE ,MID_FILLGRADIENT},
{ SW_PROP_NMID(UNO_NAME_FILL_GRADIENT_NAME), RES_FILL_GRADIENT, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_NAME},
// { SW_PROP_NMID(UNO_NAME_CHAIN_NEXT_NAME), RES_CHAIN, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_CHAIN_NEXTNAME}, // { SW_PROP_NMID(UNO_NAME_CHAIN_NEXT_NAME), RES_CHAIN, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_CHAIN_NEXTNAME},
// { SW_PROP_NMID(UNO_NAME_CHAIN_PREV_NAME), RES_CHAIN, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_CHAIN_PREVNAME}, // { SW_PROP_NMID(UNO_NAME_CHAIN_PREV_NAME), RES_CHAIN, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE ,MID_CHAIN_PREVNAME},
/*not impl*/ { SW_PROP_NMID(UNO_NAME_CLIENT_MAP), RES_URL, CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE ,MID_URL_CLIENTMAP }, /*not impl*/ { SW_PROP_NMID(UNO_NAME_CLIENT_MAP), RES_URL, CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE ,MID_URL_CLIENTMAP },
......
...@@ -788,6 +788,7 @@ const SwPropNameTab aPropNameTab = { ...@@ -788,6 +788,7 @@ const SwPropNameTab aPropNameTab = {
/* 0756 UNO_NAME_HIDDEN */ {MAP_CHAR_LEN("Hidden")}, /* 0756 UNO_NAME_HIDDEN */ {MAP_CHAR_LEN("Hidden")},
/* 0757 UNO_NAME_FILL_STYLE */ {MAP_CHAR_LEN("FillStyle")}, /* 0757 UNO_NAME_FILL_STYLE */ {MAP_CHAR_LEN("FillStyle")},
/* 0758 UNO_NAME_FILL_GRADIENT */ {MAP_CHAR_LEN("FillGradient")}, /* 0758 UNO_NAME_FILL_GRADIENT */ {MAP_CHAR_LEN("FillGradient")},
/* 0759 UNO_NAME_FILL_GRADIENT_NAME */ {MAP_CHAR_LEN("FillGradientName")},
// new items in this array must match enum SwPropNameIds // new items in this array must match enum SwPropNameIds
}; };
......
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