/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_REGIONSW_HXX #define INCLUDED_SW_SOURCE_UIBASE_INC_REGIONSW_HXX #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class SwWrtShell; namespace sfx2 { class DocumentInserter; class FileDialogHelper; } // dialog "edit regions" class SectRepr; typedef std::map> SectReprs_t; class SwEditRegionDlg : public SfxModalDialog { VclPtr m_pCurName; VclPtr m_pTree; VclPtr m_pFileCB; VclPtr m_pDDECB; VclPtr m_pDDEFrame; VclPtr m_pFileNameFT; VclPtr m_pDDECommandFT; VclPtr m_pFileNameED; VclPtr m_pFilePB; VclPtr m_pSubRegionFT; VclPtr m_pSubRegionED; bool m_bSubRegionsFilled; VclPtr m_pProtectCB; VclPtr m_pPasswdCB; VclPtr m_pPasswdPB; VclPtr m_pHideCB; VclPtr m_pConditionFT; VclPtr m_pConditionED; // #114856# edit in readonly sections VclPtr m_pEditInReadonlyCB; VclPtr m_pOK; VclPtr m_pOptionsPB; VclPtr m_pDismiss; SwWrtShell& rSh; SectReprs_t m_SectReprs; const SwSection* pCurrSect; sfx2::DocumentInserter* m_pDocInserter; bool bDontCheckPasswd :1; bool bWeb :1; void RecurseList( const SwSectionFormat* pFormat, SvTreeListEntry* pEntry); size_t FindArrPos(const SwSectionFormat* pFormat); DECL_LINK( GetFirstEntryHdl, SvTreeListBox *, void ); DECL_LINK( DeselectHdl, SvTreeListBox *, void ); DECL_LINK( OkHdl, Button*, void ); DECL_LINK( NameEditHdl, Edit&, void ); DECL_LINK( ConditionEditHdl, Edit&, void ); DECL_LINK( ChangePasswdHdl, Button *, void ); DECL_LINK( ChangeProtectHdl, Button *, void ); DECL_LINK( ChangeHideHdl, Button *, void ); // #114856# edit in readonly sections DECL_LINK( ChangeEditInReadonlyHdl, Button *, void ); DECL_LINK( ChangeDismissHdl, Button*, void); DECL_LINK( UseFileHdl, Button*, void ); DECL_LINK( FileSearchHdl, Button*, void ); DECL_LINK( OptionsHdl, Button*, void ); DECL_LINK( FileNameHdl, Edit&, void ); DECL_LINK( DDEHdl, Button*, void ); DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper*, void ); DECL_LINK( SubRegionEventHdl, VclWindowEvent&, void ); bool CheckPasswd(CheckBox* pBox = nullptr); public: SwEditRegionDlg( vcl::Window* pParent, SwWrtShell& rWrtSh ); virtual ~SwEditRegionDlg() override; virtual void dispose() override; void SelectSection(const OUString& rSectionName); }; // dialog "insert region" class SwInsertSectionTabPage : public SfxTabPage { VclPtr m_pCurName; VclPtr m_pFileCB; VclPtr m_pDDECB; VclPtr m_pDDECommandFT; VclPtr m_pFileNameFT; VclPtr m_pFileNameED; VclPtr m_pFilePB; VclPtr m_pSubRegionFT; VclPtr m_pSubRegionED; VclPtr m_pProtectCB; VclPtr m_pPasswdCB; VclPtr m_pPasswdPB; VclPtr m_pHideCB; VclPtr m_pConditionFT; VclPtr m_pConditionED; // #114856# edit in readonly sections VclPtr m_pEditInReadonlyCB; OUString m_sFileName; OUString m_sFilterName; OUString m_sFilePasswd; css::uno::Sequence m_aNewPasswd; SwWrtShell* m_pWrtSh; sfx2::DocumentInserter* m_pDocInserter; DECL_LINK( ChangeHideHdl, Button *, void ); DECL_LINK( ChangeProtectHdl, Button *, void ); DECL_LINK( ChangePasswdHdl, Button *, void ); DECL_LINK( NameEditHdl, Edit&, void ); DECL_LINK( UseFileHdl, Button*, void ); DECL_LINK( FileSearchHdl, Button*, void ); DECL_LINK( DDEHdl, Button*, void ); DECL_LINK( DlgClosedHdl, sfx2::FileDialogHelper*, void ); public: SwInsertSectionTabPage(vcl::Window *pParent, const SfxItemSet &rAttrSet); virtual ~SwInsertSectionTabPage() override; virtual void dispose() override; void SetWrtShell(SwWrtShell& rSh); virtual bool FillItemSet( SfxItemSet* ) override; virtual void Reset( const SfxItemSet* ) override; static VclPtr Create( vcl::Window* pParent, const SfxItemSet* rAttrSet); }; class SwSectionFootnoteEndTabPage : public SfxTabPage { VclPtr m_pFootnoteNtAtTextEndCB; VclPtr m_pFootnoteNtNumCB; VclPtr m_pFootnoteOffsetLbl; VclPtr m_pFootnoteOffsetField; VclPtr m_pFootnoteNtNumFormatCB; VclPtr m_pFootnotePrefixFT; VclPtr m_pFootnotePrefixED; VclPtr m_pFootnoteNumViewBox; VclPtr m_pFootnoteSuffixFT; VclPtr m_pFootnoteSuffixED; VclPtr m_pEndNtAtTextEndCB; VclPtr m_pEndNtNumCB; VclPtr m_pEndOffsetLbl; VclPtr m_pEndOffsetField; VclPtr m_pEndNtNumFormatCB; VclPtr m_pEndPrefixFT; VclPtr m_pEndPrefixED; VclPtr m_pEndNumViewBox; VclPtr m_pEndSuffixFT; VclPtr m_pEndSuffixED; DECL_LINK( FootEndHdl, Button*, void ); void ResetState( bool bFootnote, const SwFormatFootnoteEndAtTextEnd& ); public: SwSectionFootnoteEndTabPage( vcl::Window *pParent, const SfxItemSet &rAttrSet ); virtual ~SwSectionFootnoteEndTabPage() override; virtual void dispose() override; virtual bool FillItemSet( SfxItemSet* ) override; virtual void Reset( const SfxItemSet* ) override; static VclPtr Create( vcl::Window* pParent, const SfxItemSet* rAttrSet); }; class SwSectionIndentTabPage : public SfxTabPage { VclPtr m_pBeforeMF; VclPtr m_pAfterMF; VclPtr m_pPreviewWin; DECL_LINK(IndentModifyHdl, Edit&, void); public: SwSectionIndentTabPage( vcl::Window *pParent, const SfxItemSet &rAttrSet ); virtual ~SwSectionIndentTabPage() override; virtual void dispose() override; virtual bool FillItemSet( SfxItemSet* ) override; virtual void Reset( const SfxItemSet* ) override; static VclPtr Create( vcl::Window* pParent, const SfxItemSet* rAttrSet); void SetWrtShell(SwWrtShell& rSh); }; class SwInsertSectionTabDialog : public SfxTabDialog { SwWrtShell& rWrtSh; std::unique_ptr m_pSectionData; sal_uInt16 m_nSectionPageId; sal_uInt16 m_nColumnPageId; sal_uInt16 m_nBackPageId; sal_uInt16 m_nNotePageId; sal_uInt16 m_nIndentPage; protected: virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) override; virtual short Ok() override; public: SwInsertSectionTabDialog(vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh); virtual ~SwInsertSectionTabDialog() override; void SetSectionData(SwSectionData const& rSect); SwSectionData * GetSectionData() { return m_pSectionData.get(); } }; class SwSectionPropertyTabDialog : public SfxTabDialog { SwWrtShell& rWrtSh; sal_uInt16 m_nColumnPageId; sal_uInt16 m_nBackPageId; sal_uInt16 m_nNotePageId; sal_uInt16 m_nIndentPage; protected: virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) override; public: SwSectionPropertyTabDialog(vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh); virtual ~SwSectionPropertyTabDialog() override; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */