diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-05-26 17:43:14 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-05-27 11:13:02 +0200 |
commit | 35029b250318b3a4f02cef5194abdd3f68311c43 (patch) | |
tree | 5026ab2dab620dcdcae84e574483ce3c325e5a78 /sw/source/uibase/inc/optpage.hxx | |
parent | f8d26c68e48e52265d4f20a1527bf52828c046ad (diff) |
sw: move sw/source/core/uibase to sw/source/uibase
It's too confusing to have UI code inside of core; the important part is
that it's separated from the optional UI code in swui library.
Change-Id: I640a52723d5802faf08f3b8eaa03cd937fd93449
Diffstat (limited to 'sw/source/uibase/inc/optpage.hxx')
-rw-r--r-- | sw/source/uibase/inc/optpage.hxx | 428 |
1 files changed, 428 insertions, 0 deletions
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx new file mode 100644 index 000000000000..5ca74da8a6fe --- /dev/null +++ b/sw/source/uibase/inc/optpage.hxx @@ -0,0 +1,428 @@ +/* -*- 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_CORE_UIBASE_INC_OPTPAGE_HXX +#define INCLUDED_SW_SOURCE_CORE_UIBASE_INC_OPTPAGE_HXX +#include <sfx2/tabdlg.hxx> + +#include <vcl/group.hxx> + +#include <vcl/button.hxx> + +#include <vcl/lstbox.hxx> + +#include <vcl/field.hxx> + +#include <vcl/fixed.hxx> +#include <svtools/ctrlbox.hxx> +#include <svx/fntctrl.hxx> +#include <fontcfg.hxx> +class SfxPrinter; +class SwStdFontConfig; +class SwWrtShell; +class FontList; + +// Tools->Options->Writer->View +// Tools->Options->Writer/Web->View +class SwContentOptPage : public SfxTabPage +{ + CheckBox* m_pCrossCB; + + CheckBox* m_pHScrollBox; + CheckBox* m_pVScrollBox; + CheckBox* m_pAnyRulerCB; + CheckBox* m_pHRulerCBox; + ListBox* m_pHMetric; + CheckBox* m_pVRulerCBox; + CheckBox* m_pVRulerRightCBox; + ListBox* m_pVMetric; + CheckBox* m_pSmoothCBox; + + CheckBox* m_pGrfCB; + CheckBox* m_pTblCB; + CheckBox* m_pDrwCB; + CheckBox* m_pFldNameCB; + CheckBox* m_pPostItCB; + + VclFrame* m_pSettingsFrame; + FixedText* m_pSettingsLabel; + FixedText* m_pMetricLabel; + ListBox* m_pMetricLB; + + DECL_LINK(VertRulerHdl, CheckBox*); + DECL_LINK(AnyRulerHdl, CheckBox*); +public: + SwContentOptPage( Window* pParent, + const SfxItemSet& rSet ); + virtual ~SwContentOptPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + +}; + +// TabPage printer settings additions +class SwAddPrinterTabPage : public SfxTabPage +{ + CheckBox* m_pGrfCB; + CheckBox* m_pCtrlFldCB; + CheckBox* m_pBackgroundCB; + CheckBox* m_pBlackFontCB; + CheckBox* m_pPrintHiddenTextCB; + CheckBox* m_pPrintTextPlaceholderCB; + + VclFrame* m_pPagesFrame; + CheckBox* m_pLeftPageCB; + CheckBox* m_pRightPageCB; + CheckBox* m_pProspectCB; + CheckBox* m_pProspectCB_RTL; + + VclFrame* m_pCommentsFrame; + RadioButton* m_pNoRB; + RadioButton* m_pOnlyRB; + RadioButton* m_pEndRB; + RadioButton* m_pEndPageRB; + RadioButton* m_pInMarginsRB; + + CheckBox* m_pPrintEmptyPagesCB; + CheckBox* m_pPaperFromSetupCB; + ListBox* m_pFaxLB; + + OUString sNone; + + bool bAttrModified; + bool bPreview; + + void Init(); + DECL_LINK(AutoClickHdl, void *); + DECL_LINK(SelectHdl, void *); + + SwAddPrinterTabPage( Window* pParent, + const SfxItemSet& rSet ); +public: + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + void SetFax( const std::vector<OUString>& ); + void SelectFax( const OUString& ); + void SetPreview(bool bPrev); + virtual void PageCreated( const SfxAllItemSet& aSet) SAL_OVERRIDE; + +}; + +class SwStdFontTabPage : public SfxTabPage +{ + FixedText* pLabelFT; + + ComboBox* pStandardBox; + FontSizeBox* pStandardHeightLB; + ComboBox* pTitleBox ; + FontSizeBox* pTitleHeightLB; + ComboBox* pListBox ; + FontSizeBox* pListHeightLB; + ComboBox* pLabelBox ; + FontSizeBox* pLabelHeightLB; + ComboBox* pIdxBox ; + FontSizeBox* pIndexHeightLB; + CheckBox* pDocOnlyCB ; + PushButton* pStandardPB; + + OUString sShellStd; + OUString sShellTitle; + OUString sShellList; + OUString sShellLabel; + OUString sShellIndex; + + SfxPrinter* pPrt; + FontList* pFontList; + SwStdFontConfig* pFontConfig; + SwWrtShell* pWrtShell; + LanguageType eLanguage; + // only defaults were there? they were signed with the boxes + bool bListDefault :1; + bool bSetListDefault :1; + bool bLabelDefault :1; + bool bSetLabelDefault :1; + bool bIdxDefault :1; + bool bSetIdxDefault :1; + bool bDeletePrinter :1; + + bool bListHeightDefault :1; + bool bSetListHeightDefault :1; + bool bLabelHeightDefault :1; + bool bSetLabelHeightDefault :1; + bool bIndexHeightDefault :1; + bool bSetIndexHeightDefault :1; + + sal_uInt8 nFontGroup; //fontcfg.hxx: FONT_GROUP_[STANDARD|CJK|CTL] + + OUString sScriptWestern; + OUString sScriptAsian; + OUString sScriptComplex; + + DECL_LINK(StandardHdl, void *); + DECL_LINK( ModifyHdl, ComboBox * ); + DECL_LINK( ModifyHeightHdl, FontSizeBox * ); + DECL_LINK( LoseFocusHdl, ComboBox * ); + + SwStdFontTabPage( Window* pParent, + const SfxItemSet& rSet ); + virtual ~SwStdFontTabPage(); + +public: + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + + void SetFontMode(sal_uInt8 nGroup) {nFontGroup = nGroup;} + virtual void PageCreated( const SfxAllItemSet& aSet ) SAL_OVERRIDE; +}; + +class SwTableOptionsTabPage : public SfxTabPage +{ + CheckBox* pHeaderCB; + CheckBox* pRepeatHeaderCB; + CheckBox* pDontSplitCB; + CheckBox* pBorderCB; + + CheckBox* pNumFormattingCB; + CheckBox* pNumFmtFormattingCB; + CheckBox* pNumAlignmentCB; + + MetricField* pRowMoveMF; + MetricField* pColMoveMF; + + MetricField* pRowInsertMF; + MetricField* pColInsertMF; + + RadioButton* pFixRB; + RadioButton* pFixPropRB; + RadioButton* pVarRB; + + SwWrtShell* pWrtShell; + bool bHTMLMode; + + DECL_LINK(CheckBoxHdl, void *); + + SwTableOptionsTabPage( Window* pParent, + const SfxItemSet& rSet ); + virtual ~SwTableOptionsTabPage(); + +public: + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + + void SetWrtShell(SwWrtShell* pSh) {pWrtShell = pSh;} + virtual void PageCreated( const SfxAllItemSet& aSet) SAL_OVERRIDE; + +}; + +// TabPage for ShadowCrsr +class SwShdwCrsrOptionsTabPage : public SfxTabPage +{ + //nonprinting characters + CheckBox* m_pParaCB; + CheckBox* m_pSHyphCB; + CheckBox* m_pSpacesCB; + CheckBox* m_pHSpacesCB; + CheckBox* m_pTabCB; + CheckBox* m_pBreakCB; + CheckBox* m_pCharHiddenCB; + CheckBox* m_pFldHiddenCB; + CheckBox* m_pFldHiddenParaCB; + + VclFrame* m_pDirectCursorFrame; + CheckBox* m_pOnOffCB; + + RadioButton* m_pFillMarginRB; + RadioButton* m_pFillIndentRB; + RadioButton* m_pFillTabRB; + RadioButton* m_pFillSpaceRB; + + VclFrame* m_pCursorProtFrame; + CheckBox* m_pCrsrInProtCB; + + CheckBox* m_pMathBaselineAlignmentCB; + + SwWrtShell * m_pWrtShell; + + SwShdwCrsrOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + virtual ~SwShdwCrsrOptionsTabPage(); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + + void SetWrtShell( SwWrtShell * pSh ) { m_pWrtShell = pSh; } + virtual void PageCreated( const SfxAllItemSet& aSet ) SAL_OVERRIDE; +}; + +// mark preview +class SwMarkPreview : public 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_aTxtCol; // text + Color m_aPrintAreaCol; // frame for print area + + Rectangle aPage; + Rectangle aLeftPagePrtArea; + Rectangle aRightPagePrtArea; + + sal_uInt16 nMarkPos; + + using OutputDevice::DrawRect; + void DrawRect(const Rectangle &rRect, const Color &rFillColor, const Color &rLineColor); + + void Paint(const Rectangle&) SAL_OVERRIDE; + void PaintPage(const Rectangle &rRect); + void InitColors( void ); + +protected: + virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE; + +public: + SwMarkPreview(Window* pParent, WinBits nWinBits); + virtual ~SwMarkPreview(); + + inline void SetColor(const Color& rCol) { m_aMarkCol = rCol; } + inline void SetMarkPos(sal_uInt16 nPos) { nMarkPos = nPos; } + virtual Size GetOptimalSize() const SAL_OVERRIDE; +}; + +// redlining options +class SwRedlineOptionsTabPage : public SfxTabPage +{ + ListBox* pInsertLB; + ColorListBox* pInsertColorLB; + SvxFontPrevWindow* pInsertedPreviewWN; + + ListBox* pDeletedLB; + ColorListBox* pDeletedColorLB; + SvxFontPrevWindow* pDeletedPreviewWN; + + ListBox* pChangedLB; + ColorListBox* pChangedColorLB; + SvxFontPrevWindow* pChangedPreviewWN; + + ListBox* pMarkPosLB; + ColorListBox* pMarkColorLB; + SwMarkPreview* pMarkPreviewWN; + + OUString sAuthor; + OUString sNone; + + SwRedlineOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + virtual ~SwRedlineOptionsTabPage(); + + DECL_LINK( AttribHdl, ListBox *pLB ); + DECL_LINK(ChangedMaskPrevHdl, void * = 0); + DECL_LINK( ColorHdl, ColorListBox *pColorLB ); + + void InitFontStyle(SvxFontPrevWindow& rExampleWin); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; +}; + +// TabPage test settings for SW + +#ifdef DBG_UTIL + +class SwTestTabPage : public SfxTabPage +{ +public: + SwTestTabPage( Window* pParent, + const SfxItemSet& rSet ); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; + +private: + CheckBox* m_pTest1CBox; + CheckBox* m_pTest2CBox; + CheckBox* m_pTest3CBox; + CheckBox* m_pTest4CBox; + CheckBox* m_pTest5CBox; + CheckBox* m_pTest6CBox; + CheckBox* m_pTest7CBox; + CheckBox* m_pTest8CBox; + CheckBox* m_pTest9CBox; + CheckBox* m_pTest10CBox; + + bool bAttrModified; + + void Init(); + DECL_LINK(AutoClickHdl, void *); + +}; +#endif // DBG_UTIL + +class SwCompareOptionsTabPage : public SfxTabPage +{ + RadioButton* m_pAutoRB; + RadioButton* m_pWordRB; + RadioButton* m_pCharRB; + + CheckBox* m_pRsidCB; + CheckBox* m_pIgnoreCB; + NumericField* m_pLenNF; + + SwCompareOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + virtual ~SwCompareOptionsTabPage(); + + DECL_LINK(ComparisonHdl, void *); + DECL_LINK(IgnoreHdl, void *); + +public: + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual bool FillItemSet( SfxItemSet& rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet& rSet ) SAL_OVERRIDE; +}; + +#endif +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |