[Libreoffice-commits] core.git: 10 commits - include/sfx2 include/svx include/vcl sd/AllLangResTarget_sd.mk sd/source sd/uiconfig sd/UIConfig_simpress.mk sfx2/source starmath/inc starmath/source starmath/uiconfig starmath/UIConfig_smath.mk svx/source vcl/source

Caolán McNamara caolanm at redhat.com
Wed Dec 17 06:47:20 PST 2014


 include/sfx2/dockwin.hxx                      |    4 
 include/svx/colrctrl.hxx                      |   12 
 include/svx/dialogs.hrc                       |    2 
 include/svx/fmresids.hrc                      |    3 
 include/vcl/dockwin.hxx                       |   35 +
 include/vcl/layout.hxx                        |    3 
 include/vcl/syswin.hxx                        |    2 
 include/vcl/window.hxx                        |    2 
 sd/AllLangResTarget_sd.mk                     |    1 
 sd/UIConfig_simpress.mk                       |    1 
 sd/source/ui/dlg/AnimationChildWindow.cxx     |    4 
 sd/source/ui/dlg/animobjs.cxx                 |  413 ++++++-----------
 sd/source/ui/dlg/animobjs.src                 |  317 -------------
 sd/source/ui/inc/animobjs.hrc                 |   45 -
 sd/source/ui/inc/animobjs.hxx                 |   55 --
 sd/uiconfig/simpress/ui/dockinganimation.ui   |  631 ++++++++++++++++++++++++++
 sfx2/source/dialog/dockwin.cxx                |   55 ++
 starmath/UIConfig_smath.mk                    |    1 
 starmath/inc/ElementsDockingWindow.hxx        |    8 
 starmath/inc/starmath.hrc                     |    1 
 starmath/source/ElementsDockingWindow.cxx     |   60 +-
 starmath/source/smres.src                     |   48 -
 starmath/source/view.cxx                      |   13 
 starmath/uiconfig/smath/ui/dockingelements.ui |   53 ++
 svx/source/form/fmexpl.src                    |   11 
 svx/source/tbxctrls/SvxColorChildWindow.cxx   |    2 
 svx/source/tbxctrls/colrctrl.cxx              |   22 
 svx/source/tbxctrls/colrctrl.src              |   24 
 vcl/source/window/builder.cxx                 |   19 
 vcl/source/window/dockmgr.cxx                 |    2 
 vcl/source/window/dockwin.cxx                 |  157 ++++++
 vcl/source/window/syswin.cxx                  |    4 
 vcl/source/window/taskpanelist.cxx            |    2 
 vcl/source/window/window.cxx                  |    3 
 vcl/source/window/window2.cxx                 |    2 
 vcl/source/window/winproc.cxx                 |    2 
 36 files changed, 1192 insertions(+), 827 deletions(-)

New commits:
commit 3616c602c297b43efadd63ad0a02f7c616b74d19
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 14:14:41 2014 +0000

    unused RID_SVX_FMEXPLORER DockingWindow resource
    
    Change-Id: Ib8f0f86a30342ca455a92c9add5b2836fa40f8f4

diff --git a/include/svx/fmresids.hrc b/include/svx/fmresids.hrc
index f4e177a..c2174af 100644
--- a/include/svx/fmresids.hrc
+++ b/include/svx/fmresids.hrc
@@ -60,9 +60,6 @@
 #define RID_SVXIMG_SPINBUTTON                       SID_FM_SPINBUTTON
 #define RID_SVXIMG_NAVIGATIONBAR                    SID_FM_NAVIGATIONBAR
 
-// Dialog-Id's -----------------------------------------------------------
-#define RID_SVX_FMEXPLORER                          (RID_FORMS_START + 6)
-
 // Toolbars ------------------------------------------------------------
 #define RID_SVXTBX_FORM_NAVIGATION                  (RID_FORMS_START +  1)
 #define RID_SVXTBX_FORM_FILTER                      (RID_FORMS_START +  2)
diff --git a/svx/source/form/fmexpl.src b/svx/source/form/fmexpl.src
index b171b89..822428c 100644
--- a/svx/source/form/fmexpl.src
+++ b/svx/source/form/fmexpl.src
@@ -289,15 +289,4 @@ ImageList RID_SVXIMGLIST_FMEXPL
     NAVIGATOR_IMAGEIDS;
 };
 
-DockingWindow RID_SVX_FMEXPLORER
-{
-    HelpID = "svx:DockingWindow:RID_SVX_FMEXPLORER";
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 200 , 200 ) ;
-    Moveable = TRUE ;
-    Closeable = TRUE ;
-    Text [ en-US ] = "Form Navigator" ;
-};
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 4c89a3e8adfe33399f03eb3561dfa1b007336804
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 14:09:54 2014 +0000

    not worth converting RID_SVXCTRL_COLOR to .ui, too small and hard-coded
    
    Change-Id: Iadc7b4d970e8c3b7f719ed6aab49986a1186cccb

diff --git a/include/svx/colrctrl.hxx b/include/svx/colrctrl.hxx
index e4d4975..7de406d 100644
--- a/include/svx/colrctrl.hxx
+++ b/include/svx/colrctrl.hxx
@@ -58,8 +58,7 @@ protected:
                     DECL_STATIC_LINK(SvxColorValueSet_docking, ExecDragHdl, void*);
 
 public:
-                    SvxColorValueSet_docking( vcl::Window* pParent, WinBits nWinStyle = WB_ITEMBORDER );
-                    SvxColorValueSet_docking( vcl::Window* pParent, const ResId& rResId );
+    SvxColorValueSet_docking( vcl::Window* pParent, WinBits nWinStyle = WB_ITEMBORDER );
 
     bool IsLeftButton() const { return mbLeftButton; }
 };
@@ -100,11 +99,10 @@ protected:
     virtual void    Resizing( Size& rSize ) SAL_OVERRIDE;
 
 public:
-                    SvxColorDockingWindow( SfxBindings* pBindings,
-                                           SfxChildWindow *pCW,
-                                           vcl::Window* pParent,
-                                           const ResId& rResId );
-                    virtual ~SvxColorDockingWindow();
+    SvxColorDockingWindow(SfxBindings* pBindings,
+                          SfxChildWindow *pCW,
+                          vcl::Window* pParent);
+    virtual ~SvxColorDockingWindow();
 
     virtual void    Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
 
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 519de01..206443e 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -180,8 +180,6 @@
 // FontWork dialog
 #define RID_SVXDLG_FONTWORK                 (RID_SVX_START +  93)
 
-#define RID_SVXCTRL_COLOR                   (RID_SVX_START + 117)
-
 // for Toolbox-Control style
 #define RID_SVXTBX_STYLE                    (RID_SVX_START + 120)
 #define RID_SVX_STYLE_MENU                  (RID_SVX_START + 121)
