/* -*- 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_SD_SOURCE_UI_INC_TPOPTION_HXX #define INCLUDED_SD_SOURCE_UI_INC_TPOPTION_HXX #include #include #include #include #include #include #include #include /** * Option-Tab-Page: Snap */ class SdTpOptionsSnap : public SvxGridTabPage { public: SdTpOptionsSnap( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SdTpOptionsSnap(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; }; /** * Option-Tab-Page: Contents */ class SdTpOptionsContents : public SfxTabPage { private: VclPtr m_pCbxRuler; VclPtr m_pCbxDragStripes; VclPtr m_pCbxHandlesBezier; VclPtr m_pCbxMoveOutline; public: SdTpOptionsContents( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SdTpOptionsContents(); virtual void dispose() SAL_OVERRIDE; static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; }; /** * Option-Tab-Page: View */ class SdModule; class SdTpOptionsMisc : public SfxTabPage { friend class SdModule; private: VclPtr m_pCbxQuickEdit; VclPtr m_pCbxPickThrough; VclPtr m_pNewDocumentFrame; VclPtr m_pCbxStartWithTemplate; VclPtr m_pCbxMasterPageCache; VclPtr m_pCbxCopy; VclPtr m_pCbxMarkedHitMovesAlways; VclPtr m_pPresentationFrame; VclPtr m_pLbMetric; VclPtr m_pMtrFldTabstop; VclPtr m_pCbxEnableSdremote; VclPtr m_pCbxEnablePresenterScreen; VclPtr m_pCbxUsePrinterMetrics; VclPtr m_pCbxCompatibility; //Scale VclPtr m_pScaleFrame; VclPtr m_pCbScale; VclPtr m_pNewDocLb; VclPtr m_pFiInfo1; VclPtr m_pMtrFldOriginalWidth; VclPtr m_pWidthLb; VclPtr m_pHeightLb; VclPtr m_pFiInfo2; VclPtr m_pMtrFldOriginalHeight; VclPtr m_pCbxDistrot; VclPtr m_pMtrFldInfo1; VclPtr m_pMtrFldInfo2; sal_uInt32 nWidth; sal_uInt32 nHeight; OUString aInfo1; OUString aInfo2; SfxMapUnit ePoolUnit; static OUString GetScale( sal_Int32 nX, sal_Int32 nY ); static bool SetScale( const OUString& aScale, sal_Int32& rX, sal_Int32& rY ); DECL_LINK( SelectMetricHdl_Impl, void * ); /** Enable or disable the controls in the compatibility section of the 'general' tab page depending on whether there is at least one document. */ void UpdateCompatibilityControls(); protected: virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; public: SdTpOptionsMisc( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SdTpOptionsMisc(); virtual void dispose() SAL_OVERRIDE; static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; /** Hide Impress specific controls, make Draw specific controls visible and arrange the visible controls. Do not call this method or the SetImpressMode() method more than once. */ void SetDrawMode(); /** Hide Draw specific controls, make Impress specific controls visible and arrange the visible controls. Do not call this method or the SetDrawMode() method more than once. */ void SetImpressMode(); virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE; using TabPage::ActivatePage; using TabPage::DeactivatePage; using OutputDevice::SetDrawMode; }; #endif // INCLUDED_SD_SOURCE_UI_INC_TPOPTION_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */