xref: /trunk/main/cui/source/inc/cuitabline.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1c4eee24dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3c4eee24dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4c4eee24dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5c4eee24dSAndrew Rist  * distributed with this work for additional information
6c4eee24dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7c4eee24dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8c4eee24dSAndrew Rist  * "License"); you may not use this file except in compliance
9c4eee24dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11c4eee24dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13c4eee24dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14c4eee24dSAndrew Rist  * software distributed under the License is distributed on an
15c4eee24dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16c4eee24dSAndrew Rist  * KIND, either express or implied.  See the License for the
17c4eee24dSAndrew Rist  * specific language governing permissions and limitations
18c4eee24dSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20c4eee24dSAndrew Rist  *************************************************************/
21c4eee24dSAndrew Rist 
22c4eee24dSAndrew Rist 
23cdf0e10cSrcweir #ifndef _CUI_TAB_LINE_HXX
24cdf0e10cSrcweir #define _CUI_TAB_LINE_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir // include ---------------------------------------------------------------
27cdf0e10cSrcweir #include <svx/tabline.hxx>
28cdf0e10cSrcweir /*************************************************************************
29cdf0e10cSrcweir |*
30cdf0e10cSrcweir |* Transform-Tab-Dialog
31cdf0e10cSrcweir |*
32cdf0e10cSrcweir \************************************************************************/
33cdf0e10cSrcweir 
34cdf0e10cSrcweir class SvxLineTabDialog : public SfxTabDialog
35cdf0e10cSrcweir {
36cdf0e10cSrcweir private:
37cdf0e10cSrcweir     SdrModel*           pDrawModel;
38cdf0e10cSrcweir     const SdrObject*    pObj;
39cdf0e10cSrcweir 
40cdf0e10cSrcweir     const SfxItemSet&   rOutAttrs;
41cdf0e10cSrcweir 
42c7be74b1SArmin Le Grand     XColorListSharedPtr     maColorTab;
43c7be74b1SArmin Le Grand     XColorListSharedPtr     maNewColorTab;
44c7be74b1SArmin Le Grand     XDashListSharedPtr      maDashList;
45c7be74b1SArmin Le Grand     XDashListSharedPtr      maNewDashList;
46c7be74b1SArmin Le Grand     XLineEndListSharedPtr   maLineEndList;
47c7be74b1SArmin Le Grand     XLineEndListSharedPtr   maNewLineEndList;
48cdf0e10cSrcweir     sal_Bool                bObjSelected;
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     ChangeType          nLineEndListState;
51cdf0e10cSrcweir     ChangeType          nDashListState;
52cdf0e10cSrcweir     ChangeType          mnColorTableState;
53cdf0e10cSrcweir 
54cdf0e10cSrcweir     sal_uInt16              nPageType;
55cdf0e10cSrcweir     sal_uInt16              nDlgType;
56cdf0e10cSrcweir     sal_uInt16              nPosDashLb;
57cdf0e10cSrcweir     sal_uInt16              nPosLineEndLb;
58cdf0e10cSrcweir     sal_uInt16              mnPos;
59cdf0e10cSrcweir     sal_Bool                mbAreaTP;
60cdf0e10cSrcweir 
61cdf0e10cSrcweir     virtual void        PageCreated( sal_uInt16 nId, SfxTabPage &rPage );
62cdf0e10cSrcweir 
63cdf0e10cSrcweir protected:
64cdf0e10cSrcweir     virtual short       Ok();
65cdf0e10cSrcweir #ifdef _SVX_TABLINE_CXX
66cdf0e10cSrcweir     DECL_LINK( CancelHdlImpl, void * );
67cdf0e10cSrcweir     void                SavePalettes();
68cdf0e10cSrcweir #endif
69cdf0e10cSrcweir 
70cdf0e10cSrcweir public:
71cdf0e10cSrcweir     SvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr,
72cdf0e10cSrcweir                       SdrModel* pModel, const SdrObject* pObj = NULL,
73cdf0e10cSrcweir                       sal_Bool bHasObj = sal_True );
74cdf0e10cSrcweir     ~SvxLineTabDialog();
75cdf0e10cSrcweir 
SetNewDashList(XDashListSharedPtr aInLst)76c7be74b1SArmin Le Grand     void SetNewDashList( XDashListSharedPtr aInLst) { maNewDashList = aInLst; }
GetNewDashList() const77c7be74b1SArmin Le Grand     XDashListSharedPtr GetNewDashList() const { return maNewDashList; }
GetDashList() const78c7be74b1SArmin Le Grand     const XDashListSharedPtr GetDashList() const { return maDashList; }
79cdf0e10cSrcweir 
SetNewLineEndList(XLineEndListSharedPtr aInLst)80c7be74b1SArmin Le Grand     void SetNewLineEndList( XLineEndListSharedPtr aInLst) { maNewLineEndList = aInLst; }
GetNewLineEndList() const81c7be74b1SArmin Le Grand     XLineEndListSharedPtr GetNewLineEndList() const { return maNewLineEndList; }
GetLineEndList() const82c7be74b1SArmin Le Grand     const XLineEndListSharedPtr GetLineEndList() const { return maLineEndList; }
83cdf0e10cSrcweir 
SetNewColorTable(XColorListSharedPtr aColTab)84c7be74b1SArmin Le Grand     void SetNewColorTable( XColorListSharedPtr aColTab ) { maNewColorTab = aColTab; }
GetNewColorTable() const85c7be74b1SArmin Le Grand     XColorListSharedPtr GetNewColorTable() const { return maNewColorTab; }
GetColorTable() const86c7be74b1SArmin Le Grand     const XColorListSharedPtr GetColorTable() const { return maColorTab; }
87cdf0e10cSrcweir };
88cdf0e10cSrcweir 
89cdf0e10cSrcweir /*************************************************************************
90cdf0e10cSrcweir |*
91cdf0e10cSrcweir |* Linien-Tab-Page
92cdf0e10cSrcweir |*
93cdf0e10cSrcweir \************************************************************************/
94cdf0e10cSrcweir 
95cdf0e10cSrcweir class SvxLineTabPage : public SvxTabPage
96cdf0e10cSrcweir {
97cdf0e10cSrcweir     using TabPage::ActivatePage;
98cdf0e10cSrcweir     using TabPage::DeactivatePage;
99cdf0e10cSrcweir private:
100cdf0e10cSrcweir     FixedLine           aFlLine;
101cdf0e10cSrcweir     FixedText           aFtLineStyle;
102cdf0e10cSrcweir     LineLB              aLbLineStyle;
103cdf0e10cSrcweir     FixedText           aFtColor;
104cdf0e10cSrcweir     ColorLB             aLbColor;
105cdf0e10cSrcweir     FixedText           aFtLineWidth;
106cdf0e10cSrcweir     MetricField         aMtrLineWidth;
107cdf0e10cSrcweir     FixedText           aFtTransparent;
108cdf0e10cSrcweir     MetricField         aMtrTransparent;
109cdf0e10cSrcweir     FixedLine           aFlLineEnds;
110cdf0e10cSrcweir     LineEndLB           aLbStartStyle;
111cdf0e10cSrcweir     MetricField         aMtrStartWidth;
112cdf0e10cSrcweir     TriStateBox         aTsbCenterStart;
113cdf0e10cSrcweir     FixedText           aFtLineEndsStyle;
114cdf0e10cSrcweir     LineEndLB           aLbEndStyle;
115cdf0e10cSrcweir     FixedText           aFtLineEndsWidth;
116cdf0e10cSrcweir     MetricField         aMtrEndWidth;
117cdf0e10cSrcweir     TriStateBox         aTsbCenterEnd;
118cdf0e10cSrcweir     CheckBox            aCbxSynchronize;
119cdf0e10cSrcweir     FixedLine           aFLSeparator;
120cdf0e10cSrcweir     SvxXLinePreview     aCtlPreview;
121cdf0e10cSrcweir 
122cdf0e10cSrcweir     // #116827#
123cdf0e10cSrcweir     FixedLine           maFLEdgeStyle;
124cdf0e10cSrcweir     FixedText           maFTEdgeStyle;
125cdf0e10cSrcweir     LineEndLB           maLBEdgeStyle;
126cdf0e10cSrcweir 
1275aaf853bSArmin Le Grand      // LineCaps
1285aaf853bSArmin Le Grand      FixedText          maFTCapStyle;
1295aaf853bSArmin Le Grand      LineEndLB          maLBCapStyle;
1305aaf853bSArmin Le Grand 
131cdf0e10cSrcweir     //#58425# Symbole auf einer Linie (z.B. StarChart) ->
132cdf0e10cSrcweir     SdrObjList*         pSymbolList; //a list of symbols to be shown in menu. Symbol at position SID_ATTR_SYMBOLTYPE is to be shown in preview. The list position is to be used cyclic.
133cdf0e10cSrcweir     bool                bNewSize;
134*07a3d7f1SPedro Giffuni     Graphic             aAutoSymbolGraphic; //a graphic to be displayed in the preview in case that an automatic symbol is chosen
135cdf0e10cSrcweir     long                nNumMenuGalleryItems;
136cdf0e10cSrcweir     long                nSymbolType;
137cdf0e10cSrcweir     SfxItemSet*         pSymbolAttr; //attributes for the shown symbols; only necessary if not equal to line properties
138cdf0e10cSrcweir     FixedLine           aFlSymbol;
139cdf0e10cSrcweir     MenuButton          aSymbolMB;
140cdf0e10cSrcweir     FixedText           aSymbolWidthFT;
141cdf0e10cSrcweir     MetricField         aSymbolWidthMF;
142cdf0e10cSrcweir     FixedText           aSymbolHeightFT;
143cdf0e10cSrcweir     MetricField         aSymbolHeightMF;
144cdf0e10cSrcweir     CheckBox            aSymbolRatioCB;
145cdf0e10cSrcweir     List                aGrfNames;
146cdf0e10cSrcweir     List                aGrfBrushItems;
147cdf0e10cSrcweir     String              sNumCharFmtName;
148cdf0e10cSrcweir     sal_Bool                bLastWidthModified;
149cdf0e10cSrcweir     Size                aSymbolLastSize;
150cdf0e10cSrcweir     Graphic             aSymbolGraphic;
151cdf0e10cSrcweir     Size                aSymbolSize;
152cdf0e10cSrcweir     sal_Bool                bSymbols;
153cdf0e10cSrcweir 
154cdf0e10cSrcweir     const SfxItemSet&   rOutAttrs;
155cdf0e10cSrcweir     RECT_POINT          eRP;
156cdf0e10cSrcweir     sal_Bool                bObjSelected;
157cdf0e10cSrcweir 
158cdf0e10cSrcweir     XOutdevItemPool*    pXPool;
159cdf0e10cSrcweir     XLineStyleItem      aXLStyle;
160cdf0e10cSrcweir     XLineWidthItem      aXWidth;
161cdf0e10cSrcweir     XLineDashItem       aXDash;
162cdf0e10cSrcweir     XLineColorItem      aXColor;
163cdf0e10cSrcweir     XLineAttrSetItem    aXLineAttr;
164cdf0e10cSrcweir     SfxItemSet&         rXLSet;
165cdf0e10cSrcweir 
166c7be74b1SArmin Le Grand     XColorListSharedPtr     maColorTab;
167c7be74b1SArmin Le Grand     XDashListSharedPtr      maDashList;
168c7be74b1SArmin Le Grand     XLineEndListSharedPtr   maLineEndList;
169cdf0e10cSrcweir 
170cdf0e10cSrcweir     ChangeType*         pnLineEndListState;
171cdf0e10cSrcweir     ChangeType*         pnDashListState;
172cdf0e10cSrcweir     ChangeType*         pnColorTableState;
173cdf0e10cSrcweir     sal_uInt16             nPageType; //add CHINA001
174cdf0e10cSrcweir     sal_uInt16             nDlgType; //add CHINA001
175cdf0e10cSrcweir     sal_uInt16*             pPosDashLb;
176cdf0e10cSrcweir     sal_uInt16*             pPosLineEndLb;
177cdf0e10cSrcweir 
178cdf0e10cSrcweir     SfxMapUnit          ePoolUnit;
179cdf0e10cSrcweir 
180cdf0e10cSrcweir     // #63083#
181cdf0e10cSrcweir     sal_Int32               nActLineWidth;
182cdf0e10cSrcweir 
183cdf0e10cSrcweir     //Handler f�r Gallery-Popup-Menue-Button + Size
184cdf0e10cSrcweir     DECL_LINK( GraphicHdl_Impl, MenuButton * );
185cdf0e10cSrcweir     DECL_LINK( MenuCreateHdl_Impl, MenuButton * );
186cdf0e10cSrcweir     DECL_STATIC_LINK( SvxLineTabPage, GraphicArrivedHdl_Impl, SvxBrushItem* );
187cdf0e10cSrcweir     DECL_LINK( SizeHdl_Impl, MetricField * );
188cdf0e10cSrcweir     DECL_LINK( RatioHdl_Impl, CheckBox * );
189cdf0e10cSrcweir     // <- Symbole
190cdf0e10cSrcweir 
191cdf0e10cSrcweir #ifdef _SVX_TPLINE_CXX
192cdf0e10cSrcweir     DECL_LINK( ClickInvisibleHdl_Impl, void * );
193cdf0e10cSrcweir     DECL_LINK( ChangeStartHdl_Impl, void * );
194cdf0e10cSrcweir     DECL_LINK( ChangeEndHdl_Impl, void * );
195cdf0e10cSrcweir     DECL_LINK( ChangePreviewHdl_Impl, void * );
196cdf0e10cSrcweir     DECL_LINK( ChangeTransparentHdl_Impl, void * );
197cdf0e10cSrcweir 
198cdf0e10cSrcweir     // #116827#
199cdf0e10cSrcweir     DECL_LINK( ChangeEdgeStyleHdl_Impl, void * );
200cdf0e10cSrcweir 
2015aaf853bSArmin Le Grand      // LineCaps
2025aaf853bSArmin Le Grand      DECL_LINK ( ChangeCapStyleHdl_Impl, void * );
2035aaf853bSArmin Le Grand 
204cdf0e10cSrcweir     sal_Bool FillXLSet_Impl();
205cdf0e10cSrcweir #endif
206cdf0e10cSrcweir 
207cdf0e10cSrcweir     void FillListboxes();
208cdf0e10cSrcweir public:
209cdf0e10cSrcweir 
210cdf0e10cSrcweir     void ShowSymbolControls(sal_Bool bOn);
211cdf0e10cSrcweir 
212cdf0e10cSrcweir     SvxLineTabPage( Window* pParent, const SfxItemSet& rInAttrs );
213cdf0e10cSrcweir     virtual ~SvxLineTabPage();
214cdf0e10cSrcweir 
215cdf0e10cSrcweir     void    Construct();
216cdf0e10cSrcweir 
217cdf0e10cSrcweir 
218cdf0e10cSrcweir     static  SfxTabPage* Create( Window*, const SfxItemSet& );
219cdf0e10cSrcweir     static  sal_uInt16*    GetRanges();
220cdf0e10cSrcweir 
221cdf0e10cSrcweir     virtual sal_Bool FillItemSet( SfxItemSet& );
222cdf0e10cSrcweir     virtual void Reset( const SfxItemSet& );
223cdf0e10cSrcweir 
224cdf0e10cSrcweir     virtual void ActivatePage( const SfxItemSet& rSet );
225cdf0e10cSrcweir     virtual int  DeactivatePage( SfxItemSet* pSet );
226cdf0e10cSrcweir 
227cdf0e10cSrcweir     virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
228cdf0e10cSrcweir 
229cdf0e10cSrcweir     virtual void FillUserData();
230cdf0e10cSrcweir 
SetColorTable(XColorListSharedPtr aColTab)231c7be74b1SArmin Le Grand     void    SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; }
SetDashList(XDashListSharedPtr aDshLst)232c7be74b1SArmin Le Grand     void    SetDashList( XDashListSharedPtr aDshLst ) { maDashList = aDshLst; }
SetLineEndList(XLineEndListSharedPtr aLneEndLst)233c7be74b1SArmin Le Grand     void    SetLineEndList( XLineEndListSharedPtr aLneEndLst) { maLineEndList = aLneEndLst; }
SetObjSelected(sal_Bool bHasObj)234cdf0e10cSrcweir     void    SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; }
235cdf0e10cSrcweir 
SetPageType(sal_uInt16 nInType)236cdf0e10cSrcweir     void    SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }//CHINA001 void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
SetDlgType(sal_uInt16 nInType)237cdf0e10cSrcweir     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }    //CHINA001 void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
SetPosDashLb(sal_uInt16 * pInPos)238cdf0e10cSrcweir     void    SetPosDashLb( sal_uInt16* pInPos ) { pPosDashLb = pInPos; }
SetPosLineEndLb(sal_uInt16 * pInPos)239cdf0e10cSrcweir     void    SetPosLineEndLb( sal_uInt16* pInPos ) { pPosLineEndLb = pInPos; }
240cdf0e10cSrcweir 
SetLineEndChgd(ChangeType * pIn)241cdf0e10cSrcweir     void    SetLineEndChgd( ChangeType* pIn ) { pnLineEndListState = pIn; }
SetDashChgd(ChangeType * pIn)242cdf0e10cSrcweir     void    SetDashChgd( ChangeType* pIn ) { pnDashListState = pIn; }
SetColorChgd(ChangeType * pIn)243cdf0e10cSrcweir     void    SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
244cdf0e10cSrcweir 
245cdf0e10cSrcweir     virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
246cdf0e10cSrcweir     virtual void    DataChanged( const DataChangedEvent& rDCEvt );
247cdf0e10cSrcweir };
248cdf0e10cSrcweir 
249cdf0e10cSrcweir /*************************************************************************
250cdf0e10cSrcweir |*
251cdf0e10cSrcweir |* Linien-Definitions-Tab-Page
252cdf0e10cSrcweir |*
253cdf0e10cSrcweir \************************************************************************/
254cdf0e10cSrcweir 
255cdf0e10cSrcweir class SvxLineDefTabPage : public SfxTabPage
256cdf0e10cSrcweir {
257cdf0e10cSrcweir     using TabPage::ActivatePage;
258cdf0e10cSrcweir     using TabPage::DeactivatePage;
259cdf0e10cSrcweir private:
260cdf0e10cSrcweir     FixedLine           aFlDefinition;
261cdf0e10cSrcweir     FixedText           aFTLinestyle;
262cdf0e10cSrcweir     LineLB              aLbLineStyles;
263cdf0e10cSrcweir     FixedText           aFtType;
264cdf0e10cSrcweir     ListBox             aLbType1;
265cdf0e10cSrcweir     ListBox             aLbType2;
266cdf0e10cSrcweir     FixedText           aFtNumber;
267cdf0e10cSrcweir     NumericField        aNumFldNumber1;
268cdf0e10cSrcweir     NumericField        aNumFldNumber2;
269cdf0e10cSrcweir     FixedText           aFtLength;
270cdf0e10cSrcweir     MetricField         aMtrLength1;
271cdf0e10cSrcweir     MetricField         aMtrLength2;
272cdf0e10cSrcweir     FixedText           aFtDistance;
273cdf0e10cSrcweir     MetricField         aMtrDistance;
274cdf0e10cSrcweir     CheckBox            aCbxSynchronize;
275cdf0e10cSrcweir     PushButton          aBtnAdd;
276cdf0e10cSrcweir     PushButton          aBtnModify;
277cdf0e10cSrcweir     PushButton          aBtnDelete;
278cdf0e10cSrcweir     ImageButton         aBtnLoad;
279cdf0e10cSrcweir     ImageButton         aBtnSave;
280cdf0e10cSrcweir     SvxXLinePreview     aCtlPreview;
281cdf0e10cSrcweir 
282cdf0e10cSrcweir     const SfxItemSet&   rOutAttrs;
283cdf0e10cSrcweir     XDash               aDash;
284cdf0e10cSrcweir     sal_Bool                bObjSelected;
285cdf0e10cSrcweir 
286cdf0e10cSrcweir     XOutdevItemPool*    pXPool;
287cdf0e10cSrcweir     XLineStyleItem      aXLStyle;
288cdf0e10cSrcweir     XLineWidthItem      aXWidth;
289cdf0e10cSrcweir     XLineDashItem       aXDash;
290cdf0e10cSrcweir     XLineColorItem      aXColor;
291cdf0e10cSrcweir     XLineAttrSetItem    aXLineAttr;
292cdf0e10cSrcweir     SfxItemSet&         rXLSet;
293cdf0e10cSrcweir 
294c7be74b1SArmin Le Grand     XDashListSharedPtr  maDashList;
295cdf0e10cSrcweir 
296cdf0e10cSrcweir     ChangeType*         pnDashListState;
297cdf0e10cSrcweir     sal_uInt16*             pPageType;
298cdf0e10cSrcweir     sal_uInt16*             pDlgType;
299cdf0e10cSrcweir     sal_uInt16*             pPosDashLb;
300cdf0e10cSrcweir 
301cdf0e10cSrcweir     SfxMapUnit          ePoolUnit;
302cdf0e10cSrcweir     FieldUnit           eFUnit;
303cdf0e10cSrcweir 
304cdf0e10cSrcweir #ifdef _SVX_TPLNEDEF_CXX
305cdf0e10cSrcweir     void FillDash_Impl();
306cdf0e10cSrcweir     void FillDialog_Impl();
307cdf0e10cSrcweir 
308cdf0e10cSrcweir     DECL_LINK( ClickAddHdl_Impl, void * );
309cdf0e10cSrcweir     DECL_LINK( ClickModifyHdl_Impl, void * );
310cdf0e10cSrcweir     DECL_LINK( ClickDeleteHdl_Impl, void * );
311cdf0e10cSrcweir     DECL_LINK( SelectLinestyleHdl_Impl, void * );
312cdf0e10cSrcweir     DECL_LINK( ChangePreviewHdl_Impl, void * );
313cdf0e10cSrcweir     DECL_LINK( ChangeNumber1Hdl_Impl, void * );
314cdf0e10cSrcweir     DECL_LINK( ChangeNumber2Hdl_Impl, void * );
315cdf0e10cSrcweir     DECL_LINK( ClickLoadHdl_Impl, void * );
316cdf0e10cSrcweir     DECL_LINK( ClickSaveHdl_Impl, void * );
317cdf0e10cSrcweir     DECL_LINK( ChangeMetricHdl_Impl, void * );
318cdf0e10cSrcweir     DECL_LINK( SelectTypeHdl_Impl, void * );
319cdf0e10cSrcweir 
320cdf0e10cSrcweir     void CheckChanges_Impl();
321cdf0e10cSrcweir #endif
322cdf0e10cSrcweir 
323cdf0e10cSrcweir public:
324cdf0e10cSrcweir     SvxLineDefTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
325cdf0e10cSrcweir 
326cdf0e10cSrcweir     void    Construct();
327cdf0e10cSrcweir 
328cdf0e10cSrcweir     static  SfxTabPage* Create( Window*, const SfxItemSet& );
329cdf0e10cSrcweir     virtual sal_Bool FillItemSet( SfxItemSet& );
330cdf0e10cSrcweir     virtual void Reset( const SfxItemSet & );
331cdf0e10cSrcweir 
332cdf0e10cSrcweir     virtual void ActivatePage( const SfxItemSet& rSet );
333cdf0e10cSrcweir     virtual int  DeactivatePage( SfxItemSet* pSet );
334cdf0e10cSrcweir 
SetDashList(XDashListSharedPtr aDshLst)335c7be74b1SArmin Le Grand     void    SetDashList( XDashListSharedPtr aDshLst ) { maDashList = aDshLst; }
SetObjSelected(sal_Bool bHasObj)336cdf0e10cSrcweir     void    SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; }
337cdf0e10cSrcweir 
SetPageType(sal_uInt16 * pInType)338cdf0e10cSrcweir     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
SetDlgType(sal_uInt16 * pInType)339cdf0e10cSrcweir     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
SetPosDashLb(sal_uInt16 * pInPos)340cdf0e10cSrcweir     void    SetPosDashLb( sal_uInt16* pInPos ) { pPosDashLb = pInPos; }
341cdf0e10cSrcweir 
SetDashChgd(ChangeType * pIn)342cdf0e10cSrcweir     void    SetDashChgd( ChangeType* pIn ) { pnDashListState = pIn; }
343cdf0e10cSrcweir 
344cdf0e10cSrcweir     virtual void    DataChanged( const DataChangedEvent& rDCEvt );
345cdf0e10cSrcweir };
346cdf0e10cSrcweir 
347cdf0e10cSrcweir /*************************************************************************
348cdf0e10cSrcweir |*
349cdf0e10cSrcweir |* Linienenden-Definitions-Tab-Page
350cdf0e10cSrcweir |*
351cdf0e10cSrcweir \************************************************************************/
352cdf0e10cSrcweir 
353cdf0e10cSrcweir class SvxLineEndDefTabPage : public SfxTabPage
354cdf0e10cSrcweir {
355cdf0e10cSrcweir     using TabPage::ActivatePage;
356cdf0e10cSrcweir     using TabPage::DeactivatePage;
357cdf0e10cSrcweir 
358cdf0e10cSrcweir private:
359cdf0e10cSrcweir     FixedLine           aFlTip;
360cdf0e10cSrcweir     FixedText           aFTTitle;
361cdf0e10cSrcweir     Edit                aEdtName;
362cdf0e10cSrcweir     FixedText           aFTLineEndStyle;
363cdf0e10cSrcweir     LineEndLB           aLbLineEnds;
364cdf0e10cSrcweir     PushButton          aBtnAdd;
365cdf0e10cSrcweir     PushButton          aBtnModify;
366cdf0e10cSrcweir     PushButton          aBtnDelete;
367cdf0e10cSrcweir     ImageButton         aBtnLoad;
368cdf0e10cSrcweir     ImageButton         aBtnSave;
369cdf0e10cSrcweir     FixedInfo           aFiTip;
370cdf0e10cSrcweir     SvxXLinePreview     aCtlPreview;
371cdf0e10cSrcweir 
372cdf0e10cSrcweir     const SfxItemSet&   rOutAttrs;
373cdf0e10cSrcweir     const SdrObject*    pPolyObj;
374cdf0e10cSrcweir     sal_Bool                bObjSelected;
375cdf0e10cSrcweir 
376cdf0e10cSrcweir     XOutdevItemPool*    pXPool;
377cdf0e10cSrcweir     XLineStyleItem      aXLStyle;
378cdf0e10cSrcweir     XLineWidthItem      aXWidth;
379cdf0e10cSrcweir     XLineColorItem      aXColor;
380cdf0e10cSrcweir     XLineAttrSetItem    aXLineAttr;
381cdf0e10cSrcweir     SfxItemSet&         rXLSet;
382cdf0e10cSrcweir 
383c7be74b1SArmin Le Grand     XLineEndListSharedPtr   maLineEndList;
384cdf0e10cSrcweir 
385cdf0e10cSrcweir     ChangeType*         pnLineEndListState;
386cdf0e10cSrcweir     sal_uInt16*             pPageType;
387cdf0e10cSrcweir     sal_uInt16*             pDlgType;
388cdf0e10cSrcweir     sal_uInt16*             pPosLineEndLb;
389cdf0e10cSrcweir 
390cdf0e10cSrcweir #ifdef _SVX_TPLNEEND_CXX
391cdf0e10cSrcweir     DECL_LINK( ClickAddHdl_Impl, void * );
392cdf0e10cSrcweir     DECL_LINK( ClickModifyHdl_Impl, void * );
393cdf0e10cSrcweir     DECL_LINK( ClickDeleteHdl_Impl, void * );
394cdf0e10cSrcweir     DECL_LINK( ClickLoadHdl_Impl, void * );
395cdf0e10cSrcweir     DECL_LINK( ClickSaveHdl_Impl, void * );
396cdf0e10cSrcweir     DECL_LINK( SelectLineEndHdl_Impl, void * );
397cdf0e10cSrcweir     long ChangePreviewHdl_Impl( void* p );
398cdf0e10cSrcweir 
399cdf0e10cSrcweir     void CheckChanges_Impl();
400cdf0e10cSrcweir #endif
401cdf0e10cSrcweir 
402cdf0e10cSrcweir public:
403cdf0e10cSrcweir     SvxLineEndDefTabPage( Window* pParent, const SfxItemSet& rInAttrs );
404cdf0e10cSrcweir     ~SvxLineEndDefTabPage();
405cdf0e10cSrcweir 
406cdf0e10cSrcweir     void    Construct();
407cdf0e10cSrcweir 
408cdf0e10cSrcweir     static  SfxTabPage* Create( Window*, const SfxItemSet& );
409cdf0e10cSrcweir     virtual sal_Bool FillItemSet( SfxItemSet& );
410cdf0e10cSrcweir     virtual void Reset( const SfxItemSet & );
411cdf0e10cSrcweir 
412cdf0e10cSrcweir     virtual void ActivatePage( const SfxItemSet& rSet );
413cdf0e10cSrcweir     virtual int  DeactivatePage( SfxItemSet* pSet );
414cdf0e10cSrcweir 
SetLineEndList(XLineEndListSharedPtr aInList)415c7be74b1SArmin Le Grand     void    SetLineEndList( XLineEndListSharedPtr aInList ) { maLineEndList = aInList; }
SetPolyObj(const SdrObject * pObj)416cdf0e10cSrcweir     void    SetPolyObj( const SdrObject* pObj ) { pPolyObj = pObj; }
SetObjSelected(sal_Bool bHasObj)417cdf0e10cSrcweir     void    SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; }
418cdf0e10cSrcweir 
SetPageType(sal_uInt16 * pInType)419cdf0e10cSrcweir     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
SetDlgType(sal_uInt16 * pInType)420cdf0e10cSrcweir     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
SetPosLineEndLb(sal_uInt16 * pInPos)421cdf0e10cSrcweir     void    SetPosLineEndLb( sal_uInt16* pInPos ) { pPosLineEndLb = pInPos; }
422cdf0e10cSrcweir 
SetLineEndChgd(ChangeType * pIn)423cdf0e10cSrcweir     void    SetLineEndChgd( ChangeType* pIn ) { pnLineEndListState = pIn; }
424cdf0e10cSrcweir 
425cdf0e10cSrcweir     virtual void    DataChanged( const DataChangedEvent& rDCEvt );
426cdf0e10cSrcweir };
427cdf0e10cSrcweir 
428cdf0e10cSrcweir 
429cdf0e10cSrcweir #endif // _CUI_TAB_LINE_HXX
430