LCOV - code coverage report
Current view: top level - libreoffice/cui/source/inc - paragrph.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 1 0.0 %
Date: 2012-12-27 Functions: 0 2 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             : #ifndef _SVX_PARAGRPH_HXX
      20             : #define _SVX_PARAGRPH_HXX
      21             : 
      22             : #include <vcl/button.hxx>
      23             : #include <vcl/fixed.hxx>
      24             : #include <sfx2/tabdlg.hxx>
      25             : #include <svx/relfld.hxx>       // SvxRelativeField
      26             : #include <svx/paraprev.hxx>     // Preview
      27             : #include <svx/frmdirlbox.hxx>
      28             : #include <vcl/lstbox.hxx>
      29             : #include <svx/flagsdef.hxx>
      30             : 
      31             : // forward ---------------------------------------------------------------
      32             : 
      33             : class SvxLineSpacingItem;
      34             : 
      35             : // class SvxStdParagraphTabPage ------------------------------------------
      36             : 
      37             : /*  {k:\svx\prototyp\dialog\parastd.bmp}
      38             : 
      39             :     [Description]
      40             :     With this TabPage standard attributes of a paragraph can be set
      41             :     (indention, distance, alignment, line spacing).
      42             : 
      43             :     [Items]
      44             :     <SvxAdjustItem><SID_ATTR_PARA_ADJUST>
      45             :     <SvxLineSpacingItem><SID_ATTR_PARA_LINESPACE>
      46             :     <SvxULSpaceItem><SID_ATTR_ULSPACE>
      47             :     <SvxLRSpaceItem><SID_ATTR_LRSPACE>
      48             : */
      49             : 
      50           0 : class SvxStdParagraphTabPage: public SfxTabPage
      51             : {
      52             :     using TabPage::DeactivatePage;
      53             : 
      54             : private:
      55             :     SvxStdParagraphTabPage( Window* pParent, const SfxItemSet& rSet );
      56             : 
      57             :     FixedLine               aIndentFrm;
      58             :     // indention
      59             :     FixedText               aLeftLabel;
      60             :     SvxRelativeField        aLeftIndent;
      61             : 
      62             :     FixedText               aRightLabel;
      63             :     SvxRelativeField        aRightIndent;
      64             : 
      65             :     FixedText               aFLineLabel;
      66             :     SvxRelativeField        aFLineIndent;
      67             :     CheckBox                aAutoCB;
      68             : 
      69             :     FixedLine               aDistFrm;
      70             : 
      71             :     // distance
      72             :     FixedText               aTopLabel;
      73             :     SvxRelativeField        aTopDist;
      74             :     FixedText               aBottomLabel;
      75             :     SvxRelativeField        aBottomDist;
      76             :     CheckBox                aContextualCB;
      77             : 
      78             :     // line spacing
      79             :     FixedLine               aLineDistFrm;
      80             :     ListBox                 aLineDist;
      81             :     FixedText               aLineDistAtLabel;
      82             :     MetricField             aLineDistAtPercentBox;
      83             :     MetricField             aLineDistAtMetricBox;
      84             :     String                  sAbsDist;
      85             :     SvxParaPrevWindow       aExampleWin;
      86             : 
      87             :     // only writer
      88             :     FixedLine               aRegisterFL;
      89             :     CheckBox                aRegisterCB;
      90             : 
      91             :     Edit*                   pActLineDistFld;
      92             :     long                    nAbst;
      93             :     long                    nWidth;
      94             :     long                    nMinFixDist;
      95             :     sal_Bool                    bRelativeMode;
      96             :     sal_Bool                    bNegativeIndents;
      97             : 
      98             : #ifdef _SVX_PARAGRPH_CXX
      99             :     void                    SetLineSpacing_Impl( const SvxLineSpacingItem& rAttr );
     100             :     void                    Init_Impl();
     101             :     void                    UpdateExample_Impl( sal_Bool bAll = sal_False );
     102             : 
     103             :     DECL_LINK( LineDistHdl_Impl, ListBox* );
     104             :     DECL_LINK(ModifyHdl_Impl, void *);
     105             :     DECL_LINK( AutoHdl_Impl, CheckBox* );
     106             : #endif
     107             : 
     108             : protected:
     109             :     virtual int             DeactivatePage( SfxItemSet* pSet = 0 );
     110             : 
     111             : public:
     112             :     DECL_LINK(ELRLoseFocusHdl, void *);
     113             : 
     114             :     static SfxTabPage*      Create( Window* pParent, const SfxItemSet& rSet );
     115             :     static sal_uInt16*          GetRanges();
     116             : 
     117             :     virtual sal_Bool            FillItemSet( SfxItemSet& rSet );
     118             :     virtual void            Reset( const SfxItemSet& rSet );
     119             : 
     120             : 
     121             :     void                    SetPageWidth( sal_uInt16 nPageWidth );
     122             :     void                    EnableRelativeMode();
     123             :     void                    EnableRegisterMode();
     124             :     void                    EnableContextualMode();
     125             :     void                    EnableAutoFirstLine();
     126             :     void                    EnableAbsLineDist(long nMinTwip);
     127             :     void                    EnableNegativeMode();
     128             :     virtual void            PageCreated(SfxAllItemSet aSet);
     129             : };
     130             : 
     131             : // class SvxParaAlignTabPage ------------------------------------------------
     132             : 
     133             : class SvxParaAlignTabPage : public SfxTabPage
     134             : {
     135             :     using TabPage::DeactivatePage;
     136             : 
     137             :     // alignment
     138             :     FixedLine               aAlignFrm;
     139             :     RadioButton             aLeft;
     140             :     RadioButton             aRight;
     141             :     RadioButton             aCenter;
     142             :     RadioButton             aJustify;
     143             :     FixedText               aLastLineFT;
     144             :     ListBox                 aLastLineLB;
     145             :     CheckBox                aExpandCB;
     146             : 
     147             :     CheckBox                aSnapToGridCB;
     148             : 
     149             :     //preview
     150             :     SvxParaPrevWindow       aExampleWin;
     151             :     //vertical alignment
     152             :     FixedLine               aVertAlignFL;
     153             : 
     154             :     FixedText               aVertAlignFT;
     155             :     ListBox                 aVertAlignLB;
     156             : 
     157             :     FixedLine                   aPropertiesFL;
     158             :     FixedText                   aTextDirectionFT;
     159             :     svx::FrameDirectionListBox  aTextDirectionLB;
     160             : 
     161             : #ifdef _SVX_PARAGRPH_CXX
     162             :     DECL_LINK(AlignHdl_Impl, void *);
     163             :     DECL_LINK(LastLineHdl_Impl, void *);
     164             :     DECL_LINK(TextDirectionHdl_Impl, void *);
     165             : 
     166             :     void                    UpdateExample_Impl( sal_Bool bAll = sal_False );
     167             : #endif
     168             : 
     169             :                             SvxParaAlignTabPage( Window* pParent, const SfxItemSet& rSet );
     170             :     virtual                 ~SvxParaAlignTabPage();
     171             : 
     172             : protected:
     173             :     virtual int             DeactivatePage( SfxItemSet* pSet = 0 );
     174             : 
     175             : public:
     176             :     static SfxTabPage*      Create( Window* pParent, const SfxItemSet& rSet );
     177             :     static sal_uInt16*          GetRanges();
     178             : 
     179             :     virtual sal_Bool            FillItemSet( SfxItemSet& rSet );
     180             :     virtual void            Reset( const SfxItemSet& rSet );
     181             : 
     182             :     void                    EnableJustifyExt();
     183             :     virtual void            PageCreated(SfxAllItemSet aSet);
     184             : };
     185             : 
     186             : // class SvxExtParagraphTabPage ------------------------------------------
     187             : 
     188             : /*  {k:\svx\prototyp\dialog\paraext.bmp}
     189             : 
     190             :     [Description]
     191             :     With this TabPage special attributes of a paragraph can be set
     192             :     (hyphenation, pagebreak, orphan, widow, ...).
     193             : 
     194             :     [Items]
     195             :     <SvxHyphenZoneItem><SID_ATTR_PARA_HYPHENZONE>
     196             :     <SvxFmtBreakItem><SID_ATTR_PARA_PAGEBREAK>
     197             :     <SvxFmtSplitItem><SID_ATTR_PARA_SPLIT>
     198             :     <SvxWidowsItem><SID_ATTR_PARA_WIDOWS>
     199             :     <SvxOrphansItem><SID_ATTR_PARA_ORPHANS>
     200             : */
     201             : 
     202             : class SvxExtParagraphTabPage: public SfxTabPage
     203             : {
     204             :     using TabPage::DeactivatePage;
     205             : 
     206             : public:
     207             :     virtual             ~SvxExtParagraphTabPage();
     208             : 
     209             :     static SfxTabPage*  Create( Window* pParent,
     210             :                                 const SfxItemSet& rSet );
     211             :     static sal_uInt16*      GetRanges();
     212             : 
     213             :     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
     214             :     virtual void        Reset( const SfxItemSet& rSet );
     215             : 
     216             :     void                DisablePageBreak();
     217             : 
     218             : protected:
     219             :     virtual int         DeactivatePage( SfxItemSet* pSet = 0 );
     220             : 
     221             : private:
     222             :                         SvxExtParagraphTabPage( Window* pParent, const SfxItemSet& rSet );
     223             : 
     224             :     // hyphenation
     225             :     FixedLine           aExtFL;
     226             :     TriStateBox         aHyphenBox;
     227             :     FixedText           aBeforeText;
     228             :     NumericField        aExtHyphenBeforeBox;
     229             :     FixedText           aAfterText;
     230             :     NumericField        aExtHyphenAfterBox;
     231             :     FixedText           aMaxHyphenLabel;
     232             :     NumericField        aMaxHyphenEdit;
     233             : 
     234             :     // pagebreak
     235             :     FixedLine           aBreaksFL;
     236             :     TriStateBox         aPageBreakBox;
     237             :     FixedText           aBreakTypeFT;
     238             :     ListBox             aBreakTypeLB;
     239             :     FixedText           aBreakPositionFT;
     240             :     ListBox             aBreakPositionLB;
     241             :     TriStateBox         aApplyCollBtn;
     242             :     ListBox             aApplyCollBox;
     243             :     FixedText           aPagenumText;
     244             :     NumericField        aPagenumEdit;
     245             : 
     246             :     FixedLine           aExtendFL;
     247             : 
     248             :     // paragraph division
     249             :     TriStateBox         aKeepTogetherBox;
     250             :     TriStateBox         aKeepParaBox;
     251             : 
     252             :     // orphan/widow
     253             :     TriStateBox         aOrphanBox;
     254             :     NumericField        aOrphanRowNo;
     255             :     FixedText           aOrphanRowLabel;
     256             : 
     257             :     TriStateBox         aWidowBox;
     258             :     NumericField        aWidowRowNo;
     259             :     FixedText           aWidowRowLabel;
     260             : 
     261             :     sal_Bool                bPageBreak;
     262             :     sal_Bool                bHtmlMode;
     263             :     sal_uInt16              nStdPos;
     264             : 
     265             : #ifdef _SVX_PARAGRPH_CXX
     266             :     DECL_LINK(PageBreakHdl_Impl, void *);
     267             :     DECL_LINK(KeepTogetherHdl_Impl, void *);
     268             :     DECL_LINK(WidowHdl_Impl, void *);
     269             :     DECL_LINK(OrphanHdl_Impl, void *);
     270             :     DECL_LINK(HyphenClickHdl_Impl, void *);
     271             :     DECL_LINK(ApplyCollClickHdl_Impl, void *);
     272             :     DECL_LINK( PageBreakPosHdl_Impl, ListBox* );
     273             :     DECL_LINK( PageBreakTypeHdl_Impl, ListBox* );
     274             : #endif
     275             :     virtual void            PageCreated(SfxAllItemSet aSet);
     276             : };
     277             : 
     278             : //--------------------------------------------------------------------------
     279             : class SvxAsianTabPage : public SfxTabPage
     280             : {
     281             :     FixedLine       aOptionsFL;
     282             : 
     283             :     TriStateBox     aForbiddenRulesCB;
     284             :     TriStateBox     aHangingPunctCB;
     285             : 
     286             :     TriStateBox     aScriptSpaceCB;
     287             : 
     288             :     SvxAsianTabPage( Window* pParent, const SfxItemSet& rSet );
     289             : 
     290             : #ifdef _SVX_PARAGRPH_CXX
     291             :     DECL_LINK( ClickHdl_Impl, TriStateBox* );
     292             : #endif
     293             : public:
     294             :     ~SvxAsianTabPage();
     295             : 
     296             : 
     297             :     static SfxTabPage*  Create( Window* pParent,
     298             :                                 const SfxItemSet& rSet );
     299             :     static sal_uInt16*      GetRanges();
     300             : 
     301             :     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
     302             :     virtual void        Reset( const SfxItemSet& rSet );
     303             : 
     304             : };
     305             : 
     306             : #endif // #ifndef _SVX_PARAGRPH_HXX
     307             : 
     308             : 
     309             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10