View | Details | Raw Unified | Return to issue 53425
Collapse All | Expand All

(-)sw/source/ui/inc/pggrid.hxx (+9 lines)
Lines 101-107 Link Here
101
101
102
    DECL_LINK(GridTypeHdl, RadioButton*);
102
    DECL_LINK(GridTypeHdl, RadioButton*);
103
    DECL_LINK(CharSizeChangedHdl, SpinField*);
103
    DECL_LINK(CharSizeChangedHdl, SpinField*);
104
#if TORA_PATCH_FLEXIBILITY_IN_GRID_LAYOUT_53425
105
    sal_Bool TextSizeChangeHandle();
106
    sal_Bool RubySizeChangeHandle();
107
    sal_Bool TextSizeChangeHandle_();
108
    sal_Bool CharsPerLineChangeHandle();
109
    sal_Bool LinesPerPageChangeHandle();
110
    DECL_LINK(GridModifyHdl, SpinField*);
111
#else
104
    DECL_LINK(GridModifyHdl, void*);
112
    DECL_LINK(GridModifyHdl, void*);
113
#endif
105
    DECL_LINK(DisplayGridHdl, CheckBox*);
114
    DECL_LINK(DisplayGridHdl, CheckBox*);
106
public:
115
public:
107
	static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet);
116
	static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet);
(-)sw/source/ui/misc/pggrid.cxx (+157 lines)
Lines 346-351 Link Here
346
 ---------------------------------------------------------------------------*/
346
 ---------------------------------------------------------------------------*/
347
IMPL_LINK(SwTextGridPage, CharSizeChangedHdl, SpinField*, pField)
347
IMPL_LINK(SwTextGridPage, CharSizeChangedHdl, SpinField*, pField)
348
{
348
{
349
#if 1
350
    GridModifyHdl(pField);
351
    return 0;
352
#endif
353
349
    if(&aCharsPerLineNF == pField)
354
    if(&aCharsPerLineNF == pField)
350
    {
355
    {
351
        long nWidth = m_aPageSize.Width() / aCharsPerLineNF.GetValue();
356
        long nWidth = m_aPageSize.Width() / aCharsPerLineNF.GetValue();
Lines 390-395 Link Here
390
/* -----------------------------08.02.2002 11:54------------------------------
395
/* -----------------------------08.02.2002 11:54------------------------------
391
396
392
 ---------------------------------------------------------------------------*/
397
 ---------------------------------------------------------------------------*/
398
399
#if TORA_PATCH_FLEXIBILITY_IN_GRID_LAYOUT_53425
400
sal_Bool SwTextGridPage::TextSizeChangeHandle()
401
{
402
    sal_Int32 nTextSize = aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP));
403
    sal_Int32 nLinesPerPage = aLinesPerPageNF.GetValue();
404
    sal_Int32 nPageHeight = m_aPageSize.Height();
405
    sal_Int32 nLineHeight = nPageHeight / nLinesPerPage;
406
    sal_Int32 nRubySize = nLineHeight - nTextSize;
407
    sal_Bool bRet = true;
408
409
    if(nRubySize<1)
410
    {
411
	nRubySize = 1;
412
	nLineHeight = nTextSize + nRubySize;
413
	nLinesPerPage = nPageHeight / nLineHeight;
414
	if (nLinesPerPage<1)
415
	{
416
	    nLinesPerPage = 1;
417
	    nLineHeight = nPageHeight / nLinesPerPage;
418
	    nTextSize = nLineHeight - nRubySize;
419
	    aTextSizeMF.SetValue(aTextSizeMF.Normalize(nTextSize), FUNIT_TWIP);	
420
	    bRet = false;
421
	}
422
	aLinesPerPageNF.SetValue(nLinesPerPage);
423
    }
424
    aRubySizeMF.SetValue(aRubySizeMF.Normalize(nRubySize), FUNIT_TWIP);
425
    return bRet;
426
}
427
428
sal_Bool SwTextGridPage::RubySizeChangeHandle()
429
{
430
    sal_Int32 nRubySize = aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP));
431
    sal_Int32 nLinesPerPage = aLinesPerPageNF.GetValue();
432
    sal_Int32 nPageHeight = m_aPageSize.Height();
433
    sal_Int32 nLineHeight = nPageHeight / nLinesPerPage;
434
    sal_Int32 nTextSize = nLineHeight - nRubySize;
435
    sal_Bool bRet = true;
436
437
    if(nTextSize<1)
438
    {
439
	nTextSize = 1;
440
	nLineHeight = nTextSize + nRubySize;
441
	nLinesPerPage = nPageHeight / nLineHeight;
442
	if (nLinesPerPage<1)
443
	{
444
	    nLinesPerPage = 1;
445
	    nLineHeight = nPageHeight / nLinesPerPage;
446
	    nRubySize = nLineHeight - nTextSize;
447
	    aRubySizeMF.SetValue(aRubySizeMF.Normalize(nRubySize), FUNIT_TWIP);
448
	    bRet = false;
449
	}
450
	aLinesPerPageNF.SetValue(nLinesPerPage);
451
    }
452
    aTextSizeMF.SetValue(aTextSizeMF.Normalize(nTextSize), FUNIT_TWIP);	
453
    return bRet;
454
}
455
456
sal_Bool SwTextGridPage::TextSizeChangeHandle_()
457
{
458
    sal_Int32 nTextSize = aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP));
