xref: /aoo42x/main/sw/source/ui/utlui/attrdesc.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_sw.hxx"
30 
31 
32 #include <svl/itemiter.hxx>
33 #include <vcl/svapp.hxx>
34 #include <editeng/itemtype.hxx>
35 #include <svtools/grfmgr.hxx>
36 #include <unotools/intlwrapper.hxx>
37 #include <comphelper/processfactory.hxx>
38 #include <fmtanchr.hxx>
39 #include <fmtfsize.hxx>
40 #include <fmtinfmt.hxx>
41 #include <fchrfmt.hxx>
42 #include <fmtautofmt.hxx>
43 #include <fmtsrnd.hxx>
44 #include <fmtornt.hxx>
45 #include <fmtlsplt.hxx>
46 #include <fmtrowsplt.hxx>
47 #include <fmtpdsc.hxx>
48 #include <fmtclds.hxx>
49 #include <fmteiro.hxx>
50 #include <fmturl.hxx>
51 #include <fmthdft.hxx>
52 #include <fmtcnct.hxx>
53 #include <fmtline.hxx>
54 #include <tgrditem.hxx>
55 #include <hfspacingitem.hxx>
56 #include <fmtruby.hxx>
57 #include <paratr.hxx>
58 #include <grfatr.hxx>
59 #include <pagedesc.hxx>
60 #include <charfmt.hxx>
61 #include <fmtcol.hxx>
62 #include <tox.hxx>
63 #ifndef _ATTRDESC_HRC
64 #include <attrdesc.hrc>
65 #endif
66 #include <fmtftntx.hxx>
67 #include <fmtfollowtextflow.hxx>
68 
69 
70 using namespace com::sun::star;
71 
72 
73 TYPEINIT2(SwFmtCharFmt,SfxPoolItem,SwClient);
74 
75 // erfrage die Attribut-Beschreibung
76 void SwAttrSet::GetPresentation(
77         SfxItemPresentation ePres,
78         SfxMapUnit eCoreMetric,
79         SfxMapUnit ePresMetric,
80 		String &rText ) const
81 {
82 static sal_Char __READONLY_DATA sKomma[] = ", ";
83 
84 	rText.Erase();
85 	String aStr;
86 	if( Count() )
87 	{
88 		SfxItemIter aIter( *this );
89         const IntlWrapper rInt( ::comphelper::getProcessServiceFactory(),
90             						GetAppLanguage() );
91 		while( sal_True )
92 		{
93 			aIter.GetCurItem()->GetPresentation( ePres, eCoreMetric,
94                                                  ePresMetric, aStr,
95 												 &rInt );
96 			if( rText.Len() && aStr.Len() )
97 				rText += String::CreateFromAscii(sKomma);
98 			rText += aStr;
99 			if( aIter.IsAtEnd() )
100 				break;
101 			aIter.NextItem();
102 		}
103 	}
104 }
105 
106 // ATT_CHARFMT *********************************************
107 
108 
109 SfxItemPresentation SwFmtCharFmt::GetPresentation
110 (
111 	SfxItemPresentation ePres,
112 	SfxMapUnit			eCoreUnit,
113 	SfxMapUnit			ePresUnit,
114 	String& 			rText,
115     const IntlWrapper*        /*pIntl*/
116 )	const
117 {
118 	switch ( ePres )
119 	{
120 		case SFX_ITEM_PRESENTATION_NONE:
121 			rText.Erase();
122 			break;
123 		case SFX_ITEM_PRESENTATION_NAMELESS:
124 		case SFX_ITEM_PRESENTATION_COMPLETE:
125 		{
126 			const SwCharFmt *pCharFmt = GetCharFmt();
127 			if ( pCharFmt )
128 			{
129 				String aStr;
130 				rText = SW_RESSTR(STR_CHARFMT );
131 				pCharFmt->GetPresentation( ePres, eCoreUnit, ePresUnit, aStr );
132 				rText += '(';
133 				rText += aStr;
134 				rText += ')';
135 			}
136 			else
137 				rText = SW_RESSTR( STR_NO_CHARFMT );
138 			return ePres;
139 		}
140         default:;//prevent warning
141 	}
142 	return SFX_ITEM_PRESENTATION_NONE;
143 }
144 
145 // ATT_AUTOFMT *********************************************
146 
147 
148 SfxItemPresentation SwFmtAutoFmt::GetPresentation
149 (
150 	SfxItemPresentation ePres,
151     SfxMapUnit          /*eCoreUnit*/,
152     SfxMapUnit          /*ePresUnit*/,
153 	String& 			rText,
154     const IntlWrapper*        /*pIntl*/
155 )	const
156 {
157 	switch ( ePres )
158 	{
159 		case SFX_ITEM_PRESENTATION_NONE:
160 			rText.Erase();
161 			break;
162 		case SFX_ITEM_PRESENTATION_NAMELESS:
163 		case SFX_ITEM_PRESENTATION_COMPLETE:
164 		{
165 			rText.Erase(); //TODO
166 			return ePres;
167 		}
168         default:;//prevent warning
169 	}
170 	return SFX_ITEM_PRESENTATION_NONE;
171 }
172 
173 // ATT_INETFMT *********************************************
174 
175 
176 SfxItemPresentation SwFmtINetFmt::GetPresentation
177 (
178 	SfxItemPresentation ePres,
179     SfxMapUnit          /*eCoreUnit*/,
180     SfxMapUnit          /*ePresUnit*/,
181 	String& 			rText,
182     const IntlWrapper*        /*pIntl*/
183 )	const
184 {
185 	switch ( ePres )
186 	{
187 		case SFX_ITEM_PRESENTATION_NONE:
188 			rText.Erase();
189 			break;
190 		case SFX_ITEM_PRESENTATION_NAMELESS:
191 		case SFX_ITEM_PRESENTATION_COMPLETE:
192 		{
193 			rText = GetValue();
194 			return ePres;
195 		}
196         default:;//prevent warning
197 	}
198 	return SFX_ITEM_PRESENTATION_NONE;
199 }
200 
201 SfxItemPresentation SwFmtRuby::GetPresentation( SfxItemPresentation ePres,
202                             SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
203                             String &rText, const IntlWrapper* /*pIntl*/ ) const
204 {
205 	switch ( ePres )
206 	{
207         case SFX_ITEM_PRESENTATION_NONE:
208             rText.Erase();
209             break;
210         case SFX_ITEM_PRESENTATION_NAMELESS:
211         case SFX_ITEM_PRESENTATION_COMPLETE:
212             {
213                 rText = aEmptyStr;
214                 return ePres;
215             }
216         default:;//prevent warning
217 	}
218 	return SFX_ITEM_PRESENTATION_NONE;
219 }
220 
221 /*************************************************************************
222 |*    class		SwFmtDrop
223 *************************************************************************/
224 
225 
226 SfxItemPresentation SwFmtDrop::GetPresentation
227 (
228 	SfxItemPresentation ePres,
229     SfxMapUnit          /*eCoreUnit*/,
230     SfxMapUnit          /*ePresUnit*/,
231 	String& 			rText,
232     const IntlWrapper*        /*pIntl*/
233 )	const
234 {
235 	rText.Erase();
236 	switch ( ePres )
237 	{
238 		case SFX_ITEM_PRESENTATION_NONE:
239 			break;
240 		case SFX_ITEM_PRESENTATION_NAMELESS:
241 		case SFX_ITEM_PRESENTATION_COMPLETE:
242 		{
243 			if ( GetLines() > 1 )
244 			{
245 				if ( GetChars() > 1 )
246 				{
247 					rText = String::CreateFromInt32( GetChars() );
248 					rText += ' ';
249 				}
250 				rText += SW_RESSTR( STR_DROP_OVER );
251 				rText += ' ';
252 				rText += String::CreateFromInt32( GetLines() );
253 				rText += ' ';
254 				rText += SW_RESSTR( STR_DROP_LINES );
255 			}
256 			else
257 				rText = SW_RESSTR( STR_NO_DROP_LINES );
258 			return ePres;
259 		}
260         default:;//prevent warning
261 	}
262 	return SFX_ITEM_PRESENTATION_NONE;
263 }
264 
265 /*************************************************************************
266 |*    class		SwRegisterItem
267 *************************************************************************/
268 
269 
270 SfxItemPresentation SwRegisterItem::GetPresentation
271 (
272 	SfxItemPresentation ePres,
273     SfxMapUnit          /*eCoreUnit*/,
274     SfxMapUnit          /*ePresUnit*/,
275 	XubString& 			rText,
276     const IntlWrapper*        /*pIntl*/
277 )	const
278 {
279 	switch ( ePres )
280 	{
281 		case SFX_ITEM_PRESENTATION_NONE:
282 			rText.Erase();
283 			return SFX_ITEM_PRESENTATION_NONE;
284 		case SFX_ITEM_PRESENTATION_NAMELESS:
285 		case SFX_ITEM_PRESENTATION_COMPLETE:
286 		{
287 			sal_uInt16 nId = GetValue() ? STR_REGISTER_ON : STR_REGISTER_OFF;
288 			rText = SW_RESSTR( nId );
289 			return ePres;
290 		}
291         default:;//prevent warning
292 	}
293 	return SFX_ITEM_PRESENTATION_NONE;
294 }
295 
296 /*************************************************************************
297 |*    class		SwNumRuleItem
298 *************************************************************************/
299 
300 
301 SfxItemPresentation SwNumRuleItem::GetPresentation
302 (
303 	SfxItemPresentation ePres,
304     SfxMapUnit          /*eCoreUnit*/,
305     SfxMapUnit          /*ePresUnit*/,
306 	XubString& 			rText,
307     const IntlWrapper*        /*pIntl*/
308 )	const
309 {
310 	switch ( ePres )
311 	{
312 		case SFX_ITEM_PRESENTATION_NONE:
313 			rText.Erase();
314 			return SFX_ITEM_PRESENTATION_NONE;
315 		case SFX_ITEM_PRESENTATION_NAMELESS:
316 		case SFX_ITEM_PRESENTATION_COMPLETE:
317 		{
318 			if( GetValue().Len() )
319 				(((rText = SW_RESSTR( STR_NUMRULE_ON )) +=
320 					'(' ) += GetValue() ) += ')';
321 			else
322 				rText = SW_RESSTR( STR_NUMRULE_OFF );
323 			return ePres;
324 		}
325         default:;//prevent warning
326 	}
327 	return SFX_ITEM_PRESENTATION_NONE;
328 }
329 /*************************************************************************
330 |*    class     SwParaConnectBorderItem
331 *************************************************************************/
332 
333 SfxItemPresentation SwParaConnectBorderItem::GetPresentation
334 (
335     SfxItemPresentation ePres,
336     SfxMapUnit          /*eCoreUnit*/,
337     SfxMapUnit          /*ePresUnit*/,
338     XubString&          rText,
339     const IntlWrapper*        /*pIntl*/
340 )   const
341 {
342     switch ( ePres )
343     {
344         case SFX_ITEM_PRESENTATION_NONE:
345             rText.Erase();
346             return SFX_ITEM_PRESENTATION_NONE;
347         case SFX_ITEM_PRESENTATION_NAMELESS:
348         case SFX_ITEM_PRESENTATION_COMPLETE:
349         {
350             sal_uInt16 nId = GetValue() ? STR_CONNECT_BORDER_ON : STR_CONNECT_BORDER_OFF;
351             rText = SW_RESSTR( nId );
352             return ePres;
353         }
354         default:;//prevent warning
355     }
356     return SFX_ITEM_PRESENTATION_NONE;
357 }
358 
359 
360 
361 /******************************************************************************
362  *	Frame-Attribute:
363  ******************************************************************************/
364 
365 
366 SfxItemPresentation SwFmtFrmSize::GetPresentation
367 (
368 	SfxItemPresentation ePres,
369 	SfxMapUnit			eCoreUnit,
370 	SfxMapUnit			ePresUnit,
371 	String& 			rText,
372     const IntlWrapper*        pIntl
373 )	const
374 {
375 	switch ( ePres )
376 	{
377 		case SFX_ITEM_PRESENTATION_NONE:
378 		{
379 			rText.Erase();
380 			break;
381 		}
382 		case SFX_ITEM_PRESENTATION_NAMELESS:
383 		case SFX_ITEM_PRESENTATION_COMPLETE:
384 		{
385 			rText = SW_RESSTR( STR_FRM_WIDTH );
386 			rText += ' ';
387 			if ( GetWidthPercent() )
388 			{
389 				rText += String::CreateFromInt32(GetWidthPercent());
390 				rText += '%';
391 			}
392 			else
393 			{
394                 rText += ::GetMetricText( GetWidth(), eCoreUnit, ePresUnit, pIntl );
395 				rText += ::GetSvxString( ::GetMetricId( ePresUnit ) );
396 			}
397             if ( ATT_VAR_SIZE != GetHeightSizeType() )
398 			{
399 				rText += ',';
400 				rText += ' ';
401                 const sal_uInt16 nId = ATT_FIX_SIZE == eFrmHeightType ?
402 										STR_FRM_FIXEDHEIGHT : STR_FRM_MINHEIGHT;
403 				rText += SW_RESSTR( nId );
404 				rText += ' ';
405 				if ( GetHeightPercent() )
406 				{
407 					rText += String::CreateFromInt32(GetHeightPercent());
408 					rText += '%';
409 				}
410 				else
411 				{
412                     rText += ::GetMetricText( GetHeight(), eCoreUnit, ePresUnit, pIntl );
413 					rText += ::GetSvxString( ::GetMetricId( ePresUnit ) );
414 				}
415 			}
416 			return ePres;
417 		}
418         default:;//prevent warning
419 	}
420 	return SFX_ITEM_PRESENTATION_NONE;
421 }
422 
423 //Kopfzeile, fuer Seitenformate
424 //Client von FrmFmt das den Header beschreibt.
425 
426 
427 SfxItemPresentation SwFmtHeader::GetPresentation
428 (
429 	SfxItemPresentation ePres,
430     SfxMapUnit          /*eCoreUnit*/,
431     SfxMapUnit          /*ePresUnit*/,
432 	String& 			rText,
433     const IntlWrapper*        /*pIntl*/
434 )	const
435 {
436 	switch ( ePres )
437 	{
438 		case SFX_ITEM_PRESENTATION_NONE:
439 			rText.Erase();
440 			break;
441 		case SFX_ITEM_PRESENTATION_NAMELESS:
442 		case SFX_ITEM_PRESENTATION_COMPLETE:
443 		{
444 			const sal_uInt16 nId = GetHeaderFmt() ? STR_HEADER : STR_NO_HEADER;
445 			rText = SW_RESSTR( nId );
446 			return ePres;
447 		}
448         default:;//prevent warning
449 	}
450 	return SFX_ITEM_PRESENTATION_NONE;
451 }
452 
453 //Fusszeile, fuer Seitenformate
454 //Client von FrmFmt das den Footer beschreibt.
455 
456 
457 SfxItemPresentation SwFmtFooter::GetPresentation
458 (
459 	SfxItemPresentation ePres,
460     SfxMapUnit          /*eCoreUnit*/,
461     SfxMapUnit          /*ePresUnit*/,
462 	String& 			rText,
463     const IntlWrapper*        /*pIntl*/
464 )	const
465 {
466 	switch ( ePres )
467 	{
468 		case SFX_ITEM_PRESENTATION_NONE:
469 			rText.Erase();
470 			break;
471 		case SFX_ITEM_PRESENTATION_NAMELESS:
472 		case SFX_ITEM_PRESENTATION_COMPLETE:
473 		{
474 			const sal_uInt16 nId = GetFooterFmt() ? STR_FOOTER : STR_NO_FOOTER;
475 			rText = SW_RESSTR( nId );
476 			return ePres;
477 		}
478         default:;//prevent warning
479 	}
480 	return SFX_ITEM_PRESENTATION_NONE;
481 }
482 
483 
484 SfxItemPresentation SwFmtSurround::GetPresentation
485 (
486 	SfxItemPresentation ePres,
487     SfxMapUnit          /*eCoreUnit*/,
488     SfxMapUnit          /*ePresUnit*/,
489 	String& 			rText,
490     const IntlWrapper*        /*pIntl*/
491 )	const
492 {
493 	switch ( ePres )
494 	{
495 		case SFX_ITEM_PRESENTATION_NONE:
496 			rText.Erase();
497 			break;
498 		case SFX_ITEM_PRESENTATION_NAMELESS:
499 		case SFX_ITEM_PRESENTATION_COMPLETE:
500 		{
501 			sal_uInt16 nId = 0;
502 			switch ( (SwSurround)GetValue() )
503 			{
504 				case SURROUND_NONE:
505 					nId = STR_SURROUND_NONE;
506 				break;
507 				case SURROUND_THROUGHT:
508 					nId = STR_SURROUND_THROUGHT;
509 				break;
510 				case SURROUND_PARALLEL:
511 					nId = STR_SURROUND_PARALLEL;
512 				break;
513 				case SURROUND_IDEAL:
514 					nId = STR_SURROUND_IDEAL;
515 				break;
516 				case SURROUND_LEFT:
517 					nId = STR_SURROUND_LEFT;
518 				break;
519 				case SURROUND_RIGHT:
520 					nId = STR_SURROUND_RIGHT;
521 				break;
522                 default:;//prevent warning
523 			}
524 			if ( nId )
525 				rText = SW_RESSTR( nId );
526 
527 			if ( IsAnchorOnly() )
528 			{
529 				rText += ' ';
530 				rText += SW_RESSTR( STR_SURROUND_ANCHORONLY );
531 			}
532 			return ePres;
533 		}
534         default:;//prevent warning
535 	}
536 	return SFX_ITEM_PRESENTATION_NONE;
537 }
538 
539 
540 //VertOrientation, wie und woran orientiert --
541 //	sich der FlyFrm in der Vertikalen -----------
542 
543 
544 SfxItemPresentation SwFmtVertOrient::GetPresentation
545 (
546 	SfxItemPresentation ePres,
547 	SfxMapUnit			eCoreUnit,
548 	SfxMapUnit			ePresUnit,
549 	String& 			rText,
550     const IntlWrapper*        pIntl
551 )	const
552 {
553 	switch ( ePres )
554 	{
555 		case SFX_ITEM_PRESENTATION_NONE:
556 			rText.Erase();
557 			break;
558 		case SFX_ITEM_PRESENTATION_NAMELESS:
559 		case SFX_ITEM_PRESENTATION_COMPLETE:
560 		{
561 			sal_uInt16 nId = 0;
562 			switch ( GetVertOrient() )
563 			{
564                 case text::VertOrientation::NONE:
565 				{
566 					rText += SW_RESSTR( STR_POS_Y );
567 					rText += ' ';
568                     rText += ::GetMetricText( GetPos(), eCoreUnit, ePresUnit, pIntl );
569 					rText += ::GetSvxString( ::GetMetricId( ePresUnit ) );
570 				}
571 				break;
572                 case text::VertOrientation::TOP:
573 					nId = STR_VERT_TOP;
574 					break;
575                 case text::VertOrientation::CENTER:
576 					nId = STR_VERT_CENTER;
577 					break;
578                 case text::VertOrientation::BOTTOM:
579 					nId = STR_VERT_BOTTOM;
580 					break;
581                 case text::VertOrientation::LINE_TOP:
582 					nId = STR_LINE_TOP;
583 					break;
584                 case text::VertOrientation::LINE_CENTER:
585 					nId = STR_LINE_CENTER;
586 					break;
587                 case text::VertOrientation::LINE_BOTTOM:
588 					nId = STR_LINE_BOTTOM;
589 					break;
590                 default:;//prevent warning
591 			}
592 			if ( nId )
593 				rText += SW_RESSTR( nId );
594 			return ePres;
595 		}
596         default:;//prevent warning
597 	}
598 	return SFX_ITEM_PRESENTATION_NONE;
599 }
600 
601 //HoriOrientation, wie und woran orientiert --
602 //	sich der FlyFrm in der Hoizontalen ----------
603 
604 
605 SfxItemPresentation SwFmtHoriOrient::GetPresentation
606 (
607 	SfxItemPresentation ePres,
608 	SfxMapUnit			eCoreUnit,
609 	SfxMapUnit			ePresUnit,
610 	String& 			rText,
611     const IntlWrapper*        pIntl
612 )	const
613 {
614 	switch ( ePres )
615 	{
616 		case SFX_ITEM_PRESENTATION_NONE:
617 			rText.Erase();
618 			break;
619 		case SFX_ITEM_PRESENTATION_NAMELESS:
620 		case SFX_ITEM_PRESENTATION_COMPLETE:
621 		{
622 			sal_uInt16 nId = 0;
623 			switch ( GetHoriOrient() )
624 			{
625                 case text::HoriOrientation::NONE:
626 				{
627 					rText += SW_RESSTR( STR_POS_X );
628 					rText += ' ';
629                     rText += ::GetMetricText( GetPos(), eCoreUnit, ePresUnit, pIntl );
630 					rText += ::GetSvxString( ::GetMetricId( ePresUnit ) );
631 				}
632 				break;
633                 case text::HoriOrientation::RIGHT:
634 					nId = STR_HORI_RIGHT;
635 				break;
636                 case text::HoriOrientation::CENTER:
637 					nId = STR_HORI_CENTER;
638 				break;
639                 case text::HoriOrientation::LEFT:
640 					nId = STR_HORI_LEFT;
641 				break;
642                 case text::HoriOrientation::INSIDE:
643 					nId = STR_HORI_INSIDE;
644 				break;
645                 case text::HoriOrientation::OUTSIDE:
646 					nId = STR_HORI_OUTSIDE;
647 				break;
648                 case text::HoriOrientation::FULL:
649 					nId = STR_HORI_FULL;
650 				break;
651                 default:;//prevent warning
652 			}
653 			if ( nId )
654 				rText += SW_RESSTR( nId );
655 			return ePres;
656 		}
657         default:;//prevent warning
658 	}
659 	return SFX_ITEM_PRESENTATION_NONE;
660 }
661 
662 //FlyAnchor, Anker des Freifliegenden Rahmen ----
663 
664 
665 SfxItemPresentation SwFmtAnchor::GetPresentation
666 (
667 	SfxItemPresentation ePres,
668     SfxMapUnit          /*eCoreUnit*/,
669     SfxMapUnit          /*ePresUnit*/,
670 	String& 			rText,
671     const IntlWrapper*        /*pIntl*/
672 )	const
673 {
674 	switch ( ePres )
675 	{
676 		case SFX_ITEM_PRESENTATION_NONE:
677 			rText.Erase();
678 			break;
679 		case SFX_ITEM_PRESENTATION_NAMELESS:
680 		case SFX_ITEM_PRESENTATION_COMPLETE:
681 		{
682 			sal_uInt16 nId = 0;
683 			switch ( GetAnchorId() )
684 			{
685                 case FLY_AT_PARA:
686                     nId = STR_FLY_AT_PARA;
687 					break;
688                 case FLY_AS_CHAR:
689                     nId = STR_FLY_AS_CHAR;
690 					break;
691                 case FLY_AT_PAGE:
692                     nId = STR_FLY_AT_PAGE;
693 					break;
694                 default:;//prevent warning
695 			}
696 			if ( nId )
697 				rText += SW_RESSTR( nId );
698 			return ePres;
699 		}
700         default:;//prevent warning
701 	}
702 	return SFX_ITEM_PRESENTATION_NONE;
703 }
704 
705 
706 SfxItemPresentation SwFmtPageDesc::GetPresentation
707 (
708 	SfxItemPresentation ePres,
709     SfxMapUnit          /*eCoreUnit*/,
710     SfxMapUnit          /*ePresUnit*/,
711 	String& 			rText,
712     const IntlWrapper*        /*pIntl*/
713 )	const
714 {
715 	switch ( ePres )
716 	{
717 		case SFX_ITEM_PRESENTATION_NONE:
718 			rText.Erase();
719 			break;
720 		case SFX_ITEM_PRESENTATION_NAMELESS:
721 		case SFX_ITEM_PRESENTATION_COMPLETE:
722 		{
723 			const SwPageDesc *pPageDesc = GetPageDesc();
724 			if ( pPageDesc )
725 				rText = pPageDesc->GetName();
726 			else
727 				rText = SW_RESSTR( STR_NO_PAGEDESC );
728 			return ePres;
729 		}
730         default:;//prevent warning
731 	}
732 	return SFX_ITEM_PRESENTATION_NONE;
733 }
734 
735 //Der ColumnDescriptor --------------------------
736 
737 
738 SfxItemPresentation SwFmtCol::GetPresentation
739 (
740 	SfxItemPresentation ePres,
741 	SfxMapUnit			eCoreUnit,
742     SfxMapUnit          /*ePresUnit*/,
743 	String& 			rText,
744     const IntlWrapper*        pIntl
745 )	const
746 {
747 	switch ( ePres )
748 	{
749 		case SFX_ITEM_PRESENTATION_NONE:
750 			rText.Erase();
751 			break;
752 		case SFX_ITEM_PRESENTATION_NAMELESS:
753 		case SFX_ITEM_PRESENTATION_COMPLETE:
754 		{
755 			sal_uInt16 nCnt = GetNumCols();
756 			if ( nCnt > 1 )
757 			{
758 				rText = String::CreateFromInt32(nCnt);
759 				rText += ' ';
760 				rText += SW_RESSTR( STR_COLUMNS );
761 				if ( COLADJ_NONE != GetLineAdj() )
762 				{
763 					sal_uInt16 nWdth = sal_uInt16(GetLineWidth());
764 					rText += ' ';
765 					rText += SW_RESSTR( STR_LINE_WIDTH );
766 					rText += ' ';
767 					rText += ::GetMetricText( nWdth, eCoreUnit,
768                                               SFX_MAPUNIT_POINT, pIntl );
769 				}
770 			}
771 			else
772 				rText.Erase();
773 			return ePres;
774 		}
775         default:;//prevent warning
776 	}
777 	return SFX_ITEM_PRESENTATION_NONE;
778 }
779 
780 //URL's und Maps
781 
782 
783 SfxItemPresentation SwFmtURL::GetPresentation
784 (
785 	SfxItemPresentation ePres,
786     SfxMapUnit          /*eCoreUnit*/,
787     SfxMapUnit          /*ePresUnit*/,
788 	String& 			rText,
789     const IntlWrapper*        /*pIntl*/
790 )	const
791 {
792 	rText.Erase();
793 	switch ( ePres )
794 	{
795 		case SFX_ITEM_PRESENTATION_NONE:
796 			break;
797 		case SFX_ITEM_PRESENTATION_NAMELESS:
798 		case SFX_ITEM_PRESENTATION_COMPLETE:
799 		{
800 			if ( pMap )
801 				rText.AppendAscii( RTL_CONSTASCII_STRINGPARAM("Client-Map"));
802 			if ( sURL.Len() )
803 			{
804 				if ( pMap )
805 					rText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(" - "));
806 				rText.AppendAscii( RTL_CONSTASCII_STRINGPARAM("URL: "));
807 				rText += sURL;
808 				if ( bIsServerMap )
809 					rText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(" (Server-Map)"));
810 			}
811 			if ( sTargetFrameName.Len() )
812 			{
813 				rText.AppendAscii( RTL_CONSTASCII_STRINGPARAM(", Target: "));
814 				rText += sTargetFrameName;
815 			}
816 			return ePres;
817 		}
818         default:;//prevent warning
819 	}
820 	return SFX_ITEM_PRESENTATION_NONE;
821 }
822 
823 
824 //SwFmtEditInReadonly
825 
826 
827 SfxItemPresentation SwFmtEditInReadonly::GetPresentation
828 (
829 	SfxItemPresentation ePres,
830     SfxMapUnit          /*eCoreUnit*/,
831     SfxMapUnit          /*ePresUnit*/,
832 	String& 			rText,
833     const IntlWrapper*        /*pIntl*/
834 )	const
835 {
836 	rText.Erase();
837 	switch ( ePres )
838 	{
839 		case SFX_ITEM_PRESENTATION_NONE:
840 			rText.Erase();
841 			break;
842 		case SFX_ITEM_PRESENTATION_NAMELESS:
843 		case SFX_ITEM_PRESENTATION_COMPLETE:
844 		{
845 			if ( GetValue() )
846 				rText = SW_RESSTR(STR_EDIT_IN_READONLY);
847 			return ePres;
848 		}
849         default:;//prevent warning
850 	}
851 	return SFX_ITEM_PRESENTATION_NONE;
852 }
853 
854 
855 SfxItemPresentation SwFmtLayoutSplit::GetPresentation
856 (
857 	SfxItemPresentation ePres,
858     SfxMapUnit          /*eCoreUnit*/,
859     SfxMapUnit          /*ePresUnit*/,
860 	String& 			rText,
861     const IntlWrapper*        /*pIntl*/
862 )	const
863 {
864 	switch ( ePres )
865 	{
866 		case SFX_ITEM_PRESENTATION_NONE:
867 			rText.Erase();
868 			return SFX_ITEM_PRESENTATION_NONE;
869 		case SFX_ITEM_PRESENTATION_NAMELESS:
870 		case SFX_ITEM_PRESENTATION_COMPLETE:
871 		{
872 			if ( GetValue() )
873 				rText = SW_RESSTR(STR_LAYOUT_SPLIT);
874 			return ePres;
875 		}
876         default:;//prevent warning
877 	}
878 	return SFX_ITEM_PRESENTATION_NONE;
879 }
880 
881 SfxItemPresentation SwFmtRowSplit::GetPresentation
882 (
883     SfxItemPresentation /*ePres*/,
884     SfxMapUnit          /*eCoreUnit*/,
885     SfxMapUnit          /*ePresUnit*/,
886     String&             /*rText*/,
887     const IntlWrapper*        /*pIntl*/
888 )   const
889 {
890     return SFX_ITEM_PRESENTATION_NONE;
891 }
892 
893 
894 SfxItemPresentation SwFmtFtnEndAtTxtEnd::GetPresentation
895 (
896 	SfxItemPresentation ePres,
897     SfxMapUnit          /*eCoreUnit*/,
898     SfxMapUnit          /*ePresUnit*/,
899 	String& 			rText,
900     const IntlWrapper*        /*pIntl*/
901 )	const
902 {
903 	switch ( ePres )
904 	{
905 		case SFX_ITEM_PRESENTATION_NONE:
906 			rText.Erase();
907 			break;
908 
909 		case SFX_ITEM_PRESENTATION_NAMELESS:
910 		case SFX_ITEM_PRESENTATION_COMPLETE:
911 			{
912 				switch( GetValue() )
913 				{
914 				case FTNEND_ATPGORDOCEND:
915 //					rText = SW_RESSTR( STR_LAYOUT_FTN );
916 					break;
917 
918 				case FTNEND_ATTXTEND:
919 					break;
920 
921 				case FTNEND_ATTXTEND_OWNNUMSEQ:
922 					{
923 //	String 		sPrefix;
924 //	String 		sSuffix;
925 //	SvxNumberType 	aFmt;
926 //	sal_uInt16 	  	nOffset;
927 //						rText +=
928 					}
929 					break;
930 				}
931 			}
932 			break;
933 
934 		default:
935 			ePres = SFX_ITEM_PRESENTATION_NONE;
936 			break;
937 	}
938 	return ePres;
939 }
940 
941 SfxItemPresentation SwFmtChain::GetPresentation
942 (
943 	SfxItemPresentation ePres,
944     SfxMapUnit          /*eCoreUnit*/,
945     SfxMapUnit          /*ePresUnit*/,
946 	String& 			rText,
947     const IntlWrapper*        /*pIntl*/
948 )	const
949 {
950 	switch ( ePres )
951 	{
952 		case SFX_ITEM_PRESENTATION_NONE:
953 			rText.Erase();
954 			return SFX_ITEM_PRESENTATION_NONE;
955 		case SFX_ITEM_PRESENTATION_NAMELESS:
956 		case SFX_ITEM_PRESENTATION_COMPLETE:
957 		{
958 			if ( GetPrev() || GetNext() )
959 			{
960 				rText = SW_RESSTR(STR_CONNECT1);
961 				if ( GetPrev() )
962 				{
963 					rText += GetPrev()->GetName();
964 					if ( GetNext() )
965 						rText += SW_RESSTR(STR_CONNECT2);
966 				}
967 				if ( GetNext() )
968 					rText += GetNext()->GetName();
969 			}
970 			return ePres;
971 		}
972         default:;//prevent warning
973 	}
974 	return SFX_ITEM_PRESENTATION_NONE;
975 }
976 
977 
978 SfxItemPresentation SwFmtLineNumber::GetPresentation
979 (
980 	SfxItemPresentation ePres,
981     SfxMapUnit          /*eCoreUnit*/,
982     SfxMapUnit          /*ePresUnit*/,
983 	String& 			rText,
984     const IntlWrapper*    /*pIntl*/
985 )	const
986 {
987 	switch ( ePres )
988 	{
989 		case SFX_ITEM_PRESENTATION_NONE:
990 			rText.Erase();
991 			return SFX_ITEM_PRESENTATION_NONE;
992 		case SFX_ITEM_PRESENTATION_NAMELESS:
993 		case SFX_ITEM_PRESENTATION_COMPLETE:
994 		{
995 			if ( IsCount() )
996 				rText += SW_RESSTR(STR_LINECOUNT);
997 			else
998 				rText += SW_RESSTR(STR_DONTLINECOUNT);
999 			if ( GetStartValue() )
1000 			{
1001 				rText += ' ';
1002 				rText += SW_RESSTR(STR_LINCOUNT_START);
1003 				rText += String::CreateFromInt32(GetStartValue());
1004 			}
1005 			return ePres;
1006 		}
1007         default:;//prevent warning
1008 	}
1009 	return SFX_ITEM_PRESENTATION_NONE;
1010 }
1011 
1012 SfxItemPresentation SwTextGridItem::GetPresentation
1013 (
1014     SfxItemPresentation ePres,
1015     SfxMapUnit          /*eCoreUnit*/,
1016     SfxMapUnit          /*ePresUnit*/,
1017 	String& 			rText,
1018     const IntlWrapper*  /*pIntl*/
1019 )	const
1020 {
1021 	switch ( ePres )
1022 	{
1023 		case SFX_ITEM_PRESENTATION_NONE:
1024 			rText.Erase();
1025 			return SFX_ITEM_PRESENTATION_NONE;
1026 		case SFX_ITEM_PRESENTATION_NAMELESS:
1027 		case SFX_ITEM_PRESENTATION_COMPLETE:
1028 		{
1029 			sal_uInt16 nId = 0;
1030 
1031             switch ( GetGridType() )
1032             {
1033             case GRID_NONE :
1034                 nId = STR_GRID_NONE;
1035                 break;
1036             case GRID_LINES_ONLY :
1037                 nId = STR_GRID_LINES_ONLY;
1038                 break;
1039             case GRID_LINES_CHARS :
1040                 nId = STR_GRID_LINES_CHARS;
1041                 break;
1042             }
1043 			if ( nId )
1044                 rText += SW_RESSTR( nId );
1045 			return ePres;
1046 		}
1047         default:;//prevent warning
1048 	}
1049 
1050     return SFX_ITEM_PRESENTATION_NONE;
1051 }
1052 
1053 
1054 //SwHeaderAndFooterEatSpacingItem
1055 
1056 
1057 SfxItemPresentation SwHeaderAndFooterEatSpacingItem::GetPresentation
1058 (
1059     SfxItemPresentation /*ePres*/,
1060     SfxMapUnit          /*eCoreUnit*/,
1061     SfxMapUnit          /*ePresUnit*/,
1062     String&             /*rText*/,
1063     const IntlWrapper*        /*pIntl*/
1064 )	const
1065 {
1066 //    rText.Erase();
1067 //    switch ( ePres )
1068 //    {
1069 //        case SFX_ITEM_PRESENTATION_NONE:
1070 //            rText.Erase();
1071 //            break;
1072 //        case SFX_ITEM_PRESENTATION_NAMELESS:
1073 //        case SFX_ITEM_PRESENTATION_COMPLETE:
1074 //        {
1075 //            if ( GetValue() )
1076 //                rText = SW_RESSTR(STR_EDIT_IN_READONLY);
1077 //            return ePres;
1078 //        }
1079 //    }
1080 	return SFX_ITEM_PRESENTATION_NONE;
1081 }
1082 
1083 
1084 // ---------------------- Grafik-Attribute --------------------------
1085 
1086 SfxItemPresentation SwMirrorGrf::GetPresentation(
1087     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1088     String& rText, const IntlWrapper* /*pIntl*/ ) const
1089 {
1090 	switch ( ePres )
1091 	{
1092 	case SFX_ITEM_PRESENTATION_NAMELESS:
1093 	case SFX_ITEM_PRESENTATION_COMPLETE:
1094 		{
1095 			sal_uInt16 nId;
1096 			switch( GetValue() )
1097 			{
1098             case RES_MIRROR_GRAPH_DONT:     nId = STR_NO_MIRROR;    break;
1099             case RES_MIRROR_GRAPH_VERT: nId = STR_VERT_MIRROR;  break;
1100             case RES_MIRROR_GRAPH_HOR:  nId = STR_HORI_MIRROR;  break;
1101             case RES_MIRROR_GRAPH_BOTH: nId = STR_BOTH_MIRROR;  break;
1102 			default:					nId = 0;	break;
1103 			}
1104 			if ( nId )
1105 			{
1106 				rText = SW_RESSTR( nId );
1107 				if (bGrfToggle)
1108 					rText += SW_RESSTR( STR_MIRROR_TOGGLE );
1109 			}
1110 		}
1111 		break;
1112 	default:
1113 		ePres = SFX_ITEM_PRESENTATION_NONE;
1114 		rText.Erase();
1115 		break;
1116 	}
1117 	return ePres;
1118 }
1119 
1120 
1121 SfxItemPresentation SwRotationGrf::GetPresentation(
1122     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1123     String &rText, const IntlWrapper* /*pIntl*/) const
1124 {
1125 	switch( ePres )
1126 	{
1127 	case SFX_ITEM_PRESENTATION_NAMELESS:
1128 	case SFX_ITEM_PRESENTATION_COMPLETE:
1129 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1130 			rText = SW_RESSTR( STR_ROTATION );
1131 		else if( rText.Len() )
1132 			rText.Erase();
1133         ( rText += UniString::CreateFromInt32( GetValue() )) += '\xB0';
1134 		break;
1135 
1136 	default:
1137 		ePres = SFX_ITEM_PRESENTATION_NONE;
1138 		rText.Erase();
1139 		break;
1140 	}
1141 	return ePres;
1142 }
1143 
1144 SfxItemPresentation SwLuminanceGrf::GetPresentation(
1145     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1146     String &rText, const IntlWrapper* /*pIntl*/) const
1147 {
1148 	switch( ePres )
1149 	{
1150 	case SFX_ITEM_PRESENTATION_NAMELESS:
1151 	case SFX_ITEM_PRESENTATION_COMPLETE:
1152 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1153 			rText = SW_RESSTR( STR_LUMINANCE );
1154 		else if( rText.Len() )
1155 			rText.Erase();
1156 		( rText += UniString::CreateFromInt32( GetValue() )) += '%';
1157 		break;
1158 
1159 	default:
1160 		ePres = SFX_ITEM_PRESENTATION_NONE;
1161 		rText.Erase();
1162 		break;
1163 	}
1164 	return ePres;
1165 }
1166 
1167 SfxItemPresentation SwContrastGrf::GetPresentation(
1168     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1169     String &rText, const IntlWrapper* /*pIntl*/) const
1170 {
1171 	switch( ePres )
1172 	{
1173 	case SFX_ITEM_PRESENTATION_NAMELESS:
1174 	case SFX_ITEM_PRESENTATION_COMPLETE:
1175 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1176 			rText = SW_RESSTR( STR_CONTRAST );
1177 		else if( rText.Len() )
1178 			rText.Erase();
1179 		( rText += UniString::CreateFromInt32( GetValue() )) += '%';
1180 		break;
1181 
1182 	default:
1183 		ePres = SFX_ITEM_PRESENTATION_NONE;
1184 		rText.Erase();
1185 		break;
1186 	}
1187 	return ePres;
1188 }
1189 
1190 SfxItemPresentation SwChannelGrf::GetPresentation(
1191     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1192     String &rText, const IntlWrapper* /*pIntl*/) const
1193 {
1194 	switch( ePres )
1195 	{
1196 	case SFX_ITEM_PRESENTATION_NAMELESS:
1197 	case SFX_ITEM_PRESENTATION_COMPLETE:
1198 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1199 		{
1200 			sal_uInt16 nId;
1201 			switch ( Which() )
1202 			{
1203 			case RES_GRFATR_CHANNELR:	nId = STR_CHANNELR; break;
1204 			case RES_GRFATR_CHANNELG:	nId = STR_CHANNELG; break;
1205 			case RES_GRFATR_CHANNELB:	nId = STR_CHANNELB; break;
1206 			default:					nId = 0; break;
1207 			}
1208 			if( nId )
1209 				rText = SW_RESSTR( nId );
1210 			else if( rText.Len() )
1211 				rText.Erase();
1212 		}
1213 		else if( rText.Len() )
1214 			rText.Erase();
1215 		( rText += UniString::CreateFromInt32( GetValue() )) += '%';
1216 		break;
1217 
1218 	default:
1219 		ePres = SFX_ITEM_PRESENTATION_NONE;
1220 		rText.Erase();
1221 		break;
1222 	}
1223 	return ePres;
1224 }
1225 
1226 SfxItemPresentation SwGammaGrf::GetPresentation(
1227     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1228     String &rText, const IntlWrapper* /*pIntl*/) const
1229 {
1230 	switch( ePres )
1231 	{
1232 	case SFX_ITEM_PRESENTATION_NAMELESS:
1233 	case SFX_ITEM_PRESENTATION_COMPLETE:
1234 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1235 			rText = SW_RESSTR( STR_GAMMA );
1236 		else if( rText.Len() )
1237 			rText.Erase();
1238 		( rText += UniString::CreateFromDouble( GetValue() )) += '%';
1239 		break;
1240 
1241 	default:
1242 		ePres = SFX_ITEM_PRESENTATION_NONE;
1243 		rText.Erase();
1244 		break;
1245 	}
1246 	return ePres;
1247 }
1248 
1249 SfxItemPresentation SwInvertGrf::GetPresentation(
1250     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1251     String &rText, const IntlWrapper* /*pIntl*/) const
1252 {
1253 	rText.Erase();
1254 	switch( ePres )
1255 	{
1256 	case SFX_ITEM_PRESENTATION_NAMELESS:
1257 	case SFX_ITEM_PRESENTATION_COMPLETE:
1258 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1259 		{
1260 			sal_uInt16 nId = 0 != GetValue() ? STR_INVERT : STR_INVERT_NOT;
1261 			rText = SW_RESSTR( nId );
1262 		}
1263 		break;
1264 
1265 	default:
1266 		ePres = SFX_ITEM_PRESENTATION_NONE;
1267 		break;
1268 	}
1269 	return ePres;
1270 }
1271 
1272 SfxItemPresentation SwTransparencyGrf::GetPresentation(
1273     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1274     String &rText, const IntlWrapper* /*pIntl*/) const
1275 {
1276 	switch( ePres )
1277 	{
1278 	case SFX_ITEM_PRESENTATION_NAMELESS:
1279 	case SFX_ITEM_PRESENTATION_COMPLETE:
1280 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1281 			rText = SW_RESSTR( STR_TRANSPARENCY );
1282 		else if( rText.Len() )
1283 			rText.Erase();
1284 		( rText += UniString::CreateFromInt32( GetValue() )) += '%';
1285 		break;
1286 
1287 	default:
1288 		ePres = SFX_ITEM_PRESENTATION_NONE;
1289 		rText.Erase();
1290 		break;
1291 	}
1292 	return ePres;
1293 }
1294 
1295 SfxItemPresentation SwDrawModeGrf::GetPresentation(
1296     SfxItemPresentation ePres, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/,
1297     String &rText, const IntlWrapper* /*pIntl*/) const
1298 {
1299 	rText.Erase();
1300 	switch( ePres )
1301 	{
1302 	case SFX_ITEM_PRESENTATION_NAMELESS:
1303 	case SFX_ITEM_PRESENTATION_COMPLETE:
1304 		if( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
1305 		{
1306 			sal_uInt16 nId;
1307 			switch ( GetValue() )
1308 			{
1309 
1310 			case GRAPHICDRAWMODE_GREYS:		nId = STR_DRAWMODE_GREY; break;
1311 			case GRAPHICDRAWMODE_MONO:      nId = STR_DRAWMODE_BLACKWHITE; break;
1312 			case GRAPHICDRAWMODE_WATERMARK:	nId = STR_DRAWMODE_WATERMARK; break;
1313 			default:						nId = STR_DRAWMODE_STD; break;
1314 			}
1315 			(rText = SW_RESSTR( STR_DRAWMODE ) ) += SW_RESSTR( nId );
1316 		}
1317 		break;
1318 
1319 	default:
1320 		ePres = SFX_ITEM_PRESENTATION_NONE;
1321 		break;
1322 	}
1323 	return ePres;
1324 }
1325 
1326 SfxItemPresentation SwFmtFollowTextFlow::GetPresentation( SfxItemPresentation ePres,
1327                                     SfxMapUnit /*eCoreMetric*/,
1328                                     SfxMapUnit /*ePresMetric*/,
1329                                     String &rText,
1330                                     const IntlWrapper*    /*pIntl*/ ) const
1331 {
1332     rText.Erase();
1333     switch( ePres )
1334     {
1335         case SFX_ITEM_PRESENTATION_NAMELESS:
1336         break;
1337         case SFX_ITEM_PRESENTATION_COMPLETE:
1338             {
1339                 sal_uInt16 nId = GetValue() ? STR_FOLLOW_TEXT_FLOW : STR_DONT_FOLLOW_TEXT_FLOW;
1340                 rText = SW_RESSTR( nId );
1341             }
1342         break;
1343 
1344         default:
1345             ePres = SFX_ITEM_PRESENTATION_NONE;
1346         break;
1347     }
1348     return ePres;
1349 }
1350 
1351