LCOV - code coverage report
Current view: top level - libreoffice/sw/source/ui/config - optload.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 468 0.0 %
Date: 2012-12-27 Functions: 0 40 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <officecfg/Office/Writer.hxx>
      21             : #include <comphelper/string.hxx>
      22             : #include <tools/shl.hxx>
      23             : #include <swtypes.hxx>
      24             : #include <helpid.h>
      25             : #include <uiitems.hxx>
      26             : #include <modcfg.hxx>
      27             : #include "swmodule.hxx"
      28             : #include "usrpref.hxx"
      29             : #include "wrtsh.hxx"
      30             : #include "linkenum.hxx"
      31             : #include <uitool.hxx>
      32             : #include <view.hxx>
      33             : 
      34             : #include "globals.hrc"
      35             : #include "cmdid.h"
      36             : 
      37             : #include "optload.hrc"
      38             : #include "optload.hxx"
      39             : #include <svx/dlgutil.hxx>
      40             : #include <svx/htmlmode.hxx>
      41             : #include <fldmgr.hxx>
      42             : #include <poolfmt.hxx>
      43             : #include <expfld.hxx>
      44             : #include <caption.hxx>
      45             : #include <com/sun/star/document/PrinterIndependentLayout.hpp>
      46             : 
      47             : #include <svtools/insdlg.hxx>
      48             : #include "svtools/treelistentry.hxx"
      49             : #include <sot/clsids.hxx>
      50             : #include <unotools/configmgr.hxx>
      51             : #include <docsh.hxx>
      52             : #include <config.hrc>
      53             : #include <SwStyleNameMapper.hxx>
      54             : #include <numrule.hxx>
      55             : #include <SwNodeNum.hxx>
      56             : 
      57             : #include <doc.hxx>
      58             : #include <svl/cjkoptions.hxx>
      59             : 
      60             : using namespace ::com::sun::star;
      61             : 
      62             : #include <svl/eitem.hxx>
      63             : 
      64           0 : SwLoadOptPage::SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ) :
      65             : 
      66             :     SfxTabPage( pParent, SW_RES( TP_OPTLOAD_PAGE ), rSet ),
      67             : 
      68             :     aUpdateFL           ( this, SW_RES( FL_UPDATE ) ),
      69             :     aLinkFT             ( this, SW_RES( FT_LINK ) ),
      70             :     aAlwaysRB           ( this, SW_RES( RB_ALWAYS ) ),
      71             :     aRequestRB          ( this, SW_RES( RB_REQUEST ) ),
      72             :     aNeverRB            ( this, SW_RES( RB_NEVER  ) ),
      73             : 
      74             :     aFieldFT            ( this, SW_RES( FT_FIELD ) ),
      75             :     aAutoUpdateFields   ( this, SW_RES( CB_AUTO_UPDATE_FIELDS ) ),
      76             :     aAutoUpdateCharts   ( this, SW_RES( CB_AUTO_UPDATE_CHARTS ) ),
      77             : 
      78             :     aSettingsFL         ( this, SW_RES( FL_SETTINGS ) ),
      79             :     aMetricFT           ( this, SW_RES( FT_METRIC ) ),
      80             :     aMetricLB           ( this, SW_RES( LB_METRIC ) ),
      81             :     aTabFT              ( this, SW_RES( FT_TAB ) ),
      82             :     aTabMF              ( this, SW_RES( MF_TAB ) ),
      83             :     aUseSquaredPageMode ( this, SW_RES( CB_USE_SQUARE_PAGE_MODE ) ),
      84             :     aUseCharUnit        ( this , SW_RES( CB_USE_CHAR_UNIT ) ),
      85             :     aWordCountFL        ( this , SW_RES( FL_WORDCOUNT ) ),
      86             :     aWordCountFT        ( this , SW_RES( FT_WORDCOUNT ) ),
      87             :     aWordCountED        ( this , SW_RES( ED_WORDCOUNT ) ),
      88             : 
      89             :     pWrtShell   ( NULL ),
      90             :     bHTMLMode   ( sal_False ),
      91             :     nLastTab    ( 0 ),
      92           0 :     nOldLinkMode( MANUAL )
      93             : 
      94             : {
      95           0 :     FreeResource();
      96             : 
      97           0 :     SvxStringArray aMetricArr( SW_RES( STR_ARR_METRIC ) );
      98           0 :     for ( sal_uInt16 i = 0; i < aMetricArr.Count(); ++i )
      99             :     {
     100           0 :         String sMetric = aMetricArr.GetStringByPos( i );
     101           0 :         FieldUnit eFUnit = (FieldUnit)aMetricArr.GetValue( i );
     102             : 
     103           0 :         switch ( eFUnit )
     104             :         {
     105             :             case FUNIT_MM:
     106             :             case FUNIT_CM:
     107             :             case FUNIT_POINT:
     108             :             case FUNIT_PICA:
     109             :             case FUNIT_INCH:
     110             :             {
     111             :                 // use only these metrics
     112           0 :                 sal_uInt16 nPos = aMetricLB.InsertEntry( sMetric );
     113           0 :                 aMetricLB.SetEntryData( nPos, (void*)(long)eFUnit );
     114             :             }
     115             :             default:; //prevent warning
     116             :         }
     117           0 :     }
     118           0 :     aMetricLB.SetSelectHdl(LINK(this, SwLoadOptPage, MetricHdl));
     119             : 
     120             :     const SfxPoolItem* pItem;
     121           0 :     if(SFX_ITEM_SET == rSet.GetItemState(SID_HTML_MODE, sal_False, &pItem )
     122           0 :         && ((SfxUInt16Item*)pItem)->GetValue() & HTMLMODE_ON)
     123             :     {
     124           0 :         aTabFT.Hide();
     125           0 :         aTabMF.Hide();
     126             :     }
     127             : 
     128           0 :     SvtCJKOptions aCJKOptions;
     129           0 :     if(!aCJKOptions.IsAsianTypographyEnabled())
     130             :     {
     131           0 :         aUseSquaredPageMode.Hide();
     132           0 :         aUseCharUnit.Hide();
     133           0 :     }
     134           0 : }
     135             : 
     136           0 : SwLoadOptPage::~SwLoadOptPage()
     137             : {
     138           0 : }
     139             : 
     140           0 : SfxTabPage* SwLoadOptPage::Create( Window* pParent,
     141             :                                 const SfxItemSet& rAttrSet )
     142             : {
     143           0 :     return new SwLoadOptPage(pParent, rAttrSet );
     144             : }
     145             : 
     146           0 : sal_Bool SwLoadOptPage::FillItemSet( SfxItemSet& rSet )
     147             : {
     148           0 :     sal_Bool bRet = sal_False;
     149           0 :     SwModule* pMod = SW_MOD();
     150             : 
     151           0 :     sal_uInt16 nNewLinkMode = AUTOMATIC;
     152           0 :     if (aNeverRB.IsChecked())
     153           0 :         nNewLinkMode = NEVER;
     154           0 :     else if (aRequestRB.IsChecked())
     155           0 :         nNewLinkMode = MANUAL;
     156             : 
     157           0 :     SwFldUpdateFlags eFldFlags = aAutoUpdateFields.IsChecked() ?
     158           0 :         aAutoUpdateCharts.IsChecked() ? AUTOUPD_FIELD_AND_CHARTS : AUTOUPD_FIELD_ONLY : AUTOUPD_OFF;
     159             : 
     160           0 :     if(aAutoUpdateFields.IsChecked() != aAutoUpdateFields.GetSavedValue() ||
     161           0 :             aAutoUpdateCharts.IsChecked() != aAutoUpdateCharts.GetSavedValue())
     162             :     {
     163           0 :         pMod->ApplyFldUpdateFlags(eFldFlags);
     164           0 :         if(pWrtShell)
     165             :         {
     166           0 :             pWrtShell->SetFldUpdateFlags(eFldFlags);
     167           0 :             pWrtShell->SetModified();
     168             :         }
     169             :     }
     170             : 
     171           0 :     if (nNewLinkMode != nOldLinkMode)
     172             :     {
     173           0 :         pMod->ApplyLinkMode(nNewLinkMode);
     174           0 :         if (pWrtShell)
     175             :         {
     176           0 :             pWrtShell->SetLinkUpdMode( nNewLinkMode );
     177           0 :             pWrtShell->SetModified();
     178             :         }
     179             : 
     180           0 :         bRet = sal_True;
     181             :     }
     182             : 
     183           0 :     const sal_uInt16 nMPos = aMetricLB.GetSelectEntryPos();
     184           0 :     if ( nMPos != aMetricLB.GetSavedValue() )
     185             :     {
     186             :         // Double-Cast for VA3.0
     187           0 :         sal_uInt16 nFieldUnit = (sal_uInt16)(long)aMetricLB.GetEntryData( nMPos );
     188           0 :         rSet.Put( SfxUInt16Item( SID_ATTR_METRIC, (sal_uInt16)nFieldUnit ) );
     189           0 :         bRet = sal_True;
     190             :     }
     191             : 
     192           0 :     if(aTabMF.IsVisible() && aTabMF.GetText() != aTabMF.GetSavedValue())
     193             :     {
     194             :         rSet.Put(SfxUInt16Item(SID_ATTR_DEFTABSTOP,
     195           0 :                     (sal_uInt16)aTabMF.Denormalize(aTabMF.GetValue(FUNIT_TWIP))));
     196           0 :         bRet = sal_True;
     197             :     }
     198             : 
     199           0 :     sal_Bool bIsUseCharUnitFlag = aUseCharUnit.IsChecked();
     200           0 :     SvtCJKOptions aCJKOptions;
     201           0 :         bIsUseCharUnitFlag = bIsUseCharUnitFlag && aCJKOptions.IsAsianTypographyEnabled();
     202           0 :     if( bIsUseCharUnitFlag != aUseCharUnit.GetSavedValue())
     203             :     {
     204           0 :         rSet.Put(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, bIsUseCharUnitFlag ));
     205           0 :         bRet = sal_True;
     206             :     }
     207             : 
     208           0 :     if (aWordCountED.GetText() != aWordCountED.GetSavedValue())
     209             :     {
     210             :         boost::shared_ptr< comphelper::ConfigurationChanges > batch(
     211           0 :             comphelper::ConfigurationChanges::create());
     212           0 :         officecfg::Office::Writer::WordCount::AdditionalSeperators::set(aWordCountED.GetText(), batch);
     213           0 :         batch->commit();
     214           0 :         bRet = sal_True;
     215             :     }
     216             : 
     217           0 :     sal_Bool bIsSquaredPageModeFlag = aUseSquaredPageMode.IsChecked();
     218           0 :     if ( bIsSquaredPageModeFlag != aUseSquaredPageMode.GetSavedValue() )
     219             :     {
     220           0 :         pMod->ApplyDefaultPageMode( bIsSquaredPageModeFlag );
     221           0 :         if ( pWrtShell )
     222             :         {
     223           0 :             SwDoc* pDoc = pWrtShell->GetDoc();
     224           0 :             pDoc->SetDefaultPageMode( bIsSquaredPageModeFlag );
     225           0 :             pWrtShell->SetModified();
     226             :         }
     227           0 :         bRet = sal_True;
     228             :     }
     229             : 
     230           0 :     return bRet;
     231             : }
     232             : 
     233           0 : void SwLoadOptPage::Reset( const SfxItemSet& rSet)
     234             : {
     235           0 :     const SwMasterUsrPref* pUsrPref = SW_MOD()->GetUsrPref(sal_False);
     236             :     const SfxPoolItem* pItem;
     237             : 
     238           0 :     if(SFX_ITEM_SET == rSet.GetItemState(FN_PARAM_WRTSHELL, sal_False, &pItem))
     239           0 :         pWrtShell = (SwWrtShell*)((const SwPtrItem*)pItem)->GetValue();
     240             : 
     241           0 :     SwFldUpdateFlags eFldFlags = AUTOUPD_GLOBALSETTING;
     242           0 :     nOldLinkMode = GLOBALSETTING;
     243           0 :     if (pWrtShell)
     244             :     {
     245           0 :         eFldFlags = pWrtShell->GetFldUpdateFlags(sal_True);
     246           0 :         nOldLinkMode = pWrtShell->GetLinkUpdMode(sal_True);
     247             :     }
     248           0 :     if(GLOBALSETTING == nOldLinkMode)
     249           0 :         nOldLinkMode = pUsrPref->GetUpdateLinkMode();
     250           0 :     if(AUTOUPD_GLOBALSETTING == eFldFlags)
     251           0 :         eFldFlags = pUsrPref->GetFldUpdateFlags();
     252             : 
     253           0 :     aAutoUpdateFields.Check(eFldFlags != AUTOUPD_OFF);
     254           0 :     aAutoUpdateCharts.Check(eFldFlags == AUTOUPD_FIELD_AND_CHARTS);
     255             : 
     256           0 :     switch (nOldLinkMode)
     257             :     {
     258           0 :         case NEVER:     aNeverRB.Check();   break;
     259           0 :         case MANUAL:    aRequestRB.Check(); break;
     260           0 :         case AUTOMATIC: aAlwaysRB.Check();  break;
     261             :     }
     262             : 
     263           0 :     aAutoUpdateFields.SaveValue();
     264           0 :     aAutoUpdateCharts.SaveValue();
     265           0 :     aMetricLB.SetNoSelection();
     266           0 :     if ( rSet.GetItemState( SID_ATTR_METRIC ) >= SFX_ITEM_AVAILABLE )
     267             :     {
     268           0 :         const SfxUInt16Item& rItem = (SfxUInt16Item&)rSet.Get( SID_ATTR_METRIC );
     269           0 :         FieldUnit eFieldUnit = (FieldUnit)rItem.GetValue();
     270             : 
     271           0 :         for ( sal_uInt16 i = 0; i < aMetricLB.GetEntryCount(); ++i )
     272             :         {
     273           0 :             if ( (int)(sal_IntPtr)aMetricLB.GetEntryData( i ) == (int)eFieldUnit )
     274             :             {
     275           0 :                 aMetricLB.SelectEntryPos( i );
     276           0 :                 break;
     277             :             }
     278             :         }
     279           0 :         ::SetFieldUnit(aTabMF, eFieldUnit);
     280             :     }
     281           0 :     aMetricLB.SaveValue();
     282           0 :     if(SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_DEFTABSTOP, sal_False, &pItem))
     283             :     {
     284           0 :         nLastTab = ((SfxUInt16Item*)pItem)->GetValue();
     285           0 :         aTabMF.SetValue(aTabMF.Normalize(nLastTab), FUNIT_TWIP);
     286             :     }
     287           0 :     aTabMF.SaveValue();
     288             : 
     289           0 :     if(SFX_ITEM_SET == rSet.GetItemState(SID_HTML_MODE, sal_False, &pItem))
     290             :     {
     291           0 :         bHTMLMode = 0 != (((const SfxUInt16Item*)pItem)->GetValue() & HTMLMODE_ON);
     292             :     }
     293             : 
     294             :     //default page mode loading
     295           0 :     if(pWrtShell)
     296             :     {
     297           0 :         sal_Bool bSquaredPageMode = pWrtShell->GetDoc()->IsSquaredPageMode();
     298           0 :         aUseSquaredPageMode.Check( bSquaredPageMode );
     299           0 :             aUseSquaredPageMode.SaveValue();
     300             :     }
     301             : 
     302           0 :     if(SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_APPLYCHARUNIT, sal_False, &pItem))
     303             :     {
     304           0 :         sal_Bool bUseCharUnit = ((const SfxBoolItem*)pItem)->GetValue();
     305           0 :         aUseCharUnit.Check(bUseCharUnit);
     306             :     }
     307             :     else
     308             :     {
     309           0 :         aUseCharUnit.Check(pUsrPref->IsApplyCharUnit());
     310             :     }
     311           0 :     aUseCharUnit.SaveValue();
     312             : 
     313           0 :     aWordCountED.SetText(officecfg::Office::Writer::WordCount::AdditionalSeperators::get());
     314           0 :     aWordCountED.SaveValue();
     315           0 : }
     316             : 
     317           0 : IMPL_LINK_NOARG(SwLoadOptPage, MetricHdl)
     318             : {
     319           0 :     const sal_uInt16 nMPos = aMetricLB.GetSelectEntryPos();
     320           0 :     if(nMPos != USHRT_MAX)
     321             :     {
     322             :         // Double-Cast for VA3.0
     323           0 :         FieldUnit eFieldUnit = (FieldUnit)(long)aMetricLB.GetEntryData( nMPos );
     324           0 :         sal_Bool bModified = aTabMF.IsModified();
     325             :         long nVal = bModified ?
     326           0 :             sal::static_int_cast<sal_Int32, sal_Int64 >( aTabMF.Denormalize( aTabMF.GetValue( FUNIT_TWIP ) )) :
     327           0 :                 nLastTab;
     328           0 :         ::SetFieldUnit( aTabMF, eFieldUnit );
     329           0 :         aTabMF.SetValue( aTabMF.Normalize( nVal ), FUNIT_TWIP );
     330           0 :         if(!bModified)
     331           0 :             aTabMF.ClearModifyFlag();
     332             :     }
     333             : 
     334           0 :     return 0;
     335             : }
     336             : 
     337           0 : SwCaptionOptDlg::SwCaptionOptDlg(Window* pParent, const SfxItemSet& rSet) :
     338           0 :     SfxSingleTabDialog(pParent, rSet, 0)
     339             : {
     340             :     // create TabPage
     341           0 :     SetTabPage((SwCaptionOptPage*) SwCaptionOptPage::Create(this, rSet));
     342           0 : }
     343             : 
     344           0 : SwCaptionOptDlg::~SwCaptionOptDlg()
     345             : {
     346           0 : }
     347             : 
     348           0 : SwCaptionPreview::SwCaptionPreview( Window* pParent )
     349           0 :     : Window( pParent )
     350             : {
     351           0 :     Init();
     352           0 : }
     353             : 
     354           0 : SwCaptionPreview::SwCaptionPreview( Window* pParent, const ResId& rResId )
     355           0 :     : Window( pParent, rResId )
     356             : {
     357           0 :     Init();
     358           0 : }
     359             : 
     360           0 : void SwCaptionPreview::Init()
     361             : {
     362           0 :     maDrawPos = Point( 4, 6 );
     363             : 
     364           0 :     Wallpaper   aBack( GetSettings().GetStyleSettings().GetWindowColor() );
     365           0 :     SetBackground( aBack );
     366           0 :     SetFillColor( aBack.GetColor() );
     367           0 :     SetLineColor( aBack.GetColor() );
     368           0 :     SetBorderStyle( WINDOW_BORDER_MONO );
     369           0 :     Font aFont(GetFont());
     370           0 :     aFont.SetHeight(aFont.GetHeight() * 120 / 100 );
     371           0 :     SetFont(aFont);
     372           0 : }
     373             : 
     374           0 : void SwCaptionPreview::SetPreviewText( const String& rText )
     375             : {
     376           0 :     if( rText != maText )
     377             :     {
     378           0 :         maText = rText;
     379           0 :         Invalidate();
     380             :     }
     381           0 : }
     382             : 
     383           0 : void SwCaptionPreview::Paint( const Rectangle& rRect )
     384             : {
     385           0 :     Window::Paint( rRect );
     386             : 
     387           0 :     DrawRect( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
     388           0 :     DrawText( Point( 4, 6 ), maText );
     389           0 : }
     390             : 
     391           0 : extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSwCaptionPreview(Window* pParent)
     392             : {
     393           0 :     return new SwCaptionPreview(pParent);
     394             : }
     395             : 
     396           0 : SwCaptionOptPage::SwCaptionOptPage( Window* pParent, const SfxItemSet& rSet )
     397             :     : SfxTabPage(pParent, SW_RES(TP_OPTCAPTION_PAGE), rSet),
     398             :     aCheckFT        (this, SW_RES(FT_OBJECTS    )),
     399             :     aCheckLB        (this, SW_RES(CLB_OBJECTS   )),
     400             :     aFtCaptionOrder(this, SW_RES( FT_ORDER )),
     401             :     aLbCaptionOrder(this, SW_RES( LB_ORDER )),
     402             :     aPreview        (this, SW_RES(WIN_PREVIEW   )),
     403             :     aSettingsGroupFL(this, SW_RES(FL_SETTINGS_2 )),
     404             :     aCategoryText   (this, SW_RES(TXT_CATEGORY  )),
     405             :     aCategoryBox    (this, SW_RES(BOX_CATEGORY  )),
     406             :     aFormatText     (this, SW_RES(TXT_FORMAT    )),
     407             :     aFormatBox      (this, SW_RES(BOX_FORMAT    )),
     408             :     aNumberingSeparatorFT(this, SW_RES(FT_NUM_SEP  )),
     409             :     aNumberingSeparatorED(this, SW_RES(ED_NUM_SEP  )),
     410             :     aTextText       (this, SW_RES(TXT_TEXT      )),
     411             :     aTextEdit       (this, SW_RES(EDT_TEXT      )),
     412             :     aPosText        (this, SW_RES(TXT_POS       )),
     413             :     aPosBox         (this, SW_RES(BOX_POS       )),
     414             :     aNumCaptFL      (this, SW_RES(FL_NUMCAPT    )),
     415             :     aFtLevel        (this, SW_RES(FT_LEVEL      )),
     416             :     aLbLevel        (this, SW_RES(LB_LEVEL      )),
     417             :     aFtDelim        (this, SW_RES(FT_SEPARATOR  )),
     418             :     aEdDelim        (this, SW_RES(ED_SEPARATOR  )),
     419             :     aCategoryFL     (this, SW_RES(FL_CATEGORY   )),
     420             :     aCharStyleFT    (this, SW_RES(FT_CHARSTYLE  )),
     421             :     aCharStyleLB    (this, SW_RES(LB_CHARSTYLE  )),
     422             :     aApplyBorderCB  (this, SW_RES(CB_APPLYBORDER)),
     423             : 
     424             :     sSWTable        (SW_RES(STR_TABLE           )),
     425             :     sSWFrame        (SW_RES(STR_FRAME           )),
     426             :     sSWGraphic      (SW_RES(STR_GRAPHIC         )),
     427             :     sOLE            (SW_RES(STR_OLE             )),
     428             : 
     429             :     sBegin          (SW_RESSTR(STR_BEGINNING            )),
     430             :     sEnd            (SW_RESSTR(STR_END                  )),
     431             :     sAbove          (SW_RESSTR(STR_ABOVE                )),
     432             :     sBelow          (SW_RESSTR(STR_CP_BELOW             )),
     433             :     sNone           (SW_RESSTR( STR_CATEGORY_NONE )),
     434             : 
     435           0 :     pMgr            (new SwFldMgr()),
     436           0 :     bHTMLMode(sal_False)
     437             : {
     438           0 :     Wallpaper   aBack( GetSettings().GetStyleSettings().GetWindowColor() );
     439           0 :     aPreview.SetBackground( aBack );
     440             : 
     441           0 :     SwStyleNameMapper::FillUIName( RES_POOLCOLL_LABEL_ABB, sIllustration );
     442           0 :     SwStyleNameMapper::FillUIName( RES_POOLCOLL_LABEL_TABLE, sTable );
     443           0 :     SwStyleNameMapper::FillUIName( RES_POOLCOLL_LABEL_FRAME, sText );
     444           0 :     SwStyleNameMapper::FillUIName( RES_POOLCOLL_LABEL_DRAWING, sDrawing );
     445             : 
     446             :     sal_uInt16 i, nCount;
     447           0 :     SwWrtShell *pSh = ::GetActiveWrtShell();
     448             : 
     449             :     // aFormatBox
     450           0 :     sal_uInt16 nSelFmt = SVX_NUM_ARABIC;
     451           0 :     if (pSh)
     452             :     {
     453           0 :         nCount = pMgr->GetFldTypeCount();
     454             :         SwFieldType* pFldType;
     455           0 :         for ( i = nCount; i; )
     456             :         {
     457           0 :             pFldType = pMgr->GetFldType(USHRT_MAX, --i);
     458           0 :             if (pFldType->GetName().equals(aCategoryBox.GetText()))
     459             :             {
     460           0 :                 nSelFmt = (sal_uInt16)((SwSetExpFieldType*)pFldType)->GetSeqFormat();
     461           0 :                 break;
     462             :             }
     463             :         }
     464             : 
     465           0 :         ::FillCharStyleListBox( aCharStyleLB, pSh->GetView().GetDocShell(), sal_True, sal_True );
     466             :     }
     467             : 
     468             : 
     469           0 :     nCount = pMgr->GetFormatCount(TYP_SEQFLD, sal_False);
     470           0 :     for ( i = 0; i < nCount; ++i )
     471             :     {
     472           0 :         aFormatBox.InsertEntry( pMgr->GetFormatStr(TYP_SEQFLD, i) );
     473           0 :         sal_uInt16 nFmtId = pMgr->GetFormatId(TYP_SEQFLD, i);
     474           0 :         aFormatBox.SetEntryData( i, reinterpret_cast<void*>(nFmtId) );
     475           0 :         if( nFmtId == nSelFmt )
     476           0 :             aFormatBox.SelectEntryPos( i );
     477             :     }
     478             : 
     479           0 :     for (i = 0; i < MAXLEVEL; i++)
     480           0 :         aLbLevel.InsertEntry(String::CreateFromInt32(i + 1));
     481             : 
     482           0 :     sal_Unicode nLvl = MAXLEVEL;
     483           0 :     rtl::OUString sDelim(": ");
     484             : 
     485           0 :     if (pSh)
     486             :     {
     487             :         SwSetExpFieldType* pFldType = (SwSetExpFieldType*)pMgr->GetFldType(
     488           0 :                                             RES_SETEXPFLD, aCategoryBox.GetText() );
     489           0 :         if( pFldType )
     490             :         {
     491           0 :             sDelim = pFldType->GetDelimiter();
     492           0 :             nLvl = pFldType->GetOutlineLvl();
     493             :         }
     494             :     }
     495             : 
     496           0 :     aLbLevel.SelectEntryPos( nLvl < MAXLEVEL ? nLvl + 1 : 0 );
     497           0 :     aEdDelim.SetText( sDelim );
     498             : 
     499           0 :     aCheckLB.SetHelpId(HID_OPTCAPTION_CLB);
     500             : 
     501           0 :     FreeResource();
     502             : 
     503           0 :     Link aLk = LINK( this, SwCaptionOptPage, ModifyHdl );
     504           0 :     aCategoryBox.SetModifyHdl( aLk );
     505           0 :     aNumberingSeparatorED.SetModifyHdl( aLk );
     506           0 :     aTextEdit   .SetModifyHdl( aLk );
     507             : 
     508           0 :     aLk = LINK(this, SwCaptionOptPage, SelectHdl);
     509           0 :     aCategoryBox.SetSelectHdl( aLk );
     510           0 :     aFormatBox  .SetSelectHdl( aLk );
     511             : 
     512           0 :     aLbCaptionOrder.SetSelectHdl( LINK(this, SwCaptionOptPage, OrderHdl));
     513             : 
     514           0 :     aCheckLB.SetSelectHdl( LINK(this, SwCaptionOptPage, ShowEntryHdl) );
     515           0 :     aCheckLB.SetCheckButtonHdl( LINK(this, SwCaptionOptPage, ShowEntryHdl) );
     516           0 :     aCheckLB.SetDeselectHdl( LINK(this, SwCaptionOptPage, SaveEntryHdl) );
     517           0 : }
     518             : 
     519           0 : SwCaptionOptPage::~SwCaptionOptPage()
     520             : {
     521           0 :     DelUserData();
     522           0 :     delete pMgr;
     523           0 : }
     524             : 
     525           0 : SfxTabPage* SwCaptionOptPage::Create( Window* pParent,
     526             :                                 const SfxItemSet& rAttrSet )
     527             : {
     528           0 :     return new SwCaptionOptPage(pParent, rAttrSet );
     529             : }
     530             : 
     531           0 : sal_Bool SwCaptionOptPage::FillItemSet( SfxItemSet&  )
     532             : {
     533           0 :     sal_Bool bRet = sal_False;
     534           0 :     SwModuleOptions* pModOpt = SW_MOD()->GetModuleConfig();
     535             : 
     536           0 :     SaveEntry(aCheckLB.FirstSelected());    // apply current entry
     537             : 
     538           0 :     SvTreeListEntry* pEntry = aCheckLB.First();
     539             : 
     540           0 :     while (pEntry)
     541             :     {
     542           0 :         InsCaptionOpt* pData = (InsCaptionOpt*)pEntry->GetUserData();
     543           0 :         bRet |= pModOpt->SetCapOption(bHTMLMode, pData);
     544           0 :         pEntry = aCheckLB.Next(pEntry);
     545             :     }
     546             : 
     547           0 :     sal_uInt16 nCheckCount = aCheckLB.GetCheckedEntryCount();
     548           0 :     pModOpt->SetInsWithCaption( bHTMLMode, nCheckCount > 0 );
     549             : 
     550           0 :     sal_Int32 nPos = aLbCaptionOrder.GetSelectEntryPos();
     551           0 :     pModOpt->SetCaptionOrderNumberingFirst(nPos == 1 ? sal_True : sal_False );
     552             : 
     553           0 :     return bRet;
     554             : }
     555             : 
     556           0 : void SwCaptionOptPage::Reset( const SfxItemSet& rSet)
     557             : {
     558             :     const SfxPoolItem* pItem;
     559           0 :     if(SFX_ITEM_SET == rSet.GetItemState(SID_HTML_MODE, sal_False, &pItem))
     560             :     {
     561           0 :         bHTMLMode = 0 != (((const SfxUInt16Item*)pItem)->GetValue() & HTMLMODE_ON);
     562             :     }
     563             : 
     564           0 :     DelUserData();
     565           0 :     aCheckLB.GetModel()->Clear();   // remove all entries
     566             : 
     567             :     // Writer objects
     568           0 :     sal_uInt16 nPos = 0;
     569           0 :     aCheckLB.InsertEntry(sSWTable);
     570           0 :     SetOptions(nPos++, TABLE_CAP);
     571           0 :     aCheckLB.InsertEntry(sSWFrame);
     572           0 :     SetOptions(nPos++, FRAME_CAP);
     573           0 :     aCheckLB.InsertEntry(sSWGraphic);
     574           0 :     SetOptions(nPos++, GRAPHIC_CAP);
     575             : 
     576             :     // get Productname and -version
     577           0 :     rtl::OUString sWithoutVersion( utl::ConfigManager::getProductName() );
     578             :     rtl::OUString sComplete(
     579           0 :         sWithoutVersion + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" ")) +
     580           0 :         utl::ConfigManager::getProductVersion() );
     581             : 
     582           0 :     SvObjectServerList aObjS;
     583           0 :     aObjS.FillInsertObjects();
     584           0 :     aObjS.Remove( SvGlobalName( SO3_SW_CLASSID ) ); // remove Writer-ID
     585             : 
     586           0 :     for ( sal_uLong i = 0; i < aObjS.Count(); ++i )
     587             :     {
     588           0 :         const SvGlobalName &rOleId = aObjS[i].GetClassName();
     589           0 :         const String* pClassName = &aObjS[i].GetHumanName();
     590           0 :         if ( rOleId == SvGlobalName( SO3_OUT_CLASSID ) )
     591           0 :             pClassName = &sOLE;
     592           0 :         String sClass( *pClassName );
     593             :         // don't show product version
     594           0 :         sClass.SearchAndReplace( sComplete, sWithoutVersion );
     595           0 :         aCheckLB.InsertEntry( sClass );
     596           0 :         SetOptions( nPos++, OLE_CAP, &rOleId );
     597           0 :     }
     598             :     aLbCaptionOrder.SelectEntryPos(
     599           0 :         SW_MOD()->GetModuleConfig()->IsCaptionOrderNumberingFirst() ? 1 : 0);
     600           0 :     ModifyHdl();
     601           0 : }
     602             : 
     603           0 : void SwCaptionOptPage::SetOptions(const sal_uInt16 nPos,
     604             :         const SwCapObjType eObjType, const SvGlobalName *pOleId)
     605             : {
     606           0 :     SwModuleOptions* pModOpt = SW_MOD()->GetModuleConfig();
     607           0 :     const InsCaptionOpt* pOpt = pModOpt->GetCapOption(bHTMLMode, eObjType, pOleId);
     608             : 
     609           0 :     if (pOpt)
     610             :     {
     611           0 :         aCheckLB.SetEntryData(nPos, new InsCaptionOpt(*pOpt));
     612           0 :         aCheckLB.CheckEntryPos(nPos, pOpt->UseCaption());
     613             :     }
     614             :     else
     615           0 :         aCheckLB.SetEntryData(nPos, new InsCaptionOpt(eObjType, pOleId));
     616           0 : }
     617             : 
     618           0 : void SwCaptionOptPage::DelUserData()
     619             : {
     620           0 :     SvTreeListEntry* pEntry = aCheckLB.First();
     621             : 
     622           0 :     while (pEntry)
     623             :     {
     624           0 :         delete (InsCaptionOpt*)pEntry->GetUserData();
     625           0 :         pEntry->SetUserData(0);
     626           0 :         pEntry = aCheckLB.Next(pEntry);
     627             :     }
     628           0 : }
     629             : 
     630           0 : IMPL_LINK_NOARG(SwCaptionOptPage, ShowEntryHdl)
     631             : {
     632           0 :     SvTreeListEntry* pSelEntry = aCheckLB.FirstSelected();
     633             : 
     634           0 :     if (pSelEntry)
     635             :     {
     636           0 :         sal_Bool bChecked = aCheckLB.IsChecked((sal_uInt16)aCheckLB.GetModel()->GetAbsPos(pSelEntry));
     637             : 
     638           0 :         aSettingsGroupFL.Enable( bChecked );
     639           0 :         aCategoryText.Enable( bChecked );
     640           0 :         aCategoryBox.Enable( bChecked );
     641           0 :         aFormatText.Enable( bChecked );
     642           0 :         aFormatBox.Enable( bChecked );
     643           0 :         sal_Bool bNumSep = bChecked && aLbCaptionOrder.GetSelectEntryPos() == 1;
     644           0 :         aNumberingSeparatorED.Enable( bNumSep );
     645           0 :         aNumberingSeparatorFT.Enable( bNumSep );
     646           0 :         aTextText.Enable( bChecked );
     647           0 :         aTextEdit.Enable( bChecked );
     648           0 :         aPosText.Enable( bChecked );
     649           0 :         aPosBox.Enable( bChecked );
     650           0 :         aNumCaptFL.Enable( bChecked );
     651           0 :         aFtLevel.Enable( bChecked );
     652           0 :         aLbLevel.Enable( bChecked );
     653           0 :         aFtDelim.Enable( bChecked );
     654           0 :         aEdDelim.Enable( bChecked );
     655           0 :         aCategoryFL.Enable( bChecked );
     656           0 :         aCharStyleFT.Enable( bChecked );
     657           0 :         aCharStyleLB.Enable( bChecked );
     658           0 :         aApplyBorderCB.Enable( bChecked );
     659           0 :         aPreview.Enable( bChecked );
     660             : 
     661           0 :         SwWrtShell *pSh = ::GetActiveWrtShell();
     662             : 
     663           0 :         InsCaptionOpt* pOpt = (InsCaptionOpt*)pSelEntry->GetUserData();
     664             : 
     665           0 :         aCategoryBox.Clear();
     666           0 :         aCategoryBox.InsertEntry( sNone );
     667           0 :         if (pSh)
     668             :         {
     669           0 :             sal_uInt16 nCount = pMgr->GetFldTypeCount();
     670             : 
     671           0 :             for (sal_uInt16 i = 0; i < nCount; i++)
     672             :             {
     673           0 :                 SwFieldType *pType = pMgr->GetFldType( USHRT_MAX, i );
     674           0 :                 if( pType->Which() == RES_SETEXPFLD &&
     675           0 :                     ((SwSetExpFieldType *) pType)->GetType() & nsSwGetSetExpType::GSE_SEQ )
     676           0 :                     aCategoryBox.InsertEntry(SwBoxEntry(pType->GetName()));
     677             :             }
     678             :         }
     679             :         else
     680             :         {
     681           0 :             aCategoryBox.InsertEntry(SwBoxEntry(sIllustration));
     682           0 :             aCategoryBox.InsertEntry(SwBoxEntry(sTable));
     683           0 :             aCategoryBox.InsertEntry(SwBoxEntry(sText));
     684           0 :             aCategoryBox.InsertEntry(SwBoxEntry(sDrawing));
     685             :         }
     686             : 
     687           0 :         if(pOpt->GetCategory().Len())
     688           0 :             aCategoryBox.SetText(pOpt->GetCategory());
     689             :         else
     690           0 :             aCategoryBox.SetText( sNone );
     691           0 :         if (pOpt->GetCategory().Len() &&
     692           0 :             aCategoryBox.GetEntryPos(pOpt->GetCategory()) == COMBOBOX_ENTRY_NOTFOUND)
     693           0 :             aCategoryBox.InsertEntry(pOpt->GetCategory());
     694           0 :         if (!aCategoryBox.GetText().Len())
     695             :         {
     696           0 :             sal_uInt16 nPos = 0;
     697           0 :             switch(pOpt->GetObjType())
     698             :             {
     699             :                 case OLE_CAP:
     700           0 :                 case GRAPHIC_CAP:       nPos = 1;   break;
     701           0 :                 case TABLE_CAP:         nPos = 2;   break;
     702           0 :                 case FRAME_CAP:         nPos = 3;   break;
     703             :             }
     704           0 :             aCategoryBox.SetText(aCategoryBox.GetEntry(nPos).GetName());
     705             :         }
     706             : 
     707           0 :         for (sal_uInt16 i = 0; i < aFormatBox.GetEntryCount(); i++)
     708             :         {
     709           0 :             if (pOpt->GetNumType() == (sal_uInt16)(sal_uLong)aFormatBox.GetEntryData(i))
     710             :             {
     711           0 :                 aFormatBox.SelectEntryPos(i);
     712           0 :                 break;
     713             :             }
     714             :         }
     715           0 :         aTextEdit.SetText(pOpt->GetCaption());
     716             : 
     717           0 :         aPosBox.Clear();
     718           0 :         switch (pOpt->GetObjType())
     719             :         {
     720             :             case GRAPHIC_CAP:
     721             :             case TABLE_CAP:
     722             :             case OLE_CAP:
     723           0 :                 aPosBox.InsertEntry(sAbove);
     724           0 :                 aPosBox.InsertEntry(sBelow);
     725           0 :                 break;
     726             :             case FRAME_CAP:
     727           0 :                 aPosBox.InsertEntry(sBegin);
     728           0 :                 aPosBox.InsertEntry(sEnd);
     729           0 :                 break;
     730             :         }
     731           0 :         aPosBox.SelectEntryPos(pOpt->GetPos());
     732           0 :         aPosBox.Enable( pOpt->GetObjType() != GRAPHIC_CAP &&
     733           0 :                 pOpt->GetObjType() != OLE_CAP &&
     734           0 :                 aPosText.IsEnabled() );
     735           0 :         aPosBox.SelectEntryPos(pOpt->GetPos());
     736             : 
     737           0 :         sal_uInt16 nLevelPos = ( pOpt->GetLevel() < MAXLEVEL ) ? pOpt->GetLevel() + 1 : 0;
     738           0 :         aLbLevel.SelectEntryPos( nLevelPos );
     739           0 :         aEdDelim.SetText(pOpt->GetSeparator());
     740           0 :         aNumberingSeparatorED.SetText( pOpt->GetNumSeparator() );
     741           0 :         if(pOpt->GetCharacterStyle().Len())
     742           0 :             aCharStyleLB.SelectEntry( pOpt->GetCharacterStyle() );
     743             :         else
     744           0 :             aCharStyleLB.SelectEntryPos( 0 );
     745           0 :         aApplyBorderCB.Enable( aCategoryBox.IsEnabled() &&
     746           0 :                 pOpt->GetObjType() != TABLE_CAP && pOpt->GetObjType() != FRAME_CAP );
     747           0 :         aApplyBorderCB.Check( pOpt->CopyAttributes() );
     748             :     }
     749             : 
     750           0 :     ModifyHdl();
     751             : 
     752           0 :     return 0;
     753             : }
     754             : 
     755           0 : IMPL_LINK_NOARG(SwCaptionOptPage, SaveEntryHdl)
     756             : {
     757           0 :     SvTreeListEntry* pEntry = aCheckLB.GetHdlEntry();
     758             : 
     759           0 :     if (pEntry) // save all
     760           0 :         SaveEntry(pEntry);
     761             : 
     762           0 :     return 0;
     763             : }
     764             : 
     765           0 : void SwCaptionOptPage::SaveEntry(SvTreeListEntry* pEntry)
     766             : {
     767           0 :     if (pEntry)
     768             :     {
     769           0 :         InsCaptionOpt* pOpt = (InsCaptionOpt*)pEntry->GetUserData();
     770             : 
     771           0 :         pOpt->UseCaption() = aCheckLB.IsChecked((sal_uInt16)aCheckLB.GetModel()->GetAbsPos(pEntry));
     772           0 :         String aName( aCategoryBox.GetText() );
     773           0 :         if(aName == sNone)
     774           0 :             pOpt->SetCategory(aEmptyStr);
     775             :         else
     776           0 :             pOpt->SetCategory(comphelper::string::strip(aName, ' '));
     777           0 :         pOpt->SetNumType((sal_uInt16)(sal_uLong)aFormatBox.GetEntryData(aFormatBox.GetSelectEntryPos()));
     778           0 :         pOpt->SetCaption(aTextEdit.IsEnabled() ? aTextEdit.GetText() : aEmptyStr );
     779           0 :         pOpt->SetPos(aPosBox.GetSelectEntryPos());
     780           0 :         sal_uInt16 nPos = aLbLevel.GetSelectEntryPos();
     781           0 :         sal_uInt16 nLevel = ( nPos > 0 && nPos != LISTBOX_ENTRY_NOTFOUND ) ? nPos - 1 : MAXLEVEL;
     782           0 :         pOpt->SetLevel(nLevel);
     783           0 :         pOpt->SetSeparator(aEdDelim.GetText());
     784           0 :         pOpt->SetNumSeparator( aNumberingSeparatorED.GetText());
     785           0 :         if(!aCharStyleLB.GetSelectEntryPos())
     786           0 :             pOpt->SetCharacterStyle(aEmptyStr);
     787             :         else
     788           0 :             pOpt->SetCharacterStyle(aCharStyleLB.GetSelectEntry());
     789           0 :         pOpt->CopyAttributes() = aApplyBorderCB.IsChecked();
     790             :     }
     791           0 : }
     792             : 
     793           0 : IMPL_LINK_NOARG(SwCaptionOptPage, ModifyHdl)
     794             : {
     795           0 :     String sFldTypeName = aCategoryBox.GetText();
     796             : 
     797           0 :     SfxSingleTabDialog *pDlg = dynamic_cast<SfxSingleTabDialog*>(GetParent());
     798           0 :     PushButton *pBtn = pDlg ? pDlg->GetOKButton() : NULL;
     799           0 :     if (pBtn)
     800           0 :         pBtn->Enable(sFldTypeName.Len() != 0);
     801           0 :     sal_Bool bEnable = aCategoryBox.IsEnabled() && sFldTypeName != sNone;
     802             : 
     803           0 :     aFormatText.Enable(bEnable);
     804           0 :     aFormatBox.Enable(bEnable);
     805           0 :     aTextText.Enable(bEnable);
     806           0 :     aTextEdit.Enable(bEnable);
     807             : 
     808           0 :     DrawSample();
     809           0 :     return 0;
     810             : }
     811             : 
     812           0 : IMPL_LINK_NOARG_INLINE_START(SwCaptionOptPage, SelectHdl)
     813             : {
     814           0 :     DrawSample();
     815           0 :     return 0;
     816             : }
     817           0 : IMPL_LINK_NOARG_INLINE_END(SwCaptionOptPage, SelectHdl)
     818             : 
     819           0 : IMPL_LINK( SwCaptionOptPage, OrderHdl, ListBox*, pBox )
     820             : {
     821           0 :     DrawSample();
     822             : 
     823           0 :     SvTreeListEntry* pSelEntry = aCheckLB.FirstSelected();
     824           0 :     sal_Bool bChecked = sal_False;
     825           0 :     if (pSelEntry)
     826             :     {
     827           0 :         bChecked = aCheckLB.IsChecked((sal_uInt16)aCheckLB.GetModel()->GetAbsPos(pSelEntry));
     828             :     }
     829             : 
     830           0 :     sal_Int32 nPos = pBox->GetSelectEntryPos();
     831           0 :     aNumberingSeparatorFT.Enable( bChecked && nPos == 1 );
     832           0 :     aNumberingSeparatorED.Enable( bChecked && nPos == 1 );
     833           0 :     return 0;
     834             : }
     835             : 
     836           0 : void SwCaptionOptPage::DrawSample()
     837             : {
     838           0 :     String aStr;
     839             : 
     840           0 :     if( aCategoryBox.GetText() != sNone)
     841             :     {
     842             :         //#i61007# order of captions
     843           0 :         bool bOrderNumberingFirst = aLbCaptionOrder.GetSelectEntryPos() == 1;
     844             :         // number
     845             :         sal_uInt16 nNumFmt = (sal_uInt16)(sal_uLong)aFormatBox.GetEntryData(
     846           0 :                                         aFormatBox.GetSelectEntryPos() );
     847           0 :         if( SVX_NUM_NUMBER_NONE != nNumFmt )
     848             :         {
     849             :             //#i61007# order of captions
     850           0 :             if( !bOrderNumberingFirst )
     851             :             {
     852             :                 // category
     853           0 :                 aStr += aCategoryBox.GetText();
     854           0 :                 aStr += ' ';
     855             :             }
     856             : 
     857           0 :             SwWrtShell *pSh = ::GetActiveWrtShell();
     858           0 :             String sFldTypeName( aCategoryBox.GetText() );
     859           0 :             if (pSh)
     860             :             {
     861             :                 SwSetExpFieldType* pFldType = (SwSetExpFieldType*)pMgr->GetFldType(
     862           0 :                                                 RES_SETEXPFLD, sFldTypeName );
     863           0 :                 if( pFldType && pFldType->GetOutlineLvl() < MAXLEVEL )
     864             :                 {
     865           0 :                     sal_uInt8 nLvl = pFldType->GetOutlineLvl();
     866           0 :                     SwNumberTree::tNumberVector aNumVector;
     867           0 :                     for( sal_uInt8 i = 0; i <= nLvl; ++i )
     868           0 :                         aNumVector.push_back(1);
     869             : 
     870             :                     String sNumber( pSh->GetOutlineNumRule()->MakeNumString(
     871           0 :                                                             aNumVector, sal_False ));
     872           0 :                     if( sNumber.Len() )
     873           0 :                         (aStr += sNumber) += pFldType->GetDelimiter();
     874             :                 }
     875             :             }
     876             : 
     877           0 :             switch( nNumFmt )
     878             :             {
     879           0 :                 case SVX_NUM_CHARS_UPPER_LETTER:    aStr += 'A'; break;
     880           0 :                 case SVX_NUM_CHARS_UPPER_LETTER_N:  aStr += 'A'; break;
     881           0 :                 case SVX_NUM_CHARS_LOWER_LETTER:    aStr += 'a'; break;
     882           0 :                 case SVX_NUM_CHARS_LOWER_LETTER_N:  aStr += 'a'; break;
     883           0 :                 case SVX_NUM_ROMAN_UPPER:           aStr += 'I'; break;
     884           0 :                 case SVX_NUM_ROMAN_LOWER:           aStr += 'i'; break;
     885             :                 //case ARABIC:
     886           0 :                 default:                    aStr += '1'; break;
     887           0 :             }
     888             :         }
     889             :         //#i61007# order of captions
     890           0 :         if( bOrderNumberingFirst )
     891             :         {
     892           0 :             aStr += aNumberingSeparatorED.GetText();
     893           0 :             aStr += aCategoryBox.GetText();
     894             :         }
     895           0 :         aStr += aTextEdit.GetText();
     896             :     }
     897           0 :     aPreview.SetPreviewText( aStr );
     898           0 : }
     899             : 
     900             : // Description: ComboBox without Spaces
     901           0 : void CaptionComboBox::KeyInput(const KeyEvent& rEvt)
     902             : {
     903           0 :     if( rEvt.GetKeyCode().GetCode() != KEY_SPACE )
     904           0 :         SwComboBox::KeyInput(rEvt);
     905           0 : }
     906             : 
     907             : 
     908             : 
     909             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10