LibreOffice Module sd (master) 1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
sd::AnimationWindow Class Reference

#include <animobjs.hxx>

Inheritance diagram for sd::AnimationWindow:
[legend]
Collaboration diagram for sd::AnimationWindow:
[legend]

Public Member Functions

 AnimationWindow (SfxBindings *pBindings, SfxChildWindow *pCW, vcl::Window *pParent)
 AnimationWindow - FloatingWindow. More...
 
virtual ~AnimationWindow () override
 
virtual void dispose () override
 
void AddObj (::sd::View &rView)
 
void CreateAnimObj (::sd::View &rView)
 
virtual void DataChanged (const DataChangedEvent &rDCEvt) override
 
- Public Member Functions inherited from SfxDockingWindow
 SfxDockingWindow (SfxBindings *pBindings, SfxChildWindow *pCW, vcl::Window *pParent, WinBits nWinBits)
 
 SfxDockingWindow (SfxBindings *pBindings, SfxChildWindow *pCW, vcl::Window *pParent, const OUString &rID, const OUString &rUIXMLDescription)
 
virtual ~SfxDockingWindow () override
 
virtual void dispose () override
 
void Initialize (SfxChildWinInfo *pInfo)
 
virtual void FillInfo (SfxChildWinInfo &) const
 
virtual void StateChanged (StateChangedType nStateChange) override
 
void SetDockingRects (const tools::Rectangle &rOuter, const tools::Rectangle &rInner)
 
const tools::RectangleGetInnerRect () const
 
const tools::RectangleGetOuterRect () const
 
SfxBindingsGetBindings () const
 
sal_uInt16 GetType () const
 
SfxChildAlignment GetAlignment () const
 
void SetAlignment (SfxChildAlignment eAlign)
 
const SizeGetFloatingSize () const
 
void SetFloatingSize (const Size &rSize)
 
void SetMinOutputSizePixel (const Size &rSize)
 
const SizeGetMinOutputSizePixel () const
 
virtual bool EventNotify (NotifyEvent &rNEvt) override
 
 DECL_DLLPRIVATE_LINK (TimerHdl, Timer *, void)
 
SAL_DLLPRIVATE void Initialize_Impl ()
 
SAL_DLLPRIVATE void SetItemSize_Impl (const Size &rSize)
 
SAL_DLLPRIVATE void Disappear_Impl ()
 
SAL_DLLPRIVATE void Reappear_Impl ()
 
SAL_DLLPRIVATE bool IsAutoHide_Impl () const
 
SAL_DLLPRIVATE void AutoShow_Impl ()
 
SAL_DLLPRIVATE void ReleaseChildWindow_Impl ()
 

Protected Member Functions

virtual bool Close () override
 
virtual void Resize () override
 
- Protected Member Functions inherited from SfxDockingWindow
SfxChildAlignment CalcAlignment (const Point &rPos, tools::Rectangle &rRect)
 
virtual Size CalcDockingSize (SfxChildAlignment)
 
virtual SfxChildAlignment CheckAlignment (SfxChildAlignment, SfxChildAlignment)
 
virtual void Resize () override
 
virtual bool PrepareToggleFloatingMode () override
 
virtual void ToggleFloatingMode () override
 
virtual void StartDocking () override
 
virtual bool Docking (const Point &rPos, tools::Rectangle &rRect) override
 
virtual void EndDocking (const tools::Rectangle &rRect, bool bFloatMode) override
 
virtual void Resizing (Size &rSize) override
 
