You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2014/03/19 17:17:04 UTC

svn commit: r1579280 [8/8] - in /openoffice/trunk: ./ main/boost/ main/chart2/source/controller/main/ main/comphelper/inc/comphelper/ main/comphelper/source/property/ main/cui/source/factory/ main/cui/source/inc/ main/cui/source/tabpages/ main/drawingl...

Modified: openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.cxx Wed Mar 19 16:17:02 2014
@@ -250,7 +250,14 @@ SwTemplateDlg::SwTemplateDlg(Window*			p
 										SwWrapTabPage::GetRanges );
             DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageCreatorFunc fail!");
             DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageRangesFunc fail!");
-            AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) );
+
+            //UUUU remove?
+            //AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) );
+
+            //UUUU add Area and Transparence TabPages
+            AddTabPage(RID_SVXPAGE_AREA);
+            AddTabPage(RID_SVXPAGE_TRANSPARENCE);
+
             DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), "GetTabPageCreatorFunc fail!");
             DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ), "GetTabPageRangesFunc fail!");
             AddTabPage(TP_BORDER, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ) );
@@ -510,6 +517,8 @@ void SwTemplateDlg::PageCreated( sal_uIn
 			((SwColumnPage&)rPage).SetFormatUsed( sal_True );
 			break;
 
+        //UUUU do not remove; many other style dialog combinations still use the SfxTabPage
+        // for the SvxBrushItem (see RID_SVXPAGE_BACKGROUND)
 		case TP_BACKGROUND:
         {
             sal_Int32 nFlagType = 0;
@@ -633,8 +642,34 @@ void SwTemplateDlg::PageCreated( sal_uIn
 			rPage.PageCreated(aSet);
 
         break;
-	}
-}
 
+        //UUUU inits for Area and Transparency TabPages
+        // The selection attribute lists (XPropertyList derivates, e.g. XColorList for
+        // the color table) need to be added as items (e.g. SvxColorTableItem) to make
+        // these pages find the needed attributes for fill style suggestions.
+        // These are added in SwDocStyleSheet::GetItemSet() for the SFX_STYLE_FAMILY_PARA on 
+        // demand, but could also be directly added from the DrawModel.
+        case RID_SVXPAGE_AREA:
+        {
+            SfxItemSet aNew(*aSet.GetPool(),
+                SID_COLOR_TABLE, SID_BITMAP_LIST,
+                SID_OFFER_IMPORT, SID_OFFER_IMPORT, 0, 0);
+
+            aNew.Put(GetStyleSheet().GetItemSet());
+
+            // add flag for direct graphic content selection
+            aNew.Put(SfxBoolItem(SID_OFFER_IMPORT, true));
 
+            rPage.PageCreated(aNew);
+        }
+        break;
+
+        case RID_SVXPAGE_TRANSPARENCE:
+        {
+            rPage.PageCreated(GetStyleSheet().GetItemSet());
+        }
+        break;
+	}
+}
 
+// eof

Modified: openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.src
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.src?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.src (original)
+++ openoffice/trunk/main/sw/source/ui/fmtui/tmpdlg.src Wed Mar 19 16:17:02 2014
@@ -305,12 +305,29 @@ TabDialog DLG_TEMPLATE_3
 				Text [ en-US ] = "Wrap" ;
 				PageResID = TP_FRM_WRAP ;
 			};
-			PageItem
-			{
-				Identifier = TP_BACKGROUND ;
-				Text [ en-US ] = "Background" ;
-				PageResID = TP_BACKGROUND ;
-			};
+
+            //UUUU new Area and Transparence TabPages
+            PageItem
+            {
+                Identifier = RID_SVXPAGE_AREA;
+                PageResID = RID_SVXPAGE_AREA;
+                Text [ en-US ] = "Area" ;
+            };
+            PageItem
+            {
+                Identifier = RID_SVXPAGE_TRANSPARENCE;
+                PageResID = RID_SVXPAGE_TRANSPARENCE;
+                Text [ en-US ] = "Transparency" ;
+            };
+
+            //UUUU Remove?
+            //PageItem
+            //{
+            //    Identifier = TP_BACKGROUND ;
+            //    Text [ en-US ] = "Background" ;
+            //    PageResID = TP_BACKGROUND ;
+            //};
+
 			PageItem
 			{
 				Identifier = TP_BORDER ;

Modified: openoffice/trunk/main/sw/source/ui/frmdlg/frmdlg.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/frmdlg/frmdlg.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/frmdlg/frmdlg.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/frmdlg/frmdlg.cxx Wed Mar 19 16:17:02 2014
@@ -105,8 +105,15 @@ SwFrmDlg::SwFrmDlg( SfxViewFrame*       
 	}
     SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create();
     DBG_ASSERT(pFact, "Dialogdiet fail!");
-    AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), 0 );
-	AddTabPage( TP_MACRO_ASSIGN, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_MACROASSIGN), 0);
+
+    //UUUU remove?
+    // AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), 0 );
+
+    //UUUU add Area and Transparence TabPages
+    AddTabPage(RID_SVXPAGE_AREA);
+    AddTabPage(RID_SVXPAGE_TRANSPARENCE);
+
+    AddTabPage( TP_MACRO_ASSIGN, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_MACROASSIGN), 0);
     AddTabPage( TP_BORDER, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), 0 );
 
     if(m_bHTMLMode)
@@ -126,9 +133,12 @@ SwFrmDlg::SwFrmDlg( SfxViewFrame*       
 				RemoveTabPage(RID_SVXPAGE_GRFCROP);
 			break;
 		}
-		if( 0  == (nHtmlMode & HTMLMODE_SOME_ABS_POS) ||
-            m_nDlgType != DLG_FRM_STD )
-			RemoveTabPage(TP_BACKGROUND);
+        if( 0  == (nHtmlMode & HTMLMODE_SOME_ABS_POS) || m_nDlgType != DLG_FRM_STD )
+        {
+            //UUUU RemoveTabPage(TP_BACKGROUND);
+            RemoveTabPage(RID_SVXPAGE_AREA);
+            RemoveTabPage(RID_SVXPAGE_TRANSPARENCE);
+        }
 	}
 
     if (m_bNew)
