/* -*- 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_OPTLOAD_HXX #define INCLUDED_SW_SOURCE_UIBASE_INC_OPTLOAD_HXX #include #include #include #include #include #include #include #include #include #include class SwFieldMgr; class SvTreeListEntry; class SwWrtShell; class SwFieldUnitTable { public: static OUString GetString(sal_uInt32 i); static sal_uInt32 Count(); static FieldUnit GetValue(sal_uInt32 i); }; class SwLoadOptPage : public SfxTabPage { private: VclPtr m_pAlwaysRB; VclPtr m_pRequestRB; VclPtr m_pNeverRB; VclPtr m_pAutoUpdateFields; VclPtr m_pAutoUpdateCharts; VclPtr m_pMetricLB; VclPtr m_pTabFT; VclPtr m_pTabMF; VclPtr m_pUseSquaredPageMode; VclPtr m_pUseCharUnit; VclPtr m_pWordCountED; VclPtr m_pShowStandardizedPageCount; VclPtr m_pStandardizedPageSizeNF; SwWrtShell* m_pWrtShell; sal_uInt16 m_nLastTab; sal_Int32 m_nOldLinkMode; DECL_LINK(MetricHdl, ListBox&, void); DECL_LINK(StandardizedPageCountCheckHdl, Button*, void); public: SwLoadOptPage(vcl::Window* pParent, const SfxItemSet& rSet); virtual ~SwLoadOptPage() 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; }; class SwCaptionOptDlg : public SfxSingleTabDialog { public: SwCaptionOptDlg(vcl::Window* pParent, const SfxItemSet& rSet); }; class CaptionComboBox : public ComboBox { std::vector m_EntryList; std::vector m_DelEntryList; OUString aDefault; void InsertSorted(OUString const& rEntry); protected: virtual void KeyInput( const KeyEvent& ) override; public: CaptionComboBox(vcl::Window* pParent, WinBits nStyle); virtual ~CaptionComboBox() override; void InsertSwEntry(const OUString&); virtual sal_Int32 InsertEntry(const OUString& rStr, sal_Int32 = COMBOBOX_APPEND) override; virtual void RemoveEntryAt(sal_Int32 nPos) override; const OUString& GetSwEntry(sal_Int32) const; }; class SwCaptionPreview : public vcl::Window { private: OUString maText; bool mbFontInitialized; vcl::Font maFont; Point maDrawPos; public: SwCaptionPreview(vcl::Window* pParent, WinBits nStyle); virtual void ApplySettings(vcl::RenderContext& rRenderContext) override; void SetPreviewText( const OUString& rText ); virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override; virtual Size GetOptimalSize() const override; }; class SwCaptionOptPage : public SfxTabPage { private: VclPtr m_pCheckLB; VclPtr m_pLbCaptionOrder; VclPtr m_pPreview; VclPtr m_pSettingsGroup; VclPtr m_pCategoryBox; VclPtr m_pFormatText; VclPtr m_pFormatBox; //#i61007# order of captions VclPtr m_pNumberingSeparatorFT; VclPtr m_pNumberingSeparatorED; VclPtr m_pTextText; VclPtr m_pTextEdit; VclPtr m_pPosBox; VclPtr m_pNumCapt; VclPtr m_pLbLevel; VclPtr m_pEdDelim; VclPtr m_pCategory; VclPtr m_pCharStyleLB; VclPtr m_pApplyBorderCB; OUString m_sSWTable; OUString m_sSWFrame; OUString m_sSWGraphic; OUString m_sOLE; OUString m_sIllustration; OUString m_sTable; OUString m_sText; OUString m_sDrawing; OUString m_sBegin; OUString m_sEnd; OUString m_sAbove; OUString m_sBelow; OUString m_sNone; SwFieldMgr* pMgr; bool bHTMLMode; DECL_LINK(SelectHdl, ComboBox&, void); DECL_LINK(SelectListBoxHdl, ListBox&, void); DECL_LINK(ModifyHdl, Edit&, void); DECL_LINK( OrderHdl, ListBox&, void ); DECL_LINK(ShowEntryHdl, SvTreeListBox*, void); DECL_LINK(SaveEntryHdl, SvTreeListBox*, void); void DelUserData(); void SetOptions(const sal_uLong nPos, const SwCapObjType eType, const SvGlobalName *pOleId = nullptr); void SaveEntry(SvTreeListEntry const * pEntry); void InvalidatePreview(); public: SwCaptionOptPage( vcl::Window* pParent, const SfxItemSet& rSet ); virtual ~SwCaptionOptPage() 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: */