/************************************************************** * * 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 _SWTABLEPG_HXX #define _SWTABLEPG_HXX #include #ifndef _FIXED_HXX //autogen #include #endif #ifndef _IMAGEBTN_HXX //autogen #include #endif #ifndef _LSTBOX_HXX //autogen #include #endif #include #include "prcntfld.hxx" #include "swtypes.hxx" #include "textcontrolcombo.hxx" class SwWrtShell; class SwTableRep; struct TColumn { SwTwips nWidth; sal_Bool bVisible; }; class SwFormatTablePage : public SfxTabPage { FixedLine aOptionsFL; FixedText aNameFT; TableNameEdit aNameED; FixedText aWidthFT; PercentField aWidthMF; CheckBox aRelWidthCB; FixedLine aPosFL; RadioButton aFullBtn; RadioButton aLeftBtn; RadioButton aFromLeftBtn; RadioButton aRightBtn; RadioButton aCenterBtn; RadioButton aFreeBtn; FixedLine aDistFL; FixedText aLeftFT; PercentField aLeftMF; FixedText aRightFT; PercentField aRightMF; FixedText aTopFT; MetricField aTopMF; FixedText aBottomFT; MetricField aBottomMF; FixedLine aPropertiesFL; FixedText aTextDirectionFT; ListBox aTextDirectionLB; SwTableRep* pTblData; SwTwips nSaveWidth; SwTwips nMinTableWidth; sal_uInt16 nOldAlign; sal_Bool bModified; sal_Bool bFull:1; sal_Bool bHtmlMode : 1; void Init(); void ModifyHdl( Edit* pEdit ); DECL_LINK( AutoClickHdl, CheckBox * ); DECL_LINK( RelWidthClickHdl, CheckBox * ); DECL_LINK( RightModifyHdl, MetricField * ); DECL_LINK( UpDownLoseFocusHdl, MetricField * ); using TabPage::ActivatePage; using TabPage::DeactivatePage; public: SwFormatTablePage( Window* pParent, const SfxItemSet& rSet ); static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet); virtual sal_Bool FillItemSet( SfxItemSet& rSet ); virtual void Reset( const SfxItemSet& rSet ); virtual void ActivatePage( const SfxItemSet& rSet ); virtual int DeactivatePage( SfxItemSet* pSet = 0 ); }; /*------------------------------------------------------- TabPage Format/Tabelle/Spalten --------------------------------------------------------- */ #define MET_FIELDS 6 //Anzahl der verwendeten MetricFields class SwTableColumnPage : public SfxTabPage { CheckBox aModifyTableCB; CheckBox aProportionalCB; FixedText aSpaceFT; MetricField aSpaceED; FixedLine aColFL; ImageButton aUpBtn; FixedText aFT1; PercentField aMF1; FixedText aFT2; PercentField aMF2; FixedText aFT3; PercentField aMF3; FixedText aFT4; PercentField aMF4; FixedText aFT5; PercentField aMF5; FixedText aFT6; PercentField aMF6; ImageButton aDownBtn; SwTableRep* pTblData; PercentField* pFieldArr[MET_FIELDS]; FixedText* pTextArr[MET_FIELDS]; SwTwips nTableWidth; SwTwips nMinWidth; sal_uInt16 nNoOfCols; sal_uInt16 nNoOfVisibleCols; //Breite merken, wenn auf autom. Ausrichtung gestellt wird sal_uInt16 aValueTbl[MET_FIELDS];//primaere Zuordnung der MetricFields sal_Bool bModified:1; sal_Bool bModifyTbl:1; sal_Bool bPercentMode:1; void Init(sal_Bool bWeb); DECL_LINK( AutoClickHdl, CheckBox * ); void ModifyHdl( PercentField* pEdit ); DECL_LINK( UpHdl, PercentField * ); DECL_LINK( DownHdl, PercentField * ); DECL_LINK( LoseFocusHdl, PercentField * ); DECL_LINK( ModeHdl, CheckBox * ); void UpdateCols( sal_uInt16 nAktPos ); SwTwips GetVisibleWidth(sal_uInt16 nPos); void SetVisibleWidth(sal_uInt16 nPos, SwTwips nNewWidth); using TabPage::ActivatePage; using TabPage::DeactivatePage; public: SwTableColumnPage( Window* pParent, const SfxItemSet& rSet ); ~SwTableColumnPage(); static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet); virtual sal_Bool FillItemSet( SfxItemSet& rSet ); virtual void Reset( const SfxItemSet& rSet ); virtual void ActivatePage( const SfxItemSet& rSet ); virtual int DeactivatePage( SfxItemSet* pSet = 0 ); }; /*-----------------12.12.96 11.48------------------- Textfluss --------------------------------------------------*/ class SwTextFlowPage : public SfxTabPage { FixedLine aFlowFL; CheckBox aPgBrkCB; RadioButton aPgBrkRB; RadioButton aColBrkRB; RadioButton aPgBrkBeforeRB; RadioButton aPgBrkAfterRB; CheckBox aPageCollCB; ListBox aPageCollLB; FixedText aPageNoFT; NumericField aPageNoNF; CheckBox aSplitCB; TriStateBox aSplitRowCB; CheckBox aKeepCB; CheckBox aHeadLineCB; FixedText aRepeatHeaderFT; // "dummy" to build before and after FT FixedText aRepeatHeaderBeforeFT; NumericField aRepeatHeaderNF; FixedText aRepeatHeaderAfterFT; TextControlCombo aRepeatHeaderCombo; FixedText aTextDirectionFT; ListBox aTextDirectionLB; FixedLine aVertOrientFL; FixedText aVertOrientFT; ListBox aVertOrientLB; SwWrtShell* pShell; sal_Bool bPageBreak; sal_Bool bHtmlMode; DECL_LINK( PageBreakHdl_Impl, CheckBox* ); DECL_LINK( ApplyCollClickHdl_Impl, CheckBox* ); DECL_LINK( PageBreakPosHdl_Impl, RadioButton* ); DECL_LINK( PageBreakTypeHdl_Impl, RadioButton* ); DECL_LINK( SplitHdl_Impl, CheckBox* ); DECL_LINK( SplitRowHdl_Impl, TriStateBox* ); DECL_LINK( HeadLineCBClickHdl, void* p = 0 ); SwTextFlowPage( Window* pParent, const SfxItemSet& rSet ); ~SwTextFlowPage(); public: static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet); virtual sal_Bool FillItemSet( SfxItemSet& rSet ); virtual void Reset( const SfxItemSet& rSet ); void SetShell(SwWrtShell* pSh); void DisablePageBreak(); }; #endif