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: hyperdlg.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_svx.hxx"
34 // include ---------------------------------------------------------------
35 #include <vcl/settings.hxx>
36 #include <svtools/viewoptions.hxx>
37 #include "hyperdlg.hxx"
38 #include <svx/svxdlg.hxx> //CHINA001
39 #include <sfx2/app.hxx>
40 #include <sfx2/sfxsids.hrc>
41 #include "hyperdlg.hrc"
44 //########################################################################
46 //# Childwindow-Wrapper-Class #
48 //########################################################################
50 SFX_IMPL_CHILDWINDOW(SvxHlinkDlgWrapper
, SID_HYPERLINK_DIALOG
)
52 // -----------------------------------------------------------------------
56 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
> xFrame
;
57 SfxChildWinFactory
* pFact
;
58 sal_Bool bHideNotDelete
;
60 sal_Bool bHideAtToggle
;
61 SfxModule
* pContextModule
;
62 SfxWorkWindow
* pWorkWin
;
65 SvxHlinkDlgWrapper::SvxHlinkDlgWrapper( Window
* _pParent
, USHORT nId
,
66 SfxBindings
* pBindings
,
67 SfxChildWinInfo
* pInfo
) :
68 SfxChildWindow( _pParent
, nId
),
73 //CHINA001 pWindow = new SvxHpLinkDlg( _pParent, pBindings );
74 SvxAbstractDialogFactory
* pFact
= SvxAbstractDialogFactory::Create();
75 DBG_ASSERT(pFact
, "Dialogdiet fail!");//CHINA001
76 mpDlg
= pFact
->CreateSvxHpLinkDlg( _pParent
, pBindings
, SID_HYPERLINK_DIALOG
);
77 DBG_ASSERT(mpDlg
, "Dialogdiet fail!");//CHINA001
78 pWindow
= mpDlg
->GetWindow();
79 ((MyStruct
*)pImp
)->bVisible
= FALSE
;
81 if ( pInfo
->aSize
.Width() != 0 && pInfo
->aSize
.Height() != 0 )
83 Size
aParentSize( SFX_APP()->GetTopWindow()->GetSizePixel() );
84 Size
aDlgSize ( GetSizePixel () );
86 if( aParentSize
.Width() < pInfo
->aPos
.X() )
87 pInfo
->aPos
.setX( aParentSize
.Width()-aDlgSize
.Width() < long(0.1*aParentSize
.Width()) ?
88 long(0.1*aParentSize
.Width()) : aParentSize
.Width()-aDlgSize
.Width() );
89 if( aParentSize
.Height() < pInfo
->aPos
. Y() )
90 pInfo
->aPos
.setY( aParentSize
.Height()-aDlgSize
.Height() < long(0.1*aParentSize
.Height()) ?
91 long(0.1*aParentSize
.Height()) : aParentSize
.Height()-aDlgSize
.Height() );
93 pWindow
->SetPosPixel( pInfo
->aPos
);
96 eChildAlignment
= SFX_ALIGN_NOALIGNMENT
;
98 SetHideNotDelete( TRUE
);
101 SfxChildWinInfo
SvxHlinkDlgWrapper::GetInfo() const
103 return SfxChildWindow::GetInfo();
106 sal_Bool
SvxHlinkDlgWrapper::QueryClose()
108 return mpDlg
? mpDlg
->QueryClose() : sal_True
;