| /************************************************************** |
| * |
| * 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 |
| |