@@ -151,7 +161,6 @@ SwFrmDlg::~SwFrmDlg()
 
 void SwFrmDlg::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
 {
-    SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
 	switch ( nId )
 	{
 	case TP_FRM_STD:
@@ -186,7 +195,7 @@ void SwFrmDlg::PageCreated( sal_uInt16 n
 
 	case TP_MACRO_ASSIGN:
 		{
-		SfxAllItemSet aNewSet(*aSet.GetPool());
+		SfxAllItemSet aNewSet(*GetInputSetImpl()->GetPool());
 		aNewSet.Put( SwMacroAssignDlg::AddEvents( 
 			DLG_FRM_GRF == m_nDlgType ? MACASSGN_GRAPHIC : DLG_FRM_OLE == m_nDlgType ? MACASSGN_OLE : MACASSGN_FRMURL ) );
         if ( m_pWrtShell )
@@ -195,23 +204,54 @@ void SwFrmDlg::PageCreated( sal_uInt16 n
 		break;
 		}
 
-	case TP_BACKGROUND:
-        if( DLG_FRM_STD == m_nDlgType )
-        {
-            sal_Int32 nFlagType = SVX_SHOW_SELECTOR;
-            if(!m_bHTMLMode)
-                nFlagType |= SVX_ENABLE_TRANSPARENCY;
-            aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, nFlagType));
-            rPage.PageCreated(aSet);
-        }
-		break;
+    //UUUU
+	//case TP_BACKGROUND:
+    //    if( DLG_FRM_STD == m_nDlgType )
+    //    {
+    //        sal_Int32 nFlagType = SVX_SHOW_SELECTOR;
+    //        if(!m_bHTMLMode)
+    //            nFlagType |= SVX_ENABLE_TRANSPARENCY;
+    //        SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
+    //        aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, nFlagType));
+    //        rPage.PageCreated(aSet);
+    //    }
+	//	break;
 
 	case TP_BORDER:
 		{
+            SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
 			aSet.Put (SfxUInt16Item(SID_SWMODE_TYPE,SW_BORDER_MODE_FRAME));
 			rPage.PageCreated(aSet);
 		}
 		break;
-	}
+
+        //UUUU inits for Area and Transparency TabPages
+        // The selection attribute lists (XPropertyList derivates, e.g. XColorList for
+        // the color table) need to be added as items (e.g. SvxColorTableItem) to make
+        // these pages find the needed attributes for fill style suggestions.
+        // These are set in preparation to trigger this dialog (FN_FORMAT_FRAME_DLG and 
+        // FN_DRAW_WRAP_DLG), but could also be directly added from the DrawModel.
+        case RID_SVXPAGE_AREA:
+        {
+            SfxItemSet aNew(*GetInputSetImpl()->GetPool(),
+                SID_COLOR_TABLE, SID_BITMAP_LIST,
+                SID_OFFER_IMPORT, SID_OFFER_IMPORT, 0, 0);
+
+            aNew.Put(m_rSet);
+
+            // add flag for direct graphic content selection
+            aNew.Put(SfxBoolItem(SID_OFFER_IMPORT, true));
+
+            rPage.PageCreated(aNew);
+        }
+        break;
+
+        case RID_SVXPAGE_TRANSPARENCE:
+        {
+            rPage.PageCreated(m_rSet);
+        }
+        break;
+    }
 }
 
+// eof

Modified: openoffice/trunk/main/sw/source/ui/frmdlg/frmmgr.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/frmdlg/frmmgr.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/frmdlg/frmmgr.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/frmdlg/frmmgr.cxx Wed Mar 19 16:17:02 2014
@@ -54,6 +54,10 @@ using namespace ::com::sun::star;
 
 static sal_uInt16 __FAR_DATA aFrmMgrRange[] = {
 							RES_FRMATR_BEGIN, RES_FRMATR_END-1,
+
+                            //UUUU FillAttribute support
+                            XATTR_FILL_FIRST, XATTR_FILL_LAST,
+
 							SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER,
 							FN_SET_FRM_NAME, FN_SET_FRM_NAME,
 							0};

Modified: openoffice/trunk/main/sw/source/ui/frmdlg/frmpage.src
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/frmdlg/frmpage.src?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/frmdlg/frmpage.src (original)
+++ openoffice/trunk/main/sw/source/ui/frmdlg/frmpage.src Wed Mar 19 16:17:02 2014
@@ -68,12 +68,29 @@ TabDialog DLG_FRM_STD
 				PageResID = TP_BORDER ;
 				Text [ en-US ] = "Borders" ;
 			};
-			PageItem
-			{
-				Identifier = TP_BACKGROUND ;
-				PageResID = TP_BACKGROUND ;
-				Text [ en-US ] = "Background" ;
-			};
+
+            //UUUU new Area and Transparence TabPages
+            PageItem
+            {
+                Identifier = RID_SVXPAGE_AREA;
+                PageResID = RID_SVXPAGE_AREA;
+                Text [ en-US ] = "Area" ;
+            };
+            PageItem
+            {
+                Identifier = RID_SVXPAGE_TRANSPARENCE;
+                PageResID = RID_SVXPAGE_TRANSPARENCE;
+                Text [ en-US ] = "Transparency" ;
+            };
+
+            //UUUU remove?
+			//PageItem
+			//{
+			//	Identifier = TP_BACKGROUND ;
+			//	PageResID = TP_BACKGROUND ;
+			//	Text [ en-US ] = "Background" ;
+			//};
+
 			PageItem
 			{
 				Identifier = TP_COLUMN ;

Modified: openoffice/trunk/main/sw/source/ui/inc/frmsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/inc/frmsh.hxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/inc/frmsh.hxx (original)
+++ openoffice/trunk/main/sw/source/ui/inc/frmsh.hxx Wed Mar 19 16:17:02 2014
@@ -41,6 +41,14 @@ public:
 	void	StateInsert(SfxItemSet &rSet);
 
 	void	StateStatusline(SfxItemSet &rSet);
+
+    //UUUU
+    void GetDrawAttrStateTextFrame(SfxItemSet &rSet);
+    void ExecDrawAttrArgsTextFrame(SfxRequest& rReq);
+
+    //UUUU
+    void ExecDrawDlgTextFrame(SfxRequest& rReq);
+    void DisableStateTextFrame(SfxItemSet &rSet);
 };
 
 #endif

