summaryrefslogtreecommitdiff
path: root/basctl/source/accessibility/accessibledialogcontrolshape.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
commit2e626373db2412ac22e8c5c27a60d11cd29e875b (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /basctl/source/accessibility/accessibledialogcontrolshape.cxx
parentf7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'basctl/source/accessibility/accessibledialogcontrolshape.cxx')
-rw-r--r--basctl/source/accessibility/accessibledialogcontrolshape.cxx621
1 files changed, 0 insertions, 621 deletions
diff --git a/basctl/source/accessibility/accessibledialogcontrolshape.cxx b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
deleted file mode 100644
index 8c7fdcfa3..000000000
--- a/basctl/source/accessibility/accessibledialogcontrolshape.cxx
+++ /dev/null
@@ -1,621 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_basctl.hxx"
-#include <accessibledialogcontrolshape.hxx>
-#include <baside3.hxx>
-#include <dlgeddef.hxx>
-#include <dlgedview.hxx>
-#include <dlgedobj.hxx>
-#include <com/sun/star/accessibility/AccessibleEventId.hpp>
-#include <com/sun/star/accessibility/AccessibleRole.hpp>
-#include <com/sun/star/accessibility/AccessibleStateType.hpp>
-#include <unotools/accessiblestatesethelper.hxx>
-#include <unotools/accessiblerelationsethelper.hxx>
-#include <toolkit/awt/vclxfont.hxx>
-#include <toolkit/helper/externallock.hxx>
-#include <toolkit/helper/convert.hxx>
-#include <toolkit/helper/vclunohelper.hxx>
-#include <vcl/svapp.hxx>
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::accessibility;
-using namespace ::comphelper;
-
-
-// -----------------------------------------------------------------------------
-// class AccessibleDialogControlShape
-// -----------------------------------------------------------------------------
-
-AccessibleDialogControlShape::AccessibleDialogControlShape( DialogWindow* pDialogWindow, DlgEdObj* pDlgEdObj )
- :AccessibleExtendedComponentHelper_BASE( new VCLExternalSolarLock() )
- ,m_pDialogWindow( pDialogWindow )
- ,m_pDlgEdObj( pDlgEdObj )
-{
- m_pExternalLock = static_cast< VCLExternalSolarLock* >( getExternalLock() );
-
- if ( m_pDlgEdObj )
- m_xControlModel = Reference< XPropertySet >( m_pDlgEdObj->GetUnoControlModel(), UNO_QUERY );
-
- if ( m_xControlModel.is() )
- m_xControlModel->addPropertyChangeListener( ::rtl::OUString(), static_cast< beans::XPropertyChangeListener* >( this ) );
-
- m_bFocused = IsFocused();
- m_bSelected = IsSelected();
- m_aBounds = GetBounds();
-}
-
-// -----------------------------------------------------------------------------
-
-AccessibleDialogControlShape::~AccessibleDialogControlShape()
-{
- if ( m_xControlModel.is() )
- m_xControlModel->removePropertyChangeListener( ::rtl::OUString(), static_cast< beans::XPropertyChangeListener* >( this ) );
-
- delete m_pExternalLock;
- m_pExternalLock = NULL;
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Bool AccessibleDialogControlShape::IsFocused()
-{
- sal_Bool bFocused = sal_False;
- if ( m_pDialogWindow )
- {
- SdrView* pSdrView = m_pDialogWindow->GetView();
- if ( pSdrView && pSdrView->IsObjMarked( m_pDlgEdObj ) && pSdrView->GetMarkedObjectList().GetMarkCount() == 1 )
- bFocused = sal_True;
- }
-
- return bFocused;
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Bool AccessibleDialogControlShape::IsSelected()
-{
- sal_Bool bSelected = sal_False;
- if ( m_pDialogWindow )
- {
- SdrView* pSdrView = m_pDialogWindow->GetView();
- if ( pSdrView )
- bSelected = pSdrView->IsObjMarked( m_pDlgEdObj );
- }
-
- return bSelected;
-}
-
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::SetFocused( sal_Bool bFocused )
-{
- if ( m_bFocused != bFocused )
- {
- Any aOldValue, aNewValue;
- if ( m_bFocused )
- aOldValue <<= AccessibleStateType::FOCUSED;
- else
- aNewValue <<= AccessibleStateType::FOCUSED;
- m_bFocused = bFocused;
- NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::SetSelected( sal_Bool bSelected )
-{
- if ( m_bSelected != bSelected )
- {
- Any aOldValue, aNewValue;
- if ( m_bSelected )
- aOldValue <<= AccessibleStateType::SELECTED;
- else
- aNewValue <<= AccessibleStateType::SELECTED;
- m_bSelected = bSelected;
- NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-awt::Rectangle AccessibleDialogControlShape::GetBounds()
-{
- awt::Rectangle aBounds( 0, 0, 0, 0 );
- if ( m_pDlgEdObj )
- {
- // get the bounding box of the shape in logic units
- Rectangle aRect = m_pDlgEdObj->GetSnapRect();
-
- if ( m_pDialogWindow )
- {
- // transform coordinates relative to the parent
- MapMode aMap = m_pDialogWindow->GetMapMode();
- Point aOrg = aMap.GetOrigin();
- aRect.Move( aOrg.X(), aOrg.Y() );
-
- // convert logic units to pixel
- aRect = m_pDialogWindow->LogicToPixel( aRect, MapMode(MAP_100TH_MM) );
-
- // clip the shape's bounding box with the bounding box of its parent
- Rectangle aParentRect( Point( 0, 0 ), m_pDialogWindow->GetSizePixel() );
- aRect = aRect.GetIntersection( aParentRect );
- aBounds = AWTRectangle( aRect );
- }
- }
-
- return aBounds;
-}
-
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::SetBounds( const awt::Rectangle& aBounds )
-{
- if ( m_aBounds.X != aBounds.X || m_aBounds.Y != aBounds.Y || m_aBounds.Width != aBounds.Width || m_aBounds.Height != aBounds.Height )
- {
- m_aBounds = aBounds;
- NotifyAccessibleEvent( AccessibleEventId::BOUNDRECT_CHANGED, Any(), Any() );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-Window* AccessibleDialogControlShape::GetWindow() const
-{
- Window* pWindow = NULL;
- if ( m_pDlgEdObj )
- {
- Reference< awt::XControl > xControl( m_pDlgEdObj->GetControl(), UNO_QUERY );
- if ( xControl.is() )
- pWindow = VCLUnoHelper::GetWindow( xControl->getPeer() );
- }
-
- return pWindow;
-}
-
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::GetModelStringProperty( const sal_Char* pPropertyName )
-{
- ::rtl::OUString sReturn;
-
- try
- {
- if ( m_xControlModel.is() )
- {
- ::rtl::OUString sPropertyName( ::rtl::OUString::createFromAscii( pPropertyName ) );
- Reference< XPropertySetInfo > xInfo = m_xControlModel->getPropertySetInfo();
- if ( xInfo.is() && xInfo->hasPropertyByName( sPropertyName ) )
- m_xControlModel->getPropertyValue( sPropertyName ) >>= sReturn;
- }
- }
- catch ( const Exception& )
- {
- OSL_FAIL( "AccessibleDialogControlShape::GetModelStringProperty: caught an exception!" );
- }
-
- return sReturn;
-}
-
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet )
-{
- rStateSet.AddState( AccessibleStateType::ENABLED );
-
- rStateSet.AddState( AccessibleStateType::VISIBLE );
-
- rStateSet.AddState( AccessibleStateType::SHOWING );
-
- rStateSet.AddState( AccessibleStateType::FOCUSABLE );
-
- if ( IsFocused() )
- rStateSet.AddState( AccessibleStateType::FOCUSED );
-
- rStateSet.AddState( AccessibleStateType::SELECTABLE );
-
- if ( IsSelected() )
- rStateSet.AddState( AccessibleStateType::SELECTED );
-
- rStateSet.AddState( AccessibleStateType::RESIZABLE );
-}
-
-// -----------------------------------------------------------------------------
-// OCommonAccessibleComponent
-// -----------------------------------------------------------------------------
-
-awt::Rectangle AccessibleDialogControlShape::implGetBounds() throw (RuntimeException)
-{
- return GetBounds();
-}
-
-// -----------------------------------------------------------------------------
-// XInterface
-// -----------------------------------------------------------------------------
-
-IMPLEMENT_FORWARD_XINTERFACE2( AccessibleDialogControlShape, AccessibleExtendedComponentHelper_BASE, AccessibleDialogControlShape_BASE )
-
-// -----------------------------------------------------------------------------
-// XTypeProvider
-// -----------------------------------------------------------------------------
-
-IMPLEMENT_FORWARD_XTYPEPROVIDER2( AccessibleDialogControlShape, AccessibleExtendedComponentHelper_BASE, AccessibleDialogControlShape_BASE )
-
-// -----------------------------------------------------------------------------
-// XComponent
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::disposing()
-{
- AccessibleExtendedComponentHelper_BASE::disposing();
-
- m_pDialogWindow = NULL;
- m_pDlgEdObj = NULL;
-
- if ( m_xControlModel.is() )
- m_xControlModel->removePropertyChangeListener( ::rtl::OUString(), static_cast< beans::XPropertyChangeListener* >( this ) );
- m_xControlModel.clear();
-}
-
-// -----------------------------------------------------------------------------
-// XEventListener
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::disposing( const lang::EventObject& ) throw (RuntimeException)
-{
- if ( m_xControlModel.is() )
- m_xControlModel->removePropertyChangeListener( ::rtl::OUString(), static_cast< beans::XPropertyChangeListener* >( this ) );
- m_xControlModel.clear();
-}
-
-// -----------------------------------------------------------------------------
-// XPropertyChangeListener
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::propertyChange( const beans::PropertyChangeEvent& rEvent ) throw (RuntimeException)
-{
- if ( rEvent.PropertyName == DLGED_PROP_NAME )
- {
- NotifyAccessibleEvent( AccessibleEventId::NAME_CHANGED, rEvent.OldValue, rEvent.NewValue );
- }
- else if ( rEvent.PropertyName == DLGED_PROP_POSITIONX ||
- rEvent.PropertyName == DLGED_PROP_POSITIONY ||
- rEvent.PropertyName == DLGED_PROP_WIDTH ||
- rEvent.PropertyName == DLGED_PROP_HEIGHT )
- {
- SetBounds( GetBounds() );
- }
- else if ( rEvent.PropertyName == DLGED_PROP_BACKGROUNDCOLOR ||
- rEvent.PropertyName == DLGED_PROP_TEXTCOLOR ||
- rEvent.PropertyName == DLGED_PROP_TEXTLINECOLOR )
- {
- NotifyAccessibleEvent( AccessibleEventId::VISIBLE_DATA_CHANGED, Any(), Any() );
- }
-}
-
-// -----------------------------------------------------------------------------
-// XServiceInfo
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::getImplementationName() throw (RuntimeException)
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.basctl.AccessibleShape" ));
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Bool AccessibleDialogControlShape::supportsService( const ::rtl::OUString& rServiceName ) throw (RuntimeException)
-{
- Sequence< ::rtl::OUString > aNames( getSupportedServiceNames() );
- const ::rtl::OUString* pNames = aNames.getConstArray();
- const ::rtl::OUString* pEnd = pNames + aNames.getLength();
- for ( ; pNames != pEnd && !pNames->equals( rServiceName ); ++pNames )
- ;
-
- return pNames != pEnd;
-}
-
-// -----------------------------------------------------------------------------
-
-Sequence< ::rtl::OUString > AccessibleDialogControlShape::getSupportedServiceNames() throw (RuntimeException)
-{
- Sequence< ::rtl::OUString > aNames(1);
- aNames[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.AccessibleShape" ));
- return aNames;
-}
-
-// -----------------------------------------------------------------------------
-// XAccessible
-// -----------------------------------------------------------------------------
-
-Reference< XAccessibleContext > AccessibleDialogControlShape::getAccessibleContext( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return this;
-}
-
-// -----------------------------------------------------------------------------
-// XAccessibleContext
-// -----------------------------------------------------------------------------
-
-sal_Int32 AccessibleDialogControlShape::getAccessibleChildCount() throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return 0;
-}
-
-// -----------------------------------------------------------------------------
-
-Reference< XAccessible > AccessibleDialogControlShape::getAccessibleChild( sal_Int32 i ) throw (IndexOutOfBoundsException, RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- if ( i < 0 || i >= getAccessibleChildCount() )
- throw IndexOutOfBoundsException();
-
- return Reference< XAccessible >();
-}
-
-// -----------------------------------------------------------------------------
-
-Reference< XAccessible > AccessibleDialogControlShape::getAccessibleParent( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- Reference< XAccessible > xParent;
- if ( m_pDialogWindow )
- xParent = m_pDialogWindow->GetAccessible();
-
- return xParent;
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Int32 AccessibleDialogControlShape::getAccessibleIndexInParent( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- sal_Int32 nIndexInParent = -1;
- Reference< XAccessible > xParent( getAccessibleParent() );
- if ( xParent.is() )
- {
- Reference< XAccessibleContext > xParentContext( xParent->getAccessibleContext() );
- if ( xParentContext.is() )
- {
- for ( sal_Int32 i = 0, nCount = xParentContext->getAccessibleChildCount(); i < nCount; ++i )
- {
- Reference< XAccessible > xChild( xParentContext->getAccessibleChild( i ) );
- if ( xChild.is() )
- {
- Reference< XAccessibleContext > xChildContext = xChild->getAccessibleContext();
- if ( xChildContext == (XAccessibleContext*)this )
- {
- nIndexInParent = i;
- break;
- }
- }
- }
- }
- }
-
- return nIndexInParent;
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Int16 AccessibleDialogControlShape::getAccessibleRole( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return AccessibleRole::SHAPE;
-}
-
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::getAccessibleDescription( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return GetModelStringProperty( "HelpText" );
-}
-
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::getAccessibleName( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return GetModelStringProperty( "Name" );
-}
-
-// -----------------------------------------------------------------------------
-
-Reference< XAccessibleRelationSet > AccessibleDialogControlShape::getAccessibleRelationSet( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- utl::AccessibleRelationSetHelper* pRelationSetHelper = new utl::AccessibleRelationSetHelper;
- Reference< XAccessibleRelationSet > xSet = pRelationSetHelper;
- return xSet;
-}
-
-// -----------------------------------------------------------------------------
-
-Reference< XAccessibleStateSet > AccessibleDialogControlShape::getAccessibleStateSet( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- utl::AccessibleStateSetHelper* pStateSetHelper = new utl::AccessibleStateSetHelper;
- Reference< XAccessibleStateSet > xSet = pStateSetHelper;
-
- if ( !rBHelper.bDisposed && !rBHelper.bInDispose )
- {
- FillAccessibleStateSet( *pStateSetHelper );
- }
- else
- {
- pStateSetHelper->AddState( AccessibleStateType::DEFUNC );
- }
-
- return xSet;
-}
-
-// -----------------------------------------------------------------------------
-
-Locale AccessibleDialogControlShape::getLocale( ) throw (IllegalAccessibleComponentStateException, RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return Application::GetSettings().GetLocale();
-}
-
-// -----------------------------------------------------------------------------
-// XAccessibleComponent
-// -----------------------------------------------------------------------------
-
-Reference< XAccessible > AccessibleDialogControlShape::getAccessibleAtPoint( const awt::Point& ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return Reference< XAccessible >();
-}
-
-// -----------------------------------------------------------------------------
-
-void AccessibleDialogControlShape::grabFocus( ) throw (RuntimeException)
-{
- // no focus for shapes
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Int32 AccessibleDialogControlShape::getForeground( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- sal_Int32 nColor = 0;
- Window* pWindow = GetWindow();
- if ( pWindow )
- {
- if ( pWindow->IsControlForeground() )
- nColor = pWindow->GetControlForeground().GetColor();
- else
- {
- Font aFont;
- if ( pWindow->IsControlFont() )
- aFont = pWindow->GetControlFont();
- else
- aFont = pWindow->GetFont();
- nColor = aFont.GetColor().GetColor();
- }
- }
-
- return nColor;
-}
-
-// -----------------------------------------------------------------------------
-
-sal_Int32 AccessibleDialogControlShape::getBackground( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- sal_Int32 nColor = 0;
- Window* pWindow = GetWindow();
- if ( pWindow )
- {
- if ( pWindow->IsControlBackground() )
- nColor = pWindow->GetControlBackground().GetColor();
- else
- nColor = pWindow->GetBackground().GetColor().GetColor();
- }
-
- return nColor;
-}
-
-// -----------------------------------------------------------------------------
-// XAccessibleExtendedComponent
-// -----------------------------------------------------------------------------
-
-Reference< awt::XFont > AccessibleDialogControlShape::getFont( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- Reference< awt::XFont > xFont;
- Window* pWindow = GetWindow();
- if ( pWindow )
- {
- Reference< awt::XDevice > xDev( pWindow->GetComponentInterface(), UNO_QUERY );
- if ( xDev.is() )
- {
- Font aFont;
- if ( pWindow->IsControlFont() )
- aFont = pWindow->GetControlFont();
- else
- aFont = pWindow->GetFont();
- VCLXFont* pVCLXFont = new VCLXFont;
- pVCLXFont->Init( *xDev.get(), aFont );
- xFont = pVCLXFont;
- }
- }
-
- return xFont;
-}
-
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::getTitledBorderText( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- return ::rtl::OUString();
-}
-
-// -----------------------------------------------------------------------------
-
-::rtl::OUString AccessibleDialogControlShape::getToolTipText( ) throw (RuntimeException)
-{
- OExternalLockGuard aGuard( this );
-
- ::rtl::OUString sText;
- Window* pWindow = GetWindow();
- if ( pWindow )
- sText = pWindow->GetQuickHelpText();
-
- return sText;
-}
-
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */