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 #ifdef SW_DLLIMPLEMENTATION 28 #undef SW_DLLIMPLEMENTATION 29 #endif 30 31 32 33 #include <sfx2/app.hxx> 34 35 #ifndef _CMDID_H 36 #include <cmdid.h> 37 #endif 38 #include <hintids.hxx> 39 #include <swtypes.hxx> 40 #ifndef _GLOBALS_HRC 41 #include <globals.hrc> 42 #endif 43 #include <svx/xtable.hxx> 44 #include <uitool.hxx> 45 #include <editeng/sizeitem.hxx> 46 #include <editeng/lrspitem.hxx> 47 #include <editeng/ulspitem.hxx> 48 #include <editeng/boxitem.hxx> 49 #include <editeng/frmdiritem.hxx> 50 #include <pggrid.hxx> 51 #include <tgrditem.hxx> 52 #include <pggrid.hrc> 53 54 #include "wrtsh.hxx" 55 #include "doc.hxx" 56 #include "uiitems.hxx" 57 #include "swmodule.hxx" 58 #include "view.hxx" 59 /*-- 06.02.2002 15:25:39--------------------------------------------------- 60 61 -----------------------------------------------------------------------*/ 62 SwTextGridPage::SwTextGridPage(Window *pParent, const SfxItemSet &rSet) : 63 SfxTabPage(pParent, SW_RES(TP_TEXTGRID_PAGE), rSet), 64 aGridTypeFL (this, SW_RES(FL_GRID_TYPE )), 65 aNoGridRB (this, SW_RES(RB_NOGRID )), 66 aLinesGridRB (this, SW_RES(RB_LINESGRID )), 67 aCharsGridRB (this, SW_RES(RB_CHARSGRID )), 68 aSnapToCharsCB (this, SW_RES(CB_SNAPTOCHARS )), 69 aExampleWN (this, SW_RES(WN_EXAMPLE )), 70 aLayoutFL (this, SW_RES(FL_LAYOUT )), 71 aLinesPerPageFT (this, SW_RES(FT_LINESPERPAGE )), 72 aLinesPerPageNF (this, SW_RES(NF_LINESPERPAGE )), 73 aTextSizeFT (this, SW_RES(FT_TEXTSIZE )), 74 aTextSizeMF (this, SW_RES(MF_TEXTSIZE )), 75 aCharsPerLineFT (this, SW_RES(FT_CHARSPERLINE )), 76 aCharsPerLineNF (this, SW_RES(NF_CHARSPERLINE )), 77 aCharWidthFT (this, SW_RES(FT_CHARWIDTH )), 78 aCharWidthMF (this, SW_RES(MF_CHARWIDTH )), 79 aRubySizeFT (this, SW_RES(FT_RUBYSIZE )), 80 aRubySizeMF (this, SW_RES(MF_RUBYSIZE )), 81 aRubyBelowCB (this, SW_RES(CB_RUBYBELOW )), 82 aDisplayFL (this, SW_RES(FL_DISPLAY )), 83 aDisplayCB (this, SW_RES(CB_DISPLAY )), 84 aPrintCB (this, SW_RES(CB_PRINT )), 85 aColorFT (this, SW_RES(FT_COLOR )), 86 aColorLB (this, SW_RES(LB_COLOR )), 87 m_nRubyUserValue(0), 88 m_bRubyUserValue(sal_False), 89 m_aPageSize(MM50, MM50), 90 m_bVertical(sal_False), 91 m_bSquaredMode(sal_False) 92 { 93 FreeResource(); 94 95 aControls[0] =&aLayoutFL; 96 aControls[1] =&aLinesPerPageFT; 97 aControls[2] =&aLinesPerPageNF; 98 aControls[3] =&aTextSizeFT; 99 aControls[4] =&aTextSizeMF; 100 aControls[5] =&aCharsPerLineFT; 101 aControls[6] =&aCharsPerLineNF; 102 aControls[7] =&aCharWidthFT; 103 aControls[8] =&aCharWidthMF; 104 aControls[9] =&aRubySizeFT; 105 aControls[10] =&aRubySizeMF; 106 aControls[11] =&aRubyBelowCB; 107 aControls[12] =&aDisplayFL; 108 aControls[13] =&aDisplayCB; 109 aControls[14] =&aPrintCB; 110 aControls[15] =&aColorFT; 111 aControls[16] =&aColorLB; 112 aControls[17] =0; 113 114 Link aLink = LINK(this, SwTextGridPage, CharorLineChangedHdl); 115 aCharsPerLineNF.SetUpHdl(aLink); 116 aCharsPerLineNF.SetDownHdl(aLink); 117 aCharsPerLineNF.SetLoseFocusHdl(aLink); 118 aLinesPerPageNF.SetUpHdl(aLink); 119 aLinesPerPageNF.SetDownHdl(aLink); 120 aLinesPerPageNF.SetLoseFocusHdl(aLink); 121 122 Link aSizeLink = LINK(this, SwTextGridPage, TextSizeChangedHdl); 123 aTextSizeMF.SetUpHdl(aSizeLink); 124 aTextSizeMF.SetDownHdl(aSizeLink); 125 aTextSizeMF.SetLoseFocusHdl(aSizeLink); 126 aRubySizeMF.SetUpHdl(aSizeLink); 127 aRubySizeMF.SetDownHdl(aSizeLink); 128 aRubySizeMF.SetLoseFocusHdl(aSizeLink); 129 aCharWidthMF.SetUpHdl(aSizeLink); 130 aCharWidthMF.SetDownHdl(aSizeLink); 131 aCharWidthMF.SetLoseFocusHdl(aSizeLink); 132 133 Link aGridTypeHdl = LINK(this, SwTextGridPage, GridTypeHdl); 134 aNoGridRB .SetClickHdl(aGridTypeHdl); 135 aLinesGridRB.SetClickHdl(aGridTypeHdl); 136 aCharsGridRB.SetClickHdl(aGridTypeHdl); 137 138 Link aModifyLk = LINK(this, SwTextGridPage, GridModifyHdl); 139 aColorLB.SetSelectHdl(aModifyLk); 140 aPrintCB.SetClickHdl(aModifyLk); 141 aRubyBelowCB.SetClickHdl(aModifyLk); 142 143 144 aDisplayCB.SetClickHdl(LINK(this, SwTextGridPage, DisplayGridHdl)); 145 146 XColorTable* pColorTbl = XColorTable::GetStdColorTable(); 147 aColorLB.InsertAutomaticEntry(); 148 for( sal_uInt16 i = 0; i < pColorTbl->Count(); ++i ) 149 { 150 XColorEntry* pEntry = pColorTbl->GetColor( i ); 151 Color aColor = pEntry->GetColor(); 152 String sName = pEntry->GetName(); 153 aColorLB.InsertEntry( aColor, sName ); 154 } 155 aColorLB.SetUpdateMode( sal_True ); 156 //Get the default paper mode 157 SwView *pView = ::GetActiveView(); 158 if( pView ) 159 { 160 SwWrtShell* pSh = pView->GetWrtShellPtr(); 161 if( pSh ) 162 { 163 m_bSquaredMode = pSh->GetDoc()->IsSquaredPageMode(); 164 } 165 } 166 if( m_bSquaredMode ) 167 { 168 aRubySizeFT.Show(); 169 aRubySizeMF.Show(); 170 aRubyBelowCB.Show(); 171 aSnapToCharsCB.Hide(); 172 aCharWidthFT.Hide(); 173 aCharWidthMF.Hide(); 174 } 175 else 176 { 177 aRubySizeFT.Hide(); 178 aRubySizeMF.Hide(); 179 aRubyBelowCB.Hide(); 180 aSnapToCharsCB.Show(); 181 aCharWidthFT.Show(); 182 aCharWidthMF.Show(); 183 } 184 } 185 /*-- 06.02.2002 15:25:40--------------------------------------------------- 186 187 -----------------------------------------------------------------------*/ 188 SwTextGridPage::~SwTextGridPage() 189 { 190 } 191 /*-- 06.02.2002 15:25:40--------------------------------------------------- 192 193 -----------------------------------------------------------------------*/ 194 SfxTabPage *SwTextGridPage::Create(Window *pParent, const SfxItemSet &rSet) 195 { 196 return new SwTextGridPage(pParent, rSet); 197 } 198 /*-- 06.02.2002 15:25:40--------------------------------------------------- 199 200 -----------------------------------------------------------------------*/ 201 sal_Bool SwTextGridPage::FillItemSet(SfxItemSet &rSet) 202 { 203 sal_Bool bRet = sal_False; 204 if(aNoGridRB.GetSavedValue() != aNoGridRB.IsChecked()|| 205 aLinesGridRB.GetSavedValue() != aLinesGridRB.IsChecked()|| 206 aLinesPerPageNF.GetSavedValue().ToInt32() 207 != aLinesPerPageNF.GetValue()|| 208 aTextSizeMF.GetSavedValue().ToInt32() != aTextSizeMF.GetValue()|| 209 aCharsPerLineNF.GetSavedValue().ToInt32() 210 != aCharsPerLineNF.GetValue()|| 211 aSnapToCharsCB.GetSavedValue() != aSnapToCharsCB.IsChecked() || 212 aRubySizeMF.GetSavedValue().ToInt32() != aRubySizeMF.GetValue()|| 213 aCharWidthMF.GetSavedValue().ToInt32() != aCharWidthMF.GetValue()|| 214 aRubyBelowCB.GetSavedValue() != aRubyBelowCB.IsChecked()|| 215 aDisplayCB.GetSavedValue() != aDisplayCB.IsChecked()|| 216 aPrintCB.GetSavedValue() != aPrintCB.IsChecked()|| 217 aColorLB.GetSavedValue() != aColorLB.GetSelectEntryPos()) 218 { 219 PutGridItem(rSet); 220 bRet = sal_True; 221 } 222 223 return bRet; 224 } 225 /*-- 06.02.2002 15:25:40--------------------------------------------------- 226 227 -----------------------------------------------------------------------*/ 228 void SwTextGridPage::Reset(const SfxItemSet &rSet) 229 { 230 if(SFX_ITEM_AVAILABLE <= rSet.GetItemState(RES_TEXTGRID, sal_True)) 231 { 232 const SwTextGridItem& rGridItem = (const SwTextGridItem&)rSet.Get(RES_TEXTGRID); 233 RadioButton* pButton = 0; 234 switch(rGridItem.GetGridType()) 235 { 236 case GRID_NONE : pButton = &aNoGridRB; break; 237 case GRID_LINES_ONLY : pButton = &aLinesGridRB; break; 238 default: pButton = &aCharsGridRB; 239 } 240 pButton->Check(); 241 aDisplayCB.Check(rGridItem.IsDisplayGrid()); 242 GridTypeHdl(pButton); 243 aSnapToCharsCB.Check(rGridItem.IsSnapToChars()); 244 aLinesPerPageNF.SetValue(rGridItem.GetLines()); 245 m_nRubyUserValue = rGridItem.GetBaseHeight(); 246 m_bRubyUserValue = sal_True; 247 aTextSizeMF.SetValue(aTextSizeMF.Normalize(m_nRubyUserValue), FUNIT_TWIP); 248 aRubySizeMF.SetValue(aRubySizeMF.Normalize(rGridItem.GetRubyHeight()), FUNIT_TWIP); 249 aCharWidthMF.SetValue(aCharWidthMF.Normalize(rGridItem.GetBaseWidth()), FUNIT_TWIP); 250 aRubyBelowCB.Check(rGridItem.IsRubyTextBelow()); 251 aPrintCB.Check(rGridItem.IsPrintGrid()); 252 aColorLB.SelectEntry(rGridItem.GetColor()); 253 } 254 UpdatePageSize(rSet); 255 256 aNoGridRB.SaveValue(); 257 aLinesGridRB.SaveValue(); 258 aSnapToCharsCB.SaveValue(); 259 aLinesPerPageNF.SaveValue(); 260 aTextSizeMF.SaveValue(); 261 aCharsPerLineNF.SaveValue(); 262 aRubySizeMF.SaveValue(); 263 aCharWidthMF.SaveValue(); 264 aRubyBelowCB.SaveValue(); 265 aDisplayCB.SaveValue(); 266 aPrintCB.SaveValue(); 267 aColorLB.SaveValue(); 268 } 269 /*-- 06.02.2002 15:25:41--------------------------------------------------- 270 271 -----------------------------------------------------------------------*/ 272 void SwTextGridPage::ActivatePage( const SfxItemSet& rSet ) 273 { 274 aExampleWN.Hide(); 275 aExampleWN.UpdateExample( rSet ); 276 UpdatePageSize(rSet); 277 aExampleWN.Show(); 278 aExampleWN.Invalidate(); 279 } 280 /*-- 06.02.2002 15:25:41--------------------------------------------------- 281 282 -----------------------------------------------------------------------*/ 283 int SwTextGridPage::DeactivatePage( SfxItemSet* ) 284 { 285 return LEAVE_PAGE; 286 } 287 /* -----------------------------08.02.2002 11:57------------------------------ 288 289 ---------------------------------------------------------------------------*/ 290 void SwTextGridPage::PutGridItem(SfxItemSet& rSet) 291 { 292 SwTextGridItem aGridItem; 293 aGridItem.SetGridType(aNoGridRB.IsChecked() ? GRID_NONE : 294 aLinesGridRB.IsChecked() ? GRID_LINES_ONLY : GRID_LINES_CHARS ); 295 aGridItem.SetSnapToChars(aSnapToCharsCB.IsChecked()); 296 aGridItem.SetLines( static_cast< sal_uInt16 >(aLinesPerPageNF.GetValue()) ); 297 aGridItem.SetBaseHeight( static_cast< sal_uInt16 >( 298 m_bRubyUserValue ? m_nRubyUserValue : 299 aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))) ); 300 aGridItem.SetRubyHeight( static_cast< sal_uInt16 >(aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))) ); 301 aGridItem.SetBaseWidth( static_cast< sal_uInt16 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP))) ); 302 aGridItem.SetRubyTextBelow(aRubyBelowCB.IsChecked()); 303 aGridItem.SetSquaredMode(m_bSquaredMode); 304 aGridItem.SetDisplayGrid(aDisplayCB.IsChecked()); 305 aGridItem.SetPrintGrid(aPrintCB.IsChecked()); 306 aGridItem.SetColor(aColorLB.GetSelectEntryColor()); 307 rSet.Put(aGridItem); 308 } 309 /* -----------------------------08.02.2002 10:54------------------------------ 310 311 ---------------------------------------------------------------------------*/ 312 void SwTextGridPage::UpdatePageSize(const SfxItemSet& rSet) 313 { 314 if( SFX_ITEM_UNKNOWN != rSet.GetItemState( RES_FRAMEDIR, sal_True )) 315 { 316 const SvxFrameDirectionItem& rDirItem = 317 (const SvxFrameDirectionItem&)rSet.Get(RES_FRAMEDIR); 318 m_bVertical = rDirItem.GetValue() == FRMDIR_VERT_TOP_RIGHT|| 319 rDirItem.GetValue() == FRMDIR_VERT_TOP_LEFT; 320 } 321 322 if( SFX_ITEM_SET == rSet.GetItemState( SID_ATTR_PAGE_SIZE )) 323 { 324 const SvxSizeItem& rSize = (const SvxSizeItem&)rSet.Get( 325 SID_ATTR_PAGE_SIZE); 326 const SvxLRSpaceItem& rLRSpace = (const SvxLRSpaceItem&)rSet.Get( 327 RES_LR_SPACE ); 328 const SvxULSpaceItem& rULSpace = (const SvxULSpaceItem&)rSet.Get( 329 RES_UL_SPACE ); 330 const SvxBoxItem& rBox = (const SvxBoxItem&) rSet.Get(RES_BOX); 331 sal_Int32 nDistanceLR = rLRSpace.GetLeft() + rLRSpace.GetRight(); 332 sal_Int32 nDistanceUL = rULSpace.GetUpper() + rULSpace.GetLower(); 333 334 sal_Int32 nValue1 = rSize.GetSize().Height() - nDistanceUL - 335 rBox.GetDistance(BOX_LINE_TOP) - 336 rBox.GetDistance(BOX_LINE_BOTTOM); 337 sal_Int32 nValue2 = rSize.GetSize().Width() - nDistanceLR - 338 rBox.GetDistance(BOX_LINE_LEFT) - 339 rBox.GetDistance(BOX_LINE_RIGHT); 340 if(m_bVertical) 341 { 342 m_aPageSize.Width() = nValue1; 343 m_aPageSize.Height() = nValue2; 344 } 345 else 346 { 347 m_aPageSize.Width() = nValue2; 348 m_aPageSize.Height() = nValue1; 349 } 350 351 sal_Int32 nTextSize = static_cast< sal_Int32 >(m_bRubyUserValue ? 352 m_nRubyUserValue : 353 aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))); 354 355 if ( m_bSquaredMode ) 356 { 357 aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize); 358 } 359 else 360 { 361 sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP))); 362 aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize); 363 if (nTextWidth) 364 aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 365 else 366 aCharsPerLineNF.SetValue( 45 ); 367 } 368 } 369 } 370 /* -----------------------------06.02.2002 15:24------------------------------ 371 372 ---------------------------------------------------------------------------*/ 373 sal_uInt16* SwTextGridPage::GetRanges() 374 { 375 static sal_uInt16 __FAR_DATA aPageRg[] = { 376 RES_TEXTGRID, RES_TEXTGRID, 377 0}; 378 return aPageRg; 379 } 380 /* -----------------------------08.02.2002 10:56------------------------------ 381 382 ---------------------------------------------------------------------------*/ 383 IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField) 384 { 385 //if in squared mode 386 if ( m_bSquaredMode ) 387 { 388 if(&aCharsPerLineNF == pField) 389 { 390 long nWidth = (long)(m_aPageSize.Width() / aCharsPerLineNF.GetValue()); 391 aTextSizeMF.SetValue(aTextSizeMF.Normalize(nWidth), FUNIT_TWIP); 392 //prevent rounding errors in the MetricField by saving the used value 393 m_nRubyUserValue = nWidth; 394 m_bRubyUserValue = sal_True; 395 396 } 397 //set maximum line per page 398 { 399 sal_Int32 nMaxLines = static_cast< sal_Int32 >(m_aPageSize.Height() / 400 ( aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) + 401 aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)))); 402 aLinesPerPageNF.SetMax(nMaxLines); 403 } 404 } 405 else//in normal mode 406 { 407 if(&aLinesPerPageNF == pField) 408 { 409 long nHeight = static_cast< sal_Int32 >(m_aPageSize.Height() / aLinesPerPageNF.GetValue()); 410 aTextSizeMF.SetValue(aTextSizeMF.Normalize(nHeight), FUNIT_TWIP); 411 aRubySizeMF.SetValue(0, FUNIT_TWIP); 412 413 m_nRubyUserValue = nHeight; 414 m_bRubyUserValue = sal_True; 415 } 416 else if (&aCharsPerLineNF == pField) 417 { 418 long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / aCharsPerLineNF.GetValue()); 419 aCharWidthMF.SetValue(aCharWidthMF.Normalize(nWidth), FUNIT_TWIP); 420 } 421 } 422 GridModifyHdl(0); 423 return 0; 424 } 425 /* -----------------------------04.09.2006 15:46------------------------------ 426 ---------------------------------------------------------------------------*/ 427 IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField) 428 { 429 //if in squared mode 430 if( m_bSquaredMode ) 431 { 432 if (&aTextSizeMF == pField) 433 { 434 sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))); 435 aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize); 436 m_bRubyUserValue = sal_False; 437 } 438 //set maximum line per page 439 { 440 sal_Int32 nMaxLines = static_cast< sal_Int32 >(m_aPageSize.Height() / 441 ( aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) + 442 aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)))); 443 aLinesPerPageNF.SetMax(nMaxLines); 444 } 445 } 446 else 447 { 448 if (&aTextSizeMF == pField) 449 { 450 sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))); 451 aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize); 452 m_bRubyUserValue = sal_False; 453 } 454 else if (&aCharWidthMF == pField) 455 { 456 sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP))); 457 if (nTextWidth) 458 aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 459 else 460 aCharsPerLineNF.SetValue( 45 ); 461 } 462 //rubySize is disabled 463 } 464 GridModifyHdl(0); 465 return 0; 466 } 467 /* -----------------------------22.04.2002 14:53------------------------------ 468 469 ---------------------------------------------------------------------------*/ 470 IMPL_LINK(SwTextGridPage, GridTypeHdl, RadioButton*, pButton) 471 { 472 sal_Bool bEnable = &aNoGridRB != pButton; 473 sal_Int32 nIndex = 0; 474 while(aControls[nIndex]) 475 aControls[nIndex++]->Enable(bEnable); 476 //one special case 477 if(bEnable) 478 DisplayGridHdl(&aDisplayCB); 479 480 bEnable = &aCharsGridRB == pButton; 481 aSnapToCharsCB.Enable(bEnable); 482 483 bEnable = &aLinesGridRB == pButton; 484 if(bEnable && !m_bSquaredMode ) 485 { 486 aCharsPerLineFT.Enable(sal_False); 487 aCharsPerLineNF.Enable(sal_False); 488 aCharWidthFT.Enable(sal_False); 489 aCharWidthMF.Enable(sal_False); 490 } 491 492 GridModifyHdl(0); 493 return 0; 494 } 495 /* -----------------------------22.04.2002 15:46------------------------------ 496 497 ---------------------------------------------------------------------------*/ 498 IMPL_LINK(SwTextGridPage, DisplayGridHdl, CheckBox*, EMPTYARG) 499 { 500 aPrintCB.Enable(aDisplayCB.IsChecked()); 501 return 0; 502 } 503 /* -----------------------------08.02.2002 11:54------------------------------ 504 505 ---------------------------------------------------------------------------*/ 506 IMPL_LINK(SwTextGridPage, GridModifyHdl, void*, EMPTYARG) 507 { 508 const SfxItemSet& rOldSet = GetItemSet(); 509 SfxItemSet aSet(rOldSet); 510 const SfxItemSet* pExSet = GetTabDialog()->GetExampleSet(); 511 if(pExSet) 512 aSet.Put(*pExSet); 513 PutGridItem(aSet); 514 aExampleWN.UpdateExample(aSet); 515 return 0; 516 } 517 518