diff options
author | Rüdiger Timm <rt@openoffice.org> | 2004-11-26 18:55:26 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2004-11-26 18:55:26 +0000 |
commit | 3bc9625a05e607f3f0075b3022ad992a54fca0c3 (patch) | |
tree | e942e904a087008d534a75c03b8a12b547249670 /sd/source/ui | |
parent | 26593843a815dab282f4ecdb853ed8b5410c5d8b (diff) |
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/29 16:27:04 af 1.1.2.17: #i34804# Using new EventMultiplexer class.
2004/09/26 19:01:43 cl 1.1.2.16: added animation undo
2004/09/12 22:53:13 cl 1.1.2.15: added text only effects ui support
2004/09/12 18:24:15 cl 1.1.2.14: added keyboard and hc support
2004/09/09 14:24:14 cl 1.1.2.13: finished effect preview
2004/09/02 09:14:17 cl 1.1.2.12: moved effect and transition presets access to a singleton
2004/08/29 22:32:57 cl 1.1.2.11: added support for trigger effects
2004/08/28 22:41:26 cl 1.1.2.10: removed old presentation code
2004/08/22 22:24:47 cl 1.1.2.9: dependency clean up and more text group support
2004/08/19 09:26:59 cl 1.1.2.8: enhanced text group support
2004/08/12 17:07:52 cl 1.1.2.7: added custom animations toolpanel
2004/07/28 11:03:58 cl 1.1.2.6: #i31376# added strings for translation
2004/06/29 07:19:24 cl 1.1.2.5: added sound listbox
2004/06/14 11:39:46 cl 1.1.2.4: more ui improvements
2004/06/02 09:20:23 cl 1.1.2.3: new smile ui
2004/05/28 12:43:41 cl 1.1.2.2: new animations ui
2004/05/04 14:43:34 cl 1.1.2.1: added initial smil ui
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/animations/CustomAnimationPane.hxx | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/sd/source/ui/animations/CustomAnimationPane.hxx b/sd/source/ui/animations/CustomAnimationPane.hxx new file mode 100644 index 000000000000..392858632b87 --- /dev/null +++ b/sd/source/ui/animations/CustomAnimationPane.hxx @@ -0,0 +1,203 @@ +/************************************************************************* + * + * $RCSfile: CustomAnimationPane.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: rt $ $Date: 2004-11-26 19:55:26 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 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 + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SD_CUSTOMANIMATIONPANE_HXX +#define _SD_CUSTOMANIMATIONPANE_HXX + +#ifndef _COM_SUN_STAR_DRAWING_XDRAWVIEW_HPP_ +#include <com/sun/star/drawing/XDrawView.hpp> +#endif + +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include <com/sun/star/frame/XModel.hpp> +#endif + +#ifndef _SV_DIALOG_HXX +#include <vcl/dialog.hxx> +#endif + +#ifndef _SD_CUSTOMANIMATIONPRESET_HXX +#include "CustomAnimationPreset.hxx" +#endif +#ifndef _SD_CUSTOMANIMATIONLIST_HXX +#include "CustomAnimationList.hxx" +#endif + +class PushButton; +class FixedLine; +class FixedText; +class ListBox; +class ComboBox; +class CheckBox; +class SdDrawDocument; + +namespace com { namespace sun { namespace star { namespace animations { + class XAnimationNode; +} } } } + +namespace sd { namespace tools { +class EventMultiplexerEvent; +} } + +namespace sd { + +class PropertyControl; +class STLPropertySet; +class ViewShellBase; + +// -------------------------------------------------------------------- + +class CustomAnimationPane : public Control, public ICustomAnimationListController +{ +public: + CustomAnimationPane( ::Window* pParent, ViewShellBase& rBase, const Size& rMinSize ); + virtual ~CustomAnimationPane(); + + // callbacks + void onSelectionChanged(); + void onChangeCurrentPage(); + void onChange( bool bCreate ); + void onRemove(); + void onChangeStart(); + void onChangeStart( sal_Int16 nNodeType ); + void onChangeProperty(); + void onChangeSpeed(); + + // methods + void preview( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xAnimationNode ); + + // Control + virtual void Resize(); + + // ICustomAnimationListController + virtual void onSelect(); + virtual void onDoubleClick(); + virtual void onContextMenu( USHORT nSelectedPopupEntry ); + + void addUndo(); + +private: + void addListener(); + void removeListener(); + void updateLayout(); + void updateControls(); + + void showOptions( USHORT nPage = 0 ); + void moveSelection( bool bUp ); + void onPreview( bool bForcePreview ); + + STLPropertySet* createSelectionSet(); + void changeSelection( STLPropertySet* pResultSet, STLPropertySet* pOldSet ); + + ::com::sun::star::uno::Any getProperty1Value( sal_Int32 nType, CustomAnimationEffectPtr pEffect ); + bool setProperty1Value( sal_Int32 nType, CustomAnimationEffectPtr pEffect, const ::com::sun::star::uno::Any& rValue ); + + DECL_LINK( implControlHdl, Control* ); + DECL_LINK( implPropertyHdl, Control* ); + DECL_LINK(EventMultiplexerListener, tools::EventMultiplexerEvent*); + +private: + ViewShellBase& mrBase; + + const CustomAnimationPresets& mrPresets; + + FixedLine* mpFLModify; + PushButton* mpPBAddEffect; + PushButton* mpPBChangeEffect; + PushButton* mpPBRemoveEffect; + FixedLine* mpFLEffect; + FixedText* mpFTStart; + ListBox* mpLBStart; + FixedText* mpFTProperty; + PropertyControl* mpLBProperty; + PushButton* mpPBPropertyMore; + FixedText* mpFTSpeed; + ComboBox* mpCBSpeed; + CustomAnimationList* mpCustomAnimationList; + FixedText* mpFTChangeOrder; + PushButton* mpPBMoveUp; + PushButton* mpPBMoveDown; + FixedLine* mpFLSeperator1; + PushButton* mpPBPlay; + PushButton* mpPBSlideShow; + FixedLine* mpFLSeperator2; + CheckBox* mpCBAutoPreview; + + String maStrModify; + String maStrProperty; + + sal_Int32 mnPropertyType; + + Size maMinSize; + + EffectSequence maListSelection; + ::com::sun::star::uno::Any maViewSelection; + + MainSequencePtr mpMainSequence; + + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mxCurrentPage; + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawView > mxView; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > mxModel; +}; + +}; + +#endif // _SD_CUSTOMANIMATIONPANE_HXX |