/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _SVX_NUMVSET_HXX #define _SVX_NUMVSET_HXX // include --------------------------------------------------------------- #include #include #include #include #include #include "svx/svxdllapi.h" namespace com{namespace sun{ namespace star{ namespace container{ class XIndexAccess; } namespace beans{ struct PropertyValue; } namespace text{ class XNumberingFormatter; } }}} class SvxBrushItem; class SvxNumRule; struct SvxBmpItemInfo { SvxBrushItem* pBrushItem; USHORT nItemId; }; class SVX_DLLPUBLIC SvxNumValueSet : public ValueSet { Color aLineColor; USHORT nPageType; BOOL bHTMLMode; Rectangle aOrgRect; VirtualDevice* pVDev; com::sun::star::uno::Reference xFormatter; com::sun::star::lang::Locale aLocale; com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue> > aNumSettings; com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess> > aOutlineSettings; public: SvxNumValueSet( Window* pParent, const ResId& rResId, USHORT nType ); ~SvxNumValueSet(); virtual void UserDraw( const UserDrawEvent& rUDEvt ); void SetHTMLMode(BOOL bSet) {bHTMLMode = bSet;} void SetNumberingSettings( const com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue> >& aNum, com::sun::star::uno::Reference& xFormatter, const com::sun::star::lang::Locale& rLocale ); void SetOutlineNumberingSettings( com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess> >& rOutline, com::sun::star::uno::Reference& xFormatter, const com::sun::star::lang::Locale& rLocale); }; class SVX_DLLPUBLIC SvxBmpNumValueSet : public SvxNumValueSet { String sBullets; Timer aFormatTimer; BOOL bGrfNotFound; protected: DECL_LINK(FormatHdl_Impl, Timer*); void SetGrfNotFound(BOOL bSet) {bGrfNotFound = bSet;} BOOL IsGrfNotFound()const {return bGrfNotFound;} Timer& GetFormatTimer() {return aFormatTimer;} public: SvxBmpNumValueSet( Window* pParent, const ResId& rResId); ~SvxBmpNumValueSet(); virtual void UserDraw( const UserDrawEvent& rUDEvt ); }; class SvxNumberingPreview : public Window { const SvxNumRule* pActNum; Font aStdFont; long nPageWidth; const String* pOutlineNames; BOOL bPosition; UINT16 nActLevel; protected: virtual void Paint( const Rectangle& rRect ); public: SvxNumberingPreview(Window* pParent, const ResId& rResId ) : Window(pParent, rResId), pActNum(0),nPageWidth(0), pOutlineNames(0), bPosition(FALSE), nActLevel(USHRT_MAX) { SetBorderStyle( WINDOW_BORDER_MONO ); } void SetNumRule(const SvxNumRule* pNum) {pActNum = pNum; Invalidate();}; void SetPageWidth(long nPgWidth) {nPageWidth = nPgWidth;} void SetOutlineNames(const String* pNames) {pOutlineNames = pNames;} void SetPositionMode() { bPosition = TRUE;} void SetLevel(USHORT nSet) {nActLevel = nSet;} }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */