xref: /trunk/main/forms/source/component/GroupBox.cxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
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 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_forms.hxx"
30 #include "GroupBox.hxx"
31 #include "property.hxx"
32 #ifndef _FRM_PROPERTY_HRC_
33 #include "property.hrc"
34 #endif
35 #include "services.hxx"
36 #include <tools/debug.hxx>
37 
38 //.........................................................................
39 namespace frm
40 {
41 using namespace ::com::sun::star::uno;
42 using namespace ::com::sun::star::sdb;
43 using namespace ::com::sun::star::sdbc;
44 using namespace ::com::sun::star::sdbcx;
45 using namespace ::com::sun::star::beans;
46 using namespace ::com::sun::star::container;
47 using namespace ::com::sun::star::form;
48 using namespace ::com::sun::star::awt;
49 using namespace ::com::sun::star::io;
50 using namespace ::com::sun::star::lang;
51 using namespace ::com::sun::star::util;
52 
53 //==================================================================
54 // OGroupBoxModel
55 //==================================================================
56 
57 //------------------------------------------------------------------
58 InterfaceRef SAL_CALL OGroupBoxModel_CreateInstance(const Reference<starlang::XMultiServiceFactory>& _rxFactory) throw (RuntimeException)
59 {
60     return *(new OGroupBoxModel(_rxFactory));
61 }
62 
63 //------------------------------------------------------------------
64 DBG_NAME( OGroupBoxModel )
65 //------------------------------------------------------------------
66 OGroupBoxModel::OGroupBoxModel(const Reference<starlang::XMultiServiceFactory>& _rxFactory)
67     :OControlModel(_rxFactory, VCL_CONTROLMODEL_GROUPBOX, VCL_CONTROL_GROUPBOX)
68 {
69     DBG_CTOR( OGroupBoxModel, NULL );
70     m_nClassId = FormComponentType::GROUPBOX;
71 }
72 
73 //------------------------------------------------------------------
74 OGroupBoxModel::OGroupBoxModel( const OGroupBoxModel* _pOriginal, const Reference<starlang::XMultiServiceFactory>& _rxFactory )
75     :OControlModel( _pOriginal, _rxFactory )
76 {
77     DBG_CTOR( OGroupBoxModel, NULL );
78 }
79 
80 // XServiceInfo
81 //------------------------------------------------------------------------------
82 StringSequence SAL_CALL OGroupBoxModel::getSupportedServiceNames() throw(RuntimeException)
83 {
84     StringSequence aSupported = OControlModel::getSupportedServiceNames();
85     aSupported.realloc(aSupported.getLength() + 1);
86 
87     ::rtl::OUString* pArray = aSupported.getArray();
88     pArray[aSupported.getLength()-1] = FRM_SUN_COMPONENT_GROUPBOX;
89     return aSupported;
90 }
91 
92 //------------------------------------------------------------------
93 OGroupBoxModel::~OGroupBoxModel()
94 {
95     DBG_DTOR( OGroupBoxModel, NULL );
96 }
97 
98 //------------------------------------------------------------------------------
99 IMPLEMENT_DEFAULT_CLONING( OGroupBoxModel )
100 
101 //------------------------------------------------------------------------------
102 void OGroupBoxModel::describeAggregateProperties( Sequence< Property >& _rAggregateProps ) const
103 {
104     OControlModel::describeAggregateProperties( _rAggregateProps );
105     // don't want to have the TabStop property
106     RemoveProperty(_rAggregateProps, PROPERTY_TABSTOP);
107 }
108 
109 //------------------------------------------------------------------------------
110 ::rtl::OUString SAL_CALL OGroupBoxModel::getServiceName() throw(RuntimeException)
111 {
112     return FRM_COMPONENT_GROUPBOX;  // old (non-sun) name for compatibility !
113 }
114 
115 //------------------------------------------------------------------------------
116 void SAL_CALL OGroupBoxModel::write(const Reference< XObjectOutputStream>& _rxOutStream)
117     throw(IOException, RuntimeException)
118 {
119     OControlModel::write(_rxOutStream);
120 
121     // Version
122     _rxOutStream->writeShort(0x0002);
123     writeHelpTextCompatibly(_rxOutStream);
124 }
125 
126 //------------------------------------------------------------------------------
127 void SAL_CALL OGroupBoxModel::read(const Reference< XObjectInputStream>& _rxInStream) throw(IOException, RuntimeException)
128 {
129     OControlModel::read( _rxInStream );
130 
131     // Version
132     sal_uInt16 nVersion = _rxInStream->readShort();
133     DBG_ASSERT(nVersion > 0, "OGroupBoxModel::read : version 0 ? this should never have been written !");
134         // ups, ist das Englisch richtig ? ;)
135 
136     if (nVersion == 2)
137         readHelpTextCompatibly(_rxInStream);
138 
139     if (nVersion > 0x0002)
140     {
141         DBG_ERROR("OGroupBoxModel::read : unknown version !");
142     }
143 };
144 
145 //==================================================================
146 // OGroupBoxControl
147 //==================================================================
148 
149 //------------------------------------------------------------------
150 InterfaceRef SAL_CALL OGroupBoxControl_CreateInstance(const Reference<starlang::XMultiServiceFactory>& _rxFactory) throw (RuntimeException)
151 {
152     return *(new OGroupBoxControl(_rxFactory));
153 }
154 
155 //------------------------------------------------------------------------------
156 OGroupBoxControl::OGroupBoxControl(const Reference<starlang::XMultiServiceFactory>& _rxFactory)
157                    :OControl(_rxFactory, VCL_CONTROL_GROUPBOX)
158 {
159 }
160 
161 //------------------------------------------------------------------------------
162 StringSequence SAL_CALL OGroupBoxControl::getSupportedServiceNames() throw(RuntimeException)
163 {
164     StringSequence aSupported = OControl::getSupportedServiceNames();
165     aSupported.realloc(aSupported.getLength() + 1);
166 
167     ::rtl::OUString* pArray = aSupported.getArray();
168     pArray[aSupported.getLength()-1] = FRM_SUN_CONTROL_GROUPBOX;
169     return aSupported;
170 }
171 
172 //.........................................................................
173 }
174 //.........................................................................
175 
176