1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir #include "precompiled_toolkit.hxx" 28*cdf0e10cSrcweir 29*cdf0e10cSrcweir #include <toolkit/awt/vclxtabpagemodel.hxx> 30*cdf0e10cSrcweir #include <vcl/tabpage.hxx> 31*cdf0e10cSrcweir #include <vcl/tabctrl.hxx> 32*cdf0e10cSrcweir #include <toolkit/helper/property.hxx> 33*cdf0e10cSrcweir #include <toolkit/helper/vclunohelper.hxx> 34*cdf0e10cSrcweir #include <toolkit/helper/unopropertyarrayhelper.hxx> 35*cdf0e10cSrcweir #include <cppuhelper/typeprovider.hxx> 36*cdf0e10cSrcweir // ---------------------------------------------------- 37*cdf0e10cSrcweir // class VCLXDialog 38*cdf0e10cSrcweir // ---------------------------------------------------- 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir VCLXTabPageModel::VCLXTabPageModel() 41*cdf0e10cSrcweir { 42*cdf0e10cSrcweir } 43*cdf0e10cSrcweir 44*cdf0e10cSrcweir VCLXTabPageModel::~VCLXTabPageModel() 45*cdf0e10cSrcweir { 46*cdf0e10cSrcweir #ifndef __SUNPRO_CC 47*cdf0e10cSrcweir OSL_TRACE ("%s", __FUNCTION__); 48*cdf0e10cSrcweir #endif 49*cdf0e10cSrcweir } 50*cdf0e10cSrcweir 51*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::draw( sal_Int32 nX, sal_Int32 nY ) throw(::com::sun::star::uno::RuntimeException) 52*cdf0e10cSrcweir { 53*cdf0e10cSrcweir ::osl::MutexGuard aGuard( GetMutex() ); 54*cdf0e10cSrcweir Window* pWindow = GetWindow(); 55*cdf0e10cSrcweir 56*cdf0e10cSrcweir if ( pWindow ) 57*cdf0e10cSrcweir { 58*cdf0e10cSrcweir OutputDevice* pDev = VCLUnoHelper::GetOutputDevice( getGraphics() ); 59*cdf0e10cSrcweir if ( !pDev ) 60*cdf0e10cSrcweir pDev = pWindow->GetParent(); 61*cdf0e10cSrcweir 62*cdf0e10cSrcweir Size aSize = pDev->PixelToLogic( pWindow->GetSizePixel() ); 63*cdf0e10cSrcweir Point aPos = pDev->PixelToLogic( Point( nX, nY ) ); 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir pWindow->Draw( pDev, aPos, aSize, WINDOW_DRAW_NOCONTROLS ); 66*cdf0e10cSrcweir } 67*cdf0e10cSrcweir } 68*cdf0e10cSrcweir 69*cdf0e10cSrcweir ::com::sun::star::awt::DeviceInfo VCLXTabPageModel::getInfo() throw(::com::sun::star::uno::RuntimeException) 70*cdf0e10cSrcweir { 71*cdf0e10cSrcweir ::com::sun::star::awt::DeviceInfo aInfo;// = VCLXDevice::getInfo(); 72*cdf0e10cSrcweir return aInfo; 73*cdf0e10cSrcweir } 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir 76*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::setProperty( 77*cdf0e10cSrcweir const ::rtl::OUString& /*PropertyName*/, 78*cdf0e10cSrcweir const ::com::sun::star::uno::Any& /*Value*/ ) 79*cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException) 80*cdf0e10cSrcweir { 81*cdf0e10cSrcweir ::osl::MutexGuard aGuard( GetMutex() ); 82*cdf0e10cSrcweir 83*cdf0e10cSrcweir /*TabPage* pTabPage = (TabPage*)GetWindow(); 84*cdf0e10cSrcweir if ( pTabPage ) 85*cdf0e10cSrcweir { 86*cdf0e10cSrcweir VCLXWindow::setProperty( PropertyName, Value ); 87*cdf0e10cSrcweir }*/ 88*cdf0e10cSrcweir } 89*cdf0e10cSrcweir //XTabPageModel 90*cdf0e10cSrcweir ::sal_Int16 SAL_CALL VCLXTabPageModel::getTabPageID() throw (::com::sun::star::uno::RuntimeException) 91*cdf0e10cSrcweir { 92*cdf0e10cSrcweir return 0; 93*cdf0e10cSrcweir } 94*cdf0e10cSrcweir ::sal_Bool SAL_CALL VCLXTabPageModel::getEnabled() throw (::com::sun::star::uno::RuntimeException) 95*cdf0e10cSrcweir { 96*cdf0e10cSrcweir return false; 97*cdf0e10cSrcweir } 98*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::setEnabled( ::sal_Bool _enabled ) throw (::com::sun::star::uno::RuntimeException) 99*cdf0e10cSrcweir { 100*cdf0e10cSrcweir //TabControl* pTabControl = (TabControl*)GetWindow(); 101*cdf0e10cSrcweir //if ( pTabControl ) 102*cdf0e10cSrcweir // pTabControl->EnablePage(0, true); 103*cdf0e10cSrcweir } 104*cdf0e10cSrcweir ::rtl::OUString SAL_CALL VCLXTabPageModel::getTitle() throw (::com::sun::star::uno::RuntimeException) 105*cdf0e10cSrcweir { 106*cdf0e10cSrcweir //TabControl* pTabControl = (TabControl*)GetWindow(); 107*cdf0e10cSrcweir //if ( pTabControl ) 108*cdf0e10cSrcweir // return pTabControl->GetPageText(0); 109*cdf0e10cSrcweir //else 110*cdf0e10cSrcweir return ::rtl::OUString::createFromAscii(""); 111*cdf0e10cSrcweir } 112*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::setTitle( const ::rtl::OUString& _title ) throw (::com::sun::star::uno::RuntimeException) 113*cdf0e10cSrcweir { 114*cdf0e10cSrcweir //TabControl* pTabControl = (TabControl*)GetWindow(); 115*cdf0e10cSrcweir //if ( pTabControl ) 116*cdf0e10cSrcweir // pTabControl->SetPageText(0, _title); 117*cdf0e10cSrcweir 118*cdf0e10cSrcweir } 119*cdf0e10cSrcweir ::rtl::OUString SAL_CALL VCLXTabPageModel::getImageURL() throw (::com::sun::star::uno::RuntimeException) 120*cdf0e10cSrcweir { 121*cdf0e10cSrcweir return ::rtl::OUString::createFromAscii(""); 122*cdf0e10cSrcweir } 123*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::setImageURL( const ::rtl::OUString& /*_imageurl*/ ) throw (::com::sun::star::uno::RuntimeException) 124*cdf0e10cSrcweir { 125*cdf0e10cSrcweir //m_sImageURL = _imageurl; 126*cdf0e10cSrcweir } 127*cdf0e10cSrcweir ::rtl::OUString SAL_CALL VCLXTabPageModel::getToolTip() throw (::com::sun::star::uno::RuntimeException) 128*cdf0e10cSrcweir { 129*cdf0e10cSrcweir //return m_sTooltip; 130*cdf0e10cSrcweir return ::rtl::OUString::createFromAscii(""); 131*cdf0e10cSrcweir } 132*cdf0e10cSrcweir void SAL_CALL VCLXTabPageModel::setToolTip( const ::rtl::OUString& _tooltip ) throw (::com::sun::star::uno::RuntimeException) 133*cdf0e10cSrcweir { 134*cdf0e10cSrcweir (void)_tooltip; 135*cdf0e10cSrcweir } 136*cdf0e10cSrcweir ::cppu::IPropertyArrayHelper& VCLXTabPageModel::getInfoHelper() 137*cdf0e10cSrcweir { 138*cdf0e10cSrcweir static UnoPropertyArrayHelper* pHelper = NULL; 139*cdf0e10cSrcweir if ( !pHelper ) 140*cdf0e10cSrcweir { 141*cdf0e10cSrcweir com::sun::star::uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds(); 142*cdf0e10cSrcweir pHelper = new UnoPropertyArrayHelper( aIDs ); 143*cdf0e10cSrcweir } 144*cdf0e10cSrcweir return *pHelper; 145*cdf0e10cSrcweir } 146*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > VCLXTabPageModel::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException) 147*cdf0e10cSrcweir { 148*cdf0e10cSrcweir static ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); 149*cdf0e10cSrcweir return xInfo; 150*cdf0e10cSrcweir } 151