diff --git a/svx/source/tbxctrls/SvxColorChildWindow.cxx b/svx/source/tbxctrls/SvxColorChildWindow.cxx
index c390fb0..0e93a1f 100644
--- a/svx/source/tbxctrls/SvxColorChildWindow.cxx
+++ b/svx/source/tbxctrls/SvxColorChildWindow.cxx
@@ -34,7 +34,7 @@ SvxColorChildWindow::SvxColorChildWindow( vcl::Window* _pParent,
     SfxChildWindow( _pParent, nId )
 {
     SvxColorDockingWindow* pWin = new SvxColorDockingWindow( pBindings, this,
-                                        _pParent, SVX_RES( RID_SVXCTRL_COLOR ) );
+                                        _pParent );
     pWindow = pWin;
 
     eChildAlignment = SFX_ALIGN_BOTTOM;
diff --git a/svx/source/tbxctrls/colrctrl.cxx b/svx/source/tbxctrls/colrctrl.cxx
index 2713c13..2b26ac7 100644
--- a/svx/source/tbxctrls/colrctrl.cxx
+++ b/svx/source/tbxctrls/colrctrl.cxx
@@ -34,6 +34,7 @@
 #include <svx/xtable.hxx>
 #include <svx/dialmgr.hxx>
 #include "svx/xexch.hxx"
+#include "helpid.hrc"
 #include <vcl/svapp.hxx>
 
 using namespace com::sun::star;
@@ -81,16 +82,14 @@ bool SvxColorValueSetData::GetData( const css::datatransfer::DataFlavor& rFlavor
     return bRet;
 }
 
-
-
 bool SvxColorValueSetData::WriteObject( SotStorageStreamRef& rxOStm, void*, sal_uInt32 , const ::com::sun::star::datatransfer::DataFlavor&  )
 {
     WriteXFillExchangeData( *rxOStm, maData );
     return( rxOStm->GetError() == ERRCODE_NONE );
 }
 
-SvxColorValueSet_docking::SvxColorValueSet_docking( vcl::Window* _pParent, const ResId& rResId ) :
-    SvxColorValueSet( _pParent, rResId ),
+SvxColorValueSet_docking::SvxColorValueSet_docking( vcl::Window* _pParent, WinBits nWinStyle ) :
+    SvxColorValueSet( _pParent, nWinStyle ),
     DragSourceHelper( this ),
     mbLeftButton(true)
 {
@@ -182,23 +181,26 @@ SvxColorDockingWindow::SvxColorDockingWindow
 (
     SfxBindings* _pBindings,
     SfxChildWindow* pCW,
-    vcl::Window* _pParent,
-    const ResId& rResId
+    vcl::Window* _pParent
 ) :
 
-    SfxDockingWindow( _pBindings, pCW, _pParent, rResId ),
+    SfxDockingWindow( _pBindings, pCW, _pParent, WB_MOVEABLE|WB_CLOSEABLE|WB_SIZEABLE|WB_DOCKABLE ),
     pColorList      (),
-    aColorSet       ( this, ResId( 1, *rResId.GetResMgr() ) ),
+    aColorSet       ( this ),
     nLeftSlot       ( SID_ATTR_FILL_COLOR ),
     nRightSlot      ( SID_ATTR_LINE_COLOR ),
     nCols           ( 20 ),
     nLines          ( 1 ),
     nCount          ( 0 )
 {
-    FreeResource();
+    SetText(SVX_RESSTR(STR_COLORTABLE));
+    SetSizePixel(LogicToPixel(Size(150, 22), MapMode(MAP_APPFONT)));
+    SetHelpId(HID_CTRL_COLOR);
 
-    aColorSet.SetStyle( aColorSet.GetStyle() | WB_ITEMBORDER );
     aColorSet.SetSelectHdl( LINK( this, SvxColorDockingWindow, SelectHdl ) );
+    aColorSet.SetHelpId(HID_COLOR_CTL_COLORS);
+    aColorSet.SetPosSizePixel(LogicToPixel(Point(2, 2), MapMode(MAP_APPFONT)),
+                              LogicToPixel(Size(146, 18), MapMode(MAP_APPFONT)));
 
     // Get the model from the view shell.  Using SfxObjectShell::Current()
     // is unreliable when called at the wrong times.
diff --git a/svx/source/tbxctrls/colrctrl.src b/svx/source/tbxctrls/colrctrl.src
index cbbcfb2..3b22a75 100644
--- a/svx/source/tbxctrls/colrctrl.src
+++ b/svx/source/tbxctrls/colrctrl.src
@@ -20,30 +20,6 @@
 #include <svx/dialogs.hrc>
 #include "helpid.hrc"
 
- // RID_SVXCTRL_COLOR -----------------------------------------------------
-DockingWindow RID_SVXCTRL_COLOR
-{
-    HelpID = HID_CTRL_COLOR ;
-    Border = TRUE ;
-    Hide = TRUE ;
-    SVLook = TRUE ;
-    Sizeable = TRUE ;
-    Moveable = TRUE ;
-    Closeable = TRUE ;
-    Zoomable = TRUE ;
-    Dockable = TRUE ;
-    EnableResizing = TRUE ;
-    Size = MAP_APPFONT ( 150 , 22 ) ;
-    Text [ en-US ] = "Colors" ;
-    Control 1
-    {
-        HelpId = HID_COLOR_CTL_COLORS ;
-        Pos = MAP_APPFONT ( 2 , 2 ) ;
-        Size = MAP_APPFONT ( 146 , 18 ) ;
-        Border = FALSE ;
-    };
-};
-
 String STR_COLORTABLE
 {
     Text [ en-US ] = "Color Palette" ;
commit 4c612cd089580c3a50d3a383d3fd12fb68e7acfb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 13:18:36 2014 +0000

    RID_CMDBOXWINDOW is so hacky and src entry so small just hardcode in cxx
    
    Change-Id: I63e97e91792fcf2bf8758a1444bb29e3c1ccd541

diff --git a/starmath/source/smres.src b/starmath/source/smres.src
index 114d81b..6d5b3ea 100644
--- a/starmath/source/smres.src
+++ b/starmath/source/smres.src
@@ -104,23 +104,6 @@ Menu RID_VIEWMENU
     };
 };
 
-#define CMDBOXWINDOW_TEXT           \
-    Text [ en-US ] = "Commands" ;              \
-
-DockingWindow RID_CMDBOXWINDOW\
-{
-    HelpId = HID_SMA_COMMAND_WIN ;
-    Moveable = TRUE ;
-    Closeable = FALSE ;
-    Sizeable = TRUE ;
-    OutputSize = TRUE ;
-    HideWhenDeactivate = FALSE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 292 , 94 ) ;
-    Dockable = TRUE ;
-    CMDBOXWINDOW_TEXT
-};
-
 String STR_BLACK
 {
     Text [ en-US ] = "black" ;
@@ -218,7 +201,7 @@ String STR_ALIGN_RIGHT
 
 String STR_CMDBOXWINDOW
 {
-    CMDBOXWINDOW_TEXT
+    Text [ en-US ] = "Commands" ;
 };
 
 String RID_DOCUMENTSTR
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index c5448d0..9a66da7 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -702,30 +702,30 @@ void SmEditController::StateChanged(sal_uInt16 nSID, SfxItemState eState, const
     SfxControllerItem::StateChanged (nSID, eState, pState);
 }
 
-
 /**************************************************************************/
-
 SmCmdBoxWindow::SmCmdBoxWindow(SfxBindings *pBindings_, SfxChildWindow *pChildWindow,
                                vcl::Window *pParent) :
-    SfxDockingWindow(pBindings_, pChildWindow, pParent, SmResId(RID_CMDBOXWINDOW)),
+    SfxDockingWindow(pBindings_, pChildWindow, pParent, WB_MOVEABLE|WB_CLOSEABLE|WB_SIZEABLE|WB_DOCKABLE),
     aEdit       (*this),
     aController (aEdit, SID_TEXT, *pBindings_),
     bExiting    (false)
 {
+    SetHelpId( HID_SMA_COMMAND_WIN );
+    SetSizePixel(LogicToPixel(Size(292 , 94), MapMode(MAP_APPFONT)));
+    SetText(SM_RESSTR(STR_CMDBOXWINDOW));
+
     Hide ();
 
     aInitialFocusTimer.SetTimeoutHdl(LINK(this, SmCmdBoxWindow, InitialFocusTimerHdl));
     aInitialFocusTimer.SetTimeout(100);
 }
 
-
 SmCmdBoxWindow::~SmCmdBoxWindow ()
 {
     aInitialFocusTimer.Stop();
     bExiting = true;
 }
 
-
 SmViewShell * SmCmdBoxWindow::GetView()
 {
     SfxDispatcher *pDispatcher = GetBindings().GetDispatcher();
@@ -749,7 +749,6 @@ void SmCmdBoxWindow::Resize()
     Invalidate();
 }
 
-
 void SmCmdBoxWindow::Paint(const Rectangle& /*rRect*/)
 {
     Rectangle aRect = Rectangle(Point(0, 0), GetOutputSizePixel());
@@ -762,7 +761,6 @@ void SmCmdBoxWindow::Paint(const Rectangle& /*rRect*/)
     aView.DrawFrame( aRect, FRAME_DRAW_IN );
 }
 
-
 Size SmCmdBoxWindow::CalcDockingSize(SfxChildAlignment eAlign)
 {
     switch (eAlign)
@@ -776,7 +774,6 @@ Size SmCmdBoxWindow::CalcDockingSize(SfxChildAlignment eAlign)
     return SfxDockingWindow::CalcDockingSize(eAlign);
 }
 
-
 SfxChildAlignment SmCmdBoxWindow::CheckAlignment(SfxChildAlignment eActual,
                                              SfxChildAlignment eWish)
 {
commit 4923624069d932b33f13017b4e288ad44eef8dbf
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 14:27:10 2014 +0000

    allow NULL SfxChildWindow
    
    Change-Id: I841b9b3f74a9822fe8c477a280bbe2f4904ed64c

diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index 24e2160..2f47a5f 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -866,7 +866,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     {
         SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
         SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
-        const SfxSlot* pSlot = pSlotPool->GetSlot( pCW->GetType() );
+        const SfxSlot* pSlot = pCW ? pSlotPool->GetSlot( pCW->GetType() ) : NULL;
         if ( pSlot )
         {
             OString aCmd("SFXDOCKINGWINDOW_");
@@ -917,7 +917,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     {
         SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
         SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
-        const SfxSlot* pSlot = pSlotPool->GetSlot( pCW->GetType() );
+        const SfxSlot* pSlot = pCW ? pSlotPool->GetSlot( pCW->GetType() ) : NULL;
         if ( pSlot )
         {
             OString aCmd("SFXDOCKINGWINDOW_");
@@ -965,7 +965,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     {
         SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
         SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
-        const SfxSlot* pSlot = pSlotPool->GetSlot( pCW->GetType() );
+        const SfxSlot* pSlot = pCW ? pSlotPool->GetSlot( pCW->GetType() ) : NULL;
         if ( pSlot )
         {
             OString aCmd("SFXDOCKINGWINDOW_");
commit 2b34b48aacc10cbe256064f7606a114e232f3695
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 12:27:14 2014 +0000

    try to get reasonable sizes for docking windows
    
    start docked, move to undocked
    start undocked, move to dock, back to undocked
    start undocked, with and without size saved in settings and restored
    
    Change-Id: I0bfdceb11aabdf9fdb855b97433b2af0532e4d03

diff --git a/include/vcl/dockwin.hxx b/include/vcl/dockwin.hxx
index caf25cd..fea01a0 100644
--- a/include/vcl/dockwin.hxx
+++ b/include/vcl/dockwin.hxx
@@ -361,6 +361,7 @@ public:
 
     virtual void     SetText( const OUString& rStr ) SAL_OVERRIDE;
     virtual OUString GetText() const SAL_OVERRIDE;
+    virtual Size GetOptimalSize() const SAL_OVERRIDE;
 };
 
 inline void DockingWindow::SetPin( bool bPin )
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index 80839b3..24e2160 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -1209,11 +1209,9 @@ void SfxDockingWindow::Initialize_Impl()
         // trick: use VCL method SetWindowState to adjust position and size
         pFloatWin->SetWindowState( pImp->aWinState );
         Size aSize(pFloatWin->GetSizePixel());
-        pFloatWin->set_width_request(aSize.Width());
-        pFloatWin->set_height_request(aSize.Height());
 
         // remember floating size for calculating alignment and tracking rectangle
-        SetFloatingSize( pFloatWin->GetSizePixel() );
+        SetFloatingSize(aSize);
 
     }
 
@@ -1221,8 +1219,6 @@ void SfxDockingWindow::Initialize_Impl()
     pImp->bConstructed = true;
 }
 
-
-
 void SfxDockingWindow::FillInfo(SfxChildWinInfo& rInfo) const
 
 /*  [Description]
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 4cb0869..9e4ade6 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -624,7 +624,7 @@ void SmElementsControl::build()
 
 Size SmElementsControl::GetOptimalSize() const
 {
-    return LogicToPixel(Size(300, 300), MapMode(MAP_APPFONT));
+    return LogicToPixel(Size(100, 100), MapMode(MAP_APPFONT));
 }
 
 const sal_uInt16 SmElementsDockingWindow::aCategories[] = {
diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx
index 8c9641e..cc3902b 100644
--- a/vcl/source/window/dockwin.cxx
+++ b/vcl/source/window/dockwin.cxx
@@ -833,9 +833,6 @@ void DockingWindow::SetFloatingMode( bool bFloatMode )
                 pWin->SetRollUpOutputSizePixel( maRollUpOutSize );
                 pWin->SetMinOutputSizePixel( maMinOutSize );
 
-                pWin->set_width_request(std::max(aSize.Width(), maMinOutSize.Width()));
-                pWin->set_height_request(std::max(aSize.Height(), maMinOutSize.Height()));
-
                 pWin->SetMaxOutputSizePixel( mpImplData->maMaxOutSize );
 
                 ToggleFloatingMode();
@@ -1106,4 +1103,21 @@ void DockingWindow::setPosSizeOnContainee(Size aSize, Window &rBox)
     VclContainer::setLayoutAllocation(rBox, aPos, aSize);
 }
 
+Size DockingWindow::GetOptimalSize() const
+{
+    if (!isLayoutEnabled())
+        return Window::GetOptimalSize();
+
+    Size aSize = VclContainer::getLayoutRequisition(*GetWindow(WINDOW_FIRSTCHILD));
+
+    sal_Int32 nBorderWidth = get_border_width();
+
+    aSize.Height() += mpWindowImpl->mnLeftBorder + mpWindowImpl->mnRightBorder
+        + 2*nBorderWidth;
+    aSize.Width() += mpWindowImpl->mnTopBorder + mpWindowImpl->mnBottomBorder
+        + 2*nBorderWidth;
+
+    return Window::CalcWindowSize(aSize);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 29ebb0ea9dd5371a4951ca55b88f7bebf85d04b9
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 12:25:42 2014 +0000

    silence parent-less warning for temp images from builder
    
    Change-Id: I3efcac58f7a6629ae2615e29ea564e583414479c

diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 2ab189b..3f66965 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -854,7 +854,8 @@ static sal_Int32 CountDPIScaleFactor(sal_Int32 nDPI)
 
 void Window::ImplInit( vcl::Window* pParent, WinBits nStyle, SystemParentData* pSystemParentData )
 {
-    DBG_ASSERT( mpWindowImpl->mbFrame || pParent, "Window::Window(): pParent == NULL" );
+    DBG_ASSERT( mpWindowImpl->mbFrame || pParent || GetType() == WINDOW_FIXEDIMAGE,
+        "Window::Window(): pParent == NULL" );
 
     ImplSVData* pSVData = ImplGetSVData();
     vcl::Window*     pRealParent = pParent;
commit 3582b314d45d3c5c650343a4bbc6fe812573743f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 10:14:15 2014 +0000

    convert docking animation window to .ui
    
    Change-Id: I2633173bb21da554f55b244d6d2947567c933c2a

diff --git a/sd/AllLangResTarget_sd.mk b/sd/AllLangResTarget_sd.mk
index 8982145..f9bb1ef 100644
--- a/sd/AllLangResTarget_sd.mk
+++ b/sd/AllLangResTarget_sd.mk
@@ -40,7 +40,6 @@ $(eval $(call gb_SrsTarget_add_files,sd/res,\
     sd/source/ui/app/sdstring.src \
     sd/source/ui/app/strings.src \
     sd/source/ui/app/toolbox.src \
-    sd/source/ui/dlg/animobjs.src \
     sd/source/ui/dlg/navigatr.src \
     sd/source/ui/dlg/PaneDockingWindow.src \
     sd/source/ui/slideshow/slideshow.src \
diff --git a/sd/UIConfig_simpress.mk b/sd/UIConfig_simpress.mk
index a087873..d42ef0a 100644
--- a/sd/UIConfig_simpress.mk
+++ b/sd/UIConfig_simpress.mk
@@ -81,6 +81,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/simpress,\
 	sd/uiconfig/simpress/ui/customslideshows \
 	sd/uiconfig/simpress/ui/definecustomslideshow \
 	sd/uiconfig/simpress/ui/dlgfield \
+	sd/uiconfig/simpress/ui/dockinganimation \
 	sd/uiconfig/simpress/ui/headerfooterdialog \
 	sd/uiconfig/simpress/ui/headerfootertab \
 	sd/uiconfig/simpress/ui/insertslides \
diff --git a/sd/source/ui/dlg/AnimationChildWindow.cxx b/sd/source/ui/dlg/AnimationChildWindow.cxx
index e10e609..7dc2d69 100644
--- a/sd/source/ui/dlg/AnimationChildWindow.cxx
+++ b/sd/source/ui/dlg/AnimationChildWindow.cxx
@@ -21,7 +21,6 @@
 
 #include "app.hrc"
 #include "animobjs.hxx"
-#include "animobjs.hrc"
 #include <sfx2/app.hxx>
 #include <sfx2/childwin.hxx>
 #include <sfx2/dockwin.hxx>
@@ -40,8 +39,7 @@ AnimationChildWindow::AnimationChildWindow(
     SfxChildWinInfo* pInfo )
     : SfxChildWindow( _pParent, nId )
 {
-    AnimationWindow* pAnimWin = new AnimationWindow(
-        pBindings, this, _pParent, SdResId( FLT_WIN_ANIMATION ) );
+    AnimationWindow* pAnimWin = new AnimationWindow(pBindings, this, _pParent);
     pWindow = pAnimWin;
 
     eChildAlignment = SFX_ALIGN_NOALIGNMENT;
diff --git a/sd/source/ui/dlg/animobjs.cxx b/sd/source/ui/dlg/animobjs.cxx
index 70fccb6..4372d10 100644
--- a/sd/source/ui/dlg/animobjs.cxx
+++ b/sd/source/ui/dlg/animobjs.cxx
@@ -31,7 +31,6 @@
 
 #include "anminfo.hxx"
 #include "animobjs.hxx"
-#include "animobjs.hrc"
 #include "app.hrc"
 #include "strings.hrc"
 #include "sdresid.hxx"
@@ -56,9 +55,9 @@ namespace sd {
 /**
  *  SdDisplay - Control
  */
-SdDisplay::SdDisplay( vcl::Window* pWin, SdResId Id ) :
-        Control( pWin, Id ),
-        aScale( 1, 1 )
+SdDisplay::SdDisplay(vcl::Window* pWin)
+    : Control(pWin, 0)
+    , aScale(1, 1)
 {
     SetMapMode( MAP_PIXEL );
     const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings();
@@ -104,6 +103,11 @@ void SdDisplay::SetScale( const Fraction& rFrac )
     aScale = rFrac;
 }
 
+Size SdDisplay::GetOptimalSize() const
+{
+    return LogicToPixel(Size(147, 87), MAP_APPFONT);
+}
+
 void SdDisplay::DataChanged( const DataChangedEvent& rDCEvt )
 {
     Control::DataChanged( rDCEvt );
@@ -118,49 +122,47 @@ void SdDisplay::DataChanged( const DataChangedEvent& rDCEvt )
     }
 }
 
+const size_t AnimationWindow::EMPTY_FRAMELIST = std::numeric_limits<size_t>::max();
+
 /**
  *  AnimationWindow - FloatingWindow
  */
-
-const size_t AnimationWindow::EMPTY_FRAMELIST = std::numeric_limits<size_t>::max();
-
-AnimationWindow::AnimationWindow( SfxBindings* pInBindings,
-                SfxChildWindow *pCW, vcl::Window* pParent, const SdResId& rSdResId ) :
-        SfxDockingWindow    ( pInBindings, pCW, pParent, rSdResId ),
-        aCtlDisplay         ( this, SdResId( CTL_DISPLAY ) ),
-        aBtnFirst           ( this, SdResId( BTN_FIRST ) ),
-        aBtnReverse         ( this, SdResId( BTN_REVERSE ) ),
-        aBtnStop            ( this, SdResId( BTN_STOP ) ),
-        aBtnPlay            ( this, SdResId( BTN_PLAY ) ),
-        aBtnLast            ( this, SdResId( BTN_LAST ) ),
-        aNumFldBitmap       ( this, SdResId( NUM_FLD_BITMAP ) ),
-        aTimeField          ( this, SdResId( TIME_FIELD ) ),
-        aLbLoopCount        ( this, SdResId( LB_LOOP_COUNT ) ),
-        aGrpBitmap          ( this, SdResId( GRP_BITMAP ) ),
-        aBtnGetOneObject    ( this, SdResId( BTN_GET_ONE_OBJECT ) ),
-        aBtnGetAllObjects   ( this, SdResId( BTN_GET_ALL_OBJECTS ) ),
-        aBtnRemoveBitmap    ( this, SdResId( BTN_REMOVE_BITMAP ) ),
-        aBtnRemoveAll       ( this, SdResId( BTN_REMOVE_ALL ) ),
-        aFtCount            ( this, SdResId( FT_COUNT ) ),
-        aFiCount            ( this, SdResId( FI_COUNT ) ),
-        aGrpAnimation       ( this, SdResId( GRP_ANIMATION_GROUP ) ),
-        aRbtGroup           ( this, SdResId( RBT_GROUP ) ),
-        aRbtBitmap          ( this, SdResId( RBT_BITMAP ) ),
-        aFtAdjustment       ( this, SdResId( FT_ADJUSTMENT ) ),
-        aLbAdjustment       ( this, SdResId( LB_ADJUSTMENT ) ),
-        aBtnCreateGroup     ( this, SdResId( BTN_CREATE_GROUP ) ),
-        aBtnHelp            ( this, SdResId( BTN_HELP ) ),
-
-        pWin                ( pParent ),
-        m_nCurrentFrame     ( EMPTY_FRAMELIST ),
-
-        bMovie              ( false ),
-        bAllObjects         ( false ),
-
-        pBindings           ( pInBindings )
+AnimationWindow::AnimationWindow(SfxBindings* pInBindings, SfxChildWindow *pCW, vcl::Window* pParent)
+    : SfxDockingWindow(pInBindings, pCW, pParent,
+        "DockingAnimation", "modules/simpress/ui/dockinganimation.ui")
+    , pWin(pParent)
+    , m_nCurrentFrame(EMPTY_FRAMELIST)
+    , bMovie(false)
+    , bAllObjects(false)
+    , pBindings(pInBindings)
 {
-    aCtlDisplay.SetAccessibleName(SD_RESSTR(STR_DISPLAY));
-    FreeResource();
+    get(m_pBtnFirst, "first");
+    get(m_pBtnReverse, "prev");
+    get(m_pBtnStop, "stop");
+    get(m_pBtnPlay, "next");
+    get(m_pBtnLast, "last");
+    get(m_pNumFldBitmap, "numbitmap");
+    get(m_pTimeField, "duration");
+    m_pTimeField->SetDuration(true);
+    m_pTimeField->EnforceValidValue(true);
+    m_pTimeField->SetMax(tools::Time(0, 0, 59, 99*tools::Time::nanoPerCenti));
+    get(m_pLbLoopCount, "loopcount");
+    get(m_pBtnGetOneObject, "getone");
+    get(m_pBtnGetAllObjects, "getall");
+    get(m_pBtnRemoveBitmap, "delone");
+    get(m_pBtnRemoveAll, "delall");
+    get(m_pFiCount, "count");
+    get(m_pRbtGroup, "group");
+    get(m_pRbtBitmap, "bitmap");
+    get(m_pFtAdjustment, "alignmentft");
+    get(m_pLbAdjustment, "alignment");
+    get(m_pBtnCreateGroup, "create");
+
+    m_pCtlDisplay = new SdDisplay(get<Window>("box"));
+    m_pCtlDisplay->set_hexpand(true);
+    m_pCtlDisplay->set_vexpand(true);
+    m_pCtlDisplay->Show();
+
     //undo SfxDockingWindow HelpId clear hack
     reverseUniqueHelpIdHack(*this);
 
@@ -172,41 +174,34 @@ AnimationWindow::AnimationWindow( SfxBindings* pInBindings,
     pControllerItem = new AnimationControllerItem( SID_ANIMATOR_STATE, this, pBindings );
 
     // as long as not in the resource
-    aTimeField.SetFormat( TimeFieldFormat::F_SEC_CS );
+    m_pTimeField->SetFormat( TimeFieldFormat::F_SEC_CS );
 
-    aBtnFirst.SetClickHdl( LINK( this, AnimationWindow, ClickFirstHdl ) );
-    aBtnReverse.SetClickHdl( LINK( this, AnimationWindow, ClickPlayHdl ) );
-    aBtnStop.SetClickHdl( LINK( this, AnimationWindow, ClickStopHdl ) );
-    aBtnPlay.SetClickHdl( LINK( this, AnimationWindow, ClickPlayHdl ) );
-    aBtnLast.SetClickHdl( LINK( this, AnimationWindow, ClickLastHdl ) );
+    m_pBtnFirst->SetClickHdl( LINK( this, AnimationWindow, ClickFirstHdl ) );
+    m_pBtnReverse->SetClickHdl( LINK( this, AnimationWindow, ClickPlayHdl ) );
+    m_pBtnStop->SetClickHdl( LINK( this, AnimationWindow, ClickStopHdl ) );
+    m_pBtnPlay->SetClickHdl( LINK( this, AnimationWindow, ClickPlayHdl ) );
+    m_pBtnLast->SetClickHdl( LINK( this, AnimationWindow, ClickLastHdl ) );
 
-    aBtnGetOneObject.SetClickHdl( LINK( this, AnimationWindow, ClickGetObjectHdl ) );
-    aBtnGetAllObjects.SetClickHdl( LINK( this, AnimationWindow, ClickGetObjectHdl ) );
-    aBtnRemoveBitmap.SetClickHdl( LINK( this, AnimationWindow, ClickRemoveBitmapHdl ) );
-    aBtnRemoveAll.SetClickHdl( LINK( this, AnimationWindow, ClickRemoveBitmapHdl ) );
+    m_pBtnGetOneObject->SetClickHdl( LINK( this, AnimationWindow, ClickGetObjectHdl ) );
+    m_pBtnGetAllObjects->SetClickHdl( LINK( this, AnimationWindow, ClickGetObjectHdl ) );
+    m_pBtnRemoveBitmap->SetClickHdl( LINK( this, AnimationWindow, ClickRemoveBitmapHdl ) );
+    m_pBtnRemoveAll->SetClickHdl( LINK( this, AnimationWindow, ClickRemoveBitmapHdl ) );
 
-    aRbtGroup.SetClickHdl( LINK( this, AnimationWindow, ClickRbtHdl ) );
-    aRbtBitmap.SetClickHdl( LINK( this, AnimationWindow, ClickRbtHdl ) );
-    aBtnCreateGroup.SetClickHdl( LINK( this, AnimationWindow, ClickCreateGroupHdl ) );
-    aNumFldBitmap.SetModifyHdl( LINK( this, AnimationWindow, ModifyBitmapHdl ) );
-    aTimeField.SetModifyHdl( LINK( this, AnimationWindow, ModifyTimeHdl ) );
+    m_pRbtGroup->SetClickHdl( LINK( this, AnimationWindow, ClickRbtHdl ) );
+    m_pRbtBitmap->SetClickHdl( LINK( this, AnimationWindow, ClickRbtHdl ) );
+    m_pBtnCreateGroup->SetClickHdl( LINK( this, AnimationWindow, ClickCreateGroupHdl ) );
+    m_pNumFldBitmap->SetModifyHdl( LINK( this, AnimationWindow, ModifyBitmapHdl ) );
+    m_pTimeField->SetModifyHdl( LINK( this, AnimationWindow, ModifyTimeHdl ) );
 
     // disable 3D border
-    aCtlDisplay.SetBorderStyle(WindowBorderStyle::MONO);
-    aDisplaySize = aCtlDisplay.GetOutputSize();
+    m_pCtlDisplay->SetBorderStyle(WindowBorderStyle::MONO);
 
-    aSize = GetOutputSizePixel();
-    SetMinOutputSizePixel( aSize );
+    SetMinOutputSizePixel(GetOptimalSize());
 
     ResetAttrs();
 
     // the animator is empty; no animation group can be created
-    aBtnCreateGroup.Disable();
-
-    aBtnGetOneObject.SetAccessibleRelationMemberOf( &aGrpBitmap );
-    aBtnGetAllObjects.SetAccessibleRelationMemberOf( &aGrpBitmap );
-    aBtnRemoveBitmap.SetAccessibleRelationMemberOf( &aGrpBitmap );
-    aBtnRemoveAll.SetAccessibleRelationMemberOf( &aGrpBitmap );
+    m_pBtnCreateGroup->Disable();
 }
 
 AnimationWindow::~AnimationWindow()
@@ -223,6 +218,8 @@ AnimationWindow::~AnimationWindow()
 
     // delete the clones
     delete pMyDoc;
+
+    delete m_pCtlDisplay;
 }
 
 IMPL_LINK_NOARG(AnimationWindow, ClickFirstHdl)
@@ -246,17 +243,17 @@ IMPL_LINK( AnimationWindow, ClickPlayHdl, void *, p )
     bMovie = true;
     bool bDisableCtrls = false;
     size_t const nCount = m_FrameList.size();
-    bool bReverse = p == &aBtnReverse;
+    bool bReverse = p == m_pBtnReverse;
 
     // it is difficult to find it later on
-    bool bRbtGroupEnabled = aRbtGroup.IsEnabled();
-    bool bBtnGetAllObjectsEnabled = aBtnGetAllObjects.IsEnabled();
-    bool bBtnGetOneObjectEnabled = aBtnGetOneObject.IsEnabled();
+    bool bRbtGroupEnabled = m_pRbtGroup->IsEnabled();
+    bool bBtnGetAllObjectsEnabled = m_pBtnGetAllObjects->IsEnabled();
+    bool bBtnGetOneObjectEnabled = m_pBtnGetOneObject->IsEnabled();
 
     // calculate overall time
     tools::Time aTime( 0 );
     long nFullTime;
-    if( aRbtBitmap.IsChecked() )
+    if( m_pRbtBitmap->IsChecked() )
     {
         for (size_t i = 0; i < nCount; ++i)
         {
@@ -275,8 +272,8 @@ IMPL_LINK( AnimationWindow, ClickPlayHdl, void *, p )
     if( nFullTime >= 1000 )
     {
         bDisableCtrls = true;
-        aBtnStop.Enable();
-        aBtnStop.Update();
+        m_pBtnStop->Enable();
+        m_pBtnStop->Update();
         OUString aStr("Animator:"); // here we should think about something smart
         pProgress = new SfxProgress( NULL, aStr, nFullTime );
     }
@@ -296,12 +293,12 @@ IMPL_LINK( AnimationWindow, ClickPlayHdl, void *, p )
 
         UpdateControl(bDisableCtrls);
 
-        if( aRbtBitmap.IsChecked() )
+        if( m_pRbtBitmap->IsChecked() )
         {
             tools::Time *const pTime = m_FrameList[i].second;
             assert(pTime);
 
-            aTimeField.SetTime( *pTime );
+            m_pTimeField->SetTime( *pTime );
             sal_uLong nTime = pTime->GetMSFromTime();
 
             WaitInEffect( nTime, nTmpTime, pProgress );
@@ -348,12 +345,12 @@ IMPL_LINK( AnimationWindow, ClickPlayHdl, void *, p )
     if( pProgress )
     {
         delete pProgress;
-        aBtnStop.Disable();
+        m_pBtnStop->Disable();
     }
 
-    aRbtGroup.Enable( bRbtGroupEnabled );
-    aBtnGetAllObjects.Enable( bBtnGetAllObjectsEnabled );
-    aBtnGetOneObject.Enable( bBtnGetOneObjectEnabled );
+    m_pRbtGroup->Enable( bRbtGroupEnabled );
+    m_pBtnGetAllObjects->Enable( bBtnGetAllObjectsEnabled );
+    m_pBtnGetOneObject->Enable( bBtnGetOneObjectEnabled );
 
     return( 0L );
 }
@@ -369,23 +366,23 @@ IMPL_LINK_NOARG(AnimationWindow, ClickLastHdl)
 
 IMPL_LINK( AnimationWindow, ClickRbtHdl, void *, p )
 {
-    if (m_FrameList.empty() || p == &aRbtGroup || aRbtGroup.IsChecked())
+    if (m_FrameList.empty() || p == m_pRbtGroup || m_pRbtGroup->IsChecked())
     {
-        aTimeField.SetText( OUString() );
-        aTimeField.Enable( false );
-        aLbLoopCount.Enable( false );
+        m_pTimeField->SetText( OUString() );
+        m_pTimeField->Enable( false );
+        m_pLbLoopCount->Enable( false );
     }
-    else if( p == &aRbtBitmap || aRbtBitmap.IsChecked() )
+    else if( p == m_pRbtBitmap || m_pRbtBitmap->IsChecked() )
     {
-        sal_uLong n = static_cast<sal_uLong>(aNumFldBitmap.GetValue());
+        sal_uLong n = static_cast<sal_uLong>(m_pNumFldBitmap->GetValue());
         if( n > 0 )
         {
             tools::Time *const pTime = m_FrameList[n - 1].second;
             if( pTime )
-                aTimeField.SetTime( *pTime );
+                m_pTimeField->SetTime( *pTime );
         }
-        aTimeField.Enable();
-        aLbLoopCount.Enable();
+        m_pTimeField->Enable();
+        m_pLbLoopCount->Enable();
     }
 
     return( 0L );
@@ -393,7 +390,7 @@ IMPL_LINK( AnimationWindow, ClickRbtHdl, void *, p )
 
 IMPL_LINK( AnimationWindow, ClickGetObjectHdl, void *, pBtn )
 {
-    bAllObjects = pBtn == &aBtnGetAllObjects;
+    bAllObjects = pBtn == m_pBtnGetAllObjects;
 
     // Code now in AddObj()
     SfxBoolItem aItem( SID_ANIMATOR_ADD, true );
@@ -408,7 +405,7 @@ IMPL_LINK( AnimationWindow, ClickRemoveBitmapHdl, void *, pBtn )
     SdPage*     pPage = pMyDoc->GetSdPage(0, PK_STANDARD);
     SdrObject*  pObject;
 
-    if( pBtn == &aBtnRemoveBitmap )
+    if (pBtn == m_pBtnRemoveBitmap)
     {
         delete m_FrameList[m_nCurrentFrame].first;
         delete m_FrameList[m_nCurrentFrame].second;
@@ -463,15 +460,15 @@ IMPL_LINK( AnimationWindow, ClickRemoveBitmapHdl, void *, pBtn )
     // can we create a animation group
     if (m_FrameList.empty())
     {
-        aBtnCreateGroup.Disable();
+        m_pBtnCreateGroup->Disable();
         // if previous disabled by acquisition of AnimatedGIFs:
-        //aRbtBitmap.Enable();
-        aRbtGroup.Enable();
+        //m_pRbtBitmap->Enable();
+        m_pRbtGroup->Enable();
     }
 
     // calculate and set zoom for DisplayWin
-    Fraction aFrac( GetScale() );
-    aCtlDisplay.SetScale( aFrac );
+    Fraction aFrac(GetScale());
+    m_pCtlDisplay->SetScale(aFrac);
 
     UpdateControl();
 
@@ -490,7 +487,7 @@ IMPL_LINK_NOARG(AnimationWindow, ClickCreateGroupHdl)
 
 IMPL_LINK_NOARG(AnimationWindow, ModifyBitmapHdl)
 {
-    sal_uLong nBmp = static_cast<sal_uLong>(aNumFldBitmap.GetValue());
+    sal_uLong nBmp = static_cast<sal_uLong>(m_pNumFldBitmap->GetValue());
 
     if (nBmp > m_FrameList.size())
     {
@@ -506,11 +503,11 @@ IMPL_LINK_NOARG(AnimationWindow, ModifyBitmapHdl)
 
 IMPL_LINK_NOARG(AnimationWindow, ModifyTimeHdl)
 {
-    sal_uLong nPos = static_cast<sal_uLong>(aNumFldBitmap.GetValue() - 1);
+    sal_uLong nPos = static_cast<sal_uLong>(m_pNumFldBitmap->GetValue() - 1);
 
     tools::Time *const pTime = m_FrameList[nPos].second;
 
-    *pTime = aTimeField.GetTime();
+    *pTime = m_pTimeField->GetTime();
 
     return( 0L );
 }
@@ -545,73 +542,70 @@ void AnimationWindow::UpdateControl(bool const bDisableCtrls)
             aBmp = BitmapEx( aVD.GetBitmap( aObjRect.TopLeft(), aObjSize ) );
         }
 
-        aCtlDisplay.SetBitmapEx( &aBmp );
+        m_pCtlDisplay->SetBitmapEx(&aBmp);
     }
     else
     {
-        aCtlDisplay.SetBitmapEx(0);
+        m_pCtlDisplay->SetBitmapEx(0);
     }
-    aCtlDisplay.Invalidate();
-    aCtlDisplay.Update();
+    m_pCtlDisplay->Invalidate();
+    m_pCtlDisplay->Update();
 
-    aFiCount.SetText(OUString::number(
+    m_pFiCount->SetText(OUString::number(
                 m_FrameList.size()));
 
     if (!m_FrameList.empty() && !bMovie)
     {
         size_t nIndex = m_nCurrentFrame + 1;
-        aNumFldBitmap.SetValue(nIndex);
+        m_pNumFldBitmap->SetValue(nIndex);
 
         // if there is at least 1 object in the list
-        aBtnFirst.Enable();
-        aBtnReverse.Enable();
-        aBtnPlay.Enable();
-        aBtnLast.Enable();
-        aNumFldBitmap.Enable();
-        aTimeField.Enable();
-        aLbLoopCount.Enable();
-        aBtnRemoveBitmap.Enable();
-        aBtnRemoveAll.Enable();
+        m_pBtnFirst->Enable();
+        m_pBtnReverse->Enable();
+        m_pBtnPlay->Enable();
+        m_pBtnLast->Enable();
+        m_pNumFldBitmap->Enable();
+        m_pTimeField->Enable();
+        m_pLbLoopCount->Enable();
+        m_pBtnRemoveBitmap->Enable();
+        m_pBtnRemoveAll->Enable();
     }
     else
     {
         // if no object is in the list
-        aBtnFirst.Enable( false );
-        aBtnReverse.Enable( false );
-        aBtnPlay.Enable( false );
-        aBtnLast.Enable( false );
-        aNumFldBitmap.Enable( false );
-        aTimeField.Enable( false );
-        aLbLoopCount.Enable( false );
-        aBtnRemoveBitmap.Enable( false );
-        aBtnRemoveAll.Enable( false );
-
-        //aFtAdjustment.Enable();
-        //aLbAdjustment.Enable();
+        m_pBtnFirst->Enable( false );
+        m_pBtnReverse->Enable( false );
+        m_pBtnPlay->Enable( false );
+        m_pBtnLast->Enable( false );
+        m_pNumFldBitmap->Enable( false );
+        m_pTimeField->Enable( false );
+        m_pLbLoopCount->Enable( false );
+        m_pBtnRemoveBitmap->Enable( false );
+        m_pBtnRemoveAll->Enable( false );
     }
 
     if( bMovie && bDisableCtrls )
     {
-        aBtnGetOneObject.Enable( false );
-        aBtnGetAllObjects.Enable( false );
-        aRbtGroup.Enable( false );
-        aRbtBitmap.Enable( false );
-        aBtnCreateGroup.Enable( false );
-        aFtAdjustment.Enable( false );
-        aLbAdjustment.Enable( false );
+        m_pBtnGetOneObject->Enable( false );
+        m_pBtnGetAllObjects->Enable( false );
+        m_pRbtGroup->Enable( false );
+        m_pRbtBitmap->Enable( false );
+        m_pBtnCreateGroup->Enable( false );
+        m_pFtAdjustment->Enable( false );
+        m_pLbAdjustment->Enable( false );
     }
     else
     {
         // enable 'group object' only if it is not a Animated GIF
         if (m_FrameList.empty())
         {
-            aRbtGroup.Enable();
+            m_pRbtGroup->Enable();
         }
 
-        aRbtBitmap.Enable();
-        aBtnCreateGroup.Enable(!m_FrameList.empty());
-        aFtAdjustment.Enable( true );
-        aLbAdjustment.Enable( true );
+        m_pRbtBitmap->Enable();
+        m_pBtnCreateGroup->Enable(!m_FrameList.empty());
+        m_pFtAdjustment->Enable( true );
+        m_pLbAdjustment->Enable( true );
     }
 
     ClickRbtHdl( NULL );
@@ -619,10 +613,10 @@ void AnimationWindow::UpdateControl(bool const bDisableCtrls)
 
 void AnimationWindow::ResetAttrs()
 {
-    aRbtGroup.Check();
-    aLbAdjustment.SelectEntryPos( BA_CENTER );
+    m_pRbtGroup->Check();
+    m_pLbAdjustment->SelectEntryPos( BA_CENTER );
     // LoopCount
-    aLbLoopCount.SelectEntryPos( aLbLoopCount.GetEntryCount() - 1);
+    m_pLbLoopCount->SelectEntryPos( m_pLbLoopCount->GetEntryCount() - 1);
 
     UpdateControl();
 }
@@ -652,8 +646,7 @@ Fraction AnimationWindow::GetScale()
     size_t const nCount = m_FrameList.size();
     if (nCount > 0)
     {
-        aBmpSize.Width() = 0;
-        aBmpSize.Height() = 0;
+        Size aBmpSize(0, 0);
         for (size_t i = 0; i < nCount; i++)
         {
             BitmapEx *const pBitmap = m_FrameList[i].first;
@@ -665,107 +658,19 @@ Fraction AnimationWindow::GetScale()
         aBmpSize.Width() += 10;
         aBmpSize.Height() += 10;
 
+        Size aDisplaySize(m_pCtlDisplay->GetOutputSize());
+
         aFrac = Fraction( std::min( (double)aDisplaySize.Width() / (double)aBmpSize.Width(),
                              (double)aDisplaySize.Height() / (double)aBmpSize.Height() ) );
     }
-    return( aFrac );
+    return aFrac;
 }
 
 void AnimationWindow::Resize()
 {
-    if ( !IsFloatingMode() ||
-         !GetFloatingWindow()->IsRollUp() )
-    {
-        Size aWinSize( GetOutputSizePixel() ); // former rSize in Resizing()
-
-        Size aDiffSize;
-        aDiffSize.Width() = aWinSize.Width() - aSize.Width();
-        aDiffSize.Height() = aWinSize.Height() - aSize.Height();
-
-        // resize display controls
-        aDisplaySize.Width() += aDiffSize.Width();
-        aDisplaySize.Height() += aDiffSize.Height();
-        aCtlDisplay.SetOutputSizePixel( aDisplaySize );
-
-        Point aPt;
-        aPt.Y() = aDiffSize.Height();
-
-        // move other controls
-        aBtnFirst.Hide();
-        aBtnReverse.Hide();
-        aBtnStop.Hide();
-        aBtnPlay.Hide();
-        aBtnLast.Hide();
-        aTimeField.Hide();
-        aLbLoopCount.Hide();
-        aNumFldBitmap.Hide();
-        aFtCount.Hide();
-        aFiCount.Hide();
-        aBtnGetOneObject.Hide();
-        aBtnGetAllObjects.Hide();
-        aBtnRemoveBitmap.Hide();
-        aBtnRemoveAll.Hide();
-        aGrpBitmap.Hide();
-        aRbtGroup.Hide();
-        aRbtBitmap.Hide();
-        aFtAdjustment.Hide();
-        aLbAdjustment.Hide();
-        aBtnCreateGroup.Hide();
-        aGrpAnimation.Hide();
-
-        aBtnFirst.SetPosPixel( aBtnFirst.GetPosPixel() + aPt );
-        aBtnReverse.SetPosPixel( aBtnReverse.GetPosPixel() + aPt );
-        aBtnStop.SetPosPixel( aBtnStop.GetPosPixel() + aPt );
-        aBtnPlay.SetPosPixel( aBtnPlay.GetPosPixel() + aPt );
-        aBtnLast.SetPosPixel( aBtnLast.GetPosPixel() + aPt );
-        aNumFldBitmap.SetPosPixel( aNumFldBitmap.GetPosPixel() + aPt );
-        aTimeField.SetPosPixel( aTimeField.GetPosPixel() + aPt );
-        aLbLoopCount.SetPosPixel( aLbLoopCount.GetPosPixel() + aPt );
-        aFtCount.SetPosPixel( aFtCount.GetPosPixel() + aPt );
-        aFiCount.SetPosPixel( aFiCount.GetPosPixel() + aPt );
-        aRbtGroup.SetPosPixel( aRbtGroup.GetPosPixel() + aPt );
-        aRbtBitmap.SetPosPixel( aRbtBitmap.GetPosPixel() + aPt );
-        aFtAdjustment.SetPosPixel( aFtAdjustment.GetPosPixel() + aPt );
-        aLbAdjustment.SetPosPixel( aLbAdjustment.GetPosPixel() + aPt );
-        aBtnGetOneObject.SetPosPixel( aBtnGetOneObject.GetPosPixel() + aPt );
-        aBtnGetAllObjects.SetPosPixel( aBtnGetAllObjects.GetPosPixel() + aPt );
-        aBtnRemoveBitmap.SetPosPixel( aBtnRemoveBitmap.GetPosPixel() + aPt );
-        aBtnRemoveAll.SetPosPixel( aBtnRemoveAll.GetPosPixel() + aPt );
-        aBtnCreateGroup.SetPosPixel( aBtnCreateGroup.GetPosPixel() + aPt );
-        aGrpBitmap.SetPosPixel( aGrpBitmap.GetPosPixel() + aPt );
-        aGrpAnimation.SetPosPixel( aGrpAnimation.GetPosPixel() + aPt );
-
-        // calculate and set zoom for DisplayWin
-        Fraction aFrac( GetScale() );
-        aCtlDisplay.SetScale( aFrac );
-
-        aBtnFirst.Show();
-        aBtnReverse.Show();
-        aBtnStop.Show();
-        aBtnPlay.Show();
-        aBtnLast.Show();
-        aNumFldBitmap.Show();
-        aTimeField.Show();
-        aLbLoopCount.Show();
-        aFtCount.Show();
-        aFiCount.Show();
-        aFtAdjustment.Show();
-        aLbAdjustment.Show();
-        aBtnGetOneObject.Show();
-        aBtnGetAllObjects.Show();
-        aBtnRemoveBitmap.Show();
-        aBtnRemoveAll.Show();
-        aGrpBitmap.Show();
-        aRbtGroup.Show();
-        aRbtBitmap.Show();
-        aFtAdjustment.Show();
-        aLbAdjustment.Show();
-        aBtnCreateGroup.Show();
-        aGrpAnimation.Show();
-
-        aSize = aWinSize;
-    }
     SfxDockingWindow::Resize();
+    Fraction aFrac(GetScale());
+    m_pCtlDisplay->SetScale(aFrac);
 }
 
 bool AnimationWindow::Close()
@@ -844,9 +749,9 @@ void AnimationWindow::AddObj (::sd::View& rView )
                             long nLoopCount = aAnimation.GetLoopCount();
 
                             if( !nLoopCount ) // endless
-                                aLbLoopCount.SelectEntryPos( aLbLoopCount.GetEntryCount() - 1);
+                                m_pLbLoopCount->SelectEntryPos( m_pLbLoopCount->GetEntryCount() - 1);
                             else
-                                aLbLoopCount.SelectEntry(OUString::number( nLoopCount ) );
+                                m_pLbLoopCount->SelectEntry(OUString::number( nLoopCount ) );
                         }
 
                         long nTime = rAnimBmp.nWait;
@@ -860,8 +765,8 @@ void AnimationWindow::AddObj (::sd::View& rView )
                         ++m_nCurrentFrame;
                     }
                     // if a animated GIF is taken, only such one can be created
-                    aRbtBitmap.Check();
-                    aRbtGroup.Enable( false );
+                    m_pRbtBitmap->Check();
+                    m_pRbtGroup->Enable( false );
                     bAnimObj = true;
                 }
             }
@@ -878,7 +783,7 @@ void AnimationWindow::AddObj (::sd::View& rView )
                         SdrExchangeView::GetObjGraphic(
                             pSnapShot->GetModel(), pSnapShot).GetBitmapEx() );
 
-                    ::tools::Time* pTime = new ::tools::Time( aTimeField.GetTime() );
+                    ::tools::Time* pTime = new ::tools::Time( m_pTimeField->GetTime() );
                     size_t nIndex = m_nCurrentFrame + 1;
                     m_FrameList.insert(
                             m_FrameList.begin() + nIndex,
@@ -899,7 +804,7 @@ void AnimationWindow::AddObj (::sd::View& rView )
             BitmapEx *const pBitmapEx =
                 new BitmapEx(rView.GetAllMarkedGraphic().GetBitmapEx());
 
-            ::tools::Time* pTime = new ::tools::Time( aTimeField.GetTime() );
+            ::tools::Time* pTime = new ::tools::Time( m_pTimeField->GetTime() );
 
             size_t nIndex = m_nCurrentFrame + 1;
             m_FrameList.insert(
@@ -931,7 +836,7 @@ void AnimationWindow::AddObj (::sd::View& rView )
                         SdrExchangeView::GetObjGraphic(
                             pObject->GetModel(), pObject).GetBitmapEx() );
 
-                    ::tools::Time* pTime = new ::tools::Time( aTimeField.GetTime() );
+                    ::tools::Time* pTime = new ::tools::Time( m_pTimeField->GetTime() );
 
                     size_t nIndex = m_nCurrentFrame + 1;
                     m_FrameList.insert(
@@ -967,12 +872,12 @@ void AnimationWindow::AddObj (::sd::View& rView )
         // there, we can create a animation group
         if (nCloneCount == 0 && !m_FrameList.empty())
         {
-            aBtnCreateGroup.Enable();
+            m_pBtnCreateGroup->Enable();
         }
 
         // calculate and set zoom for DisplayWin
         Fraction aFrac( GetScale() );
-        aCtlDisplay.SetScale( aFrac );
+        m_pCtlDisplay->SetScale(aFrac);
 
         UpdateControl();
     }
@@ -991,7 +896,7 @@ void AnimationWindow::CreateAnimObj (::sd::View& rView )
     const Point         aWindowCenter( pOutWin->PixelToLogic( Point( aTemp.Width() >> 1, aTemp.Height() >> 1 ) ) );
     const OutputDevice* pDefDev = Application::GetDefaultDevice();
     const size_t nCount = m_FrameList.size();
-    BitmapAdjustment    eBA = (BitmapAdjustment) aLbAdjustment.GetSelectEntryPos();
+    BitmapAdjustment    eBA = (BitmapAdjustment) m_pLbAdjustment->GetSelectEntryPos();
 
     // find biggest bitmap
     for (size_t i = 0; i < nCount; ++i)
@@ -1015,7 +920,7 @@ void AnimationWindow::CreateAnimObj (::sd::View& rView )
 
     SdrPageView* pPV = rView.GetSdrPageView();
 
-    if( aRbtBitmap.IsChecked() )
+    if( m_pRbtBitmap->IsChecked() )
     {
         // create bitmap group (Animated GIF)
         Animation   aAnimation;
@@ -1078,10 +983,10 @@ void AnimationWindow::CreateAnimObj (::sd::View& rView )
             // find LoopCount (number of passes)
             AnimationBitmap aAnimBmp;
             long            nLoopCount = 0L;
-            sal_Int32          nPos = aLbLoopCount.GetSelectEntryPos();
+            sal_Int32          nPos = m_pLbLoopCount->GetSelectEntryPos();
 
-            if( nPos != LISTBOX_ENTRY_NOTFOUND && nPos != aLbLoopCount.GetEntryCount() - 1 ) // endless
-                nLoopCount = (long) aLbLoopCount.GetSelectEntry().toInt32();
+            if( nPos != LISTBOX_ENTRY_NOTFOUND && nPos != m_pLbLoopCount->GetEntryCount() - 1 ) // endless
+                nLoopCount = (long) m_pLbLoopCount->GetSelectEntry().toInt32();
 
             aAnimBmp.aBmpEx = *pBitmapEx;
             aAnimBmp.aPosPix = aPt;
@@ -1235,8 +1140,8 @@ void AnimationControllerItem::StateChanged( sal_uInt16 nSId,
         if (pStateItem)
         {
             sal_uInt16 nState = pStateItem->GetValue();
-            pAnimationWin->aBtnGetOneObject.Enable( nState & 1 );
-            pAnimationWin->aBtnGetAllObjects.Enable( nState & 2 );
+            pAnimationWin->m_pBtnGetOneObject->Enable( nState & 1 );
+            pAnimationWin->m_pBtnGetAllObjects->Enable( nState & 2 );
         }
     }
 }
diff --git a/sd/source/ui/dlg/animobjs.src b/sd/source/ui/dlg/animobjs.src
deleted file mode 100644
index 460858d..0000000
--- a/sd/source/ui/dlg/animobjs.src
+++ /dev/null
@@ -1,317 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "res_bmp.hrc"
-#include "app.hrc"
-#include "animobjs.hrc"
-#include "helpids.h"
-
-#define MIN_BUTTON_WIDTH 12
-#define MIN_BUTTON_HEIGHT 12
-#define MIN_BUTTON_SIZE MAP_APPFONT( MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT );
-DockingWindow FLT_WIN_ANIMATION
-{
-    HelpID = CMD_SID_ANIMATION_OBJECTS ;
-    Border = TRUE ;
-    Hide = TRUE ;
-    SVLook = TRUE ;
-    Sizeable = TRUE ;
-    Moveable = TRUE ;
-    Closeable = TRUE ;
-    Zoomable = TRUE ;
-    Dockable = TRUE ;
-    EnableResizing = TRUE ;
-    Size = MAP_APPFONT ( 159 , 236 ) ;
-    Text [ en-US ] = "Animation" ;
-    Control CTL_DISPLAY
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 6 ) ;
-        Size = MAP_APPFONT ( 147 , 87 ) ;
-        TabStop = TRUE ;
-    };
-    ImageButton BTN_FIRST
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_FIRST";
-        Pos = MAP_APPFONT ( 6 , 100 ) ;
-        Size = MIN_BUTTON_SIZE
-        Symbol = IMAGEBUTTON_WINDSTART ;
-        QuickHelpText [ en-US ] = "First Image" ;
-    };
-    ImageButton BTN_REVERSE
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_REVERSE";
-        Pos = MAP_APPFONT ( 6 + MIN_BUTTON_WIDTH , 100 ) ;
-        Size = MIN_BUTTON_SIZE
-        Symbol = IMAGEBUTTON_REVERSEPLAY ;
-        QuickHelpText [ en-US ] = "Backwards" ;
-    };
-    ImageButton BTN_STOP
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_STOP";
-        Pos = MAP_APPFONT ( 6 + MIN_BUTTON_WIDTH * 2 , 100 ) ;
-        Size = MIN_BUTTON_SIZE
-        Symbol = IMAGEBUTTON_STOP ;
-        Disable = TRUE ;
-        QuickHelpText [ en-US ] = "Stop" ;
-    };
-    ImageButton BTN_PLAY
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_PLAY";
-        Pos = MAP_APPFONT ( 6 + MIN_BUTTON_WIDTH * 3 , 100 ) ;
-        Size = MIN_BUTTON_SIZE
-        Symbol = IMAGEBUTTON_PLAY ;
-        QuickHelpText [ en-US ] = "Play" ;
-    };
-    ImageButton BTN_LAST
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_LAST";
-        Pos = MAP_APPFONT ( 6 + MIN_BUTTON_WIDTH * 4 , 100 ) ;
-        Size = MIN_BUTTON_SIZE
-        Symbol = IMAGEBUTTON_WINDEND ;
-        QuickHelpText [ en-US ] = "Last Image" ;
-    };
-    NumericField NUM_FLD_BITMAP
-    {
-        HelpID = "sd:NumericField:FLT_WIN_ANIMATION:NUM_FLD_BITMAP";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 + 3 + MIN_BUTTON_WIDTH * 5 , 100 ) ;
-        Size = MAP_APPFONT ( MIN_BUTTON_WIDTH * 2 , 12 ) ;
-        TabStop = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 1 ;
-        Maximum = 999 ;
-        StrictFormat = TRUE ;
-        First = 1 ;
-        Last = 999 ;
-        SpinSize = 1 ;
-        QuickHelpText [ en-US ] = "Image Number" ;
-    };
-    TimeField TIME_FIELD
-    {
-        HelpID = "sd:TimeField:FLT_WIN_ANIMATION:TIME_FIELD";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 + 6 + MIN_BUTTON_WIDTH * 7 , 100 ) ;
-        Size = MAP_APPFONT ( MIN_BUTTON_WIDTH * 2 + 3 , 12 ) ;
-        TabStop = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = Time
-        {
-            Second = 59 ;
-            Sec100 = 99 ;
-        };
-        Duration = TRUE ;
-        StrictFormat = TRUE ;
-        Last = Time
-        {
-            Second = 59 ;
-            Sec100 = 99 ;
-        };
-        QuickHelpText [ en-US ] = "Duration" ;
-    };
-    ListBox LB_LOOP_COUNT
-    {
-        HelpID = "sd:ListBox:FLT_WIN_ANIMATION:LB_LOOP_COUNT";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 + 12 + MIN_BUTTON_WIDTH * 9 , 100 ) ;
-        Size = MAP_APPFONT ( MIN_BUTTON_WIDTH * 2 + 3 , 100 ) ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "1" ; > ;
-            < "2" ; > ;
-            < "3" ; > ;
-            < "4" ; > ;
-            < "5" ; > ;
-            < "6" ; > ;
-            < "7" ; > ;
-            < "8" ; > ;
-            < "9" ; > ;
-            < "10" ; > ;
-            < "12" ; > ;
-            < "15" ; > ;
-            < "20" ; > ;
-            < "25" ; > ;
-            < "50" ; > ;
-            < "100" ; > ;
-            < "500" ; > ;
-            < "1000" ; > ;
-            < "Max." ; > ;
-        };
-        QuickHelpText [ en-US ] = "Loop Count" ;
-    };
-    ImageButton BTN_GET_ONE_OBJECT
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_GET_ONE_OBJECT";
-        Pos = MAP_APPFONT ( 12 , 132 ) ;
-        Size = MAP_APPFONT ( 16 , 14 ) ;
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "get1obj.bmp" ;
-            };
-            MaskColor = IMAGE_MASK_STDCOLOR;
-        };
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Apply Object" ;
-    };
-    ImageButton BTN_GET_ALL_OBJECTS
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_GET_ALL_OBJECTS";
-        Pos = MAP_APPFONT ( 31 , 132 ) ;
-        Size = MAP_APPFONT ( 16 , 14 ) ;
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "getallob.bmp" ;
-            };
-            MaskColor = IMAGE_MASK_STDCOLOR;
-        };
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Apply Objects Individually" ;
-    };
-    ImageButton BTN_REMOVE_BITMAP
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_REMOVE_BITMAP";
-        Pos = MAP_APPFONT ( 60 , 132 ) ;
-        Size = MAP_APPFONT ( 16 , 14 ) ;
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "del1bmp.bmp" ;
-            };
-            MaskColor = IMAGE_MASK_STDCOLOR;
-        };
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Delete Current Image" ;
-    };
-    ImageButton BTN_REMOVE_ALL
-    {
-        HelpID = "sd:ImageButton:FLT_WIN_ANIMATION:BTN_REMOVE_ALL";
-        Pos = MAP_APPFONT ( 79 , 132 ) ;
-        Size = MAP_APPFONT ( 16 , 14 ) ;
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "delall.bmp" ;
-            };
-            MaskColor = IMAGE_MASK_STDCOLOR;
-        };
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Delete All Images" ;
-    };
-    FixedText FT_COUNT
-    {
-        Pos = MAP_APPFONT ( 106 , 135 ) ;
-        Size = MAP_APPFONT ( 26 , 10 ) ;
-        Text [ en-US ] = "Number" ;
-    };
-    FixedText FI_COUNT
-    {
-        Pos = MAP_APPFONT ( 133 , 135 ) ;
-        Size = MAP_APPFONT ( 15 , 10 ) ;
-        DeltaLang [ de ]= < Default ; Default ; Default ; Default ; > ;
-        DeltaLang [ en-US ] = < 2 ; Default ; Default ; Default ; > ;
-        Text = "67" ;
-    };
-    FixedLine GRP_BITMAP
-    {
-        Pos = MAP_APPFONT ( 6 , 120 ) ;
-        Size = MAP_APPFONT ( 147 , 8 ) ;
-        Text [ en-US ] = "Image" ;
-    };
-    RadioButton RBT_GROUP
-    {
-        HelpID = "sd:RadioButton:FLT_WIN_ANIMATION:RBT_GROUP";
-        Pos = MAP_APPFONT ( 12 , 167 ) ;
-        Size = MAP_APPFONT ( 140 , 12 ) ;
-        Text [ en-US ] = "Group object" ;
-    };
-    RadioButton RBT_BITMAP
-    {
-        HelpID = "sd:RadioButton:FLT_WIN_ANIMATION:RBT_BITMAP";
-        Pos = MAP_APPFONT ( 12 , 181 ) ;
-        Size = MAP_APPFONT ( 140 , 12 ) ;
-        Text [ en-US ] = "Bitmap object" ;
-    };
-    FixedText FT_ADJUSTMENT
-    {
-        Pos = MAP_APPFONT ( 12 , 198 ) ;
-        Size = MAP_APPFONT ( 62 , 10 ) ;
-        DeltaLang [ de ] = < Default ; Default ; Default ; Default ; > ;
-        DeltaLang [ en-US ] = < -1 ; Default ; -2 ; Default ; > ;
-        Text [ en-US ] = "Alignment" ;
-    };
-    ListBox LB_ADJUSTMENT
-    {
-        HelpID = "sd:ListBox:FLT_WIN_ANIMATION:LB_ADJUSTMENT";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 75 , 196 ) ;
-        Size = MAP_APPFONT ( 72 , 100 ) ;
-        DeltaLang [ de ] = < Default ; Default ; Default ; Default ; > ;
-        DeltaLang [ en-US ] = < -1 ; Default ; Default ; Default ; > ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Top Left" ; Default ; > ;
-            < "Left" ; Default ; > ;
-            < "Bottom Left" ; Default ; > ;
-            < "Top" ; Default ; > ;
-            < "Centered" ; Default ; > ;
-            < "Bottom" ; Default ; > ;
-            < "Top Right" ; Default ; > ;
-            < "Right" ; Default ; > ;
-            < "Bottom Right" ; Default ; > ;
-        };
-    };
-    PushButton BTN_CREATE_GROUP
-    {
-        HelpID = "sd:PushButton:FLT_WIN_ANIMATION:BTN_CREATE_GROUP";
-        Pos = MAP_APPFONT ( 107 , 216 ) ;
-        Size = MAP_APPFONT ( 41 , 14 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Create" ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 60 , 216 ) ;
-        Size = MAP_APPFONT ( 41 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    FixedLine GRP_ANIMATION_GROUP
-    {
-        Pos = MAP_APPFONT ( 6 , 155 ) ;
-        Size = MAP_APPFONT ( 147 , 8 ) ;
-        Text [ en-US ] = "Animation group" ;
-    };
-    String STR_DISPLAY
-    {
-        Text [ en-US ] = "Preview";
-    };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/inc/animobjs.hrc b/sd/source/ui/inc/animobjs.hrc
deleted file mode 100644
index ae4f7d3..0000000
--- a/sd/source/ui/inc/animobjs.hrc
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
- */
-#define FLT_WIN_ANIMATION 619
-#define CTL_DISPLAY 1
-#define BTN_FIRST 1
-#define BTN_REVERSE 2
-#define BTN_STOP 3
-#define BTN_PLAY 4
-#define BTN_LAST 5
-#define BTN_GET_ONE_OBJECT 6
-#define BTN_GET_ALL_OBJECTS 7
-#define BTN_REMOVE_BITMAP 8
-#define BTN_REMOVE_ALL 9
-#define BTN_CREATE_GROUP 10
-#define BTN_HELP 1
-#define NUM_FLD_BITMAP 1
-#define TIME_FIELD 1
-#define FT_COUNT 1
-#define FI_COUNT 2
-#define GRP_BITMAP 1
-#define RBT_GROUP 1
-#define RBT_BITMAP 2
-#define FT_ADJUSTMENT 4
-#define LB_ADJUSTMENT 2
-#define LB_LOOP_COUNT 3
-#define GRP_ANIMATION_GROUP 2
-#define STR_DISPLAY 1
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/inc/animobjs.hxx b/sd/source/ui/inc/animobjs.hxx
index 3afd1bf..45a9a3e 100644
--- a/sd/source/ui/inc/animobjs.hxx
+++ b/sd/source/ui/inc/animobjs.hxx
@@ -65,7 +65,7 @@ private:
     Fraction    aScale;
 
 public:
-    SdDisplay( vcl::Window* pWin, SdResId Id );
+    SdDisplay(vcl::Window* pWin);
     virtual ~SdDisplay();
 
     virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
@@ -74,6 +74,7 @@ public:
     void    SetScale( const Fraction& rFrac );
 
     virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
+    virtual Size GetOptimalSize() const SAL_OVERRIDE;
 };
 
 class AnimationWindow : public SfxDockingWindow
@@ -82,8 +83,7 @@ class AnimationWindow : public SfxDockingWindow
  friend class AnimationControllerItem;
 
 public:
-    AnimationWindow( SfxBindings* pBindings, SfxChildWindow *pCW,
-        vcl::Window* pParent, const SdResId& rSdResId );
+    AnimationWindow(SfxBindings* pBindings, SfxChildWindow *pCW, vcl::Window* pParent);
     virtual ~AnimationWindow();
 
     void    AddObj( ::sd::View& rView );
@@ -97,31 +97,26 @@ protected:
     virtual void    FillInfo( SfxChildWinInfo& ) const SAL_OVERRIDE;
 
 private:
-    SdDisplay       aCtlDisplay;
-    ImageButton     aBtnFirst;
-    ImageButton     aBtnReverse;
-    ImageButton     aBtnStop;
-    ImageButton     aBtnPlay;
-    ImageButton     aBtnLast;
-    NumericField    aNumFldBitmap;
-    TimeField       aTimeField;
-    ListBox         aLbLoopCount;
-    FixedLine       aGrpBitmap;
-    ImageButton     aBtnGetOneObject;
-    ImageButton     aBtnGetAllObjects;
-    ImageButton     aBtnRemoveBitmap;
-    ImageButton     aBtnRemoveAll;
-    FixedText       aFtCount;
-    FixedInfo       aFiCount;
-    FixedLine       aGrpAnimation;
-
-    RadioButton     aRbtGroup;
-    RadioButton     aRbtBitmap;
-    FixedText       aFtAdjustment;
-    ListBox         aLbAdjustment;
-    PushButton      aBtnCreateGroup;
-
-    HelpButton      aBtnHelp;
+    SdDisplay*      m_pCtlDisplay;
+    PushButton*     m_pBtnFirst;
+    PushButton*     m_pBtnReverse;
+    PushButton*     m_pBtnStop;
+    PushButton*     m_pBtnPlay;
+    PushButton*     m_pBtnLast;
+    NumericField*   m_pNumFldBitmap;
+    TimeField*      m_pTimeField;
+    ListBox*        m_pLbLoopCount;
+    PushButton*     m_pBtnGetOneObject;
+    PushButton*     m_pBtnGetAllObjects;
+    PushButton*     m_pBtnRemoveBitmap;
+    PushButton*     m_pBtnRemoveAll;
+    FixedText*      m_pFiCount;
+
+    RadioButton*    m_pRbtGroup;
+    RadioButton*    m_pRbtBitmap;
+    FixedText*      m_pFtAdjustment;
+    ListBox*        m_pLbAdjustment;
+    PushButton*     m_pBtnCreateGroup;
 
     vcl::Window*       pWin;
     ::std::vector< ::std::pair<BitmapEx*, ::tools::Time*> > m_FrameList;
@@ -129,10 +124,6 @@ private:
     size_t          m_nCurrentFrame;
     SdDrawDocument* pMyDoc;
 
-    Size            aSize;
-    Size            aFltWinSize;
-    Size            aDisplaySize;
-    Size            aBmpSize;
     bool            bMovie;
     bool            bAllObjects;
 
diff --git a/sd/uiconfig/simpress/ui/dockinganimation.ui b/sd/uiconfig/simpress/ui/dockinganimation.ui
new file mode 100644
index 0000000..bfa2169
--- /dev/null
+++ b/sd/uiconfig/simpress/ui/dockinganimation.ui
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="lower">1</property>
+    <property name="upper">999</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sd/res/get1obj.png</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sd/res/getallob.png</property>
+  </object>
+  <object class="GtkImage" id="image3">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sd/res/del1bmp.png</property>
+  </object>
+  <object class="GtkImage" id="image4">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sd/res/delall.png</property>
+  </object>
+  <object class="GtkImage" id="image5">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-goto-first</property>
+  </object>
+  <object class="GtkImage" id="image6">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-previous</property>
+  </object>
+  <object class="GtkImage" id="image7">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-stop</property>
+  </object>
+  <object class="GtkImage" id="image8">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-next</property>
+  </object>
+  <object class="GtkImage" id="image9">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-goto-last</property>
+  </object>
+  <object class="GtkWindow" id="DockingAnimation">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Animation</property>
+    <property name="type_hint">dock</property>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkGrid" id="grid1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
+            <property name="row_spacing">24</property>
+            <child>
+              <object class="GtkGrid" id="grid2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="row_spacing">12</property>
+                <child>
+                  <object class="GtkBox" id="box">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="tooltip_text" translatable="yes">Preview</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
+                    <property name="column_spacing">12</property>
+                    <child>
+                      <object class="GtkComboBoxText" id="loopcount">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="tooltip_text" translatable="yes">Loop Count</property>
+                        <items>
+                          <item translatable="yes">1</item>
+                          <item translatable="yes">2</item>
+                          <item translatable="yes">3</item>
+                          <item translatable="yes">4</item>
+                          <item translatable="yes">5</item>
+                          <item translatable="yes">6</item>
+                          <item translatable="yes">7</item>
+                          <item translatable="yes">8</item>
+                          <item translatable="yes">9</item>
+                          <item translatable="yes">10</item>
+                          <item translatable="yes">12</item>
+                          <item translatable="yes">15</item>
+                          <item translatable="yes">20</item>
+                          <item translatable="yes">25</item>
+                          <item translatable="yes">50</item>
+                          <item translatable="yes">100</item>
+                          <item translatable="yes">500</item>
+                          <item translatable="yes">1000</item>
+                          <item translatable="yes">Max.</item>
+                        </items>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="duration:hh:mm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip_text" translatable="yes">Duration</property>
+                        <property name="digits">2</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="numbitmap">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip_text" translatable="yes">Image Number</property>
+                        <property name="text" translatable="yes">1</property>
+                        <property name="adjustment">adjustment1</property>
+                        <property name="value">1</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkGrid" id="grid9">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="valign">center</property>
+                        <property name="column_spacing">6</property>
+                        <child>
+                          <object class="GtkButton" id="first">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="tooltip_text" translatable="yes">First Image</property>
+                            <property name="image">image5</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="prev">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="tooltip_text" translatable="yes">Backwards</property>
+                            <property name="image">image6</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="stop">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="tooltip_text" translatable="yes">Stop</property>
+                            <property name="image">image7</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="next">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="tooltip_text" translatable="yes">Play</property>
+                            <property name="image">image8</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">3</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="last">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="tooltip_text" translatable="yes">Last Image</property>
+                            <property name="image">image9</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">4</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="top_padding">6</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkGrid" id="grid6">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="row_spacing">6</property>
+                        <child>
+                          <object class="GtkRadioButton" id="group">
+                            <property name="label" translatable="yes">Group object</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">bitmap</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="bitmap">
+                            <property name="label" translatable="yes">Bitmap object</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">group</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkGrid" id="grid10">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkLabel" id="alignmentft">
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes">Alignment</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">alignment</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBoxText" id="alignment">
+                                <property name="can_focus">False</property>
+                                <items>
+                                  <item translatable="yes">Top Left</item>
+                                  <item translatable="yes">Left</item>
+                                  <item translatable="yes">Bottom Left</item>
+                                  <item translatable="yes">Top</item>
+                                  <item translatable="yes">Centered</item>
+                                  <item translatable="yes">Bottom</item>
+                                  <item translatable="yes">Top Right</item>
+                                  <item translatable="yes">Right</item>
+                                  <item translatable="yes">Bottom Right</item>
+                                </items>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Animation group</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="top_padding">6</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkGrid" id="grid7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="column_spacing">24</property>
+                        <child>
+                          <object class="GtkGrid" id="grid11">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkButton" id="getone">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="tooltip_text" translatable="yes">Apply Object</property>
+                                <property name="image">image1</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkButton" id="getall">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="tooltip_text" translatable="yes">Apply Objects Individually</property>
+                                <property name="image">image2</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkGrid" id="grid12">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">end</property>
+                            <property name="hexpand">True</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkLabel" id="label3">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Number</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="count">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">67</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkGrid" id="grid13">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">center</property>
+                            <property name="hexpand">True</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkButton" id="delone">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="tooltip_text" translatable="yes">Delete Current Image</property>
+                                <property name="image">image3</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkButton" id="delall">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="tooltip_text" translatable="yes">Delete All Images</property>
+                                <property name="image">image4</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Image</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButtonBox" id="buttonbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="create">
+                <property name="label" translatable="yes">Create</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
commit 545ac4de25029ef114be48becbdb3329b0767e10
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 09:58:11 2014 +0000

    map gtk-media-stop to SymbolType::STOP
    
    Change-Id: Iffdc04464bd70ca70684f28e6d6e23a054bfc8a7

diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 5c9356b..4dc7a65 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -74,6 +74,8 @@ namespace
             eRet = SymbolType::PREV;
         else if (sType == "gtk-media-play")
             eRet = SymbolType::PLAY;
+        else if (sType == "gtk-media-stop")
+            eRet = SymbolType::STOP;
         else if (sType == "gtk-goto-first")
             eRet = SymbolType::FIRST;
         else if (sType == "gtk-goto-last")
commit 63d650b464ea108c3f2078cd1ce6b851dfc37120
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Dec 17 09:20:11 2014 +0000

    relax assert, 0 is fine
    
    Change-Id: I176a79bce85fa81310a53fcfecc6e0bc63f0ae18

diff --git a/sd/source/ui/dlg/animobjs.cxx b/sd/source/ui/dlg/animobjs.cxx
index 2003ca4..70fccb6 100644
--- a/sd/source/ui/dlg/animobjs.cxx
+++ b/sd/source/ui/dlg/animobjs.cxx
@@ -291,7 +291,7 @@ IMPL_LINK( AnimationWindow, ClickPlayHdl, void *, p )
     while( bCount && bMovie )
     {
         // make list and view consistent
-        assert(0 < i && i < m_FrameList.size());
+        assert(i < m_FrameList.size());
         m_nCurrentFrame = i;
 
         UpdateControl(bDisableCtrls);
commit 48c15285c52f6554f1aadab6068c076c2139ef89
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Dec 16 14:07:08 2014 +0000

    implement loading docking windows from .ui format
    
    Change-Id: I90375232aefbe40412614ca0f30ba467cf393f2e

diff --git a/include/sfx2/dockwin.hxx b/include/sfx2/dockwin.hxx
index 4e00ab2..1d50cc4 100644
--- a/include/sfx2/dockwin.hxx
+++ b/include/sfx2/dockwin.hxx
@@ -79,6 +79,10 @@ public:
                                           SfxChildWindow *pCW,
                                           vcl::Window* pParent,
                                           const ResId& rResId);
+                        SfxDockingWindow( SfxBindings *pBindings,
+                                          SfxChildWindow *pCW,
+                                          vcl::Window* pParent,
+                                          const OUString& rID, const OUString& rUIXMLDescription );
                         virtual ~SfxDockingWindow();
 
     void                Initialize (SfxChildWinInfo* pInfo);
diff --git a/include/vcl/dockwin.hxx b/include/vcl/dockwin.hxx
index f683cc8..caf25cd 100644
--- a/include/vcl/dockwin.hxx
+++ b/include/vcl/dockwin.hxx
@@ -22,6 +22,7 @@
 
 #include <tools/solar.h>
 #include <vcl/dllapi.h>
+#include <vcl/builder.hxx>
 #include <vcl/floatwin.hxx>
 #include <vector>
 
@@ -222,7 +223,9 @@ public:
 // - DockingWindow -
 
 
-class VCL_DLLPUBLIC DockingWindow : public vcl::Window
+class VCL_DLLPUBLIC DockingWindow
+    : public vcl::Window
+    , public VclBuilderContainer
 {
     class   ImplData;
 private:
@@ -256,9 +259,15 @@ private:

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list