459
    sal_Int32 nPageWidth = m_aPageSize.Width();
460
    sal_Int32 nCharsPerLine = nPageWidth / nTextSize;
461
    sal_Bool bRet = true;
462
463
    if (nCharsPerLine<1)
464
    {
465
	nCharsPerLine = 1;
466
	nTextSize = nPageWidth / nCharsPerLine;
467
	aTextSizeMF.SetValue(aTextSizeMF.Normalize(nTextSize), FUNIT_TWIP);	
468
	bRet = false;
469
    }
470
    aCharsPerLineNF.SetValue(nCharsPerLine);
471
    m_bRubyUserValue = sal_False;
472
    return bRet;
473
}
474
475
sal_Bool SwTextGridPage::CharsPerLineChangeHandle()
476
{
477
    sal_Int32 nCharsPerLine = aCharsPerLineNF.GetValue();
478
    sal_Int32 nPageWidth = m_aPageSize.Width();
479
    sal_Int32 nTextSize = nPageWidth / nCharsPerLine;
480
    sal_Bool bRet = true;
481
482
    if (nTextSize<1)
483
    {
484
	nTextSize = 1;
485
	nCharsPerLine = nPageWidth / nTextSize;
486
	aCharsPerLineNF.SetValue(nCharsPerLine);
487
488
	bRet = false;
489
    }
490
    aTextSizeMF.SetValue(aTextSizeMF.Normalize(nTextSize), FUNIT_TWIP);	
491
    m_nRubyUserValue = nTextSize;
492
    m_bRubyUserValue = sal_True;
493
    return bRet;
494
}
495
496
sal_Bool SwTextGridPage::LinesPerPageChangeHandle()
497
{
498
    sal_Int32 nLinesPerPage = aLinesPerPageNF.GetValue();
499
    sal_Int32 nTextSize = aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP));
500
    sal_Int32 nPageHeight = m_aPageSize.Height();
501
    sal_Int32 nLineHeight = nPageHeight / nLinesPerPage;
502
    sal_Int32 nRubySize = nLineHeight - nTextSize;
503
    sal_Bool bRet = true;
504
505
    if(nRubySize<1)
506
    {
507
	nRubySize = 1;
508
	nTextSize = nLineHeight - nRubySize;
509
	if (nTextSize<1)
510
	{
511
	    nTextSize = 1;
512
	    nLineHeight = nTextSize + nRubySize;
513
	    nLinesPerPage = nPageHeight / nLineHeight;
514
	    aLinesPerPageNF.SetValue(nLinesPerPage);
515
	    bRet = false;
516
	}
517
	aTextSizeMF.SetValue(aTextSizeMF.Normalize(nTextSize), FUNIT_TWIP);	
518
519
    }
520
    aRubySizeMF.SetValue(aRubySizeMF.Normalize(nRubySize), FUNIT_TWIP);
521
    return bRet;
522
}
523
#endif
524
525
#if TORA_PATCH_FLEXIBILITY_IN_GRID_LAYOUT_53425
526
IMPL_LINK(SwTextGridPage, GridModifyHdl, SpinField*, pField)
527
{
528
    if(&aTextSizeMF == pField)
529
    {
530
	TextSizeChangeHandle();
531
	TextSizeChangeHandle_();
532
    }
533
    else if(&aRubySizeMF == pField)
534
    {
535
	RubySizeChangeHandle();
536
	TextSizeChangeHandle_();
537
    }
538
    else if(&aCharsPerLineNF == pField)
539
    {
540
	CharsPerLineChangeHandle();
541
	TextSizeChangeHandle();
542
    }
543
    else if(&aLinesPerPageNF == pField)
544
    {
545
	LinesPerPageChangeHandle();
546
	TextSizeChangeHandle_();
547
    }
548
#else
393
IMPL_LINK(SwTextGridPage, GridModifyHdl, void*, EMPTYARG)
549
IMPL_LINK(SwTextGridPage, GridModifyHdl, void*, EMPTYARG)
394
{
550
{
395
    //set maximum for Lines per page
551
    //set maximum for Lines per page
Lines 397-402 Link Here
397
                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
553
                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
398
                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)));
554
                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)));
399
    aLinesPerPageNF.SetMax(nMaxLines);
555
    aLinesPerPageNF.SetMax(nMaxLines);
556
#endif
400
    const SfxItemSet& rOldSet = GetItemSet();
557
    const SfxItemSet& rOldSet = GetItemSet();
401
    SfxItemSet aSet(rOldSet);
558
    SfxItemSet aSet(rOldSet);
402
    const SfxItemSet* pExSet = GetTabDialog()->GetExampleSet();
559
    const SfxItemSet* pExSet = GetTabDialog()->GetExampleSet();

Return to issue 53425