summaryrefslogtreecommitdiff
path: root/cui/source/inc/chardlg.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/inc/chardlg.hxx')
-rw-r--r--cui/source/inc/chardlg.hxx396
1 files changed, 396 insertions, 0 deletions
diff --git a/cui/source/inc/chardlg.hxx b/cui/source/inc/chardlg.hxx
new file mode 100644
index 000000000000..315a78e70a03
--- /dev/null
+++ b/cui/source/inc/chardlg.hxx
@@ -0,0 +1,396 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_CHARDLG_HXX
+#define _SVX_CHARDLG_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svtools/ctrlbox.hxx>
+#include <svtools/stdctrl.hxx>
+#include <sfx2/tabdlg.hxx>
+#include <svx/fntctrl.hxx>
+#include <svx/checklbx.hxx>
+#include <svx/langbox.hxx>
+
+// forward ---------------------------------------------------------------
+
+class SvxFontListItem;
+class FontList;
+
+// -----------------------------------------------------------------------
+
+#define DISABLE_CASEMAP ((USHORT)0x0001)
+#define DISABLE_WORDLINE ((USHORT)0x0002)
+#define DISABLE_BLINK ((USHORT)0x0004)
+#define DISABLE_UNDERLINE_COLOR ((USHORT)0x0008)
+
+#define DISABLE_LANGUAGE ((USHORT)0x0010)
+#define DISABLE_HIDE_LANGUAGE ((USHORT)0x0020)
+
+// class SvxCharBasePage -------------------------------------------------
+
+class SvxCharBasePage : public SfxTabPage
+{
+protected:
+ SvxFontPrevWindow m_aPreviewWin;
+ FixedInfo m_aFontTypeFT;
+
+ BOOL m_bPreviewBackgroundToCharacter;
+
+ SvxCharBasePage( Window* pParent, const ResId& rResIdTabPage, const SfxItemSet&,
+ USHORT nResIdPrewievWin, USHORT nResIdFontTypeFT );
+ virtual ~SvxCharBasePage();
+
+ void SetPrevFontSize( const SfxItemSet& rSet, USHORT nSlot, SvxFont& rFont );
+ void SetPrevFont( const SfxItemSet& rSet, USHORT nSlot, SvxFont& rFont );
+ void SetPrevFontStyle( const SfxItemSet& rSet, USHORT nSlotPosture, USHORT nSlotWeight, SvxFont& rFont ); // posture/weight
+ void SetPrevFontWidthScale( const SfxItemSet& rSet );
+
+ void SetPrevFontEscapement( BYTE nProp, BYTE nEscProp, short nEsc );
+
+ inline SvxFont& GetPreviewFont();
+ inline SvxFont& GetPreviewCJKFont();
+ inline SvxFont& GetPreviewCTLFont();
+
+public:
+ using SfxTabPage::ActivatePage;
+ using SfxTabPage::DeactivatePage;
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+// virtual int DeactivatePage( SfxItemSet* pSet = 0 );
+
+};
+
+// class SvxCharNamePage -------------------------------------------------
+
+struct SvxCharNamePage_Impl;
+
+class SvxCharNamePage : public SvxCharBasePage
+{
+
+private:
+ FixedLine* m_pWestLine;
+ FixedText* m_pWestFontNameFT;
+ FontNameBox* m_pWestFontNameLB;
+ FixedText* m_pWestFontStyleFT;
+ FontStyleBox* m_pWestFontStyleLB;
+ FixedText* m_pWestFontSizeFT;
+ FontSizeBox* m_pWestFontSizeLB;
+ FixedText* m_pWestFontLanguageFT;
+ SvxLanguageBox* m_pWestFontLanguageLB;
+
+ FixedLine* m_pEastLine;
+ FixedText* m_pEastFontNameFT;
+ FontNameBox* m_pEastFontNameLB;
+ FixedText* m_pEastFontStyleFT;
+ FontStyleBox* m_pEastFontStyleLB;
+ FixedText* m_pEastFontSizeFT;
+ FontSizeBox* m_pEastFontSizeLB;
+ FixedText* m_pEastFontLanguageFT;
+ SvxLanguageBox* m_pEastFontLanguageLB;
+
+ FixedLine* m_pCTLLine;
+ FixedText* m_pCTLFontNameFT;
+ FontNameBox* m_pCTLFontNameLB;
+ FixedText* m_pCTLFontStyleFT;
+ FontStyleBox* m_pCTLFontStyleLB;
+ FixedText* m_pCTLFontSizeFT;
+ FontSizeBox* m_pCTLFontSizeLB;
+ FixedText* m_pCTLFontLanguageFT;
+ SvxLanguageBox* m_pCTLFontLanguageLB;
+
+ FixedLine* m_pColorFL;
+ FixedText* m_pColorFT;
+ ColorListBox* m_pColorLB;
+
+ SvxCharNamePage_Impl* m_pImpl;
+
+ SvxCharNamePage( Window* pParent, const SfxItemSet& rSet );
+
+ void Initialize();
+ const FontList* GetFontList() const;
+ void UpdatePreview_Impl();
+ void FillStyleBox_Impl( const FontNameBox* rBox );
+ void FillSizeBox_Impl( const FontNameBox* rBox );
+
+ enum LanguageGroup
+ {
+ /** Language for western text.
+ */
+ Western = 0,
+
+ /** Language for asian text.
+ */
+ Asian,
+
+ /** Language for ctl text.
+ */
+ Ctl
+ };
+
+ void Reset_Impl( const SfxItemSet& rSet, LanguageGroup eLangGrp );
+ BOOL FillItemSet_Impl( SfxItemSet& rSet, LanguageGroup eLangGrp );
+ void ResetColor_Impl( const SfxItemSet& rSet );
+
+ DECL_LINK( UpdateHdl_Impl, Timer* );
+ DECL_LINK( FontModifyHdl_Impl, void* );
+ DECL_LINK( ColorBoxSelectHdl_Impl, ColorListBox* );
+
+public:
+ using SfxTabPage::ActivatePage;
+ using SfxTabPage::DeactivatePage;
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet = 0 );
+
+public:
+ ~SvxCharNamePage();
+
+ static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet );
+ static USHORT* GetRanges();
+
+ virtual void Reset( const SfxItemSet& rSet );
+ virtual BOOL FillItemSet( SfxItemSet& rSet );
+
+ void SetFontList( const SvxFontListItem& rItem );
+ void EnableRelativeMode();
+ void EnableSearchMode();
+ // the writer uses SID_ATTR_BRUSH as font background
+ void SetPreviewBackgroundToCharacter();
+
+ void DisableControls( USHORT nDisable );
+ virtual void PageCreated (SfxAllItemSet aSet);
+};
+
+// class SvxCharEffectsPage ----------------------------------------------
+
+class SvxCharEffectsPage : public SvxCharBasePage
+{
+
+private:
+ FixedText m_aFontColorFT;
+ ColorListBox m_aFontColorLB;
+
+ FixedText m_aEffectsFT;
+ SvxCheckListBox m_aEffectsLB;
+
+ ListBox m_aEffects2LB;
+
+ FixedText m_aReliefFT;
+ ListBox m_aReliefLB;
+
+ TriStateBox m_aOutlineBtn;
+ TriStateBox m_aShadowBtn;
+ TriStateBox m_aBlinkingBtn;
+ TriStateBox m_aHiddenBtn;
+
+ FixedLine m_aVerticalLine;
+
+ FixedText m_aOverlineFT;
+ ListBox m_aOverlineLB;
+ FixedText m_aOverlineColorFT;
+ ColorListBox m_aOverlineColorLB;
+
+ FixedText m_aStrikeoutFT;
+ ListBox m_aStrikeoutLB;
+
+ FixedText m_aUnderlineFT;
+ ListBox m_aUnderlineLB;
+ FixedText m_aUnderlineColorFT;
+ ColorListBox m_aUnderlineColorLB;
+
+ CheckBox m_aIndividualWordsBtn;
+
+ FixedLine m_aAsianLine;
+
+ FixedText m_aEmphasisFT;
+ ListBox m_aEmphasisLB;
+
+ FixedText m_aPositionFT;
+ ListBox m_aPositionLB;
+
+ USHORT m_nHtmlMode;
+
+ String m_aTransparentColorName;
+
+ SvxCharEffectsPage( Window* pParent, const SfxItemSet& rSet );
+
+ void Initialize();
+ void UpdatePreview_Impl();
+ void SetCaseMap_Impl( SvxCaseMap eCaseMap );
+ void ResetColor_Impl( const SfxItemSet& rSet );
+ BOOL FillItemSetColor_Impl( SfxItemSet& rSet );
+
+ DECL_LINK( SelectHdl_Impl, ListBox* );
+ DECL_LINK( CbClickHdl_Impl, CheckBox* );
+ DECL_LINK( TristClickHdl_Impl, TriStateBox* );
+ DECL_LINK( UpdatePreview_Impl, ListBox* );
+ DECL_LINK( ColorBoxSelectHdl_Impl, ColorListBox* );
+
+public:
+// using SfxTabPage::ActivatePage;
+ using SfxTabPage::DeactivatePage;
+
+// virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet = 0 );
+
+public:
+ static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet );
+ static USHORT* GetRanges();
+
+ virtual void Reset( const SfxItemSet& rSet );
+ virtual BOOL FillItemSet( SfxItemSet& rSet );
+
+ void DisableControls( USHORT nDisable );
+ void EnableFlash();
+ // the writer uses SID_ATTR_BRUSH as font background
+ void SetPreviewBackgroundToCharacter();
+ virtual void PageCreated (SfxAllItemSet aSet);
+};
+
+// class SvxCharPositionPage ---------------------------------------------
+
+class SvxCharPositionPage : public SvxCharBasePage
+{
+
+private:
+ FixedLine m_aPositionLine;
+ RadioButton m_aHighPosBtn;
+ RadioButton m_aNormalPosBtn;
+ RadioButton m_aLowPosBtn;
+ FixedText m_aHighLowFT;
+ MetricField m_aHighLowEdit;
+ CheckBox m_aHighLowRB;
+ FixedText m_aFontSizeFT;
+ MetricField m_aFontSizeEdit;
+ FixedLine m_aRotationScalingFL;
+ FixedLine m_aScalingFL;
+ RadioButton m_a0degRB;
+ RadioButton m_a90degRB;
+ RadioButton m_a270degRB;
+ CheckBox m_aFitToLineCB;
+ FixedText m_aScaleWidthFT;
+ MetricField m_aScaleWidthMF;
+
+ FixedLine m_aKerningLine;
+ ListBox m_aKerningLB;
+ FixedText m_aKerningFT;
+ MetricField m_aKerningEdit;
+ CheckBox m_aPairKerningBtn;
+
+ short m_nSuperEsc;
+ short m_nSubEsc;
+
+ UINT16 m_nScaleWidthItemSetVal;
+ UINT16 m_nScaleWidthInitialVal;
+
+ BYTE m_nSuperProp;
+ BYTE m_nSubProp;
+
+ SvxCharPositionPage( Window* pParent, const SfxItemSet& rSet );
+
+ void Initialize();
+ void UpdatePreview_Impl( BYTE nProp, BYTE nEscProp, short nEsc );
+ void SetEscapement_Impl( USHORT nEsc );
+
+ DECL_LINK( PositionHdl_Impl, RadioButton* );
+ DECL_LINK( RotationHdl_Impl, RadioButton* );
+ DECL_LINK( FontModifyHdl_Impl, MetricField* );
+ DECL_LINK( AutoPositionHdl_Impl, CheckBox* );
+ DECL_LINK( FitToLineHdl_Impl, CheckBox* );
+ DECL_LINK( KerningSelectHdl_Impl, ListBox* );
+ DECL_LINK( KerningModifyHdl_Impl, MetricField* );
+ DECL_LINK( PairKerningHdl_Impl, CheckBox* );
+ DECL_LINK( LoseFocusHdl_Impl, MetricField* );
+ DECL_LINK( ScaleWidthModifyHdl_Impl, MetricField* );
+
+public:
+ using SfxTabPage::ActivatePage;
+ using SfxTabPage::DeactivatePage;
+
+ virtual int DeactivatePage( SfxItemSet* pSet = 0 );
+ virtual void ActivatePage( const SfxItemSet& rSet );
+
+public:
+ static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet );
+ static USHORT* GetRanges();
+
+ virtual void Reset( const SfxItemSet& rSet );
+ virtual BOOL FillItemSet( SfxItemSet& rSet );
+ virtual void FillUserData();
+ // the writer uses SID_ATTR_BRUSH as font background
+ void SetPreviewBackgroundToCharacter();
+ virtual void PageCreated (SfxAllItemSet aSet);
+};
+
+// class SvxCharTwoLinesPage ---------------------------------------------
+
+class SvxCharTwoLinesPage : public SvxCharBasePage
+{
+private:
+ FixedLine m_aSwitchOnLine;
+ CheckBox m_aTwoLinesBtn;
+
+ FixedLine m_aEncloseLine;
+ FixedText m_aStartBracketFT;
+ ListBox m_aStartBracketLB;
+ FixedText m_aEndBracketFT;
+ ListBox m_aEndBracketLB;
+
+ USHORT m_nStartBracketPosition;
+ USHORT m_nEndBracketPosition;
+
+ SvxCharTwoLinesPage( Window* pParent, const SfxItemSet& rSet );
+
+ void UpdatePreview_Impl();
+ void Initialize();
+ void SelectCharacter( ListBox* pBox );
+ void SetBracket( sal_Unicode cBracket, BOOL bStart );
+
+ DECL_LINK( TwoLinesHdl_Impl, CheckBox* );
+ DECL_LINK( CharacterMapHdl_Impl, ListBox* );
+
+public:
+ using SfxTabPage::ActivatePage;
+ using SfxTabPage::DeactivatePage;
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet = 0 );
+
+public:
+ static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet );
+ static USHORT* GetRanges();
+
+ virtual void Reset( const SfxItemSet& rSet );
+ virtual BOOL FillItemSet( SfxItemSet& rSet );
+ // the writer uses SID_ATTR_BRUSH as font background
+ void SetPreviewBackgroundToCharacter();
+ virtual void PageCreated (SfxAllItemSet aSet);
+};
+
+#endif // #ifndef _SVX_CHARDLG_HXX
+