xref: /AOO41X/main/dbaccess/source/ui/uno/ColumnModel.hxx (revision 2e2212a7c22e96cf6f6fab0dd042c34a45a64bd6) !
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 #ifndef DBAUI_COLUMNMODEL_HXX
24 #define DBAUI_COLUMNMODEL_HXX
25 
26 #ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_
27 #include <com/sun/star/awt/XControlModel.hpp>
28 #endif
29 #ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
30 #include <com/sun/star/lang/XServiceInfo.hpp>
31 #endif
32 #ifndef _COM_SUN_STAR_UTIL_XCLONEABLE_HPP_
33 #include <com/sun/star/util/XCloneable.hpp>
34 #endif
35 #ifndef _COM_SUN_STAR_IO_XPERSISTOBJECT_HPP_
36 #include <com/sun/star/io/XPersistObject.hpp>
37 #endif
38 #ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
39 #include <com/sun/star/sdbc/XConnection.hpp>
40 #endif
41 #ifndef _COMPHELPER_PROPERTY_ARRAY_HELPER_HXX_
42 #include <comphelper/proparrhlp.hxx>
43 #endif
44 #ifndef _COMPHELPER_PROPERTYCONTAINER_HXX_
45 #include <comphelper/propertycontainer.hxx>
46 #endif
47 #ifndef _COMPHELPER_BROADCASTHELPER_HXX_
48 #include <comphelper/broadcasthelper.hxx>
49 #endif
50 #ifndef _COMPHELPER_UNO3_HXX_
51 #include <comphelper/uno3.hxx>
52 #endif
53 #ifndef _CPPUHELPER_COMPBASE4_HXX_
54 #include <cppuhelper/compbase4.hxx>
55 #endif
56 #ifndef _DBASHARED_APITOOLS_HXX_
57 #include "apitools.hxx"
58 #endif
59 
60 //.........................................................................
61 namespace dbaui
62 {
63 //.........................................................................
64 
65 //==================================================================
66 // OColumnControlModel
67 //==================================================================
68 typedef ::cppu::WeakAggComponentImplHelper4 <   ::com::sun::star::awt::XControlModel
69                                         ,   ::com::sun::star::lang::XServiceInfo
70                                         ,   ::com::sun::star::util::XCloneable
71                                         ,   ::com::sun::star::io::XPersistObject
72                                         >   OColumnControlModel_BASE;
73 
74 class OColumnControlModel;
75 
76 class OColumnControlModel :  public ::comphelper::OMutexAndBroadcastHelper
77                             ,public ::comphelper::OPropertyContainer
78                             ,public ::comphelper::OPropertyArrayUsageHelper< OColumnControlModel >
79                             ,public OColumnControlModel_BASE
80 {
81 
82     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory> m_xORB;
83 // [properties]
84     ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>          m_xConnection;
85     ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >       m_xColumn;
86     ::rtl::OUString                 m_sDefaultControl;
87     ::com::sun::star::uno::Any      m_aTabStop;
88     sal_Bool                        m_bEnable;
89     sal_Int16                       m_nBorder;
90     sal_Int32                       m_nWidth;
91 // [properties]
92 
getORB() const93     inline ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory> getORB() const { return m_xORB; }
94     void registerProperties();
95 protected:
96 
97     virtual ~OColumnControlModel();
98     OColumnControlModel(const OColumnControlModel* _pSource
99                         ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory);
100 public:
101     OColumnControlModel(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory);
102 
103 // UNO Anbindung
104     DECLARE_XINTERFACE( )
105 
106 // ::com::sun::star::lang::XServiceInfo
107     DECLARE_SERVICE_INFO_STATIC();
108 
109 // XTypeProvider
110     DECLARE_TYPEPROVIDER( );
111 
112 // com::sun::star::uno::XAggregation
113     virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException);
114 
115 //  ::com::sun::star::io::XPersistObject
116     virtual ::rtl::OUString SAL_CALL getServiceName() throw ( ::com::sun::star::uno::RuntimeException);
117     virtual void SAL_CALL write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream>& _rxOutStream) throw ( ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
118     virtual void SAL_CALL read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream>& _rxInStream) throw ( ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
119 
120 
121 // OPropertyArrayUsageHelper
122     DECLARE_PROPERTYCONTAINER_DEFAULTS( );
123 
124     virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone(  ) throw (::com::sun::star::uno::RuntimeException);
125 };
126 
127 //.........................................................................
128 }   // namespace dbaui
129 //.........................................................................
130 #endif // DBAUI_COLUMNMODEL_HXX
131