xref: /AOO41X/main/basctl/source/basicide/basidectrlr.cxx (revision 31598a226906602f93ad246cbee896e3caca5f8f)
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_basctl.hxx"
26 
27 #ifndef _BASCTL_BASIDECTRLR_HXX_
28 #include <basidectrlr.hxx>
29 #endif
30 #include <cppuhelper/queryinterface.hxx>
31 #include <comphelper/sequence.hxx>
32 #include <com/sun/star/beans/PropertyAttribute.hpp>
33 
34 #include <vcl/syswin.hxx>
35 
36 #include <basidesh.hxx>
37 
38 
39 using namespace com::sun::star;
40 using namespace com::sun::star::uno;
41 using namespace com::sun::star::beans;
42 
43 
44 #define PROPERTY_ID_ICONID      1
45 #define PROPERTY_ICONID         ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IconId" ) )
46 
47 
48 //----------------------------------------------------------------------------
49 
BasicIDEController(BasicIDEShell * pViewShell)50 BasicIDEController::BasicIDEController( BasicIDEShell* pViewShell )
51     :OPropertyContainer( m_aBHelper )
52     ,SfxBaseController( pViewShell )
53     ,m_nIconId( ICON_MACROLIBRARY )
54 {
55     registerProperty( PROPERTY_ICONID, PROPERTY_ID_ICONID, PropertyAttribute::READONLY, &m_nIconId, ::getCppuType( &m_nIconId ) );
56 }
57 
58 //----------------------------------------------------------------------------
59 
~BasicIDEController()60 BasicIDEController::~BasicIDEController()
61 {
62 }
63 
64 // XInterface
65 //----------------------------------------------------------------------------
66 
queryInterface(const Type & rType)67 Any SAL_CALL BasicIDEController::queryInterface( const Type & rType ) throw(RuntimeException)
68 {
69     Any aReturn = SfxBaseController::queryInterface( rType );
70     if ( !aReturn.hasValue() )
71         aReturn = OPropertyContainer::queryInterface( rType );
72 
73     return aReturn;
74 }
75 
76 //----------------------------------------------------------------------------
77 
acquire()78 void SAL_CALL BasicIDEController::acquire() throw()
79 {
80     SfxBaseController::acquire();
81 }
82 
83 //----------------------------------------------------------------------------
84 
release()85 void SAL_CALL BasicIDEController::release() throw()
86 {
87     SfxBaseController::release();
88 }
89 
90 
91 // XTypeProvider ( ::SfxBaseController )
92 //----------------------------------------------------------------------------
93 
getTypes()94 Sequence< Type > SAL_CALL BasicIDEController::getTypes() throw(RuntimeException)
95 {
96     Sequence< Type > aTypes = ::comphelper::concatSequences(
97         SfxBaseController::getTypes(),
98         OPropertyContainer::getTypes()
99         );
100 
101     return aTypes;
102 }
103 
104 //----------------------------------------------------------------------------
105 
getImplementationId()106 Sequence< sal_Int8 > SAL_CALL BasicIDEController::getImplementationId() throw(RuntimeException)
107 {
108     static ::cppu::OImplementationId * pId = 0;
109     if ( !pId )
110     {
111         ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
112         if ( !pId )
113         {
114             static ::cppu::OImplementationId aId;
115             pId = &aId;
116         }
117     }
118     return pId->getImplementationId();
119 }
120 
121 // XPropertySet
122 //----------------------------------------------------------------------------
123 
getPropertySetInfo()124 Reference< beans::XPropertySetInfo > SAL_CALL BasicIDEController::getPropertySetInfo() throw(RuntimeException)
125 {
126     Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
127     return xInfo;
128 }
129 
130 // OPropertySetHelper
131 //----------------------------------------------------------------------------
132 
getInfoHelper()133 ::cppu::IPropertyArrayHelper& BasicIDEController::getInfoHelper()
134 {
135     return *getArrayHelper();
136 }
137 
138 // OPropertyArrayUsageHelper
139 //----------------------------------------------------------------------------
140 
createArrayHelper() const141 ::cppu::IPropertyArrayHelper* BasicIDEController::createArrayHelper( ) const
142 {
143     Sequence< Property > aProps;
144     describeProperties( aProps );
145     return new ::cppu::OPropertyArrayHelper( aProps );
146 }
147 
148 //----------------------------------------------------------------------------
149