1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: syncbtn.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_sw.hxx"
37 #include <sfx2/viewfrm.hxx>
38 #include <sfx2/dispatch.hxx>
41 #include "swmodule.hxx"
47 #include "syncbtn.hxx"
48 #include "swtypes.hxx"
50 SFX_IMPL_FLOATINGWINDOW( SwSyncChildWin
, FN_SYNC_LABELS
)
52 /*------------------------------------------------------------------------
54 ------------------------------------------------------------------------*/
56 SwSyncChildWin::SwSyncChildWin( Window
* _pParent
,
58 SfxBindings
* pBindings
,
59 SfxChildWinInfo
* pInfo
) :
60 SfxChildWindow( _pParent
, nId
)
62 pWindow
= new SwSyncBtnDlg( pBindings
, this, _pParent
);
64 if (!pInfo
->aSize
.Width() || !pInfo
->aSize
.Height())
66 SwView
* pActiveView
= ::GetActiveView();
69 const SwEditWin
&rEditWin
= pActiveView
->GetEditWin();
70 pWindow
->SetPosPixel(rEditWin
.OutputToScreenPixel(Point(0, 0)));
73 pWindow
->SetPosPixel(_pParent
->OutputToScreenPixel(Point(0, 0)));
74 pInfo
->aPos
= pWindow
->GetPosPixel();
75 pInfo
->aSize
= pWindow
->GetSizePixel();
78 ((SwSyncBtnDlg
*)pWindow
)->Initialize(pInfo
);
83 /*------------------------------------------------------------------------
85 ------------------------------------------------------------------------*/
87 SwSyncBtnDlg::SwSyncBtnDlg( SfxBindings
* _pBindings
,
88 SfxChildWindow
* pChild
,
90 SfxFloatingWindow(_pBindings
, pChild
, pParent
, SW_RES(DLG_SYNC_BTN
)),
91 aSyncBtn (this, SW_RES(BTN_SYNC
))
94 aSyncBtn
.SetClickHdl(LINK(this, SwSyncBtnDlg
, BtnHdl
));
97 /*------------------------------------------------------------------------
99 ------------------------------------------------------------------------*/
101 __EXPORT
SwSyncBtnDlg::~SwSyncBtnDlg()
105 /*--------------------------------------------------------------------
107 --------------------------------------------------------------------*/
109 IMPL_LINK( SwSyncBtnDlg
, BtnHdl
, PushButton
*, EMPTYARG
)
111 SfxViewFrame::Current()->GetDispatcher()->Execute(FN_UPDATE_ALL_LINKS
, SFX_CALLMODE_ASYNCHRON
);