/************************************************************** * * 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 _CUI_TAB_LINE_HXX #define _CUI_TAB_LINE_HXX // include --------------------------------------------------------------- #include /************************************************************************* |* |* Transform-Tab-Dialog |* \************************************************************************/ class SvxLineTabDialog : public SfxTabDialog { private: SdrModel* pDrawModel; const SdrObject* pObj; const SfxItemSet& rOutAttrs; XColorListSharedPtr maColorTab; XColorListSharedPtr maNewColorTab; XDashListSharedPtr maDashList; XDashListSharedPtr maNewDashList; XLineEndListSharedPtr maLineEndList; XLineEndListSharedPtr maNewLineEndList; sal_Bool bObjSelected; ChangeType nLineEndListState; ChangeType nDashListState; ChangeType mnColorTableState; sal_uInt16 nPageType; sal_uInt16 nDlgType; sal_uInt16 nPosDashLb; sal_uInt16 nPosLineEndLb; sal_uInt16 mnPos; sal_Bool mbAreaTP; virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ); protected: virtual short Ok(); #ifdef _SVX_TABLINE_CXX DECL_LINK( CancelHdlImpl, void * ); void SavePalettes(); #endif public: SvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* pObj = NULL, sal_Bool bHasObj = sal_True ); ~SvxLineTabDialog(); void SetNewDashList( XDashListSharedPtr aInLst) { maNewDashList = aInLst; } XDashListSharedPtr GetNewDashList() const { return maNewDashList; } const XDashListSharedPtr GetDashList() const { return maDashList; } void SetNewLineEndList( XLineEndListSharedPtr aInLst) { maNewLineEndList = aInLst; } XLineEndListSharedPtr GetNewLineEndList() const { return maNewLineEndList; } const XLineEndListSharedPtr GetLineEndList() const { return maLineEndList; } void SetNewColorTable( XColorListSharedPtr aColTab ) { maNewColorTab = aColTab; } XColorListSharedPtr GetNewColorTable() const { return maNewColorTab; } const XColorListSharedPtr GetColorTable() const { return maColorTab; } }; /************************************************************************* |* |* Linien-Tab-Page |* \************************************************************************/ class SvxLineTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: FixedLine aFlLine; FixedText aFtLineStyle; LineLB aLbLineStyle; FixedText aFtColor; ColorLB aLbColor; FixedText aFtLineWidth; MetricField aMtrLineWidth; FixedText aFtTransparent; MetricField aMtrTransparent; FixedLine aFlLineEnds; LineEndLB aLbStartStyle; MetricField aMtrStartWidth; TriStateBox aTsbCenterStart; FixedText aFtLineEndsStyle; LineEndLB aLbEndStyle; FixedText aFtLineEndsWidth; MetricField aMtrEndWidth; TriStateBox aTsbCenterEnd; CheckBox aCbxSynchronize; FixedLine aFLSeparator; SvxXLinePreview aCtlPreview; // #116827# FixedLine maFLEdgeStyle; FixedText maFTEdgeStyle; LineEndLB maLBEdgeStyle; // LineCaps FixedText maFTCapStyle; LineEndLB maLBCapStyle; //#58425# Symbole auf einer Linie (z.B. StarChart) -> 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. bool bNewSize; Graphic aAutoSymbolGraphic; //a graphic to be displayed in the preview in case that an automatic symbol is chosen long nNumMenuGalleryItems; long nSymbolType; SfxItemSet* pSymbolAttr; //attributes for the shown symbols; only necessary if not equal to line properties FixedLine aFlSymbol; MenuButton aSymbolMB; FixedText aSymbolWidthFT; MetricField aSymbolWidthMF; FixedText aSymbolHeightFT; MetricField aSymbolHeightMF; CheckBox aSymbolRatioCB; List aGrfNames; List aGrfBrushItems; String sNumCharFmtName; sal_Bool bLastWidthModified; Size aSymbolLastSize; Graphic aSymbolGraphic; Size aSymbolSize; sal_Bool bSymbols; const SfxItemSet& rOutAttrs; RECT_POINT eRP; sal_Bool bObjSelected; XOutdevItemPool* pXPool; XLineStyleItem aXLStyle; XLineWidthItem aXWidth; XLineDashItem aXDash; XLineColorItem aXColor; XLineAttrSetItem aXLineAttr; SfxItemSet& rXLSet; XColorListSharedPtr maColorTab; XDashListSharedPtr maDashList; XLineEndListSharedPtr maLineEndList; ChangeType* pnLineEndListState; ChangeType* pnDashListState; ChangeType* pnColorTableState; sal_uInt16 nPageType; //add CHINA001 sal_uInt16 nDlgType; //add CHINA001 sal_uInt16* pPosDashLb; sal_uInt16* pPosLineEndLb; SfxMapUnit ePoolUnit; // #63083# sal_Int32 nActLineWidth; //Handler für Gallery-Popup-Menue-Button + Size DECL_LINK( GraphicHdl_Impl, MenuButton * ); DECL_LINK( MenuCreateHdl_Impl, MenuButton * ); DECL_STATIC_LINK( SvxLineTabPage, GraphicArrivedHdl_Impl, SvxBrushItem* ); DECL_LINK( SizeHdl_Impl, MetricField * ); DECL_LINK( RatioHdl_Impl, CheckBox * ); // <- Symbole #ifdef _SVX_TPLINE_CXX DECL_LINK( ClickInvisibleHdl_Impl, void * ); DECL_LINK( ChangeStartHdl_Impl, void * ); DECL_LINK( ChangeEndHdl_Impl, void * ); DECL_LINK( ChangePreviewHdl_Impl, void * ); DECL_LINK( ChangeTransparentHdl_Impl, void * ); // #116827# DECL_LINK( ChangeEdgeStyleHdl_Impl, void * ); // LineCaps DECL_LINK ( ChangeCapStyleHdl_Impl, void * ); sal_Bool FillXLSet_Impl(); #endif void FillListboxes(); public: void ShowSymbolControls(sal_Bool bOn); SvxLineTabPage( Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxLineTabPage(); void Construct(); static SfxTabPage* Create( Window*, const SfxItemSet& ); static sal_uInt16* GetRanges(); virtual sal_Bool FillItemSet( SfxItemSet& ); virtual void Reset( const SfxItemSet& ); virtual void ActivatePage( const SfxItemSet& rSet ); virtual int DeactivatePage( SfxItemSet* pSet ); virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); virtual void FillUserData(); void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } void SetDashList( XDashListSharedPtr aDshLst ) { maDashList = aDshLst; } void SetLineEndList( XLineEndListSharedPtr aLneEndLst) { maLineEndList = aLneEndLst; } void SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; } void SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }//CHINA001 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; } //CHINA001 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } void SetPosDashLb( sal_uInt16* pInPos ) { pPosDashLb = pInPos; } void SetPosLineEndLb( sal_uInt16* pInPos ) { pPosLineEndLb = pInPos; } void SetLineEndChgd( ChangeType* pIn ) { pnLineEndListState = pIn; } void SetDashChgd( ChangeType* pIn ) { pnDashListState = pIn; } void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 virtual void DataChanged( const DataChangedEvent& rDCEvt ); }; /************************************************************************* |* |* Linien-Definitions-Tab-Page |* \************************************************************************/ class SvxLineDefTabPage : public SfxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: FixedLine aFlDefinition; FixedText aFTLinestyle; LineLB aLbLineStyles; FixedText aFtType; ListBox aLbType1; ListBox aLbType2; FixedText aFtNumber; NumericField aNumFldNumber1; NumericField aNumFldNumber2; FixedText aFtLength; MetricField aMtrLength1; MetricField aMtrLength2; FixedText aFtDistance; MetricField aMtrDistance; CheckBox aCbxSynchronize; PushButton aBtnAdd; PushButton aBtnModify; PushButton aBtnDelete; ImageButton aBtnLoad; ImageButton aBtnSave; SvxXLinePreview aCtlPreview; const SfxItemSet& rOutAttrs; XDash aDash; sal_Bool bObjSelected; XOutdevItemPool* pXPool; XLineStyleItem aXLStyle; XLineWidthItem aXWidth; XLineDashItem aXDash; XLineColorItem aXColor; XLineAttrSetItem aXLineAttr; SfxItemSet& rXLSet; XDashListSharedPtr maDashList; ChangeType* pnDashListState; sal_uInt16* pPageType; sal_uInt16* pDlgType; sal_uInt16* pPosDashLb; SfxMapUnit ePoolUnit; FieldUnit eFUnit; #ifdef _SVX_TPLNEDEF_CXX void FillDash_Impl(); void FillDialog_Impl(); DECL_LINK( ClickAddHdl_Impl, void * ); DECL_LINK( ClickModifyHdl_Impl, void * ); DECL_LINK( ClickDeleteHdl_Impl, void * ); DECL_LINK( SelectLinestyleHdl_Impl, void * ); DECL_LINK( ChangePreviewHdl_Impl, void * ); DECL_LINK( ChangeNumber1Hdl_Impl, void * ); DECL_LINK( ChangeNumber2Hdl_Impl, void * ); DECL_LINK( ClickLoadHdl_Impl, void * ); DECL_LINK( ClickSaveHdl_Impl, void * ); DECL_LINK( ChangeMetricHdl_Impl, void * ); DECL_LINK( SelectTypeHdl_Impl, void * ); void CheckChanges_Impl(); #endif public: SvxLineDefTabPage( Window* pParent, const SfxItemSet& rInAttrs ); void Construct(); static SfxTabPage* Create( Window*, const SfxItemSet& ); virtual sal_Bool FillItemSet( SfxItemSet& ); virtual void Reset( const SfxItemSet & ); virtual void ActivatePage( const SfxItemSet& rSet ); virtual int DeactivatePage( SfxItemSet* pSet ); void SetDashList( XDashListSharedPtr aDshLst ) { maDashList = aDshLst; } void SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; } void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } void SetPosDashLb( sal_uInt16* pInPos ) { pPosDashLb = pInPos; } void SetDashChgd( ChangeType* pIn ) { pnDashListState = pIn; } virtual void DataChanged( const DataChangedEvent& rDCEvt ); }; /************************************************************************* |* |* Linienenden-Definitions-Tab-Page |* \************************************************************************/ class SvxLineEndDefTabPage : public SfxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: FixedLine aFlTip; FixedText aFTTitle; Edit aEdtName; FixedText aFTLineEndStyle; LineEndLB aLbLineEnds; PushButton aBtnAdd; PushButton aBtnModify; PushButton aBtnDelete; ImageButton aBtnLoad; ImageButton aBtnSave; FixedInfo aFiTip; SvxXLinePreview aCtlPreview; const SfxItemSet& rOutAttrs; const SdrObject* pPolyObj; sal_Bool bObjSelected; XOutdevItemPool* pXPool; XLineStyleItem aXLStyle; XLineWidthItem aXWidth; XLineColorItem aXColor; XLineAttrSetItem aXLineAttr; SfxItemSet& rXLSet; XLineEndListSharedPtr maLineEndList; ChangeType* pnLineEndListState; sal_uInt16* pPageType; sal_uInt16* pDlgType; sal_uInt16* pPosLineEndLb; #ifdef _SVX_TPLNEEND_CXX DECL_LINK( ClickAddHdl_Impl, void * ); DECL_LINK( ClickModifyHdl_Impl, void * ); DECL_LINK( ClickDeleteHdl_Impl, void * ); DECL_LINK( ClickLoadHdl_Impl, void * ); DECL_LINK( ClickSaveHdl_Impl, void * ); DECL_LINK( SelectLineEndHdl_Impl, void * ); long ChangePreviewHdl_Impl( void* p ); void CheckChanges_Impl(); #endif public: SvxLineEndDefTabPage( Window* pParent, const SfxItemSet& rInAttrs ); ~SvxLineEndDefTabPage(); void Construct(); static SfxTabPage* Create( Window*, const SfxItemSet& ); virtual sal_Bool FillItemSet( SfxItemSet& ); virtual void Reset( const SfxItemSet & ); virtual void ActivatePage( const SfxItemSet& rSet ); virtual int DeactivatePage( SfxItemSet* pSet ); void SetLineEndList( XLineEndListSharedPtr aInList ) { maLineEndList = aInList; } void SetPolyObj( const SdrObject* pObj ) { pPolyObj = pObj; } void SetObjSelected( sal_Bool bHasObj ) { bObjSelected = bHasObj; } void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } void SetPosLineEndLb( sal_uInt16* pInPos ) { pPosLineEndLb = pInPos; } void SetLineEndChgd( ChangeType* pIn ) { pnLineEndListState = pIn; } virtual void DataChanged( const DataChangedEvent& rDCEvt ); }; #endif // _CUI_TAB_LINE_HXX