Modified: openoffice/trunk/main/sw/source/ui/shells/basesh.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/basesh.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/shells/basesh.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/shells/basesh.cxx Wed Mar 19 16:17:02 2014
@@ -2279,16 +2279,43 @@ void SwBaseShell::GetBckColState(SfxItem
     SvxBrushItem aBrushItem( RES_BACKGROUND );
 
 	if( nsSelectionType::SEL_TBL_CELLS & nSelType )
+    {
 		rSh.GetBoxBackground( aBrushItem );
-	else
-	{
-		SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
-		if( nSelType & nsSelectionType::SEL_GRF || nsSelectionType::SEL_FRM & nSelType )
-			rSh.GetFlyFrmAttr( aCoreSet );
-		else
+    }
+    else
+    {
+        //UUUU
+        if(nSelType & nsSelectionType::SEL_GRF)
+        {
+            SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
+
+            rSh.GetFlyFrmAttr( aCoreSet );
+            aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
+        }
+        else if(nsSelectionType::SEL_FRM & nSelType)
+        {
+            SfxItemSet aCoreSet(GetPool(), XATTR_FILL_FIRST, XATTR_FILL_LAST);
+            const XFillStyleItem& rXFillStyleItem(static_cast< const XFillStyleItem&  >(aCoreSet.Get(XATTR_FILLSTYLE)));
+
+            if(XFILL_SOLID == rXFillStyleItem.GetValue())
+            {
+                const Color aFillColor(static_cast< const XFillColorItem& >(aCoreSet.Get(XATTR_FILLCOLOR)).GetColorValue());
+
+                aBrushItem.SetColor(aFillColor);
+            }
+            else
+            {
+                // keep default in SvxBrushItem which equals no fill
+            }
+        }
+        else
+        {
+            SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
+
             rSh.GetCurAttr( aCoreSet );
-		aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
-	}
+            aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
+        }
+    }
 
 	while ( nWhich )
 	{
@@ -2330,18 +2357,43 @@ void SwBaseShell::ExecBckCol(SfxRequest&
     SvxBrushItem aBrushItem( RES_BACKGROUND );
 
     if( nsSelectionType::SEL_TBL_CELLS & nSelType )
-	{
-		rSh.GetBoxBackground( aBrushItem );
-	}
-	else
-	{
-		SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
-		if( (nsSelectionType::SEL_FRM & nSelType) || (nsSelectionType::SEL_GRF & nSelType) )
-			rSh.GetFlyFrmAttr( aCoreSet );
-		else
+    {
+        rSh.GetBoxBackground( aBrushItem );
+    }
+    else
+    {
+        //UUUU
+        if(nSelType & nsSelectionType::SEL_GRF)
+        {
+            SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
+
+            rSh.GetFlyFrmAttr( aCoreSet );
+            aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
+        }
+        else if(nsSelectionType::SEL_FRM & nSelType)
+        {
+            SfxItemSet aCoreSet(GetPool(), XATTR_FILL_FIRST, XATTR_FILL_LAST);
+            const XFillStyleItem& rXFillStyleItem(static_cast< const XFillStyleItem&  >(aCoreSet.Get(XATTR_FILLSTYLE)));
+
+            if(XFILL_SOLID == rXFillStyleItem.GetValue())
+            {
+                const Color aFillColor(static_cast< const XFillColorItem& >(aCoreSet.Get(XATTR_FILLCOLOR)).GetColorValue());
+
+                aBrushItem.SetColor(aFillColor);
+            }
+            else
+            {
+                // keep default in SvxBrushItem which equals no fill
+            }
+        }
+        else
+        {
+            SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
+
             rSh.GetCurAttr( aCoreSet );
-		aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
-	}
+            aBrushItem = (const SvxBrushItem&)aCoreSet.Get(RES_BACKGROUND);
+        }
+    }
 
 //	sal_Bool bMsgOk = sal_False;
 
@@ -2386,33 +2438,54 @@ void SwBaseShell::ExecBckCol(SfxRequest&
 	}
 
     if( nsSelectionType::SEL_TBL_CELLS & nSelType )
-	{
-		rSh.SetBoxBackground( aBrushItem );
-	}
-	else if( (nsSelectionType::SEL_FRM & nSelType) ||
-		(nsSelectionType::SEL_GRF & nSelType)  )
-	{
-		SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
-		aCoreSet.Put( aBrushItem );
-		// Vorlagen-AutoUpdate
-		SwFrmFmt* pFmt = rSh.GetCurFrmFmt();
-		if(pFmt && pFmt->IsAutoUpdateFmt())
-			rSh.AutoUpdateFrame( pFmt, aCoreSet);
-		else
-			rSh.SetFlyFrmAttr( aCoreSet );
-	}
-	else
-	{
-		SwTxtFmtColl* pColl = rSh.GetCurTxtFmtColl();
-		if(	pColl && pColl->IsAutoUpdateFmt())
-		{
-			SfxItemSet aSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND );
-			aSet.Put(aBrushItem);
-			rSh.AutoUpdatePara( pColl, aSet);
-		}
-		else
-			rSh.SetAttrItem( aBrushItem );
-	}
+    {
+        rSh.SetBoxBackground( aBrushItem );
+    }
+    //UUUU
+    else if(nsSelectionType::SEL_GRF & nSelType)
+    {
+        SfxItemSet aCoreSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND);
+        aCoreSet.Put( aBrushItem );
+        // Vorlagen-AutoUpdate
+        SwFrmFmt* pFmt = rSh.GetCurFrmFmt();
+        if(pFmt && pFmt->IsAutoUpdateFmt())
+            rSh.AutoUpdateFrame( pFmt, aCoreSet);
+        else
+            rSh.SetFlyFrmAttr( aCoreSet );
+    }
+    else if(nsSelectionType::SEL_FRM & nSelType)
+    {
+        SfxItemSet aCoreSet(GetPool(), XATTR_FILL_FIRST, XATTR_FILL_LAST);
+        const XubString aNullStr;
+
+        // set FillStyle and color when applying
+        aCoreSet.Put(XFillStyleItem(XFILL_SOLID));
+        aCoreSet.Put(XFillColorItem(aNullStr, aBrushItem.GetColor()));
+
+        // Vorlagen-AutoUpdate
+        SwFrmFmt* pFmt = rSh.GetCurFrmFmt();
+
+        if(pFmt && pFmt->IsAutoUpdateFmt())
+        {
+            rSh.AutoUpdateFrame( pFmt, aCoreSet);
+        }
+        else
+        {
+            rSh.SetFlyFrmAttr( aCoreSet );
+        }
+    }
+    else
+    {
+        SwTxtFmtColl* pColl = rSh.GetCurTxtFmtColl();
+        if(	pColl && pColl->IsAutoUpdateFmt())
+        {
+            SfxItemSet aSet(GetPool(), RES_BACKGROUND, RES_BACKGROUND );
+            aSet.Put(aBrushItem);
+            rSh.AutoUpdatePara( pColl, aSet);
+        }
+        else
+            rSh.SetAttrItem( aBrushItem );
+    }
 
     rReq.Done();
 }

