/************************************************************** * * 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. * *************************************************************/ #ifndef _SVX_NUMFMT_HXX #define _SVX_NUMFMT_HXX //------------------------------------------------------------------------ #include #include #include #include #include #include #include #include #include #include #include //CHINA001 #define SVX_NUMVAL_STANDARD -1234.12345678901234 //CHINA001 #define SVX_NUMVAL_CURRENCY -1234 //CHINA001 #define SVX_NUMVAL_PERCENT -0.1295 //CHINA001 #define SVX_NUMVAL_TIME 36525.5678935185 //CHINA001 #define SVX_NUMVAL_DATE 36525.5678935185 //CHINA001 #define SVX_NUMVAL_BOOLEAN 1 //------------------------------------------------------------------------ class SvxNumberFormatShell; class SvxNumberInfoItem; //------------------------------------------------------------------------ class SvxNumberPreviewImpl : public Window { private: String aPrevStr; Color aPrevCol; void InitSettings( sal_Bool bForeground, sal_Bool bBackground ); protected: virtual void Paint( const Rectangle& rRect ); virtual void StateChanged( StateChangedType nStateChange ); virtual void DataChanged( const DataChangedEvent& rDCEvt ); public: SvxNumberPreviewImpl( Window* pParent, const ResId& rResId ); ~SvxNumberPreviewImpl(); void NotifyChange( const String& rPrevStr, const Color* pColor = NULL ); }; // ----------------------------------------------------------------------- #include #include class SvxNumberFormatTabPage : public SfxTabPage { using SfxTabPage::DeactivatePage; public: ~SvxNumberFormatTabPage(); #undef SfxTabPage #define SfxTabPage ::SfxTabPage static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); static sal_uInt16* GetRanges(); virtual sal_Bool FillItemSet( SfxItemSet& rSet ); virtual void Reset( const SfxItemSet& rSet ); virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); void SetInfoItem( const SvxNumberInfoItem& rItem ); void SetNumberFormatList( const SvxNumberInfoItem& rItem ) { SetInfoItem( rItem ); } void SetOkHdl( const Link& rOkHandler ); void HideLanguage(sal_Bool nFlag=sal_True); virtual long PreNotify( NotifyEvent& rNEvt ); virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 private: SvxNumberFormatTabPage( Window* pParent, const SfxItemSet& rCoreAttrs ); FixedText aFtCategory; ListBox aLbCategory; FixedText aFtFormat; ListBox aLbCurrency; SvxFontListBox aLbFormat; FixedText aFtLanguage; SvxLanguageBox aLbLanguage; CheckBox aCbSourceFormat; SvxNumberPreviewImpl aWndPreview; FixedLine aFlOptions; FixedText aFtDecimals; NumericField aEdDecimals; CheckBox aBtnNegRed; FixedText aFtLeadZeroes; NumericField aEdLeadZeroes; CheckBox aBtnThousand; FixedText aFtEdFormat; Edit aEdFormat; ImageButton aIbAdd; ImageButton aIbInfo; ImageButton aIbRemove; FixedText aFtComment; Edit aEdComment; Timer aResetWinTimer; SvxNumberInfoItem* pNumItem; SvxNumberFormatShell* pNumFmtShell; sal_uLong nInitFormat; Link fnOkHdl; sal_Bool bNumItemFlag; //Fuer Handling mit DocShell sal_Bool bOneAreaFlag; short nFixedCategory; long nCatHeight; long nCurFormatY; long nCurFormatHeight; long nStdFormatY; long nStdFormatHeight; LocalizedString sAutomaticEntry; Window* pLastActivWindow; #ifdef _SVX_NUMFMT_CXX void Init_Impl(); void FillCurrencyBox(); void FillFormatListBox_Impl( SvxDelStrgs& rEntries ); void UpdateOptions_Impl( sal_Bool bCheckCatChange ); void UpdateFormatListBox_Impl( sal_uInt16 bCat, sal_Bool bUpdateEdit ); void DeleteEntryList_Impl( SvxDelStrgs& rEntries ); void Obstructing(); void EnableBySourceFormat_Impl(); void SetCategory( sal_uInt16 nPos ); String GetExpColorString( Color*& rpPreviewColor, const String& aFormatStr, short nTmpCatPos ); void MakePreviewText( const String& rFormat ); void ChangePreviewText( sal_uInt16 nPos ); void AddAutomaticLanguage_Impl(LanguageType eAutoLang, sal_Bool bSelect); // Handler DECL_LINK( LostFocusHdl_Impl, Edit* pEd ); DECL_LINK( DoubleClickHdl_Impl, SvxFontListBox* pLb ); DECL_LINK( SelFormatHdl_Impl, void * ); DECL_LINK( ClickHdl_Impl, ImageButton* pIB ); DECL_LINK( EditHdl_Impl, Edit* pEdFormat ); DECL_LINK( OptHdl_Impl, void * ); DECL_LINK( TimeHdl_Impl, Timer * ); #endif }; #include #endif