blob: fff16d64218bfbe04e55cb558fd570d147b5d92d [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_cui.hxx"
#include "internationaloptions.hxx"
#include "internationaloptions.hrc"
#include <svl/eitem.hxx>
#include <cuires.hrc>
#include "helpid.hrc"
#include <dialmgr.hxx>
#include <svx/dialogs.hrc>
namespace offapp
{
struct InternationalOptionsPage::IMPL
{
FixedLine m_aFL_DefaultTextDirection;
RadioButton m_aRB_TxtDirLeft2Right;
RadioButton m_aRB_TxtDirRight2Left;
FixedLine m_aFL_SheetView;
CheckBox m_aCB_ShtVwRight2Left;
CheckBox m_aCB_ShtVwCurrentDocOnly;
sal_Bool m_bEnable_SheetView_Opt : 1;
inline IMPL( Window* _pParent );
inline void EnableOption_SheetView( sal_Bool _bEnable = sal_True );
void ShowOption_SheetView( sal_Bool _bShow = sal_True );
sal_Bool FillItemSet( SfxItemSet& _rSet );
void Reset( const SfxItemSet& _rSet );
};
inline InternationalOptionsPage::IMPL::IMPL( Window* _pParent ) :
m_aFL_DefaultTextDirection ( _pParent, CUI_RES( FL_DEFTXTDIRECTION ) )
,m_aRB_TxtDirLeft2Right ( _pParent, CUI_RES( RB_TXTDIR_LEFT2RIGHT ) )
,m_aRB_TxtDirRight2Left ( _pParent, CUI_RES( RB_TXTDIR_RIGHT2LEFT ) )
,m_aFL_SheetView ( _pParent, CUI_RES( FL_SHEETVIEW ) )
,m_aCB_ShtVwRight2Left ( _pParent, CUI_RES( CB_SHTVW_RIGHT2LEFT ) )
,m_aCB_ShtVwCurrentDocOnly ( _pParent, CUI_RES( CB_SHTVW_CURRENTDOCONLY ) )
,m_bEnable_SheetView_Opt ( sal_False )
{
ShowOption_SheetView( m_bEnable_SheetView_Opt );
}
inline void InternationalOptionsPage::IMPL::EnableOption_SheetView( sal_Bool _bEnable )
{
if( m_bEnable_SheetView_Opt != _bEnable )
{
ShowOption_SheetView( _bEnable );
m_bEnable_SheetView_Opt = _bEnable;
}
}
void InternationalOptionsPage::IMPL::ShowOption_SheetView( sal_Bool _bShow )
{
m_aFL_SheetView.Show( _bShow );
m_aCB_ShtVwRight2Left.Show( _bShow );
m_aCB_ShtVwCurrentDocOnly.Show( _bShow );
}
sal_Bool InternationalOptionsPage::IMPL::FillItemSet( SfxItemSet& _rSet )
{
DBG_ASSERT( _rSet.GetPool(), "-InternationalOptionsPage::FillItemSet(): no pool gives rums!" );
// handling of DefaultTextDirection stuff
_rSet.Put( SfxBoolItem( _rSet.GetPool()->GetWhich( SID_ATTR_PARA_LEFT_TO_RIGHT ),
m_aRB_TxtDirLeft2Right.IsChecked() ),
SID_ATTR_PARA_LEFT_TO_RIGHT );
// handling of SheetView stuff
// if( m_bEnable_SheetView_Opt )
// {
// }
return sal_True;
}
void InternationalOptionsPage::IMPL::Reset( const SfxItemSet& _rSet )
{
// handling of DefaultTextDirection stuff
const SfxBoolItem* pLeft2RightItem = static_cast< const SfxBoolItem* >( GetItem( _rSet, SID_ATTR_PARA_LEFT_TO_RIGHT ) );
DBG_ASSERT( pLeft2RightItem, "+InternationalOptionsPage::Reset(): SID_ATTR_PARA_LEFT_TO_RIGHT not set!" );
sal_Bool bLeft2Right = pLeft2RightItem? pLeft2RightItem->GetValue() : sal_True;
m_aRB_TxtDirLeft2Right.Check( bLeft2Right );
// handling of SheetView stuff
// if( m_bEnable_SheetView_Opt )
// {
// m_aCB_ShtVwRight2Left.Check( sal_False );
//
// m_aCB_ShtVwCurrentDocOnly.Check( sal_False );
// }
}
InternationalOptionsPage::InternationalOptionsPage( Window* _pParent, const SfxItemSet& _rAttrSet ) :
SfxTabPage ( _pParent, CUI_RES( RID_OFA_TP_INTERNATIONAL ), _rAttrSet )
,m_pImpl ( new IMPL( this ) )
{
FreeResource();
}
SfxTabPage* InternationalOptionsPage::CreateSd( Window* _pParent, const SfxItemSet& _rAttrSet )
{
return new InternationalOptionsPage( _pParent, _rAttrSet );
}
SfxTabPage* InternationalOptionsPage::CreateSc( Window* _pParent, const SfxItemSet& _rAttrSet )
{
InternationalOptionsPage* p = new InternationalOptionsPage( _pParent, _rAttrSet );
// p->m_pImpl->EnableOption_SheetView();
return p;
}
InternationalOptionsPage::~InternationalOptionsPage()
{
DELETEZ( m_pImpl );
}
sal_Bool InternationalOptionsPage::FillItemSet( SfxItemSet& _rSet )
{
return m_pImpl->FillItemSet( _rSet );
}
void InternationalOptionsPage::Reset( const SfxItemSet& _rSet )
{
m_pImpl->Reset( _rSet );
}
} // /namespace offapp