Modified: openoffice/trunk/main/sw/source/ui/shells/drawdlg.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/drawdlg.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/shells/drawdlg.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/shells/drawdlg.cxx Wed Mar 19 16:17:02 2014
@@ -99,12 +99,13 @@ void SwDrawShell::ExecDrawDlg(SfxRequest
 		{
 			sal_Bool bHasMarked = pView->AreObjectsMarked();
 
-			SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
+            SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
             DBG_ASSERT(pFact, "Dialogdiet Factory fail!");
-			AbstractSvxAreaTabDialog * pDlg = pFact->CreateSvxAreaTabDialog( NULL,
-																			&aNewAttr,
-																			pDoc,
-																			pView);
+            AbstractSvxAreaTabDialog * pDlg = pFact->CreateSvxAreaTabDialog( 
+                NULL,
+                &aNewAttr,
+                pDoc,
+                true);
             DBG_ASSERT(pDlg, "Dialogdiet fail!");
 			// const SvxColorTableItem* pColorItem = (const SvxColorTableItem*)
 									GetView().GetDocShell()->GetItem(SID_COLOR_TABLE);

Modified: openoffice/trunk/main/sw/source/ui/shells/frmsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/frmsh.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/shells/frmsh.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/shells/frmsh.cxx Wed Mar 19 16:17:02 2014
@@ -19,12 +19,9 @@
  * 
  *************************************************************/
 
- 
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
+ // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
 #include <hintids.hxx>
 #include <svl/whiter.hxx>
 #include <svtools/imapobj.hxx>
@@ -46,11 +43,8 @@
 #include <sfx2/objface.hxx>
 #include <sfx2/sidebar/EnumContext.hxx>
 #include <svx/hlnkitem.hxx>
-// --> OD 2009-07-07 #i73249#
 #include <svx/svdview.hxx>
 #include <vcl/msgbox.hxx>
-// <--
-
 #include <doc.hxx>
 #include <fmturl.hxx>
 #include <fmtclds.hxx>
@@ -71,10 +65,8 @@
 #include <swwait.hxx>
 #include <docstat.hxx>
 #include <IDocumentStatistics.hxx>
-
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
-
 #include <helpid.h>
 #include <cmdid.h>
 #include <cfgitems.hxx>
@@ -83,9 +75,10 @@
 #include <shells.hrc>
 #include "swabstdlg.hxx"
 #include "misc.hrc"
-// --> OD 2009-07-14 #i73249#
 #include <svx/dialogs.hrc>
-// <--
+
+#include <docsh.hxx>
+#include <svx/drawitem.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -426,22 +419,44 @@ void SwFrameShell::Execute(SfxRequest &r
 			}
 			else
 			{
-                SfxItemSet aSet(GetPool(), 	RES_FRMATR_BEGIN, 		RES_FRMATR_END-1,
-                                            SID_ATTR_BORDER_INNER, 	SID_ATTR_BORDER_INNER,
-                                            FN_GET_PRINT_AREA, 		FN_GET_PRINT_AREA,
-                                            SID_ATTR_PAGE_SIZE, 	SID_ATTR_PAGE_SIZE,
-                                            SID_ATTR_BRUSH, 		SID_ATTR_BRUSH,
-                                            SID_ATTR_LRSPACE,		SID_ATTR_ULSPACE,
-                                            FN_SURROUND, 			FN_HORI_ORIENT,
-                                            FN_SET_FRM_NAME, 		FN_SET_FRM_NAME,
-                                            FN_KEEP_ASPECT_RATIO, 	FN_KEEP_ASPECT_RATIO,
-                                            SID_DOCFRAME, 			SID_DOCFRAME,
-                                            SID_HTML_MODE, 			SID_HTML_MODE,
-                                            FN_SET_FRM_ALT_NAME, 	FN_SET_FRM_ALT_NAME,
-                                            FN_PARAM_CHAIN_PREVIOUS, FN_PARAM_CHAIN_NEXT,
-                                            FN_OLE_IS_MATH,         FN_OLE_IS_MATH,
-                                            FN_MATH_BASELINE_ALIGNMENT, FN_MATH_BASELINE_ALIGNMENT,
-                                            0);
+                SfxItemSet aSet(GetPool(),  //UUUU sorted by indices
+                    RES_FRMATR_BEGIN, 		RES_FRMATR_END-1,                       // [82
+
+                    //UUUU FillAttribute support
+                    XATTR_FILL_FIRST,       XATTR_FILL_LAST,                        // [1014
+
+                    SID_DOCFRAME, 			SID_DOCFRAME,                           // [5598
+
+                    SID_ATTR_BRUSH, 		SID_ATTR_BRUSH,                         // [10001
+                    SID_ATTR_BORDER_INNER, 	SID_ATTR_BORDER_INNER,                  // [10023
+                    SID_ATTR_LRSPACE,		SID_ATTR_ULSPACE,                       // [10048
+                    SID_ATTR_PAGE_SIZE, 	SID_ATTR_PAGE_SIZE,                     // [10051
+
+                    //UUUU items to hand over XPropertyList things like
+                    // XColorList, XHatchList, XGradientList and XBitmapList
+                    // to the Area TabPage
+                    SID_COLOR_TABLE,        SID_BITMAP_LIST,                        // [10179
+
+                    SID_HTML_MODE, 			SID_HTML_MODE,                          // [10414
+                    FN_GET_PRINT_AREA, 		FN_GET_PRINT_AREA,                      // [21032
+                    FN_SURROUND, 			FN_HORI_ORIENT,                         // [21303
+                    FN_SET_FRM_NAME, 		FN_SET_FRM_NAME,                        // [21306
+                    FN_KEEP_ASPECT_RATIO, 	FN_KEEP_ASPECT_RATIO,                   // [21307
+                    FN_SET_FRM_ALT_NAME, 	FN_SET_FRM_ALT_NAME,                    // [21318
+                    FN_OLE_IS_MATH,         FN_OLE_IS_MATH,                         // [22314
+                    FN_MATH_BASELINE_ALIGNMENT, FN_MATH_BASELINE_ALIGNMENT,         // [22315
+                    FN_PARAM_CHAIN_PREVIOUS, FN_PARAM_CHAIN_NEXT,                   // [22420
+
+                    0);
+
+                //UUUU create needed items for XPropertyList entries from the DrawModel so that
+                // the Area TabPage can access them
+                const SdrModel* pDrawModel = rSh.GetView().GetDocShell()->GetDoc()->GetDrawModel();
+
+                aSet.Put(SvxColorTableItem(pDrawModel->GetColorTableFromSdrModel(), SID_COLOR_TABLE));
+                aSet.Put(SvxGradientListItem(pDrawModel->GetGradientListFromSdrModel(), SID_GRADIENT_LIST));
+                aSet.Put(SvxHatchListItem(pDrawModel->GetHatchListFromSdrModel(), SID_HATCH_LIST));
+                aSet.Put(SvxBitmapListItem(pDrawModel->GetBitmapListFromSdrModel(), SID_BITMAP_LIST));
 
                 const SwViewOption* pVOpt = rSh.GetViewOptions();
                 if(nSel & nsSelectionType::SEL_OLE)
@@ -1227,3 +1242,158 @@ void  SwFrameShell::StateInsert(SfxItemS
         rSet.DisableItem(FN_INSERT_FRAME);
     }
 }
+
+//UUUU
+void SwFrameShell::GetDrawAttrStateTextFrame(SfxItemSet &rSet)
+{
+    SwWrtShell &rSh = GetShell();
+
+    if(rSh.IsFrmSelected())
+    {
+        rSh.GetFlyFrmAttr(rSet);
+    }
+    else
+    {
+        SdrView* pSdrView = rSh.GetDrawViewWithValidMarkList();
+
+        if(pSdrView)
+        {
+            rSet.Put(pSdrView->GetDefaultAttr());
+        }
+    }
+}
+
+//UUUU
+void SwFrameShell::ExecDrawAttrArgsTextFrame(SfxRequest& rReq)
+{
+    const SfxItemSet* pArgs = rReq.GetArgs();
+    SwWrtShell& rSh = GetShell();
+
+    if(pArgs)
+    {
+        if(rSh.IsFrmSelected())
+        {
+            rSh.SetFlyFrmAttr(const_cast< SfxItemSet& >(*pArgs));
+        }
+        else
+        {
+            SdrView* pSdrView = rSh.GetDrawViewWithValidMarkList();
+
+            if(pSdrView)
+            {
+                pSdrView->SetDefaultAttr(*pArgs, sal_False);
+            }
+        }
+    }
+    else
+    {
+        SfxDispatcher* pDis = rSh.GetView().GetViewFrame()->GetDispatcher();
+
+        switch(rReq.GetSlot())
+        {
+            case SID_ATTR_FILL_STYLE:
+            case SID_ATTR_FILL_COLOR:
+            case SID_ATTR_FILL_GRADIENT:
+            case SID_ATTR_FILL_HATCH:
+            case SID_ATTR_FILL_BITMAP:
+            case SID_ATTR_FILL_TRANSPARENCE:
+            case SID_ATTR_FILL_FLOATTRANSPARENCE:
+            {
+                pDis->Execute(SID_ATTRIBUTES_AREA, sal_False);
+                break;
+            }
+        }
+    }
+}
+
+//UUUU
+void SwFrameShell::ExecDrawDlgTextFrame(SfxRequest& rReq)
+{
+    switch(rReq.GetSlot())
+    {
+        case SID_ATTRIBUTES_AREA:
+        {
+            SwWrtShell& rSh = GetShell();
+                
+            if(rSh.IsFrmSelected())
+            {
+                SdrView* pView = rSh.GetDrawView();
+                SdrModel* pDoc = pView->GetModel();
+                SfxItemSet aNewAttr(pDoc->GetItemPool());
+
+                // get attributes from FlyFrame
+                rSh.GetFlyFrmAttr(aNewAttr);
+
+                SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
+                DBG_ASSERT(pFact, "Dialogdiet Factory fail!");
+                AbstractSvxAreaTabDialog * pDlg = pFact->CreateSvxAreaTabDialog(
+                    NULL, 
+                    &aNewAttr, 
+                    pDoc, 
+                    false);
+                DBG_ASSERT(pDlg, "Dialogdiet fail!");
+
+                if(RET_OK == pDlg->Execute())
+                {
+                    // set attributes at FlyFrame
+                    rSh.SetFlyFrmAttr(const_cast< SfxItemSet& >(*pDlg->GetOutputItemSet()));
+
+                    static sal_uInt16 __READONLY_DATA aInval[] =
+                    {
+                        SID_ATTR_FILL_STYLE, 
+                        SID_ATTR_FILL_COLOR, 
+                        SID_ATTR_FILL_TRANSPARENCE,
+                        SID_ATTR_FILL_FLOATTRANSPARENCE,
+                        0
+                    };
+
+                    SfxBindings &rBnd = GetView().GetViewFrame()->GetBindings();
+
+                    rBnd.Invalidate(aInval);
+                    rBnd.Update(SID_ATTR_FILL_STYLE);
+                    rBnd.Update(SID_ATTR_FILL_COLOR);
+                    rBnd.Update(SID_ATTR_FILL_TRANSPARENCE);
+                    rBnd.Update(SID_ATTR_FILL_FLOATTRANSPARENCE);
+                }
+
+                delete pDlg;
+            }
+
+            break;
+        }
+    }
+}
+
+//UUUU
+void SwFrameShell::DisableStateTextFrame(SfxItemSet &rSet)
+{ 
+    SfxWhichIter aIter(rSet);
+    sal_uInt16 nWhich(aIter.FirstWhich());
+
+    while(nWhich)
+    {
+        switch(nWhich)
+        {
+            case SID_ATTRIBUTES_AREA:
+            {
+                SwWrtShell& rSh = GetShell();
+                
+                if(!rSh.IsFrmSelected())
+                {
+                    rSet.DisableItem(nWhich);
+                }
+
+                break;
+            }
+            default:
+            {
+                rSet.DisableItem(nWhich);
+                break;
+            }
+        }
+
+        nWhich = aIter.NextWhich();
+    }
+}
+
+// eof

Modified: openoffice/trunk/main/vcl/source/gdi/impgraph.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/gdi/impgraph.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/source/gdi/impgraph.cxx (original)
+++ openoffice/trunk/main/vcl/source/gdi/impgraph.cxx Wed Mar 19 16:17:02 2014
@@ -791,22 +791,22 @@ void ImpGraphic::ImplSetPrefSize( const 
 
 		case( GRAPHIC_BITMAP ):
         {
+            //UUUU used when importing a writer FlyFrame with SVG as graphic, added conversion
+            // to allow setting the PrefSize at the BitmapEx to hold it
+            if(maSvgData.get() && maEx.IsEmpty())
+            {
+                // use maEx as local buffer for rendered svg
+                const_cast< ImpGraphic* >(this)->maEx = maSvgData->getReplacement();
+            }
+
             // #108077# Push through pref size to animation object,
             // will be lost on copy otherwise
-            if(maSvgData.get())
+            if( ImplIsAnimated() )
             {
-                // ignore for Svg. If this is really used (except the grfcache)
-                // it can be extended by using maEx as buffer for maSvgData->getReplacement()
+                const_cast< BitmapEx& >(mpAnimation->GetBitmapEx()).SetPrefSize( rPrefSize );
             }
-            else
-            {
-                if( ImplIsAnimated() )
-                {
-                    const_cast< BitmapEx& >(mpAnimation->GetBitmapEx()).SetPrefSize( rPrefSize );
-                }
 
-                maEx.SetPrefSize( rPrefSize );
-            }
+            maEx.SetPrefSize( rPrefSize );
         }
 		break;
 

Modified: openoffice/trunk/main/xmloff/inc/xmloff/txtprmap.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/inc/xmloff/txtprmap.hxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/xmloff/inc/xmloff/txtprmap.hxx (original)
+++ openoffice/trunk/main/xmloff/inc/xmloff/txtprmap.hxx Wed Mar 19 16:17:02 2014
@@ -182,6 +182,14 @@
 #define CTF_MARGINTOP                       (XML_TEXT_CTF_START + 151)
 #define CTF_MARGINBOTTOM                    (XML_TEXT_CTF_START + 152)
 
+//UUUU
+#define CTF_SW_REPEAT_OFFSET_X              (XML_TEXT_CTF_START + 153)
+#define CTF_SW_REPEAT_OFFSET_Y              (XML_TEXT_CTF_START + 154)
+#define CTF_SW_FILLGRADIENTNAME             (XML_TEXT_CTF_START + 155)
+#define CTF_SW_FILLHATCHNAME                (XML_TEXT_CTF_START + 156)
+#define CTF_SW_FILLBITMAPNAME               (XML_TEXT_CTF_START + 157)
+#define CTF_SW_FILLTRANSNAME                (XML_TEXT_CTF_START + 158)
+
 #define TEXT_PROP_MAP_TEXT 0
 #define TEXT_PROP_MAP_PARA 1
 #define TEXT_PROP_MAP_FRAME 2

Modified: openoffice/trunk/main/xmloff/inc/xmloff/xmltypes.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/inc/xmloff/xmltypes.hxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/xmloff/inc/xmloff/xmltypes.hxx (original)
+++ openoffice/trunk/main/xmloff/inc/xmloff/xmltypes.hxx Wed Mar 19 16:17:02 2014
@@ -274,6 +274,14 @@
 #define XML_TYPE_TEXT_OVERLINE_WIDTH    (XML_TEXT_TYPES_START + 111)
 #define XML_TYPE_TEXT_OVERLINE_COLOR    (XML_TEXT_TYPES_START + 112)
 #define XML_TYPE_TEXT_OVERLINE_HASCOLOR (XML_TEXT_TYPES_START + 113)
+//UUUU
+#define XML_SW_TYPE_FILLSTYLE           (XML_TEXT_TYPES_START + 114)
+#define XML_SW_TYPE_FILLBITMAPSIZE      (XML_TEXT_TYPES_START + 115)
+#define XML_SW_TYPE_LOGICAL_SIZE        (XML_TEXT_TYPES_START + 116)
+#define XML_SW_TYPE_BITMAP_REFPOINT     (XML_TEXT_TYPES_START + 117)
+#define XML_SW_TYPE_BITMAP_MODE         (XML_TEXT_TYPES_START + 118)
+#define XML_SW_TYPE_BITMAPREPOFFSETX    (XML_TEXT_TYPES_START + 119)
+#define XML_SW_TYPE_BITMAPREPOFFSETY    (XML_TEXT_TYPES_START + 120)
 
 #define XML_SCH_TYPES_START	(0x4 << XML_TYPE_APP_SHIFT)
 #define XML_PM_TYPES_START	(0x5 << XML_TYPE_APP_SHIFT)	// page master

Modified: openoffice/trunk/main/xmloff/source/text/txtexppr.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/text/txtexppr.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/xmloff/source/text/txtexppr.cxx (original)
+++ openoffice/trunk/main/xmloff/source/text/txtexppr.cxx Wed Mar 19 16:17:02 2014
@@ -467,6 +467,10 @@ void XMLTextExportPropertySetMapper::Con
     XMLPropertyState* pAllParaMargin = NULL;
     XMLPropertyState* pAllMargin = NULL;
 
+    //UUUU
+	XMLPropertyState* pRepeatOffsetX = NULL;
+	XMLPropertyState* pRepeatOffsetY = NULL;
+
 	sal_Bool bNeedsAnchor = sal_False;
 
 	for( ::std::vector< XMLPropertyState >::iterator aIter = rProperties.begin();
@@ -585,9 +589,41 @@ void XMLTextExportPropertySetMapper::Con
         case CTF_TEXT_CLIP:    			pClipState = propertie; break;
         case CTF_PARAMARGINALL:         pAllParaMargin = propertie; break;
         case CTF_MARGINALL:             pAllMargin = propertie; break;
+
+        //UUUU
+        case CTF_SW_REPEAT_OFFSET_X:
+            pRepeatOffsetX = propertie;
+            break;
+
+        //UUUU
+        case CTF_SW_REPEAT_OFFSET_Y:
+            pRepeatOffsetY = propertie;
+            break;
+
+        //UUUU
+        case CTF_SW_FILLGRADIENTNAME:
+        case CTF_SW_FILLHATCHNAME:
+        case CTF_SW_FILLBITMAPNAME:
+        case CTF_SW_FILLTRANSNAME:
+            {
+                OUString aStr;
+                if( (propertie->maValue >>= aStr) && 0 == aStr.getLength() )
+                    propertie->mnIndex = -1;
+            }
+            break;
 		}
 	}
 
+    //UUUU
+    if( pRepeatOffsetX && pRepeatOffsetY )
+    {
+        sal_Int32 nOffset = 0;
+        if( ( pRepeatOffsetX->maValue >>= nOffset ) && ( nOffset == 0 ) )
+            pRepeatOffsetX->mnIndex = -1;
+        else
+            pRepeatOffsetY->mnIndex = -1;
+    }
+
 	if( pFontNameState )
 		ContextFontFilter( pFontNameState, pFontFamilyNameState,
 						   pFontStyleNameState, pFontFamilyState,

Modified: openoffice/trunk/main/xmloff/source/text/txtprhdl.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/text/txtprhdl.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/xmloff/source/text/txtprhdl.cxx (original)
+++ openoffice/trunk/main/xmloff/source/text/txtprhdl.cxx Wed Mar 19 16:17:02 2014
@@ -65,6 +65,8 @@ using namespace ::com::sun::star::style;
 //using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::text;
 using namespace ::xmloff::token;
+//UUUU
+using namespace ::com::sun::star::drawing;
 
 
 #define CONSTASCII_USTRINGPARAM_CMP(s) s, sizeof(s)-1
@@ -1269,6 +1271,18 @@ public:
 	~XMLTextPropertyHandlerFactory_Impl();
 };
 
+//UUUU
+#include <xmloff/EnumPropertyHdl.hxx>
+#include <com/sun/star/drawing/FillStyle.hpp>
+#include "XMLFillBitmapSizePropertyHandler.hxx"
+#include "XMLBitmapLogicalSizePropertyHandler.hxx"
+#include <com/sun/star/drawing/RectanglePoint.hpp>
+#include <com/sun/star/drawing/BitmapMode.hpp>
+#include "XMLBitmapRepeatOffsetPropertyHandler.hxx"
+extern SvXMLEnumMapEntry aXML_FillStyle_EnumMap[];
+extern SvXMLEnumMapEntry aXML_RefPoint_EnumMap[];
+extern SvXMLEnumMapEntry aXML_BitmapMode_EnumMap[];
+
 const XMLPropertyHandler *XMLTextPropertyHandlerFactory_Impl::GetPropertyHandler
 	( sal_Int32 nType ) const
 {
@@ -1441,7 +1455,29 @@ const XMLPropertyHandler *XMLTextPropert
     case XML_TYPE_TEXT_NUMBER8_ONE_BASED:
         pHdl = new XMLNumber8OneBasedHdl();
         break;
-	}
+
+    //UUUU
+    case XML_SW_TYPE_FILLSTYLE:
+        pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, ::getCppuType((const FillStyle*)0) );
+        break;
+    case XML_SW_TYPE_FILLBITMAPSIZE:
+        pHdl = new XMLFillBitmapSizePropertyHandler();
+        break;
+    case XML_SW_TYPE_LOGICAL_SIZE:
+        pHdl = new XMLBitmapLogicalSizePropertyHandler();
+        break;
+    case XML_SW_TYPE_BITMAP_REFPOINT:
+        pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, getCppuType((const RectanglePoint*)0) );
+        break;
+    case XML_SW_TYPE_BITMAP_MODE:
+        pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, getCppuType((const BitmapMode*)0) );
+        break;
+    case XML_SW_TYPE_BITMAPREPOFFSETX:
+    case XML_SW_TYPE_BITMAPREPOFFSETY:
+        pHdl = new XMLBitmapRepeatOffsetPropertyHandler(XML_SW_TYPE_BITMAPREPOFFSETX == nType);
+        break;
+
+    }
 
 	return pHdl;
 }

