| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef _SVX_PARAGRPH_HXX |
| #define _SVX_PARAGRPH_HXX |
| |
| // include --------------------------------------------------------------- |
| |
| #include <vcl/button.hxx> |
| #include <vcl/fixed.hxx> |
| #include <sfx2/tabdlg.hxx> |
| #include <svx/relfld.hxx> // SvxRelativeField |
| #include <svx/paraprev.hxx> // Preview |
| #include <svx/frmdirlbox.hxx> |
| #include <vcl/lstbox.hxx> |
| #include <svx/flagsdef.hxx> |
| |
| // define ---------------------------------------------------------------- |
| |
| // 1/2 cm in TWIPS |
| // wird auch fuer Minimalgrosse der LayFrms aller Arten benutzt |
| //CHINA001 #define MM50 283 |
| |
| // forward --------------------------------------------------------------- |
| |
| class SvxLineSpacingItem; |
| class SvxParagraphControllerItem; |
| |
| // class SvxStdParagraphTabPage ------------------------------------------ |
| |
| /* {k:\svx\prototyp\dialog\parastd.bmp} |
| |
| [Beschreibung] |
| Mit dieser TabPage koennen Standard-Attribute eines Absatzes eingestellt |
| werden (Einzug, Abstand, Ausrichtung, Zeilenabstand). |
| |
| [Items] |
| <SvxAdjustItem><SID_ATTR_PARA_ADJUST> |
| <SvxLineSpacingItem><SID_ATTR_PARA_LINESPACE> |
| <SvxULSpaceItem><SID_ATTR_ULSPACE> |
| <SvxLRSpaceItem><SID_ATTR_LRSPACE> |
| */ |
| |
| class SvxStdParagraphTabPage: public SfxTabPage |
| { |
| using TabPage::DeactivatePage; |
| |
| private: |
| SvxStdParagraphTabPage( Window* pParent, const SfxItemSet& rSet ); |
| |
| FixedLine aIndentFrm; |
| // Einzug |
| FixedText aLeftLabel; |
| SvxRelativeField aLeftIndent; |
| |
| FixedText aRightLabel; |
| SvxRelativeField aRightIndent; |
| |
| FixedText aFLineLabel; |
| SvxRelativeField aFLineIndent; |
| CheckBox aAutoCB; |
| |
| FixedLine aDistFrm; |
| |
| // Abstaende |
| FixedText aTopLabel; |
| SvxRelativeField aTopDist; |
| FixedText aBottomLabel; |
| SvxRelativeField aBottomDist; |
| |
| // Zeilenabstand |
| FixedLine aLineDistFrm; |
| ListBox aLineDist; |
| FixedText aLineDistAtLabel; |
| MetricField aLineDistAtPercentBox; |
| MetricField aLineDistAtMetricBox; |
| String sAbsDist; |
| SvxParaPrevWindow aExampleWin; |
| |
| //Registerhaltigkeit - nur Writer |
| FixedLine aRegisterFL; |
| CheckBox aRegisterCB; |
| |
| Edit* pActLineDistFld; |
| long nAbst; |
| long nWidth; |
| long nMinFixDist; |
| sal_Bool bRelativeMode; |
| sal_Bool bNegativeIndents; |
| |
| #ifdef _SVX_PARAGRPH_CXX |
| void SetLineSpacing_Impl( const SvxLineSpacingItem& rAttr ); |
| void Init_Impl(); |
| void UpdateExample_Impl( sal_Bool bAll = sal_False ); |
| |
| DECL_LINK( LineDistHdl_Impl, ListBox* ); |
| DECL_LINK( ModifyHdl_Impl, SvxRelativeField* ); |
| DECL_LINK( AutoHdl_Impl, CheckBox* ); |
| #endif |
| |
| protected: |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| public: |
| DECL_LINK( ELRLoseFocusHdl, Edit* ); |
| |
| static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet ); |
| static sal_uInt16* GetRanges(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& rSet ); |
| virtual void Reset( const SfxItemSet& rSet ); |
| |
| |
| void SetPageWidth( sal_uInt16 nPageWidth ); |
| void EnableRelativeMode(); |
| void EnableRegisterMode(); |
| void EnableAutoFirstLine(); |
| void EnableAbsLineDist(long nMinTwip); |
| void EnableNegativeMode(); |
| virtual void PageCreated(SfxAllItemSet aSet); // add CHINA001 |
| }; |
| |
| // class SvxParaAlignTabPage ------------------------------------------------ |
| |
| class SvxParaAlignTabPage : public SfxTabPage |
| { |
| using TabPage::DeactivatePage; |
| |
| // Ausrichtung |
| FixedLine aAlignFrm; |
| RadioButton aLeft; |
| RadioButton aRight; |
| RadioButton aCenter; |
| RadioButton aJustify; |
| FixedText aLastLineFT; |
| ListBox aLastLineLB; |
| CheckBox aExpandCB; |
| |
| CheckBox aSnapToGridCB; |
| |
| //preview |
| SvxParaPrevWindow aExampleWin; |
| //vertical alignment |
| FixedLine aVertAlignFL; |
| |
| FixedText aVertAlignFT; |
| ListBox aVertAlignLB; |
| |
| FixedLine aPropertiesFL; |
| FixedText aTextDirectionFT; |
| svx::FrameDirectionListBox aTextDirectionLB; |
| |
| #ifdef _SVX_PARAGRPH_CXX |
| DECL_LINK( AlignHdl_Impl, RadioButton* ); |
| DECL_LINK( LastLineHdl_Impl, ListBox* ); |
| DECL_LINK( TextDirectionHdl_Impl, ListBox* ); |
| |
| void UpdateExample_Impl( sal_Bool bAll = sal_False ); |
| #endif |
| |
| SvxParaAlignTabPage( Window* pParent, const SfxItemSet& rSet ); |
| virtual ~SvxParaAlignTabPage(); |
| |
| protected: |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| public: |
| static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet ); |
| static sal_uInt16* GetRanges(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& rSet ); |
| virtual void Reset( const SfxItemSet& rSet ); |
| |
| void EnableJustifyExt(); |
| virtual void PageCreated(SfxAllItemSet aSet); // add CHINA001 |
| }; |
| |
| // class SvxExtParagraphTabPage ------------------------------------------ |
| |
| /* {k:\svx\prototyp\dialog\paraext.bmp} |
| |
| [Beschreibung] |
| Mit dieser TabPage koennen Spezial-Attribute eines Absatzes eingestellt |
| werden (Silbentrennung, Seitenumbruch, Schusterjungen, Hurenkinder, ...). |
| |
| [Items] |
| <SvxHyphenZoneItem><SID_ATTR_PARA_HYPHENZONE> |
| <SvxFmtBreakItem><SID_ATTR_PARA_PAGEBREAK> |
| <SvxFmtSplitItem><SID_ATTR_PARA_SPLIT> |
| <SvxWidowsItem><SID_ATTR_PARA_WIDOWS> |
| <SvxOrphansItem><SID_ATTR_PARA_ORPHANS> |
| */ |
| |
| class SvxExtParagraphTabPage: public SfxTabPage |
| { |
| using TabPage::DeactivatePage; |
| |
| public: |
| virtual ~SvxExtParagraphTabPage(); |
| |
| static SfxTabPage* Create( Window* pParent, |
| const SfxItemSet& rSet ); |
| static sal_uInt16* GetRanges(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& rSet ); |
| virtual void Reset( const SfxItemSet& rSet ); |
| |
| void DisablePageBreak(); |
| |
| protected: |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| private: |
| SvxExtParagraphTabPage( Window* pParent, const SfxItemSet& rSet ); |
| |
| // Silbentrennung |
| FixedLine aExtFL; |
| TriStateBox aHyphenBox; |
| FixedText aBeforeText; |
| NumericField aExtHyphenBeforeBox; |
| // FixedText aHyphenBeforeLabel; |
| FixedText aAfterText; |
| NumericField aExtHyphenAfterBox; |
| // FixedText aHyphenAfterLabel; |
| FixedText aMaxHyphenLabel; |
| NumericField aMaxHyphenEdit; |
| |
| // Seitenumbruch |
| FixedLine aBreaksFL; |
| TriStateBox aPageBreakBox; |
| FixedText aBreakTypeFT; |
| ListBox aBreakTypeLB; |
| FixedText aBreakPositionFT; |
| ListBox aBreakPositionLB; |
| TriStateBox aApplyCollBtn; |
| ListBox aApplyCollBox; |
| FixedText aPagenumText; |
| NumericField aPagenumEdit; |
| |
| FixedLine aExtendFL; |
| |
| // Absatzteilung |
| TriStateBox aKeepTogetherBox; |
| TriStateBox aKeepParaBox; |
| |
| // Witwen/Waisen |
| TriStateBox aOrphanBox; |
| NumericField aOrphanRowNo; |
| FixedText aOrphanRowLabel; |
| |
| TriStateBox aWidowBox; |
| NumericField aWidowRowNo; |
| FixedText aWidowRowLabel; |
| |
| sal_Bool bPageBreak; |
| sal_Bool bHtmlMode; |
| sal_uInt16 nStdPos; |
| |
| #ifdef _SVX_PARAGRPH_CXX |
| DECL_LINK( PageBreakHdl_Impl, TriStateBox* ); |
| DECL_LINK( KeepTogetherHdl_Impl, TriStateBox* ); |
| DECL_LINK( WidowHdl_Impl, TriStateBox* ); |
| DECL_LINK( OrphanHdl_Impl, TriStateBox* ); |
| DECL_LINK( HyphenClickHdl_Impl, TriStateBox* ); |
| DECL_LINK( ApplyCollClickHdl_Impl, TriStateBox* ); |
| DECL_LINK( PageBreakPosHdl_Impl, ListBox* ); |
| DECL_LINK( PageBreakTypeHdl_Impl, ListBox* ); |
| #endif |
| virtual void PageCreated(SfxAllItemSet aSet); // add CHINA001 |
| }; |
| /* -----------------------------29.11.00 11:33-------------------------------- |
| |
| ---------------------------------------------------------------------------*/ |
| class SvxAsianTabPage : public SfxTabPage |
| { |
| FixedLine aOptionsFL; |
| |
| TriStateBox aForbiddenRulesCB; |
| TriStateBox aHangingPunctCB; |
| |
| TriStateBox aScriptSpaceCB; |
| |
| SvxAsianTabPage( Window* pParent, const SfxItemSet& rSet ); |
| |
| #ifdef _SVX_PARAGRPH_CXX |
| DECL_LINK( ClickHdl_Impl, TriStateBox* ); |
| #endif |
| public: |
| ~SvxAsianTabPage(); |
| |
| |
| static SfxTabPage* Create( Window* pParent, |
| const SfxItemSet& rSet ); |
| static sal_uInt16* GetRanges(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& rSet ); |
| virtual void Reset( const SfxItemSet& rSet ); |
| |
| }; |
| |
| #endif // #ifndef _SVX_PARAGRPH_HXX |
| |
| |