diff options
author | Thomas Benisch <tbe@openoffice.org> | 2001-10-10 15:23:05 +0000 |
---|---|---|
committer | Thomas Benisch <tbe@openoffice.org> | 2001-10-10 15:23:05 +0000 |
commit | 5f08c97979427ded3594d5a71fc32f6e7db832d2 (patch) | |
tree | ca74f458d1f7c26a7e31f411d15ef8608d15f50c /basctl/source | |
parent | 5495a8e91e4673dfed648c83543d70d27a4dc5f4 (diff) |
#92152# Wrong caption bar icon in BasicIDE
Diffstat (limited to 'basctl/source')
-rw-r--r-- | basctl/source/basicide/basidectrlr.cxx | 192 | ||||
-rw-r--r-- | basctl/source/basicide/basidesh.cxx | 9 | ||||
-rw-r--r-- | basctl/source/basicide/makefile.mk | 10 | ||||
-rw-r--r-- | basctl/source/inc/basidectrlr.hxx | 119 |
4 files changed, 324 insertions, 6 deletions
diff --git a/basctl/source/basicide/basidectrlr.cxx b/basctl/source/basicide/basidectrlr.cxx new file mode 100644 index 000000000000..d03c83cea648 --- /dev/null +++ b/basctl/source/basicide/basidectrlr.cxx @@ -0,0 +1,192 @@ +/************************************************************************* + * + * $RCSfile: basidectrlr.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: tbe $ $Date: 2001-10-10 16:20:13 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _BASCTL_BASIDECTRLR_HXX_ +#include <basidectrlr.hxx> +#endif + +#ifndef _CPPUHELPER_QUERYINTERFACE_HXX_ +#include <cppuhelper/queryinterface.hxx> +#endif + +#ifndef _COMPHELPER_SEQUENCE_HXX_ +#include <comphelper/sequence.hxx> +#endif + +#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_ +#include <com/sun/star/beans/PropertyAttribute.hpp> +#endif + +#include <vcl/syswin.hxx> + +#include <basidesh.hxx> + + +using namespace com::sun::star; +using namespace com::sun::star::uno; +using namespace com::sun::star::beans; + + +#define PROPERTY_ID_ICONID 1 +#define PROPERTY_ICONID ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IconId" ) ) + + +//---------------------------------------------------------------------------- + +BasicIDEController::BasicIDEController( BasicIDEShell* pViewShell ) + :OPropertyContainer( m_aBHelper ) + ,SfxBaseController( pViewShell ) + ,m_nIconId( ICON_MACROLIBRARY ) +{ + registerProperty( PROPERTY_ICONID, PROPERTY_ID_ICONID, PropertyAttribute::READONLY, &m_nIconId, ::getCppuType( &m_nIconId ) ); +} + +//---------------------------------------------------------------------------- + +BasicIDEController::~BasicIDEController() +{ +} + +// XInterface +//---------------------------------------------------------------------------- + +Any SAL_CALL BasicIDEController::queryInterface( const Type & rType ) throw(RuntimeException) +{ + Any aReturn = SfxBaseController::queryInterface( rType ); + if ( !aReturn.hasValue() ) + aReturn = OPropertyContainer::queryInterface( rType ); + + return aReturn; +} + +//---------------------------------------------------------------------------- + +void SAL_CALL BasicIDEController::acquire() throw() +{ + SfxBaseController::acquire(); +} + +//---------------------------------------------------------------------------- + +void SAL_CALL BasicIDEController::release() throw() +{ + SfxBaseController::release(); +} + + +// XTypeProvider ( ::SfxBaseController ) +//---------------------------------------------------------------------------- + +Sequence< Type > SAL_CALL BasicIDEController::getTypes() throw(RuntimeException) +{ + Sequence< Type > aTypes = ::comphelper::concatSequences( + SfxBaseController::getTypes(), + OPropertyContainer::getTypes() + ); + + return aTypes; +} + +//---------------------------------------------------------------------------- + +Sequence< sal_Int8 > SAL_CALL BasicIDEController::getImplementationId() throw(RuntimeException) +{ + static ::cppu::OImplementationId * pId = 0; + if ( !pId ) + { + ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); + if ( !pId ) + { + static ::cppu::OImplementationId aId; + pId = &aId; + } + } + return pId->getImplementationId(); +} + +// XPropertySet +//---------------------------------------------------------------------------- + +Reference< beans::XPropertySetInfo > SAL_CALL BasicIDEController::getPropertySetInfo() throw(RuntimeException) +{ + Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); + return xInfo; +} + +// OPropertySetHelper +//---------------------------------------------------------------------------- + +::cppu::IPropertyArrayHelper& BasicIDEController::getInfoHelper() +{ + return *getArrayHelper(); +} + +// OPropertyArrayUsageHelper +//---------------------------------------------------------------------------- + +::cppu::IPropertyArrayHelper* BasicIDEController::createArrayHelper( ) const +{ + Sequence< Property > aProps; + describeProperties( aProps ); + return new ::cppu::OPropertyArrayHelper( aProps ); +} + +//---------------------------------------------------------------------------- diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 1af8a4bacd85..558fc146ff5d 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -2,9 +2,9 @@ * * $RCSfile: basidesh.cxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: tbe $ $Date: 2001-09-25 09:12:40 $ + * last change: $Author: tbe $ $Date: 2001-10-10 16:22:03 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -97,6 +97,7 @@ #include <sbxitem.hxx> #include <tbxctl.hxx> #include <iderdll2.hxx> +#include <basidectrlr.hxx> #define BasicIDEShell #define SFX_TYPEMAP @@ -113,6 +114,7 @@ #include <com/sun/star/container/XNameAccess.hpp> #endif + using namespace ::com::sun::star::uno; using namespace ::com::sun::star; using namespace ::rtl; @@ -219,6 +221,9 @@ void BasicIDEShell::Init() IDE_DLL()->pShell = this; IDE_DLL()->GetExtraData()->ShellInCriticalSection() = FALSE; + ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > aTmpRef; + GetViewFrame()->GetFrame()->GetFrameInterface()->setComponent( aTmpRef, new BasicIDEController( this ) ); + UpdateWindows(); } diff --git a/basctl/source/basicide/makefile.mk b/basctl/source/basicide/makefile.mk index fe037802863a..03ac574e123f 100644 --- a/basctl/source/basicide/makefile.mk +++ b/basctl/source/basicide/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.10 $ +# $Revision: 1.11 $ # -# last change: $Author: tbe $ $Date: 2001-07-25 14:51:32 $ +# last change: $Author: tbe $ $Date: 2001-10-10 16:23:05 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -109,7 +109,8 @@ SLOFILES = \ $(SLO)$/moduldlg.obj \ $(SLO)$/moduldl2.obj \ $(SLO)$/objdlg.obj \ - $(SLO)$/tbxctl.obj + $(SLO)$/tbxctl.obj \ + $(SLO)$/basidectrlr.obj EXCEPTIONSFILES=$(SLO)$/basidesh.obj \ $(SLO)$/basides1.obj \ @@ -122,7 +123,8 @@ EXCEPTIONSFILES=$(SLO)$/basidesh.obj \ $(SLO)$/bastype2.obj \ $(SLO)$/macrodlg.obj \ $(SLO)$/moduldlg.obj \ - $(SLO)$/moduldl2.obj + $(SLO)$/moduldl2.obj \ + $(SLO)$/basidectrlr.obj SRCFILES= basidesh.src macrodlg.src moptions.src moduldlg.src objdlg.src brkdlg.src tbxctl.src diff --git a/basctl/source/inc/basidectrlr.hxx b/basctl/source/inc/basidectrlr.hxx new file mode 100644 index 000000000000..d4df61d8cbd4 --- /dev/null +++ b/basctl/source/inc/basidectrlr.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * $RCSfile: basidectrlr.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: tbe $ $Date: 2001-10-10 16:18:51 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _BASCTL_BASICIDECTRLR_HXX +#define _BASCTL_BASICIDECTRLR_HXX + +#ifndef _COMPHELPER_BROADCASTHELPER_HXX_ +#include <comphelper/broadcasthelper.hxx> +#endif + +#ifndef _COMPHELPER_PROPERTYCONTAINER_HXX_ +#include <comphelper/propertycontainer.hxx> +#endif + +#ifndef _COMPHELPER_PROPERTY_ARRAY_HELPER_HXX_ +#include <comphelper/proparrhlp.hxx> +#endif + +#ifndef _SFX_SFXBASECONTROLLER_HXX_ +#include <sfx2/sfxbasecontroller.hxx> +#endif + + +class BasicIDEShell; + + +class BasicIDEController :public comphelper::OMutexAndBroadcastHelper + ,public ::comphelper::OPropertyContainer + ,public ::comphelper::OPropertyArrayUsageHelper< BasicIDEController > + ,public SfxBaseController +{ +private: + // properties + sal_Int32 m_nIconId; + +public: + BasicIDEController( BasicIDEShell* pViewShell ); + virtual ~BasicIDEController(); + + // XInterface + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire() throw(); + virtual void SAL_CALL release() throw(); + + // XTypeProvider ( ::SfxBaseController ) + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw( ::com::sun::star::uno::RuntimeException ); + virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw( ::com::sun::star::uno::RuntimeException ); + + // XPropertySet + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); + + // OPropertySetHelper + virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper(); + +protected: + // OPropertyArrayUsageHelper + virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const; +}; + +#endif // _BASCTL_BASICIDECTRLR_HXX + |