Question about function SwAttrSet::GetPresentation (sw/source/ui/utlui/attrdesc.cxx)

Tomaž Vajngerl quikee at gmail.com
Wed Jun 20 00:17:16 PDT 2012


Hi,

On Wed, Jun 20, 2012 at 8:16 AM, julien2412 <serval2412 at yahoo.fr> wrote:
> Hello,
>
> By looking in the last fix commits, I sometimes "opengrok" to see if the
> same kind of initial problem solved by the fix could be found.
>
> Then I read this code :
>     71 // query the attribute descriptions
>     72 void SwAttrSet::GetPresentation(
>     73         SfxItemPresentation ePres,
>     74         SfxMapUnit eCoreMetric,
>     75         SfxMapUnit ePresMetric,
>     76         String &rText ) const
>     77 {
>     78 static sal_Char const 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 }
> if "rText" variable is completely cleared at the beginning (line 80), what's
> the use of "rText.Len() &&..." (line 92) (and therefore line 93 and 78) ?

As far as I can see by just looking at this snippet of code this is
needed because rText would be ", ... , ... , ..." instead of "... ,
... , ..." if you omit rText.Len() from the if statement. In other
words.. the rText.Len() is to ensure you don't write comma at the
beginning of rText.

> Julien
>
> --
> View this message in context: http://nabble.documentfoundation.org/Question-about-function-SwAttrSet-GetPresentation-sw-source-ui-utlui-attrdesc-cxx-tp3991205.html
> Sent from the Dev mailing list archive at Nabble.com.
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice

Regards, Tomaž


More information about the LibreOffice mailing list