1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_forms.hxx"
26*b1cdbd2cSJim Jagielski #include "GroupBox.hxx"
27*b1cdbd2cSJim Jagielski #include "property.hxx"
28*b1cdbd2cSJim Jagielski #ifndef _FRM_PROPERTY_HRC_
29*b1cdbd2cSJim Jagielski #include "property.hrc"
30*b1cdbd2cSJim Jagielski #endif
31*b1cdbd2cSJim Jagielski #include "services.hxx"
32*b1cdbd2cSJim Jagielski #include <tools/debug.hxx>
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski //.........................................................................
35*b1cdbd2cSJim Jagielski namespace frm
36*b1cdbd2cSJim Jagielski {
37*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
38*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::sdb;
39*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::sdbc;
40*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::sdbcx;
41*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::beans;
42*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::container;
43*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::form;
44*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::awt;
45*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::io;
46*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::lang;
47*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::util;
48*b1cdbd2cSJim Jagielski 
49*b1cdbd2cSJim Jagielski //==================================================================
50*b1cdbd2cSJim Jagielski // OGroupBoxModel
51*b1cdbd2cSJim Jagielski //==================================================================
52*b1cdbd2cSJim Jagielski 
53*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
OGroupBoxModel_CreateInstance(const Reference<starlang::XMultiServiceFactory> & _rxFactory)54*b1cdbd2cSJim Jagielski InterfaceRef SAL_CALL OGroupBoxModel_CreateInstance(const Reference<starlang::XMultiServiceFactory>& _rxFactory) throw (RuntimeException)
55*b1cdbd2cSJim Jagielski {
56*b1cdbd2cSJim Jagielski 	return *(new OGroupBoxModel(_rxFactory));
57*b1cdbd2cSJim Jagielski }
58*b1cdbd2cSJim Jagielski 
59*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
DBG_NAME(OGroupBoxModel)60*b1cdbd2cSJim Jagielski DBG_NAME( OGroupBoxModel )
61*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
62*b1cdbd2cSJim Jagielski OGroupBoxModel::OGroupBoxModel(const Reference<starlang::XMultiServiceFactory>& _rxFactory)
63*b1cdbd2cSJim Jagielski 	:OControlModel(_rxFactory, VCL_CONTROLMODEL_GROUPBOX, VCL_CONTROL_GROUPBOX)
64*b1cdbd2cSJim Jagielski {
65*b1cdbd2cSJim Jagielski 	DBG_CTOR( OGroupBoxModel, NULL );
66*b1cdbd2cSJim Jagielski 	m_nClassId = FormComponentType::GROUPBOX;
67*b1cdbd2cSJim Jagielski }
68*b1cdbd2cSJim Jagielski 
69*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
OGroupBoxModel(const OGroupBoxModel * _pOriginal,const Reference<starlang::XMultiServiceFactory> & _rxFactory)70*b1cdbd2cSJim Jagielski OGroupBoxModel::OGroupBoxModel( const OGroupBoxModel* _pOriginal, const Reference<starlang::XMultiServiceFactory>& _rxFactory )
71*b1cdbd2cSJim Jagielski 	:OControlModel( _pOriginal, _rxFactory )
72*b1cdbd2cSJim Jagielski {
73*b1cdbd2cSJim Jagielski 	DBG_CTOR( OGroupBoxModel, NULL );
74*b1cdbd2cSJim Jagielski }
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski // XServiceInfo
77*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
getSupportedServiceNames()78*b1cdbd2cSJim Jagielski StringSequence SAL_CALL	OGroupBoxModel::getSupportedServiceNames() throw(RuntimeException)
79*b1cdbd2cSJim Jagielski {
80*b1cdbd2cSJim Jagielski 	StringSequence aSupported = OControlModel::getSupportedServiceNames();
81*b1cdbd2cSJim Jagielski 	aSupported.realloc(aSupported.getLength() + 1);
82*b1cdbd2cSJim Jagielski 
83*b1cdbd2cSJim Jagielski 	::rtl::OUString* pArray = aSupported.getArray();
84*b1cdbd2cSJim Jagielski 	pArray[aSupported.getLength()-1] = FRM_SUN_COMPONENT_GROUPBOX;
85*b1cdbd2cSJim Jagielski 	return aSupported;
86*b1cdbd2cSJim Jagielski }
87*b1cdbd2cSJim Jagielski 
88*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
~OGroupBoxModel()89*b1cdbd2cSJim Jagielski OGroupBoxModel::~OGroupBoxModel()
90*b1cdbd2cSJim Jagielski {
91*b1cdbd2cSJim Jagielski 	DBG_DTOR( OGroupBoxModel, NULL );
92*b1cdbd2cSJim Jagielski }
93*b1cdbd2cSJim Jagielski 
94*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
IMPLEMENT_DEFAULT_CLONING(OGroupBoxModel)95*b1cdbd2cSJim Jagielski IMPLEMENT_DEFAULT_CLONING( OGroupBoxModel )
96*b1cdbd2cSJim Jagielski 
97*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
98*b1cdbd2cSJim Jagielski void OGroupBoxModel::describeAggregateProperties( Sequence< Property >& _rAggregateProps ) const
99*b1cdbd2cSJim Jagielski {
100*b1cdbd2cSJim Jagielski     OControlModel::describeAggregateProperties( _rAggregateProps );
101*b1cdbd2cSJim Jagielski 	// don't want to have the TabStop property
102*b1cdbd2cSJim Jagielski 	RemoveProperty(_rAggregateProps, PROPERTY_TABSTOP);
103*b1cdbd2cSJim Jagielski }
104*b1cdbd2cSJim Jagielski 
105*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
getServiceName()106*b1cdbd2cSJim Jagielski ::rtl::OUString SAL_CALL OGroupBoxModel::getServiceName() throw(RuntimeException)
107*b1cdbd2cSJim Jagielski {
108*b1cdbd2cSJim Jagielski 	return FRM_COMPONENT_GROUPBOX;	// old (non-sun) name for compatibility !
109*b1cdbd2cSJim Jagielski }
110*b1cdbd2cSJim Jagielski 
111*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
write(const Reference<XObjectOutputStream> & _rxOutStream)112*b1cdbd2cSJim Jagielski void SAL_CALL OGroupBoxModel::write(const Reference< XObjectOutputStream>& _rxOutStream)
113*b1cdbd2cSJim Jagielski 	throw(IOException, RuntimeException)
114*b1cdbd2cSJim Jagielski {
115*b1cdbd2cSJim Jagielski 	OControlModel::write(_rxOutStream);
116*b1cdbd2cSJim Jagielski 
117*b1cdbd2cSJim Jagielski 	// Version
118*b1cdbd2cSJim Jagielski 	_rxOutStream->writeShort(0x0002);
119*b1cdbd2cSJim Jagielski 	writeHelpTextCompatibly(_rxOutStream);
120*b1cdbd2cSJim Jagielski }
121*b1cdbd2cSJim Jagielski 
122*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
read(const Reference<XObjectInputStream> & _rxInStream)123*b1cdbd2cSJim Jagielski void SAL_CALL OGroupBoxModel::read(const Reference< XObjectInputStream>& _rxInStream) throw(IOException, RuntimeException)
124*b1cdbd2cSJim Jagielski {
125*b1cdbd2cSJim Jagielski 	OControlModel::read( _rxInStream );
126*b1cdbd2cSJim Jagielski 
127*b1cdbd2cSJim Jagielski 	// Version
128*b1cdbd2cSJim Jagielski 	sal_uInt16 nVersion = _rxInStream->readShort();
129*b1cdbd2cSJim Jagielski 	DBG_ASSERT(nVersion > 0, "OGroupBoxModel::read : version 0 ? this should never have been written !");
130*b1cdbd2cSJim Jagielski 		// ups, ist das Englisch richtig ? ;)
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski 	if (nVersion == 2)
133*b1cdbd2cSJim Jagielski 		readHelpTextCompatibly(_rxInStream);
134*b1cdbd2cSJim Jagielski 
135*b1cdbd2cSJim Jagielski 	if (nVersion > 0x0002)
136*b1cdbd2cSJim Jagielski 	{
137*b1cdbd2cSJim Jagielski 		DBG_ERROR("OGroupBoxModel::read : unknown version !");
138*b1cdbd2cSJim Jagielski 	}
139*b1cdbd2cSJim Jagielski };
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski //==================================================================
142*b1cdbd2cSJim Jagielski // OGroupBoxControl
143*b1cdbd2cSJim Jagielski //==================================================================
144*b1cdbd2cSJim Jagielski 
145*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
OGroupBoxControl_CreateInstance(const Reference<starlang::XMultiServiceFactory> & _rxFactory)146*b1cdbd2cSJim Jagielski InterfaceRef SAL_CALL OGroupBoxControl_CreateInstance(const Reference<starlang::XMultiServiceFactory>& _rxFactory) throw (RuntimeException)
147*b1cdbd2cSJim Jagielski {
148*b1cdbd2cSJim Jagielski 	return *(new OGroupBoxControl(_rxFactory));
149*b1cdbd2cSJim Jagielski }
150*b1cdbd2cSJim Jagielski 
151*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
OGroupBoxControl(const Reference<starlang::XMultiServiceFactory> & _rxFactory)152*b1cdbd2cSJim Jagielski OGroupBoxControl::OGroupBoxControl(const Reference<starlang::XMultiServiceFactory>& _rxFactory)
153*b1cdbd2cSJim Jagielski 			       :OControl(_rxFactory, VCL_CONTROL_GROUPBOX)
154*b1cdbd2cSJim Jagielski {
155*b1cdbd2cSJim Jagielski }
156*b1cdbd2cSJim Jagielski 
157*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
getSupportedServiceNames()158*b1cdbd2cSJim Jagielski StringSequence SAL_CALL	OGroupBoxControl::getSupportedServiceNames() throw(RuntimeException)
159*b1cdbd2cSJim Jagielski {
160*b1cdbd2cSJim Jagielski 	StringSequence aSupported = OControl::getSupportedServiceNames();
161*b1cdbd2cSJim Jagielski 	aSupported.realloc(aSupported.getLength() + 1);
162*b1cdbd2cSJim Jagielski 
163*b1cdbd2cSJim Jagielski 	::rtl::OUString* pArray = aSupported.getArray();
164*b1cdbd2cSJim Jagielski 	pArray[aSupported.getLength()-1] = FRM_SUN_CONTROL_GROUPBOX;
165*b1cdbd2cSJim Jagielski 	return aSupported;
166*b1cdbd2cSJim Jagielski }
167*b1cdbd2cSJim Jagielski 
168*b1cdbd2cSJim Jagielski //.........................................................................
169*b1cdbd2cSJim Jagielski }
170*b1cdbd2cSJim Jagielski //.........................................................................
171*b1cdbd2cSJim Jagielski 
172