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