update dev300-m58
[ooovba.git] / sw / source / ui / envelp / syncbtn.cxx
blob05d7e0fa4e79187c8cf4ff0d344bc7c10ef6aa43
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: syncbtn.cxx,v $
10 * $Revision: 1.8 $
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>
40 #include "cmdid.h"
41 #include "swmodule.hxx"
42 #include "view.hxx"
43 #include "edtwin.hxx"
44 #include "label.hrc"
46 #define _SYNCDLG
47 #include "syncbtn.hxx"
48 #include "swtypes.hxx"
50 SFX_IMPL_FLOATINGWINDOW( SwSyncChildWin, FN_SYNC_LABELS )
52 /*------------------------------------------------------------------------
53 Beschreibung:
54 ------------------------------------------------------------------------*/
56 SwSyncChildWin::SwSyncChildWin( Window* _pParent,
57 USHORT nId,
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();
67 if(pActiveView)
69 const SwEditWin &rEditWin = pActiveView->GetEditWin();
70 pWindow->SetPosPixel(rEditWin.OutputToScreenPixel(Point(0, 0)));
72 else
73 pWindow->SetPosPixel(_pParent->OutputToScreenPixel(Point(0, 0)));
74 pInfo->aPos = pWindow->GetPosPixel();
75 pInfo->aSize = pWindow->GetSizePixel();
78 ((SwSyncBtnDlg *)pWindow)->Initialize(pInfo);
80 pWindow->Show();
83 /*------------------------------------------------------------------------
84 Beschreibung:
85 ------------------------------------------------------------------------*/
87 SwSyncBtnDlg::SwSyncBtnDlg( SfxBindings* _pBindings,
88 SfxChildWindow* pChild,
89 Window *pParent) :
90 SfxFloatingWindow(_pBindings, pChild, pParent, SW_RES(DLG_SYNC_BTN)),
91 aSyncBtn (this, SW_RES(BTN_SYNC ))
93 FreeResource();
94 aSyncBtn.SetClickHdl(LINK(this, SwSyncBtnDlg, BtnHdl));
97 /*------------------------------------------------------------------------
98 Beschreibung:
99 ------------------------------------------------------------------------*/
101 __EXPORT SwSyncBtnDlg::~SwSyncBtnDlg()
105 /*--------------------------------------------------------------------
106 Beschreibung:
107 --------------------------------------------------------------------*/
109 IMPL_LINK( SwSyncBtnDlg, BtnHdl, PushButton *, EMPTYARG )
111 SfxViewFrame::Current()->GetDispatcher()->Execute(FN_UPDATE_ALL_LINKS, SFX_CALLMODE_ASYNCHRON);
112 return 0;