/* -*- 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_OPTPAGE_HXX #define INCLUDED_SW_SOURCE_UIBASE_INC_OPTPAGE_HXX #include #include #include #include #include #include #include #include #include #include class SfxPrinter; class SwStdFontConfig; class SwWrtShell; class FontList; // Tools->Options->Writer->View // Tools->Options->Writer/Web->View class SwContentOptPage : public SfxTabPage { VclPtr m_pCrossCB; VclPtr m_pHMetric; VclPtr m_pVRulerCBox; VclPtr m_pVRulerRightCBox; VclPtr m_pVMetric; VclPtr m_pSmoothCBox; VclPtr m_pGrfCB; VclPtr m_pTableCB; VclPtr m_pDrwCB; VclPtr m_pFieldNameCB; VclPtr m_pPostItCB; VclPtr m_pSettingsFrame; VclPtr m_pSettingsLabel; VclPtr m_pMetricLabel; VclPtr m_pMetricLB; DECL_LINK(VertRulerHdl, Button*, void); public: SwContentOptPage( vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwContentOptPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet(SfxItemSet* rSet) override; virtual void Reset(const SfxItemSet* rSet) override; }; // TabPage printer settings additions class SwAddPrinterTabPage : public SfxTabPage { VclPtr m_pGrfCB; VclPtr m_pCtrlFieldCB; VclPtr m_pBackgroundCB; VclPtr m_pBlackFontCB; VclPtr m_pPrintHiddenTextCB; VclPtr m_pPrintTextPlaceholderCB; VclPtr m_pPagesFrame; VclPtr m_pLeftPageCB; VclPtr m_pRightPageCB; VclPtr m_pProspectCB; VclPtr m_pProspectCB_RTL; VclPtr m_pCommentsFrame; VclPtr m_pNoRB; VclPtr m_pOnlyRB; VclPtr m_pEndRB; VclPtr m_pEndPageRB; VclPtr m_pInMarginsRB; VclPtr m_pPrintEmptyPagesCB; VclPtr m_pPaperFromSetupCB; VclPtr m_pFaxLB; OUString sNone; bool bAttrModified; bool bPreview; DECL_LINK(AutoClickHdl, Button*, void); DECL_LINK(SelectHdl, ListBox&, void); public: SwAddPrinterTabPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwAddPrinterTabPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet(SfxItemSet* rSet) override; virtual void Reset(const SfxItemSet* rSet) override; void SetFax(const std::vector& ); void SetPreview(bool bPrev); virtual void PageCreated(const SfxAllItemSet& aSet) override; }; class SwStdFontTabPage : public SfxTabPage { friend class VclPtr; VclPtr m_pLabelFT; VclPtr m_pStandardBox; VclPtr m_pStandardHeightLB; VclPtr m_pTitleBox ; VclPtr m_pTitleHeightLB; VclPtr m_pListBox ; VclPtr m_pListHeightLB; VclPtr m_pLabelBox ; VclPtr m_pLabelHeightLB; VclPtr m_pIdxBox ; VclPtr m_pIndexHeightLB; VclPtr m_pStandardPB; OUString m_sShellStd; OUString m_sShellTitle; OUString m_sShellList; OUString m_sShellLabel; OUString m_sShellIndex; VclPtr m_pPrt; FontList* m_pFontList; SwStdFontConfig* m_pFontConfig; SwWrtShell* m_pWrtShell; LanguageType m_eLanguage; // only defaults were there? they were signed with the boxes bool m_bListDefault :1; bool m_bSetListDefault :1; bool m_bLabelDefault :1; bool m_bSetLabelDefault :1; bool m_bIdxDefault :1; bool m_bSetIdxDefault :1; bool m_bListHeightDefault :1; bool m_bSetListHeightDefault :1; bool m_bLabelHeightDefault :1; bool m_bSetLabelHeightDefault :1; bool m_bIndexHeightDefault :1; bool m_bSetIndexHeightDefault :1; sal_uInt8 m_nFontGroup; //fontcfg.hxx: FONT_GROUP_[STANDARD|CJK|CTL] OUString m_sScriptWestern; OUString m_sScriptAsian; OUString m_sScriptComplex; DECL_LINK(StandardHdl, Button*, void ); DECL_LINK(ModifyHdl, Edit&, void ); DECL_LINK(ModifyHeightHdl, Edit&, void ); DECL_LINK(LoseFocusHdl, Control&, void ); SwStdFontTabPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwStdFontTabPage() override; virtual void dispose() override; public: static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet(SfxItemSet* rSet) override; virtual void Reset(const SfxItemSet* rSet) override; virtual void PageCreated(const SfxAllItemSet& aSet) override; }; class SwTableOptionsTabPage : public SfxTabPage { VclPtr m_pHeaderCB; VclPtr m_pRepeatHeaderCB; VclPtr m_pDontSplitCB; VclPtr m_pBorderCB; VclPtr m_pNumFormattingCB; VclPtr m_pNumFormatFormattingCB; VclPtr m_pNumAlignmentCB; VclPtr m_pRowMoveMF; VclPtr m_pColMoveMF; VclPtr m_pRowInsertMF; VclPtr m_pColInsertMF; VclPtr m_pFixRB; VclPtr m_pFixPropRB; VclPtr m_pVarRB; SwWrtShell* m_pWrtShell; bool m_bHTMLMode; DECL_LINK(CheckBoxHdl, Button*, void); public: SwTableOptionsTabPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwTableOptionsTabPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet(SfxItemSet* rSet) override; virtual void Reset(const SfxItemSet* rSet) override; virtual void PageCreated( const SfxAllItemSet& aSet) override; }; // TabPage for ShadowCursor class SwShdwCursorOptionsTabPage : public SfxTabPage { //nonprinting characters VclPtr m_pParaCB; VclPtr m_pSHyphCB; VclPtr m_pSpacesCB; VclPtr m_pHSpacesCB; VclPtr m_pTabCB; VclPtr m_pBreakCB; VclPtr m_pCharHiddenCB; VclPtr m_pFieldHiddenCB; VclPtr m_pFieldHiddenParaCB; VclPtr m_pDirectCursorFrame; VclPtr m_pOnOffCB; VclPtr m_pFillMarginRB; VclPtr m_pFillIndentRB; VclPtr m_pFillTabRB; VclPtr m_pFillTabAndSpaceRB; VclPtr m_pFillSpaceRB; VclPtr m_pCursorProtFrame; VclPtr m_pCursorInProtCB; VclPtr m_pMathBaselineAlignmentCB; SwWrtShell * m_pWrtShell; public: SwShdwCursorOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet ); virtual ~SwShdwCursorOptionsTabPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet( SfxItemSet* rSet ) override; virtual void Reset( const SfxItemSet* rSet ) override; virtual void PageCreated( const SfxAllItemSet& aSet ) override; }; // mark preview class SwMarkPreview : public vcl::Window { Size m_aInitialSize; Color m_aBgCol; // background Color m_aTransCol; // transparency Color m_aMarkCol; // marks Color m_aLineCol; // general lines Color m_aShadowCol; // shadow Color m_aTextCol; // text Color m_aPrintAreaCol; // frame for print area tools::Rectangle aPage; tools::Rectangle aLeftPagePrtArea; tools::Rectangle aRightPagePrtArea; sal_uInt16 nMarkPos; void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) override; void PaintPage(vcl::RenderContext& rRenderContext, const tools::Rectangle &rRect); void InitColors(); protected: virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; public: SwMarkPreview(vcl::Window* pParent, WinBits nWinBits); virtual ~SwMarkPreview() override; void SetColor(const Color& rCol) { m_aMarkCol = rCol; } void SetMarkPos(sal_uInt16 nPos) { nMarkPos = nPos; } virtual Size GetOptimalSize() const override; }; // redlining options class SwRedlineOptionsTabPage : public SfxTabPage { VclPtr m_pInsertLB; VclPtr m_pInsertColorLB; VclPtr m_pInsertedPreviewWN; VclPtr m_pDeletedLB; VclPtr m_pDeletedColorLB; VclPtr m_pDeletedPreviewWN; VclPtr m_pChangedLB; VclPtr m_pChangedColorLB; VclPtr m_pChangedPreviewWN; VclPtr m_pMarkPosLB; VclPtr m_pMarkColorLB; VclPtr m_pMarkPreviewWN; DECL_LINK(AttribHdl, ListBox&, void); void ChangedMaskPrev(); DECL_LINK(ChangedMaskPrevHdl, ListBox&, void); DECL_LINK(ChangedMaskColorPrevHdl, SvxColorListBox&, void); DECL_LINK(ColorHdl, SvxColorListBox&, void); static void InitFontStyle(SvxFontPrevWindow& rExampleWin); public: SwRedlineOptionsTabPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwRedlineOptionsTabPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet( SfxItemSet* rSet ) override; virtual void Reset( const SfxItemSet* rSet ) override; }; // TabPage test settings for SW #ifdef DBG_UTIL class SwTestTabPage : public SfxTabPage { public: SwTestTabPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwTestTabPage() override; virtual void dispose() override; static VclPtr Create(vcl::Window* pParent, const SfxItemSet* rAttrSet); virtual bool FillItemSet( SfxItemSet* rSet ) override; virtual void Reset( const SfxItemSet* rSet ) override; private: VclPtr m_pTest1CBox; VclPtr m_pTest2CBox; VclPtr m_pTest3CBox; VclPtr m_pTest4CBox; VclPtr m_pTest5CBox; VclPtr m_pTest6CBox; VclPtr m_pTest7CBox; VclPtr m_pTest8CBox; VclPtr m_pTest9CBox; VclPtr m_pTest10CBox; bool bAttrModified; void Init(); DECL_LINK(AutoClickHdl, Button*, void); }; #endif // DBG_UTIL class SwCompareOptionsTabPage : public SfxTabPage { VclPtr m_pAutoRB; VclPtr m_pWordRB; VclPtr m_pCharRB; VclPtr m_pRsidCB; VclPtr m_pIgnoreCB; VclPtr m_pLenNF; VclPtr m_pStoreRsidCB; DECL_LINK(ComparisonHdl, Button*, void); DECL_LINK(IgnoreHdl, Button*, void); public: SwCompareOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet ); virtual ~SwCompareOptionsTabPage() override; virtual void dispose() override; static VclPtr Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ); virtual bool FillItemSet( SfxItemSet* rSet ) override; virtual void Reset( const SfxItemSet* rSet ) override; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */