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