1f6e50924SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3f6e50924SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4f6e50924SAndrew Rist * or more contributor license agreements. See the NOTICE file 5f6e50924SAndrew Rist * distributed with this work for additional information 6f6e50924SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7f6e50924SAndrew Rist * to you under the Apache License, Version 2.0 (the 8f6e50924SAndrew Rist * "License"); you may not use this file except in compliance 9f6e50924SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11f6e50924SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13f6e50924SAndrew Rist * Unless required by applicable law or agreed to in writing, 14f6e50924SAndrew Rist * software distributed under the License is distributed on an 15f6e50924SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16f6e50924SAndrew Rist * KIND, either express or implied. See the License for the 17f6e50924SAndrew Rist * specific language governing permissions and limitations 18f6e50924SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20f6e50924SAndrew Rist *************************************************************/ 21f6e50924SAndrew Rist 22cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 23cdf0e10cSrcweir #include "precompiled_svx.hxx" 24cdf0e10cSrcweir 25cdf0e10cSrcweir #include <com/sun/star/container/XNameContainer.hpp> 26cdf0e10cSrcweir #include "svx/XPropertyTable.hxx" 27cdf0e10cSrcweir #include <unotools/ucbstreamhelper.hxx> 28cdf0e10cSrcweir #include <unotools/pathoptions.hxx> 29cdf0e10cSrcweir #include "xmlxtexp.hxx" 30cdf0e10cSrcweir #include "xmlxtimp.hxx" 31cdf0e10cSrcweir #include <sfx2/docfile.hxx> 32cdf0e10cSrcweir #include <tools/urlobj.hxx> 33cdf0e10cSrcweir #include <svx/dialogs.hrc> 34cdf0e10cSrcweir #include <svx/dialmgr.hxx> 35cdf0e10cSrcweir #include <svx/xtable.hxx> 36cdf0e10cSrcweir #include <svx/xpool.hxx> 37cdf0e10cSrcweir 38cdf0e10cSrcweir #define GLOBALOVERFLOW 39cdf0e10cSrcweir 40cdf0e10cSrcweir using namespace com::sun::star; 41cdf0e10cSrcweir 42cdf0e10cSrcweir sal_Unicode const pszExtColor[] = {'s','o','c'}; 43cdf0e10cSrcweir 44cdf0e10cSrcweir static char const aChckColor[] = { 0x04, 0x00, 'S','O','C','L'}; // < 5.2 45cdf0e10cSrcweir static char const aChckColor0[] = { 0x04, 0x00, 'S','O','C','0'}; // = 5.2 46cdf0e10cSrcweir static char const aChckXML[] = { '<', '?', 'x', 'm', 'l' }; // = 6.0 47cdf0e10cSrcweir 48cdf0e10cSrcweir /************************************************************************* 49cdf0e10cSrcweir |* 5097e8a929SArmin Le Grand |* XColorList::XColorList() 51cdf0e10cSrcweir |* 52cdf0e10cSrcweir *************************************************************************/ 53cdf0e10cSrcweir 54c7be74b1SArmin Le Grand static XColorListSharedPtr aStaticGlobalColorList; 5597e8a929SArmin Le Grand 56c7be74b1SArmin Le Grand XColorList::XColorList( const String& rPath ) : 57c7be74b1SArmin Le Grand XPropertyList( rPath ) 58cdf0e10cSrcweir { 59cdf0e10cSrcweir } 60cdf0e10cSrcweir 61cdf0e10cSrcweir /************************************************************************/ 62cdf0e10cSrcweir 6397e8a929SArmin Le Grand XColorList::~XColorList() 64cdf0e10cSrcweir { 65cdf0e10cSrcweir } 66cdf0e10cSrcweir 67cdf0e10cSrcweir /************************************************************************/ 68cdf0e10cSrcweir 6997e8a929SArmin Le Grand XColorEntry* XColorList::Replace(XColorEntry* pEntry, long nIndex ) 70cdf0e10cSrcweir { 7197e8a929SArmin Le Grand return (XColorEntry*) XPropertyList::Replace(pEntry, nIndex); 72cdf0e10cSrcweir } 73cdf0e10cSrcweir 74cdf0e10cSrcweir /************************************************************************/ 75cdf0e10cSrcweir 7697e8a929SArmin Le Grand XColorEntry* XColorList::Remove(long nIndex) 77cdf0e10cSrcweir { 78c7be74b1SArmin Le Grand return (XColorEntry*) XPropertyList::Remove(nIndex); 79cdf0e10cSrcweir } 80cdf0e10cSrcweir 81cdf0e10cSrcweir /************************************************************************/ 82cdf0e10cSrcweir 8397e8a929SArmin Le Grand XColorEntry* XColorList::GetColor(long nIndex) const 84cdf0e10cSrcweir { 85c7be74b1SArmin Le Grand return (XColorEntry*) XPropertyList::Get(nIndex); 86cdf0e10cSrcweir } 87cdf0e10cSrcweir 88cdf0e10cSrcweir /************************************************************************/ 89cdf0e10cSrcweir 903e407bd8SArmin Le Grand bool XColorList::Load() 91cdf0e10cSrcweir { 9297e8a929SArmin Le Grand if( mbListDirty ) 93cdf0e10cSrcweir { 9497e8a929SArmin Le Grand mbListDirty = false; 95cdf0e10cSrcweir 9697e8a929SArmin Le Grand INetURLObject aURL( maPath ); 97cdf0e10cSrcweir 98cdf0e10cSrcweir if( INET_PROT_NOT_VALID == aURL.GetProtocol() ) 99cdf0e10cSrcweir { 10035726d9dSArmin Le Grand OSL_ENSURE( !maPath.Len(), "invalid URL" ); 1013e407bd8SArmin Le Grand return false; 102cdf0e10cSrcweir } 103cdf0e10cSrcweir 10497e8a929SArmin Le Grand aURL.Append( maName ); 105cdf0e10cSrcweir 106cdf0e10cSrcweir if( !aURL.getExtension().getLength() ) 107cdf0e10cSrcweir aURL.setExtension( rtl::OUString( pszExtColor, 3 ) ); 108cdf0e10cSrcweir 109cdf0e10cSrcweir uno::Reference< container::XNameContainer > xTable( SvxUnoXColorTable_createInstance( this ), uno::UNO_QUERY ); 110cdf0e10cSrcweir return SvxXMLXTableImport::load( aURL.GetMainURL( INetURLObject::NO_DECODE ), xTable ); 111cdf0e10cSrcweir } 1123e407bd8SArmin Le Grand 1133e407bd8SArmin Le Grand return false; 114cdf0e10cSrcweir } 115cdf0e10cSrcweir 116cdf0e10cSrcweir /************************************************************************/ 117cdf0e10cSrcweir 1183e407bd8SArmin Le Grand bool XColorList::Save() 119cdf0e10cSrcweir { 12097e8a929SArmin Le Grand INetURLObject aURL( maPath ); 121cdf0e10cSrcweir 122cdf0e10cSrcweir if( INET_PROT_NOT_VALID == aURL.GetProtocol() ) 123cdf0e10cSrcweir { 12435726d9dSArmin Le Grand OSL_ENSURE( !maPath.Len(), "invalid URL" ); 1253e407bd8SArmin Le Grand return false; 126cdf0e10cSrcweir } 127cdf0e10cSrcweir 12897e8a929SArmin Le Grand aURL.Append( maName ); 129cdf0e10cSrcweir 130cdf0e10cSrcweir if( !aURL.getExtension().getLength() ) 131cdf0e10cSrcweir aURL.setExtension( rtl::OUString( pszExtColor, 3 ) ); 132cdf0e10cSrcweir 133cdf0e10cSrcweir uno::Reference< container::XNameContainer > xTable( SvxUnoXColorTable_createInstance( this ), uno::UNO_QUERY ); 134cdf0e10cSrcweir return SvxXMLXTableExportComponent::save( aURL.GetMainURL( INetURLObject::NO_DECODE ), xTable ); 135cdf0e10cSrcweir } 136cdf0e10cSrcweir 137cdf0e10cSrcweir /************************************************************************/ 138cdf0e10cSrcweir 1393e407bd8SArmin Le Grand bool XColorList::Create() 140cdf0e10cSrcweir { 141*28806869SArmin Le Grand sal_uInt32 a(0); 142*28806869SArmin Le Grand sal_uInt32 b(0); 143cdf0e10cSrcweir 144*28806869SArmin Le Grand // <!-- Gray palette from white to black --> 145*28806869SArmin Le Grand XubString aStrGrey( SVX_RESSTR( RID_SVXSTR_COLOR_GREY ) ); 146*28806869SArmin Le Grand 147*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0xff, 0xff ), SVX_RESSTR( RID_SVXSTR_COLOR_WHITE ) ) ); 148*28806869SArmin Le Grand aStrGrey.AppendAscii(" 1"); Insert( new XColorEntry( Color( 0xee, 0xee, 0xee ), aStrGrey ) ); 149*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('2')); Insert( new XColorEntry( Color( 0xdd, 0xdd, 0xdd ), aStrGrey ) ); 150*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('3')); Insert( new XColorEntry( Color( 0xcc, 0xcc, 0xcc ), aStrGrey ) ); 151*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('4')); Insert( new XColorEntry( Color( 0xb2, 0xb2, 0xb2 ), aStrGrey ) ); 152*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('5')); Insert( new XColorEntry( Color( 0x99, 0x99, 0x99 ), aStrGrey ) ); 153*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('6')); Insert( new XColorEntry( Color( 0x80, 0x80, 0x80 ), aStrGrey ) ); 154*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('7')); Insert( new XColorEntry( Color( 0x66, 0x66, 0x66 ), aStrGrey ) ); 155*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('8')); Insert( new XColorEntry( Color( 0x33, 0x33, 0x33 ), aStrGrey ) ); 156*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('9')); Insert( new XColorEntry( Color( 0x1c, 0x1c, 0x1c ), aStrGrey ) ); 157*28806869SArmin Le Grand aStrGrey.SetChar(aStrGrey.Len() - 1, sal_Unicode('1')); aStrGrey.AppendAscii("0"); Insert( new XColorEntry( Color( 0x11, 0x11, 0x11 ), aStrGrey ) ); 158*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x00, 0x00, 0x00 ), SVX_RESSTR( RID_SVXSTR_COLOR_BLACK ) ) ); 159*28806869SArmin Le Grand 160*28806869SArmin Le Grand // <!-- Base colors step 0 to 10 --> 161*28806869SArmin Le Grand const sal_uInt32 nNumColorsInGroup(12); 162*28806869SArmin Le Grand const sal_uInt32 nNumGroups(11); 163*28806869SArmin Le Grand XubString aStrCol[nNumColorsInGroup]; 164*28806869SArmin Le Grand const sal_uInt32 aStdCol[nNumColorsInGroup * nNumGroups] = { 165*28806869SArmin Le Grand 0xffff99, 0xff6600, 0xff3333, 0xff00cc, 0xff33ff, 0x9900ff, 0x6666ff, 0x00ccff, 0x66ffff, 0x33ff99, 0x99ff66, 0xccff00, 166*28806869SArmin Le Grand 0xffff66, 0xffcc00, 0xff9999, 0xff66cc, 0xff99ff, 0xcc66ff, 0x9999ff, 0x9999ff, 0x99ffff, 0x66ff99, 0x99ff99, 0xccff66, 167*28806869SArmin Le Grand 0xffff00, 0xff9900, 0xff6666, 0xff3399, 0xff66ff, 0x9933ff, 0x3333ff, 0x3399ff, 0x00ffff, 0x00ff66, 0x66ff66, 0x99ff33, 168*28806869SArmin Le Grand 0xcc9900, 0xff3300, 0xff0000, 0xff0066, 0xff00ff, 0x6600ff, 0x0000ff, 0x0066ff, 0x00cccc, 0x00cc33, 0x00cc00, 0x66ff00, 169*28806869SArmin Le Grand 0x996600, 0xcc3300, 0xcc0000, 0xcc0066, 0xcc00cc, 0x6600cc, 0x0000cc, 0x0066cc, 0x009999, 0x009933, 0x009900, 0x66cc00, 170*28806869SArmin Le Grand 0x663300, 0x801900, 0x990000, 0x990066, 0x990099, 0x330099, 0x000099, 0x006699, 0x006666, 0x007826, 0x006600, 0x669900, 171*28806869SArmin Le Grand 0x333300, 0x461900, 0x330000, 0x330033, 0x660066, 0x000033, 0x000066, 0x000080, 0x003333, 0x00331a, 0x003300, 0x193300, 172*28806869SArmin Le Grand 0x666633, 0x661900, 0x663333, 0x660033, 0x663366, 0x330066, 0x333366, 0x003366, 0x336666, 0x006633, 0x336633, 0x336600, 173*28806869SArmin Le Grand 0x999966, 0x996633, 0x996666, 0x993366, 0x996699, 0x663399, 0x666699, 0x336699, 0x669999, 0x339966, 0x669966, 0x669933, 174*28806869SArmin Le Grand 0xcccc99, 0xcc9966, 0xcc9999, 0xcc6699, 0xcc99cc, 0x9966cc, 0x9999cc, 0x6699cc, 0x99cccc, 0x66cc99, 0x99cc99, 0x99cc66, 175*28806869SArmin Le Grand 0xffffcc, 0xffcc99, 0xffcccc, 0xff99cc, 0xffccff, 0xcc99ff, 0xccccff, 0x99ccff, 0xccffff, 0x99ffcc, 0xccffcc, 0xccff99 }; 176*28806869SArmin Le Grand 177*28806869SArmin Le Grand for(a = 0; a < nNumGroups; a++) 178cdf0e10cSrcweir { 179*28806869SArmin Le Grand switch(a) 180cdf0e10cSrcweir { 181*28806869SArmin Le Grand case 0: 182cdf0e10cSrcweir { 183*28806869SArmin Le Grand aStrCol[0] = SVX_RESSTR(RID_SVXSTR_COLOR_YELLOW); 184*28806869SArmin Le Grand aStrCol[1] = SVX_RESSTR(RID_SVXSTR_COLOR_ORANGE); 185*28806869SArmin Le Grand aStrCol[2] = SVX_RESSTR(RID_SVXSTR_COLOR_RED); 186*28806869SArmin Le Grand aStrCol[3] = SVX_RESSTR(RID_SVXSTR_COLOR_PINK); 187*28806869SArmin Le Grand aStrCol[4] = SVX_RESSTR(RID_SVXSTR_COLOR_MAGENTA); 188*28806869SArmin Le Grand aStrCol[5] = SVX_RESSTR(RID_SVXSTR_COLOR_PURPLE); 189*28806869SArmin Le Grand aStrCol[6] = SVX_RESSTR(RID_SVXSTR_COLOR_BLUE); 190*28806869SArmin Le Grand aStrCol[7] = SVX_RESSTR(RID_SVXSTR_COLOR_SKYBLUE); 191*28806869SArmin Le Grand aStrCol[8] = SVX_RESSTR(RID_SVXSTR_COLOR_CYAN); 192*28806869SArmin Le Grand aStrCol[9] = SVX_RESSTR(RID_SVXSTR_COLOR_TURQUOISE); 193*28806869SArmin Le Grand aStrCol[10] = SVX_RESSTR(RID_SVXSTR_COLOR_GREEN); 194*28806869SArmin Le Grand aStrCol[11] = SVX_RESSTR(RID_SVXSTR_COLOR_YELLOWGREEN); 195*28806869SArmin Le Grand break; 196*28806869SArmin Le Grand } 197*28806869SArmin Le Grand case 1: 198*28806869SArmin Le Grand { 199*28806869SArmin Le Grand for(b = 0; b < nNumColorsInGroup; b++) 200*28806869SArmin Le Grand { 201*28806869SArmin Le Grand aStrCol[b].AppendAscii(" 1"); 202*28806869SArmin Le Grand } 203*28806869SArmin Le Grand break; 204*28806869SArmin Le Grand } 205*28806869SArmin Le Grand case 10: 206*28806869SArmin Le Grand { 207*28806869SArmin Le Grand for(b = 0; b < nNumColorsInGroup; b++) 208*28806869SArmin Le Grand { 209*28806869SArmin Le Grand aStrCol[b].SetChar(aStrCol[b].Len() - 1, sal_Unicode('1')); 210*28806869SArmin Le Grand aStrCol[b].AppendAscii("0"); 211*28806869SArmin Le Grand } 212*28806869SArmin Le Grand break; 213*28806869SArmin Le Grand } 214*28806869SArmin Le Grand default: // 2 .. 9, 11 215*28806869SArmin Le Grand { 216*28806869SArmin Le Grand for(b = 0; b < nNumColorsInGroup; b++) 217*28806869SArmin Le Grand { 218*28806869SArmin Le Grand aStrCol[b].SetChar(aStrCol[b].Len() - 1, sal_Unicode('0') + sal_Unicode(a % 10)); 219*28806869SArmin Le Grand } 220*28806869SArmin Le Grand break; 221*28806869SArmin Le Grand } 222cdf0e10cSrcweir } 223cdf0e10cSrcweir 224*28806869SArmin Le Grand const sal_uInt32 nOffset(a * nNumColorsInGroup); 225cdf0e10cSrcweir 226*28806869SArmin Le Grand for(b = 0; b < nNumColorsInGroup; b++) 227*28806869SArmin Le Grand { 228*28806869SArmin Le Grand Insert( new XColorEntry( aStdCol[nOffset + b], aStrCol[b] ) ); 229*28806869SArmin Le Grand } 230*28806869SArmin Le Grand } 231cdf0e10cSrcweir 232*28806869SArmin Le Grand // <!-- use some 'nice' colors from original palette --> 233*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xe6, 0xe6, 0xff ), SVX_RESSTR( RID_SVXSTR_COLOR_BLUEGREY) ) ); 234*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xCF, 0xE7, 0xF5 ), SVX_RESSTR( RID_SVXSTR_COLOR_BLUE_CLASSIC ) ) ); 235cdf0e10cSrcweir 236*28806869SArmin Le Grand // <!-- add 'pale' colors from original palette --> 237*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x99, 0x99, 0xff ), SVX_RESSTR( RID_SVXSTR_COLOR_VIOLET ) ) ); 238*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x99, 0x33, 0x66 ), SVX_RESSTR( RID_SVXSTR_COLOR_BORDEAUX ) ) ); 239*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0xff, 0xcc ), SVX_RESSTR( RID_SVXSTR_COLOR_PALE_YELLOW ) ) ); 240*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xcc, 0xff, 0xff ), SVX_RESSTR( RID_SVXSTR_COLOR_PALE_GREEN ) ) ); 241*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x66, 0x00, 0x66 ), SVX_RESSTR( RID_SVXSTR_COLOR_DARKVIOLET ) ) ); 242*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0x80, 0x80 ), SVX_RESSTR( RID_SVXSTR_COLOR_SALMON ) ) ); 243*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x00, 0x66, 0xcc ), SVX_RESSTR( RID_SVXSTR_COLOR_SEABLUE ) ) ); 244cdf0e10cSrcweir 245*28806869SArmin Le Grand // <!-- add Chart colors from original palette (also 12, coincidence?) --> 246*28806869SArmin Le Grand XubString aStrChart( SVX_RESSTR( RID_SVXSTR_COLOR_CHART ) ); 247*28806869SArmin Le Grand aStrChart.AppendAscii(" 1"); 248*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x00, 0x45, 0x86 ), aStrChart ) ); 249*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('2')); 250*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0x42, 0x0e ), aStrChart ) ); 251*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('3')); 252*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0xd3, 0x20 ), aStrChart ) ); 253*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('4')); 254*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x57, 0x9d, 0x1c ), aStrChart ) ); 255*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('5')); 256*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x7e, 0x00, 0x21 ), aStrChart ) ); 257*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('6')); 258*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x83, 0xca, 0xff ), aStrChart ) ); 259*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('7')); 260*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x31, 0x40, 0x04 ), aStrChart ) ); 261*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('8')); 262*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xae, 0xcf, 0x00 ), aStrChart ) ); 263*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('9')); 264*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x4b, 0x1f, 0x6f ), aStrChart ) ); 265*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('1')); 266*28806869SArmin Le Grand aStrChart.AppendAscii("0"); 267*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xff, 0x95, 0x0e ), aStrChart ) ); 268*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('1')); 269*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0xc5, 0x00, 0x0b ), aStrChart ) ); 270*28806869SArmin Le Grand aStrChart.SetChar(aStrChart.Len() - 1, sal_Unicode('2')); 271*28806869SArmin Le Grand Insert( new XColorEntry( Color( 0x00, 0x84, 0xd1 ), aStrChart ) ); 272cdf0e10cSrcweir 273*28806869SArmin Le Grand return(165 == Count()); 274cdf0e10cSrcweir } 275cdf0e10cSrcweir 276cdf0e10cSrcweir /************************************************************************/ 277cdf0e10cSrcweir 27897e8a929SArmin Le Grand Bitmap XColorList::CreateBitmapForUI( long /*nIndex*/ ) 279cdf0e10cSrcweir { 28097e8a929SArmin Le Grand return Bitmap(); 281cdf0e10cSrcweir } 282cdf0e10cSrcweir 283cdf0e10cSrcweir /************************************************************************/ 284cdf0e10cSrcweir 285c7be74b1SArmin Le Grand XColorListSharedPtr XColorList::GetStdColorList() 286cdf0e10cSrcweir { 287c7be74b1SArmin Le Grand if ( !aStaticGlobalColorList.get() ) 288c7be74b1SArmin Le Grand { 289c7be74b1SArmin Le Grand aStaticGlobalColorList = XPropertyListFactory::CreateSharedXColorList(SvtPathOptions().GetPalettePath()); 290c7be74b1SArmin Le Grand } 291c7be74b1SArmin Le Grand 292c7be74b1SArmin Le Grand return aStaticGlobalColorList; 293cdf0e10cSrcweir } 294cdf0e10cSrcweir 295cdf0e10cSrcweir // eof 296