1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef OOX_OLE_AXCONTROLFRAGMENT_HXX
29 #define OOX_OLE_AXCONTROLFRAGMENT_HXX
30 
31 #include "oox/core/fragmenthandler2.hxx"
32 
33 namespace oox {
34 namespace ole {
35 
36 class ControlModelBase;
37 class EmbeddedControl;
38 
39 // ============================================================================
40 
41 /** Context handler for ActiveX form control model properties. */
42 class AxControlPropertyContext : public ::oox::core::ContextHandler2
43 {
44 public:
45     explicit            AxControlPropertyContext(
46                             ::oox::core::FragmentHandler2& rFragment,
47                             ControlModelBase& rModel );
48 
49     virtual ::oox::core::ContextHandlerRef
50                         onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
51 
52 private:
53     ControlModelBase&   mrModel;
54     sal_Int32           mnPropId;           /// Identifier of currently processed property.
55 };
56 
57 // ============================================================================
58 
59 /** Fragment handler for an embedded ActiveX form control fragment. */
60 class AxControlFragment : public ::oox::core::FragmentHandler2
61 {
62 public:
63     explicit            AxControlFragment(
64                             ::oox::core::XmlFilterBase& rFilter,
65                             const ::rtl::OUString& rFragmentPath,
66                             EmbeddedControl& rControl );
67 
68     virtual ::oox::core::ContextHandlerRef
69                         onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
70 
71 private:
72     EmbeddedControl&    mrControl;
73 };
74 
75 // ============================================================================
76 
77 } // namespace ole
78 } // namespace oox
79 
80 #endif
81