2008/04/01 15:50:24 thb 1.5.368.3: #i85898# Stripping all external header guards 2008/04/01 12:48:15 thb 1.5.368.2: #i85898# Stripping all external header guards 2008/03/31 14:19:56 rt 1.5.368.1: #i87441# Change license header to LPGL v3.
214 lines
7.0 KiB
C++
214 lines
7.0 KiB
C++
/*************************************************************************
|
|
*
|
|
* 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: numfmt.hxx,v $
|
|
* $Revision: 1.6 $
|
|
*
|
|
* 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.
|
|
*
|
|
************************************************************************/
|
|
#ifndef _SVX_NUMFMT_HXX
|
|
#define _SVX_NUMFMT_HXX
|
|
|
|
//------------------------------------------------------------------------
|
|
|
|
#include <vcl/window.hxx>
|
|
#include <tools/color.hxx>
|
|
#include <tools/string.hxx>
|
|
#include <sfx2/tabdlg.hxx>
|
|
|
|
#ifndef _FIXED_HXX //autogen
|
|
#include <vcl/fixed.hxx>
|
|
#endif
|
|
|
|
#ifndef _LSTBOX_HXX //autogen
|
|
#include <vcl/lstbox.hxx>
|
|
#endif
|
|
|
|
#ifndef _EDIT_HXX //autogen
|
|
#include <vcl/edit.hxx>
|
|
#endif
|
|
|
|
#ifndef _TOOLBOX_HXX //autogen
|
|
#include <vcl/toolbox.hxx>
|
|
#endif
|
|
|
|
#ifndef _FIELD_HXX //autogen
|
|
#include <vcl/field.hxx>
|
|
#endif
|
|
#include <svx/langbox.hxx>
|
|
#include "fontlb.hxx"
|
|
|
|
//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( BOOL bForeground, 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 );
|
|
};
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
class SvxNumberFormatTabPage : public SfxTabPage
|
|
|
|
/* {k:\svx\prototyp\dialog\numfmt.bmp}
|
|
|
|
[Beschreibung]
|
|
Mit dieser TabPage koennen Zahlenformate eingestellt und benutzerdefinierte
|
|
Formate verwaltet werden.
|
|
|
|
[Items]
|
|
<SfxUInt32Item>: <SID_ATTR_NUMBERFORMAT_VALUE>
|
|
<SvxNumberInfoItem>: <SID_ATTR_NUMBERFORMAT_INFO>
|
|
*/
|
|
|
|
{
|
|
using TabPage::DeactivatePage;
|
|
public:
|
|
~SvxNumberFormatTabPage();
|
|
|
|
static SfxTabPage* Create( Window* pParent,
|
|
const SfxItemSet& rAttrSet );
|
|
static USHORT* GetRanges();
|
|
|
|
virtual 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(BOOL nFlag=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;
|
|
|
|
FixedText aFtDecimals;
|
|
NumericField aEdDecimals;
|
|
FixedText aFtLeadZeroes;
|
|
NumericField aEdLeadZeroes;
|
|
CheckBox aBtnNegRed;
|
|
CheckBox aBtnThousand;
|
|
FixedLine aFlOptions;
|
|
|
|
FixedText aFtEdFormat;
|
|
Edit aEdFormat;
|
|
ImageButton aIbAdd;
|
|
ImageButton aIbInfo;
|
|
ImageButton aIbRemove;
|
|
ImageList aIconListDepricated;
|
|
|
|
FixedText aFtComment;
|
|
Edit aEdComment;
|
|
Timer aResetWinTimer;
|
|
|
|
SvxNumberPreviewImpl aWndPreview;
|
|
|
|
SvxNumberInfoItem* pNumItem;
|
|
SvxNumberFormatShell* pNumFmtShell;
|
|
ULONG nInitFormat;
|
|
Link fnOkHdl;
|
|
|
|
BOOL bNumItemFlag; //Fuer Handling mit DocShell
|
|
BOOL bOneAreaFlag;
|
|
short nFixedCategory;
|
|
|
|
long nCatHeight;
|
|
|
|
long nCurFormatY;
|
|
long nCurFormatHeight;
|
|
long nStdFormatY;
|
|
long nStdFormatHeight;
|
|
String aStrEurope;
|
|
String sAutomaticEntry;
|
|
|
|
Window* pLastActivWindow;
|
|
|
|
#ifdef _SVX_NUMFMT_CXX
|
|
void Init_Impl();
|
|
void FillCurrencyBox();
|
|
void FillFormatListBox_Impl( SvxDelStrgs& rEntries );
|
|
void UpdateOptions_Impl( BOOL bCheckCatChange );
|
|
void UpdateFormatListBox_Impl( USHORT bCat, BOOL bUpdateEdit );
|
|
void DeleteEntryList_Impl( SvxDelStrgs& rEntries );
|
|
void Obstructing();
|
|
void EnableBySourceFormat_Impl();
|
|
void SetCategory( USHORT nPos );
|
|
String GetExpColorString( Color*& rpPreviewColor, const String& aFormatStr, short nTmpCatPos );
|
|
void MakePreviewText( const String& rFormat );
|
|
void ChangePreviewText( USHORT nPos );
|
|
void AddAutomaticLanguage_Impl(LanguageType eAutoLang, 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
|
|
};
|
|
|
|
|
|
#endif
|
|
|