1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_svtools.hxx"
26
27 #include "svtools/xwindowitem.hxx"
28
29 #include <vcl/window.hxx>
30
31
32 using namespace ::com::sun::star;
33
34 //////////////////////////////////////////////////////////////////////
35
36 TYPEINIT1_FACTORY( XWindowItem, SfxPoolItem, new XWindowItem );
37
38
XWindowItem()39 XWindowItem::XWindowItem() :
40 SfxPoolItem()
41 {
42 }
43
44
XWindowItem(sal_uInt16 nWhichId,Window * pWin)45 XWindowItem::XWindowItem( sal_uInt16 nWhichId, Window * pWin ) :
46 SfxPoolItem( nWhichId )
47 {
48 if (pWin)
49 {
50 m_xWin = uno::Reference< awt::XWindow >( pWin->GetComponentInterface(), uno::UNO_QUERY );
51 // the assertion can't possibly fails since VCLXWindow implements XWindow...
52 DBG_ASSERT( m_xWin.is(), "failed to get XWindow" );
53 }
54 }
55
56
XWindowItem(sal_uInt16 nWhichId,uno::Reference<awt::XWindow> & rxWin)57 XWindowItem::XWindowItem( sal_uInt16 nWhichId, uno::Reference< awt::XWindow > & rxWin ) :
58 SfxPoolItem( nWhichId ),
59 m_xWin( rxWin )
60 {
61 }
62
63
XWindowItem(const XWindowItem & rItem)64 XWindowItem::XWindowItem( const XWindowItem &rItem ) :
65 SfxPoolItem( Which() ),
66 m_xWin( rItem.m_xWin )
67 {
68 }
69
70
~XWindowItem()71 XWindowItem::~XWindowItem()
72 {
73 }
74
75
Clone(SfxItemPool *) const76 SfxPoolItem * XWindowItem::Clone( SfxItemPool* /*pPool*/ ) const
77 {
78 return new XWindowItem( *this );
79 }
80
81
operator ==(const SfxPoolItem & rAttr) const82 int XWindowItem::operator == ( const SfxPoolItem & rAttr ) const
83 {
84 DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
85
86 const XWindowItem * pItem = dynamic_cast< const XWindowItem * >(&rAttr);
87 return pItem ? m_xWin == pItem->m_xWin : 0;
88 }
89
90
91 //////////////////////////////////////////////////////////////////////
92
93
94