You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ja...@apache.org on 2013/11/19 23:39:57 UTC
svn commit: r1543609 [18/32] - in /openoffice/branches/l10n40/main: ./
accessibility/inc/accessibility/extended/
accessibility/inc/accessibility/helper/
accessibility/inc/accessibility/standard/ accessibility/source/extended/
accessibility/source/helpe...
Modified: openoffice/branches/l10n40/main/svx/source/table/accessibletableshape.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/svx/source/table/accessibletableshape.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/svx/source/table/accessibletableshape.cxx (original)
+++ openoffice/branches/l10n40/main/svx/source/table/accessibletableshape.cxx Tue Nov 19 22:39:40 2013
@@ -40,6 +40,11 @@
#include <algorithm>
#include <cppuhelper/implbase1.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <svx/svdotable.hxx>
+#include <com/sun/star/accessibility/AccessibleStateType.hpp>
+#include <com/sun/star/view/XSelectionSupplier.hpp>
+//-----IAccessibility2 Implementation 2009
using ::rtl::OUString;
@@ -94,12 +99,21 @@ public:
Reference< XTable > mxTable;
AccessibleCellMap maChildMap;
Reference< XAccessible> mxAccessible;
+ //IAccessibility2 Implementation 2009-----
+ sal_Int32 mRowCount, mColCount;
+ //get the cached AccessibleCell from XCell
+ Reference< AccessibleCell > getAccessibleCell (Reference< XCell > xCell);
+ //-----IAccessibility2 Implementation 2009
};
//-----------------------------------------------------------------------------
AccessibleTableShapeImpl::AccessibleTableShapeImpl( AccessibleShapeTreeInfo& rShapeTreeInfo )
: mrShapeTreeInfo( rShapeTreeInfo )
+//IAccessibility2 Implementation 2009-----
+, mRowCount(0)
+, mColCount(0)
+//-----IAccessibility2 Implementation 2009
{
}
@@ -114,6 +128,14 @@ void AccessibleTableShapeImpl::init( con
{
Reference< XModifyListener > xListener( this );
mxTable->addModifyListener( xListener );
+ //IAccessibility2 Implementation 2009-----
+ //register the listener with table model
+ Reference< ::com::sun::star::view::XSelectionSupplier > xSelSupplier(xTable, UNO_QUERY);
+ Reference< ::com::sun::star::view::XSelectionChangeListener > xSelListener( xAccessible, UNO_QUERY );
+ if (xSelSupplier.is())
+ xSelSupplier->addSelectionChangeListener(xSelListener);
+ mRowCount = mxTable->getRowCount();
+ mColCount = mxTable->getColumnCount();
}
}
@@ -123,6 +145,12 @@ void AccessibleTableShapeImpl::dispose()
{
if( mxTable.is() )
{
+ //IAccessibility2 Implementation 2009-----, remove all the cell's acc object in table's dispose.
+ for( AccessibleCellMap::iterator iter( maChildMap.begin() ); iter != maChildMap.end(); iter++ )
+ {
+ (*iter).second->dispose();
+ }
+ //-----IAccessibility2 Implementation 2009
Reference< XModifyListener > xListener( this );
mxTable->removeModifyListener( xListener );
mxTable.clear();
@@ -131,7 +159,21 @@ void AccessibleTableShapeImpl::dispose()
}
//-----------------------------------------------------------------------------
+//IAccessibility2 Implementation 2009-----, get the cached AccessibleCell from XCell
+Reference< AccessibleCell > AccessibleTableShapeImpl::getAccessibleCell (Reference< XCell > xCell)
+{
+ AccessibleCellMap::iterator iter( maChildMap.find( xCell ) );
+ if( iter != maChildMap.end() )
+ {
+ Reference< AccessibleCell > xChild( (*iter).second.get() );
+ return xChild;
+ }
+ return Reference< AccessibleCell >();
+}
+
+//-----------------------------------------------------------------------------
+//-----IAccessibility2 Implementation 2009
Reference< XAccessible > AccessibleTableShapeImpl::getAccessibleChild( sal_Int32 nChildIndex ) throw(IndexOutOfBoundsException)
{
sal_Int32 nColumn = 0, nRow = 0;
@@ -151,6 +193,9 @@ Reference< XAccessible > AccessibleTable
rtl::Reference< AccessibleCell > xAccessibleCell( new AccessibleCell( mxAccessible, xCellRef, nChildIndex, mrShapeTreeInfo ) );
+ //IAccessibility2 Implementation 2009-----
+ xAccessibleCell->Init();
+ //-----IAccessibility2 Implementation 2009
maChildMap[xCell] = xAccessibleCell;
xAccessibleCell->Init();
@@ -197,6 +242,15 @@ void SAL_CALL AccessibleTableShapeImpl::
const sal_Int32 nRowCount = mxTable->getRowCount();
const sal_Int32 nColCount = mxTable->getColumnCount();
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool bRowOrColumnChanged = sal_False;
+ if (mRowCount != nRowCount || mColCount != nColCount )
+ {
+ bRowOrColumnChanged = sal_True;
+ mRowCount = nRowCount;
+ mColCount = nColCount;
+ }
+ //-----IAccessibility2 Implementation 2009
sal_Int32 nChildIndex = 0;
for( sal_Int32 nRow = 0; nRow < nRowCount; ++nRow )
@@ -210,12 +264,49 @@ void SAL_CALL AccessibleTableShapeImpl::
{
rtl::Reference< AccessibleCell > xAccessibleCell( (*iter).second );
xAccessibleCell->setIndexInParent( nChildIndex );
- xAccessibleCell->CommitChange(AccessibleEventId::VISIBLE_DATA_CHANGED, Any(), Any());
+ //IAccessibility2 Implementation 2009-----, the children may need to updated
+ //xAccessibleCell->CommitChange(AccessibleEventId::VISIBLE_DATA_CHANGED, Any(), Any());
+ xAccessibleCell->UpdateChildren();
+ // If row or column count is changed, there is split or merge, so all cell's acc name should be updated
+ if (bRowOrColumnChanged)
+ {
+ xAccessibleCell->SetAccessibleName(xAccessibleCell->getAccessibleName(), AccessibleContextBase::ManuallySet);
+ }
+ // For merged cell, add invisible & disabled state.
+ Reference< XMergeableCell > xMergedCell( mxTable->getCellByPosition( nCol, nRow ), UNO_QUERY );
+ if (xMergedCell.is() && xMergedCell->isMerged())
+ {
+ xAccessibleCell->ResetState(AccessibleStateType::VISIBLE);
+ xAccessibleCell->ResetState(AccessibleStateType::ENABLED);
+ // IA2 CWS. MT: OFFSCREEN == !SHOWING, should stay consistent
+ // xAccessibleCell->SetState(AccessibleStateType::OFFSCREEN);
+ xAccessibleCell->ResetState(AccessibleStateType::SHOWING);
+ }
+ else
+ {
+ xAccessibleCell->SetState(AccessibleStateType::VISIBLE);
+ xAccessibleCell->SetState(AccessibleStateType::ENABLED);
+ // IA2 CWS. MT: OFFSCREEN == !SHOWING, should stay consistent
+ // xAccessibleCell->ResetState(AccessibleStateType::OFFSCREEN);
+ xAccessibleCell->SetState(AccessibleStateType::SHOWING);
+ }
+ //-----IAccessibility2 Implementation 2009
// move still existing cell from temporary child map to our child map
maChildMap[xCell] = xAccessibleCell;
aTempChildMap.erase( iter );
}
+ //IAccessibility2 Implementation 2009-----, need to add the new added cell on demand
+ else
+ {
+ CellRef xCellRef( dynamic_cast< Cell* >( xCell.get() ) );
+
+ rtl::Reference< AccessibleCell > xAccessibleCell( new AccessibleCell( mxAccessible, xCellRef, nChildIndex, mrShapeTreeInfo ) );
+
+ xAccessibleCell->Init();
+ maChildMap[xCell] = xAccessibleCell;
+ }
+ //-----IAccessibility2 Implementation 2009
++nChildIndex;
}
@@ -228,6 +319,10 @@ void SAL_CALL AccessibleTableShapeImpl::
{
(*iter).second->dispose();
}
+ //IAccessibility2 Implementation 2009-----, notify bridge to update the acc cache.
+ AccessibleTableShape *pAccTable = dynamic_cast <AccessibleTableShape *> (mxAccessible.get());
+ pAccTable->CommitChange(AccessibleEventId::INVALIDATE_ALL_CHILDREN, Any(), Any());
+ //-----IAccessibility2 Implementation 2009
}
catch( Exception& )
{
@@ -264,7 +359,7 @@ void AccessibleTableShape::Init()
{
try
{
-
+ mnPreviousSelectionCount = 0;
Reference< XPropertySet > xSet( mxShape, UNO_QUERY_THROW );
Reference< XTable > xTable( xSet->getPropertyValue(C2U("Model")), UNO_QUERY_THROW );
@@ -295,6 +390,16 @@ SvxTableController* AccessibleTableShape
Any SAL_CALL AccessibleTableShape::queryInterface( const Type& aType ) throw (RuntimeException)
{
+ //IAccessibility2 Implementation 2009-----
+ if ( aType == ::getCppuType((Reference<XAccessibleTableSelection> *)0) )
+ {
+ Reference<XAccessibleTableSelection> xThis( this );
+ Any aRet;
+ aRet <<= xThis;
+ return aRet;
+ }
+ else
+ //-----IAccessibility2 Implementation 2009
return AccessibleTableShape_Base::queryInterface( aType );
}
@@ -331,7 +436,7 @@ OUString SAL_CALL AccessibleTableShape::
OUString AccessibleTableShape::CreateAccessibleBaseName(void) throw (RuntimeException)
{
- return OUString (RTL_CONSTASCII_USTRINGPARAM("TableShape"));;
+ return OUString (RTL_CONSTASCII_USTRINGPARAM("TableShape"));
}
//--------------------------------------------------------------------
@@ -443,7 +548,19 @@ sal_Int32 SAL_CALL AccessibleTableShape:
Reference< XAccessibleTable > SAL_CALL AccessibleTableShape::getAccessibleRowHeaders( ) throw (RuntimeException)
{
- Reference< XAccessibleTable > xRet( this ); // todo
+ //IAccessibility2 Implementation 2009-----
+ //Reference< XAccessibleTable > xRet( this ); // todo
+ Reference< XAccessibleTable > xRet;
+ SvxTableController* pController = getTableController();
+ if( pController )
+ {
+ if( pController->isRowHeader() )
+ {
+ AccessibleTableHeaderShape* pTableHeader = new AccessibleTableHeaderShape( this, sal_True );
+ xRet.set( pTableHeader );
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
return xRet;
}
@@ -451,7 +568,19 @@ Reference< XAccessibleTable > SAL_CALL A
Reference< XAccessibleTable > SAL_CALL AccessibleTableShape::getAccessibleColumnHeaders( ) throw (RuntimeException)
{
- Reference< XAccessibleTable > xRet( this ); // todo
+ //IAccessibility2 Implementation 2009-----
+ //Reference< XAccessibleTable > xRet( this ); // todo
+ Reference< XAccessibleTable > xRet;
+ SvxTableController* pController = getTableController();
+ if( pController )
+ {
+ if( pController->isColumnHeader() )
+ {
+ AccessibleTableHeaderShape* pTableHeader = new AccessibleTableHeaderShape( this, sal_False );
+ xRet.set( pTableHeader );
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
return xRet;
}
@@ -459,16 +588,80 @@ Reference< XAccessibleTable > SAL_CALL A
Sequence< sal_Int32 > SAL_CALL AccessibleTableShape::getSelectedAccessibleRows( ) throw (RuntimeException)
{
- Sequence< sal_Int32 > aRet;
+ //IAccessibility2 Implementation 2009-----
+ /*Sequence< sal_Int32 > aRet;*/
+ sal_Int32 nRow = getAccessibleRowCount();
+ ::std::vector< sal_Bool > aSelected( nRow, sal_True );
+ sal_Int32 nCount = nRow;
+ for( sal_Int32 i = 0; i < nRow; i++ )
+ {
+ try
+ {
+ aSelected[i] = isAccessibleRowSelected( i );
+ }
+ catch( ... )
+ {
+ return Sequence< sal_Int32 >();
+ }
+
+ if( !aSelected[i] )
+ nCount--;
+ }
+ Sequence < sal_Int32 > aRet( nCount );
+ sal_Int32 *pRet = aRet.getArray();
+ sal_Int32 nPos = 0;
+ size_t nSize = aSelected.size();
+ for( size_t i=0; i < nSize && nPos < nCount; i++ )
+ {
+ if( aSelected[i] )
+ {
+ *pRet++ = i;
+ nPos++;
+ }
+ }
+
return aRet;
+ //-----IAccessibility2 Implementation 2009
}
//--------------------------------------------------------------------
Sequence< sal_Int32 > SAL_CALL AccessibleTableShape::getSelectedAccessibleColumns( ) throw (RuntimeException)
{
- Sequence< sal_Int32 > aRet;
+ //IAccessibility2 Implementation 2009-----
+ /*Sequence< sal_Int32 > aRet;*/
+ sal_Int32 nColumn = getAccessibleColumnCount();
+ ::std::vector< sal_Bool > aSelected( nColumn, sal_True );
+ sal_Int32 nCount = nColumn;
+ for( sal_Int32 i = 0; i < nColumn; i++ )
+ {
+ try
+ {
+ aSelected[i] = isAccessibleColumnSelected( i );
+ }
+ catch( ... )
+ {
+ return Sequence< sal_Int32 >();
+ }
+
+ if( !aSelected[i] )
+ nCount--;
+ }
+ Sequence < sal_Int32 > aRet( nCount );
+ sal_Int32 *pRet = aRet.getArray();
+ sal_Int32 nPos = 0;
+ size_t nSize = aSelected.size();
+ for( size_t i=0; i < nSize && nPos < nCount; i++ )
+ {
+ if( aSelected[i] )
+ {
+ *pRet++ = i;
+ nPos++;
+ }
+ }
+
return aRet;
+ //-----IAccessibility2 Implementation 2009
}
//--------------------------------------------------------------------
@@ -477,6 +670,13 @@ sal_Bool SAL_CALL AccessibleTableShape::
{
::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
checkCellPosition( 0, nRow );
+ //IAccessibility2 Implementation 2009-----
+ SvxTableController* pController = getTableController();
+ if( pController )
+ {
+ return pController->isRowSelected( nRow );
+ }
+ //-----IAccessibility2 Implementation 2009
return sal_False;
}
@@ -486,6 +686,13 @@ sal_Bool SAL_CALL AccessibleTableShape::
{
::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
checkCellPosition( nColumn, 0 );
+ //IAccessibility2 Implementation 2009-----
+ SvxTableController* pController = getTableController();
+ if( pController )
+ {
+ return pController->isColumnSelected( nColumn );
+ }
+ //-----IAccessibility2 Implementation 2009
return sal_False;
}
@@ -564,7 +771,10 @@ sal_Int32 SAL_CALL AccessibleTableShape:
::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
sal_Int32 nColumn = 0, nRow = 0;
mxImpl->getColumnAndRow( nChildIndex, nColumn, nRow );
- return nChildIndex;
+ //IAccessibility2 Implementation 2009-----
+ //return nChildIndex;
+ return nColumn;
+ //-----IAccessibility2 Implementation 2009
}
//--------------------------------------------------------------------
@@ -603,7 +813,11 @@ sal_Bool SAL_CALL AccessibleTableShape::
CellPos aPos;
mxImpl->getColumnAndRow( nChildIndex, aPos.mnCol, aPos.mnRow );
- return isAccessibleSelected(aPos.mnCol, aPos.mnRow);
+ //IAccessibility2 Implementation 2009-----
+ // Para order is not correct
+ //return isAccessibleSelected(aPos.mnCol, aPos.mnRow);
+ return isAccessibleSelected(aPos.mnRow, aPos.mnCol);
+ //-----IAccessibility2 Implementation 2009
}
//--------------------------------------------------------------------
@@ -654,7 +868,8 @@ Reference< XAccessible > SAL_CALL Access
{
::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
- SvxTableController* pController = getTableController();
+ //IAccessibility2 Implementation 2009-----
+ /*SvxTableController* pController = getTableController();
if( pController && pController->hasSelectedCells() )
{
CellPos aFirstPos, aLastPos;
@@ -675,6 +890,22 @@ Reference< XAccessible > SAL_CALL Access
}
throw IndexOutOfBoundsException();
+ */
+ if( nSelectedChildIndex < 0 )
+ throw IndexOutOfBoundsException();
+
+ sal_Int32 nChildIndex = GetIndexOfSelectedChild( nSelectedChildIndex );
+
+ if( nChildIndex < 0 )
+ throw IndexOutOfBoundsException();
+
+ if ( nChildIndex >= getAccessibleChildCount() )
+ {
+ throw IndexOutOfBoundsException();
+ }
+
+ return getAccessibleChild( nChildIndex );
+ //-----IAccessibility2 Implementation 2009
}
//--------------------------------------------------------------------
@@ -705,9 +936,180 @@ void SAL_CALL AccessibleTableShape::dese
pController->setSelectedCells( aFirstPos, aLastPos );
}
}
-
//--------------------------------------------------------------------
+//IAccessibility2 Implementation 2009-----
+//===== XAccessibleTableSelection ============================================
+sal_Bool SAL_CALL AccessibleTableShape::selectRow( sal_Int32 row )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ ::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
+ SvxTableController* pController = getTableController();
+ if( !pController )
+ return sal_False;
+ return pController->selectRow( row );
+}
+sal_Bool SAL_CALL AccessibleTableShape::selectColumn( sal_Int32 column )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ ::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
+ SvxTableController* pController = getTableController();
+ if( !pController )
+ return sal_False;
+ return pController->selectColumn( column );
+}
+sal_Bool SAL_CALL AccessibleTableShape::unselectRow( sal_Int32 row )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ ::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
+ SvxTableController* pController = getTableController();
+ if( !pController )
+ return sal_False;
+ return pController->deselectRow( row );
+}
+sal_Bool SAL_CALL AccessibleTableShape::unselectColumn( sal_Int32 column )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ ::vos::OGuard aSolarGuard (::Application::GetSolarMutex());
+ SvxTableController* pController = getTableController();
+ if( !pController )
+ return sal_False;
+ return pController->deselectColumn( column );
+}
+sal_Int32 AccessibleTableShape::GetIndexOfSelectedChild(
+ sal_Int32 nSelectedChildIndex ) const
+{
+ sal_Int32 nChildren = const_cast<AccessibleTableShape*>(this)->getAccessibleChildCount();
+
+ if( nSelectedChildIndex >= nChildren )
+ return -1L;
+
+ sal_Int32 n = 0;
+ while( n < nChildren )
+ {
+ if( const_cast<AccessibleTableShape*>(this)->isAccessibleChildSelected( n ) )
+ {
+ if( 0 == nSelectedChildIndex )
+ break;
+ else
+ --nSelectedChildIndex;
+ }
+ ++n;
+ }
+
+ return n < nChildren ? n : -1L;
+}
+void AccessibleTableShape::getColumnAndRow( sal_Int32 nChildIndex, sal_Int32& rnColumn, sal_Int32& rnRow ) throw (IndexOutOfBoundsException )
+{
+ mxImpl->getColumnAndRow(nChildIndex, rnColumn, rnRow);
+}
+//--------------------------------------------------------------------
+// XSelectionChangeListener
+void SAL_CALL
+ AccessibleTableShape::disposing (const EventObject& aEvent)
+ throw (RuntimeException)
+{
+ AccessibleShape::disposing(aEvent);
+}
+void SAL_CALL AccessibleTableShape::selectionChanged (const EventObject& rEvent)
+ throw (RuntimeException)
+{
+ //::sdr::table::CellRef xCellRef = static_cast< ::sdr::table::CellRef > (rEvent.Source);
+ Reference< XCell > xCell(rEvent.Source, UNO_QUERY);
+ if (xCell.is())
+ {
+ Reference< AccessibleCell > xAccCell = mxImpl->getAccessibleCell( xCell );
+ if (xAccCell.is())
+ {
+ sal_Int32 nIndex = xAccCell->getAccessibleIndexInParent(),
+ nCount = getSelectedAccessibleChildCount();
+ sal_Bool bSelected = isAccessibleChildSelected(nIndex);
+ if (mnPreviousSelectionCount == 0 && nCount > 0 && bSelected)
+ {
+ xAccCell->SetState(AccessibleStateType::SELECTED);
+ xAccCell->CommitChange(AccessibleEventId::SELECTION_CHANGED, Any(), Any());
+ }
+ else if (bSelected)
+ {
+ xAccCell->SetState(AccessibleStateType::SELECTED);
+ xAccCell->CommitChange(AccessibleEventId::SELECTION_CHANGED_ADD, Any(), Any());
+ }
+ else
+ {
+ xAccCell->ResetState(AccessibleStateType::SELECTED);
+ xAccCell->CommitChange(AccessibleEventId::SELECTION_CHANGED_REMOVE, Any(), Any());
+ }
+ mnPreviousSelectionCount = nCount;
+ }
+ }
+}
+// Get the currently active cell which is text editing
+AccessibleCell* AccessibleTableShape::GetActiveAccessibleCell()
+{
+ sal_Bool bCellEditing = sal_False;
+ Reference< AccessibleCell > xAccCell;
+ AccessibleCell* pAccCell = NULL;
+ SvxTableController* pController = getTableController();
+ if (pController)
+ {
+ ::sdr::table::SdrTableObj* pTableObj = pController->GetTableObj();
+ if ( pTableObj )
+ {
+ ::sdr::table::CellRef xCellRef (pTableObj->getActiveCell());
+ if ( xCellRef.is() )
+ {
+ bCellEditing = xCellRef->IsTextEditActive();
+ if (bCellEditing)
+ {
+ //Reference< XCell > xCell(xCellRef.get(), UNO_QUERY);
+ xAccCell = mxImpl->getAccessibleCell(Reference< XCell >( xCellRef.get() ));
+ if (xAccCell.is())
+ pAccCell = xAccCell.get();
+ }
+ }
+ }
+ }
+ return pAccCell;
+}
+//--------------------------------------------------------------------
+//If current active cell is in editing, the focus state should be set to internal text
+sal_Bool AccessibleTableShape::SetState (sal_Int16 aState)
+{
+ AccessibleCell* pActiveAccessibleCell = GetActiveAccessibleCell();
+ sal_Bool bStateHasChanged = sal_False;
+ if (aState == AccessibleStateType::FOCUSED && pActiveAccessibleCell != NULL)
+ {
+ return pActiveAccessibleCell->SetState(aState);
+ }
+ else
+ bStateHasChanged = AccessibleShape::SetState (aState);
+ return bStateHasChanged;
+}
+//--------------------------------------------------------------------
+//If current active cell is in editing, the focus state should be reset to internal text
+sal_Bool AccessibleTableShape::ResetState (sal_Int16 aState)
+{
+ AccessibleCell* pActiveAccessibleCell = GetActiveAccessibleCell();
+ sal_Bool bStateHasChanged = sal_False;
+ if (aState == AccessibleStateType::FOCUSED && pActiveAccessibleCell != NULL)
+ {
+ return pActiveAccessibleCell->ResetState(aState);
+ }
+ else
+ bStateHasChanged = AccessibleShape::ResetState (aState);
+ return bStateHasChanged;
+}
+//--------------------------------------------------------------------
+sal_Bool AccessibleTableShape::SetStateDirectly (sal_Int16 aState)
+{
+ return AccessibleContextBase::SetState (aState);
+}
+//--------------------------------------------------------------------
+sal_Bool AccessibleTableShape::ResetStateDirectly (sal_Int16 aState)
+{
+ return AccessibleContextBase::ResetState (aState);
+}
+//-----IAccessibility2 Implementation 2009
void AccessibleTableShape::checkCellPosition( sal_Int32 nCol, sal_Int32 nRow ) throw ( IndexOutOfBoundsException )
{
if( (nCol >= 0) && (nRow >= 0) && mxImpl->mxTable.is() && (nCol < mxImpl->mxTable->getColumnCount()) && (nRow < mxImpl->mxTable->getRowCount()) )
@@ -716,4 +1118,333 @@ void AccessibleTableShape::checkCellPosi
throw IndexOutOfBoundsException();
}
+//IAccessibility2 Implementation 2009-----
+AccessibleTableHeaderShape::AccessibleTableHeaderShape( AccessibleTableShape* pTable, sal_Bool bRow )
+{
+ mpTable = pTable;
+ mbRow = bRow;
+}
+
+AccessibleTableHeaderShape::~AccessibleTableHeaderShape (void)
+{
+ mpTable = NULL;
+}
+
+// XAccessible
+Reference< XAccessibleContext > SAL_CALL AccessibleTableHeaderShape::getAccessibleContext(void) throw (RuntimeException)
+{
+ return this;
+}
+
+// XAccessibleContext
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleChildCount( ) throw(RuntimeException)
+{
+ return getAccessibleRowCount() * getAccessibleColumnCount();
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleChild( sal_Int32 i ) throw(IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleChild( i );
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleParent (void) throw (RuntimeException)
+{
+ Reference< XAccessible > XParent;
+ return XParent;
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleIndexInParent (void) throw (RuntimeException)
+{
+ return -1;
+}
+
+sal_Int16 SAL_CALL AccessibleTableHeaderShape::getAccessibleRole (void) throw (RuntimeException)
+{
+ return mpTable->getAccessibleRole();
+}
+
+OUString SAL_CALL AccessibleTableHeaderShape::getAccessibleDescription (void) throw (RuntimeException)
+{
+ return mpTable->getAccessibleDescription();
+}
+
+OUString SAL_CALL AccessibleTableHeaderShape::getAccessibleName (void) throw (RuntimeException)
+{
+ return mpTable->getAccessibleName();
+}
+
+Reference< XAccessibleStateSet > SAL_CALL AccessibleTableHeaderShape::getAccessibleStateSet (void) throw (RuntimeException)
+{
+ return mpTable->getAccessibleStateSet();
+}
+
+Reference< XAccessibleRelationSet > SAL_CALL AccessibleTableHeaderShape::getAccessibleRelationSet (void) throw (RuntimeException)
+{
+ return mpTable->getAccessibleRelationSet();
+}
+
+Locale SAL_CALL AccessibleTableHeaderShape::getLocale (void) throw (IllegalAccessibleComponentStateException, RuntimeException)
+{
+ return mpTable->getLocale();
+}
+
+//XAccessibleComponent
+sal_Bool SAL_CALL AccessibleTableHeaderShape::containsPoint ( const ::com::sun::star::awt::Point& aPoint ) throw (RuntimeException)
+{
+ return mpTable->containsPoint( aPoint );
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleAtPoint ( const ::com::sun::star::awt::Point& aPoint) throw (RuntimeException)
+{
+ return mpTable->getAccessibleAtPoint( aPoint );
+}
+
+::com::sun::star::awt::Rectangle SAL_CALL AccessibleTableHeaderShape::getBounds (void) throw (RuntimeException)
+{
+ return mpTable->getBounds();
+}
+
+::com::sun::star::awt::Point SAL_CALL AccessibleTableHeaderShape::getLocation (void) throw (RuntimeException)
+{
+ return mpTable->getLocation();
+}
+
+::com::sun::star::awt::Point SAL_CALL AccessibleTableHeaderShape::getLocationOnScreen (void) throw (RuntimeException)
+{
+ return mpTable->getLocationOnScreen();
+}
+
+::com::sun::star::awt::Size SAL_CALL AccessibleTableHeaderShape::getSize (void) throw (RuntimeException)
+{
+ return mpTable->getSize();
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getForeground (void) throw (RuntimeException)
+{
+ return mpTable->getForeground();
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getBackground (void) throw (RuntimeException)
+{
+ return mpTable->getBackground();
+}
+
+void SAL_CALL AccessibleTableHeaderShape::grabFocus (void) throw (RuntimeException)
+{
+ mpTable->grabFocus();
+}
+//===== XAccessibleTable ============================================
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleRowCount() throw (RuntimeException)
+{
+ return mbRow ? 1 : mpTable->getAccessibleRowCount();
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleColumnCount() throw (RuntimeException)
+{
+ return !mbRow ? 1 : mpTable->getAccessibleColumnCount();
+}
+
+OUString SAL_CALL AccessibleTableHeaderShape::getAccessibleRowDescription( sal_Int32 nRow ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleRowDescription( nRow );
+}
+
+OUString SAL_CALL AccessibleTableHeaderShape::getAccessibleColumnDescription( sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleColumnDescription( nColumn );
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleRowExtentAt( nRow, nColumn );
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleColumnExtentAt( nRow, nColumn );
+}
+
+Reference< XAccessibleTable > SAL_CALL AccessibleTableHeaderShape::getAccessibleRowHeaders( ) throw (RuntimeException)
+{
+ Reference< XAccessibleTable > xRet;
+ return xRet;
+}
+
+Reference< XAccessibleTable > SAL_CALL AccessibleTableHeaderShape::getAccessibleColumnHeaders( ) throw (RuntimeException)
+{
+ Reference< XAccessibleTable > xRet;
+ return xRet;
+}
+
+Sequence< sal_Int32 > SAL_CALL AccessibleTableHeaderShape::getSelectedAccessibleRows( ) throw (RuntimeException)
+{
+ sal_Int32 nRow = getAccessibleRowCount();
+ ::std::vector< sal_Bool > aSelected( nRow, sal_True );
+ sal_Int32 nCount = nRow;
+ for( sal_Int32 i = 0; i < nRow; i++ )
+ {
+ try
+ {
+ aSelected[i] = isAccessibleRowSelected( i );
+ }
+ catch( ... )
+ {
+ return Sequence< sal_Int32 >();
+ }
+
+ if( !aSelected[i] )
+ nCount--;
+ }
+ Sequence < sal_Int32 > aRet( nCount );
+ sal_Int32 *pRet = aRet.getArray();
+ sal_Int32 nPos = 0;
+ size_t nSize = aSelected.size();
+ for( size_t i=0; i < nSize && nPos < nCount; i++ )
+ {
+ if( aSelected[i] )
+ {
+ *pRet++ = i;
+ nPos++;
+ }
+ }
+
+ return aRet;
+}
+
+Sequence< sal_Int32 > SAL_CALL AccessibleTableHeaderShape::getSelectedAccessibleColumns( ) throw (RuntimeException)
+{
+ sal_Int32 nColumn = getAccessibleColumnCount();
+ ::std::vector< sal_Bool > aSelected( nColumn, sal_True );
+ sal_Int32 nCount = nColumn;
+ for( sal_Int32 i = 0; i < nColumn; i++ )
+ {
+ try
+ {
+ aSelected[i] = isAccessibleColumnSelected( i );
+ }
+ catch( ... )
+ {
+ return Sequence< sal_Int32 >();
+ }
+
+ if( !aSelected[i] )
+ nCount--;
+ }
+ Sequence < sal_Int32 > aRet( nCount );
+ sal_Int32 *pRet = aRet.getArray();
+ sal_Int32 nPos = 0;
+ size_t nSize = aSelected.size();
+ for( size_t i=0; i < nSize && nPos < nCount; i++ )
+ {
+ if( aSelected[i] )
+ {
+ *pRet++ = i;
+ nPos++;
+ }
+ }
+
+ return aRet;
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::isAccessibleRowSelected( sal_Int32 nRow ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->isAccessibleRowSelected( nRow );
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::isAccessibleColumnSelected( sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->isAccessibleColumnSelected( nColumn );
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleCellAt( nRow, nColumn );
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleCaption( ) throw (RuntimeException)
+{
+ return mpTable->getAccessibleCaption();
+}
+
+Reference< XAccessible > SAL_CALL AccessibleTableHeaderShape::getAccessibleSummary( ) throw (RuntimeException)
+{
+ return mpTable->getAccessibleSummary();
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->isAccessibleSelected( nRow, nColumn );
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleIndex( nRow, nColumn );
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleRow( sal_Int32 nChildIndex ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleRow( nChildIndex );
+}
+
+sal_Int32 SAL_CALL AccessibleTableHeaderShape::getAccessibleColumn( sal_Int32 nChildIndex ) throw (IndexOutOfBoundsException, RuntimeException)
+{
+ return mpTable->getAccessibleColumn( nChildIndex );
+}
+
+//===== XAccessibleTableSelection ============================================
+sal_Bool SAL_CALL AccessibleTableHeaderShape::selectRow( sal_Int32 row )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ if( mbRow )
+ return mpTable->selectRow( row );
+ else
+ {
+ mpTable->clearAccessibleSelection();
+ sal_Int32 nIndex = mpTable->getAccessibleIndex( row, 0 );
+ mpTable->selectAccessibleChild( nIndex );
+ return sal_True;
+ }
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::selectColumn( sal_Int32 column )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ if( !mbRow )
+ return mpTable->selectColumn( column );
+ else
+ {
+ mpTable->clearAccessibleSelection();
+ sal_Int32 nIndex = mpTable->getAccessibleIndex( 0, column );
+ mpTable->selectAccessibleChild( nIndex );
+ return sal_True;
+ }
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::unselectRow( sal_Int32 row )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ if( mbRow )
+ return mpTable->unselectRow( row );
+ else
+ {
+ sal_Int32 nIndex = mpTable->getAccessibleIndex( row, 0 );
+ mpTable->deselectAccessibleChild( nIndex );
+ return sal_True;
+ }
+}
+
+sal_Bool SAL_CALL AccessibleTableHeaderShape::unselectColumn( sal_Int32 column )
+throw (IndexOutOfBoundsException, RuntimeException)
+{
+ if( !mbRow )
+ return mpTable->unselectColumn( column );
+ else
+ {
+ sal_Int32 nIndex = mpTable->getAccessibleIndex( 0, column );
+ mpTable->deselectAccessibleChild( nIndex );
+ return sal_True;
+ }
+}
+//-----IAccessibility2 Implementation 2009
}
Modified: openoffice/branches/l10n40/main/svx/source/table/tablecontroller.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/svx/source/table/tablecontroller.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/svx/source/table/tablecontroller.cxx (original)
+++ openoffice/branches/l10n40/main/svx/source/table/tablecontroller.cxx Tue Nov 19 22:39:40 2013
@@ -2612,4 +2612,90 @@ IMPL_LINK( SvxTableController, UpdateHdl
return 0;
}
+//IAccessibility2 Implementation 2009-----
+sal_Bool SvxTableController::selectRow( sal_Int32 row )
+{
+ if( !mxTable.is() )
+ return sal_False;
+ CellPos aStart( 0, row ), aEnd( mxTable->getColumnCount() - 1, row );
+ StartSelection( aEnd );
+ gotoCell( aStart, true, 0 );
+ return sal_True;
+}
+sal_Bool SvxTableController::selectColumn( sal_Int32 column )
+{
+ if( !mxTable.is() )
+ return sal_False;
+ CellPos aStart( column, 0 ), aEnd( column, mxTable->getRowCount() - 1 );
+ StartSelection( aEnd );
+ gotoCell( aStart, true, 0 );
+ return sal_True;
+}
+sal_Bool SvxTableController::deselectRow( sal_Int32 row )
+{
+ if( !mxTable.is() )
+ return sal_False;
+ CellPos aStart( 0, row ), aEnd( mxTable->getColumnCount() - 1, row );
+ StartSelection( aEnd );
+ gotoCell( aStart, false, 0 );
+ return sal_True;
+}
+sal_Bool SvxTableController::deselectColumn( sal_Int32 column )
+{
+ if( !mxTable.is() )
+ return sal_False;
+ CellPos aStart( column, 0 ), aEnd( column, mxTable->getRowCount() - 1 );
+ StartSelection( aEnd );
+ gotoCell( aStart, false, 0 );
+ return sal_True;
+}
+sal_Bool SvxTableController::isRowSelected( sal_Int32 nRow )
+{
+ if( hasSelectedCells() )
+ {
+ CellPos aFirstPos, aLastPos;
+ getSelectedCells( aFirstPos, aLastPos );
+ if( (aFirstPos.mnCol == 0) && (nRow >= aFirstPos.mnRow && nRow <= aLastPos.mnRow) && (mxTable->getColumnCount() - 1 == aLastPos.mnCol) )
+ return sal_True;
+ }
+ return sal_False;
+}
+sal_Bool SvxTableController::isColumnSelected( sal_Int32 nColumn )
+{
+ if( hasSelectedCells() )
+ {
+ CellPos aFirstPos, aLastPos;
+ getSelectedCells( aFirstPos, aLastPos );
+ if( (aFirstPos.mnRow == 0) && (nColumn >= aFirstPos.mnCol && nColumn <= aLastPos.mnCol) && (mxTable->getRowCount() - 1 == aLastPos.mnRow) )
+ return sal_True;
+ }
+ return sal_False;
+}
+
+sal_Bool SvxTableController::isRowHeader()
+{
+ SdrTableObj* pTableObj = dynamic_cast< ::sdr::table::SdrTableObj* >( mxTableObj.get() );
+ SdrModel* pModel = pTableObj ? pTableObj->GetModel() : 0;
+
+ if( !pTableObj || !pModel )
+ return sal_False;
+
+ TableStyleSettings aSettings( pTableObj->getTableStyleSettings() );
+
+ return aSettings.mbUseFirstRow;
+}
+
+sal_Bool SvxTableController::isColumnHeader()
+{
+ SdrTableObj* pTableObj = dynamic_cast< ::sdr::table::SdrTableObj* >( mxTableObj.get() );
+ SdrModel* pModel = pTableObj ? pTableObj->GetModel() : 0;
+
+ if( !pTableObj || !pModel )
+ return sal_False;
+
+ TableStyleSettings aSettings( pTableObj->getTableStyleSettings() );
+
+ return aSettings.mbUseFirstColumn;
+}
+//-----IAccessibility2 Implementation 2009
} }
Modified: openoffice/branches/l10n40/main/svx/source/unodraw/unoprov.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/svx/source/unodraw/unoprov.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/svx/source/unodraw/unoprov.cxx (original)
+++ openoffice/branches/l10n40/main/svx/source/unodraw/unoprov.cxx Tue Nov 19 22:39:40 2013
@@ -776,6 +776,9 @@ SfxItemPropertyMapEntry* ImplGetSvxTable
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT), SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT), SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
+ //IAccessibility2 Implementation 2009-----, the name property of table should also be exported.
+ { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_NAME), SDRATTR_OBJECTNAME , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
+ //-----IAccessibility2 Implementation 2009
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE), OWN_ATTR_MISC_OBJ_TITLE , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION), OWN_ATTR_MISC_OBJ_DESCRIPTION , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
{ MAP_CHAR_LEN("Model"), OWN_ATTR_OLEMODEL , &::com::sun::star::table::XTable::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
Modified: openoffice/branches/l10n40/main/svx/source/unodraw/unoshape.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/svx/source/unodraw/unoshape.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/svx/source/unodraw/unoshape.cxx (original)
+++ openoffice/branches/l10n40/main/svx/source/unodraw/unoshape.cxx Tue Nov 19 22:39:40 2013
@@ -92,6 +92,7 @@
#include <editeng/outlobj.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <vector>
@@ -2403,12 +2404,26 @@ bool SvxShape::setPropertyValueImpl( con
}
break;
}
- case OWN_ATTR_EDGE_POLYPOLYGONBEZIER:
- {
- drawing::PolyPolygonBezierCoords aPolyPoly;
- if ( rValue >>= aPolyPoly )
- {
- basegfx::B2DPolyPolygon aNewPolyPolygon( SvxConvertPolyPolygonBezierToB2DPolyPolygon( &aPolyPoly ) );
+ case OWN_ATTR_EDGE_POLYPOLYGONBEZIER:
+ {
+ basegfx::B2DPolyPolygon aNewPolyPolygon;
+
+ // #123616# be a little bit more flexible regardin gthe data type used
+ if( rValue.getValueType() == ::getCppuType(( const drawing::PointSequenceSequence*)0))
+ {
+ // get polygpon data from PointSequenceSequence
+ aNewPolyPolygon = basegfx::tools::UnoPointSequenceSequenceToB2DPolyPolygon(
+ *(const drawing::PointSequenceSequence*)rValue.getValue());
+ }
+ else if( rValue.getValueType() == ::getCppuType(( const drawing::PolyPolygonBezierCoords*)0))
+ {
+ // get polygpon data from PolyPolygonBezierCoords
+ aNewPolyPolygon = basegfx::tools::UnoPolyPolygonBezierCoordsToB2DPolyPolygon(
+ *(const drawing::PolyPolygonBezierCoords*)rValue.getValue());
+ }
+
+ if(aNewPolyPolygon.count())
+ {
// --> OD 2010-02-19 #i108851# - reintroduction of fix for issue i59051
ForceMetricToItemPoolMetric( aNewPolyPolygon );
// <--
@@ -2419,9 +2434,9 @@ bool SvxShape::setPropertyValueImpl( con
}
pEdgeObj->SetEdgeTrackPath( aNewPolyPolygon );
return true;
- }
- }
- }
+ }
+ }
+ }
}
break;
}
Modified: openoffice/branches/l10n40/main/svx/source/unodraw/unoshtxt.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/svx/source/unodraw/unoshtxt.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/svx/source/unodraw/unoshtxt.cxx (original)
+++ openoffice/branches/l10n40/main/svx/source/unodraw/unoshtxt.cxx Tue Nov 19 22:39:40 2013
@@ -51,6 +51,12 @@
#include <com/sun/star/linguistic2/XLinguServiceManager.hpp>
#include <comphelper/processfactory.hxx>
#include <vos/mutex.hxx>
+
+//IAccessibility2 Implementation 2009-----
+#include <svx/svdotable.hxx>
+#include <../table/cell.hxx>
+//-----IAccessibility2 Implementation 2009
+
#include <svx/sdrpaintwindow.hxx>
using namespace ::osl;
@@ -385,6 +391,29 @@ void SvxTextEditSourceImpl::Notify( SfxB
case HINT_BEGEDIT:
if( mpObject == pSdrHint->GetObject() )
{
+ //IAccessibility2 Implementation 2009-----, one EditSource object is created for each AccessibleCell, and it will monitor the hint.
+ // Once HINT_BEGEDIT is broadcast, each EditSource of AccessibleCell will handle it here and
+ // call below: mpView->GetTextEditOutliner()->SetNotifyHdl(), which will replace the Notifer for current
+ // editable cell. It is totally wrong. So add check here to avoid the incorrect replacement of notifer.
+ // To be safe, add accessibility check here because currently it only happen on the editsource of AccessibleCell
+ if (Application::IsAccessibilityEnabled())
+ {
+ if (mpObject && mpText)
+ {
+ sdr::table::SdrTableObj* pTableObj = PTR_CAST( sdr::table::SdrTableObj, mpObject );
+ if(pTableObj)
+ {
+ sdr::table::CellRef xCell = pTableObj->getActiveCell();
+ if (xCell.is())
+ {
+ sdr::table::Cell* pCellObj = dynamic_cast< sdr::table::Cell* >( mpText );
+ if (pCellObj && xCell.get() != pCellObj)
+ break;
+ }
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
// invalidate old forwarder
if( !mbForwarderIsEditMode )
{
Modified: openoffice/branches/l10n40/main/sw/Library_sw.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/Library_sw.mk?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/Library_sw.mk (original)
+++ openoffice/branches/l10n40/main/sw/Library_sw.mk Tue Nov 19 22:39:40 2013
@@ -88,6 +88,7 @@ $(eval $(call gb_Library_add_exception_o
sw/source/core/access/accdoc \
sw/source/core/access/accembedded \
sw/source/core/access/accfootnote \
+ sw/source/core/access/accfield \
sw/source/core/access/accframe \
sw/source/core/access/accframebase\
sw/source/core/access/accfrmobj \
@@ -99,6 +100,7 @@ $(eval $(call gb_Library_add_exception_o
sw/source/core/access/acchypertextdata \
sw/source/core/access/accmap \
sw/source/core/access/accnotextframe \
+ sw/source/core/access/accnotexthyperlink \
sw/source/core/access/accpage \
sw/source/core/access/accpara \
sw/source/core/access/accportions \
@@ -149,6 +151,7 @@ $(eval $(call gb_Library_add_exception_o
sw/source/core/crsr/trvltbl \
sw/source/core/crsr/unocrsr \
sw/source/core/crsr/viscrs \
+ sw/source/core/crsr/overlayrangesoutline \
sw/source/core/doc/SwStyleNameMapper \
sw/source/core/doc/acmplwrd \
sw/source/core/doc/dbgoutsw \
Modified: openoffice/branches/l10n40/main/sw/inc/IDocumentContentOperations.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/IDocumentContentOperations.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/IDocumentContentOperations.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/IDocumentContentOperations.hxx Tue Nov 19 22:39:40 2013
@@ -21,36 +21,37 @@
- #ifndef IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
- #define IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
+#ifndef IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
+#define IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
- #ifndef _SAL_TYPES_H_
- #include <sal/types.h>
- #endif
-
- class SwPaM;
- struct SwPosition;
- class SwNode;
- class SwNodeRange;
- class String;
- class Graphic;
- class SfxItemSet;
- class SfxPoolItem;
- class GraphicObject;
- class SdrObject;
- class SwFrmFmt;
- class SwDrawFrmFmt;
- class SwFlyFrmFmt;
- class SwNodeIndex;
-
- namespace utl { class TransliterationWrapper; }
- namespace svt { class EmbeddedObjectRef; }
-
- /** Text operation/manipulation interface
- */
- class IDocumentContentOperations
- {
- public:
+#ifndef _SAL_TYPES_H_
+#include <sal/types.h>
+#endif
+
+class SwPaM;
+struct SwPosition;
+class SwNode;
+class SwNodeRange;
+class String;
+class Graphic;
+class SfxItemSet;
+class SfxPoolItem;
+class GraphicObject;
+class SdrObject;
+class SwFrmFmt;
+class SwDrawFrmFmt;
+class SwFlyFrmFmt;
+class SwNodeIndex;
+class SwFmtFld;
+
+namespace utl { class TransliterationWrapper; }
+namespace svt { class EmbeddedObjectRef; }
+
+/** Text operation/manipulation interface
+*/
+class IDocumentContentOperations
+{
+public:
enum SwMoveFlags
{
DOC_MOVEDEFAULT = 0x00,
@@ -68,15 +69,15 @@
, INS_FORCEHINTEXPAND = 0x04 // expand all hints at insert position
};
- public:
+public:
/** Kopieren eines Bereiches im oder in ein anderes Dokument !
- Die Position kann auch im Bereich liegen !!
+ Die Position kann auch im Bereich liegen !!
*/
virtual bool CopyRange(SwPaM&, SwPosition&, const bool bCopyAll ) const = 0;
- /** Loesche die Section, in der der Node steht.
+ /** Loesche die Section, in der der Node steht.
*/
- virtual void DeleteSection(SwNode* pNode) = 0;
+ virtual void DeleteSection(SwNode* pNode) = 0;
/** loeschen eines BereichesSwFlyFrmFmt
*/
@@ -84,16 +85,16 @@
/** loeschen gesamter Absaetze
*/
- virtual bool DelFullPara(SwPaM&) = 0;
+ virtual bool DelFullPara(SwPaM&) = 0;
/** complete delete of a given PaM
- OD 2009-08-20 #i100466#
- Add optional parameter <bForceJoinNext>, default value <false>
- Needed for hiding of deletion redlines
+ OD 2009-08-20 #i100466#
+ Add optional parameter <bForceJoinNext>, default value <false>
+ Needed for hiding of deletion redlines
*/
virtual bool DeleteAndJoin( SwPaM&,
- const bool bForceJoinNext = false ) = 0;
+ const bool bForceJoinNext = false ) = 0;
/** verschieben eines Bereiches
*/
@@ -105,96 +106,99 @@
/** verschieben eines Bereiches
*/
- virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags) = 0;
+ virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags) = 0;
- /** Ueberschreiben eines Strings in einem bestehenden Textnode.
+ /** Ueberschreiben eines Strings in einem bestehenden Textnode.
*/
- virtual bool Overwrite(const SwPaM &rRg, const String& rStr) = 0;
+ virtual bool Overwrite(const SwPaM &rRg, const String& rStr) = 0;
/** Insert string into existing text node at position rRg.Point().
*/
virtual bool InsertString(const SwPaM &rRg, const String&,
- const enum InsertFlags nInsertMode = INS_EMPTYEXPAND ) = 0;
+ const enum InsertFlags nInsertMode = INS_EMPTYEXPAND ) = 0;
- /** change text to Upper/Lower/Hiragana/Katagana/...
+ /** change text to Upper/Lower/Hiragana/Katagana/...
*/
- virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) = 0;
+ virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) = 0;
- /** Einfuegen einer Grafik, Formel. Die XXXX werden kopiert.
+ /** Einfuegen einer Grafik, Formel. Die XXXX werden kopiert.
*/
- virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic,
- const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic,
+ const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
/**
*/
- virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
- /** austauschen einer Grafik (mit Undo)
+ /** austauschen einer Grafik (mit Undo)
*/
- virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj) = 0;
+ virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj) = 0;
- /** Einfuegen eines DrawObjectes. Das Object muss bereits im DrawModel
- angemeldet sein.
+ /** Einfuegen eines DrawObjectes. Das Object muss bereits im DrawModel
+ angemeldet sein.
*/
- virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0;
+ virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0;
- /** Einfuegen von OLE-Objecten.
+ /** Einfuegen von OLE-Objecten.
*/
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
- virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
/** Aufspalten eines Nodes an rPos (nur fuer den TxtNode implementiert)
*/
- virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart) = 0;
+ virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart) = 0;
/**
*/
- virtual bool AppendTxtNode(SwPosition& rPos) = 0;
+ virtual bool AppendTxtNode(SwPosition& rPos) = 0;
- /** Ersetz einen selektierten Bereich in einem TextNode mit dem
- String. Ist fuers Suchen&Ersetzen gedacht.
- bRegExpRplc - ersetze Tabs (\\t) und setze den gefundenen String
- ein ( nicht \& )
- z.B.: Fnd: "zzz", Repl: "xx\t\\t..&..\&"
- --> "xx\t<Tab>..zzz..&"
+ /** Ersetz einen selektierten Bereich in einem TextNode mit dem
+ String. Ist fuers Suchen&Ersetzen gedacht.
+ bRegExpRplc - ersetze Tabs (\\t) und setze den gefundenen String
+ ein ( nicht \& )
+ z.B.: Fnd: "zzz", Repl: "xx\t\\t..&..\&"
+ --> "xx\t<Tab>..zzz..&"
*/
virtual bool ReplaceRange(SwPaM& rPam, const String& rNewStr,
- const bool bRegExReplace) = 0;
+ const bool bRegExReplace) = 0;
/** Einfuegen eines Attributs. Erstreckt sich rRg ueber
- mehrere Nodes, wird das Attribut aufgespaltet, sofern
- dieses Sinn macht. Nodes, in denen dieses Attribut keinen
- Sinn macht, werden ignoriert. In vollstaendig in der
- Selektion eingeschlossenen Nodes wird das Attribut zu
- harter Formatierung, in den anderen (Text-)Nodes wird das
- Attribut in das Attributearray eingefuegt. Bei einem
- Zeichenattribut wird ein "leerer" Hint eingefuegt,
- wenn keine Selektion
- vorliegt; andernfalls wird das Attribut als harte
- Formatierung dem durch rRg.Start() bezeichneten Node
- hinzugefuegt. Wenn das Attribut nicht eingefuegt werden
- konnte, liefert die Methode sal_False.
- */
- //Modify here for #119405, by chengjh, 2012-08-16
- //Add a para for the char attribute exp...
- virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&,
- const sal_uInt16 nFlags,bool bExpandCharToPara=false) = 0;
- //End
+ mehrere Nodes, wird das Attribut aufgespaltet, sofern
+ dieses Sinn macht. Nodes, in denen dieses Attribut keinen
+ Sinn macht, werden ignoriert. In vollstaendig in der
+ Selektion eingeschlossenen Nodes wird das Attribut zu
+ harter Formatierung, in den anderen (Text-)Nodes wird das
+ Attribut in das Attributearray eingefuegt. Bei einem
+ Zeichenattribut wird ein "leerer" Hint eingefuegt,
+ wenn keine Selektion
+ vorliegt; andernfalls wird das Attribut als harte
+ Formatierung dem durch rRg.Start() bezeichneten Node
+ hinzugefuegt. Wenn das Attribut nicht eingefuegt werden
+ konnte, liefert die Methode sal_False.
+ */
+ //Modify here for #119405, by chengjh, 2012-08-16
+ //Add a para for the char attribute exp...
+ virtual bool InsertPoolItem(
+ const SwPaM &rRg,
+ const SfxPoolItem&,
+ const sal_uInt16 nFlags,
+ const bool bExpandCharToPara=false ) = 0;
+ //End
/**
*/
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
- const sal_uInt16 nFlags) = 0;
+ const sal_uInt16 nFlags) = 0;
/** Removes any leading white space from the paragraph
*/
virtual void RemoveLeadingWhiteSpace(const SwPosition & rPos ) = 0;
- protected:
+protected:
virtual ~IDocumentContentOperations() {};
};
Modified: openoffice/branches/l10n40/main/sw/inc/PostItMgr.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/PostItMgr.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/PostItMgr.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/PostItMgr.hxx Tue Nov 19 22:39:40 2013
@@ -282,6 +282,10 @@ class SwPostItMgr: public SfxListener
sal_uInt16 SearchReplace(const SwFmtFld &pFld, const ::com::sun::star::util::SearchOptions& rSearchOptions,bool bSrchForward);
sal_uInt16 FinishSearchReplace(const ::com::sun::star::util::SearchOptions& rSearchOptions,bool bSrchForward);
+ //IAccessibility2 Implementation 2009-----
+ // get the PostIt window by index
+ sal_Int32 GetPostItCount() {return mvPostItFlds.size();};
+ //-----IAccessibility2 Implementation 2009
void AssureStdModeAtShell();
void ConnectSidebarWinToFrm( const SwFrm& rFrm,
Modified: openoffice/branches/l10n40/main/sw/inc/access.hrc
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/access.hrc?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/access.hrc (original)
+++ openoffice/branches/l10n40/main/sw/inc/access.hrc Tue Nov 19 22:39:40 2013
@@ -59,9 +59,12 @@
#define STR_ACCESS_SW_CATEGORY (RC_ACCESS_BEGIN + 29)
#define STR_ACCESS_TL_GLOBAL (RC_ACCESS_BEGIN + 30)
#define STR_ACCESS_TL_CONTENT (RC_ACCESS_BEGIN + 31)
+#define STR_ACCESS_FORMULA_TYPE (RC_ACCESS_BEGIN + 32)
+#define STR_ACCESS_FORMULA_TEXT (RC_ACCESS_BEGIN + 33)
+#define STR_ACCESS_FORMULA_TOOLBAR (RC_ACCESS_BEGIN + 34)
//-----IAccessibility2 Implementation 2009
-#define ACCESS_ACT_END STR_ACCESS_TL_CONTENT
+#define ACCESS_ACT_END STR_ACCESS_FORMULA_TOOLBAR
#if ACCESS_ACT_END > RC_ACCESS_END
#error Resource-Id Ueberlauf in #file, #line
Modified: openoffice/branches/l10n40/main/sw/inc/accmap.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/accmap.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/accmap.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/accmap.hxx Tue Nov 19 22:39:40 2013
@@ -32,7 +32,14 @@
#include <tools/debug.hxx>
#include <tools/fract.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <svx/AccessibleControlShape.hxx>
+#include <svx/AccessibleShape.hxx>
+#include "fesh.hxx"
#include <vector>
+#include <set>
+class SwAccessibleParagraph;
+//-----IAccessibility2 Implementation 2009
class ViewShell;
class Rectangle;
@@ -80,8 +87,8 @@ class Window;
typedef sal_uInt16 tAccessibleStates;
// <--
-class SwAccessibleMap : public accessibility::IAccessibleViewForwarder,
- public accessibility::IAccessibleParent
+class SwAccessibleMap : public ::accessibility::IAccessibleViewForwarder,
+ public ::accessibility::IAccessibleParent
{
mutable ::vos::OMutex maMutex;
::vos::OMutex maEventMutex;
@@ -115,10 +122,19 @@ class SwAccessibleMap : public accessibi
void InvalidateCursorPosition(
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rAcc );
- void DoInvalidateShapeSelection();
- void DoInvalidateShapeFocus();
+ //IAccessibility2 Implementation 2009-----
+ void DoInvalidateShapeSelection(sal_Bool bInvalidateFocusMode = sal_False);
+
+ //Replace by DoInvalidateShapeSelection
+ //void DoInvalidateShapeFocus();
void InvalidateShapeSelection();
+ //mpSelectedFrmMap contains the old selected objects.
+ SwAccessibleContextMap_Impl *mpSeletedFrmMap;
+ //IvalidateShapeInParaSelection() method is reponsible for the updating the selected states of the objects.
+ void InvalidateShapeInParaSelection();
+ //-----IAccessibility2 Implementation 2009
+
void _InvalidateRelationSet( const SwFrm* pFrm, sal_Bool bFrom );
::com::sun::star::uno::Reference<
@@ -174,6 +190,15 @@ public:
{
return mpVSh;
}
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool IsInSameLevel(const SdrObject* pObj, const SwFEShell* pFESh);
+ void AddShapeContext(const SdrObject *pObj,
+ ::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xAccShape);
+
+ void AddGroupContext(const SdrObject *pParentObj,
+ ::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xAccParent);
+ void RemoveGroupContext(const SdrObject *pParentObj, ::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xAccParent);
+ //-----IAccessibility2 Implementation 2009
const SwRect& GetVisArea() const;
@@ -214,7 +239,11 @@ public:
void InvalidateCursorPosition( const SwFrm *pFrm );
void InvalidateFocus();
-
+ //IAccessibility2 Implementation 2009-----
+ void FirePageChangeEvent(sal_uInt16 nOldPage, sal_uInt16 nNewPage);
+ void FireSectionChangeEvent(sal_uInt16 nOldSection, sal_uInt16 nNewSection);
+ void FireColumnChangeEvent(sal_uInt16 nOldColumn, sal_uInt16 nNewColumn);
+ //-----IAccessibility2 Implementation 2009
void SetCursorContext(
const ::vos::ORef < SwAccessibleContext >& rCursorContext );
@@ -292,6 +321,14 @@ public:
const long _nIndex,
const ::accessibility::AccessibleShapeTreeInfo& _rShapeTreeInfo
) throw (::com::sun::star::uno::RuntimeException);
+ //IAccessibility2 Implementation 2009-----
+ virtual ::accessibility::AccessibleControlShape* GetAccControlShapeFromModel
+ (::com::sun::star::beans::XPropertySet* pSet)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > GetAccessibleCaption (
+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & xShape)
+ throw (::com::sun::star::uno::RuntimeException);
+ //-----IAccessibility2 Implementation 2009
// additional Core/Pixel conversions for internal use; also works
// for preview
@@ -321,5 +358,17 @@ private:
*/
void GetMapMode( const Point& _rPoint,
MapMode& _orMapMode ) const;
+//IAccessibility2 Implementation 2009-----
+public:
+ virtual sal_Bool IsDocumentSelAll();
+
+ ::com::sun::star::uno::WeakReference < ::com::sun::star::accessibility::XAccessible >
+ GetCursorContext() const { return mxCursorContext; }
+
+ //Para Container for InvalidateCursorPosition
+ typedef std::set< SwAccessibleParagraph* > SET_PARA;
+ SET_PARA m_setParaAdd;
+ SET_PARA m_setParaRemove;
+ //-----IAccessibility2 Implementation 2009
};
#endif
Modified: openoffice/branches/l10n40/main/sw/inc/crsrsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/crsrsh.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/crsrsh.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/crsrsh.hxx Tue Nov 19 22:39:40 2013
@@ -71,10 +71,9 @@ class SwCellFrms;
class SwTOXMark;
class SwRedline;
class IBlockCursor;
-class SwCntntNode; // #i23726#
-// --> OD 2008-06-19 #i90516#
+class SwCntntNode;
class SwPostItField;
-// <--
+class SwTxtFld;
struct SwPosition;
namespace com { namespace sun { namespace star { namespace util {
@@ -220,10 +219,8 @@ private:
sal_uInt16 nBasicActionCnt; // Actions, die vom Basic geklammert wurden
CrsrMoveState eMvState; // Status fuers Crsr-Travelling - GetCrsrOfst
- // --> OD 2008-04-02 #refactorlists#
String sMarkedListId;
int nMarkedListLevel;
- // <--
sal_Bool bHasFocus : 1; // Shell ist in einem Window "aktiv"
sal_Bool bSVCrsrVis : 1; // SV-Cursor Un-/Sichtbar
@@ -251,9 +248,9 @@ private:
// OD 11.02.2003 #100556# - flag to allow/avoid execution of marcos (default: true)
bool mbMacroExecAllowed : 1;
- SW_DLLPRIVATE void UpdateCrsr( sal_uInt16 eFlags
- =SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
- sal_Bool bIdleEnd = sal_False );
+ SW_DLLPRIVATE void UpdateCrsr(
+ sal_uInt16 eFlags = SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
+ sal_Bool bIdleEnd = sal_False );
SW_DLLPRIVATE void _ParkPams( SwPaM* pDelRg, SwShellCrsr** ppDelRing );
@@ -734,12 +731,27 @@ public:
inline void UnSetVisCrsr();
// springe zum nachsten/vorherigen Feld des entsprechenden Types
- sal_Bool MoveFldType( const SwFieldType* pFldType, sal_Bool bNext,
- sal_uInt16 nSubType = USHRT_MAX,
- sal_uInt16 nResType = USHRT_MAX );
+ sal_Bool MoveFldType(
+ const SwFieldType* pFldType,
+ const bool bNext,
+ const sal_uInt16 nResType = USHRT_MAX,
+ const bool bAddSetExpressionFldsToInputFlds = true );
// springe genau zu diesem Feld
sal_Bool GotoFld( const SwFmtFld& rFld );
+ SwTxtFld* GetTxtFldAtPos(
+ const SwPosition* pPos,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetFieldAtCrsr(
+ const SwPaM* pCrsr,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetCurFld( const bool bIncludeInputFldAtStart = false ) const;
+ bool CrsrInsideInputFld() const;
+ bool PosInsideInputFld( const SwPosition& rPos ) const;
+ bool DocPtInsideInputFld( const Point& rDocPt ) const;
+ xub_StrLen StartOfInputFldAtPos( const SwPosition& rPos ) const;
+ xub_StrLen EndOfInputFldAtPos( const SwPosition& rPos ) const;
+
// returne die Anzahl der Cursor im Ring (Flag besagt ob man nur
// aufgepspannte haben will - sprich etwas selektiert ist (Basic))
sal_uInt16 GetCrsrCnt( sal_Bool bAll = sal_True ) const;
@@ -829,15 +841,14 @@ public:
sal_Bool GotoINetAttr( const SwTxtINetFmt& rAttr );
const SwFmtINetFmt* FindINetAttr( const String& rName ) const;
+ sal_Bool SelectTxt( const xub_StrLen nStart,
+ const xub_StrLen nEnd );
+
sal_Bool CheckTblBoxCntnt( const SwPosition* pPos = 0 );
void SaveTblBoxCntnt( const SwPosition* pPos = 0 );
void ClearTblBoxCntnt();
sal_Bool EndAllTblBoxEdit();
- // wird gerufen, wenn eine Tabellenselektion im UpdateCrsr erzeugt wird,
- // ohne das die UI davon etaws weiss
- virtual void NewCoreSelection();
-
void SetSelTblCells( sal_Bool bFlag ) { bSelTblCells = bFlag; }
sal_Bool IsSelTblCells() const { return bSelTblCells; }
@@ -857,6 +868,13 @@ public:
// is cursor or the point in/over a right to left formatted text?
sal_Bool IsInRightToLeftText( const Point* pPt = 0 ) const;
+ //IAccessibility2 Implementation 2009-----
+ void FirePageChangeEvent(sal_uInt16 nOldPage, sal_uInt16 nNewPage);
+ SwFrm* oldColFrm;
+ bool bColumnChange();
+ void FireSectionChangeEvent(sal_uInt16 nOldSection, sal_uInt16 nNewSection);
+ void FireColumnChangeEvent(sal_uInt16 nOldColumn, sal_uInt16 nNewColumn);
+ //-----IAccessibility2 Implementation 2009
// If the current cursor position is inside a hidden range, the hidden range
// is selected and true is returned:
bool SelectHiddenRange();
@@ -885,8 +903,6 @@ public:
@return the textual description of the current selection
*/
String GetCrsrDescr() const;
-
- SwRect GetRectOfCurrentChar();
};
Modified: openoffice/branches/l10n40/main/sw/inc/doc.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/doc.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/doc.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/doc.hxx Tue Nov 19 22:39:40 2013
@@ -481,6 +481,9 @@ private:
bool mbClipBoard : 1; // true: this document represents the clipboard
bool mbColumnSelection : 1; // true: this content has bee created by a column selection
// (clipboard docs only)
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool bIsPrepareSelAll :1;
+ //-----IAccessibility2 Implementation 2009
#ifdef DBG_UTIL
bool mbXMLExport : 1; // sal_True: during XML export
@@ -701,6 +704,11 @@ private:
SwFmt *_MakeFrmFmt(const String &, SwFmt *, sal_Bool, sal_Bool );
SwFmt *_MakeTxtFmtColl(const String &, SwFmt *, sal_Bool, sal_Bool );
+//IAccessibility2 Implementation 2009-----
+private:
+ sal_Bool bReadOnly;
+ String msDocAccTitle;
+
void InitTOXTypes();
void Paste( const SwDoc& );
bool DeleteAndJoinImpl(SwPaM&, const bool);
@@ -710,6 +718,12 @@ private:
bool ReplaceRangeImpl(SwPaM&, String const&, const bool);
public:
+ virtual void setDocReadOnly( sal_Bool b) { bReadOnly = b; }
+ virtual sal_Bool getDocReadOnly() const { return bReadOnly; }
+ virtual void setDocAccTitle( const String& rTitle ) { msDocAccTitle = rTitle; }
+ virtual const String getDocAccTitle() const { return msDocAccTitle; }
+ //-----IAccessibility2 Implementation 2009
+
enum DocumentType {
DOCTYPE_NATIVE,
DOCTYPE_MSWORD //This doc medul is come from Ms Word
@@ -853,13 +867,13 @@ public:
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwField* GetField(const SwPosition& rPos);
+ static SwField* GetFieldAtPos(const SwPosition& rPos);
/** Returns the field at a certain position.
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwTxtFld* GetTxtFld(const SwPosition& rPos);
+ static SwTxtFld* GetTxtFldAtPos(const SwPosition& rPos);
/** IDocumentContentOperations
*/
@@ -867,12 +881,10 @@ public:
virtual void DeleteSection(SwNode* pNode);
virtual bool DeleteRange(SwPaM&);
virtual bool DelFullPara(SwPaM&);
- // --> OD 2009-08-20 #i100466#
// Add optional parameter <bForceJoinNext>, default value <false>
// Needed for hiding of deletion redlines
virtual bool DeleteAndJoin( SwPaM&,
const bool bForceJoinNext = false );
- // <--
virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags);
virtual bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags);
virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags);
@@ -886,11 +898,13 @@ public:
virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*);
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
const SfxItemSet* pGrfAttrSet, SwFrmFmt*);
- //Modify here for #119405, by chengjh, 2012-08-16
- //Add a para for the char attribute exp...
- virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&,
- const SetAttrMode nFlags,bool bExpandCharToPara=false);
- //End
+
+ virtual bool InsertPoolItem(
+ const SwPaM &rRg,
+ const SfxPoolItem&,
+ const SetAttrMode nFlags,
+ const bool bExpandCharToPara=false);
+
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
const SetAttrMode nFlags);
virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj);
@@ -1049,6 +1063,14 @@ public:
bool InXMLExport() const { return mbXMLExport; }
void SetXMLExport( bool bFlag ) { mbXMLExport = bFlag; }
#endif
+ //-----IAccessibility2 Implementation 2009
+ void SetSelAll( sal_Bool bSel )
+ {
+ bIsPrepareSelAll = bSel;
+ }
+ sal_Bool IsPrepareSelAll() { return bIsPrepareSelAll; }
+ void SetPrepareSelAll() { bIsPrepareSelAll = sal_True; }
+ //IAccessibility2 Implementation 2009-----
void SetContainsAtPageObjWithContentAnchor( const bool bFlag )
{
Modified: openoffice/branches/l10n40/main/sw/inc/docsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/docsh.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/docsh.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/docsh.hxx Tue Nov 19 22:39:40 2013
@@ -304,7 +304,13 @@ public:
// read by the binary filter:
virtual void UpdateLinks();
// <--
-
+ //IAccessibility2 Implementation 2009-----
+ virtual void setDocAccTitle( const String& rTitle );
+ virtual const String getDocAccTitle() const;
+
+ void setDocReadOnly( sal_Bool bReadOnly);
+ sal_Bool getDocReadOnly() const;
+ //-----IAccessibility2 Implementation 2009
::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >
GetController();
Modified: openoffice/branches/l10n40/main/sw/inc/editsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/editsh.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/editsh.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/editsh.hxx Tue Nov 19 22:39:40 2013
@@ -54,7 +54,7 @@ class SfxPoolItem;
class SfxItemSet;
class SvxAutoCorrect;
-class SwField; // fuer Felder
+class SwField;
class SwFieldType;
class SwDDEFieldType;
class SwNewDBMgr;
@@ -256,8 +256,8 @@ public:
sal_Bool GetCurAttr( SfxItemSet& ,
const bool bMergeIndentValuesOfNumRule = false ) const;
// <--
- void SetAttr( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
- void SetAttr( const SfxItemSet&, sal_uInt16 nFlags = 0 );
+ void SetAttrItem( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
+ void SetAttrSet( const SfxItemSet&, sal_uInt16 nFlags = 0 );
// Setze das Attribut als neues default Attribut im Dokument.
void SetDefault( const SfxPoolItem& );
@@ -332,7 +332,6 @@ public:
// Felder
void Insert2(SwField&, const bool bForceExpandHints = false);
- SwField* GetCurFld() const;
void UpdateFlds( SwField & ); // ein einzelnes Feld
Modified: openoffice/branches/l10n40/main/sw/inc/expfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/expfld.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/expfld.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/expfld.hxx Tue Nov 19 22:39:40 2013
@@ -312,30 +312,50 @@ public:
class SW_DLLPUBLIC SwInputField : public SwField
{
- String aContent;
- String aPText;
- String aHelp;
- String aToolTip;
- sal_uInt16 nSubType;
+ mutable String aContent;
+ String aPText;
+ String aHelp;
+ String aToolTip;
+ sal_uInt16 nSubType;
+ bool mbIsFormField;
+
+ SwFmtFld* mpFmtFld; // attribute to which the <SwInputField> belongs to
virtual String Expand() const;
virtual SwField* Copy() const;
+ // Accessing Input Field's content
+ const String& getContent() const;
+
public:
- // Direkte Eingabe ueber Dialog alten Wert loeschen
- SwInputField(SwInputFieldType*, const String& rContent ,
- const String& rPrompt, sal_uInt16 nSubType = 0,
- sal_uLong nFmt = 0);
+ // Direkte Eingabe ueber Dialog alten Wert loeschen
+ SwInputField(
+ SwInputFieldType* pFieldType,
+ const String& rContent,
+ const String& rPrompt,
+ sal_uInt16 nSubType = 0,
+ sal_uLong nFmt = 0,
+ bool bIsFormField = true );
+ virtual ~SwInputField();
+
+ void SetFmtFld( SwFmtFld& rFmtFld );
+ SwFmtFld* GetFmtFld();
+
+ // Providing new Input Field's content:
+ // Fill Input Field's content depending on <nSupType>.
+ void applyFieldContent( const String& rNewFieldContent );
+
+ bool isFormField() const;
virtual String GetFieldName() const;
- // Content
- virtual const String& GetPar1() const;
- virtual void SetPar1(const String& rStr);
-
- // aPromptText
- virtual String GetPar2() const;
- virtual void SetPar2(const String& rStr);
+ // Content
+ virtual const String& GetPar1() const;
+ virtual void SetPar1(const String& rStr);
+
+ // aPromptText
+ virtual String GetPar2() const;
+ virtual void SetPar2(const String& rStr);
virtual String GetHelp() const;
virtual void SetHelp(const String & rStr);
@@ -343,10 +363,8 @@ public:
virtual String GetToolTip() const;
virtual void SetToolTip(const String & rStr);
- virtual sal_Bool isFormField() const;
-
- virtual sal_uInt16 GetSubType() const;
- virtual void SetSubType(sal_uInt16 nSub);
+ virtual sal_uInt16 GetSubType() const;
+ virtual void SetSubType(sal_uInt16 nSub);
virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) const;
virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich );
};
Modified: openoffice/branches/l10n40/main/sw/inc/fesh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/fesh.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/fesh.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/fesh.hxx Tue Nov 19 22:39:40 2013
@@ -482,6 +482,10 @@ public:
sal_uInt16 IsObjSelected() const; //Liefert gleich die Anzahl der Objekte,
//zaehlt aber nicht die Objekte in Gruppen.
sal_Bool IsObjSelected( const SdrObject& rObj ) const;
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool IsObjSameLevelWithMarked(const SdrObject* pObj) const;
+ const SdrMarkList* GetMarkList() const{ return _GetMarkList(); };
+ //-----IAccessibility2 Implementation 2009
void EndTextEdit(); //Loescht ggf. das Objekt.
Modified: openoffice/branches/l10n40/main/sw/inc/fldbas.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/fldbas.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/fldbas.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/fldbas.hxx Tue Nov 19 22:39:40 2013
@@ -138,8 +138,18 @@ enum SwFldTypesEnum
TYP_DROPDOWN,
TYP_END
};
-
-
+//IAccessibility2 Implementation 2009-----
+enum SwAttrFieldTYpe
+{
+ ATTR_NONE,
+ ATTR_DATEFLD,
+ ATTR_TIMEFLD,
+ ATTR_PAGENUMBERFLD,
+ ATTR_PAGECOOUNTFLD,
+ ATTR_BOOKMARKFLD,
+ ATTR_SETREFATTRFLD
+};
+//-----IAccessibility2 Implementation 2009
enum SwFileNameFormat
{
FF_BEGIN,
@@ -298,6 +308,8 @@ class SW_DLLPUBLIC SwField
{
private:
mutable String m_Cache; /// #i85766# cached expansion (for clipboard)
+ bool m_bUseFieldValueCache; /// control the usage of the cached field value
+
sal_uInt16 nLang; // Immer ueber SetLanguage aendern!
sal_Bool bIsAutomaticLanguage;
sal_uInt32 nFormat;
@@ -310,7 +322,10 @@ private:
protected:
void SetFormat(sal_uInt32 nSet) {nFormat = nSet;}
- SwField(SwFieldType* pTyp, sal_uInt32 nFmt = 0, sal_uInt16 nLang = LANGUAGE_SYSTEM);
+ SwField( SwFieldType* pTyp,
+ sal_uInt32 nFmt = 0,
+ sal_uInt16 nLang = LANGUAGE_SYSTEM,
+ bool m_bUseFieldValueCache = true );
public:
virtual ~SwField();
Modified: openoffice/branches/l10n40/main/sw/inc/fmtfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/fmtfld.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/fmtfld.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/fmtfld.hxx Tue Nov 19 22:39:40 2013
@@ -39,17 +39,15 @@ class SwFieldType;
// ATT_FLD ***********************************
class SW_DLLPUBLIC SwFmtFld : public SfxPoolItem, public SwClient, public SfxBroadcaster
{
- friend class SwTxtFld;
- friend void _InitCore();
+ friend void _InitCore();
+ SwFmtFld( sal_uInt16 nWhich ); // for default-Attibute
- SwField *pField;
- SwTxtFld* pTxtAttr; // mein TextAttribut
+ SwField* mpField;
+ SwTxtFld* mpTxtFld; // the TextAttribute
- SwFmtFld(); // das default-Attibut
- // geschuetzter CopyCtor
- // @@@ copy construction allowed, but copy assignment is not? @@@
- SwFmtFld& operator=(const SwFmtFld& rFld);
+ // @@@ copy construction allowed, but copy assignment is not? @@@
+ SwFmtFld& operator=(const SwFmtFld& rFld);
protected:
virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
@@ -74,11 +72,11 @@ public:
const SwField* GetField() const
{
- return pField;
+ return mpField;
}
SwField* GetField()
{
- return pField;
+ return mpField;
}
// #111840#
@@ -89,14 +87,24 @@ public:
@attention The current field will be destroyed before setting the new field.
*/
- void SetFld(SwField * pField);
+ void SetField( SwField * pField );
+
+
+ const SwTxtFld* GetTxtFld() const
+ {
+ return mpTxtFld;
+ }
+ SwTxtFld* GetTxtFld()
+ {
+ return mpTxtFld;
+ }
+ void SetTxtFld( SwTxtFld& rTxtFld );
+ void ClearTxtFld();
- const SwTxtFld *GetTxtFld() const { return pTxtAttr; }
- SwTxtFld *GetTxtFld() { return pTxtAttr; }
void RegisterToFieldType( SwFieldType& );
- sal_Bool IsFldInDoc() const;
- sal_Bool IsProtect() const;
+ bool IsFldInDoc() const;
+ sal_Bool IsProtect() const;
};
class SW_DLLPUBLIC SwFmtFldHint : public SfxHint
Modified: openoffice/branches/l10n40/main/sw/inc/frmfmt.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/frmfmt.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/frmfmt.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/frmfmt.hxx Tue Nov 19 22:39:40 2013
@@ -48,11 +48,17 @@ class SW_DLLPUBLIC SwFrmFmt: public SwFm
::com::sun::star::uno::XInterface> m_wXObject;
protected:
+ //IAccessibility2 Implementation 2009-----
+ SwFrmFmt* pCaptionFmt;
+ //-----IAccessibility2 Implementation 2009
SwFrmFmt( SwAttrPool& rPool, const sal_Char* pFmtNm,
SwFrmFmt *pDrvdFrm, sal_uInt16 nFmtWhich = RES_FRMFMT,
const sal_uInt16* pWhichRange = 0 )
: SwFmt( rPool, pFmtNm, (pWhichRange ? pWhichRange : aFrmFmtSetRange),
pDrvdFrm, nFmtWhich )
+ //IAccessibility2 Implementation 2009-----
+ ,pCaptionFmt( NULL )
+ //-----IAccessibility2 Implementation 2009
{}
SwFrmFmt( SwAttrPool& rPool, const String &rFmtNm,
@@ -60,6 +66,9 @@ protected:
const sal_uInt16* pWhichRange = 0 )
: SwFmt( rPool, rFmtNm, (pWhichRange ? pWhichRange : aFrmFmtSetRange),
pDrvdFrm, nFmtWhich )
+ //IAccessibility2 Implementation 2009-----
+ ,pCaptionFmt( NULL )
+ //-----IAccessibility2 Implementation 2009
{}
virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNewValue );
@@ -128,6 +137,11 @@ public:
// <--
virtual String GetDescription() const;
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool HasCaption() const;
+ void SetCaptionFmt(SwFrmFmt* pFmt);
+ SwFrmFmt* GetCaptionFmt() const;
+ //-----IAccessibility2 Implementation 2009
SW_DLLPRIVATE ::com::sun::star::uno::WeakReference<
::com::sun::star::uno::XInterface> const& GetXObject() const
@@ -145,6 +159,10 @@ public:
class SW_DLLPUBLIC SwFlyFrmFmt: public SwFrmFmt
{
friend class SwDoc;
+ //IAccessibility2 Implementation 2009-----
+ String msTitle;
+ String msDesc;
+ //-----IAccessibility2 Implementation 2009
// #i972:
// it stores the previous position of Prt rectangle from RequestObjectResize
Modified: openoffice/branches/l10n40/main/sw/inc/hintids.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/hintids.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/hintids.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/hintids.hxx Tue Nov 19 22:39:40 2013
@@ -33,11 +33,15 @@
#define CH_TXTATR_INWORD ((sal_Unicode)0x02)
#define CH_TXTATR_TAB ((sal_Unicode)'\t')
#define CH_TXTATR_NEWLINE ((sal_Unicode)'\n')
-#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x04)
-#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x05)
+#define CH_TXT_ATR_INPUTFIELDSTART ((sal_Unicode)0x04)
+#define CH_TXT_ATR_INPUTFIELDEND ((sal_Unicode)0x05)
+
+#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
+
+#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x07)
+#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x08)
#define CH_TXT_ATR_SUBST_FIELDSTART ("[")
#define CH_TXT_ATR_SUBST_FIELDEND ("]")
-#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
/*
* Hier kommen erst mal die enums fuer die Hints
@@ -129,7 +133,7 @@ RES_TXTATR_WITHEND_BEGIN = RES_TXTATR_BE
RES_TXTATR_CHARFMT, // 49
RES_TXTATR_CJK_RUBY, // 50
RES_TXTATR_UNKNOWN_CONTAINER, // 51
- RES_TXTATR_DUMMY5, // 52
+ RES_TXTATR_INPUTFIELD, // 52
RES_TXTATR_WITHEND_END,
// alle TextAttribute ohne ein Ende
Modified: openoffice/branches/l10n40/main/sw/inc/mdiexp.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/mdiexp.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/mdiexp.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/mdiexp.hxx Tue Nov 19 22:39:40 2013
@@ -70,5 +70,7 @@ TblChgMode GetTblChgDefaultMode();
sal_Bool JumpToSwMark( ViewShell* pVwSh, const UniString& rMark );
+// IAccessible2 Implementation
+extern void AccessibilityScrollMDI(ViewShell* pVwSh, const SwRect &, sal_uInt16 nRangeX, sal_uInt16 nRangeY, sal_Bool isLeftTop);
#endif
Modified: openoffice/branches/l10n40/main/sw/inc/ndole.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/sw/inc/ndole.hxx?rev=1543609&r1=1543608&r2=1543609&view=diff
==============================================================================
--- openoffice/branches/l10n40/main/sw/inc/ndole.hxx (original)
+++ openoffice/branches/l10n40/main/sw/inc/ndole.hxx Tue Nov 19 22:39:40 2013
@@ -66,6 +66,9 @@ public:
const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > GetOleRef();
svt::EmbeddedObjectRef& GetObject();
const String& GetCurrentPersistName() const { return aName; }
+ //IAccessibility2 Implementation 2009-----
+ String GetStyleString();
+ //-----IAccessibility2 Implementation 2009
sal_Bool IsOleRef() const; //Damit das Objekt nicht unnoetig geladen werden muss.
#endif
};