virtual void Paint (vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
 
virtual bool Close () override
 
virtual void Move () override
 
SAL_DLLPRIVATE SfxChildWindowGetChildWindow_Impl ()
 

Private Member Functions

 DECL_LINK (ClickFirstHdl, weld::Button &, void)
 
 DECL_LINK (ClickStopHdl, weld::Button &, void)
 
 DECL_LINK (ClickPlayHdl, weld::Button &, void)
 
 DECL_LINK (ClickLastHdl, weld::Button &, void)
 
 DECL_LINK (ClickGetObjectHdl, weld::Button &, void)
 
 DECL_LINK (ClickRemoveBitmapHdl, weld::Button &, void)
 
 DECL_LINK (ClickRbtHdl, weld::Toggleable &, void)
 
 DECL_LINK (ClickHelpHdl, weld::Button &, void)
 
 DECL_LINK (ClickCreateGroupHdl, weld::Button &, void)
 
 DECL_LINK (ModifyBitmapHdl, weld::SpinButton &, void)
 
 DECL_LINK (ModifyTimeHdl, weld::FormattedSpinButton &, void)
 
void UpdateControl (bool bDisableCtrls=false)
 
void ResetAttrs ()
 
void WaitInEffect (sal_uLong nMilliSeconds, sal_uLong nTime, SfxProgress *pStbMgr) const
 
Fraction GetScale ()
 

Private Attributes

std::unique_ptr< SdDisplaym_xCtlDisplay
 
std::unique_ptr< weld::CustomWeldm_xCtlDisplayWin
 
std::unique_ptr< weld::Buttonm_xBtnFirst
 
std::unique_ptr< weld::Buttonm_xBtnReverse
 
std::unique_ptr< weld::Buttonm_xBtnStop
 
std::unique_ptr< weld::Buttonm_xBtnPlay
 
std::unique_ptr< weld::Buttonm_xBtnLast
 
std::unique_ptr< weld::SpinButtonm_xNumFldBitmap
 
std::unique_ptr< weld::FormattedSpinButtonm_xTimeField
 
std::unique_ptr< weld::TimeFormatterm_xFormatter
 
std::unique_ptr< weld::ComboBoxm_xLbLoopCount
 
std::unique_ptr< weld::Buttonm_xBtnGetOneObject
 
std::unique_ptr< weld::Buttonm_xBtnGetAllObjects
 
std::unique_ptr< weld::Buttonm_xBtnRemoveBitmap
 
std::unique_ptr< weld::Buttonm_xBtnRemoveAll
 
std::unique_ptr< weld::Labelm_xFiCount
 
std::unique_ptr< weld::RadioButtonm_xRbtGroup
 
std::unique_ptr< weld::RadioButtonm_xRbtBitmap
 
std::unique_ptr< weld::Labelm_xFtAdjustment
 
std::unique_ptr< weld::ComboBoxm_xLbAdjustment
 
std::unique_ptr< weld::Buttonm_xBtnCreateGroup
 
std::unique_ptr< weld::Buttonm_xBtnHelp
 
::std::vector< ::std::pair< BitmapEx, ::tools::Time > > m_FrameList
 
size_t m_nCurrentFrame
 
std::unique_ptr< SdDrawDocumentpMyDoc
 
bool bMovie
 
bool bAllObjects
 
std::unique_ptr< AnimationControllerItempControllerItem
 
ScopeLock maPlayLock
 

Static Private Attributes

static const size_t EMPTY_FRAMELIST = std::numeric_limits<size_t>::max()
 

Friends

class AnimationChildWindow
 
class AnimationControllerItem
 

Additional Inherited Members

- Protected Attributes inherited from SfxDockingWindow
std::unique_ptr< weld::Builderm_xBuilder
 
std::unique_ptr< weld::Boxm_xContainer
 

Detailed Description

Definition at line 70 of file animobjs.hxx.

Constructor & Destructor Documentation

◆ AnimationWindow()

sd::AnimationWindow::AnimationWindow ( SfxBindings pBindings,
SfxChildWindow pCW,
vcl::Window pParent 
)

◆ ~AnimationWindow()

sd::AnimationWindow::~AnimationWindow ( )
overridevirtual

Definition at line 192 of file animobjs.cxx.

Member Function Documentation

◆ AddObj()

void sd::AnimationWindow::AddObj ( ::sd::View rView)

◆ Close()

bool sd::AnimationWindow::Close ( )
overrideprotectedvirtual

◆ CreateAnimObj()

void sd::AnimationWindow::CreateAnimObj ( ::sd::View rView)

Definition at line 865 of file animobjs.cxx.

References sd::BA_CENTER, sd::BA_DOWN, sd::BA_LEFT, sd::BA_LEFT_DOWN, sd::BA_LEFT_UP, sd::BA_RIGHT, sd::BA_RIGHT_DOWN, sd::BA_RIGHT_UP, sd::BA_UP, SdrObject::CloneSdrObject(), sd::EffectMigration::CreateAnimatedGroup(), DBG_ASSERT, Application::GetDefaultDevice(), SdrPaintView::GetFirstOutputDevice(), tools::Rectangle::GetHeight(), MapMode::GetMapUnit(), tools::Time::GetNanoSec(), SdrObjList::GetObj(), vcl::Window::GetOutputSizePixel(), OutputDevice::GetOwnerWindow(), SdrPageView::GetPage(), Graphic::GetPrefMapMode(), Graphic::GetPrefSize(), SdrPage::getSdrModelFromSdrPage(), SdrPaintView::getSdrModelFromSdrView(), SdrPaintView::GetSdrPageView(), tools::Time::GetSec(), BitmapEx::GetSizePixel(), SdrObject::GetSnapRect(), tools::Rectangle::GetWidth(), Size::Height(), i, Animation::Insert(), SdrObjList::InsertObject(), SdrEditView::InsertObjectAtView(), OutputDevice::LogicToLogic(), m_FrameList, m_xBtnFirst, m_xLbAdjustment, m_xLbLoopCount, m_xRbtBitmap, AnimationFrame::maBitmapEx, AnimationFrame::maPositionPixel, AnimationFrame::maSizePixel, AnimationFrame::mbUserInput, AnimationFrame::meDisposal, AnimationFrame::mnWait, SdrObject::NbcMove(), nCount, nPos, OutputDevice::PixelToLogic(), vcl::Window::PixelToLogic(), pMyDoc, Animation::SetDisplaySizePixel(), Size::setHeight(), Animation::SetLoopCount(), Size::setWidth(), Point::setX(), Point::setY(), Standard, tools::Rectangle::TopLeft(), Size::Width(), Point::X(), and Point::Y().

Referenced by sd::DrawViewShell::ExecAnimationWin().

◆ DataChanged()

void sd::AnimationWindow::DataChanged ( const DataChangedEvent rDCEvt)
overridevirtual

◆ DECL_LINK() [1/11]

sd::AnimationWindow::DECL_LINK ( ClickCreateGroupHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [2/11]

sd::AnimationWindow::DECL_LINK ( ClickFirstHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [3/11]

sd::AnimationWindow::DECL_LINK ( ClickGetObjectHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [4/11]

sd::AnimationWindow::DECL_LINK ( ClickHelpHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [5/11]

sd::AnimationWindow::DECL_LINK ( ClickLastHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [6/11]

sd::AnimationWindow::DECL_LINK ( ClickPlayHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [7/11]

sd::AnimationWindow::DECL_LINK ( ClickRbtHdl  ,
weld::Toggleable ,
void   
)
private

◆ DECL_LINK() [8/11]

sd::AnimationWindow::DECL_LINK ( ClickRemoveBitmapHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [9/11]

sd::AnimationWindow::DECL_LINK ( ClickStopHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [10/11]

sd::AnimationWindow::DECL_LINK ( ModifyBitmapHdl  ,
weld::SpinButton ,
void   
)
private

◆ DECL_LINK() [11/11]

sd::AnimationWindow::DECL_LINK ( ModifyTimeHdl  ,
weld::FormattedSpinButton ,
void   
)
private

◆ dispose()

void sd::AnimationWindow::dispose ( void  )
overridevirtual

◆ GetScale()

Fraction sd::AnimationWindow::GetScale ( )
private

◆ ResetAttrs()

void sd::AnimationWindow::ResetAttrs ( )
private

Definition at line 604 of file animobjs.cxx.

References sd::BA_CENTER, m_xLbAdjustment, m_xLbLoopCount, m_xRbtGroup, and UpdateControl().

Referenced by AnimationWindow().

◆ Resize()

void sd::AnimationWindow::Resize ( )
overrideprotectedvirtual

Reimplemented from SfxDockingWindow.

Definition at line 659 of file animobjs.cxx.

References GetScale(), m_xCtlDisplay, and SfxDockingWindow::Resize().

◆ UpdateControl()

void sd::AnimationWindow::UpdateControl ( bool  bDisableCtrls = false)
private

◆ WaitInEffect()

void sd::AnimationWindow::WaitInEffect ( sal_uLong  nMilliSeconds,
sal_uLong  nTime,
SfxProgress pStbMgr 
) const
private

Friends And Related Function Documentation

◆ AnimationChildWindow

friend class AnimationChildWindow
friend

Definition at line 72 of file animobjs.hxx.

◆ AnimationControllerItem

friend class AnimationControllerItem
friend

Definition at line 73 of file animobjs.hxx.

Referenced by AnimationWindow().

Member Data Documentation

◆ bAllObjects

bool sd::AnimationWindow::bAllObjects
private

Definition at line 120 of file animobjs.hxx.

Referenced by AddObj().

◆ bMovie

bool sd::AnimationWindow::bMovie
private

Definition at line 119 of file animobjs.hxx.

Referenced by UpdateControl(), and WaitInEffect().

◆ EMPTY_FRAMELIST

const size_t sd::AnimationWindow::EMPTY_FRAMELIST = std::numeric_limits<size_t>::max()
staticprivate

Definition at line 115 of file animobjs.hxx.

Referenced by dispose(), and UpdateControl().

◆ m_FrameList

::std::vector< ::std::pair<BitmapEx, ::tools::Time> > sd::AnimationWindow::m_FrameList
private

Definition at line 114 of file animobjs.hxx.

Referenced by AddObj(), CreateAnimObj(), dispose(), GetScale(), and UpdateControl().

◆ m_nCurrentFrame

size_t sd::AnimationWindow::m_nCurrentFrame
private

Definition at line 116 of file animobjs.hxx.

Referenced by AddObj(), dispose(), and UpdateControl().

◆ m_xBtnCreateGroup

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnCreateGroup
private

Definition at line 111 of file animobjs.hxx.

Referenced by AddObj(), AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnFirst

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnFirst
private

Definition at line 92 of file animobjs.hxx.

Referenced by AnimationWindow(), CreateAnimObj(), dispose(), and UpdateControl().

◆ m_xBtnGetAllObjects

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnGetAllObjects
private

Definition at line 102 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnGetOneObject

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnGetOneObject
private

Definition at line 101 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnHelp

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnHelp
private

Definition at line 112 of file animobjs.hxx.

Referenced by AnimationWindow(), and dispose().

◆ m_xBtnLast

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnLast
private

Definition at line 96 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnPlay

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnPlay
private

Definition at line 95 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnRemoveAll

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnRemoveAll
private

Definition at line 104 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnRemoveBitmap

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnRemoveBitmap
private

Definition at line 103 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnReverse

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnReverse
private

Definition at line 93 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xBtnStop

std::unique_ptr<weld::Button> sd::AnimationWindow::m_xBtnStop
private

Definition at line 94 of file animobjs.hxx.

Referenced by AnimationWindow(), and dispose().

◆ m_xCtlDisplay

std::unique_ptr<SdDisplay> sd::AnimationWindow::m_xCtlDisplay
private

Definition at line 90 of file animobjs.hxx.

Referenced by AddObj(), dispose(), GetScale(), Resize(), and UpdateControl().

◆ m_xCtlDisplayWin

std::unique_ptr<weld::CustomWeld> sd::AnimationWindow::m_xCtlDisplayWin
private

Definition at line 91 of file animobjs.hxx.

Referenced by dispose().

◆ m_xFiCount

std::unique_ptr<weld::Label> sd::AnimationWindow::m_xFiCount
private

Definition at line 105 of file animobjs.hxx.

Referenced by dispose(), and UpdateControl().

◆ m_xFormatter

std::unique_ptr<weld::TimeFormatter> sd::AnimationWindow::m_xFormatter
private

Definition at line 99 of file animobjs.hxx.

Referenced by AddObj(), AnimationWindow(), and dispose().

◆ m_xFtAdjustment

std::unique_ptr<weld::Label> sd::AnimationWindow::m_xFtAdjustment
private

Definition at line 109 of file animobjs.hxx.

Referenced by dispose(), and UpdateControl().

◆ m_xLbAdjustment

std::unique_ptr<weld::ComboBox> sd::AnimationWindow::m_xLbAdjustment
private

Definition at line 110 of file animobjs.hxx.

Referenced by CreateAnimObj(), dispose(), ResetAttrs(), and UpdateControl().

◆ m_xLbLoopCount

std::unique_ptr<weld::ComboBox> sd::AnimationWindow::m_xLbLoopCount
private

Definition at line 100 of file animobjs.hxx.

Referenced by AddObj(), CreateAnimObj(), dispose(), ResetAttrs(), and UpdateControl().

◆ m_xNumFldBitmap

std::unique_ptr<weld::SpinButton> sd::AnimationWindow::m_xNumFldBitmap
private

Definition at line 97 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ m_xRbtBitmap

std::unique_ptr<weld::RadioButton> sd::AnimationWindow::m_xRbtBitmap
private

Definition at line 108 of file animobjs.hxx.

Referenced by AddObj(), AnimationWindow(), CreateAnimObj(), dispose(), and UpdateControl().

◆ m_xRbtGroup

std::unique_ptr<weld::RadioButton> sd::AnimationWindow::m_xRbtGroup
private

Definition at line 107 of file animobjs.hxx.

Referenced by AddObj(), AnimationWindow(), dispose(), ResetAttrs(), and UpdateControl().

◆ m_xTimeField

std::unique_ptr<weld::FormattedSpinButton> sd::AnimationWindow::m_xTimeField
private

Definition at line 98 of file animobjs.hxx.

Referenced by AnimationWindow(), dispose(), and UpdateControl().

◆ maPlayLock

ScopeLock sd::AnimationWindow::maPlayLock
private

Definition at line 124 of file animobjs.hxx.

Referenced by Close().

◆ pControllerItem

std::unique_ptr<AnimationControllerItem> sd::AnimationWindow::pControllerItem
private

Definition at line 122 of file animobjs.hxx.

Referenced by AnimationWindow(), and dispose().

◆ pMyDoc

std::unique_ptr<SdDrawDocument> sd::AnimationWindow::pMyDoc
private

Definition at line 117 of file animobjs.hxx.

Referenced by AddObj(), AnimationWindow(), CreateAnimObj(), dispose(), and UpdateControl().


The documentation for this class was generated from the following files: