You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2013/05/18 12:12:56 UTC

svn commit: r1484083 [3/17] - in /openoffice/branches/ia2: ./ ext_libraries/apr/prj/ ext_libraries/coinmp/prj/ ext_libraries/ratscan/prj/ ext_libraries/serf/prj/ main/ main/avmedia/source/quicktime/ main/bridges/prj/ main/bridges/source/cpp_uno/cxx_mac...

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tparea.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tparea.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tparea.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tparea.cxx Sat May 18 10:12:43 2013
@@ -660,10 +660,10 @@ SvxAreaTabPage::SvxAreaTabPage( Window* 
     
     rOutAttrs           ( rInAttrs ),
 
-    pColorTab( NULL ),
-    pGradientList( NULL ),
-    pHatchingList( NULL ),
-    pBitmapList( NULL ),
+    maColorTab(),
+    maGradientList(),
+    maHatchingList(),
+    maBitmapList(),
 
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFillAttr          ( pXPool ),
@@ -787,12 +787,12 @@ SvxAreaTabPage::SvxAreaTabPage( Window* 
 void SvxAreaTabPage::Construct()
 {
 	// fill colortables / lists
-	aLbColor.Fill( pColorTab );
-	aLbHatchBckgrdColor.Fill ( pColorTab );
+	aLbColor.Fill( maColorTab );
+	aLbHatchBckgrdColor.Fill ( maColorTab );
 
-	aLbGradient.Fill( pGradientList );
-	aLbHatching.Fill( pHatchingList );
-	aLbBitmap.Fill( pBitmapList );
+	aLbGradient.Fill( maGradientList );
+	aLbHatching.Fill( maHatchingList );
+	aLbBitmap.Fill( maBitmapList );
 }
 
 // -----------------------------------------------------------------------
@@ -813,19 +813,18 @@ void SvxAreaTabPage::ActivatePage( const
 	{
 		*pbAreaTP = sal_True;
 
-		if( pColorTab )
+		if( maColorTab.get() )
 		{
 			// Bitmapliste
 			if( *pnBitmapListState )
 			{
 				if( *pnBitmapListState & CT_CHANGED )
-					pBitmapList = ( (SvxAreaTabDialog*) DLGWIN )->
-											GetNewBitmapList();
+					maBitmapList = ( (SvxAreaTabDialog*) DLGWIN )->GetNewBitmapList();
 
                 _nPos = aLbBitmap.GetSelectEntryPos();
 
 				aLbBitmap.Clear();
-				aLbBitmap.Fill( pBitmapList );
+				aLbBitmap.Fill( maBitmapList );
 				nCount = aLbBitmap.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -839,13 +838,12 @@ void SvxAreaTabPage::ActivatePage( const
 			if( *pnHatchingListState )
 			{
 				if( *pnHatchingListState & CT_CHANGED )
-					pHatchingList = ( (SvxAreaTabDialog*) DLGWIN )->
-											GetNewHatchingList();
+					maHatchingList = ( (SvxAreaTabDialog*) DLGWIN )->GetNewHatchingList();
 
                 _nPos = aLbHatching.GetSelectEntryPos();
 
 				aLbHatching.Clear();
-				aLbHatching.Fill( pHatchingList );
+				aLbHatching.Fill( maHatchingList );
 				nCount = aLbHatching.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -861,13 +859,12 @@ void SvxAreaTabPage::ActivatePage( const
 			if( *pnGradientListState )
 			{
 				if( *pnGradientListState & CT_CHANGED )
-					pGradientList = ( (SvxAreaTabDialog*) DLGWIN )->
-											GetNewGradientList();
+					maGradientList = ( (SvxAreaTabDialog*) DLGWIN )->GetNewGradientList();
 
                 _nPos = aLbGradient.GetSelectEntryPos();
 
 				aLbGradient.Clear();
-				aLbGradient.Fill( pGradientList );
+				aLbGradient.Fill( maGradientList );
 				nCount = aLbGradient.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -881,12 +878,11 @@ void SvxAreaTabPage::ActivatePage( const
 			if( *pnColorTableState )
 			{
 				if( *pnColorTableState & CT_CHANGED )
-					pColorTab = ( (SvxAreaTabDialog*) DLGWIN )->
-											GetNewColorTable();
+					maColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
 				// aLbColor
                 _nPos = aLbColor.GetSelectEntryPos();
 				aLbColor.Clear();
-				aLbColor.Fill( pColorTab );
+				aLbColor.Fill( maColorTab );
 				nCount = aLbColor.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -900,7 +896,7 @@ void SvxAreaTabPage::ActivatePage( const
 				// Backgroundcolor of hatch
                 _nPos = aLbHatchBckgrdColor.GetSelectEntryPos();
 				aLbHatchBckgrdColor.Clear();
-				aLbHatchBckgrdColor.Fill( pColorTab );
+				aLbHatchBckgrdColor.Fill( maColorTab );
 				nCount = aLbHatchBckgrdColor.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -1055,7 +1051,7 @@ sal_Bool SvxAreaTabPage::FillItemSet( Sf
                 if( _nPos != LISTBOX_ENTRY_NOTFOUND &&
                     _nPos != aLbGradient.GetSavedValue() )
                 {
-                    XGradient aGradient = pGradientList->GetGradient( _nPos )->GetGradient();
+                    XGradient aGradient = maGradientList->GetGradient( _nPos )->GetGradient();
                     String aString = aLbGradient.GetSelectEntry();
                     XFillGradientItem aItem( aString, aGradient );
                     pOld = GetOldItem( rAttrs, XATTR_FILLGRADIENT );
@@ -1086,7 +1082,7 @@ sal_Bool SvxAreaTabPage::FillItemSet( Sf
                 if( _nPos != LISTBOX_ENTRY_NOTFOUND &&
                    _nPos != aLbHatching.GetSavedValue() )
                 {
-                    XHatch aHatching = pHatchingList->GetHatch( _nPos )->GetHatch();
+                    XHatch aHatching = maHatchingList->GetHatch( _nPos )->GetHatch();
                     String aString = aLbHatching.GetSelectEntry();
                     XFillHatchItem aItem( aString, aHatching );
                     pOld = GetOldItem( rAttrs, XATTR_FILLHATCH );
@@ -1132,7 +1128,7 @@ sal_Bool SvxAreaTabPage::FillItemSet( Sf
                 if( nPos != LISTBOX_ENTRY_NOTFOUND &&
                     nPos != aLbBitmap.GetSavedValue() )
                 {
-                    const XBitmapEntry* pXBitmapEntry = pBitmapList->GetBitmap(nPos);
+                    const XBitmapEntry* pXBitmapEntry = maBitmapList->GetBitmap(nPos);
                     const String aString(aLbBitmap.GetSelectEntry());
                     const XFillBitmapItem aFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject());
                     pOld = GetOldItem( rAttrs, XATTR_FILLBITMAP );
@@ -1473,7 +1469,7 @@ void SvxAreaTabPage::Reset( const SfxIte
 					String	  aString( aGradientItem.GetName() );
                     XGradient aGradient( aGradientItem.GetGradientValue() );
 
-					aLbGradient.SelectEntryByList( pGradientList, aString, aGradient );
+					aLbGradient.SelectEntryByList( maGradientList, aString, aGradient );
 				}
                 ClickGradientHdl_Impl( this );
 			break;
@@ -1870,9 +1866,9 @@ IMPL_LINK( SvxAreaTabPage, ClickColorHdl
 
 	// Text der Tabelle setzen
 	String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-	INetURLObject	aURL( pColorTab->GetPath() );
+	INetURLObject	aURL( maColorTab->GetPath() );
 
-	aURL.Append( pColorTab->GetName() );
+	aURL.Append( maColorTab->GetName() );
 	DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 	if( aURL.getBase().getLength() > 18 )
@@ -1960,9 +1956,9 @@ IMPL_LINK( SvxAreaTabPage, ClickGradient
 
 	// Text der Tabelle setzen
 	String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-	INetURLObject	aURL( pGradientList->GetPath() );
+	INetURLObject	aURL( maGradientList->GetPath() );
 
-	aURL.Append( pGradientList->GetName() );
+	aURL.Append( maGradientList->GetName() );
 	DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 	if( aURL.getBase().getLength() > 18 )
@@ -1987,7 +1983,7 @@ IMPL_LINK( SvxAreaTabPage, ModifyGradien
     if( _nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
 		// ItemSet fuellen und an aCtlXRectPreview weiterleiten
-        XGradientEntry* pEntry = pGradientList->GetGradient( _nPos );
+        XGradientEntry* pEntry = maGradientList->GetGradient( _nPos );
 
 		rXFSet.Put( XFillStyleItem( XFILL_GRADIENT ) );
 		rXFSet.Put( XFillGradientItem( String(),
@@ -2055,9 +2051,9 @@ IMPL_LINK( SvxAreaTabPage, ClickHatching
 
 	// Text der Tabelle setzen
 	String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); 	aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-	INetURLObject	aURL( pHatchingList->GetPath() );
+	INetURLObject	aURL( maHatchingList->GetPath() );
 
-	aURL.Append( pHatchingList->GetName() );
+	aURL.Append( maHatchingList->GetName() );
 	DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 	if( aURL.getBase().getLength() > 18 )
@@ -2084,7 +2080,7 @@ IMPL_LINK( SvxAreaTabPage, ModifyHatchin
     if( _nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
 		// ItemSet fuellen und an aCtlXRectPreview weiterleiten
-        XHatchEntry* pEntry = pHatchingList->GetHatch( _nPos );
+        XHatchEntry* pEntry = maHatchingList->GetHatch( _nPos );
 
 		rXFSet.Put( XFillStyleItem( XFILL_HATCH ) );
 		rXFSet.Put( XFillHatchItem( String(), pEntry->GetHatch() ) );
@@ -2228,9 +2224,9 @@ IMPL_LINK( SvxAreaTabPage, ClickBitmapHd
 
 	// Text der Tabelle setzen
 	String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); 	aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-	INetURLObject	aURL( pBitmapList->GetPath() );
+	INetURLObject	aURL( maBitmapList->GetPath() );
 
-	aURL.Append( pBitmapList->GetName() );
+	aURL.Append( maBitmapList->GetName() );
 	DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 	if( aURL.getBase().getLength() > 18 )
@@ -2255,7 +2251,7 @@ IMPL_LINK( SvxAreaTabPage, ModifyBitmapH
     if( _nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
 		// ItemSet fuellen und an aCtlXRectPreview weiterleiten
-        const XBitmapEntry* pEntry = pBitmapList->GetBitmap(_nPos);
+        const XBitmapEntry* pEntry = maBitmapList->GetBitmap(_nPos);
 
 		rXFSet.Put(XFillStyleItem(XFILL_BITMAP));
 		rXFSet.Put(XFillBitmapItem(String(), pEntry->GetGraphicObject()));

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tpbitmap.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tpbitmap.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tpbitmap.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tpbitmap.cxx Sat May 18 10:12:43 2013
@@ -107,8 +107,8 @@ SvxBitmapTabPage::SvxBitmapTabPage
     aBitmapCtl          ( this, aCtlPreview.GetSizePixel() ),
     rOutAttrs           ( rInAttrs ),
 
-    pColorTab( NULL ),
-    pBitmapList( NULL ),
+    maColorTab(),
+    maBitmapList(),
 
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_BITMAP ),
@@ -162,11 +162,11 @@ SvxBitmapTabPage::SvxBitmapTabPage
 void SvxBitmapTabPage::Construct()
 {
 	// Farbtabellen
-	aLbColor.Fill( pColorTab );
+	aLbColor.Fill( maColorTab );
 	aLbBackgroundColor.CopyEntries( aLbColor );
 
 	// Bitmaptabelle
-	aLbBitmaps.Fill( pBitmapList );
+	aLbBitmaps.Fill( maBitmapList );
 }
 
 // -----------------------------------------------------------------------
@@ -180,19 +180,19 @@ void SvxBitmapTabPage::ActivatePage( con
 	{
 		*pbAreaTP = sal_False;
 
-		if( pColorTab )
+		if( maColorTab.get() )
 		{
 			// ColorTable
 			if( *pnColorTableState & CT_CHANGED ||
 				*pnColorTableState & CT_MODIFIED )
 			{
 				if( *pnColorTableState & CT_CHANGED )
-					pColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
+					maColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
 
 				// LbColor
 				nPos = aLbColor.GetSelectEntryPos();
 				aLbColor.Clear();
-				aLbColor.Fill( pColorTab );
+				aLbColor.Fill( maColorTab );
 				nCount = aLbColor.GetEntryCount();
 				if( nCount == 0 )
 					; // Dieser Fall sollte nicht auftreten
@@ -220,9 +220,9 @@ void SvxBitmapTabPage::ActivatePage( con
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
 			String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-			INetURLObject	aURL( pBitmapList->GetPath() );
+			INetURLObject	aURL( maBitmapList->GetPath() );
 
-			aURL.Append( pBitmapList->GetName() );
+			aURL.Append( maBitmapList->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 			if( aURL.getBase().getLength() > 18 )
@@ -273,7 +273,7 @@ sal_Bool SvxBitmapTabPage::FillItemSet( 
             
             if(LISTBOX_ENTRY_NOTFOUND != nPos)
 			{
-                const XBitmapEntry* pXBitmapEntry = pBitmapList->GetBitmap(nPos);
+                const XBitmapEntry* pXBitmapEntry = maBitmapList->GetBitmap(nPos);
 				const String aString(aLbBitmaps.GetSelectEntry());
                 
                 _rOutAttrs.Put(XFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject()));
@@ -310,7 +310,7 @@ void SvxBitmapTabPage::Reset( const SfxI
 	ChangeBitmapHdl_Impl( this );
 
 	// Status der Buttons ermitteln
-	if( pBitmapList->Count() )
+	if( maBitmapList.get() && maBitmapList->Count() )
 	{
 		aBtnAdd.Enable();
 		aBtnModify.Enable();
@@ -342,7 +342,7 @@ IMPL_LINK( SvxBitmapTabPage, ChangeBitma
 
 	if(LISTBOX_ENTRY_NOTFOUND != nPos)
     {
-        pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
+        pGraphicObject = new GraphicObject(maBitmapList->GetBitmap(nPos)->GetGraphicObject());
     }
 	else
 	{
@@ -365,7 +365,7 @@ IMPL_LINK( SvxBitmapTabPage, ChangeBitma
 			
             if(LISTBOX_ENTRY_NOTFOUND != nPos)
             {
-                pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
+                pGraphicObject = new GraphicObject(maBitmapList->GetBitmap(nPos)->GetGraphicObject());
             }
 		}
 	}
@@ -516,7 +516,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 	String aDesc( CUI_RES( RID_SVXSTR_DESC_NEW_BITMAP ) );
 	String aName;
 
-	long nCount = pBitmapList->Count();
+	long nCount = maBitmapList.get() ? maBitmapList->Count() : 0;
 	long j = 1;
 	sal_Bool bDifferent = sal_False;
 
@@ -528,7 +528,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pBitmapList->GetBitmap( i )->GetName() )
+            if( aName == maBitmapList->GetBitmap( i )->GetName() )
 				bDifferent = sal_False;
 	}
 
@@ -546,7 +546,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pBitmapList->GetBitmap( i )->GetName() )
+            if( aName == maBitmapList->GetBitmap( i )->GetName() )
 				bDifferent = sal_False;
 
 		if( bDifferent ) {
@@ -565,8 +565,8 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 		if( pWarnBox->Execute() != RET_OK )
 			break;
 	}
-	//Rectangle aDlgRect( pDlg->GetPosPixel(), pDlg->GetSizePixel() );
-	delete pDlg;
+
+    delete pDlg;
 	delete pWarnBox;
 
 	if( !nError )
@@ -592,21 +592,11 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 
 		if( pEntry )
 		{
-			pBitmapList->Insert( pEntry );
+			maBitmapList->Insert( pEntry );
             const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings();
 			aLbBitmaps.Append(rStyleSettings.GetListBoxPreviewDefaultPixelSize(), *pEntry );
 			aLbBitmaps.SelectEntryPos( aLbBitmaps.GetEntryCount() - 1 );
 
-#ifdef WNT
-			// hack: #31355# W.P.
-			Rectangle aRect( aLbBitmaps.GetPosPixel(), aLbBitmaps.GetSizePixel() );
-			if( sal_True ) {				// ??? overlapped with pDlg
-										// and srolling
-				Invalidate( aRect );
-				//aLbBitmaps.Invalidate();
-			}
-#endif
-
 			// Flag fuer modifiziert setzen
 			*pnBitmapListState |= CT_MODIFIED;
 
@@ -615,7 +605,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl
 	}
 
 	// Status der Buttons ermitteln
-	if( pBitmapList->Count() )
+	if( maBitmapList.get() && maBitmapList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -669,10 +659,10 @@ IMPL_LINK( SvxBitmapTabPage, ClickImport
 				pDlg->GetName( aName );
 
 				sal_Bool bDifferent = sal_True;
-				long nCount     = pBitmapList->Count();
+				long nCount     = maBitmapList->Count();
 
 				for( long i = 0; i < nCount && bDifferent; i++ )
-                    if( aName == pBitmapList->GetBitmap( i )->GetName() )
+                    if( aName == maBitmapList->GetBitmap( i )->GetName() )
 						bDifferent = sal_False;
 
 				if( bDifferent ) {
@@ -692,29 +682,19 @@ IMPL_LINK( SvxBitmapTabPage, ClickImport
 				if( pWarnBox->Execute() != RET_OK )
 					break;
 			}
-			//Rectangle aDlgRect( pDlg->GetPosPixel(), pDlg->GetSizePixel() );
-			delete pDlg;
+
+            delete pDlg;
 			delete pWarnBox;
 
 			if( !nError )
 			{
 				XBitmapEntry* pEntry = new XBitmapEntry( aGraphic, aName );
-				pBitmapList->Insert( pEntry );
+				maBitmapList->Insert( pEntry );
 
                 const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings();
                 aLbBitmaps.Append(rStyleSettings.GetListBoxPreviewDefaultPixelSize(), *pEntry );
 				aLbBitmaps.SelectEntryPos( aLbBitmaps.GetEntryCount() - 1 );
 
-#ifdef WNT
-				// hack: #31355# W.P.
-				Rectangle aRect( aLbBitmaps.GetPosPixel(), aLbBitmaps.GetSizePixel() );
-				if( sal_True ) {				// ??? overlapped with pDlg
-											// and srolling
-					Invalidate( aRect );
-					//aLbBitmaps.Invalidate();
-				}
-#endif
-
 				// Flag fuer modifiziert setzen
 				*pnBitmapListState |= CT_MODIFIED;
 
@@ -746,7 +726,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickModify
 		ResMgr& rMgr = CUI_MGR();
 		String aNewName( SVX_RES( RID_SVXSTR_BITMAP ) );
 		String aDesc( ResId( RID_SVXSTR_DESC_NEW_BITMAP, rMgr ) );
-        String aName( pBitmapList->GetBitmap( nPos )->GetName() );
+        String aName( maBitmapList->GetBitmap( nPos )->GetName() );
 		String aOldName = aName;
 
 		SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
@@ -754,7 +734,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickModify
 		AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( DLGWIN, aName, aDesc );
 		DBG_ASSERT(pDlg, "Dialogdiet fail!");//CHINA001
 
-		long nCount = pBitmapList->Count();
+		long nCount = maBitmapList.get() ? maBitmapList->Count() : 0;
 		sal_Bool bDifferent = sal_False;
 		sal_Bool bLoop = sal_True;
         const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings();
@@ -766,7 +746,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickModify
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pBitmapList->GetBitmap( i )->GetName() &&
+                if( aName == maBitmapList->GetBitmap( i )->GetName() &&
 					aName != aOldName )
 					bDifferent = sal_False;
 			}
@@ -774,15 +754,11 @@ IMPL_LINK( SvxBitmapTabPage, ClickModify
 			if( bDifferent )
 			{
 				bLoop = sal_False;
-                XBitmapEntry* pEntry = pBitmapList->GetBitmap( nPos );
-
-				pEntry->SetName( aName );
 
 				const BitmapEx aBitmapEx(aBitmapCtl.GetBitmapEx());
+                const XBitmapEntry aEntry(Graphic(aBitmapEx), aName);
 
-				pEntry->SetGraphicObject(Graphic(aBitmapEx));
-
-				aLbBitmaps.Modify( rStyleSettings.GetListBoxPreviewDefaultPixelSize(), *pEntry, nPos );
+				aLbBitmaps.Modify( rStyleSettings.GetListBoxPreviewDefaultPixelSize(), aEntry, nPos );
 				aLbBitmaps.SelectEntryPos( nPos );
 
 				// Flag fuer modifiziert setzen
@@ -815,7 +791,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickDelete
 
 		if( aQueryBox.Execute() == RET_YES )
 		{
-			delete pBitmapList->Remove( nPos );
+			delete maBitmapList->Remove( nPos );
 			aLbBitmaps.RemoveEntry( nPos );
 			aLbBitmaps.SelectEntryPos( 0 );
 
@@ -829,7 +805,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickDelete
 		}
 	}
 	// Status der Buttons ermitteln
-	if( !pBitmapList->Count() )
+	if( !maBitmapList.get() || !maBitmapList->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnDelete.Disable();
@@ -851,7 +827,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickLoadHd
 			String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pBitmapList->Save();
+			maBitmapList->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -874,24 +850,20 @@ IMPL_LINK( SvxBitmapTabPage, ClickLoadHd
 			aPathURL.removeFinalSlash();
 
 			// Tabelle speichern
-			XBitmapList* pBmpList = new XBitmapList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pBmpList->SetName( aURL.getName() );
-			if( pBmpList->Load() )
+			XBitmapListSharedPtr aBmpList(XPropertyListFactory::CreateSharedXBitmapList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aBmpList->SetName( aURL.getName() );
+			if( aBmpList->Load() )
 			{
-				if( pBmpList )
+				if( aBmpList.get() )
 				{
-					// Pruefen, ob Tabelle geloescht werden darf:
-					if( pBitmapList != ( (SvxAreaTabDialog*) DLGWIN )->GetBitmapList() )
-						delete pBitmapList;
-
-					pBitmapList = pBmpList;
-					( (SvxAreaTabDialog*) DLGWIN )->SetNewBitmapList( pBitmapList );
+					maBitmapList = aBmpList;
+					( (SvxAreaTabDialog*) DLGWIN )->SetNewBitmapList( maBitmapList );
 
 					aLbBitmaps.Clear();
-					aLbBitmaps.Fill( pBitmapList );
+					aLbBitmaps.Fill( maBitmapList );
 					Reset( rOutAttrs );
 
-					pBitmapList->SetName( aURL.getName() );
+					maBitmapList->SetName( aURL.getName() );
 
 					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -923,7 +895,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickLoadHd
 	}
 
 	// Status der Buttons ermitteln
-	if( pBitmapList->Count() )
+	if( maBitmapList.get() && maBitmapList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -950,9 +922,9 @@ IMPL_LINK( SvxBitmapTabPage, ClickSaveHd
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pBitmapList->GetName().Len() )
+	if( maBitmapList->GetName().Len() )
 	{
-		aFile.Append( pBitmapList->GetName() );
+		aFile.Append( maBitmapList->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "sob" ) ) );
@@ -967,10 +939,10 @@ IMPL_LINK( SvxBitmapTabPage, ClickSaveHd
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pBitmapList->SetName( aURL.getName() );
-		pBitmapList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maBitmapList->SetName( aURL.getName() );
+		maBitmapList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pBitmapList->Save() )
+		if( maBitmapList->Save() )
 		{
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tpcolor.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tpcolor.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tpcolor.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tpcolor.cxx Sat May 18 10:12:43 2013
@@ -111,9 +111,7 @@ SvxColorTabPage::SvxColorTabPage
 	aBtnSave			( this, CUI_RES( BTN_SAVE ) ),
 
     rOutAttrs           ( rInAttrs ),
-    pColorTab( NULL ),
-
-    bDeleteColorTable   ( sal_True ),
+    maColorTab(),
 
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_SOLID ),
@@ -177,7 +175,7 @@ SvxColorTabPage::SvxColorTabPage
 
 void SvxColorTabPage::ImpColorCountChanged()
 {
-    if(pColorTab)
+    if(maColorTab.get())
     {
         aValSetColorTable.SetColCount(aValSetColorTable.getColumnCount());
 
@@ -187,7 +185,7 @@ void SvxColorTabPage::ImpColorCountChang
         // with the original position
         const Point aCurrentPos(aValSetColorTable.GetPosPixel());
         const Size aCurrentSize(aValSetColorTable.GetOutputSizePixel());
-        const long nColorCount(pColorTab->Count());
+        const long nColorCount(maColorTab->Count());
         const Size aNewSize(aValSetColorTable.layoutToGivenHeight(aCurrentSize.Height(), nColorCount));
         const Point aNewPos((aCurrentPos.X() + aCurrentSize.Width()) - aNewSize.Width(), aCurrentPos.Y());
 
@@ -200,10 +198,10 @@ void SvxColorTabPage::ImpColorCountChang
 
 void SvxColorTabPage::Construct()
 {
-    if(pColorTab)
+    if(maColorTab.get())
     {
-        aLbColor.Fill(pColorTab);
-        aValSetColorTable.addEntriesForXColorList(*pColorTab);
+        aLbColor.Fill(maColorTab);
+        aValSetColorTable.addEntriesForXColorList(maColorTab);
         ImpColorCountChanged();
     }
 }
@@ -216,7 +214,7 @@ void SvxColorTabPage::ActivatePage( cons
 	{
 		*pbAreaTP = sal_False;
 
-		if( pColorTab )
+		if( maColorTab.get() )
 		{
 			if( *pPageType == PT_COLOR && *pPos != LISTBOX_ENTRY_NOTFOUND )
 			{
@@ -254,9 +252,9 @@ void SvxColorTabPage::ActivatePage( cons
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
 			String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-			INetURLObject	aURL( pColorTab->GetPath() );
+			INetURLObject	aURL( maColorTab->GetPath() );
 
-			aURL.Append( pColorTab->GetName() );
+			aURL.Append( maColorTab->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 			if ( aURL.getBase().getLength() > 18 )
@@ -314,7 +312,7 @@ long SvxColorTabPage::CheckChanges_Impl(
 	sal_uInt16 nPos = aLbColor.GetSelectEntryPos();
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
-        Color aColor = pColorTab->GetColor( nPos )->GetColor();
+        Color aColor = maColorTab->GetColor( nPos )->GetColor();
 		String aString = aLbColor.GetSelectEntry();
 
 		// aNewColor, da COL_USER != COL_irgendwas, auch wenn RGB-Werte gleich
@@ -346,7 +344,7 @@ long SvxColorTabPage::CheckChanges_Impl(
 				case RET_BTN_1: // Aendern
 				{
 					ClickModifyHdl_Impl( this );
-                    aColor = pColorTab->GetColor( nPos )->GetColor();
+                    aColor = maColorTab->GetColor( nPos )->GetColor();
 				}
 				break;
 
@@ -354,7 +352,7 @@ long SvxColorTabPage::CheckChanges_Impl(
 				{
 					ClickAddHdl_Impl( this );
 					nPos = aLbColor.GetSelectEntryPos();
-                    aColor = pColorTab->GetColor( nPos )->GetColor();
+                    aColor = maColorTab->GetColor( nPos )->GetColor();
 				}
 				break;
 
@@ -392,7 +390,7 @@ sal_Bool SvxColorTabPage::FillItemSet( S
 		sal_uInt16 nPos = aLbColor.GetSelectEntryPos();
 		if( nPos != LISTBOX_ENTRY_NOTFOUND )
 		{
-            aColor  = pColorTab->GetColor( nPos )->GetColor();
+            aColor  = maColorTab->GetColor( nPos )->GetColor();
 			aString = aLbColor.GetSelectEntry();
 		}
 		else
@@ -432,7 +430,7 @@ void SvxColorTabPage::Reset( const SfxIt
 	aCtlPreviewOld.Invalidate();
 
 	// Status der Buttons ermitteln
-	if( pColorTab->Count() )
+	if( maColorTab->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnWorkOn.Enable();
@@ -500,12 +498,12 @@ IMPL_LINK( SvxColorTabPage, ClickAddHdl_
 	String aDesc( ResId( RID_SVXSTR_DESC_COLOR, rMgr ) );
 	String aName( aEdtName.GetText() );
 	XColorEntry* pEntry;
-	long nCount = pColorTab->Count();
+	long nCount = maColorTab->Count();
 	sal_Bool bDifferent = sal_True;
 
 	// Pruefen, ob Name schon vorhanden ist
 	for ( long i = 0; i < nCount && bDifferent; i++ )
-        if ( aName == pColorTab->GetColor( i )->GetName() )
+        if ( aName == maColorTab->GetColor( i )->GetName() )
 			bDifferent = sal_False;
 
 	// Wenn ja, wird wiederholt ein neuer Name angefordert
@@ -529,7 +527,7 @@ IMPL_LINK( SvxColorTabPage, ClickAddHdl_
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pColorTab->GetColor( i )->GetName() )
+                if( aName == maColorTab->GetColor( i )->GetName() )
 					bDifferent = sal_False;
 			}
 
@@ -548,11 +546,10 @@ IMPL_LINK( SvxColorTabPage, ClickAddHdl_
 			ConvertColorValues (aAktuellColor, CM_RGB);
 		pEntry = new XColorEntry( aAktuellColor, aName );
 
-		pColorTab->Insert( pEntry, pColorTab->Count() );
+		maColorTab->Insert( pEntry, maColorTab->Count() );
 
-		aLbColor.Append( pEntry );
-		aValSetColorTable.InsertItem( aValSetColorTable.GetItemCount() + 1,
-				pEntry->GetColor(), pEntry->GetName() );
+		aLbColor.Append( *pEntry );
+		aValSetColorTable.InsertItem( aValSetColorTable.GetItemCount() + 1, pEntry->GetColor(), pEntry->GetName() );
         ImpColorCountChanged();
 
 		aLbColor.SelectEntryPos( aLbColor.GetEntryCount() - 1 );
@@ -563,7 +560,7 @@ IMPL_LINK( SvxColorTabPage, ClickAddHdl_
 		SelectColorLBHdl_Impl( this );
 	}
 	// Status der Buttons ermitteln
-	if( pColorTab->Count() )
+	if( maColorTab->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnWorkOn.Enable();
@@ -587,12 +584,12 @@ IMPL_LINK( SvxColorTabPage, ClickModifyH
 		ResMgr& rMgr = CUI_MGR();
 		String aDesc( ResId( RID_SVXSTR_DESC_COLOR, rMgr ) );
 		String aName( aEdtName.GetText() );
-		long nCount = pColorTab->Count();
+		long nCount = maColorTab->Count();
 		sal_Bool bDifferent = sal_True;
 
 		// Pruefen, ob Name schon vorhanden ist
 		for ( long i = 0; i < nCount && bDifferent; i++ )
-            if ( aName == pColorTab->GetColor( i )->GetName() && nPos != i )
+            if ( aName == maColorTab->GetColor( i )->GetName() && nPos != i )
 				bDifferent = sal_False;
 
 		// Wenn ja, wird wiederholt ein neuer Name angefordert
@@ -615,7 +612,7 @@ IMPL_LINK( SvxColorTabPage, ClickModifyH
 				bDifferent = sal_True;
 
 				for ( long i = 0; i < nCount && bDifferent; i++ )
-                    if( aName == pColorTab->GetColor( i )->GetName() && nPos != i )
+                    if( aName == maColorTab->GetColor( i )->GetName() && nPos != i )
 						bDifferent = sal_False;
 
 				if( bDifferent )
@@ -629,20 +626,18 @@ IMPL_LINK( SvxColorTabPage, ClickModifyH
 		// Wenn nicht vorhanden, wird Eintrag aufgenommen
 		if( bDifferent )
 		{
-            XColorEntry* pEntry = pColorTab->GetColor( nPos );
-
 			Color aTmpColor (aAktuellColor);
-			if (eCM != CM_RGB)
+
+            if (eCM != CM_RGB)
 				ConvertColorValues (aTmpColor, CM_RGB);
 
-			pEntry->SetColor( aTmpColor );
-			pEntry->SetName( aName );
+            const XColorEntry aEntry(aTmpColor, aName);
 
-			aLbColor.Modify( pEntry, nPos );
+            aLbColor.Modify( aEntry, nPos );
 			aLbColor.SelectEntryPos( nPos );
-			/////
-			aValSetColorTable.SetItemColor( nPos + 1, pEntry->GetColor() );
-			aValSetColorTable.SetItemText( nPos + 1, pEntry->GetName() );
+
+            aValSetColorTable.SetItemColor( nPos + 1, aEntry.GetColor() );
+			aValSetColorTable.SetItemText( nPos + 1, aEntry.GetName() );
 			aEdtName.SetText( aName );
 
 			aCtlPreviewOld.Invalidate();
@@ -712,24 +707,24 @@ IMPL_LINK( SvxColorTabPage, ClickDeleteH
 		if( aQueryBox.Execute() == RET_YES )
 		{
 			// Jetzt wird richtig geloescht
-			sal_uLong nCount = pColorTab->Count() - 1;
+			sal_uLong nCount = maColorTab->Count() - 1;
 			XColorEntry* pEntry;
 
-			pEntry = pColorTab->Remove( nPos );
+			pEntry = maColorTab->Remove( nPos );
 			DBG_ASSERT( pEntry, "ColorEntry nicht vorhanden (1) !" );
 			delete pEntry;
 
 			for( sal_uLong i = nPos; i < nCount; i++ )
 			{
-				pEntry = pColorTab->Remove( i + 1 );
+				pEntry = maColorTab->Remove( i + 1 );
 				DBG_ASSERT( pEntry, "ColorEntry nicht vorhanden (2) !" );
-				pColorTab->Insert( pEntry, i );
+				maColorTab->Insert( pEntry, i );
 			}
 
 			// Listbox und ValueSet aktualisieren
 			aLbColor.RemoveEntry( nPos );
 			aValSetColorTable.Clear();
-            aValSetColorTable.addEntriesForXColorList(*pColorTab);
+            aValSetColorTable.addEntriesForXColorList(maColorTab);
             ImpColorCountChanged();
 			//FillValueSet_Impl( aValSetColorTable );
 
@@ -744,7 +739,7 @@ IMPL_LINK( SvxColorTabPage, ClickDeleteH
 		}
 	}
 	// Status der Buttons ermitteln
-	if( !pColorTab->Count() )
+	if( !maColorTab->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnWorkOn.Disable();
@@ -770,7 +765,7 @@ IMPL_LINK( SvxColorTabPage, ClickLoadHdl
 					String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pColorTab->Save();
+			maColorTab->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -792,41 +787,35 @@ IMPL_LINK( SvxColorTabPage, ClickLoadHdl
 			aPathURL.removeFinalSlash();
 
 			// Tabelle speichern
-			XColorList* pColTab = new XColorList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pColTab->SetName( aURL.getName() ); // XXX
-			if( pColTab->Load() )
+			XColorListSharedPtr aColTab(XPropertyListFactory::CreateSharedXColorList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aColTab->SetName( aURL.getName() ); // XXX
+			if( aColTab->Load() )
 			{
-				if( pColTab )
+				if( aColTab.get() )
 				{
 					// Pruefen, ob Tabelle geloescht werden darf:
-					const XColorList *pTempTable = 0;
+					XColorListSharedPtr aTempTable;
 					SvxAreaTabDialog* pArea = dynamic_cast< SvxAreaTabDialog* >( DLGWIN );
 					SvxLineTabDialog* pLine = dynamic_cast< SvxLineTabDialog* >( DLGWIN );
+
 					if( pArea )
 					{
-						pTempTable = pArea->GetColorTable();
+						aTempTable = pArea->GetColorTable();
 					}
 					else if( pLine )
 					{
-							pTempTable = pLine->GetColorTable();
+						aTempTable = pLine->GetColorTable();
 					}
 
-					if( pColorTab != pTempTable )
-					{
-						if( bDeleteColorTable )
-							delete pColorTab;
-						else
-							bDeleteColorTable = sal_True;
-					}
+					maColorTab = aColTab;
 
-					pColorTab = pColTab;
 					if( pArea )
 					{
-						pArea->SetNewColorTable( pColorTab );
+						pArea->SetNewColorTable( maColorTab );
 					}
 					else if( pLine )
 					{
-						pLine->SetNewColorTable( pColorTab );
+						pLine->SetNewColorTable( maColorTab );
 					}
 
 					aLbColor.Clear();
@@ -834,7 +823,7 @@ IMPL_LINK( SvxColorTabPage, ClickLoadHdl
 					Construct();
 					Reset( rOutAttrs );
 
-					pColorTab->SetName( aURL.getName() );
+					maColorTab->SetName( aURL.getName() );
 
 					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -876,7 +865,7 @@ IMPL_LINK( SvxColorTabPage, ClickLoadHdl
 	}
 
 	// Status der Buttons ermitteln
-	if ( pColorTab->Count() )
+	if ( maColorTab->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnWorkOn.Enable();
@@ -908,9 +897,9 @@ IMPL_LINK( SvxColorTabPage, ClickSaveHdl
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pColorTab->GetName().Len() )
+	if( maColorTab->GetName().Len() )
 	{
-		aFile.Append( pColorTab->GetName() );
+		aFile.Append( maColorTab->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "soc" ) ) );
@@ -925,10 +914,10 @@ IMPL_LINK( SvxColorTabPage, ClickSaveHdl
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pColorTab->SetName( aURL.getName() );
-		pColorTab->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maColorTab->SetName( aURL.getName() );
+		maColorTab->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pColorTab->Save() )
+		if( maColorTab->Save() )
 		{
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
@@ -1166,7 +1155,7 @@ long SvxColorTabPage::ChangeColorHdl_Imp
 	int nPos = aLbColor.GetSelectEntryPos();
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
-        XColorEntry* pEntry = pColorTab->GetColor( nPos );
+        XColorEntry* pEntry = maColorTab->GetColor( nPos );
 
 		aAktuellColor.SetColor ( pEntry->GetColor().GetColor() );
 		if (eCM != CM_RGB)
@@ -1191,12 +1180,12 @@ long SvxColorTabPage::ChangeColorHdl_Imp
 
 //void SvxColorTabPage::FillValueSet_Impl( ValueSet& rVs )
 //{
-//	long nCount = pColorTab->Count();
+//	long nCount = maColorTab->Count();
 //	XColorEntry* pColorEntry;
 //
 //	for( long i = 0; i < nCount; i++ )
 //	{
-//        pColorEntry = pColorTab->GetColor( i );
+//        pColorEntry = maColorTab->GetColor( i );
 //		rVs.InsertItem( (sal_uInt16) i + 1, pColorEntry->GetColor(), pColorEntry->GetName() );
 //	}
 //}

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tpgradnt.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tpgradnt.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tpgradnt.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tpgradnt.cxx Sat May 18 10:12:43 2013
@@ -97,8 +97,8 @@ SvxGradientTabPage::SvxGradientTabPage
 
     rOutAttrs           ( rInAttrs ),
 
-    pColorTab( NULL ),
-    pGradientList( NULL ),
+    maColorTab(),
+    maGradientList(),
 
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_GRADIENT ),
@@ -169,11 +169,11 @@ SvxGradientTabPage::SvxGradientTabPage
 void SvxGradientTabPage::Construct()
 {
 	// Farbtabelle
-	aLbColorFrom.Fill( pColorTab );
+	aLbColorFrom.Fill( maColorTab );
 	aLbColorTo.CopyEntries( aLbColorFrom );
 
 	// Farbverlauftabelle
-	aLbGradients.Fill( pGradientList );
+	aLbGradients.Fill( maGradientList );
 }
 
 // -----------------------------------------------------------------------
@@ -187,19 +187,19 @@ void SvxGradientTabPage::ActivatePage( c
 	{
 		*pbAreaTP = sal_False;
 
-		if( pColorTab )
+		if( maColorTab.get() )
 		{
 			// ColorTable
 			if( *pnColorTableState & CT_CHANGED ||
 				*pnColorTableState & CT_MODIFIED )
 			{
 				if( *pnColorTableState & CT_CHANGED )
-					pColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
+					maColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
 
 				// LbColorFrom
 				nPos = aLbColorFrom.GetSelectEntryPos();
 				aLbColorFrom.Clear();
-				aLbColorFrom.Fill( pColorTab );
+				aLbColorFrom.Fill( maColorTab );
 				nCount = aLbColorFrom.GetEntryCount();
 				if( nCount == 0 )
 					; // Dieser Fall sollte nicht auftreten
@@ -226,9 +226,9 @@ void SvxGradientTabPage::ActivatePage( c
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
 			String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-			INetURLObject	aURL( pGradientList->GetPath() );
+			INetURLObject	aURL( maGradientList->GetPath() );
 
-			aURL.Append( pGradientList->GetName() );
+			aURL.Append( maGradientList->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 			if ( aURL.getBase().getLength() > 18 )
@@ -283,7 +283,7 @@ long SvxGradientTabPage::CheckChanges_Im
 	sal_uInt16 nPos = aLbGradients.GetSelectEntryPos();
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
 	{
-        XGradient aGradient = pGradientList->GetGradient( nPos )->GetGradient();
+        XGradient aGradient = maGradientList->GetGradient( nPos )->GetGradient();
 		String aString = aLbGradients.GetSelectEntry();
 
 		if( !( aTmpGradient == aGradient ) )
@@ -309,7 +309,7 @@ long SvxGradientTabPage::CheckChanges_Im
 				case RET_BTN_1: // Aendern
 				{
 					ClickModifyHdl_Impl( this );
-                    aGradient = pGradientList->GetGradient( nPos )->GetGradient();
+                    aGradient = maGradientList->GetGradient( nPos )->GetGradient();
 				}
 				break;
 
@@ -317,7 +317,7 @@ long SvxGradientTabPage::CheckChanges_Im
 				{
 					ClickAddHdl_Impl( this );
 					nPos = aLbGradients.GetSelectEntryPos();
-                    aGradient = pGradientList->GetGradient( nPos )->GetGradient();
+                    aGradient = maGradientList->GetGradient( nPos )->GetGradient();
 				}
 				break;
 
@@ -350,7 +350,7 @@ sal_Bool SvxGradientTabPage::FillItemSet
 		sal_uInt16	  	nPos = aLbGradients.GetSelectEntryPos();
 		if( nPos != LISTBOX_ENTRY_NOTFOUND )
 		{
-            pXGradient = new XGradient( pGradientList->GetGradient( nPos )->GetGradient() );
+            pXGradient = new XGradient( maGradientList->GetGradient( nPos )->GetGradient() );
 			aString = aLbGradients.GetSelectEntry();
 
 		}
@@ -384,7 +384,7 @@ void SvxGradientTabPage::Reset( const Sf
 	ChangeGradientHdl_Impl( this );
 
 	// Status der Buttons ermitteln
-	if( pGradientList->Count() )
+	if( maGradientList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -444,7 +444,7 @@ IMPL_LINK( SvxGradientTabPage, ClickAddH
 	String aDesc( CUI_RES( RID_SVXSTR_DESC_GRADIENT ) );
 	String aName;
 
-	long nCount = pGradientList->Count();
+	long nCount = maGradientList.get() ? maGradientList->Count() : 0;
 	long j = 1;
 	sal_Bool bDifferent = sal_False;
 
@@ -456,7 +456,7 @@ IMPL_LINK( SvxGradientTabPage, ClickAddH
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pGradientList->GetGradient( i )->GetName() )
+            if( aName == maGradientList->GetGradient( i )->GetName() )
 				bDifferent = sal_False;
 	}
 
@@ -474,7 +474,7 @@ IMPL_LINK( SvxGradientTabPage, ClickAddH
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pGradientList->GetGradient( i )->GetName() )
+            if( aName == maGradientList->GetGradient( i )->GetName() )
 				bDifferent = sal_False;
 
 		if( bDifferent )
@@ -511,9 +511,9 @@ IMPL_LINK( SvxGradientTabPage, ClickAddH
 							  (sal_uInt16) aMtrColorTo.GetValue() );
 		XGradientEntry* pEntry = new XGradientEntry( aXGradient, aName );
 
-		pGradientList->Insert( pEntry, nCount );
+		maGradientList->Insert( pEntry, nCount );
 
-		aLbGradients.Append( pEntry );
+		aLbGradients.Append( *pEntry, maGradientList->GetUiBitmap( nCount ) );
 
 		aLbGradients.SelectEntryPos( aLbGradients.GetEntryCount() - 1 );
 
@@ -534,7 +534,7 @@ IMPL_LINK( SvxGradientTabPage, ClickAddH
 	}
 
 	// Status der Buttons ermitteln
-	if( pGradientList->Count() )
+	if( maGradientList.get() && maGradientList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -554,7 +554,7 @@ IMPL_LINK( SvxGradientTabPage, ClickModi
 		ResMgr& rMgr = CUI_MGR();
 		String aNewName( SVX_RES( RID_SVXSTR_GRADIENT ) );
 		String aDesc( CUI_RES( RID_SVXSTR_DESC_GRADIENT ) );
-        String aName( pGradientList->GetGradient( nPos )->GetName() );
+        String aName( maGradientList->GetGradient( nPos )->GetName() );
 		String aOldName = aName;
 
 		SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
@@ -562,7 +562,7 @@ IMPL_LINK( SvxGradientTabPage, ClickModi
 		AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( DLGWIN, aName, aDesc );
 		DBG_ASSERT(pDlg, "Dialogdiet fail!");//CHINA001
 
-		long nCount = pGradientList->Count();
+		long nCount = maGradientList.get() ? maGradientList->Count() : 0;
 		sal_Bool bDifferent = sal_False;
 		sal_Bool bLoop = sal_True;
 
@@ -573,7 +573,7 @@ IMPL_LINK( SvxGradientTabPage, ClickModi
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pGradientList->GetGradient( i )->GetName() &&
+                if( aName == maGradientList->GetGradient( i )->GetName() &&
 					aName != aOldName )
 					bDifferent = sal_False;
 			}
@@ -593,9 +593,9 @@ IMPL_LINK( SvxGradientTabPage, ClickModi
 
 				XGradientEntry* pEntry = new XGradientEntry( aXGradient, aName );
 
-				delete pGradientList->Replace( pEntry, nPos );
+				delete maGradientList->Replace( pEntry, nPos );
 
-				aLbGradients.Modify( pEntry, nPos );
+				aLbGradients.Modify( *pEntry, nPos, maGradientList->GetUiBitmap( nPos ) );
 
 				aLbGradients.SelectEntryPos( nPos );
 
@@ -628,7 +628,7 @@ IMPL_LINK( SvxGradientTabPage, ClickDele
 
 		if ( aQueryBox.Execute() == RET_YES )
 		{
-			delete pGradientList->Remove( nPos );
+			delete maGradientList->Remove( nPos );
 			aLbGradients.RemoveEntry( nPos );
 			aLbGradients.SelectEntryPos( 0 );
 
@@ -641,7 +641,7 @@ IMPL_LINK( SvxGradientTabPage, ClickDele
 		}
 	}
 	// Status der Buttons ermitteln
-	if( !pGradientList->Count() )
+	if( !maGradientList.get() || !maGradientList->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnDelete.Disable();
@@ -663,7 +663,7 @@ IMPL_LINK( SvxGradientTabPage, ClickLoad
 			String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pGradientList->Save();
+			maGradientList->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -687,27 +687,21 @@ IMPL_LINK( SvxGradientTabPage, ClickLoad
 			aPathURL.removeFinalSlash();
 
 			// Liste speichern
-			XGradientList* pGrdList = new XGradientList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pGrdList->SetName( aURL.getName() );
+			XGradientListSharedPtr aGrdList(XPropertyListFactory::CreateSharedXGradientList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aGrdList->SetName( aURL.getName() );
 
-			if ( pGrdList->Load() )
+			if ( aGrdList->Load() )
 			{
-				if ( pGrdList )
+				if ( aGrdList )
 				{
-					// Pruefen, ob Tabelle geloescht werden darf:
-					if ( pGradientList !=
-						 ( (SvxAreaTabDialog*) DLGWIN )->GetGradientList() )
-						delete pGradientList;
-
-					pGradientList = pGrdList;
-					( (SvxAreaTabDialog*) DLGWIN )->
-						SetNewGradientList( pGradientList );
+					maGradientList = aGrdList;
+					( (SvxAreaTabDialog*) DLGWIN )->SetNewGradientList( maGradientList );
 
 					aLbGradients.Clear();
-					aLbGradients.Fill( pGradientList );
+					aLbGradients.Fill( maGradientList );
 					Reset( rOutAttrs );
 
-					pGradientList->SetName( aURL.getName() );
+					maGradientList->SetName( aURL.getName() );
 
 					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -740,7 +734,7 @@ IMPL_LINK( SvxGradientTabPage, ClickLoad
 	}
 
 	// Status der Buttons ermitteln
-	if( pGradientList->Count() )
+	if( maGradientList.get() && maGradientList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -767,9 +761,9 @@ IMPL_LINK( SvxGradientTabPage, ClickSave
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pGradientList->GetName().Len() )
+	if( maGradientList->GetName().Len() )
 	{
-		aFile.Append( pGradientList->GetName() );
+		aFile.Append( maGradientList->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "sog" ) ) );
@@ -784,10 +778,10 @@ IMPL_LINK( SvxGradientTabPage, ClickSave
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pGradientList->SetName( aURL.getName() );
-		pGradientList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maGradientList->SetName( aURL.getName() );
+		maGradientList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pGradientList->Save() )
+		if( maGradientList->Save() )
 		{
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
@@ -825,7 +819,7 @@ IMPL_LINK( SvxGradientTabPage, ChangeGra
 	int nPos = aLbGradients.GetSelectEntryPos();
 
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
-        pGradient = new XGradient( ( (XGradientEntry*) pGradientList->GetGradient( nPos ) )->GetGradient() );
+        pGradient = new XGradient( ( (XGradientEntry*) maGradientList->GetGradient( nPos ) )->GetGradient() );
 	else
 	{
 		const SfxPoolItem* pPoolItem = NULL;
@@ -842,7 +836,7 @@ IMPL_LINK( SvxGradientTabPage, ChangeGra
 			aLbGradients.SelectEntryPos( 0 );
 			nPos = aLbGradients.GetSelectEntryPos();
 			if( nPos != LISTBOX_ENTRY_NOTFOUND )
-                pGradient = new XGradient( ( (XGradientEntry*) pGradientList->GetGradient( nPos ) )->GetGradient() );
+                pGradient = new XGradient( ( (XGradientEntry*) maGradientList->GetGradient( nPos ) )->GetGradient() );
 		}
 	}
 

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tphatch.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tphatch.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tphatch.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tphatch.cxx Sat May 18 10:12:43 2013
@@ -92,8 +92,8 @@ SvxHatchTabPage::SvxHatchTabPage
 	aBtnSave			( this, CUI_RES( BTN_SAVE ) ),
 
     rOutAttrs           ( rInAttrs ),
-    pColorTab( NULL ),
-    pHatchingList( NULL ),
+    maColorTab(),
+    maHatchingList(),
 
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_HATCH ),
@@ -166,10 +166,10 @@ SvxHatchTabPage::SvxHatchTabPage
 void SvxHatchTabPage::Construct()
 {
 	// Farbtabelle
-	aLbLineColor.Fill( pColorTab );
+	aLbLineColor.Fill( maColorTab );
 
 	// Schraffurentabelle
-	aLbHatchings.Fill( pHatchingList );
+	aLbHatchings.Fill( maHatchingList );
 }
 
 // -----------------------------------------------------------------------
@@ -183,19 +183,19 @@ void SvxHatchTabPage::ActivatePage( cons
 	{
 		*pbAreaTP = sal_False;
 
-		if( pColorTab )
+		if( maColorTab.get() )
 		{
 			// ColorTable
 			if( *pnColorTableState & CT_CHANGED ||
 				*pnColorTableState & CT_MODIFIED )
 			{
 				if( *pnColorTableState & CT_CHANGED )
-					pColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
+					maColorTab = ( (SvxAreaTabDialog*) DLGWIN )->GetNewColorTable();
 
 				// LbLineColor
 				nPos = aLbLineColor.GetSelectEntryPos();
 				aLbLineColor.Clear();
-				aLbLineColor.Fill( pColorTab );
+				aLbLineColor.Fill( maColorTab );
 				nCount = aLbLineColor.GetEntryCount();
 				if( nCount == 0 )
 					; // Dieser Fall sollte nicht auftreten
@@ -210,9 +210,9 @@ void SvxHatchTabPage::ActivatePage( cons
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
 			String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-			INetURLObject	aURL( pHatchingList->GetPath() );
+			INetURLObject	aURL( maHatchingList->GetPath() );
 
-			aURL.Append( pHatchingList->GetName() );
+			aURL.Append( maHatchingList->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 			if ( aURL.getBase().getLength() > 18 )
@@ -323,7 +323,7 @@ sal_Bool SvxHatchTabPage::FillItemSet( S
 			sal_uInt16	nPos = aLbHatchings.GetSelectEntryPos();
 			if( nPos != LISTBOX_ENTRY_NOTFOUND )
 			{
-                pXHatch = new XHatch( pHatchingList->GetHatch( nPos )->GetHatch() );
+                pXHatch = new XHatch( maHatchingList->GetHatch( nPos )->GetHatch() );
 				aString = aLbHatchings.GetSelectEntry();
 			}
 			// Farbverlauf wurde (unbekannt) uebergeben
@@ -352,7 +352,7 @@ void SvxHatchTabPage::Reset( const SfxIt
 	ChangeHatchHdl_Impl( this );
 
 	// Status der Buttons ermitteln
-	if( pHatchingList->Count() )
+	if( maHatchingList.get() && maHatchingList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -421,7 +421,7 @@ IMPL_LINK( SvxHatchTabPage, ChangeHatchH
 	int nPos = aLbHatchings.GetSelectEntryPos();
 
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
-        pHatch = new XHatch( ( (XHatchEntry*) pHatchingList->GetHatch( nPos ) )->GetHatch() );
+        pHatch = new XHatch( ( (XHatchEntry*) maHatchingList->GetHatch( nPos ) )->GetHatch() );
 	else
 	{
 		const SfxPoolItem* pPoolItem = NULL;
@@ -438,7 +438,7 @@ IMPL_LINK( SvxHatchTabPage, ChangeHatchH
 			aLbHatchings.SelectEntryPos( 0 );
 			nPos = aLbHatchings.GetSelectEntryPos();
 			if( nPos != LISTBOX_ENTRY_NOTFOUND )
-                pHatch = new XHatch( ( (XHatchEntry*) pHatchingList->GetHatch( nPos ) )->GetHatch() );
+                pHatch = new XHatch( ( (XHatchEntry*) maHatchingList->GetHatch( nPos ) )->GetHatch() );
 		}
 	}
 	if( pHatch )
@@ -509,7 +509,7 @@ IMPL_LINK( SvxHatchTabPage, ClickAddHdl_
 	String aDesc( CUI_RES( RID_SVXSTR_DESC_HATCH ) );
 	String aName;
 
-	long nCount = pHatchingList->Count();
+	long nCount = maHatchingList.get() ? maHatchingList->Count() : 0;
 	long j = 1;
 	sal_Bool bDifferent = sal_False;
 
@@ -521,7 +521,7 @@ IMPL_LINK( SvxHatchTabPage, ClickAddHdl_
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pHatchingList->GetHatch( i )->GetName() )
+            if( aName == maHatchingList->GetHatch( i )->GetName() )
 				bDifferent = sal_False;
 	}
 
@@ -539,7 +539,7 @@ IMPL_LINK( SvxHatchTabPage, ClickAddHdl_
 		bDifferent = sal_True;
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
-            if( aName == pHatchingList->GetHatch( i )->GetName() )
+            if( aName == maHatchingList->GetHatch( i )->GetName() )
 				bDifferent = sal_False;
 
 		if( bDifferent ) {
@@ -570,9 +570,9 @@ IMPL_LINK( SvxHatchTabPage, ClickAddHdl_
 						static_cast<long>(aMtrAngle.GetValue() * 10) );
 		XHatchEntry* pEntry = new XHatchEntry( aXHatch, aName );
 
-		pHatchingList->Insert( pEntry, nCount );
+		maHatchingList->Insert( pEntry, nCount );
 
-		aLbHatchings.Append( pEntry );
+		aLbHatchings.Append( *pEntry, maHatchingList->GetUiBitmap( nCount ) );
 
 		aLbHatchings.SelectEntryPos( aLbHatchings.GetEntryCount() - 1 );
 
@@ -593,7 +593,7 @@ IMPL_LINK( SvxHatchTabPage, ClickAddHdl_
 	}
 
 	// Status der Buttons ermitteln
-	if( pHatchingList->Count() )
+	if( maHatchingList.get() && maHatchingList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -613,7 +613,7 @@ IMPL_LINK( SvxHatchTabPage, ClickModifyH
 		ResMgr& rMgr = CUI_MGR();
 		String aNewName( SVX_RES( RID_SVXSTR_HATCH ) );
 		String aDesc( CUI_RES( RID_SVXSTR_DESC_HATCH ) );
-        String aName( pHatchingList->GetHatch( nPos )->GetName() );
+        String aName( maHatchingList->GetHatch( nPos )->GetName() );
 		String aOldName = aName;
 
 		SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
@@ -621,7 +621,7 @@ IMPL_LINK( SvxHatchTabPage, ClickModifyH
 		AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( DLGWIN, aName, aDesc );
 		DBG_ASSERT(pDlg, "Dialogdiet fail!");//CHINA001
 
-		long nCount = pHatchingList->Count();
+		long nCount = maHatchingList.get() ? maHatchingList->Count() : 0;
 		sal_Bool bDifferent = sal_False;
 		sal_Bool bLoop = sal_True;
 		while( bLoop && pDlg->Execute() == RET_OK )
@@ -631,7 +631,7 @@ IMPL_LINK( SvxHatchTabPage, ClickModifyH
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pHatchingList->GetHatch( i )->GetName() &&
+                if( aName == maHatchingList->GetHatch( i )->GetName() &&
 					aName != aOldName )
 					bDifferent = sal_False;
 			}
@@ -646,9 +646,9 @@ IMPL_LINK( SvxHatchTabPage, ClickModifyH
 
 				XHatchEntry* pEntry = new XHatchEntry( aXHatch, aName );
 
-				delete pHatchingList->Replace( pEntry, nPos );
+				delete maHatchingList->Replace( pEntry, nPos );
 
-				aLbHatchings.Modify( pEntry, nPos );
+				aLbHatchings.Modify( *pEntry, nPos, maHatchingList->GetUiBitmap( nPos ) );
 
 				aLbHatchings.SelectEntryPos( nPos );
 
@@ -687,7 +687,7 @@ IMPL_LINK( SvxHatchTabPage, ClickDeleteH
 
 		if( aQueryBox.Execute() == RET_YES )
 		{
-			delete pHatchingList->Remove( nPos );
+			delete maHatchingList->Remove( nPos );
 			aLbHatchings.RemoveEntry( nPos );
 			aLbHatchings.SelectEntryPos( 0 );
 
@@ -700,7 +700,7 @@ IMPL_LINK( SvxHatchTabPage, ClickDeleteH
 		}
 	}
 	// Status der Buttons ermitteln
-	if( !pHatchingList->Count() )
+	if( !maHatchingList.get() || !maHatchingList->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnDelete.Disable();
@@ -722,7 +722,7 @@ IMPL_LINK( SvxHatchTabPage, ClickLoadHdl
 			String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pHatchingList->Save();
+			maHatchingList->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -744,24 +744,20 @@ IMPL_LINK( SvxHatchTabPage, ClickLoadHdl
 			aPathURL.removeFinalSlash();
 
 			// Liste speichern
-			XHatchList* pHatchList = new XHatchList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pHatchList->SetName( aURL.getName() );
-			if( pHatchList->Load() )
+			XHatchListSharedPtr aHatchList(XPropertyListFactory::CreateSharedXHatchList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aHatchList->SetName( aURL.getName() );
+			if( aHatchList->Load() )
 			{
-				if( pHatchList )
+				if( aHatchList.get() )
 				{
-					// Pruefen, ob Tabelle geloescht werden darf:
-					if( pHatchingList != ( (SvxAreaTabDialog*) DLGWIN )->GetHatchingList() )
-						delete pHatchingList;
-
-					pHatchingList = pHatchList;
-					( (SvxAreaTabDialog*) DLGWIN )->SetNewHatchingList( pHatchingList );
+					maHatchingList = aHatchList;
+					( (SvxAreaTabDialog*) DLGWIN )->SetNewHatchingList( maHatchingList );
 
 					aLbHatchings.Clear();
-					aLbHatchings.Fill( pHatchingList );
+					aLbHatchings.Fill( maHatchingList );
 					Reset( rOutAttrs );
 
-					pHatchingList->SetName( aURL.getName() );
+					maHatchingList->SetName( aURL.getName() );
 
 					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -789,7 +785,7 @@ IMPL_LINK( SvxHatchTabPage, ClickLoadHdl
 	}
 
 	// Status der Buttons ermitteln
-	if ( pHatchingList->Count() )
+	if ( maHatchingList.get() && maHatchingList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -816,9 +812,9 @@ IMPL_LINK( SvxHatchTabPage, ClickSaveHdl
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pHatchingList->GetName().Len() )
+	if( maHatchingList.get() && maHatchingList->GetName().Len() )
 	{
-		aFile.Append( pHatchingList->GetName() );
+		aFile.Append( maHatchingList->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "soh" ) ) );
@@ -833,10 +829,10 @@ IMPL_LINK( SvxHatchTabPage, ClickSaveHdl
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pHatchingList->SetName( aURL.getName() );
-		pHatchingList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maHatchingList->SetName( aURL.getName() );
+		maHatchingList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pHatchingList->Save() )
+		if( maHatchingList->Save() )
 		{
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tpline.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tpline.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tpline.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tpline.cxx Sat May 18 10:12:43 2013
@@ -229,10 +229,6 @@ SvxLineTabPage::SvxLineTabPage
 	aTsbCenterStart.SetClickHdl( aStart );
 	aTsbCenterEnd.SetClickHdl( aEnd );
 
-	pColorTab = NULL;
-	pDashList = NULL;
-	pLineEndList = NULL;
-
 	// #116827#
 	Link aEdgeStyle = LINK( this, SvxLineTabPage, ChangeEdgeStyleHdl_Impl );
 	maLBEdgeStyle.SetSelectHdl( aEdgeStyle );
@@ -293,7 +289,7 @@ SvxLineTabPage::~SvxLineTabPage()
 void SvxLineTabPage::Construct()
 {
 	// Farbtabelle
-	aLbColor.Fill( pColorTab );
+	aLbColor.Fill( maColorTab );
 	FillListboxes();
 }
 
@@ -302,7 +298,7 @@ void SvxLineTabPage::FillListboxes()
 	// Linienstile
 	sal_uInt16 nOldSelect = aLbLineStyle.GetSelectEntryPos();
 	// aLbLineStyle.FillStyles();
-	aLbLineStyle.Fill( pDashList );
+	aLbLineStyle.Fill( maDashList );
 	aLbLineStyle.SelectEntryPos( nOldSelect );
 
 	// LinienEndenStile
@@ -310,12 +306,12 @@ void SvxLineTabPage::FillListboxes()
 	nOldSelect = aLbStartStyle.GetSelectEntryPos();
 	aLbStartStyle.Clear();
 	aLbStartStyle.InsertEntry( sNone );
-	aLbStartStyle.Fill( pLineEndList );
+	aLbStartStyle.Fill( maLineEndList );
 	aLbStartStyle.SelectEntryPos( nOldSelect );
 	nOldSelect = aLbEndStyle.GetSelectEntryPos();
 	aLbEndStyle.Clear();
 	aLbEndStyle.InsertEntry( sNone );
-	aLbEndStyle.Fill( pLineEndList, sal_False );
+	aLbEndStyle.Fill( maLineEndList, sal_False );
 	aLbEndStyle.SelectEntryPos( nOldSelect );
 }
 
@@ -326,7 +322,7 @@ void SvxLineTabPage::ActivatePage( const
 	SFX_ITEMSET_ARG (&rSet,pPageTypeItem,CntUInt16Item,SID_PAGE_TYPE,sal_False); //add CHINA001 begin
 	if (pPageTypeItem)
 		SetPageType(pPageTypeItem->GetValue());	//add CHINA001 end
-	if( nDlgType == 0 && pDashList )  //CHINA001 if( *pDlgType == 0 && pDashList ) // Linien-Dialog
+	if( nDlgType == 0 && maDashList.get() )  //CHINA001 if( *pDlgType == 0 && pDashList ) // Linien-Dialog
 	{
 		sal_uInt16 nPos;
 		sal_uInt16 nCount;
@@ -336,8 +332,7 @@ void SvxLineTabPage::ActivatePage( const
 			( *pnDashListState & CT_CHANGED ) )
 		{
 			if( *pnDashListState & CT_CHANGED )
-				pDashList = ( (SvxLineTabDialog*) DLGWIN )->
-										GetNewDashList();
+				maDashList = ( (SvxLineTabDialog*) DLGWIN )->GetNewDashList();
 			*pnDashListState = CT_NONE;
 
 			// Styleliste
@@ -348,7 +343,7 @@ void SvxLineTabPage::ActivatePage( const
 				SVX_RESSTR( RID_SVXSTR_INVISIBLE ) );
 			aLbLineStyle.InsertEntry(
 				SVX_RESSTR( RID_SVXSTR_SOLID ) );
-			aLbLineStyle.Fill( pDashList );
+			aLbLineStyle.Fill( maDashList );
 			nCount = aLbLineStyle.GetEntryCount();
 
 			if ( nCount == 0 )
@@ -360,9 +355,9 @@ void SvxLineTabPage::ActivatePage( const
 			// SelectStyleHdl_Impl( this );
 		}
 
-		INetURLObject	aDashURL( pDashList->GetPath() );
+		INetURLObject	aDashURL( maDashList->GetPath() );
 
-		aDashURL.Append( pDashList->GetName() );
+		aDashURL.Append( maDashList->GetName() );
 		DBG_ASSERT( aDashURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 /*		// Ermitteln (evtl. abschneiden) des Namens und in
 		// der GroupBox darstellen
@@ -383,8 +378,7 @@ void SvxLineTabPage::ActivatePage( const
 			( *pnLineEndListState & CT_CHANGED ) )
 		{
 			if( *pnLineEndListState & CT_CHANGED )
-				pLineEndList = ( (SvxLineTabDialog*) DLGWIN )->
-										GetNewLineEndList();
+				maLineEndList = ( (SvxLineTabDialog*) DLGWIN )->GetNewLineEndList();
 			*pnLineEndListState = CT_NONE;
 
 			nPos = aLbLineStyle.GetSelectEntryPos();
@@ -392,7 +386,7 @@ void SvxLineTabPage::ActivatePage( const
 			aLbStartStyle.Clear();
 			aLbStartStyle.InsertEntry( sNone );
 
-			aLbStartStyle.Fill( pLineEndList );
+			aLbStartStyle.Fill( maLineEndList );
 			nCount = aLbStartStyle.GetEntryCount();
 			if( nCount == 0 )
 				; // Dieser Fall sollte nicht auftreten
@@ -404,7 +398,7 @@ void SvxLineTabPage::ActivatePage( const
 			aLbEndStyle.Clear();
 			aLbEndStyle.InsertEntry( sNone );
 
-			aLbEndStyle.Fill( pLineEndList, sal_False );
+			aLbEndStyle.Fill( maLineEndList, sal_False );
 			nCount = aLbEndStyle.GetEntryCount();
 
 			if( nCount == 0 )
@@ -414,9 +408,9 @@ void SvxLineTabPage::ActivatePage( const
 			else
 				aLbEndStyle.SelectEntryPos( nPos );
 		}
-		INetURLObject aLineURL( pLineEndList->GetPath() );
+		INetURLObject aLineURL( maLineEndList->GetPath() );
 
-		aLineURL.Append( pLineEndList->GetName() );
+		aLineURL.Append( maLineEndList->GetName() );
 		DBG_ASSERT( aLineURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 /*		// Ermitteln (evtl. abschneiden) des Namens und in
 		// der GroupBox darstellen
@@ -452,12 +446,11 @@ void SvxLineTabPage::ActivatePage( const
 			if( *pnColorTableState )
 			{
 				if( *pnColorTableState & CT_CHANGED )
-					pColorTab = ( (SvxLineTabDialog*) DLGWIN )->
-											GetNewColorTable();
+					maColorTab = ( (SvxLineTabDialog*) DLGWIN )->GetNewColorTable();
 				// aLbColor
                 sal_uInt16 nColorPos = aLbColor.GetSelectEntryPos();
 				aLbColor.Clear();
-				aLbColor.Fill( pColorTab );
+				aLbColor.Fill( maColorTab );
 				nCount = aLbColor.GetEntryCount();
 				if( nCount == 0 )
 					; // This case should never occur
@@ -545,10 +538,9 @@ sal_Bool SvxLineTabPage::FillItemSet( Sf
 				pStyleItem = new XLineStyleItem( XLINE_DASH );
 
 				// Zusaetzliche Sicherheit
-				if( pDashList->Count() > (long) ( nPos - 2 ) )
+				if( maDashList->Count() > (long) ( nPos - 2 ) )
 				{
-					XLineDashItem aDashItem( aLbLineStyle.GetSelectEntry(),
-                                        pDashList->GetDash( nPos - 2 )->GetDash() );
+					XLineDashItem aDashItem( aLbLineStyle.GetSelectEntry(), maDashList->GetDash( nPos - 2 )->GetDash() );
 					pOld = GetOldItem( rAttrs, XATTR_LINEDASH );
 					if ( !pOld || !( *(const XLineDashItem*)pOld == aDashItem ) )
 					{
@@ -624,9 +616,9 @@ sal_Bool SvxLineTabPage::FillItemSet( Sf
 			XLineStartItem* pItem = NULL;
 			if( nPos == 0 )
 				pItem = new XLineStartItem();
-			else if( pLineEndList->Count() > (long) ( nPos - 1 ) )
+			else if( maLineEndList->Count() > (long) ( nPos - 1 ) )
 				pItem = new XLineStartItem( aLbStartStyle.GetSelectEntry(),
-                            pLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() );
+                            maLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() );
 			pOld = GetOldItem( rAttrs, XATTR_LINESTART );
 			if( pItem &&
 				( !pOld || !( *(const XLineEndItem*)pOld == *pItem ) ) )
@@ -644,9 +636,9 @@ sal_Bool SvxLineTabPage::FillItemSet( Sf
 			XLineEndItem* pItem = NULL;
 			if( nPos == 0 )
 				pItem = new XLineEndItem();
-			else if( pLineEndList->Count() > (long) ( nPos - 1 ) )
+			else if( maLineEndList->Count() > (long) ( nPos - 1 ) )
 				pItem = new XLineEndItem( aLbEndStyle.GetSelectEntry(),
-                            pLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() );
+                            maLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() );
 			pOld = GetOldItem( rAttrs, XATTR_LINEEND );
 			if( pItem &&
 				( !pOld || !( *(const XLineEndItem*)pOld == *pItem ) ) )
@@ -863,8 +855,7 @@ sal_Bool SvxLineTabPage::FillXLSet_Impl(
 		nPos = aLbLineStyle.GetSelectEntryPos();
 		if( nPos != LISTBOX_ENTRY_NOTFOUND )
 		{
-			rXLSet.Put( XLineDashItem( aLbLineStyle.GetSelectEntry(),
-                            pDashList->GetDash( nPos - 2 )->GetDash() ) );
+			rXLSet.Put( XLineDashItem( aLbLineStyle.GetSelectEntry(), maDashList->GetDash( nPos - 2 )->GetDash() ) );
 		}
 	}
 
@@ -875,7 +866,7 @@ sal_Bool SvxLineTabPage::FillXLSet_Impl(
 			rXLSet.Put( XLineStartItem() );
 		else
 			rXLSet.Put( XLineStartItem( aLbStartStyle.GetSelectEntry(),
-                        pLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ) );
+                        maLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ) );
 	}
 	nPos = aLbEndStyle.GetSelectEntryPos();
 	if( nPos != LISTBOX_ENTRY_NOTFOUND )
@@ -884,7 +875,7 @@ sal_Bool SvxLineTabPage::FillXLSet_Impl(
 			rXLSet.Put( XLineEndItem() );
 		else
 			rXLSet.Put( XLineEndItem( aLbEndStyle.GetSelectEntry(),
-                        pLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ) );
+                        maLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ) );
 	}
 
 	// #116827#
@@ -1185,9 +1176,9 @@ void SvxLineTabPage::Reset( const SfxIte
 		sal_Bool bSelected(sal_False);
 		const basegfx::B2DPolyPolygon& rItemPolygon = ((const XLineStartItem&)rAttrs.Get(XATTR_LINESTART)).GetLineStartValue();
 
-		for(sal_Int32 a(0);!bSelected &&  a < pLineEndList->Count(); a++)
+		for(sal_Int32 a(0);!bSelected &&  a < maLineEndList->Count(); a++)
 		{
-			XLineEndEntry* pEntry = pLineEndList->GetLineEnd(a);
+			XLineEndEntry* pEntry = maLineEndList->GetLineEnd(a);
 			const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
 
 			if(rItemPolygon == rEntryPolygon)
@@ -1218,9 +1209,9 @@ void SvxLineTabPage::Reset( const SfxIte
 		sal_Bool bSelected(sal_False);
 		const basegfx::B2DPolyPolygon& rItemPolygon = ((const XLineEndItem&)rAttrs.Get(XATTR_LINEEND)).GetLineEndValue();
 
-		for(sal_Int32 a(0);!bSelected &&  a < pLineEndList->Count(); a++)
+		for(sal_Int32 a(0);!bSelected &&  a < maLineEndList->Count(); a++)
 		{
-			XLineEndEntry* pEntry = pLineEndList->GetLineEnd(a);
+			XLineEndEntry* pEntry = maLineEndList->GetLineEnd(a);
 			const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
 
 			if(rItemPolygon == rEntryPolygon)
@@ -1353,6 +1344,7 @@ void SvxLineTabPage::Reset( const SfxIte
 			case com::sun::star::drawing::LineJoint_NONE : maLBEdgeStyle.SelectEntryPos(1); break;
 			case com::sun::star::drawing::LineJoint_MITER : maLBEdgeStyle.SelectEntryPos(2); break;
 			case com::sun::star::drawing::LineJoint_BEVEL : maLBEdgeStyle.SelectEntryPos(3); break;
+			default: break;
 		}
 	}
 	else

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tplnedef.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tplnedef.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tplnedef.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tplnedef.cxx Sat May 18 10:12:43 2013
@@ -181,8 +181,6 @@ SvxLineDefTabPage::SvxLineDefTabPage
 	aMtrLength2.SetModifyHdl( aLink );
 	aMtrDistance.SetModifyHdl( aLink );
 
-	pDashList = NULL;
-
 	aBtnAdd.SetAccessibleRelationMemberOf( &aFlDefinition );
 	aBtnModify.SetAccessibleRelationMemberOf( &aFlDefinition );
 	aBtnDelete.SetAccessibleRelationMemberOf( &aFlDefinition );	
@@ -196,7 +194,7 @@ SvxLineDefTabPage::SvxLineDefTabPage
 void SvxLineDefTabPage::Construct()
 {
 	// Line style fill; do *not* add default fields here
-	aLbLineStyles.Fill( pDashList );
+	aLbLineStyles.Fill( maDashList );
 }
 
 // -----------------------------------------------------------------------
@@ -206,7 +204,7 @@ void SvxLineDefTabPage::ActivatePage( co
 	if( *pDlgType == 0 ) // Flaechen-Dialog
 	{
 		// ActivatePage() wird aufgerufen bevor der Dialog PageCreated() erhaelt !!!
-		if( pDashList )
+		if( maDashList.get() )
 		{
             if( *pPageType == 1 &&
 				*pPosDashLb != LISTBOX_ENTRY_NOTFOUND )
@@ -219,9 +217,9 @@ void SvxLineDefTabPage::ActivatePage( co
 			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
 			String			aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-			INetURLObject	aURL( pDashList->GetPath() );
+			INetURLObject	aURL( maDashList->GetPath() );
 
-			aURL.Append( pDashList->GetName() );
+			aURL.Append( maDashList->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
 /*			if ( aURL.getBase().Len() > 18 )
@@ -288,7 +286,7 @@ void SvxLineDefTabPage::CheckChanges_Imp
 			case RET_BTN_1: // Aendern
 			{
 				ClickModifyHdl_Impl( this );
-				//aXDash = pDashList->Get( nPos )->GetDash();
+				//aXDash = maDashList->Get( nPos )->GetDash();
 			}
 			break;
 
@@ -296,7 +294,7 @@ void SvxLineDefTabPage::CheckChanges_Imp
 			{
 				ClickAddHdl_Impl( this );
 				//nPos = aLbLineStyles.GetSelectEntryPos();
-				//aXDash = pDashList->Get( nPos )->GetDash();
+				//aXDash = maDashList->Get( nPos )->GetDash();
 			}
 			break;
 
@@ -368,7 +366,7 @@ void SvxLineDefTabPage::Reset( const Sfx
 	SelectLinestyleHdl_Impl( NULL );
 
 	// Status der Buttons ermitteln
-	if( pDashList->Count() )
+	if( maDashList.get() && maDashList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -394,7 +392,7 @@ SfxTabPage* SvxLineDefTabPage::Create( W
 
 IMPL_LINK( SvxLineDefTabPage, SelectLinestyleHdl_Impl, void *, p )
 {
-	if(pDashList->Count())
+	if(maDashList.get() && maDashList->Count())
 	{
 		int nTmp = aLbLineStyles.GetSelectEntryPos();
 		
@@ -404,7 +402,7 @@ IMPL_LINK( SvxLineDefTabPage, SelectLine
             nTmp = 1;
 		}
 
-        aDash = pDashList->GetDash( nTmp )->GetDash();
+        aDash = maDashList->GetDash( nTmp )->GetDash();
 
 		FillDialog_Impl();
 
@@ -591,7 +589,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickAddHd
 	String aName;
 	XDashEntry* pEntry;
 
-	long nCount = pDashList->Count();
+	long nCount = maDashList.get() ? maDashList->Count() : 0;
 	long j = 1;
 	sal_Bool bDifferent = sal_False;
 
@@ -603,7 +601,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickAddHd
 		bDifferent = sal_True;
 
 		for ( long i = 0; i < nCount && bDifferent; i++ )
-            if ( aName == pDashList->GetDash( i )->GetName() )
+            if ( aName == maDashList->GetDash( i )->GetName() )
 				bDifferent = sal_False;
 	}
 
@@ -620,7 +618,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickAddHd
 
 		for( long i = 0; i < nCount && bDifferent; i++ )
 		{
-            if( aName == pDashList->GetDash( i )->GetName() )
+            if( aName == maDashList->GetDash( i )->GetName() )
 				bDifferent = sal_False;
 		}
 
@@ -631,10 +629,9 @@ IMPL_LINK( SvxLineDefTabPage, ClickAddHd
 
 			pEntry = new XDashEntry( aDash, aName );
 
-            long nDashCount = pDashList->Count();
-            pDashList->Insert( pEntry, nDashCount );
-            const Bitmap aBitmap = pDashList->GetUiBitmap( nDashCount );
-			aLbLineStyles.Append( pEntry, &aBitmap );
+            long nDashCount = maDashList.get() ? maDashList->Count() : 0;
+            maDashList->Insert( pEntry, nDashCount );
+			aLbLineStyles.Append( *pEntry, maDashList->GetUiBitmap( nDashCount ) );
 
 			aLbLineStyles.SelectEntryPos( aLbLineStyles.GetEntryCount() - 1 );
 
@@ -662,7 +659,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickAddHd
 	delete( pDlg );
 
 	// Status der Buttons ermitteln
-	if ( pDashList->Count() )
+	if ( maDashList.get() && maDashList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -682,7 +679,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickModif
 		ResMgr& rMgr = CUI_MGR();
 		String aNewName( SVX_RES( RID_SVXSTR_LINESTYLE ) );
 		String aDesc( ResId( RID_SVXSTR_DESC_LINESTYLE, rMgr ) );
-        String aName( pDashList->GetDash( nPos )->GetName() );
+        String aName( maDashList->GetDash( nPos )->GetName() );
 		String aOldName = aName;
 
 		SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
@@ -690,7 +687,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickModif
 		AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( DLGWIN, aName, aDesc );
 		DBG_ASSERT(pDlg, "Dialogdiet fail!");//CHINA001
 
-		long nCount = pDashList->Count();
+		long nCount = maDashList.get() ? maDashList->Count() : 0;
 		sal_Bool bDifferent = sal_False;
 		sal_Bool bLoop = sal_True;
 
@@ -701,7 +698,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickModif
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pDashList->GetDash( i )->GetName() &&
+                if( aName == maDashList->GetDash( i )->GetName() &&
 					aName != aOldName )
 					bDifferent = sal_False;
 			}
@@ -713,9 +710,8 @@ IMPL_LINK( SvxLineDefTabPage, ClickModif
 
 				XDashEntry* pEntry = new XDashEntry( aDash, aName );
 
-				delete pDashList->Replace( pEntry, nPos );
-				const Bitmap aBitmap = pDashList->GetUiBitmap( nPos );
-				aLbLineStyles.Modify( pEntry, nPos, &aBitmap );
+				delete maDashList->Replace( pEntry, nPos );
+				aLbLineStyles.Modify( *pEntry, nPos, maDashList->GetUiBitmap( nPos ) );
 
 				aLbLineStyles.SelectEntryPos( nPos );
 
@@ -758,7 +754,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickDelet
 
 		if ( aQueryBox.Execute() == RET_YES )
 		{
-			delete pDashList->Remove( nPos );
+			delete maDashList->Remove( nPos );
 			aLbLineStyles.RemoveEntry( nPos );
 			aLbLineStyles.SelectEntryPos( 0 );
 
@@ -773,7 +769,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickDelet
 	}
 
 	// Status der Buttons ermitteln
-	if ( !pDashList->Count() )
+	if ( !maDashList.get() || !maDashList->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnDelete.Disable();
@@ -795,7 +791,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickLoadH
 			String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pDashList->Save();
+			maDashList->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -817,25 +813,21 @@ IMPL_LINK( SvxLineDefTabPage, ClickLoadH
 			aPathURL.removeFinalSlash();
 
 			// Liste speichern
-			XDashList* pDshLst = new XDashList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pDshLst->SetName( aURL.getName() );
+			XDashListSharedPtr aDshLst(XPropertyListFactory::CreateSharedXDashList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aDshLst->SetName( aURL.getName() );
 
-			if( pDshLst->Load() )
+			if( aDshLst->Load() )
 			{
-				if( pDshLst )
+				if( aDshLst.get() )
 				{
-					// Pruefen, ob Tabelle geloescht werden darf:
-					if( pDashList != ( (SvxLineTabDialog*) DLGWIN )->GetDashList() )
-						delete pDashList;
-
-					pDashList = pDshLst;
-					( (SvxLineTabDialog*) DLGWIN )->SetNewDashList( pDashList );
+					maDashList = aDshLst;
+					( (SvxLineTabDialog*) DLGWIN )->SetNewDashList( maDashList );
 
 					aLbLineStyles.Clear();
-					aLbLineStyles.Fill( pDashList );
+					aLbLineStyles.Fill( maDashList );
 					Reset( rOutAttrs );
 
-					pDashList->SetName( aURL.getName() );
+					maDashList->SetName( aURL.getName() );
 
 /*					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -866,7 +858,7 @@ IMPL_LINK( SvxLineDefTabPage, ClickLoadH
 	}
 
 	// Status der Buttons ermitteln
-	if ( pDashList->Count() )
+	if ( maDashList.get() && maDashList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -893,9 +885,9 @@ IMPL_LINK( SvxLineDefTabPage, ClickSaveH
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pDashList->GetName().Len() )
+	if( maDashList->GetName().Len() )
 	{
-		aFile.Append( pDashList->GetName() );
+		aFile.Append( maDashList->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "sod" ) ) );
@@ -910,10 +902,10 @@ IMPL_LINK( SvxLineDefTabPage, ClickSaveH
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pDashList->SetName( aURL.getName() );
-		pDashList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maDashList->SetName( aURL.getName() );
+		maDashList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pDashList->Save() )
+		if( maDashList->Save() )
 		{
 /*			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
@@ -1021,7 +1013,7 @@ void SvxLineDefTabPage::DataChanged( con
 	{
 		sal_uInt16 nOldSelect = aLbLineStyles.GetSelectEntryPos();
 		aLbLineStyles.Clear();
-		aLbLineStyles.Fill( pDashList );
+		aLbLineStyles.Fill( maDashList );
 		aLbLineStyles.SelectEntryPos( nOldSelect );
 	}
 }

Modified: openoffice/branches/ia2/main/cui/source/tabpages/tplneend.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/tabpages/tplneend.cxx?rev=1484083&r1=1484082&r2=1484083&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/tabpages/tplneend.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/tabpages/tplneend.cxx Sat May 18 10:12:43 2013
@@ -98,7 +98,7 @@ SvxLineEndDefTabPage::SvxLineEndDefTabPa
     aXColor             ( String(), COL_BLACK ),
     aXLineAttr          ( pXPool ),
     rXLSet              ( aXLineAttr.GetItemSet() ),
-    pLineEndList( NULL )
+    maLineEndList()
 {
 	aBtnLoad.SetModeImage( Image( CUI_RES( RID_SVXIMG_LOAD_H ) ), BMP_COLOR_HIGHCONTRAST );
 	aBtnSave.SetModeImage( Image( CUI_RES( RID_SVXIMG_SAVE_H ) ), BMP_COLOR_HIGHCONTRAST );
@@ -146,7 +146,7 @@ SvxLineEndDefTabPage::~SvxLineEndDefTabP
 
 void SvxLineEndDefTabPage::Construct()
 {
-	aLbLineEnds.Fill( pLineEndList );
+	aLbLineEnds.Fill( maLineEndList );
 
 	bool bCreateArrowPossible = true;
 
@@ -177,16 +177,16 @@ void SvxLineEndDefTabPage::ActivatePage(
 	if( *pDlgType == 0 ) // Flaechen-Dialog
 	{
 		// ActivatePage() wird aufgerufen bevor der Dialog PageCreated() erhaelt !!!
-		if( pLineEndList )
+		if( maLineEndList.get() )
 		{
             if( *pPosLineEndLb != LISTBOX_ENTRY_NOTFOUND )
 			{
 				aLbLineEnds.SelectEntryPos( *pPosLineEndLb );
 				SelectLineEndHdl_Impl( this );
 			}
-			INetURLObject	aURL( pLineEndList->GetPath() );
+			INetURLObject	aURL( maLineEndList->GetPath() );
 
-			aURL.Append( pLineEndList->GetName() );
+			aURL.Append( maLineEndList->GetName() );
 			DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 /*			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
@@ -256,7 +256,7 @@ sal_Bool SvxLineEndDefTabPage::FillItemS
 			CheckChanges_Impl();
 
 			long nPos = aLbLineEnds.GetSelectEntryPos();
-            XLineEndEntry* pEntry = pLineEndList->GetLineEnd( nPos );
+            XLineEndEntry* pEntry = maLineEndList->GetLineEnd( nPos );
 
             rSet.Put( XLineStartItem( pEntry->GetName(), pEntry->GetLineEnd() ) );
             rSet.Put( XLineEndItem( pEntry->GetName(), pEntry->GetLineEnd() ) );
@@ -272,11 +272,11 @@ void SvxLineEndDefTabPage::Reset( const 
 	aLbLineEnds.SelectEntryPos( 0 );
 
 	// Update lineend
-	if( pLineEndList->Count() > 0 )
+	if( maLineEndList.get() && maLineEndList->Count() > 0 )
 	{
 		int nPos = aLbLineEnds.GetSelectEntryPos();
 
-        XLineEndEntry* pEntry = pLineEndList->GetLineEnd( nPos );
+        XLineEndEntry* pEntry = maLineEndList->GetLineEnd( nPos );
 
 		aEdtName.SetText( aLbLineEnds.GetSelectEntry() );
 
@@ -290,7 +290,7 @@ void SvxLineEndDefTabPage::Reset( const 
 	}
 
 	// Status der Buttons ermitteln
-	if( pLineEndList->Count() )
+	if( maLineEndList.get() && maLineEndList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -316,11 +316,11 @@ SfxTabPage* SvxLineEndDefTabPage::Create
 
 IMPL_LINK( SvxLineEndDefTabPage, SelectLineEndHdl_Impl, void *, EMPTYARG )
 {
-	if( pLineEndList->Count() > 0 )
+	if( maLineEndList.get() && maLineEndList->Count() > 0 )
 	{
 		int nPos = aLbLineEnds.GetSelectEntryPos();
 
-        XLineEndEntry* pEntry = pLineEndList->GetLineEnd( nPos );
+        XLineEndEntry* pEntry = maLineEndList->GetLineEnd( nPos );
 
 		aEdtName.SetText( aLbLineEnds.GetSelectEntry() );
 
@@ -358,12 +358,12 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickMo
 		ResMgr& rMgr = CUI_MGR();
 		String aDesc( ResId( RID_SVXSTR_DESC_LINEEND, rMgr ) );
 		String aName( aEdtName.GetText() );
-		long nCount = pLineEndList->Count();
+		long nCount = maLineEndList.get() ? maLineEndList->Count() : 0;
 		sal_Bool bDifferent = sal_True;
 
 		// Pruefen, ob Name schon vorhanden ist
 		for ( long i = 0; i < nCount && bDifferent; i++ )
-            if ( aName == pLineEndList->GetLineEnd( i )->GetName() )
+            if ( aName == maLineEndList->GetLineEnd( i )->GetName() )
 				bDifferent = sal_False;
 
 		// Wenn ja, wird wiederholt ein neuer Name angefordert
@@ -387,7 +387,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickMo
 
 				for( long i = 0; i < nCount && bDifferent; i++ )
 				{
-                    if( aName == pLineEndList->GetLineEnd( i )->GetName() )
+                    if( aName == maLineEndList->GetLineEnd( i )->GetName() )
 						bDifferent = sal_False;
 				}
 
@@ -402,13 +402,13 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickMo
         // Wenn nicht vorhanden, wird Eintrag aufgenommen
         if( bDifferent )
         {
-            XLineEndEntry* pEntry = pLineEndList->GetLineEnd( nPos );
+            const XLineEndEntry* pEntry = maLineEndList->GetLineEnd( nPos );
 
-            pEntry->SetName( aName );
             aEdtName.SetText( aName );
 
-            const Bitmap aUiBitmap( pLineEndList->GetUiBitmap( nPos ) );
-            aLbLineEnds.Modify( pEntry, nPos, &aUiBitmap );
+            const XLineEndEntry aEntry(pEntry->GetLineEnd(), aName);
+            
+            aLbLineEnds.Modify( aEntry, nPos, maLineEndList->GetUiBitmap( nPos ) );
             aLbLineEnds.SelectEntryPos( nPos );
 
             // Flag fuer modifiziert setzen
@@ -466,7 +466,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickAd
 		String aDesc( ResId( RID_SVXSTR_DESC_LINEEND, rMgr ) );
 		String aName;
 
-		long nCount = pLineEndList->Count();
+		long nCount = maLineEndList.get() ? maLineEndList->Count() : 0;
 		long j = 1;
 		sal_Bool bDifferent = sal_False;
 
@@ -478,7 +478,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickAd
 			bDifferent = sal_True;
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
-                if ( aName == pLineEndList->GetLineEnd( i )->GetName() )
+                if ( aName == maLineEndList->GetLineEnd( i )->GetName() )
 					bDifferent = sal_False;
 		}
 
@@ -495,7 +495,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickAd
 
 			for( long i = 0; i < nCount && bDifferent; i++ )
 			{
-                if( aName == pLineEndList->GetLineEnd( i )->GetName() )
+                if( aName == maLineEndList->GetLineEnd( i )->GetName() )
 					bDifferent = sal_False;
 			}
 
@@ -504,12 +504,11 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickAd
 				bLoop = sal_False;
 				pEntry = new XLineEndEntry( aNewPolyPolygon, aName );
 
-                long nLineEndCount = pLineEndList->Count();
-                pLineEndList->Insert( pEntry, nLineEndCount );
-                const Bitmap aBitmap = pLineEndList->GetUiBitmap( nLineEndCount );
+                long nLineEndCount = maLineEndList.get() ? maLineEndList->Count() : 0;
+                maLineEndList->Insert( pEntry, nLineEndCount );
 
 				// Zur ListBox hinzufuegen
-				aLbLineEnds.Append( pEntry, &aBitmap );
+				aLbLineEnds.Append( *pEntry, maLineEndList->GetUiBitmap( nLineEndCount ) );
 				aLbLineEnds.SelectEntryPos( aLbLineEnds.GetEntryCount() - 1 );
 
 				// Flag fuer modifiziert setzen
@@ -530,7 +529,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickAd
 		aBtnAdd.Disable();
 
 	// Status der Buttons ermitteln
-	if ( pLineEndList->Count() )
+	if ( maLineEndList.get() && maLineEndList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -552,7 +551,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickDe
 
 		if ( aQueryBox.Execute() == RET_YES )
 		{
-			delete pLineEndList->Remove( nPos );
+			delete maLineEndList->Remove( nPos );
 			aLbLineEnds.RemoveEntry( nPos );
 			aLbLineEnds.SelectEntryPos( 0 );
 
@@ -566,7 +565,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickDe
 		}
 	}
 	// Status der Buttons ermitteln
-	if( !pLineEndList->Count() )
+	if( !maLineEndList.get() || !maLineEndList->Count() )
 	{
 		aBtnModify.Disable();
 		aBtnDelete.Disable();
@@ -588,7 +587,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickLo
 			String( ResId( RID_SVXSTR_WARN_TABLE_OVERWRITE, rMgr ) ) ).Execute();
 
 		if ( nReturn == RET_YES )
-			pLineEndList->Save();
+			maLineEndList->Save();
 	}
 
 	if ( nReturn != RET_CANCEL )
@@ -610,23 +609,19 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickLo
 			aPathURL.removeFinalSlash();
 
 			// Liste speichern
-			XLineEndList* pLeList = new XLineEndList( aPathURL.GetMainURL( INetURLObject::NO_DECODE ), pXPool );
-			pLeList->SetName( aURL.getName() );
-			if( pLeList->Load() )
+			XLineEndListSharedPtr aLeList(XPropertyListFactory::CreateSharedXLineEndList(aPathURL.GetMainURL(INetURLObject::NO_DECODE)));
+			aLeList->SetName( aURL.getName() );
+			if( aLeList->Load() )
 			{
-				if( pLeList )
+				if( aLeList.get() )
 				{
-					// Pruefen, ob Tabelle geloescht werden darf:
-					if( pLineEndList != ( (SvxLineTabDialog*) DLGWIN )->GetLineEndList() )
-						delete pLineEndList;
-
-					pLineEndList = pLeList;
-					( (SvxLineTabDialog*) DLGWIN )->SetNewLineEndList( pLineEndList );
+					maLineEndList = aLeList;
+					( (SvxLineTabDialog*) DLGWIN )->SetNewLineEndList( maLineEndList );
 					aLbLineEnds.Clear();
-					aLbLineEnds.Fill( pLineEndList );
+					aLbLineEnds.Fill( maLineEndList );
 					Reset( rOutAttrs );
 
-					pLineEndList->SetName( aURL.getName() );
+					maLineEndList->SetName( aURL.getName() );
 
 /*					// Ermitteln (evtl. abschneiden) des Namens und in
 					// der GroupBox darstellen
@@ -655,7 +650,7 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickLo
 	}
 
 	// Status der Buttons ermitteln
-	if ( pLineEndList->Count() )
+	if ( maLineEndList.get() && maLineEndList->Count() )
 	{
 		aBtnModify.Enable();
 		aBtnDelete.Enable();
@@ -682,9 +677,9 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickSa
 	INetURLObject aFile( SvtPathOptions().GetPalettePath() );
 	DBG_ASSERT( aFile.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
 
-	if( pLineEndList->GetName().Len() )
+	if( maLineEndList.get() && maLineEndList->GetName().Len() )
 	{
-		aFile.Append( pLineEndList->GetName() );
+		aFile.Append( maLineEndList->GetName() );
 
 		if( !aFile.getExtension().getLength() )
 			aFile.SetExtension( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "soe" ) ) );
@@ -699,10 +694,10 @@ IMPL_LINK( SvxLineEndDefTabPage, ClickSa
 		aPathURL.removeSegment();
 		aPathURL.removeFinalSlash();
 
-		pLineEndList->SetName( aURL.getName() );
-		pLineEndList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
+		maLineEndList->SetName( aURL.getName() );
+		maLineEndList->SetPath( aPathURL.GetMainURL( INetURLObject::NO_DECODE ) );
 
-		if( pLineEndList->Save() )
+		if( maLineEndList->Save() )
 		{
 /*			// Ermitteln (evtl. abschneiden) des Namens und in
 			// der GroupBox darstellen
@@ -740,7 +735,7 @@ void SvxLineEndDefTabPage::DataChanged( 
 	{
 		sal_uInt16 nOldSelect = aLbLineEnds.GetSelectEntryPos();
 		aLbLineEnds.Clear();
-		aLbLineEnds.Fill( pLineEndList );
+		aLbLineEnds.Fill( maLineEndList );
 		aLbLineEnds.SelectEntryPos( nOldSelect );
 	}
 }