1722 lines
73 KiB
C++
1722 lines
73 KiB
C++
/*************************************************************************
|
|
*
|
|
* 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.
|
|
*
|
|
************************************************************************/
|
|
|
|
// MARKER(update_precomp.py): autogen include statement, do not remove
|
|
#include "precompiled_cui.hxx"
|
|
|
|
// 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 <unotools/moduleoptions.hxx>
|
|
#include <unotools/pathoptions.hxx>
|
|
#include <vcl/msgbox.hxx>
|
|
#include <boost/shared_ptr.hpp>
|
|
#include <svx/svxdlg.hxx>
|
|
#include <helpid.hrc>
|
|
#include <dialmgr.hxx>
|
|
#include "optcolor.hxx"
|
|
#include <cuires.hrc>
|
|
#include "optcolor.hrc"
|
|
#include <svx/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
|
|
|
|
const char* aColorLBHids[] =
|
|
{
|
|
HID_COLORPAGE_DOCCOLOR_LB,
|
|
HID_COLORPAGE_DOCBOUNDARIES_LB,
|
|
HID_COLORPAGE_APPBACKGROUND_LB,
|
|
HID_COLORPAGE_OBJECTBOUNDARIES_LB,
|
|
HID_COLORPAGE_TABLEBOUNDARIES_LB,
|
|
HID_COLORPAGE_FONTCOLOR_LB,
|
|
HID_COLORPAGE_LINKS_LB,
|
|
HID_COLORPAGE_LINKSVISITED_LB,
|
|
HID_COLORPAGE_ANCHOR_LB,
|
|
HID_COLORPAGE_SPELL_LB,
|
|
HID_COLORPAGE_WRITERTEXTGRID_LB,
|
|
HID_COLORPAGE_WRITERFIELDSHADINGS_LB,
|
|
HID_COLORPAGE_WRITERIDXSHADINGS_LB,
|
|
HID_COLORPAGE_WRITERDIRECTCURSOR_LB,
|
|
HID_COLORPAGE_WRITERNOTESINDICATOR_LB,
|
|
HID_COLORPAGE_WRITERSCRIPTINDICATOR_LB,
|
|
HID_COLORPAGE_WRITERSECTIONBOUNDARIES_LB,
|
|
HID_COLORPAGE_WRITERPAGEBREAKS_LB,
|
|
HID_COLORPAGE_HTMLSGML_LB,
|
|
HID_COLORPAGE_HTMLCOMMENT_LB,
|
|
HID_COLORPAGE_HTMLKEYWORD_LB,
|
|
HID_COLORPAGE_HTMLUNKNOWN_LB,
|
|
HID_COLORPAGE_CALCGRID_LB,
|
|
HID_COLORPAGE_CALCPAGEBREAK_LB,
|
|
HID_COLORPAGE_CALCPAGEBREAKMANUAL_LB,
|
|
HID_COLORPAGE_CALCPAGEBREAKAUTOMATIC_LB,
|
|
HID_COLORPAGE_CALCDETECTIVE_LB,
|
|
HID_COLORPAGE_CALCDETECTIVEERROR_LB,
|
|
HID_COLORPAGE_CALCREFERENCE_LB,
|
|
HID_COLORPAGE_CALCNOTESBACKGROUND_LB,
|
|
HID_COLORPAGE_DRAWGRID_LB,
|
|
HID_COLORPAGE_DRAWDRAWING_LB,
|
|
HID_COLORPAGE_DRAWFILL_LB,
|
|
HID_COLORPAGE_BASICIDENTIFIER_LB,
|
|
HID_COLORPAGE_BASICCOMMENT_LB,
|
|
HID_COLORPAGE_BASICNUMBER_LB,
|
|
HID_COLORPAGE_BASICSTRING_LB,
|
|
HID_COLORPAGE_BASICOPERATOR_LB,
|
|
HID_COLORPAGE_BASICKEYWORD_LB,
|
|
HID_COLORPAGE_BASICERROR_LB
|
|
};
|
|
|
|
const char* aColorCBHids[] =
|
|
{
|
|
HID_COLORPAGE_DOCCOLOR_CB,
|
|
HID_COLORPAGE_DOCBOUNDARIES_CB,
|
|
HID_COLORPAGE_APPBACKGROUND_CB,
|
|
HID_COLORPAGE_OBJECTBOUNDARIES_CB,
|
|
HID_COLORPAGE_TABLEBOUNDARIES_CB,
|
|
HID_COLORPAGE_FONTCOLOR_CB,
|
|
HID_COLORPAGE_LINKS_CB,
|
|
HID_COLORPAGE_LINKSVISITED_CB,
|
|
HID_COLORPAGE_ANCHOR_CB,
|
|
HID_COLORPAGE_SPELL_CB,
|
|
HID_COLORPAGE_WRITERTEXTGRID_CB,
|
|
HID_COLORPAGE_WRITERFIELDSHADINGS_CB,
|
|
HID_COLORPAGE_WRITERIDXSHADINGS_CB,
|
|
HID_COLORPAGE_WRITERDIRECTCURSOR_CB,
|
|
HID_COLORPAGE_WRITERNOTESINDICATOR_CB,
|
|
HID_COLORPAGE_WRITERSCRIPTINDICATOR_CB,
|
|
HID_COLORPAGE_WRITERSECTIONBOUNDARIES_CB,
|
|
HID_COLORPAGE_WRITERPAGEBREAKS_CB,
|
|
HID_COLORPAGE_HTMLSGML_CB,
|
|
HID_COLORPAGE_HTMLCOMMENT_CB,
|
|
HID_COLORPAGE_HTMLKEYWORD_CB,
|
|
HID_COLORPAGE_HTMLUNKNOWN_CB,
|
|
HID_COLORPAGE_CALCGRID_CB,
|
|
HID_COLORPAGE_CALCPAGEBREAK_CB,
|
|
HID_COLORPAGE_CALCPAGEBREAKMANUAL_CB,
|
|
HID_COLORPAGE_CALCPAGEBREAKAUTOMATIC_CB,
|
|
HID_COLORPAGE_CALCDETECTIVE_CB,
|
|
HID_COLORPAGE_CALCDETECTIVEERROR_CB,
|
|
HID_COLORPAGE_CALCREFERENCE_CB,
|
|
HID_COLORPAGE_CALCNOTESBACKGROUND_CB,
|
|
HID_COLORPAGE_DRAWGRID_CB,
|
|
HID_COLORPAGE_DRAWDRAWING_CB,
|
|
HID_COLORPAGE_DRAWFILL_CB,
|
|
HID_COLORPAGE_BASICIDENTIFIER_CB,
|
|
HID_COLORPAGE_BASICCOMMENT_CB,
|
|
HID_COLORPAGE_BASICNUMBER_CB,
|
|
HID_COLORPAGE_BASICSTRING_CB,
|
|
HID_COLORPAGE_BASICOPERATOR_CB,
|
|
HID_COLORPAGE_BASICKEYWORD_CB,
|
|
HID_COLORPAGE_BASICERROR_CB
|
|
};
|
|
|
|
/* -----------------------------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;
|
|
sal_Bool bSetTextColor = sal_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 = sal_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( aColorCBHids[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( aColorLBHids[0] );
|
|
|
|
OSL_ENSURE( nCount < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])), "too few helpIDs for color listboxes" );
|
|
for( sal_Int32 i = 1; i < nCount; i++ )
|
|
{
|
|
if(aColorBoxes[i])
|
|
{
|
|
aColorBoxes[i]->CopyEntries( *aColorBoxes[0] );
|
|
if( i < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])) )
|
|
aColorBoxes[i]->SetHelpId( aColorLBHids[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, (sal_uInt16)nHeadBits|HIB_CENTER);
|
|
aHeaderHB.InsertItem( 2, sUIElem, nSecondWidth, (sal_uInt16)nHeadBits|HIB_LEFT);
|
|
aHeaderHB.InsertItem( 3, sColSetting, nThirdWidth, (sal_uInt16)nHeadBits|HIB_LEFT);
|
|
aHeaderHB.InsertItem( 4, sPreview,
|
|
aHeaderHB.GetSizePixel().Width() - nFirstWidth - nSecondWidth - nThirdWidth, (sal_uInt16)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 == (sal_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)
|
|
{
|
|
sal_Bool bHide = sal_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(sal_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);
|
|
sal_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(sal_True);
|
|
return 0;
|
|
}
|
|
/* -----------------------------29.04.2002 17:02------------------------------
|
|
|
|
---------------------------------------------------------------------------*/
|
|
long ColorConfigCtrl_Impl::PreNotify( NotifyEvent& rNEvt )
|
|
{
|
|
if(rNEvt.GetType() == EVENT_COMMAND)
|
|
{
|
|
const CommandEvent* pCEvt = rNEvt.GetCommandEvent();
|
|
sal_uInt16 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, CUI_RES( RID_SVXPAGE_COLORCONFIG ), rCoreSet ),
|
|
aColorSchemeFL( this, CUI_RES( FL_COLORSCHEME ) ),
|
|
aColorSchemeFT( this, CUI_RES( FT_COLORSCHEME ) ),
|
|
aColorSchemeLB( this, CUI_RES( LB_COLORSCHEME ) ),
|
|
aSaveSchemePB( this, CUI_RES( PB_SAVESCHEME) ),
|
|
aDeleteSchemePB( this, CUI_RES( PB_DELETESCHEME ) ),
|
|
aCustomColorsFL( this, CUI_RES( FL_CUSTOMCOLORS ) ),
|
|
bFillItemSetCalled(sal_False),
|
|
pColorConfig(0),
|
|
pExtColorConfig(0),
|
|
pColorConfigCT( new ColorConfigCtrl_Impl(this, CUI_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------------------------------
|
|
|
|
---------------------------------------------------------------------------*/
|
|
sal_Bool SvxColorOptionsTabPage::FillItemSet( SfxItemSet& )
|
|
{
|
|
bFillItemSetCalled = sal_True;
|
|
if(aColorSchemeLB.GetSavedValue() != aColorSchemeLB.GetSelectEntryPos())
|
|
{
|
|
pColorConfig->SetModified();
|
|
pExtColorConfig->SetModified();
|
|
}
|
|
if(pColorConfig->IsModified())
|
|
pColorConfig->Commit();
|
|
if(pExtColorConfig->IsModified())
|
|
pExtColorConfig->Commit();
|
|
return sal_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(CUI_RES(RID_SVXSTR_COLOR_CONFIG_SAVE2)));
|
|
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
|
|
DBG_ASSERT(pFact, "Dialogdiet fail!");//CHINA001
|
|
AbstractSvxNameDialog* aNameDlg = pFact->CreateSvxNameDialog( pButton,
|
|
sName, String(CUI_RES(RID_SVXSTR_COLOR_CONFIG_SAVE2)) );
|
|
DBG_ASSERT(aNameDlg, "Dialogdiet fail!");//CHINA001
|
|
aNameDlg->SetCheckNameHdl( LINK(this, SvxColorOptionsTabPage, CheckNameHdl_Impl));
|
|
aNameDlg->SetText(String(CUI_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, CUI_RES(RID_SVXQB_DELETE_COLOR_CONFIG));
|
|
aQuery.SetText(String(CUI_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()));
|
|
}
|
|
|