diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2006-12-20 12:52:48 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2006-12-20 12:52:48 +0000 |
commit | 6c852e7099e60953b3d16f67d0f0617026e36439 (patch) | |
tree | 85259bc253c94577556820e27e2c2efbbab92a61 /toolkit | |
parent | aa4004cd6b22fc0dc28fd31e6ebf308f431605e1 (diff) |
INTEGRATION: CWS jl49 (1.1.4); FILE ADDED
2006/12/19 09:45:15 jl 1.1.4.1: #i70481# adding copy of file which will be introduced in cws updchk02. In case of a conflict when updchk02 is integrated then the file from updchk02 shall be used
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/awt/xthrobber.cxx | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/toolkit/source/awt/xthrobber.cxx b/toolkit/source/awt/xthrobber.cxx new file mode 100644 index 000000000000..d202541a1298 --- /dev/null +++ b/toolkit/source/awt/xthrobber.cxx @@ -0,0 +1,178 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: xthrobber.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: ihi $ $Date: 2006-12-20 13:52:48 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_toolkit.hxx" + +#ifndef TOOLKIT_AWT_XTHROBBER_HXX +#include "toolkit/awt/xthrobber.hxx" +#endif +#ifndef _TOOLKIT_HELPER_PROPERTY_HXX_ +#include "toolkit/helper/property.hxx" +#endif +#ifndef _TOOLKIT_HELPER_TKRESMGR_HXX_ +#include <toolkit/helper/tkresmgr.hxx> +#endif +#ifndef _TOOLKIT_HELPER_THROBBERIMPL_HXX_ +#include <toolkit/helper/throbberimpl.hxx> +#endif + +#ifndef _TOOLKIT_AWT_XTHROBBER_HRC_ +#include "xthrobber.hrc" +#endif + +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif +#ifndef _SV_FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#ifndef _SV_TIMER_HXX +#include <vcl/timer.hxx> +#endif + +//........................................................................ +namespace toolkit +{ +//........................................................................ + + using namespace ::com::sun::star::uno; + using namespace ::com::sun::star::awt; + using namespace ::com::sun::star::lang; + using namespace ::com::sun::star::beans; + using namespace ::com::sun::star::graphic; + + //==================================================================== + //= XThrobber + //==================================================================== + DBG_NAME( XThrobber ) + + //-------------------------------------------------------------------- + XThrobber::XThrobber() + { + DBG_CTOR( XThrobber, NULL ); + + mpThrobber = new Throbber_Impl( this, 100, sal_True ); + + InitImageList(); + } + + //-------------------------------------------------------------------- + XThrobber::~XThrobber() + { + DBG_DTOR( XThrobber, NULL ); + delete mpThrobber; + } + + //-------------------------------------------------------------------- + IMPLEMENT_FORWARD_XINTERFACE2( XThrobber, VCLXWindow, XThrobber_Base ) + + //-------------------------------------------------------------------- + IMPLEMENT_FORWARD_XTYPEPROVIDER2( XThrobber, VCLXWindow, XThrobber_Base ) + + //-------------------------------------------------------------------- + void SAL_CALL XThrobber::start() throw (RuntimeException) + { + mpThrobber->start(); + } + + //-------------------------------------------------------------------- + void SAL_CALL XThrobber::stop() throw (RuntimeException) + { + mpThrobber->stop(); + } + + //-------------------------------------------------------------------- + void XThrobber::ProcessWindowEvent( const VclWindowEvent& _rVclWindowEvent ) + { + static bool bInit = false; + if ( !bInit ) + { + // Images won't be shown if set too early + mpThrobber->initImage(); + bInit = true; + } + // TODO: XSimpleAnimation::ProcessWindowEvent + //::vos::OClearableGuard aGuard( GetMutex() ); + //Reference< XSimpleAnimation > xKeepAlive( this ); + //SpinButton* pSpinButton = static_cast< SpinButton* >( GetWindow() ); + //if ( !pSpinButton ) + // return; + + VCLXWindow::ProcessWindowEvent( _rVclWindowEvent ); + } + + //-------------------------------------------------------------------- + void SAL_CALL XThrobber::setProperty( const ::rtl::OUString& PropertyName, const Any& Value ) throw(RuntimeException) + { + ::vos::OGuard aGuard( GetMutex() ); + + if ( GetWindow() ) + { + VCLXWindow::setProperty( PropertyName, Value ); + } + } + + //-------------------------------------------------------------------- + Any SAL_CALL XThrobber::getProperty( const ::rtl::OUString& PropertyName ) throw(RuntimeException) + { + ::vos::OGuard aGuard( GetMutex() ); + + Any aReturn; + + if ( GetWindow() ) + { + aReturn = VCLXWindow::getProperty( PropertyName ); + } + return aReturn; + } + + //-------------------------------------------------------------------- + void SAL_CALL XThrobber::InitImageList() throw( RuntimeException) + { + ::vos::OGuard aGuard( GetMutex() ); + Sequence< Reference< XGraphic > > aImageList(12); + for ( sal_uInt16 i=0; i<12; i++ ) + { + Image aImage = TK_RES_IMAGE( RID_TK_ICON_THROBBER_START + i ); + aImageList[i] = aImage.GetXGraphic(); + } + + mpThrobber->setImageList( aImageList ); + } + +//........................................................................ +} // namespace toolkit +//........................................................................ |