Modified: openoffice/trunk/main/xmloff/source/text/txtprmap.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/text/txtprmap.cxx?rev=1579280&r1=1579279&r2=1579280&view=diff
==============================================================================
--- openoffice/trunk/main/xmloff/source/text/txtprmap.cxx (original)
+++ openoffice/trunk/main/xmloff/source/text/txtprmap.cxx Wed Mar 19 16:17:02 2014
@@ -80,6 +80,9 @@ using namespace ::xmloff::token;
 #define M_END() \
 	{ NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
 
+//UUUU
+#define _MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 }
+#define GMAP(name,prefix,token,type,context) _MAP(name,prefix,token,static_cast<sal_Int32>(type|XML_TYPE_PROP_GRAPHIC),context)
 
 XMLPropertyMapEntry aXMLParaPropMap[] =
 {
@@ -630,7 +633,29 @@ XMLPropertyMapEntry aXMLFramePropMap[] =
 	MG_E( "BackGraphicFilter",STYLE,	FILTER_NAME,	MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
 	MG_E( "BackGraphicURL",	STYLE,	BACKGROUND_IMAGE,	MID_FLAG_ELEMENT_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_URL ),
 
-	// RES_BOX
+	//UUUU fill attributes
+	GMAP( "FillStyle",						XML_NAMESPACE_DRAW,	XML_FILL,					XML_SW_TYPE_FILLSTYLE, 0 ),
+	GMAP( "FillColor",						XML_NAMESPACE_DRAW, XML_FILL_COLOR, 			XML_TYPE_COLOR, 0 ),
+	GMAP( "FillColor2",						XML_NAMESPACE_DRAW, XML_SECONDARY_FILL_COLOR,	XML_TYPE_COLOR, 0 ),
+	GMAP( "FillGradientName",				XML_NAMESPACE_DRAW, XML_FILL_GRADIENT_NAME, 	XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLGRADIENTNAME ),
+	GMAP( "FillGradientStepCount",			XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT,	XML_TYPE_NUMBER16, 0 ),
+	GMAP( "FillHatchName",					XML_NAMESPACE_DRAW, XML_FILL_HATCH_NAME,		XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLHATCHNAME ),
+	GMAP( "FillBackground",					XML_NAMESPACE_DRAW, XML_FILL_HATCH_SOLID,		XML_TYPE_BOOL, 0 ),
+	GMAP( "FillBitmapName",					XML_NAMESPACE_DRAW, XML_FILL_IMAGE_NAME,		XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLBITMAPNAME ),
+	GMAP( "FillTransparence",				XML_NAMESPACE_DRAW, XML_OPACITY,			    XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ),	// exists in SW, too
+	GMAP( "FillTransparenceGradientName",	XML_NAMESPACE_DRAW, XML_OPACITY_NAME,		    XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLTRANSNAME ),
+	GMAP( "FillBitmapSizeX",				XML_NAMESPACE_DRAW,	XML_FILL_IMAGE_WIDTH,		XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+	GMAP( "FillBitmapLogicalSize",			XML_NAMESPACE_DRAW, XML_FILL_IMAGE_WIDTH,		XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+	GMAP( "FillBitmapSizeY",				XML_NAMESPACE_DRAW,	XML_FILL_IMAGE_HEIGHT,		XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+	GMAP( "FillBitmapLogicalSize",			XML_NAMESPACE_DRAW, XML_FILL_IMAGE_HEIGHT,		XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+	GMAP( "FillBitmapMode",					XML_NAMESPACE_STYLE,XML_REPEAT, 				XML_SW_TYPE_BITMAP_MODE|MID_FLAG_MULTI_PROPERTY, 0 ),
+	GMAP( "FillBitmapPositionOffsetX",		XML_NAMESPACE_DRAW,	XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
+	GMAP( "FillBitmapPositionOffsetY",		XML_NAMESPACE_DRAW,	XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
+	GMAP( "FillBitmapRectanglePoint",		XML_NAMESPACE_DRAW,	XML_FILL_IMAGE_REF_POINT,	XML_SW_TYPE_BITMAP_REFPOINT, 0 ),
+	GMAP( "FillBitmapOffsetX",				XML_NAMESPACE_DRAW,	XML_TILE_REPEAT_OFFSET, 	XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY, CTF_SW_REPEAT_OFFSET_X ),
+	GMAP( "FillBitmapOffsetY",				XML_NAMESPACE_DRAW,	XML_TILE_REPEAT_OFFSET, 	XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY, CTF_SW_REPEAT_OFFSET_Y ),
+
+    // RES_BOX
 	MG_ED( "LeftBorder",			STYLE,	BORDER_LINE_WIDTH,		  XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
 	MG_ED( "LeftBorder",			STYLE,	BORDER_LINE_WIDTH_LEFT,	  XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),
 	MG_ED( "RightBorder",			STYLE,	BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH, CTF_RIGHTBORDERWIDTH ),

Propchange: openoffice/trunk/test/
------------------------------------------------------------------------------
  Merged /openoffice/branches/alg_writerframes/test:r1556289-1579189