xref: /aoo41x/main/svx/source/xoutdev/xtabcolr.cxx (revision f6e50924)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_svx.hxx"
26 
27 #ifndef SVX_LIGHT
28 
29 #include <com/sun/star/container/XNameContainer.hpp>
30 #include "svx/XPropertyTable.hxx"
31 #include <unotools/ucbstreamhelper.hxx>
32 
33 #include <unotools/pathoptions.hxx>
34 
35 #include "xmlxtexp.hxx"
36 #include "xmlxtimp.hxx"
37 
38 #endif
39 
40 #include <sfx2/docfile.hxx>
41 #include <tools/urlobj.hxx>
42 #include <svx/dialogs.hrc>
43 #include <svx/dialmgr.hxx>
44 #include <svx/xtable.hxx>
45 #include <svx/xpool.hxx>
46 
47 #define GLOBALOVERFLOW
48 
49 using namespace com::sun::star;
50 using namespace rtl;
51 
52 sal_Unicode const pszExtColor[]	 = {'s','o','c'};
53 
54 static char const aChckColor[]  = { 0x04, 0x00, 'S','O','C','L'};	// < 5.2
55 static char const aChckColor0[] = { 0x04, 0x00, 'S','O','C','0'};	// = 5.2
56 static char const aChckXML[]    = { '<', '?', 'x', 'm', 'l' };		// = 6.0
57 
58 // ------------------
59 // class XColorTable
60 // ------------------
61 
62 static XColorTable* pTable=0;
63 
64 /*************************************************************************
65 |*
66 |* XColorTable::XColorTable()
67 |*
68 *************************************************************************/
69 
70 XColorTable::XColorTable( const String& rPath,
71 							XOutdevItemPool* pInPool,
72 							sal_uInt16 nInitSize, sal_uInt16 nReSize ) :
73 				XPropertyTable( rPath, pInPool, nInitSize, nReSize)
74 {
75 	// ColorTable braucht keine eigene BmpTable
76 	// pBmpTable = new Table( nInitSize, nReSize );
77 }
78 
79 /************************************************************************/
80 
81 XColorTable::~XColorTable()
82 {
83 }
84 
85 XColorTable* XColorTable::GetStdColorTable()
86 {
87 	if ( !pTable )
88 		pTable = new XColorTable( SvtPathOptions().GetPalettePath() );
89 	return pTable;
90 }
91 
92 /************************************************************************/
93 
94 XColorEntry* XColorTable::Replace(long nIndex, XColorEntry* pEntry )
95 {
96 	return (XColorEntry*) XPropertyTable::Replace(nIndex, pEntry);
97 }
98 
99 /************************************************************************/
100 
101 XColorEntry* XColorTable::Remove(long nIndex)
102 {
103 	return (XColorEntry*) XPropertyTable::Remove(nIndex, 0);
104 }
105 
106 /************************************************************************/
107 
108 XColorEntry* XColorTable::GetColor(long nIndex) const
109 {
110 	return (XColorEntry*) XPropertyTable::Get(nIndex, 0);
111 }
112 
113 /************************************************************************/
114 
115 sal_Bool XColorTable::Load()
116 {
117 	if( bTableDirty )
118 	{
119 		bTableDirty = sal_False;
120 
121 		INetURLObject aURL( aPath );
122 
123 		if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
124 		{
125 			DBG_ASSERT( !aPath.Len(), "invalid URL" );
126 			return sal_False;
127 		}
128 
129 		aURL.Append( aName );
130 
131 		if( !aURL.getExtension().getLength() )
132 			aURL.setExtension( rtl::OUString( pszExtColor, 3 ) );
133 
134 		uno::Reference< container::XNameContainer > xTable( SvxUnoXColorTable_createInstance( this ), uno::UNO_QUERY );
135 		return SvxXMLXTableImport::load( aURL.GetMainURL( INetURLObject::NO_DECODE ), xTable );
136 	}
137 	return( sal_False );
138 }
139 
140 /************************************************************************/
141 
142 sal_Bool XColorTable::Save()
143 {
144 	INetURLObject aURL( aPath );
145 
146 	if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
147 	{
148 		DBG_ASSERT( !aPath.Len(), "invalid URL" );
149 		return sal_False;
150 	}
151 
152 	aURL.Append( aName );
153 
154 	if( !aURL.getExtension().getLength() )
155 		aURL.setExtension( rtl::OUString( pszExtColor, 3 ) );
156 
157 	uno::Reference< container::XNameContainer > xTable( SvxUnoXColorTable_createInstance( this ), uno::UNO_QUERY );
158 	return SvxXMLXTableExportComponent::save( aURL.GetMainURL( INetURLObject::NO_DECODE ), xTable );
159 }
160 
161 /************************************************************************/
162 
163 sal_Bool XColorTable::Create()
164 {
165 	XubString aStr;
166 	xub_StrLen nLen;
167 	ResMgr& rRes = DIALOG_MGR();
168 
169 	static sal_uInt16 __READONLY_DATA aResId[] =
170 	{
171 		RID_SVXSTR_BLACK,
172 		RID_SVXSTR_BLUE,
173 		RID_SVXSTR_GREEN,
174 		RID_SVXSTR_CYAN,
175 		RID_SVXSTR_RED,
176 		RID_SVXSTR_MAGENTA,
177 		RID_SVXSTR_BROWN,
178 		RID_SVXSTR_GREY,
179 		RID_SVXSTR_LIGHTGREY,
180 		RID_SVXSTR_LIGHTBLUE,
181 		RID_SVXSTR_LIGHTGREEN,
182 		RID_SVXSTR_LIGHTCYAN,
183 		RID_SVXSTR_LIGHTRED,
184 		RID_SVXSTR_LIGHTMAGENTA,
185 		RID_SVXSTR_YELLOW,
186 		RID_SVXSTR_WHITE
187 	};
188 
189 	// MT: COL_XXX ist in VCL kein enum mehr!!!
190 	// COL_WHITE ist seeeehr gross! ( => Zugriff ueber das obige Array hinweg )
191 	// Mit der unteren Schleife gibt es keinen Absturtz, aber es ist
192 	// alles schwarz, weil alles kleine Werte.
193 	// Ausserdem ist die ganze Vorgehensweise laut MM sehr unperformant
194 	// => lieber gleich Stringlisten laden.
195 
196 	// BM: ifndef VCL part removed (deprecated)
197 
198 	static ColorData __READONLY_DATA aColTab[] =
199 	{
200 		COL_BLACK,
201 		COL_BLUE,
202 		COL_GREEN,
203 		COL_CYAN,
204 		COL_RED,
205 		COL_MAGENTA,
206 		COL_BROWN,
207 		COL_GRAY,
208 		COL_LIGHTGRAY,
209 		COL_LIGHTBLUE,
210 		COL_LIGHTGREEN,
211 		COL_LIGHTCYAN,
212 		COL_LIGHTRED,
213 		COL_LIGHTMAGENTA,
214 		COL_YELLOW,
215 		COL_WHITE
216 	};
217 
218 	for( sal_uInt16 n = 0; n < 16; ++n )
219 	{
220 		Insert( n, new XColorEntry( Color( aColTab[n] ),
221 									String( ResId( aResId[ n ], rRes )) ) );
222 	}
223 
224 	aStr = SVX_RESSTR( RID_SVXSTR_GREY );
225 	aStr.AppendAscii(" 80%");
226 	nLen = aStr.Len() - 3;
227 	Insert(16, new XColorEntry( Color( 51, 51, 51 ), aStr ) );
228 	aStr.SetChar(nLen, sal_Unicode('7'));
229 	Insert(17, new XColorEntry( Color( 76, 76, 76 ), aStr ) );
230 	aStr.SetChar(nLen, sal_Unicode('6'));
231 	Insert(18, new XColorEntry( Color(102,102,102 ), aStr ) );
232 	aStr.SetChar(nLen, sal_Unicode('4'));
233 	Insert(19, new XColorEntry( Color(153,153,153 ), aStr ) );
234 	aStr.SetChar(nLen, sal_Unicode('3'));
235 	Insert(20, new XColorEntry( Color(179,179,179 ), aStr ) );
236 	aStr.SetChar(nLen, sal_Unicode('2'));
237 	Insert(21, new XColorEntry( Color(204,204,204 ), aStr ) );
238 	// BM: new 15%
239 	aStr.SetChar(nLen, sal_Unicode('1'));
240 	aStr.SetChar(nLen + 1, sal_Unicode('5'));
241 	Insert(22, new XColorEntry( Color(217,217,217 ), aStr ) );
242 	aStr.SetChar(nLen + 1, sal_Unicode('0'));
243 	Insert(23, new XColorEntry( Color(230,230,230 ), aStr ) );
244 	Insert(24, new XColorEntry( Color(230,230,255 ), SVX_RESSTR( RID_SVXSTR_BLUEGREY ) ) );
245 
246 	aStr = SVX_RESSTR( RID_SVXSTR_RED );
247 	aStr.AppendAscii(" 1");
248 	nLen = aStr.Len() - 1;
249 	Insert(25, new XColorEntry( Color(255, 51,102 ), aStr ) );
250 	aStr.SetChar(nLen, sal_Unicode('2'));
251 	Insert(26, new XColorEntry( Color(220, 35,  0 ), aStr ) );
252 	aStr.SetChar(nLen, sal_Unicode('3'));
253 	Insert(27, new XColorEntry( Color(184, 71,  0 ), aStr ) );
254 	aStr.SetChar(nLen, sal_Unicode('4'));
255 	Insert(28, new XColorEntry( Color(255, 51, 51 ), aStr ) );
256 	aStr.SetChar(nLen, sal_Unicode('5'));
257 	Insert(29, new XColorEntry( Color(235, 97, 61 ), aStr ) );
258 	aStr.SetChar(nLen, sal_Unicode('6'));
259 	Insert(30, new XColorEntry( Color(184, 71, 71 ), aStr ) );
260 	aStr.SetChar(nLen, sal_Unicode('7'));
261 	Insert(31, new XColorEntry( Color(184,  0, 71 ), aStr ) );
262 	aStr.SetChar(nLen, sal_Unicode('8'));
263 	Insert(32, new XColorEntry( Color(153, 40, 76 ), aStr ) );
264 
265 	aStr = SVX_RESSTR( RID_SVXSTR_MAGENTA );
266 	aStr.AppendAscii(" 1");
267 	nLen = aStr.Len() - 1;
268 	Insert(33, new XColorEntry( Color(148,  0,107 ), aStr ) );
269 	aStr.SetChar(nLen, sal_Unicode('2'));
270 	Insert(34, new XColorEntry( Color(148, 71,107 ), aStr ) );
271 	aStr.SetChar(nLen, sal_Unicode('3'));
272 	Insert(35, new XColorEntry( Color(148, 71,148 ), aStr ) );
273 	aStr.SetChar(nLen, sal_Unicode('4'));
274 	Insert(36, new XColorEntry( Color(153,102,204 ), aStr ) );
275 	aStr.SetChar(nLen, sal_Unicode('5'));
276 	Insert(37, new XColorEntry( Color(107, 71,148 ), aStr ) );
277 	aStr.SetChar(nLen, sal_Unicode('6'));
278 	Insert(38, new XColorEntry( Color(107, 35,148 ), aStr ) );
279 	aStr.SetChar(nLen, sal_Unicode('7'));
280 	Insert(39, new XColorEntry( Color(107,  0,148 ), aStr ) );
281 	aStr.SetChar(nLen, sal_Unicode('8'));
282 	Insert(40, new XColorEntry( Color( 94, 17,166 ), aStr ) );
283 
284 	aStr = SVX_RESSTR( RID_SVXSTR_BLUE );
285 	aStr.AppendAscii(" 1");
286 	nLen = aStr.Len() - 1;
287 	Insert(41, new XColorEntry( Color( 40,  0,153 ), aStr ) );
288 	aStr.SetChar(nLen, sal_Unicode('2'));
289 	Insert(42, new XColorEntry( Color( 71,  0,184 ), aStr ) );
290 	aStr.SetChar(nLen, sal_Unicode('3'));
291 	Insert(43, new XColorEntry( Color( 35,  0,220 ), aStr ) );
292 	aStr.SetChar(nLen, sal_Unicode('4'));
293 	Insert(44, new XColorEntry( Color( 35, 35,220 ), aStr ) );
294 	aStr.SetChar(nLen, sal_Unicode('5'));
295 	Insert(45, new XColorEntry( Color(  0, 71,255 ), aStr ) );
296 	aStr.SetChar(nLen, sal_Unicode('6'));
297 	Insert(46, new XColorEntry( Color(  0,153,255 ), aStr ) );
298 	aStr.SetChar(nLen, sal_Unicode('7'));
299 	Insert(47, new XColorEntry( Color(  0,184,255 ), aStr ) );
300 	aStr.SetChar(nLen, sal_Unicode('8'));
301 	Insert(48, new XColorEntry( Color(153,204,255 ), aStr ) );
302 	//Insert(48, new XColorEntry( Color( 46,215,255 ), aStr ) );
303 
304 	aStr = SVX_RESSTR( RID_SVXSTR_CYAN );
305 	aStr.AppendAscii(" 1");
306 	nLen = aStr.Len() - 1;
307 	Insert(49, new XColorEntry( Color(  0,220,255 ), aStr ) );
308 	aStr.SetChar(nLen, sal_Unicode('2'));
309 	Insert(50, new XColorEntry( Color(  0,204,204 ), aStr ) );
310 	aStr.SetChar(nLen, sal_Unicode('3'));
311 	Insert(51, new XColorEntry( Color( 35,184,220 ), aStr ) );
312 	aStr.SetChar(nLen, sal_Unicode('4'));
313 	Insert(52, new XColorEntry( Color( 71,184,184 ), aStr ) );
314 	aStr.SetChar(nLen, sal_Unicode('5'));
315 	Insert(53, new XColorEntry( Color( 51,163,163 ), aStr ) );
316 	aStr.SetChar(nLen, sal_Unicode('6'));
317 	Insert(54, new XColorEntry( Color( 25,138,138 ), aStr ) );
318 	aStr.SetChar(nLen, sal_Unicode('7'));
319 	Insert(55, new XColorEntry( Color(  0,107,107 ), aStr ) );
320 	aStr.SetChar(nLen, sal_Unicode('8'));
321 	Insert(56, new XColorEntry( Color(  0, 74, 74 ), aStr ) );
322 
323 	aStr = SVX_RESSTR( RID_SVXSTR_GREEN );
324 	aStr.AppendAscii(" 1");
325 	nLen = aStr.Len() - 1;
326 	Insert(57, new XColorEntry( Color( 53, 94,  0 ), aStr ) );
327 	aStr.SetChar(nLen, sal_Unicode('2'));
328 	Insert(58, new XColorEntry( Color( 92,133, 38 ), aStr ) );
329 	aStr.SetChar(nLen, sal_Unicode('3'));
330 	Insert(59, new XColorEntry( Color(125,166, 71 ), aStr ) );
331 	aStr.SetChar(nLen, sal_Unicode('4'));
332 	Insert(60, new XColorEntry( Color(148,189, 94 ), aStr ) );
333 	aStr.SetChar(nLen, sal_Unicode('5'));
334 	Insert(61, new XColorEntry( Color(  0,174,  0 ), aStr ) );
335 	aStr.SetChar(nLen, sal_Unicode('6'));
336 	Insert(62, new XColorEntry( Color( 51,204,102 ), aStr ) );
337 	aStr.SetChar(nLen, sal_Unicode('7'));
338 	Insert(63, new XColorEntry( Color( 61,235, 61 ), aStr ) );
339 	aStr.SetChar(nLen, sal_Unicode('8'));
340 	Insert(64, new XColorEntry( Color( 35,255, 35 ), aStr ) );
341 
342 	aStr = SVX_RESSTR( RID_SVXSTR_YELLOW );
343 	aStr.AppendAscii(" 1");
344 	nLen = aStr.Len() - 1;
345 	Insert(65, new XColorEntry( Color(230,255,  0 ), aStr ) );
346 	aStr.SetChar(nLen, sal_Unicode('2'));
347 	Insert(66, new XColorEntry( Color(255,255,153 ), aStr ) );
348 	aStr.SetChar(nLen, sal_Unicode('3'));
349 	Insert(67, new XColorEntry( Color(255,255,102 ), aStr ) );
350 	aStr.SetChar(nLen, sal_Unicode('4'));
351 	Insert(68, new XColorEntry( Color(230,230, 76 ), aStr ) );
352 	aStr.SetChar(nLen, sal_Unicode('5'));
353 	Insert(69, new XColorEntry( Color(204,204,  0 ), aStr ) );
354 	aStr.SetChar(nLen, sal_Unicode('6'));
355 	Insert(70, new XColorEntry( Color(179,179,  0 ), aStr ) );
356 	aStr.SetChar(nLen, sal_Unicode('7'));
357 	Insert(71, new XColorEntry( Color(128,128, 25 ), aStr ) );
358 	aStr.SetChar(nLen, sal_Unicode('8'));
359 	Insert(72, new XColorEntry( Color(102,102,  0 ), aStr ) );
360 
361 	aStr = SVX_RESSTR( RID_SVXSTR_BROWN );
362 	aStr.AppendAscii(" 1");
363 	nLen = aStr.Len() - 1;
364 	Insert(73, new XColorEntry( Color( 76, 25,  0 ), aStr ) );
365 	aStr.SetChar(nLen, sal_Unicode('2'));
366 	Insert(74, new XColorEntry( Color(102, 51,  0 ), aStr ) );
367 	aStr.SetChar(nLen, sal_Unicode('3'));
368 	Insert(75, new XColorEntry( Color(128, 76, 25 ), aStr ) );
369 	aStr.SetChar(nLen, sal_Unicode('4'));
370 	Insert(76, new XColorEntry( Color(153,102, 51 ), aStr ) );
371 
372 	aStr = SVX_RESSTR( RID_SVXSTR_ORANGE );
373 	aStr.AppendAscii(" 1");
374 	nLen = aStr.Len() - 1;
375 	Insert(77, new XColorEntry( Color(204,102, 51 ), aStr ) );
376 	aStr.SetChar(nLen, sal_Unicode('2'));
377 	Insert(78, new XColorEntry( Color(255,102, 51 ), aStr ) );
378 	aStr.SetChar(nLen, sal_Unicode('3'));
379 	Insert(79, new XColorEntry( Color(255,153,102 ), aStr ) );
380 	aStr.SetChar(nLen, sal_Unicode('4'));
381 	Insert(80, new XColorEntry( Color(255,204,153 ), aStr ) );
382 
383 	// new chart colors
384 	aStr = SVX_RESSTR( RID_SVXSTR_VIOLET );
385 	Insert( 81, new XColorEntry( Color( 0x99, 0x99, 0xff ), aStr ) );
386 
387 	aStr = SVX_RESSTR( RID_SVXSTR_BORDEAUX );
388 	Insert( 82, new XColorEntry( Color( 0x99, 0x33, 0x66 ), aStr ) );
389 
390 	aStr = SVX_RESSTR( RID_SVXSTR_PALE_YELLOW );
391 	Insert( 83, new XColorEntry( Color( 0xff, 0xff, 0xcc ), aStr ) );
392 
393 	aStr = SVX_RESSTR( RID_SVXSTR_PALE_GREEN );
394 	Insert( 84, new XColorEntry( Color( 0xcc, 0xff, 0xff ), aStr ) );
395 
396 	aStr = SVX_RESSTR( RID_SVXSTR_DKVIOLET );
397 	Insert( 85, new XColorEntry( Color( 0x66, 0x00, 0x66 ), aStr ) );
398 
399 	aStr = SVX_RESSTR( RID_SVXSTR_SALMON );
400 	Insert( 86, new XColorEntry( Color( 0xff, 0x80, 0x80 ), aStr ) );
401 
402 	aStr = SVX_RESSTR( RID_SVXSTR_SEABLUE );
403 	Insert( 87, new XColorEntry( Color( 0x00, 0x66, 0xcc ), aStr ) );
404 
405 	// Sun colors
406 	aStr = SVX_RESSTR( RID_SVXSTR_COLOR_SUN );
407 	aStr.AppendAscii(" 1");
408 	nLen = aStr.Len() - 1;
409 	Insert( 88, new XColorEntry( Color( 0x33, 0x33, 0x66 ), aStr ) );
410 	aStr.SetChar(nLen, sal_Unicode('2'));
411 	Insert( 89, new XColorEntry( Color( 0x66, 0x66, 0x99 ), aStr ) );
412 	aStr.SetChar(nLen, sal_Unicode('3'));
413 	Insert( 90, new XColorEntry( Color( 0x99, 0x99, 0xcc ), aStr ) );
414 	aStr.SetChar(nLen, sal_Unicode('4'));
415 	Insert( 91, new XColorEntry( Color( 0xcc, 0xcc, 0xff ), aStr ) );
416 
417     // Chart default colors
418     aStr = SVX_RESSTR( RID_SVXSTR_COLOR_CHART );
419     aStr.AppendAscii(" 1");
420     nLen = aStr.Len() - 1;
421     Insert( 92, new XColorEntry( Color( 0x00, 0x45, 0x86 ), aStr ) );
422     aStr.SetChar(nLen, sal_Unicode('2'));
423     Insert( 93, new XColorEntry( Color( 0xff, 0x42, 0x0e ), aStr ) );
424     aStr.SetChar(nLen, sal_Unicode('3'));
425     Insert( 94, new XColorEntry( Color( 0xff, 0xd3, 0x20 ), aStr ) );
426     aStr.SetChar(nLen, sal_Unicode('4'));
427     Insert( 95, new XColorEntry( Color( 0x57, 0x9d, 0x1c ), aStr ) );
428     aStr.SetChar(nLen, sal_Unicode('5'));
429     Insert( 96, new XColorEntry( Color( 0x7e, 0x00, 0x21 ), aStr ) );
430     aStr.SetChar(nLen, sal_Unicode('6'));
431     Insert( 97, new XColorEntry( Color( 0x83, 0xca, 0xff ), aStr ) );
432     aStr.SetChar(nLen, sal_Unicode('7'));
433     Insert( 98, new XColorEntry( Color( 0x31, 0x40, 0x04 ), aStr ) );
434     aStr.SetChar(nLen, sal_Unicode('8'));
435     Insert( 99, new XColorEntry( Color( 0xae, 0xcf, 0x00 ), aStr ) );
436     aStr.SetChar(nLen, sal_Unicode('9'));
437     Insert( 100, new XColorEntry( Color( 0x4b, 0x1f, 0x6f ), aStr ) );
438     aStr.SetChar(nLen, sal_Unicode('1'));
439     aStr.AppendAscii("0");
440     nLen = aStr.Len() - 1;
441     Insert( 101, new XColorEntry( Color( 0xff, 0x95, 0x0e ), aStr ) );
442     aStr.SetChar(nLen, sal_Unicode('1'));
443     Insert( 102, new XColorEntry( Color( 0xc5, 0x00, 0x0b ), aStr ) );
444     aStr.SetChar(nLen, sal_Unicode('2'));
445     Insert( 103, new XColorEntry( Color( 0x00, 0x84, 0xd1 ), aStr ) );
446 
447 	return( Count() == 104 );
448 }
449 
450 /************************************************************************/
451 
452 sal_Bool XColorTable::CreateBitmapsForUI()
453 {
454 	return( sal_False );
455 }
456 
457 /************************************************************************/
458 
459 Bitmap* XColorTable::CreateBitmapForUI( long /*nIndex*/, sal_Bool /*bDelete*/)
460 {
461 	return( NULL );
462 }
463 
464 // --------------------
465 // class XColorList
466 // --------------------
467 
468 /*************************************************************************
469 |*
470 |* XColorList::XColorList()
471 |*
472 *************************************************************************/
473 
474 XColorList::XColorList( const String& rPath,
475 							XOutdevItemPool* pInPool,
476 							sal_uInt16 nInitSize, sal_uInt16 nReSize ) :
477 				XPropertyList( rPath, pInPool, nInitSize, nReSize)
478 {
479 	// pBmpList = new List( nInitSize, nReSize );
480 }
481 
482 /************************************************************************/
483 
484 XColorList::~XColorList()
485 {
486 }
487 
488 /************************************************************************/
489 
490 XColorEntry* XColorList::Replace(XColorEntry* pEntry, long nIndex )
491 {
492 	return (XColorEntry*) XPropertyList::Replace(pEntry, nIndex);
493 }
494 
495 /************************************************************************/
496 
497 XColorEntry* XColorList::Remove(long nIndex)
498 {
499 	return (XColorEntry*) XPropertyList::Remove(nIndex, 0);
500 }
501 
502 /************************************************************************/
503 
504 XColorEntry* XColorList::GetColor(long nIndex) const
505 {
506 	return (XColorEntry*) XPropertyList::Get(nIndex, 0);
507 }
508 
509 /************************************************************************/
510 
511 sal_Bool XColorList::Load()
512 {
513 	return( sal_False );
514 }
515 
516 /************************************************************************/
517 
518 sal_Bool XColorList::Save()
519 {
520 	return( sal_False );
521 }
522 
523 /************************************************************************/
524 
525 sal_Bool XColorList::Create()
526 {
527 	return( sal_False );
528 }
529 
530 /************************************************************************/
531 
532 sal_Bool XColorList::CreateBitmapsForUI()
533 {
534 	return( sal_False );
535 }
536 
537 /************************************************************************/
538 
539 Bitmap* XColorList::CreateBitmapForUI( long /*nIndex*/, sal_Bool /*bDelete*/)
540 {
541 	return( NULL );
542 }
543 
544 // eof
545