diff options
Diffstat (limited to 'svx/source/cui/optcolor.cxx')
-rw-r--r-- | svx/source/cui/optcolor.cxx | 1642 |
1 files changed, 0 insertions, 1642 deletions
diff --git a/svx/source/cui/optcolor.cxx b/svx/source/cui/optcolor.cxx deleted file mode 100644 index 669a4e7f59..0000000000 --- a/svx/source/cui/optcolor.cxx +++ /dev/null @@ -1,1642 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: optcolor.cxx,v $ - * $Revision: 1.18.256.2 $ - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_svx.hxx" - -#ifdef SVX_DLLIMPLEMENTATION -#undef SVX_DLLIMPLEMENTATION -#endif - -// include --------------------------------------------------------------- -#include <svtools/colorcfg.hxx> -#include <svtools/extcolorcfg.hxx> -#include <svtools/headbar.hxx> -#include <svtools/ctrlbox.hxx> -#include <vcl/scrbar.hxx> -#include <svx/xtable.hxx> -#include <svtools/moduleoptions.hxx> -#include <svtools/pathoptions.hxx> -#include <vcl/msgbox.hxx> -#include <boost/shared_ptr.hpp> -//CHINA001 #ifndef _SVX_DLG_NAME_HXX -//CHINA001 #include <dlgname.hxx> -//CHINA001 #endif -#include <svx/svxdlg.hxx> //CHINA001 -#ifndef _SVX_HELPID_HRC -#include <helpid.hrc> -#endif -#include <svx/svxids.hrc> -#include <svx/dialmgr.hxx> -#include "optcolor.hxx" -#include <svx/dialogs.hrc> -#include "optcolor.hrc" -#include "dlgutil.hxx" -using namespace ::com::sun::star; -using namespace ::svtools; - -#define GROUP_COUNT 7 -#define GROUP_UNKNOWN -1 -#define GROUP_GENERAL 0 -#define GROUP_WRITER 1 -#define GROUP_HTML 2 -#define GROUP_CALC 3 -#define GROUP_DRAW 4 -#define GROUP_BASIC 5 -#define GROUP_SQL 6 - -/* -----------------------------2002/06/26 10:48------------------------------ - - ---------------------------------------------------------------------------*/ - -class SvxExtFixedText_Impl : public FixedText -{ -private: - long m_nGroupHeight; - -protected: - virtual void DataChanged( const DataChangedEvent& rDCEvt ); - -public: - SvxExtFixedText_Impl(Window* pParent, const ResId& rResId) : - FixedText(pParent, rResId), m_nGroupHeight(0) {} - - inline long GetGroupHeight() { return m_nGroupHeight; } - inline void SetGroupHeight( long _nHeight ) { m_nGroupHeight = _nHeight; } -}; - -/* -----------------------------25.03.2002 15:48------------------------------ - - ---------------------------------------------------------------------------*/ -class ColorConfigCtrl_Impl; -class ColorConfigWindow_Impl : public Window -{ - friend class ColorConfigCtrl_Impl; - Window aGeneralBackWN; - SvxExtFixedText_Impl aGeneralFT; - FixedText aDocColorFT; - ColorListBox aDocColorLB; - Window aDocColorWN; - CheckBox aDocBoundCB; - ColorListBox aDocBoundLB; - Window aDocBoundWN; - FixedText aAppBackFT; - ColorListBox aAppBackLB; - Window aAppBackWN; - CheckBox aObjBoundCB; - ColorListBox aObjBoundLB; - Window aObjBoundWN; - CheckBox aTableBoundCB; - ColorListBox aTableBoundLB; - Window aTableBoundWN; - FixedText aFontColorFT; - ColorListBox aFontColorLB; - Window aFontColorWN; - CheckBox aLinksCB; - ColorListBox aLinksLB; - Window aLinksWN; - CheckBox aLinksVisitedCB; - ColorListBox aLinksVisitedLB; - Window aLinksVisitedWN; - FixedText aSpellFT; - ColorListBox aSpellLB; - Window aSpellWN; - FixedText aSmarttagsFT; - ColorListBox aSmarttagsLB; - Window aSmarttagsWN; - Window aWriterBackWN; - SvxExtFixedText_Impl aWriterFT; - FixedText aWrtTextGridFT; - ColorListBox aWrtTextGridLB; - Window aWrtTextGridWN; - CheckBox aWrtFieldCB; - ColorListBox aWrtFieldLB; - Window aWrtFieldWN; - CheckBox aWrtIdxShadingBackCB; - ColorListBox aWrtIdxShadingBackLB; - Window aWrtIdxShadingBackWN; - FixedText aWrtScriptIndicatorFT; - ColorListBox aWrtScriptIndicatorLB; - Window aWrtScriptIndicatorWN; - CheckBox aWrtSectionBoundCB; - ColorListBox aWrtSectionBoundLB; - Window aWrtSectionBoundWN; - FixedText aWrtPageBreaksFT; - ColorListBox aWrtPageBreaksLB; - Window aWrtPageBreaksWN; - FixedText aWrtDirectCrsrFT; - ColorListBox aWrtDirectCrsrLB; - Window aWrtDirectCrsrWN; - Window aHTMLBackWN; - SvxExtFixedText_Impl aHTMLFT; - FixedText aHTMLSGMLFT; - ColorListBox aHTMLSGMLLB; - Window aHTMLSGMLWN; - FixedText aHTMLCommentFT; - ColorListBox aHTMLCommentLB; - Window aHTMLCommentWN; - FixedText aHTMLKeywdFT; - ColorListBox aHTMLKeywdLB; - Window aHTMLKeywdWN; - FixedText aHTMLUnknownFT; - ColorListBox aHTMLUnknownLB; - Window aHTMLUnknownWN; - Window aCalcBackWN; - SvxExtFixedText_Impl aCalcFT; - FixedText aCalcGridFT; - ColorListBox aCalcGridLB; - Window aCalcGridWN; - FixedText aCalcPageBreakFT; - ColorListBox aCalcPageBreakLB; - Window aCalcPageBreakWN; - FixedText aCalcPageBreakManualFT; - ColorListBox aCalcPageBreakManualLB; - Window aCalcPageBreakManualWN; - FixedText aCalcPageBreakAutoFT; - ColorListBox aCalcPageBreakAutoLB; - Window aCalcPageBreakAutoWN; - FixedText aCalcDetectiveFT; - ColorListBox aCalcDetectiveLB; - Window aCalcDetectiveWN; - FixedText aCalcDetectiveErrorFT; - ColorListBox aCalcDetectiveErrorLB; - Window aCalcDetectiveErrorWN; - FixedText aCalcReferenceFT; - ColorListBox aCalcReferenceLB; - Window aCalcReferenceWN; - FixedText aCalcNotesBackFT; - ColorListBox aCalcNotesBackLB; - Window aCalcNotesBackWN; - Window aDrawBackWN; - SvxExtFixedText_Impl aDrawFT; - FixedText aDrawGridFT; - ColorListBox aDrawGridLB; - Window aDrawGridWN; - Window aBasicBackWN; - SvxExtFixedText_Impl aBasicFT; - FixedText aBasicIdentifierFT; - ColorListBox aBasicIdentifierLB; - Window aBasicIdentifierWN; - FixedText aBasicCommentFT; - ColorListBox aBasicCommentLB; - Window aBasicCommentWN; - FixedText aBasicNumberFT; - ColorListBox aBasicNumberLB; - Window aBasicNumberWN; - FixedText aBasicStringFT; - ColorListBox aBasicStringLB; - Window aBasicStringWN; - FixedText aBasicOperatorFT; - ColorListBox aBasicOperatorLB; - Window aBasicOperatorWN; - FixedText aBasicKeywordFT; - ColorListBox aBasicKeywordLB; - Window aBasicKeywordWN; - FixedText aBasicErrorFT; - ColorListBox aBasicErrorLB; - Window aBasicErrorWN; - Window aSQLBackWN; - SvxExtFixedText_Impl aSQLFT; - FixedText aSQLIdentifierFT; - ColorListBox aSQLIdentifierLB; - Window aSQLIdentifierWN; - FixedText aSQLNumberFT; - ColorListBox aSQLNumberLB; - Window aSQLNumberWN; - FixedText aSQLStringFT; - ColorListBox aSQLStringLB; - Window aSQLStringWN; - FixedText aSQLOperatorFT; - ColorListBox aSQLOperatorLB; - Window aSQLOperatorWN; - FixedText aSQLKeywordFT; - ColorListBox aSQLKeywordLB; - Window aSQLKeywordWN; - FixedText aSQLParameterFT; - ColorListBox aSQLParameterLB; - Window aSQLParameterWN; - FixedText aSQLCommentFT; - ColorListBox aSQLCommentLB; - Window aSQLCommentWN; - - ::std::vector< SvxExtFixedText_Impl*> aChapters; - ::std::vector< Window* > aChapterWins; - ::std::vector< FixedText* > aFixedTexts; - ::std::vector< CheckBox* > aCheckBoxes; - ::std::vector< ColorListBox* > aColorBoxes; - ::std::vector< Window* > aWindows; // [ColorConfigEntryCount] - ::std::vector< ::boost::shared_ptr<SvxExtFixedText_Impl> > m_aExtensionTitles; - - SvtModuleOptions m_aModuleOptions; - - void SetNewPosition( sal_Int32 _nFeature, Window* _pWin ); - - virtual void Command( const CommandEvent& rCEvt ); - virtual void DataChanged( const DataChangedEvent& rDCEvt ); - -public: - ColorConfigWindow_Impl(Window* pParent, const ResId& rResId); - ~ColorConfigWindow_Impl(); - - inline const SvtModuleOptions& GetModuleOptions() const { return m_aModuleOptions; } -}; - -sal_Bool lcl_isGroupVisible( sal_Int32 _nGroup, const SvtModuleOptions& _rModOptions ) -{ - sal_Bool bRet = sal_True; - - switch ( _nGroup ) - { - case GROUP_WRITER : - case GROUP_HTML : - { - bRet = _rModOptions.IsModuleInstalled( SvtModuleOptions::E_SWRITER ); - break; - } - - case GROUP_CALC : - { - bRet = _rModOptions.IsModuleInstalled( SvtModuleOptions::E_SCALC ); - break; - } - - case GROUP_DRAW : - { - bRet = ( _rModOptions.IsModuleInstalled( SvtModuleOptions::E_SDRAW ) || - _rModOptions.IsModuleInstalled( SvtModuleOptions::E_SIMPRESS ) ); - break; - } - case GROUP_SQL : - { - bRet = _rModOptions.IsModuleInstalled( SvtModuleOptions::E_SDATABASE ); - break; - } - } - - return bRet; -} - -sal_Int16 lcl_getGroup( sal_Int32 _nFeature ) -{ - if ( _nFeature >= ColorConfigEntryCount ) - return GROUP_COUNT; // feature of an extension - - sal_Int16 nRet = GROUP_UNKNOWN; - - switch ( _nFeature ) - { - case DOCCOLOR : - case DOCBOUNDARIES : - case APPBACKGROUND : - case OBJECTBOUNDARIES : - case TABLEBOUNDARIES : - case FONTCOLOR : - case LINKS : - case LINKSVISITED : - case ANCHOR : - case SPELL : - case SMARTTAGS : - { - nRet = GROUP_GENERAL; - break; - } - - case WRITERTEXTGRID : - case WRITERFIELDSHADINGS : - case WRITERIDXSHADINGS : - case WRITERDIRECTCURSOR : - case WRITERSCRIPTINDICATOR : - case WRITERSECTIONBOUNDARIES : - case WRITERPAGEBREAKS : - { - nRet = GROUP_WRITER; - break; - } - - case HTMLSGML : - case HTMLCOMMENT : - case HTMLKEYWORD : - case HTMLUNKNOWN : - { - nRet = GROUP_HTML; - break; - } - - case CALCGRID : - case CALCPAGEBREAK : - case CALCPAGEBREAKMANUAL : - case CALCPAGEBREAKAUTOMATIC : - case CALCDETECTIVE : - case CALCDETECTIVEERROR : - case CALCREFERENCE : - case CALCNOTESBACKGROUND : - { - nRet = GROUP_CALC; - break; - } - - case DRAWGRID : - case DRAWDRAWING : - case DRAWFILL : - { - nRet = GROUP_DRAW; - break; - } - - case BASICIDENTIFIER : - case BASICCOMMENT : - case BASICNUMBER : - case BASICSTRING : - case BASICOPERATOR : - case BASICKEYWORD : - case BASICERROR : - { - nRet = GROUP_BASIC; - break; - } - case SQLIDENTIFIER : - case SQLNUMBER: - case SQLSTRING: - case SQLOPERATOR: - case SQLKEYWORD: - case SQLPARAMETER: - case SQLCOMMENT: - { - nRet = GROUP_SQL; - break; - } - } - return nRet; -} - -/* -----------------------------25.03.2002 17:05------------------------------ - - ---------------------------------------------------------------------------*/ -ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent, const ResId& rResId) : - Window(pParent, rResId), - aGeneralBackWN(this), - aGeneralFT(&aGeneralBackWN, ResId( FT_GENERAL, *rResId.GetResMgr() )), - aDocColorFT(this, ResId( FT_DOCCOLOR, *rResId.GetResMgr())), - aDocColorLB(this, ResId( LB_DOCCOLOR, *rResId.GetResMgr())), - aDocColorWN(this, ResId( WN_DOCCOLOR, *rResId.GetResMgr())), - aDocBoundCB(this, ResId( CB_DOCBOUND, *rResId.GetResMgr())), - aDocBoundLB(this, ResId( LB_DOCBOUND, *rResId.GetResMgr())), - aDocBoundWN(this, ResId( WN_DOCBOUND, *rResId.GetResMgr())), - aAppBackFT(this, ResId( FT_APPBACKGROUND, *rResId.GetResMgr())), - aAppBackLB(this, ResId( LB_APPBACKGROUND, *rResId.GetResMgr())), - aAppBackWN(this, ResId( WN_APPBACKGROUND, *rResId.GetResMgr())), - aObjBoundCB(this, ResId( CB_OBJECTBOUNDARIES, *rResId.GetResMgr())), - aObjBoundLB(this, ResId( LB_OBJECTBOUNDARIES, *rResId.GetResMgr())), - aObjBoundWN(this, ResId( WN_OBJECTBOUNDARIES, *rResId.GetResMgr())), - aTableBoundCB(this, ResId( CB_TABLEBOUNDARIES, *rResId.GetResMgr())), - aTableBoundLB(this, ResId( LB_TABLEBOUNDARIES, *rResId.GetResMgr())), - aTableBoundWN(this, ResId( WN_TABLEBOUNDARIES, *rResId.GetResMgr())), - aFontColorFT(this, ResId( FT_FONTCOLOR, *rResId.GetResMgr())), - aFontColorLB(this, ResId( LB_FONTCOLOR, *rResId.GetResMgr())), - aFontColorWN(this, ResId( WN_FONTCOLOR, *rResId.GetResMgr())), - aLinksCB(this, ResId( CB_LINKS, *rResId.GetResMgr())), - aLinksLB(this, ResId( LB_LINKS, *rResId.GetResMgr())), - aLinksWN(this, ResId( WN_LINKS, *rResId.GetResMgr())), - aLinksVisitedCB(this, ResId( CB_LINKSVISITED, *rResId.GetResMgr())), - aLinksVisitedLB(this, ResId( LB_LINKSVISITED, *rResId.GetResMgr())), - aLinksVisitedWN(this, ResId( WN_LINKSVISITED, *rResId.GetResMgr())), - aSpellFT(this, ResId( FT_SPELL, *rResId.GetResMgr())), - aSpellLB(this, ResId( LB_SPELL, *rResId.GetResMgr())), - aSpellWN(this, ResId( WN_SPELL, *rResId.GetResMgr())), - aSmarttagsFT(this, ResId( FT_SMARTTAGS, *rResId.GetResMgr() )), - aSmarttagsLB(this, ResId( LB_SMARTTAGS, *rResId.GetResMgr() )), - aSmarttagsWN(this, ResId( WN_SMARTTAGS, *rResId.GetResMgr() )), - aWriterBackWN(this), - aWriterFT(this, ResId(FT_WRITER, *rResId.GetResMgr())), - aWrtTextGridFT(this, ResId( FT_WRITERTEXTGRID, *rResId.GetResMgr())), - aWrtTextGridLB(this, ResId( LB_WRITERTEXTGRID, *rResId.GetResMgr())), - aWrtTextGridWN(this, ResId( WN_WRITERTEXTGRID, *rResId.GetResMgr())), - aWrtFieldCB(this, ResId( CB_WRITERFIELDSHADINGS, *rResId.GetResMgr())), - aWrtFieldLB(this, ResId( LB_WRITERFIELDSHADINGS, *rResId.GetResMgr())), - aWrtFieldWN(this, ResId( WN_WRITERFIELDSHADINGS, *rResId.GetResMgr())), - aWrtIdxShadingBackCB(this, ResId( CB_WRITERIDXSHADINGS, *rResId.GetResMgr())), - aWrtIdxShadingBackLB(this, ResId( LB_WRITERIDXSHADINGS, *rResId.GetResMgr())), - aWrtIdxShadingBackWN(this, ResId( WN_WRITERIDXSHADINGS, *rResId.GetResMgr())), - aWrtScriptIndicatorFT(this, ResId( FT_WRITERSCRIPTINDICATOR, *rResId.GetResMgr())), - aWrtScriptIndicatorLB(this, ResId( LB_WRITERSCRIPTINDICATOR, *rResId.GetResMgr())), - aWrtScriptIndicatorWN(this, ResId( WN_WRITERSCRIPTINDICATOR, *rResId.GetResMgr())), - aWrtSectionBoundCB(this, ResId( CB_WRITERSECTIONBOUNDARIES, *rResId.GetResMgr())), - aWrtSectionBoundLB(this, ResId( LB_WRITERSECTIONBOUNDARIES, *rResId.GetResMgr())), - aWrtSectionBoundWN(this, ResId( WN_WRITERSECTIONBOUNDARIES, *rResId.GetResMgr())), - aWrtPageBreaksFT(this, ResId( FT_WRITERPAGEBREAKS, *rResId.GetResMgr())), - aWrtPageBreaksLB(this, ResId( LB_WRITERPAGEBREAKS, *rResId.GetResMgr())), - aWrtPageBreaksWN(this, ResId( WN_WRITERPAGEBREAKS, *rResId.GetResMgr())), - aWrtDirectCrsrFT(this, ResId( FT_WRITERDIRECTCURSOR, *rResId.GetResMgr())), - aWrtDirectCrsrLB(this, ResId( LB_WRITERDIRECTCURSOR, *rResId.GetResMgr())), - aWrtDirectCrsrWN(this, ResId( WN_WRITERDIRECTCURSOR, *rResId.GetResMgr())), - aHTMLBackWN(this), - aHTMLFT(this, ResId( FT_HTML, *rResId.GetResMgr())), - aHTMLSGMLFT(this, ResId( FT_HTMLSGML, *rResId.GetResMgr())), - aHTMLSGMLLB(this, ResId( LB_HTMLSGML, *rResId.GetResMgr())), - aHTMLSGMLWN(this, ResId( WN_HTMLSGML, *rResId.GetResMgr())), - aHTMLCommentFT(this, ResId( FT_HTMLCOMMENT, *rResId.GetResMgr())), - aHTMLCommentLB(this, ResId( LB_HTMLCOMMENT, *rResId.GetResMgr())), - aHTMLCommentWN(this, ResId( WN_HTMLCOMMENT, *rResId.GetResMgr())), - aHTMLKeywdFT(this, ResId( FT_HTMLKEYWORD, *rResId.GetResMgr())), - aHTMLKeywdLB(this, ResId( LB_HTMLKEYWORD, *rResId.GetResMgr())), - aHTMLKeywdWN(this, ResId( WN_HTMLKEYWORD, *rResId.GetResMgr())), - aHTMLUnknownFT(this, ResId( FT_HTMLUNKNOWN, *rResId.GetResMgr())), - aHTMLUnknownLB(this, ResId( LB_HTMLUNKNOWN, *rResId.GetResMgr())), - aHTMLUnknownWN(this, ResId( WN_HTMLUNKNOWN, *rResId.GetResMgr())), - aCalcBackWN(this), - aCalcFT(this, ResId( FT_CALC, *rResId.GetResMgr())), - aCalcGridFT(this, ResId( FT_CALCGRID, *rResId.GetResMgr())), - aCalcGridLB(this, ResId( LB_CALCGRID, *rResId.GetResMgr())), - aCalcGridWN(this, ResId( WN_CALCGRID, *rResId.GetResMgr())), - aCalcPageBreakFT(this, ResId( FT_CALCPAGEBREAK, *rResId.GetResMgr())), - aCalcPageBreakLB(this, ResId( LB_CALCPAGEBREAK, *rResId.GetResMgr())), - aCalcPageBreakWN(this, ResId( WN_CALCPAGEBREAK, *rResId.GetResMgr())), - aCalcPageBreakManualFT(this, ResId( FT_CALCPAGEBREAKMANUAL, *rResId.GetResMgr())), - aCalcPageBreakManualLB(this, ResId( LB_CALCPAGEBREAKMANUAL, *rResId.GetResMgr())), - aCalcPageBreakManualWN(this, ResId( WN_CALCPAGEBREAKMANUAL, *rResId.GetResMgr())), - aCalcPageBreakAutoFT(this, ResId( FT_CALCPAGEBREAKAUTO, *rResId.GetResMgr())), - aCalcPageBreakAutoLB(this, ResId( LB_CALCPAGEBREAKAUTO, *rResId.GetResMgr())), - aCalcPageBreakAutoWN(this, ResId( WN_CALCPAGEBREAKAUTO, *rResId.GetResMgr())), - aCalcDetectiveFT(this, ResId( FT_CALCDETECTIVE, *rResId.GetResMgr())), - aCalcDetectiveLB(this, ResId( LB_CALCDETECTIVE, *rResId.GetResMgr())), - aCalcDetectiveWN(this, ResId( WN_CALCDETECTIVE, *rResId.GetResMgr())), - aCalcDetectiveErrorFT(this, ResId( FT_CALCDETECTIVEERROR, *rResId.GetResMgr())), - aCalcDetectiveErrorLB(this, ResId( LB_CALCDETECTIVEERROR, *rResId.GetResMgr())), - aCalcDetectiveErrorWN(this, ResId( WN_CALCDETECTIVEERROR, *rResId.GetResMgr())), - aCalcReferenceFT(this, ResId( FT_CALCREFERENCE, *rResId.GetResMgr())), - aCalcReferenceLB(this, ResId( LB_CALCREFERENCE, *rResId.GetResMgr())), - aCalcReferenceWN(this, ResId( WN_CALCREFERENCE, *rResId.GetResMgr())), - aCalcNotesBackFT(this, ResId( FT_CALCNOTESBACKGROUND, *rResId.GetResMgr())), - aCalcNotesBackLB(this, ResId( LB_CALCNOTESBACKGROUND, *rResId.GetResMgr())), - aCalcNotesBackWN(this, ResId( WN_CALCNOTESBACKGROUND, *rResId.GetResMgr())), - aDrawBackWN(this), - aDrawFT(this, ResId( FT_DRAW, *rResId.GetResMgr())), - aDrawGridFT(this, ResId( FT_DRAWGRID, *rResId.GetResMgr())), - aDrawGridLB(this, ResId( LB_DRAWGRID, *rResId.GetResMgr())), - aDrawGridWN(this, ResId( WN_DRAWGRID, *rResId.GetResMgr())), - aBasicBackWN(this), - aBasicFT(this, ResId( FT_BASIC, *rResId.GetResMgr())), - aBasicIdentifierFT(this, ResId( FT_BASICIDENTIFIER, *rResId.GetResMgr())), - aBasicIdentifierLB(this, ResId( LB_BASICIDENTIFIER, *rResId.GetResMgr())), - aBasicIdentifierWN(this, ResId( WN_BASICIDENTIFIER, *rResId.GetResMgr())), - aBasicCommentFT(this, ResId( FT_BASICCOMMENT, *rResId.GetResMgr())), - aBasicCommentLB(this, ResId( LB_BASICCOMMENT, *rResId.GetResMgr())), - aBasicCommentWN(this, ResId( WN_BASICCOMMENT, *rResId.GetResMgr())), - aBasicNumberFT(this, ResId( FT_BASICNUMBER, *rResId.GetResMgr())), - aBasicNumberLB(this, ResId( LB_BASICNUMBER, *rResId.GetResMgr())), - aBasicNumberWN(this, ResId( WN_BASICNUMBER, *rResId.GetResMgr())), - aBasicStringFT(this, ResId( FT_BASICSTRING, *rResId.GetResMgr())), - aBasicStringLB(this, ResId( LB_BASICSTRING, *rResId.GetResMgr())), - aBasicStringWN(this, ResId( WN_BASICSTRING, *rResId.GetResMgr())), - aBasicOperatorFT(this, ResId( FT_BASICOPERATOR, *rResId.GetResMgr())), - aBasicOperatorLB(this, ResId( LB_BASICOPERATOR, *rResId.GetResMgr())), - aBasicOperatorWN(this, ResId( WN_BASICOPERATOR, *rResId.GetResMgr())), - aBasicKeywordFT(this, ResId( FT_BASICKEYWORD, *rResId.GetResMgr())), - aBasicKeywordLB(this, ResId( LB_BASICKEYWORD, *rResId.GetResMgr())), - aBasicKeywordWN(this, ResId( WN_BASICKEYWORD, *rResId.GetResMgr())), - aBasicErrorFT(this, ResId( FT_BASICERROR, *rResId.GetResMgr())), - aBasicErrorLB(this, ResId( LB_BASICERROR, *rResId.GetResMgr())), - aBasicErrorWN(this, ResId( WN_BASICERROR, *rResId.GetResMgr())), - - aSQLBackWN(this), - aSQLFT(this, ResId( FT_SQL_COMMAND, *rResId.GetResMgr())), - aSQLIdentifierFT(this, ResId( FT_SQLIDENTIFIER, *rResId.GetResMgr())), - aSQLIdentifierLB(this, ResId( LB_SQLIDENTIFIER, *rResId.GetResMgr())), - aSQLIdentifierWN(this, ResId( WN_SQLIDENTIFIER, *rResId.GetResMgr())), - - aSQLNumberFT(this, ResId( FT_SQLNUMBER, *rResId.GetResMgr())), - aSQLNumberLB(this, ResId( LB_SQLNUMBER, *rResId.GetResMgr())), - aSQLNumberWN(this, ResId( WN_SQLNUMBER, *rResId.GetResMgr())), - - aSQLStringFT(this, ResId( FT_SQLSTRING, *rResId.GetResMgr())), - aSQLStringLB(this, ResId( LB_SQLSTRING, *rResId.GetResMgr())), - aSQLStringWN(this, ResId( WN_SQLSTRING, *rResId.GetResMgr())), - - aSQLOperatorFT(this, ResId( FT_SQLOPERATOR, *rResId.GetResMgr())), - aSQLOperatorLB(this, ResId( LB_SQLOPERATOR, *rResId.GetResMgr())), - aSQLOperatorWN(this, ResId( WN_SQLOPERATOR, *rResId.GetResMgr())), - - aSQLKeywordFT(this, ResId( FT_SQLKEYWORD, *rResId.GetResMgr())), - aSQLKeywordLB(this, ResId( LB_SQLKEYWORD, *rResId.GetResMgr())), - aSQLKeywordWN(this, ResId( WN_SQLKEYWORD, *rResId.GetResMgr())), - - aSQLParameterFT(this, ResId( FT_SQLPARAMETER, *rResId.GetResMgr())), - aSQLParameterLB(this, ResId( LB_SQLPARAMETER, *rResId.GetResMgr())), - aSQLParameterWN(this, ResId( WN_SQLPARAMETER, *rResId.GetResMgr())), - - aSQLCommentFT(this, ResId( FT_SQLCOMMENT, *rResId.GetResMgr())), - aSQLCommentLB(this, ResId( LB_SQLCOMMENT, *rResId.GetResMgr())), - aSQLCommentWN(this, ResId( WN_SQLCOMMENT, *rResId.GetResMgr())) -{ - aFixedTexts.resize(ColorConfigEntryCount); - aCheckBoxes.resize(ColorConfigEntryCount); - aColorBoxes.resize(ColorConfigEntryCount); - aWindows.resize(ColorConfigEntryCount); - - aFixedTexts[DOCCOLOR ] = &aDocColorFT; - aCheckBoxes[DOCBOUNDARIES ] = &aDocBoundCB ; - aFixedTexts[APPBACKGROUND ] = &aAppBackFT; - aCheckBoxes[OBJECTBOUNDARIES ] = &aObjBoundCB ; - aCheckBoxes[TABLEBOUNDARIES ] = &aTableBoundCB ; - aFixedTexts[FONTCOLOR ] = &aFontColorFT ; - aCheckBoxes[LINKS ] = &aLinksCB ; - aCheckBoxes[LINKSVISITED ] = &aLinksVisitedCB ; - aFixedTexts[SPELL ]=& aSpellFT; - aFixedTexts[SMARTTAGS ]=& aSmarttagsFT; - aFixedTexts[WRITERTEXTGRID ]=& aWrtTextGridFT; - aCheckBoxes[WRITERFIELDSHADINGS ] = &aWrtFieldCB ; - aCheckBoxes[WRITERIDXSHADINGS ] = &aWrtIdxShadingBackCB ; - aFixedTexts[WRITERDIRECTCURSOR ]=& aWrtDirectCrsrFT; - aFixedTexts[WRITERSCRIPTINDICATOR ]=& aWrtScriptIndicatorFT; - aCheckBoxes[WRITERSECTIONBOUNDARIES ]=& aWrtSectionBoundCB; - aFixedTexts[HTMLSGML ]=& aHTMLSGMLFT; - aFixedTexts[HTMLCOMMENT ]=& aHTMLCommentFT; - aFixedTexts[HTMLKEYWORD ]=& aHTMLKeywdFT; - aFixedTexts[HTMLUNKNOWN ]=& aHTMLUnknownFT; - aFixedTexts[CALCGRID ] = &aCalcGridFT ; - aFixedTexts[CALCPAGEBREAK ] = &aCalcPageBreakFT; - aFixedTexts[CALCPAGEBREAKMANUAL ] = &aCalcPageBreakManualFT; - aFixedTexts[CALCPAGEBREAKAUTOMATIC ] = &aCalcPageBreakAutoFT; - aFixedTexts[CALCDETECTIVE ]=& aCalcDetectiveFT; - aFixedTexts[CALCDETECTIVEERROR ]=& aCalcDetectiveErrorFT; - aFixedTexts[CALCREFERENCE ]=& aCalcReferenceFT; - aFixedTexts[CALCNOTESBACKGROUND ]=& aCalcNotesBackFT; - aFixedTexts[WRITERPAGEBREAKS] = &aWrtPageBreaksFT; - aFixedTexts[DRAWGRID ] = &aDrawGridFT ; - aFixedTexts[BASICIDENTIFIER ] = &aBasicIdentifierFT; - aFixedTexts[BASICCOMMENT ] = &aBasicCommentFT; - aFixedTexts[BASICNUMBER ] = &aBasicNumberFT; - aFixedTexts[BASICSTRING ] = &aBasicStringFT; - aFixedTexts[BASICOPERATOR ] = &aBasicOperatorFT; - aFixedTexts[BASICKEYWORD ] = &aBasicKeywordFT; - aFixedTexts[BASICERROR ] = &aBasicErrorFT; - aFixedTexts[SQLIDENTIFIER ] = &aSQLIdentifierFT; - aFixedTexts[SQLNUMBER ] = &aSQLNumberFT; - aFixedTexts[SQLSTRING ] = &aSQLStringFT; - aFixedTexts[SQLOPERATOR ] = &aSQLOperatorFT; - aFixedTexts[SQLKEYWORD ] = &aSQLKeywordFT; - aFixedTexts[SQLPARAMETER ] = &aSQLParameterFT; - aFixedTexts[SQLCOMMENT ] = &aSQLCommentFT; - - aColorBoxes[DOCCOLOR ] = &aDocColorLB ; - aColorBoxes[DOCBOUNDARIES ] = &aDocBoundLB ; - aColorBoxes[APPBACKGROUND ] = &aAppBackLB ; - aColorBoxes[OBJECTBOUNDARIES ] = &aObjBoundLB ; - aColorBoxes[TABLEBOUNDARIES ] = &aTableBoundLB ; - aColorBoxes[FONTCOLOR ] = &aFontColorLB ; - aColorBoxes[LINKS ] = &aLinksLB ; - aColorBoxes[LINKSVISITED ] = &aLinksVisitedLB ; - aColorBoxes[SPELL ] = &aSpellLB ; - aColorBoxes[SMARTTAGS ] = &aSmarttagsLB ; - aColorBoxes[WRITERTEXTGRID ] = &aWrtTextGridLB ; - aColorBoxes[WRITERFIELDSHADINGS ] = &aWrtFieldLB ; - aColorBoxes[WRITERIDXSHADINGS ] = &aWrtIdxShadingBackLB ; - aColorBoxes[WRITERDIRECTCURSOR ] = &aWrtDirectCrsrLB ; - aColorBoxes[WRITERSCRIPTINDICATOR ] = &aWrtScriptIndicatorLB ; - aColorBoxes[WRITERSECTIONBOUNDARIES ] = &aWrtSectionBoundLB ; - aColorBoxes[WRITERPAGEBREAKS] = &aWrtPageBreaksLB; - aColorBoxes[HTMLSGML ] = &aHTMLSGMLLB ; - aColorBoxes[HTMLCOMMENT ] = &aHTMLCommentLB ; - aColorBoxes[HTMLKEYWORD ] = &aHTMLKeywdLB ; - aColorBoxes[HTMLUNKNOWN ] = &aHTMLUnknownLB ; - aColorBoxes[CALCGRID ] = &aCalcGridLB ; - aColorBoxes[CALCPAGEBREAK ] = &aCalcPageBreakLB ; - aColorBoxes[CALCPAGEBREAKMANUAL ] = &aCalcPageBreakManualLB ; - aColorBoxes[CALCPAGEBREAKAUTOMATIC]= &aCalcPageBreakAutoLB ; - aColorBoxes[CALCDETECTIVE ] = &aCalcDetectiveLB ; - aColorBoxes[CALCDETECTIVEERROR ] = &aCalcDetectiveErrorLB ; - aColorBoxes[CALCREFERENCE ] = &aCalcReferenceLB ; - aColorBoxes[CALCNOTESBACKGROUND ] = &aCalcNotesBackLB ; - aColorBoxes[DRAWGRID ] = &aDrawGridLB ; - aColorBoxes[BASICIDENTIFIER ] = &aBasicIdentifierLB; - aColorBoxes[BASICCOMMENT ] = &aBasicCommentLB; - aColorBoxes[BASICNUMBER ] = &aBasicNumberLB; - aColorBoxes[BASICSTRING ] = &aBasicStringLB; - aColorBoxes[BASICOPERATOR ] = &aBasicOperatorLB; - aColorBoxes[BASICKEYWORD ] = &aBasicKeywordLB; - aColorBoxes[BASICERROR ] = &aBasicErrorLB; - aColorBoxes[SQLIDENTIFIER ] = &aSQLIdentifierLB; - aColorBoxes[SQLNUMBER ] = &aSQLNumberLB; - aColorBoxes[SQLSTRING ] = &aSQLStringLB; - aColorBoxes[SQLOPERATOR ] = &aSQLOperatorLB; - aColorBoxes[SQLKEYWORD ] = &aSQLKeywordLB; - aColorBoxes[SQLPARAMETER ] = &aSQLParameterLB; - aColorBoxes[SQLCOMMENT ] = &aSQLCommentLB; - - aWindows[DOCCOLOR ] = &aDocColorWN ; - aWindows[DOCBOUNDARIES ] = &aDocBoundWN ; - aWindows[APPBACKGROUND ] = &aAppBackWN ; - aWindows[OBJECTBOUNDARIES ] = &aObjBoundWN ; - aWindows[TABLEBOUNDARIES ] = &aTableBoundWN ; - aWindows[FONTCOLOR ] = &aFontColorWN ; - aWindows[LINKS ] = &aLinksWN ; - aWindows[LINKSVISITED ] = &aLinksVisitedWN ; - aWindows[SPELL ] = &aSpellWN ; - aWindows[SMARTTAGS ] = &aSmarttagsWN ; - aWindows[WRITERTEXTGRID ] = &aWrtTextGridWN ; - aWindows[WRITERFIELDSHADINGS ] = &aWrtFieldWN ; - aWindows[WRITERIDXSHADINGS ] = &aWrtIdxShadingBackWN ; - aWindows[WRITERDIRECTCURSOR ] = &aWrtDirectCrsrWN ; - aWindows[WRITERSCRIPTINDICATOR ] = &aWrtScriptIndicatorWN ; - aWindows[WRITERSECTIONBOUNDARIES ] = &aWrtSectionBoundWN ; - aWindows[WRITERPAGEBREAKS] = &aWrtPageBreaksWN; - aWindows[HTMLSGML ] = &aHTMLSGMLWN ; - aWindows[HTMLCOMMENT ] = &aHTMLCommentWN ; - aWindows[HTMLKEYWORD ] = &aHTMLKeywdWN ; - aWindows[HTMLUNKNOWN ] = &aHTMLUnknownWN ; - aWindows[CALCGRID ] = &aCalcGridWN ; - aWindows[CALCPAGEBREAK ] = &aCalcPageBreakWN ; - aWindows[CALCPAGEBREAKMANUAL ] = &aCalcPageBreakManualWN ; - aWindows[CALCPAGEBREAKAUTOMATIC] = &aCalcPageBreakAutoWN ; - aWindows[CALCDETECTIVE ] = &aCalcDetectiveWN ; - aWindows[CALCDETECTIVEERROR ] = &aCalcDetectiveErrorWN ; - aWindows[CALCREFERENCE ] = &aCalcReferenceWN ; - aWindows[CALCNOTESBACKGROUND ] = &aCalcNotesBackWN ; - aWindows[DRAWGRID ] = &aDrawGridWN ; - aWindows[BASICIDENTIFIER ] = &aBasicIdentifierWN; - aWindows[BASICCOMMENT ] = &aBasicCommentWN; - aWindows[BASICNUMBER ] = &aBasicNumberWN; - aWindows[BASICSTRING ] = &aBasicStringWN; - aWindows[BASICOPERATOR ] = &aBasicOperatorWN; - aWindows[BASICKEYWORD ] = &aBasicKeywordWN; - aWindows[BASICERROR ] = &aBasicErrorWN; - aWindows[SQLIDENTIFIER ] = &aSQLIdentifierWN; - aWindows[SQLNUMBER ] = &aSQLNumberWN; - aWindows[SQLSTRING ] = &aSQLStringWN; - aWindows[SQLOPERATOR ] = &aSQLOperatorWN; - aWindows[SQLKEYWORD ] = &aSQLKeywordWN; - aWindows[SQLPARAMETER ] = &aSQLParameterWN; - aWindows[SQLCOMMENT ] = &aSQLCommentWN; - - aChapters.push_back(&aGeneralFT); aChapterWins.push_back(&aGeneralBackWN); - aChapters.push_back(&aWriterFT); aChapterWins.push_back(&aWriterBackWN); - aChapters.push_back(&aHTMLFT); aChapterWins.push_back(&aHTMLBackWN); - aChapters.push_back(&aCalcFT); aChapterWins.push_back(&aCalcBackWN); - aChapters.push_back(&aDrawFT); aChapterWins.push_back(&aDrawBackWN); - aChapters.push_back(&aBasicFT); aChapterWins.push_back(&aBasicBackWN); - aChapters.push_back(&aSQLFT); aChapterWins.push_back(&aSQLBackWN); - - // calculate heights of groups which can be hidden - aChapters[GROUP_WRITER ]->SetGroupHeight( aChapters[GROUP_HTML]->GetPosPixel().Y() - aChapters[GROUP_WRITER]->GetPosPixel().Y() ); - aChapters[GROUP_HTML ]->SetGroupHeight( aChapters[GROUP_CALC]->GetPosPixel().Y() - aChapters[GROUP_HTML]->GetPosPixel().Y() ); - aChapters[GROUP_CALC ]->SetGroupHeight( aChapters[GROUP_DRAW]->GetPosPixel().Y() - aChapters[GROUP_CALC]->GetPosPixel().Y() ); - aChapters[GROUP_DRAW ]->SetGroupHeight( aChapters[GROUP_BASIC]->GetPosPixel().Y() - aChapters[GROUP_DRAW]->GetPosPixel().Y() ); - aChapters[GROUP_BASIC ]->SetGroupHeight( aChapters[GROUP_SQL]->GetPosPixel().Y() - aChapters[GROUP_BASIC]->GetPosPixel().Y() ); - - ExtendedColorConfig aExtConfig; - sal_Int32 nExtCount = aExtConfig.GetComponentCount(); - if ( nExtCount ) - { - // calculate position behind last chapter - sal_Int32 nLastY = aSQLCommentWN.GetPosPixel().Y() + aSQLCommentWN.GetSizePixel().Height(); - nLastY = nLastY + LogicToPixel( Size( 0, 3 ), MAP_APPFONT ).Height(); - // to calculate the number of lines - sal_Int32 nHeight = LogicToPixel( Size( 0, _LINE_HEIGHT ), MAP_APPFONT ).Height(); - sal_Int32 nLineNum = nLastY / nHeight; - - Point aFixedPos = LogicToPixel( Point( _FT_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ); - Point aLBPos = LogicToPixel( Point( _LB_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ); - Size aFixedSize = LogicToPixel( Size( _FT_WIDTH , _FT_HEIGHT ), MAP_APPFONT ); - Size aLBSize = LogicToPixel( Size( _LB_WIDTH , _LB_HEIGHT ), MAP_APPFONT ); - Size aWinSize = LogicToPixel( Size( _WN_WIDTH , _WN_HEIGHT ), MAP_APPFONT ); - - for (sal_Int32 j = 0; j < nExtCount; ++j) - { - ::rtl::OUString sComponentName = aExtConfig.GetComponentName(j); - aChapterWins.push_back(new Window(this)); - ::boost::shared_ptr<SvxExtFixedText_Impl> pTitle(new SvxExtFixedText_Impl(this,ResId(FT_SQL_COMMAND, *rResId.GetResMgr()))); - m_aExtensionTitles.push_back(pTitle); - pTitle->SetPosSizePixel(LogicToPixel( Point( _FT_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ),aFixedSize); - pTitle->SetText(aExtConfig.GetComponentDisplayName(sComponentName)); - aChapters.push_back(pTitle.get()); - ++nLineNum; - sal_Int32 nColorCount = aExtConfig.GetComponentColorCount(sComponentName); - for (sal_Int32 i = 0; i < nColorCount; ++i,++nLineNum) - { - ExtendedColorConfigValue aColorEntry = aExtConfig.GetComponentColorConfigValue(sComponentName,i); - FixedText* pFixedText = new FixedText(this,ResId(FT_BASICERROR, *rResId.GetResMgr())); - pFixedText->SetPosSizePixel(LogicToPixel( Point( _FT_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ),aFixedSize); - pFixedText->SetText(aColorEntry.getDisplayName()); - aFixedTexts.push_back(pFixedText); - aCheckBoxes.push_back(NULL); // no checkboxes - ColorListBox* pColorBox = new ColorListBox(this,ResId(LB_BASICERROR, *rResId.GetResMgr())); - pColorBox->SetPosSizePixel(LogicToPixel( Point( _LB_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ),aLBSize); - aColorBoxes.push_back(pColorBox); - Window* pWin = new Window(this,ResId(WN_BASICERROR, *rResId.GetResMgr())); - pWin->SetPosSizePixel(LogicToPixel( Point( _WN_XPOS, nLineNum * _LINE_HEIGHT ), MAP_APPFONT ),aWinSize); - aWindows.push_back(pWin); - } // for (sal_Int32 i = 0; i < nExtCount; ++i,++nLineNum) - } - } - - FreeResource(); - - Color TempColor(COL_TRANSPARENT); - Wallpaper aTransparentWall(TempColor); - sal_Int32 nWinWidth = GetSizePixel().Width(); - sal_Int32 nFTHeight = aChapters[0]->GetSizePixel().Height(); - Color aBackColor; - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - sal_Bool bHighContrast = rStyleSettings.GetHighContrastMode(); - if ( bHighContrast ) - aBackColor = rStyleSettings.GetShadowColor(); - else - aBackColor = Color( COL_LIGHTGRAY); - sal_Int32 nCount = aChapterWins.size(); - for(sal_Int32 i = 0; i < nCount; ++i) - { - if ( lcl_isGroupVisible( i, m_aModuleOptions ) ) - { - Font aFont = aChapters[i]->GetFont(); - aFont.SetWeight(WEIGHT_BOLD); - aChapters[i]->SetFont(aFont); - aChapters[i]->SetBackground(aTransparentWall); - aChapterWins[i]->SetPosSizePixel( Point(0, aChapters[i]->GetPosPixel().Y()), - Size(nWinWidth, nFTHeight)); - aChapterWins[i]->SetBackground(Wallpaper(aBackColor)); - aChapterWins[i]->Show(); - } - else - { - aChapters[i]->Hide(); - aChapterWins[i]->Hide(); - } - } - Color aTextColor; - BOOL bSetTextColor = FALSE; - //#104195# when the window color is the same as the text color it has to be changed - Color aWinCol = rStyleSettings.GetWindowColor(); - Color aRCheckCol = rStyleSettings.GetRadioCheckTextColor(); - if(aWinCol == aRCheckCol ) - { - bSetTextColor = TRUE; - aRCheckCol.Invert(); - //if inversion didn't work (gray) then it's set to black - if(aRCheckCol == aWinCol) - aRCheckCol = Color(COL_BLACK); - } // if(aWinCol == aRCheckCol ) - nCount = aFixedTexts.size(); - sal_Int16 nGroup = GROUP_UNKNOWN; - for( sal_Int32 i = 0; i < nCount; i++ ) - { - if(ANCHOR == i) - continue; - sal_Int16 nNewGroup = lcl_getGroup(i); - sal_Bool bShow = lcl_isGroupVisible( nNewGroup, m_aModuleOptions ); - - if ( nNewGroup > nGroup ) - { - nGroup = nNewGroup; - if ( bShow && nGroup >= GROUP_CALC ) - { - SetNewPosition( i, aChapters[nGroup] ); - SetNewPosition( i, aChapterWins[nGroup] ); - } - } - if(aCheckBoxes[i]) - { - if ( bShow ) - SetNewPosition( i, aCheckBoxes[i] ); - else - aCheckBoxes[i]->Hide(); - aCheckBoxes[i]->SetBackground(aTransparentWall); - aCheckBoxes[i]->SetHelpId(HID_COLORPAGE_CHECKBOX_START + i); - if(bSetTextColor) - aCheckBoxes[i]->SetTextColor(aRCheckCol); - } - if(aFixedTexts[i]) - { - if ( bShow ) - SetNewPosition( i, aFixedTexts[i] ); - else - aFixedTexts[i]->Hide(); - aFixedTexts[i]->SetBackground(aTransparentWall); - if(bSetTextColor) - aFixedTexts[i]->SetTextColor(aRCheckCol); - } - if(aWindows[i]) - { - if ( bShow ) - SetNewPosition( i, aWindows[i] ); - else - aWindows[i]->Hide(); - aWindows[i]->SetBorderStyle(WINDOW_BORDER_MONO); - } - - if ( aColorBoxes[i] ) - { - if ( bShow ) - SetNewPosition( i, aColorBoxes[i] ); - else - aColorBoxes[i]->Hide(); - } - } - - XColorTable aColorTable( SvtPathOptions().GetPalettePath() ); - aColorBoxes[0]->InsertAutomaticEntry(); - for( sal_Int32 i = 0; i < aColorTable.Count(); i++ ) - { - XColorEntry* pEntry = aColorTable.GetColor(i); - aColorBoxes[0]->InsertEntry( pEntry->GetColor(), pEntry->GetName() ); - } - aColorBoxes[0]->SetHelpId(HID_COLORPAGE_LISTBOX_START); - for( sal_Int32 i = 1; i < nCount; i++ ) - { - if(aColorBoxes[i]) - { - aColorBoxes[i]->CopyEntries( *aColorBoxes[0] ); - aColorBoxes[i]->SetHelpId(HID_COLORPAGE_LISTBOX_START + i); - } - } -} -/* -----------------------------27.03.2002 11:04------------------------------ - - ---------------------------------------------------------------------------*/ -ColorConfigWindow_Impl::~ColorConfigWindow_Impl() -{ - aChapters.clear(); - ::std::vector< SvxExtFixedText_Impl*>().swap(aChapters); - - - sal_Int32 nCount = aFixedTexts.size(); - for (sal_Int32 i = ColorConfigEntryCount; i < nCount; ++i) - { - delete aFixedTexts[i]; - delete aCheckBoxes[i]; - delete aColorBoxes[i]; - delete aWindows[i]; - } - for (sal_uInt32 i = GROUP_COUNT; i < aChapterWins.size(); ++i) - delete aChapterWins[i]; - aChapterWins.clear(); - ::std::vector< Window*>().swap(aChapterWins); -} -/* -----------------------------2002/06/20 12:48------------------------------ - - ---------------------------------------------------------------------------*/ -void ColorConfigWindow_Impl::DataChanged( const DataChangedEvent& rDCEvt ) -{ - Window::DataChanged( rDCEvt ); - if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && - (rDCEvt.GetFlags() & SETTINGS_STYLE) ) - { - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - sal_Bool bHighContrast = rStyleSettings.GetHighContrastMode(); - Color aBackColor( bHighContrast ? COL_TRANSPARENT : COL_LIGHTGRAY); - ::std::vector< Window* >::iterator aIter = aChapterWins.begin(); - ::std::vector< Window* >::iterator aEnd = aChapterWins.end(); - for(;aIter != aEnd; ++aIter ) - (*aIter)->SetBackground(Wallpaper(aBackColor)); - SetBackground(Wallpaper(rStyleSettings.GetWindowColor())); - } -} -/* -----------------------------2002/06/26 10:49------------------------------ - - ---------------------------------------------------------------------------*/ -void SvxExtFixedText_Impl::DataChanged(const DataChangedEvent& rDCEvt) -{ - FixedText::DataChanged(rDCEvt); - Color TempColor(COL_TRANSPARENT); - Wallpaper aTransparentWall(TempColor); - if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && - (rDCEvt.GetFlags() & SETTINGS_STYLE) ) - { - Font aFont = GetFont(); - aFont.SetWeight(WEIGHT_BOLD); - SetFont(aFont); - SetBackground(aTransparentWall); - } -} - -void ColorConfigWindow_Impl::SetNewPosition( sal_Int32 _nFeature, Window* _pWin ) -{ - DBG_ASSERT( _pWin, "ColorConfigWindow_Impl::SetNewPosition(): no window" ); - - // calculate the overall height of the invisible groups - long nDelta = 0; - sal_Int16 nGroup = lcl_getGroup( _nFeature ) - 1; - while ( nGroup > 0 ) // GROUP_GENERAL (0) is always visible - { - if ( !lcl_isGroupVisible( nGroup, m_aModuleOptions ) ) - nDelta += aChapters[nGroup]->GetGroupHeight(); - nGroup--; - } - - // move this window to its new position - if ( nDelta > 0 ) - { - Point aPos = _pWin->GetPosPixel(); - aPos.Y() -= nDelta; - _pWin->SetPosPixel( aPos ); - } -} - -/* -----------------------------08.04.2002 17:10------------------------------ - - ---------------------------------------------------------------------------*/ -void ColorConfigWindow_Impl::Command( const CommandEvent& rCEvt ) -{ - GetParent()->Command(rCEvt); -} -/* -----------------------------25.03.2002 10:44------------------------------ - - ---------------------------------------------------------------------------*/ -class ColorConfigCtrl_Impl : public Control -{ - HeaderBar aHeaderHB; - ScrollBar aVScroll; - - String sOn; - String sUIElem; - String sColSetting; - String sPreview; - ColorConfigWindow_Impl aScrollWindow; - - EditableColorConfig* pColorConfig; - EditableExtendedColorConfig* pExtColorConfig; - - long nScrollPos; - - DECL_LINK(ScrollHdl, ScrollBar*); - DECL_LINK(ClickHdl, CheckBox*); - DECL_LINK(ColorHdl, ColorListBox*); - DECL_LINK(ControlFocusHdl, Control*); - - virtual long PreNotify( NotifyEvent& rNEvt ); - virtual void Command( const CommandEvent& rCEvt ); - virtual void DataChanged( const DataChangedEvent& rDCEvt ); -public: - ColorConfigCtrl_Impl(Window* pParent, const ResId& rResId ); - ~ColorConfigCtrl_Impl(); - - void SetConfig(EditableColorConfig& rConfig) {pColorConfig = &rConfig;} - void SetExtendedConfig(EditableExtendedColorConfig& rConfig) {pExtColorConfig = &rConfig;} - void Update(); - sal_Int32 GetScrollPosition() {return aVScroll.GetThumbPos();} - void SetScrollPosition(sal_Int32 nSet) - { - aVScroll.SetThumbPos(nSet); - ScrollHdl(&aVScroll); - } -}; -/* -----------------------------25.03.2002 17:09------------------------------ - - ---------------------------------------------------------------------------*/ -ColorConfigCtrl_Impl::ColorConfigCtrl_Impl( - Window* pParent, const ResId& rResId) : - Control(pParent, rResId), - - - aHeaderHB(this, WB_BUTTONSTYLE | WB_BOTTOMBORDER), - aVScroll(this, ResId(VB_VSCROLL, *rResId.GetResMgr())), - sOn( ResId(ST_ON, *rResId.GetResMgr())), - sUIElem( ResId(ST_UIELEM, *rResId.GetResMgr())), - sColSetting( ResId(ST_COLSET, *rResId.GetResMgr())), - sPreview( ResId(ST_PREVIEW, *rResId.GetResMgr())), - aScrollWindow(this, ResId(WN_SCROLL, *rResId.GetResMgr())), - - pColorConfig(0), - pExtColorConfig(0), - nScrollPos(0) -{ - FreeResource(); - - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - aScrollWindow.SetBackground(Wallpaper(rStyleSettings.GetFieldColor())); - aScrollWindow.SetHelpId( HID_OPTIONS_COLORCONFIG_COLORLIST_WIN ); - aVScroll.EnableDrag(); - aVScroll.Show(); - aHeaderHB.SetPosSizePixel( - Point(0,0), - Size(GetOutputSizePixel().Width(), aVScroll.GetPosPixel().Y())); - sal_Int32 nFirstWidth = aScrollWindow.aGeneralFT.GetPosPixel().X(); - sal_Int32 nSecondWidth = aScrollWindow.aColorBoxes[0]->GetPosPixel().X() - nFirstWidth; - sal_Int32 nThirdWidth = aScrollWindow.aWindows[0]->GetPosPixel().X() - nFirstWidth - nSecondWidth; - - const WinBits nHeadBits = HIB_VCENTER | HIB_FIXED| HIB_FIXEDPOS; - aHeaderHB.InsertItem( 1, sOn, nFirstWidth, (USHORT)nHeadBits|HIB_CENTER); - aHeaderHB.InsertItem( 2, sUIElem, nSecondWidth, (USHORT)nHeadBits|HIB_LEFT); - aHeaderHB.InsertItem( 3, sColSetting, nThirdWidth, (USHORT)nHeadBits|HIB_LEFT); - aHeaderHB.InsertItem( 4, sPreview, - aHeaderHB.GetSizePixel().Width() - nFirstWidth - nSecondWidth - nThirdWidth, (USHORT)nHeadBits|HIB_LEFT); - aHeaderHB.Show(); - - aVScroll.SetRangeMin(0); - sal_Int32 nScrollOffset = aScrollWindow.aColorBoxes[1]->GetPosPixel().Y() - aScrollWindow.aColorBoxes[0]->GetPosPixel().Y(); - sal_Int32 nVisibleEntries = aScrollWindow.GetSizePixel().Height() / nScrollOffset; - - aVScroll.SetRangeMax(aScrollWindow.aCheckBoxes.size() + aScrollWindow.aChapters.size() ); - // static: minus three for ANCHOR, DRAWFILL and DRAWDRAWING - aVScroll.SetRangeMax( aVScroll.GetRangeMax() - 3 ); - // dynamic: calculate the hidden lines - long nInvisibleLines = 0; - sal_Int16 nGroup = GROUP_UNKNOWN; - sal_Int32 nCount = aScrollWindow.aCheckBoxes.size(); - for ( sal_Int32 i = 0; i < nCount; i++ ) - { - if ( ANCHOR == i || DRAWFILL == i || DRAWDRAWING == i ) // not used at the moment - continue; - sal_Int16 nNewGroup = lcl_getGroup(i); - sal_Bool bVisible = lcl_isGroupVisible( nNewGroup, aScrollWindow.GetModuleOptions() ); - if ( !bVisible ) - nInvisibleLines++; - if ( nNewGroup > nGroup ) - { - nGroup = nNewGroup; - if ( !bVisible ) - nInvisibleLines++; - } - } - aVScroll.SetRangeMax( aVScroll.GetRangeMax() - nInvisibleLines ); - - aVScroll.SetPageSize( nVisibleEntries - 1 ); - aVScroll.SetVisibleSize(nVisibleEntries); - Link aScrollLink = LINK(this, ColorConfigCtrl_Impl, ScrollHdl); - aVScroll.SetScrollHdl(aScrollLink); - aVScroll.SetEndScrollHdl(aScrollLink); - - Link aCheckLink = LINK(this, ColorConfigCtrl_Impl, ClickHdl); - Link aColorLink = LINK(this, ColorConfigCtrl_Impl, ColorHdl); - Link aGetFocusLink = LINK(this, ColorConfigCtrl_Impl, ControlFocusHdl); - for( sal_Int16 i = 0; i < nCount; i++ ) - { - if(aScrollWindow.aColorBoxes[i]) - { - aScrollWindow.aColorBoxes[i]->SetSelectHdl(aColorLink); - aScrollWindow.aColorBoxes[i]->SetGetFocusHdl(aGetFocusLink); - } - if(aScrollWindow.aCheckBoxes[i]) - { - aScrollWindow.aCheckBoxes[i]->SetClickHdl(aCheckLink); - aScrollWindow.aCheckBoxes[i]->SetGetFocusHdl(aGetFocusLink); - } - } -} -/* -----------------------------27.03.2002 10:46------------------------------ - - ---------------------------------------------------------------------------*/ -ColorConfigCtrl_Impl::~ColorConfigCtrl_Impl() -{ -} -/* -----------------------------25.03.2002 17:19------------------------------ - - ---------------------------------------------------------------------------*/ -void ColorConfigCtrl_Impl::Update() -{ - DBG_ASSERT(pColorConfig, "Configuration not set" ); - sal_Int32 i; - for( i = 0; i < ColorConfigEntryCount; i++ ) - { - if(ANCHOR == i) - continue; - const ColorConfigValue& rColorEntry = pColorConfig->GetColorValue(ColorConfigEntry(i)); - if(COL_AUTO == (UINT32)rColorEntry.nColor) - { - if(aScrollWindow.aColorBoxes[i]) - aScrollWindow.aColorBoxes[i]->SelectEntryPos(0); - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->SetBackground( - Wallpaper(ColorConfig::GetDefaultColor((ColorConfigEntry) i))); - } - else - { - Color aColor(rColorEntry.nColor); - if(aScrollWindow.aColorBoxes[i]) - aScrollWindow.aColorBoxes[i]->SelectEntry( aColor ); - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->SetBackground(Wallpaper(aColor)); - } - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->Invalidate(); - if(aScrollWindow.aCheckBoxes[i]) - aScrollWindow.aCheckBoxes[i]->Check(rColorEntry.bIsVisible); - } // for( i = 0; i < ColorConfigEntryCount; i++ ) - - - sal_Int32 nExtCount = pExtColorConfig->GetComponentCount(); - sal_Int32 nCount = aScrollWindow.aCheckBoxes.size(); - sal_Int32 nPos = 0; - i = ColorConfigEntryCount; - for (sal_Int32 j = 0; j < nExtCount; ++j) - { - ::rtl::OUString sComponentName = pExtColorConfig->GetComponentName(j); - sal_Int32 nColorCount = pExtColorConfig->GetComponentColorCount(sComponentName); - - for( sal_Int32 k = 0; i < nCount && k < nColorCount; ++i ,++nPos,++k) - { - if(aScrollWindow.aColorBoxes[i]) - { - ExtendedColorConfigValue aColorEntry = pExtColorConfig->GetComponentColorConfigValue(sComponentName,k); - Color aColor(aColorEntry.getColor()); - if(aColorEntry.getDefaultColor() == aColorEntry.getColor() ) - { - aScrollWindow.aColorBoxes[i]->SelectEntryPos(0); - } - else - { - aScrollWindow.aColorBoxes[i]->SelectEntry( aColor ); - } - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->SetBackground(Wallpaper(aColor)); - - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->Invalidate(); - } - } - } -} -/* -----------------------------26.03.2002 12:55------------------------------ - - ---------------------------------------------------------------------------*/ -sal_Bool lcl_MoveAndShow(Window* pWindow, long nOffset, long nMaxVisible, bool _bShow) -{ - BOOL bHide = TRUE; - if(pWindow) - { - Point aPos = pWindow->GetPosPixel(); - aPos.Y() += nOffset; - pWindow->SetPosPixel(aPos); - if ( _bShow ) - bHide = aPos.Y() > nMaxVisible || (aPos.Y() + pWindow->GetSizePixel().Height()) < 0; - pWindow->Show(!bHide); - } - return !bHide; -} -IMPL_LINK(ColorConfigCtrl_Impl, ScrollHdl, ScrollBar*, pScrollBar) -{ - aScrollWindow.SetUpdateMode(TRUE); - sal_Int16 i; - long nOffset = aScrollWindow.aColorBoxes[1]->GetPosPixel().Y() - aScrollWindow.aColorBoxes[0]->GetPosPixel().Y(); - nOffset *= (nScrollPos - pScrollBar->GetThumbPos()); - nScrollPos = pScrollBar->GetThumbPos(); - const long nWindowHeight = aScrollWindow.GetSizePixel().Height(); - sal_Int16 nFirstVisible = -1; - sal_Int16 nLastVisible = -1; - sal_Int32 nCount = aScrollWindow.aFixedTexts.size(); - for( i = 0; i < nCount; i++ ) - { - if(ANCHOR == i) - continue; - Point aPos; - //controls outside of the view need to be hidden to speed up accessibility tools - bool bShowCtrl = ( lcl_isGroupVisible( - lcl_getGroup(i), aScrollWindow.GetModuleOptions() ) != sal_False ); - lcl_MoveAndShow(aScrollWindow.aCheckBoxes[i], nOffset, nWindowHeight, bShowCtrl); - lcl_MoveAndShow(aScrollWindow.aFixedTexts[i], nOffset, nWindowHeight, bShowCtrl); - lcl_MoveAndShow(aScrollWindow.aWindows[i] , nOffset, nWindowHeight, bShowCtrl); - BOOL bShow = lcl_MoveAndShow(aScrollWindow.aColorBoxes[i], nOffset, nWindowHeight, bShowCtrl); - if(bShow) - { - if(nFirstVisible == -1) - nFirstVisible = i; - else - nLastVisible = i; - } - } - //show the one prior to the first visible and the first after the last visble control - //to enable KEY_TAB travelling - - if(nFirstVisible) - { - //skip gaps where no controls exist for the related ColorConfigEntry - do - --nFirstVisible; - while(!aScrollWindow.aCheckBoxes[nFirstVisible] && !aScrollWindow.aColorBoxes[nFirstVisible] && nFirstVisible >= 0); - - if ( lcl_isGroupVisible( - lcl_getGroup( nFirstVisible ), aScrollWindow.GetModuleOptions() ) != sal_False ) - { - if(aScrollWindow.aCheckBoxes[nFirstVisible]) - aScrollWindow.aCheckBoxes[nFirstVisible]->Show(); - if(aScrollWindow.aColorBoxes[nFirstVisible]) - aScrollWindow.aColorBoxes[nFirstVisible]->Show(); - } - } - - if(nLastVisible < nCount - 1) - { - nLastVisible++; - //skip gaps where no controls exist for the related ColorConfigEntry - while(!aScrollWindow.aCheckBoxes[nLastVisible] && !aScrollWindow.aColorBoxes[nLastVisible] && - nLastVisible < nCount - 1 ) - nLastVisible++; - if ( nLastVisible < nCount ) - { - if ( lcl_isGroupVisible( - lcl_getGroup( nLastVisible ), aScrollWindow.GetModuleOptions() ) != sal_False ) - { - if(aScrollWindow.aCheckBoxes[nLastVisible]) - aScrollWindow.aCheckBoxes[nLastVisible]->Show(); - if(aScrollWindow.aColorBoxes[nLastVisible]) - aScrollWindow.aColorBoxes[nLastVisible]->Show(); - } - } - } // if(nLastVisible < nCount - 1) - sal_Int32 nChapterCount = aScrollWindow.aChapters.size(); - for( i = 0; i < nChapterCount; i++ ) - { - Point aPos = aScrollWindow.aChapters[i]->GetPosPixel(); aPos.Y() += nOffset; aScrollWindow.aChapters[i]->SetPosPixel(aPos); - aPos = aScrollWindow.aChapterWins[i]->GetPosPixel(); aPos.Y() += nOffset; aScrollWindow.aChapterWins[i]->SetPosPixel(aPos); - } - aScrollWindow.SetUpdateMode(TRUE); - return 0; -} -/* -----------------------------29.04.2002 17:02------------------------------ - - ---------------------------------------------------------------------------*/ -long ColorConfigCtrl_Impl::PreNotify( NotifyEvent& rNEvt ) -{ - if(rNEvt.GetType() == EVENT_COMMAND) - { - const CommandEvent* pCEvt = rNEvt.GetCommandEvent(); - USHORT nCmd = pCEvt->GetCommand(); - if( COMMAND_WHEEL == nCmd ) - { - Command(*pCEvt); - return 1; - } - } - return Control::PreNotify(rNEvt); -} -/* -----------------------------08.04.2002 16:37------------------------------ - - ---------------------------------------------------------------------------*/ -void ColorConfigCtrl_Impl::Command( const CommandEvent& rCEvt ) -{ - switch ( rCEvt.GetCommand() ) - { - - case COMMAND_WHEEL: - case COMMAND_STARTAUTOSCROLL: - case COMMAND_AUTOSCROLL: - { - const CommandWheelData* pWheelData = rCEvt.GetWheelData(); - if(pWheelData && !pWheelData->IsHorz() && COMMAND_WHEEL_ZOOM != pWheelData->GetMode()) - { - HandleScrollCommand( rCEvt, 0, &aVScroll ); - } - } - break; - default: - Control::Command(rCEvt); - } -} - -/* -----------------------------14.12.2005 12:37------------------------------ - - ---------------------------------------------------------------------------*/ -void ColorConfigCtrl_Impl::DataChanged( const DataChangedEvent& rDCEvt ) -{ - Window::DataChanged( rDCEvt ); - if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && - (rDCEvt.GetFlags() & SETTINGS_STYLE) ) - { - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - SetBackground(Wallpaper(rStyleSettings.GetFieldColor())); - } -} - - -/* -----------------------------27.03.2002 11:43------------------------------ - - ---------------------------------------------------------------------------*/ -IMPL_LINK(ColorConfigCtrl_Impl, ClickHdl, CheckBox*, pBox) -{ - DBG_ASSERT(pColorConfig, "Configuration not set" ); - - for( sal_Int32 i = 0; i < ColorConfigEntryCount; i++ ) - { - if(ANCHOR == i) - continue; - if(aScrollWindow.aCheckBoxes[i] == pBox ) - { - ColorConfigValue aBoundCol = pColorConfig->GetColorValue(ColorConfigEntry(i)); - aBoundCol.bIsVisible = pBox->IsChecked(); - pColorConfig->SetColorValue(ColorConfigEntry(i), aBoundCol); - break; - } - } // for( sal_Int32 i = 0; i < ColorConfigEntryCount; i++ ) - return 0; -} -/* -----------------------------27.03.2002 11:43------------------------------ - - ---------------------------------------------------------------------------*/ -IMPL_LINK(ColorConfigCtrl_Impl, ColorHdl, ColorListBox*, pBox) -{ - DBG_ASSERT(pColorConfig, "Configuration not set" ); - sal_Int32 i = 0; - for( ; i < ColorConfigEntryCount; i++ ) - { - if(pBox && aScrollWindow.aColorBoxes[i] == pBox) - { - ColorConfigValue aColorEntry = pColorConfig->GetColorValue(ColorConfigEntry(i)); - if(!pBox->GetSelectEntryPos()) - { - aColorEntry.nColor = COL_AUTO; - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->SetBackground( - Wallpaper(ColorConfig::GetDefaultColor((ColorConfigEntry) i))); - } - else - { - Color aColor = pBox->GetSelectEntryColor(); // #i14869# no Color&, 'cause it's a ref to a temp object on the stack! - aColorEntry.nColor = aColor.GetColor(); - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->SetBackground(Wallpaper(aColor)); - } - if(aScrollWindow.aWindows[i]) - aScrollWindow.aWindows[i]->Invalidate(); - pColorConfig->SetColorValue(ColorConfigEntry(i), aColorEntry); - break; - } - } // for( sal_Int32 i = 0; i < ColorConfigEntryCount; i++ ) - sal_Int32 nExtCount = pExtColorConfig->GetComponentCount(); - sal_Int32 nCount = aScrollWindow.aCheckBoxes.size(); - sal_Int32 nPos = 0; - i = ColorConfigEntryCount; - for (sal_Int32 j = 0; j < nExtCount; ++j) - { - ::rtl::OUString sComponentName = pExtColorConfig->GetComponentName(j); - sal_Int32 nColorCount = pExtColorConfig->GetComponentColorCount(sComponentName); - - for( sal_Int32 k = 0; i < nCount && k < nColorCount; ++i ,++nPos,++k) - { - if(pBox && aScrollWindow.aColorBoxes[i] == pBox) - { - ExtendedColorConfigValue aColorEntry = pExtColorConfig->GetComponentColorConfigValue(sComponentName,k); - Color aColor = pBox->GetSelectEntryColor(); // #i14869# no Color&, 'cause it's a ref to a temp object on the stack! - aColorEntry.setColor(aColor.GetColor()); - if( !pBox->GetSelectEntryPos() ) // auto color - { - aColorEntry.setColor(aColorEntry.getDefaultColor()); - aColor.SetColor(aColorEntry.getColor()); - } - if ( aScrollWindow.aWindows[i] ) - { - aScrollWindow.aWindows[i]->SetBackground(Wallpaper(aColor)); - aScrollWindow.aWindows[i]->Invalidate(); - } - pExtColorConfig->SetColorValue(sComponentName,aColorEntry); - break; - } - } - } - return 0; -} -IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, Control*, pCtrl) -{ - //determine whether a control is completely visible - //and make it visible - Point aCtrlPos(pCtrl->GetPosPixel()); - sal_Int32 nWinHeight = aScrollWindow.GetSizePixel().Height(); - if(0 != (GETFOCUS_TAB & pCtrl->GetGetFocusFlags() && - (aCtrlPos.Y() < 0 || - nWinHeight < aCtrlPos.Y() + aScrollWindow.aColorBoxes[0]->GetSizePixel().Height()))) - { - long nThumbPos = aVScroll.GetThumbPos(); - if(nWinHeight < aCtrlPos.Y() + aScrollWindow.aColorBoxes[0]->GetSizePixel().Height()) - { - //scroll down - nThumbPos +=2; - } - else - { - //scroll up - nThumbPos -= 2; - if(nThumbPos < 0) - nThumbPos = 0; - } - aVScroll.SetThumbPos(nThumbPos); - ScrollHdl(&aVScroll); - } - return 0; -}; -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -SvxColorOptionsTabPage::SvxColorOptionsTabPage( - Window* pParent, const SfxItemSet& rCoreSet) : - SfxTabPage( pParent, SVX_RES( RID_SVXPAGE_COLORCONFIG ), rCoreSet ), - aColorSchemeFL( this, SVX_RES( FL_COLORSCHEME ) ), - aColorSchemeFT( this, SVX_RES( FT_COLORSCHEME ) ), - aColorSchemeLB( this, SVX_RES( LB_COLORSCHEME ) ), - aSaveSchemePB( this, SVX_RES( PB_SAVESCHEME) ), - aDeleteSchemePB( this, SVX_RES( PB_DELETESCHEME ) ), - aCustomColorsFL( this, SVX_RES( FL_CUSTOMCOLORS ) ), - bFillItemSetCalled(FALSE), - pColorConfig(0), - pExtColorConfig(0), - pColorConfigCT( new ColorConfigCtrl_Impl(this, SVX_RES( CT_COLORCONFIG ) )) -{ - FreeResource(); - aColorSchemeLB.SetSelectHdl(LINK(this, SvxColorOptionsTabPage, SchemeChangedHdl_Impl)); - Link aLk = LINK(this, SvxColorOptionsTabPage, SaveDeleteHdl_Impl ); - aSaveSchemePB.SetClickHdl(aLk); - aDeleteSchemePB.SetClickHdl(aLk); -} -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -SvxColorOptionsTabPage::~SvxColorOptionsTabPage() -{ - //when the dialog is cancelled but the color scheme ListBox has been changed these - //changes need to be undone - if(!bFillItemSetCalled && aColorSchemeLB.GetSavedValue() != aColorSchemeLB.GetSelectEntryPos()) - { - rtl::OUString sOldScheme = aColorSchemeLB.GetEntry(aColorSchemeLB.GetSavedValue()); - if(sOldScheme.getLength()) - { - pColorConfig->SetCurrentSchemeName(sOldScheme); - pExtColorConfig->SetCurrentSchemeName(sOldScheme); - } - } - delete pColorConfigCT; - pColorConfig->ClearModified(); - pColorConfig->EnableBroadcast(); - delete pColorConfig; - pExtColorConfig->ClearModified(); - pExtColorConfig->EnableBroadcast(); - delete pExtColorConfig; -} -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -SfxTabPage* SvxColorOptionsTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet ) -{ - return ( new SvxColorOptionsTabPage( pParent, rAttrSet ) ); -} -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -BOOL SvxColorOptionsTabPage::FillItemSet( SfxItemSet& ) -{ - bFillItemSetCalled = TRUE; - if(aColorSchemeLB.GetSavedValue() != aColorSchemeLB.GetSelectEntryPos()) - { - pColorConfig->SetModified(); - pExtColorConfig->SetModified(); - } - if(pColorConfig->IsModified()) - pColorConfig->Commit(); - if(pExtColorConfig->IsModified()) - pExtColorConfig->Commit(); - return TRUE; -} -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -void SvxColorOptionsTabPage::Reset( const SfxItemSet& ) -{ - if(pColorConfig) - { - pColorConfig->ClearModified(); - pColorConfig->DisableBroadcast(); - delete pColorConfig; - } - pColorConfig = new EditableColorConfig; - pColorConfigCT->SetConfig(*pColorConfig); - - if(pExtColorConfig) - { - pExtColorConfig->ClearModified(); - pExtColorConfig->DisableBroadcast(); - delete pExtColorConfig; - } - pExtColorConfig = new EditableExtendedColorConfig; - pColorConfigCT->SetExtendedConfig(*pExtColorConfig); - - String sUser = GetUserData(); - //has to be called always to speed up accessibility tools - pColorConfigCT->SetScrollPosition(sUser.ToInt32()); - aColorSchemeLB.Clear(); - uno::Sequence< ::rtl::OUString > aSchemes = pColorConfig->GetSchemeNames(); - const rtl::OUString* pSchemes = aSchemes.getConstArray(); - for(sal_Int32 i = 0; i < aSchemes.getLength(); i++) - aColorSchemeLB.InsertEntry(pSchemes[i]); - aColorSchemeLB.SelectEntry(pColorConfig->GetCurrentSchemeName()); - aColorSchemeLB.SaveValue(); - aDeleteSchemePB.Enable( aSchemes.getLength() > 1 ); - UpdateColorConfig(); -} -/* -----------------------------25.03.2002 10:47------------------------------ - - ---------------------------------------------------------------------------*/ -int SvxColorOptionsTabPage::DeactivatePage( SfxItemSet* _pSet ) -{ - if ( _pSet ) - FillItemSet( *_pSet ); - return( LEAVE_PAGE ); -} -/* -----------------------------25.03.2002 15:32------------------------------ - - ---------------------------------------------------------------------------*/ -void SvxColorOptionsTabPage::UpdateColorConfig() -{ - //update the color config control - pColorConfigCT->Update(); -} -/* -----------------------------25.03.2002 15:30------------------------------ - - ---------------------------------------------------------------------------*/ -IMPL_LINK(SvxColorOptionsTabPage, SchemeChangedHdl_Impl, ListBox*, pBox) -{ - pColorConfig->LoadScheme(pBox->GetSelectEntry()); - pExtColorConfig->LoadScheme(pBox->GetSelectEntry()); - UpdateColorConfig(); - return 0; -} -/* -----------------------------09.04.2002 15:21------------------------------ - - ---------------------------------------------------------------------------*/ -IMPL_LINK(SvxColorOptionsTabPage, SaveDeleteHdl_Impl, PushButton*, pButton ) -{ - if(&aSaveSchemePB == pButton) - { - String sName; - //CHINA001 SvxNameDialog aNameDlg(pButton, - //CHINA001 sName, - //CHINA001 String(SVX_RES(RID_SVXSTR_COLOR_CONFIG_SAVE2))); - SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - DBG_ASSERT(pFact, "Dialogdiet fail!");//CHINA001 - AbstractSvxNameDialog* aNameDlg = pFact->CreateSvxNameDialog( pButton, - sName, String(SVX_RES(RID_SVXSTR_COLOR_CONFIG_SAVE2)), RID_SVXDLG_NAME ); - DBG_ASSERT(aNameDlg, "Dialogdiet fail!");//CHINA001 - aNameDlg->SetCheckNameHdl( LINK(this, SvxColorOptionsTabPage, CheckNameHdl_Impl)); - aNameDlg->SetText(String(SVX_RES(RID_SVXSTR_COLOR_CONFIG_SAVE1))); - aNameDlg->SetHelpId(HID_OPTIONS_COLORCONFIG_SAVE_SCHEME); - aNameDlg->SetEditHelpId(HID_OPTIONS_COLORCONFIG_NAME_SCHEME); - aNameDlg->SetCheckNameHdl( LINK(this, SvxColorOptionsTabPage, CheckNameHdl_Impl)); - if(RET_OK == aNameDlg->Execute()) //CHINA001 if(RET_OK == aNameDlg.Execute()) - { - aNameDlg->GetName(sName); //CHINA001 aNameDlg.GetName(sName); - pColorConfig->AddScheme(sName); - pExtColorConfig->AddScheme(sName); - aColorSchemeLB.InsertEntry(sName); - aColorSchemeLB.SelectEntry(sName); - aColorSchemeLB.GetSelectHdl().Call(&aColorSchemeLB); - } - delete aNameDlg; //add by CHINA001 - } - else - { - DBG_ASSERT(aColorSchemeLB.GetEntryCount() > 1, "don't delete the last scheme"); - QueryBox aQuery(pButton, SVX_RES(RID_SVXQB_DELETE_COLOR_CONFIG)); - aQuery.SetText(String(SVX_RES(RID_SVXSTR_COLOR_CONFIG_DELETE))); - if(RET_YES == aQuery.Execute()) - { - rtl::OUString sDeleteScheme(aColorSchemeLB.GetSelectEntry()); - aColorSchemeLB.RemoveEntry(aColorSchemeLB.GetSelectEntryPos()); - aColorSchemeLB.SelectEntryPos(0); - aColorSchemeLB.GetSelectHdl().Call(&aColorSchemeLB); - //first select the new scheme and then delete the old one - pColorConfig->DeleteScheme(sDeleteScheme); - pExtColorConfig->DeleteScheme(sDeleteScheme); - } - } - aDeleteSchemePB.Enable( aColorSchemeLB.GetEntryCount() > 1 ); - return 0; -} -/* -----------------------------09.04.2002 15:47------------------------------ - - ---------------------------------------------------------------------------*/ -IMPL_LINK(SvxColorOptionsTabPage, CheckNameHdl_Impl, AbstractSvxNameDialog*, pDialog ) -{ - String sName; - pDialog->GetName(sName); - return sName.Len() && LISTBOX_ENTRY_NOTFOUND == aColorSchemeLB.GetEntryPos( sName ); -} -/* -----------------------------25.04.2002 15:12------------------------------ - - ---------------------------------------------------------------------------*/ -void SvxColorOptionsTabPage::FillUserData() -{ - SetUserData(String::CreateFromInt32(pColorConfigCT->GetScrollPosition())); -} - |