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
10f6e50924SAndrew Rist *
11f6e50924SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12f6e50924SAndrew Rist *
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.
19f6e50924SAndrew Rist *
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
XColorList(const String & rPath)56c7be74b1SArmin Le Grand XColorList::XColorList( const String& rPath ) :
57c7be74b1SArmin Le Grand XPropertyList( rPath )
58cdf0e10cSrcweir {
59cdf0e10cSrcweir }
60cdf0e10cSrcweir
61cdf0e10cSrcweir /************************************************************************/
62cdf0e10cSrcweir
~XColorList()6397e8a929SArmin Le Grand XColorList::~XColorList()
64cdf0e10cSrcweir {
65cdf0e10cSrcweir }
66cdf0e10cSrcweir
67cdf0e10cSrcweir /************************************************************************/
68cdf0e10cSrcweir
Replace(XColorEntry * pEntry,long nIndex)6997e8a929SArmin Le Grand XColorEntry* XColorList::Replace(XColorEntry* pEntry, long nIndex )
70cdf0e10cSrcweir {
7197e8a929SArmin Le Grand return (XColorEntry*) XPropertyList::Replace(pEntry, nIndex);
72cdf0e10cSrcweir }
73cdf0e10cSrcweir
74cdf0e10cSrcweir /************************************************************************/
75cdf0e10cSrcweir
Remove(long nIndex)7697e8a929SArmin Le Grand XColorEntry* XColorList::Remove(long nIndex)
77cdf0e10cSrcweir {
78c7be74b1SArmin Le Grand return (XColorEntry*) XPropertyList::Remove(nIndex);
79cdf0e10cSrcweir }
80cdf0e10cSrcweir
81cdf0e10cSrcweir /************************************************************************/
82cdf0e10cSrcweir
GetColor(long nIndex) const8397e8a929SArmin Le Grand XColorEntry* XColorList::GetColor(long nIndex) const
84cdf0e10cSrcweir {
85c7be74b1SArmin Le Grand return (XColorEntry*) XPropertyList::Get(nIndex);
86cdf0e10cSrcweir }
87cdf0e10cSrcweir
88cdf0e10cSrcweir /************************************************************************/
89cdf0e10cSrcweir
Load()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
Save()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
Create()1393e407bd8SArmin Le Grand bool XColorList::Create()
140cdf0e10cSrcweir {
141*28806869SArmin Le Grand sal_uInt32 a(0);
142*28806869SArmin Le Grand sal_uInt32 b(0);
143*28806869SArmin Le Grand
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++)
178*28806869SArmin Le Grand {
179*28806869SArmin Le Grand switch(a)
180*28806869SArmin Le Grand {
181*28806869SArmin Le Grand case 0:
182*28806869SArmin Le Grand {
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 }
222*28806869SArmin Le Grand }
223*28806869SArmin Le Grand
224*28806869SArmin Le Grand const sal_uInt32 nOffset(a * nNumColorsInGroup);
225*28806869SArmin Le Grand
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 ) ) );
235*28806869SArmin Le Grand
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 ) ) );
244*28806869SArmin Le Grand
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 ) );
272*28806869SArmin Le Grand
273*28806869SArmin Le Grand return(165 == Count());
274cdf0e10cSrcweir }
275cdf0e10cSrcweir
276cdf0e10cSrcweir /************************************************************************/
277cdf0e10cSrcweir
CreateBitmapForUI(long)27897e8a929SArmin Le Grand Bitmap XColorList::CreateBitmapForUI( long /*nIndex*/ )
279cdf0e10cSrcweir {
28097e8a929SArmin Le Grand return Bitmap();
281cdf0e10cSrcweir }
282cdf0e10cSrcweir
283cdf0e10cSrcweir /************************************************************************/
284cdf0e10cSrcweir
GetStdColorList()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