You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2013/11/27 18:25:54 UTC
svn commit: r1546124 [9/33] - in /openoffice/branches/alg/aw080: ./ main/
main/accessibility/inc/accessibility/extended/
main/accessibility/inc/accessibility/helper/
main/accessibility/inc/accessibility/standard/
main/accessibility/source/extended/ mai...
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/Accessibility/AccessibleText.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/Accessibility/AccessibleText.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/Accessibility/AccessibleText.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/Accessibility/AccessibleText.cxx Wed Nov 27 17:25:40 2013
@@ -1060,8 +1060,10 @@ ScDocShell* ScAccessibleCellTextData::Ge
// ============================================================================
-
-ScAccessibleEditObjectTextData::ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin)
+//IAccessibility2 Implementation 2009-----
+//ScAccessibleEditObjectTextData::ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin)
+ScAccessibleEditObjectTextData::ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin, sal_Bool isClone)
+//-----IAccessibility2 Implementation 2009
:
mpViewForwarder(NULL),
mpEditViewForwarder(NULL),
@@ -1070,13 +1072,22 @@ ScAccessibleEditObjectTextData::ScAccess
mpForwarder(NULL),
mpWindow(pWin)
{
- if (mpEditEngine)
+//IAccessibility2 Implementation 2009-----
+ // Solution: If the object is cloned, do NOT add notify hdl.
+ mbIsCloned = isClone;
+ //if (mpEditEngine)
+ if (mpEditEngine && !mbIsCloned)
+//-----IAccessibility2 Implementation 2009
mpEditEngine->SetNotifyHdl( LINK(this, ScAccessibleEditObjectTextData, NotifyHdl) );
}
ScAccessibleEditObjectTextData::~ScAccessibleEditObjectTextData()
{
- if (mpEditEngine)
+//IAccessibility2 Implementation 2009-----
+ // Solution: If the object is cloned, do NOT set notify hdl.
+ //if (mpEditEngine)
+ if (mpEditEngine && !mbIsCloned)
+//-----IAccessibility2 Implementation 2009
mpEditEngine->SetNotifyHdl(Link());
if (mpViewForwarder)
delete mpViewForwarder;
@@ -1110,7 +1121,11 @@ void ScAccessibleEditObjectTextData::Not
ScAccessibleTextData* ScAccessibleEditObjectTextData::Clone() const
{
- return new ScAccessibleEditObjectTextData(mpEditView, mpWindow);
+//IAccessibility2 Implementation 2009-----
+ // Solution: Add para to indicate the object is cloned
+ //return new ScAccessibleEditObjectTextData(mpEditView, mpWindow);
+ return new ScAccessibleEditObjectTextData(mpEditView, mpWindow,sal_True);
+//-----IAccessibility2 Implementation 2009
}
SvxTextForwarder* ScAccessibleEditObjectTextData::GetTextForwarder()
@@ -1119,7 +1134,11 @@ SvxTextForwarder* ScAccessibleEditObject
{
if (!mpEditEngine)
mpEditEngine = mpEditView->GetEditEngine();
- if (mpEditEngine && !mpEditEngine->GetNotifyHdl().IsSet())
+//IAccessibility2 Implementation 2009-----
+ // Solution: If the object is cloned, do NOT add notify hdl.
+ //if (mpEditEngine && !mpEditEngine->GetNotifyHdl().IsSet())
+ if (mpEditEngine && !mpEditEngine->GetNotifyHdl().IsSet()&&!mbIsCloned)
+//-----IAccessibility2 Implementation 2009
mpEditEngine->SetNotifyHdl( LINK(this, ScAccessibleEditObjectTextData, NotifyHdl) );
if(!mpForwarder)
mpForwarder = new SvxEditEngineForwarder(*mpEditEngine);
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/dbgui/dbnamdlg.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/dbgui/dbnamdlg.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/dbgui/dbnamdlg.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/dbgui/dbnamdlg.cxx Wed Nov 27 17:25:40 2013
@@ -180,6 +180,11 @@ ScDbNameDlg::ScDbNameDlg( SfxBindings* p
aBtnDoSize, aBtnKeepFmt, aBtnStripData, theCurArea );
Init();
FreeResource();
+ //IAccessibility2 Implementation 2009-----
+ SynFocusTimer.SetTimeout(150);
+ SynFocusTimer.SetTimeoutHdl(LINK( this, ScDbNameDlg, FocusToComoboxHdl));
+ SynFocusTimer.Start();
+ //-----IAccessibility2 Implementation 2009
aRbAssign.SetAccessibleRelationMemberOf(&aFlAssign);
}
@@ -716,8 +721,37 @@ IMPL_LINK( ScDbNameDlg, AssModifyHdl, vo
String aText = aEdAssign.GetText();
if ( aTmpRange.ParseAny( aText, pDoc, aAddrDetails ) & SCA_VALID )
theCurArea = aTmpRange;
-
+//IAccessibility2 Implementation 2009-----
+ if( aText.Len() > 0 && aEdName.GetText().Len() > 0 )
+ {
+ aBtnAdd.Enable();
+ aBtnHeader.Enable();
+ aBtnDoSize.Enable();
+ aBtnKeepFmt.Enable();
+ aBtnStripData.Enable();
+ aFTSource.Enable();
+ aFTOperations.Enable();
+ }
+ else
+ {
+ aBtnAdd.Disable();
+ aBtnHeader.Disable();
+ aBtnDoSize.Disable();
+ aBtnKeepFmt.Disable();
+ aBtnStripData.Disable();
+ aFTSource.Disable();
+ aFTOperations.Disable();
+ }
+//-----IAccessibility2 Implementation 2009
return 0;
}
-
+//IAccessibility2 Implementation 2009-----
+IMPL_LINK( ScDbNameDlg, FocusToComoboxHdl, Timer*, pTi)
+{
+ (void)pTi;
+ // CallEventListeners is still protected - figure out if we need to make it public, or if the focus stuff can be handled better in VCL directly. First see what AT is expecting...
+ // aEdName.CallEventListeners( VCLEVENT_CONTROL_GETFOCUS );
+ return 0;
+}
+//-----IAccessibility2 Implementation 2009
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/docshell/docsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/docshell/docsh.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/docshell/docsh.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/docshell/docsh.cxx Wed Nov 27 17:25:40 2013
@@ -121,6 +121,9 @@
#include "docsh.hxx"
#include "docshimp.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <sfx2/viewfrm.hxx>
+//-----IAccessibility2 Implementation 2009
#include <rtl/logfile.hxx>
#include <comphelper/processfactory.hxx>
@@ -1592,6 +1595,23 @@ sal_Bool __EXPORT ScDocShell::SaveAs( Sf
PrepareSaveGuard aPrepareGuard( *this);
+//IAccessibility2 Implementation 2009-----
+ aDocument.setDocAccTitle(String());
+ // SfxViewFrame* pFrame1 = SfxViewFrame::GetFirst( this, TYPE(SfxTopViewFrame));
+ SfxViewFrame* pFrame1 = SfxViewFrame::GetFirst( this );
+ if (pFrame1)
+ {
+ Window* pWindow = &pFrame1->GetWindow();
+ if ( pWindow )
+ {
+ Window* pSysWin = pWindow->GetSystemWindow();
+ if ( pSysWin )
+ {
+ pSysWin->SetAccessibleName(String());
+ }
+ }
+ }
+//-----IAccessibility2 Implementation 2009
// wait cursor is handled with progress bar
sal_Bool bRet = SfxObjectShell::SaveAs( rMedium );
if( bRet )
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/drawfunc/fudraw.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/drawfunc/fudraw.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/drawfunc/fudraw.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/drawfunc/fudraw.cxx Wed Nov 27 17:25:40 2013
@@ -381,10 +381,16 @@ sal_Bool __EXPORT FuDraw::KeyInput(const
// changeover to the next object
if(!pView->MarkNextObj( !aCode.IsShift() ))
{
+//IAccessibility2 Implementation 2009-----
+ //If there is only one object, don't do the UnmarkAlllObj() & MarkNextObj().
+ if ( pView->GetMarkableObjCount() > 1 && pView->HasMarkableObj() )
+ {
+//-----IAccessibility2 Implementation 2009
// #97016# No next object: go over open end and
// get first from the other side
pView->UnmarkAllObj();
pView->MarkNextObj(!aCode.IsShift());
+ }
}
// #97016# II
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCell.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCell.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCell.hxx Wed Nov 27 17:25:40 2013
@@ -32,17 +32,28 @@
#include <unotools/accessiblerelationsethelper.hxx>
#include <editeng/AccessibleStaticTextBase.hxx>
#include <comphelper/uno3.hxx>
+//IAccessibility2 Implementation 2009-----
+#ifndef _COM_SUN_STAR_ACCESSIBILITY_XAccessibleExtendedAttributes_HPP_
+#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
+#endif
+//-----IAccessibility2 Implementation 2009
class ScTabViewShell;
class ScAccessibleDocument;
+typedef cppu::ImplHelper1< ::com::sun::star::accessibility::XAccessibleExtendedAttributes>
+ ScAccessibleCellAttributeImpl;
+
/** @descr
This base class provides an implementation of the
<code>AccessibleCell</code> service.
*/
class ScAccessibleCell
: public ScAccessibleCellBase,
- public accessibility::AccessibleStaticTextBase
+ public accessibility::AccessibleStaticTextBase,
+//IAccessibility2 Implementation 2009-----
+ public ScAccessibleCellAttributeImpl
+//-----IAccessibility2 Implementation 2009
{
public:
//===== internal ========================================================
@@ -134,6 +145,14 @@ public:
getSupportedServiceNames(void)
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+
+ // Override this method to handle cell's ParaIndent attribute specially.
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
private:
ScTabViewShell* mpViewShell;
ScAccessibleDocument* mpAccDoc;
@@ -163,6 +182,10 @@ private:
void AddRelation(const ScRange& rRange,
const sal_uInt16 aRelationType,
::utl::AccessibleRelationSetHelper* pRelationSet);
+//IAccessibility2 Implementation 2009-----
+ sal_Bool IsFormulaMode();
+ sal_Bool IsDropdown();
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCellBase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCellBase.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCellBase.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleCellBase.hxx Wed Nov 27 17:25:40 2013
@@ -142,6 +142,21 @@ private:
virtual sal_Bool IsEditable(
const com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessibleStateSet>& rxParentStates);
+//IAccessibility2 Implementation 2009-----
+protected:
+ virtual ::rtl::OUString SAL_CALL GetNote(void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::rtl::OUString SAL_CALL GetAllDisplayNote(void)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getShadowAttrs(void)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getBorderAttrs(void)
+ throw (::com::sun::star::uno::RuntimeException);
+public:
+ const ScAddress& GetCellAddress() const { return maCellAddress; }
+ sal_Bool IsCellInChangeTrack(const ScAddress &cell,Color *pColCellBoder);
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocument.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocument.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocument.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocument.hxx Wed Nov 27 17:25:40 2013
@@ -29,7 +29,12 @@
#include "viewdata.hxx"
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
#include <com/sun/star/view/XSelectionChangeListener.hpp>
-#include <cppuhelper/implbase2.hxx>
+//IAccessibility2 Implementation 2009-----
+//#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/implbase3.hxx>
+#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
+#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
+//-----IAccessibility2 Implementation 2009
#include <svx/IAccessibleViewForwarder.hxx>
class ScTabViewShell;
@@ -51,13 +56,19 @@ namespace utl
<code>AccessibleContext</code> service.
*/
-typedef cppu::ImplHelper2< ::com::sun::star::accessibility::XAccessibleSelection,
+//IAccessibility2 Implementation 2009-----
+typedef cppu::ImplHelper3< ::com::sun::star::accessibility::XAccessibleSelection,
+ ::com::sun::star::accessibility::XAccessibleExtendedAttributes,
+//-----IAccessibility2 Implementation 2009
::com::sun::star::view::XSelectionChangeListener >
ScAccessibleDocumentImpl;
class ScAccessibleDocument
: public ScAccessibleDocumentBase,
public ScAccessibleDocumentImpl,
+//IAccessibility2 Implementation 2009-----
+ public com::sun::star::accessibility::XAccessibleGetAccFlowTo,
+//-----IAccessibility2 Implementation 2009
public accessibility::IAccessibleViewForwarder
{
public:
@@ -124,6 +135,14 @@ public:
getAccessibleStateSet(void)
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ virtual ::rtl::OUString SAL_CALL
+ getAccessibleName(void)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+//-----IAccessibility2 Implementation 2009
///===== XAccessibleSelection ===========================================
virtual void SAL_CALL
@@ -318,6 +337,24 @@ private:
rtl::OUString GetCurrentCellDescription() const;
Rectangle GetVisibleArea_Impl() const;
+//IAccessibility2 Implementation 2009-----
+ com::sun::star::uno::Sequence< com::sun::star::uno::Any > GetScAccFlowToSequence();
+public:
+ ScDocument *GetDocument() const ;
+ ScAddress GetCurCellAddress() const;
+ //===== XAccessibleGetAccFromXShape ============================================
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
+ SAL_CALL get_AccFlowTo(const ::com::sun::star::uno::Any& rAny, sal_Int32 nType)
+ throw ( ::com::sun::star::uno::RuntimeException );
+
+ virtual sal_Int32 SAL_CALL getForeground( )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual sal_Int32 SAL_CALL getBackground( )
+ throw (::com::sun::star::uno::RuntimeException);
+protected:
+ void SwitchViewFireFocus();
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentBase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentBase.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentBase.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentBase.hxx Wed Nov 27 17:25:40 2013
@@ -37,6 +37,9 @@ public:
ScAccessibleDocumentBase(
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent);
+//IAccessibility2 Implementation 2009-----
+ virtual void SwitchViewFireFocus();
+//-----IAccessibility2 Implementation 2009
protected:
virtual ~ScAccessibleDocumentBase (void);
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentPagePreview.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentPagePreview.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentPagePreview.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleDocumentPagePreview.hxx Wed Nov 27 17:25:40 2013
@@ -85,6 +85,10 @@ public:
getAccessibleStateSet(void)
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ virtual ::rtl::OUString SAL_CALL getAccessibleName(void)
+ throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
///===== XServiceInfo ====================================================
/** Returns an identifier for the implementation of this object.
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleEditObject.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleEditObject.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleEditObject.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleEditObject.hxx Wed Nov 27 17:25:40 2013
@@ -27,6 +27,10 @@
#include "AccessibleContextBase.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
+#include "global.hxx"
+//-----IAccessibility2 Implementation 2009
namespace accessibility
{
class AccessibleTextHelper;
@@ -46,7 +50,10 @@ enum EditObjectType
<code>AccessibleCell</code> service.
*/
class ScAccessibleEditObject
- : public ScAccessibleContextBase
+ : public ScAccessibleContextBase,
+//IAccessibility2 Implementation 2009-----
+ public ::com::sun::star::accessibility::XAccessibleSelection
+//-----IAccessibility2 Implementation 2009
{
public:
//===== internal ========================================================
@@ -71,7 +78,17 @@ public:
virtual void LostFocus();
virtual void GotFocus();
+//IAccessibility2 Implementation 2009-----
+///===== XInterface =====================================================
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
+ ::com::sun::star::uno::Type const & rType )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL acquire() throw ();
+
+ virtual void SAL_CALL release() throw ();
+//-----IAccessibility2 Implementation 2009
///===== XAccessibleComponent ============================================
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
@@ -110,6 +127,32 @@ public:
getAccessibleStateSet(void)
throw (::com::sun::star::uno::RuntimeException);
+ //===== XAccessibleSelection ============================================
+
+ virtual void SAL_CALL selectAccessibleChild(
+ sal_Int32 nChildIndex )
+ throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException );
+ virtual sal_Bool SAL_CALL isAccessibleChildSelected(
+ sal_Int32 nChildIndex )
+ throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL clearAccessibleSelection( )
+ throw ( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL selectAllAccessibleChildren( )
+ throw ( ::com::sun::star::uno::RuntimeException );
+ virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( )
+ throw ( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(
+ sal_Int32 nSelectedChildIndex )
+ throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL deselectAccessibleChild(
+ sal_Int32 nSelectedChildIndex )
+ throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
protected:
/// Return this object's description.
virtual ::rtl::OUString SAL_CALL
@@ -168,6 +211,20 @@ private:
::com::sun::star::accessibility::XAccessibleStateSet>& rxParentStates);
void CreateTextHelper();
+//IAccessibility2 Implementation 2009-----
+ ScDocument *m_pScDoc;
+ ScAddress m_curCellAddress;
+
+
+ ///===== XAccessibleComponent ============================================
+ virtual sal_Int32 SAL_CALL getForeground( )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual sal_Int32 SAL_CALL getBackground( )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ sal_Int32 GetFgBgColor( const rtl::OUString &strPropColor) ;
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleSpreadsheet.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleSpreadsheet.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleSpreadsheet.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleSpreadsheet.hxx Wed Nov 27 17:25:40 2013
@@ -30,6 +30,10 @@
#include <vector>
+//IAccessibility2 Implementation 2009-----
+#include "rangelst.hxx"
+#include <map>
+//-----IAccessibility2 Implementation 2009
class ScMyAddress : public ScAddress
{
public:
@@ -239,6 +243,17 @@ public:
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessibleEventListener>& xListener)
throw (com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ //===== XAccessibleTableSelection ============================================
+ virtual sal_Bool SAL_CALL selectRow( sal_Int32 row )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL selectColumn( sal_Int32 column )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL unselectRow( sal_Int32 row )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL unselectColumn( sal_Int32 column )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+//-----IAccessibility2 Implementation 2009
protected:
/// Return the object's current bounding box relative to the desktop.
@@ -279,6 +294,55 @@ private:
ScDocument* GetDocument(ScTabViewShell* pViewShell);
Rectangle GetVisArea(ScTabViewShell* pViewShell, ScSplitPos eSplitPos);
Rectangle GetVisCells(const Rectangle& rVisArea);
+//IAccessibility2 Implementation 2009-----
+ //void CreateSortedMarkedCells();
+ //void AddMarkedRange(const ScRange& rRange);
+ typedef std::vector<ScMyAddress> VEC_MYADDR;
+
+ typedef std::map<ScMyAddress,com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > >
+ MAP_ADDR_XACC;
+ MAP_ADDR_XACC m_mapSelectionSend;
+ void RemoveSelection(ScMarkData &refScMarkData);
+ sal_Bool IsSameMarkCell();
+ void CommitFocusCell(const ScAddress &aNewCell);
+public:
+ void FireFirstCellFocus();
+private:
+ sal_Bool m_bFormulaMode;
+ sal_Bool m_bFormulaLastMode;
+ ScAddress m_aFormulaActiveCell;
+ MAP_ADDR_XACC m_mapFormulaSelectionSend;
+ VEC_MYADDR m_vecFormulaLastMyAddr;
+ ScAccessibleCell* m_pAccFormulaCell;
+ sal_uInt16 m_nMinX;
+ sal_uInt16 m_nMaxX;
+ sal_Int32 m_nMinY;
+ sal_Int32 m_nMaxY;
+ sal_Int32 GetRowAll() const { return m_nMaxY - m_nMinY + 1 ; }
+ sal_uInt16 GetColAll() const { return m_nMaxX - m_nMinX + 1; }
+ void NotifyRefMode();
+ void RemoveFormulaSelection(sal_Bool bRemoveAll =sal_False);
+ sal_Bool CheckChildIndex(sal_Int32)const ;
+ ScAddress GetChildIndexAddress(sal_Int32) const;
+ sal_Int32 GetAccessibleIndexFormula( sal_Int32 nRow, sal_Int32 nColumn );
+ sal_Bool GetFormulaCurrentFocusCell(ScAddress &addr);
+public:
+ sal_Bool IsScAddrFormulaSel (const ScAddress &addr) const ;
+ sal_Bool IsFormulaMode() ;
+ ::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > GetActiveCell();
+ ScRange m_aLastWithInMarkRange;
+ String m_strCurCellValue;
+ ScRangeList m_LastMarkedRanges;
+ typedef std::vector<ScRange*> VEC_RANGE;
+ VEC_RANGE m_vecTempRange;
+ typedef std::pair<sal_uInt16,sal_uInt16> PAIR_COL;
+ typedef std::vector<PAIR_COL> VEC_COL;
+ VEC_COL m_vecTempCol;
+ ScMyAddress CalcScAddressFromRangeList(ScRangeList *pMarkedRanges,sal_Int32 nSelectedChildIndex);
+ sal_Bool CalcScRangeDifferenceMax(ScRange *pSrc,ScRange *pDest,int nMax,VEC_MYADDR &vecRet,int &nSize);
+ sal_Bool CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScRangeList *pDest,int nMax,VEC_MYADDR &vecRet);
+ String m_strOldTabName;
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleTableBase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleTableBase.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleTableBase.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleTableBase.hxx Wed Nov 27 17:25:40 2013
@@ -30,6 +30,9 @@
#include "address.hxx"
#include <com/sun/star/accessibility/XAccessibleTable.hpp>
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/XAccessibleTableSelection.hpp>
+//-----IAccessibility2 Implementation 2009
#include <cppuhelper/implbase2.hxx>
class ScTabViewShell;
@@ -45,6 +48,9 @@ typedef cppu::ImplHelper2< ::com::sun::s
class ScAccessibleTableBase :
public ScAccessibleContextBase,
+//IAccessibility2 Implementation 2009-----
+ public ::com::sun::star::accessibility::XAccessibleTableSelection,
+//-----IAccessibility2 Implementation 2009
public ScAccessibleTableBaseImpl
{
public:
@@ -199,6 +205,16 @@ public:
getAccessibleChild(sal_Int32 nIndex)
throw (::com::sun::star::uno::RuntimeException,
::com::sun::star::lang::IndexOutOfBoundsException);
+//IAccessibility2 Implementation 2009-----
+ virtual sal_Bool SAL_CALL selectRow( sal_Int32 row )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL selectColumn( sal_Int32 column )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL unselectRow( sal_Int32 row )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL unselectColumn( sal_Int32 column )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+//-----IAccessibility2 Implementation 2009
protected:
/// Return this object's description.
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleText.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleText.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleText.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/AccessibleText.hxx Wed Nov 27 17:25:40 2013
@@ -132,7 +132,11 @@ private:
class ScAccessibleEditObjectTextData : public ScAccessibleTextData
{
public:
- ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin);
+//IAccessibility2 Implementation 2009-----
+ // Solution: Add a para to indicate whether the object is cloned
+ //ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin);
+ ScAccessibleEditObjectTextData(EditView* pEditView, Window* pWin, sal_Bool isClone=sal_False);
+//-----IAccessibility2 Implementation 2009
virtual ~ScAccessibleEditObjectTextData();
virtual ScAccessibleTextData* Clone() const;
@@ -155,6 +159,9 @@ protected:
EditEngine* mpEditEngine;
SvxEditEngineForwarder* mpForwarder;
Window* mpWindow;
+//IAccessibility2 Implementation 2009-----
+ sal_Bool mbIsCloned;
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/content.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/content.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/content.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/content.hxx Wed Nov 27 17:25:40 2013
@@ -34,6 +34,9 @@ class ScNavigatorSettings;
class ScDocument;
class ScDocShell;
class ScAreaLink;
+//IAccessibility2 Implementation 2009-----
+class SdrPage;
+//-----IAccessibility2 Implementation 2009
#define SC_CONTENT_ROOT 0
#define SC_CONTENT_TABLE 1
@@ -64,6 +67,10 @@ class ScContentTree : public SvTreeListB
String aHiddenName; // URL zum Laden
String aHiddenTitle; // fuer Anzeige
ScDocument* pHiddenDocument; // temporaer
+//IAccessibility2 Implementation 2009-----
+ sal_Bool bisInNavigatoeDlg;
+ String sKeyString;
+//-----IAccessibility2 Implementation 2009
sal_uInt16 pPosList[SC_CONTENT_COUNT]; // fuer die Reihenfolge
@@ -112,7 +119,12 @@ class ScContentTree : public SvTreeListB
DECL_LINK( ContentDoubleClickHdl, ScContentTree* );
DECL_STATIC_LINK( ScContentTree, ExecDragHdl, void* );
+//IAccessibility2 Implementation 2009-----
+public:
+ SvLBoxEntry* pTmpEntry;
+ bool m_bFirstPaint;
+//-----IAccessibility2 Implementation 2009
protected:
// virtual sal_Bool Drop( const DropEvent& rEvt );
// virtual sal_Bool QueryDrop( DropEvent& rEvt );
@@ -126,11 +138,21 @@ protected:
virtual void Command( const CommandEvent& rCEvt );
virtual void RequestHelp( const HelpEvent& rHEvt );
-
+//IAccessibility2 Implementation 2009-----
+ virtual void InitEntry(SvLBoxEntry*,const XubString&,const Image&,const Image&, SvLBoxButtonKind);
+//-----IAccessibility2 Implementation 2009
public:
ScContentTree( Window* pParent, const ResId& rResId );
~ScContentTree();
+//IAccessibility2 Implementation 2009-----
+ String getAltLongDescText( SvLBoxEntry* pEntry , sal_Bool isAltText) const;
+ String GetEntryAltText( SvLBoxEntry* pEntry ) const;
+ String GetEntryLongDescription( SvLBoxEntry* pEntry ) const;
+
+ void ObjectFresh( sal_uInt16 nType,SvLBoxEntry* pEntry = NULL);
+ sal_Bool SetNavigatorDlgFlag(sal_Bool isInNavigatoeDlg){ return bisInNavigatoeDlg=isInNavigatoeDlg;};
+//-----IAccessibility2 Implementation 2009
virtual void MouseButtonDown( const MouseEvent& rMEvt );
virtual void KeyInput( const KeyEvent& rKEvt );
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/dbnamdlg.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/dbnamdlg.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/dbnamdlg.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/dbnamdlg.hxx Wed Nov 27 17:25:40 2013
@@ -100,6 +100,10 @@ private:
ScDBCollection aLocalDbCol;
ScRange theCurArea;
List aRemoveList;
+ //IAccessibility2 Implementation 2009-----
+ Timer SynFocusTimer;
+ DECL_LINK( FocusToComoboxHdl, Timer* );
+ //-----IAccessibility2 Implementation 2009
#ifdef _DBNAMDLG_CXX
private:
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/docsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/docsh.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/docsh.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/docsh.hxx Wed Nov 27 17:25:40 2013
@@ -404,6 +404,14 @@ public:
const ScOptSolverSave* GetSolverSaveData() const { return pSolverSaveData; } // may be null
void SetSolverSaveData( const ScOptSolverSave& rData );
+
+//IAccessibility2 Implementation 2009-----
+ virtual void setDocAccTitle( const String& rTitle ) { aDocument.setDocAccTitle( rTitle ); }
+ virtual const String getDocAccTitle() const { return aDocument.getDocAccTitle(); }
+ void setDocReadOnly( sal_Bool b){ aDocument.setDocReadOnly(b);}
+ sal_Bool getDocReadOnly() const { return aDocument.getDocReadOnly(); }
+//-----IAccessibility2 Implementation 2009
+
//<!--Added by PengYunQuan for Validity Cell Range Picker
sal_Bool AcceptStateUpdate() const;
//-->Added by PengYunQuan for Validity Cell Range Picker
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/drawview.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/drawview.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/drawview.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/drawview.hxx Wed Nov 27 17:25:40 2013
@@ -151,6 +151,10 @@ public:
SdrEndTextEditKind ScEndTextEdit(); // ruft SetDrawTextUndo(0)
//UNUSED2009-05 void CaptionTextDirection(sal_uInt16 nSlot);
::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > CopyToTransferable();
+//IAccessibility2 Implementation 2009-----
+ SdrObject* GetObjectByName(const String& rName);
+ sal_Bool SelectCurrentViewObject( const String& rName );
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/gridwin.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/gridwin.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/gridwin.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/gridwin.hxx Wed Nov 27 17:25:40 2013
@@ -239,7 +239,9 @@ private:
void ExecPageFieldSelect( SCCOL nCol, SCROW nRow, sal_Bool bHasSelection, const String& rStr );
sal_Bool HasScenarioButton( const Point& rPosPixel, ScRange& rScenRange );
-
+//IAccessibility2 Implementation 2009-----
+ sal_Bool HasScenarioRange( sal_uInt16 nCol, sal_Int32 nRow, ScRange& rScenRange );
+//-----IAccessibility2 Implementation 2009
sal_Bool DropScroll( const Point& rMousePos );
sal_Int8 AcceptPrivateDrop( const AcceptDropEvent& rEvt );
@@ -388,6 +390,9 @@ public:
void DoInvertRect( const Rectangle& rPixel );
void CheckNeedsRepaint();
+//IAccessibility2 Implementation 2009-----
+ virtual void SwitchView();
+//-----IAccessibility2 Implementation 2009
void UpdateDPFromFieldPopupMenu();
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/preview.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/preview.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/preview.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/preview.hxx Wed Nov 27 17:25:40 2013
@@ -158,6 +158,9 @@ public:
static void StaticInvalidate();
FmFormView* GetDrawView() { return pDrawView; }
+//IAccessibility2 Implementation 2009-----
+ virtual void SwitchView();
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/scuitphfedit.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/scuitphfedit.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/scuitphfedit.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/scuitphfedit.hxx Wed Nov 27 17:25:40 2013
@@ -91,6 +91,9 @@ private:
sal_uInt16 nWhich;
String aCmdArr[6];
+ //IAccessibility2 Implementation 2009-----
+ DECL_LINK( ObjectSelectHdl, ScEditWindow* );
+ //-----IAccessibility2 Implementation 2009
private:
#ifdef _TPHFEDIT_CXX
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabview.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabview.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabview.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabview.hxx Wed Nov 27 17:25:40 2013
@@ -471,7 +471,7 @@ public:
sal_Bool bCols = sal_False, sal_Bool bRows = sal_False, sal_Bool bCellSelection = sal_False );
void InitBlockMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
sal_Bool bTestNeg = sal_False,
- sal_Bool bCols = sal_False, sal_Bool bRows = sal_False );
+ sal_Bool bCols = sal_False, sal_Bool bRows = sal_False, sal_Bool bForceNeg = sal_False );
void InitOwnBlockMode();
void DoneBlockMode( sal_Bool bContinue = sal_False );
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabvwsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabvwsh.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabvwsh.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/tabvwsh.hxx Wed Nov 27 17:25:40 2013
@@ -161,7 +161,9 @@ private:
sal_Bool bPrintSelected; // for result of SvxPrtQryBox
sal_Bool bReadOnly; // um Status-Aenderungen zu erkennen
-
+//IAccessibility2 Implementation 2009-----
+ sal_Bool bIsActive;
+//-----IAccessibility2 Implementation 2009
SbxObject* pScSbxObject;
//UNUSED2008-05 sal_Bool bChartDlgIsEdit; // Datenbereich aendern
@@ -421,6 +423,11 @@ public:
bool ExecuteRetypePassDlg(ScPasswordHash eDesiredHash);
using ScTabView::ShowCursor;
+//IAccessibility2 Implementation 2009-----
+ sal_Bool IsActive(){ return bIsActive; }
+ rtl::OUString GetFormula(ScAddress& rAddress);
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & GetForms() const;
+//-----IAccessibility2 Implementation 2009
};
//==================================================================
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/tphfedit.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/tphfedit.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/tphfedit.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/tphfedit.hxx Wed Nov 27 17:25:40 2013
@@ -78,6 +78,9 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
inline ScHeaderEditEngine* GetEditEngine() const {return pEdEngine;}
+ //IAccessibility2 Implementation 2009-----
+ void SetObjectSelectHdl( const Link& aLink){ aObjectSelectLink = aLink; };
+ //-----IAccessibility2 Implementation 2009
protected:
virtual void Paint( const Rectangle& rRec );
virtual void MouseMove( const MouseEvent& rMEvt );
@@ -96,6 +99,11 @@ private:
com::sun::star::uno::WeakReference< ::com::sun::star::accessibility::XAccessible > xAcc;
ScAccessibleEditObject* pAcc;
+
+ //IAccessibility2 Implementation 2009-----
+ Link aObjectSelectLink;
+ //-----IAccessibility2 Implementation 2009
+
};
//===================================================================
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/validate.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/validate.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/validate.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/validate.hxx Wed Nov 27 17:25:40 2013
@@ -93,9 +93,8 @@ class ScValidationDlg :public ScRefHdlrI
//<!--Added by PengYunQuan for Validity Cell Range Picker
typedef ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false> ScValidationDlgBase;
- //Start_Moddify by liliang 03/26/2008 SODC_13677_2
DECL_LINK( OkHdl, Button * );
- //End_Moddify by liliang 03/26/2008 SODC_13677_2
+
bool m_bOwnRefHdlr:1;
ScTabViewShell *m_pTabVwSh;
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/inc/viewfunc.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/inc/viewfunc.hxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/inc/viewfunc.hxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/inc/viewfunc.hxx Wed Nov 27 17:25:40 2013
@@ -251,8 +251,11 @@ public:
ScAutoFormatData* CreateAutoFormatData();
void AutoFormat( sal_uInt16 nFormatNo, sal_Bool bRecord = sal_True );
- void SearchAndReplace( const SvxSearchItem* pSearchItem,
+//IAccessibility2 Implementation 2009-----
+// void SearchAndReplace( const SvxSearchItem* pSearchItem,
+ sal_Bool SearchAndReplace( const SvxSearchItem* pSearchItem,
sal_Bool bAddUndo, sal_Bool bIsApi );
+//-----IAccessibility2 Implementation 2009
void Solve( const ScSolveParam& rParam );
void TabOp( const ScTabOpParam& rParam, sal_Bool bRecord = sal_True );
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/highred.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/highred.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/highred.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/highred.cxx Wed Nov 27 17:25:40 2013
@@ -105,6 +105,7 @@ ScHighlightChgDlg::ScHighlightChgDlg( Sf
Init();
+ aFilterCtr.SetAccessibleRelationMemberOf(&aFlFilter);
}
ScHighlightChgDlg::~ScHighlightChgDlg()
@@ -257,6 +258,9 @@ IMPL_LINK( ScHighlightChgDlg, RefHandle,
aEdAssign.Show();
aRbAssign.Show();
aEdAssign.SetText(aFilterCtr.GetRange());
+ //IAccessibility2 Implementation 2009-----
+ aEdAssign.GrabFocus();
+ //-----IAccessibility2 Implementation 2009
ScAnyRefDlg::RefInputStart(&aEdAssign,&aRbAssign);
}
return 0;
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/solveroptions.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/solveroptions.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/solveroptions.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/miscdlgs/solveroptions.cxx Wed Nov 27 17:25:40 2013
@@ -84,10 +84,34 @@ public:
void SetDoubleValue( double fNew ) { mbIsDouble = true; mfDoubleValue = fNew; }
void SetIntValue( sal_Int32 nNew ) { mbIsDouble = false; mnIntValue = nNew; }
-
+ //IAccessibility2 Implementation 2009-----
+// MT: Commented out SV_ITEM_ID_EXTENDRLBOXSTRING and GetExtendText() in svlbitem.hxx - needed?
+// virtual USHORT IsA() {return SV_ITEM_ID_EXTENDRLBOXSTRING;}
+// virtual XubString GetExtendText() const;
+ //-----IAccessibility2 Implementation 2009
virtual void Paint( const Point& rPos, SvLBox& rDev, sal_uInt16 nFlags, SvLBoxEntry* pEntry );
};
+//IAccessibility2 Implementation 2009-----
+// MT: Commented out SV_ITEM_ID_EXTENDRLBOXSTRING and GetExtendText() in svlbitem.hxx - needed?
+/*
+XubString ScSolverOptionsString::GetExtendText() const
+{
+ String aNormalStr( GetText() );
+ aNormalStr.Append( (sal_Unicode) ':' );
+ String sTxt( ' ' );
+ if ( mbIsDouble )
+ sTxt += (String)rtl::math::doubleToUString( mfDoubleValue,
+ rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
+ ScGlobal::GetpLocaleData()->getNumDecimalSep().GetChar(0), true );
+ else
+ sTxt += String::CreateFromInt32( mnIntValue );
+ aNormalStr.Append(sTxt);
+ return aNormalStr;
+}
+*/
+//-----IAccessibility2 Implementation 2009
+
void ScSolverOptionsString::Paint( const Point& rPos, SvLBox& rDev, sal_uInt16, SvLBoxEntry* /* pEntry */ )
{
//! move position? (SvxLinguTabPage: aPos.X() += 20)
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/navipi/content.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/navipi/content.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/navipi/content.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/navipi/content.cxx Wed Nov 27 17:25:40 2013
@@ -64,6 +64,10 @@
#include "navicfg.hxx"
#include "navsett.hxx"
#include "postit.hxx"
+//IAccessibility2 Implementation 2009-----
+#include "tabvwsh.hxx"
+#include "drawview.hxx"
+//-----IAccessibility2 Implementation 2009
#include "clipparam.hxx"
using namespace com::sun::star;
@@ -125,7 +129,10 @@ ScContentTree::ScContentTree( Window* pP
aHCEntryImages ( ScResId( RID_IMAGELIST_H_NAVCONT ) ),
nRootType ( SC_CONTENT_ROOT ),
bHiddenDoc ( sal_False ),
- pHiddenDocument ( NULL )
+ pHiddenDocument ( NULL ),
+//IAccessibility2 Implementation 2009-----
+ bisInNavigatoeDlg ( sal_False )
+//-----IAccessibility2 Implementation 2009
{
sal_uInt16 i;
for (i=0; i<SC_CONTENT_COUNT; i++)
@@ -141,12 +148,80 @@ ScContentTree::ScContentTree( Window* pP
SetDoubleClickHdl( LINK( this, ScContentTree, ContentDoubleClickHdl ) );
+ //IAccessibility2 Implementation 2009-----
+ pTmpEntry= NULL;
+ m_bFirstPaint=true;
+ //-----IAccessibility2 Implementation 2009
+
SetStyle( GetStyle() | WB_QUICK_SEARCH );
}
ScContentTree::~ScContentTree()
{
}
+//IAccessibility2 Implementation 2009-----
+// helper function for GetEntryAltText and GetEntryLongDescription
+String ScContentTree::getAltLongDescText( SvLBoxEntry* pEntry , sal_Bool isAltText) const
+{
+ SdrObject* pFound = NULL;
+
+ sal_uInt16 nType;
+ sal_uLong nChild;
+ GetEntryIndexes( nType, nChild, pEntry );
+ switch( nType )
+ {
+ case SC_CONTENT_OLEOBJECT:
+ case SC_CONTENT_GRAPHIC:
+ case SC_CONTENT_DRAWING:
+ {
+ ScDocument* pDoc = ( const_cast< ScContentTree* >(this) )->GetSourceDocument();
+ SdrIterMode eIter = ( nType == SC_CONTENT_DRAWING ) ? IM_FLAT : IM_DEEPNOGROUPS;
+ ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
+ SfxObjectShell* pShell = pDoc->GetDocumentShell();
+ if (pDrawLayer && pShell)
+ {
+ sal_uInt16 nTabCount = pDoc->GetTableCount();
+ for (sal_uInt16 nTab=0; nTab<nTabCount; nTab++)
+ {
+ SdrPage* pPage = pDrawLayer->GetPage(nTab);
+ DBG_ASSERT(pPage,"Page ?");
+ if (pPage)
+ {
+ SdrObjListIter aIter( *pPage, eIter );
+ SdrObject* pObject = aIter.Next();
+ while (pObject)
+ {
+ if( ScDrawLayer::GetVisibleName( pObject ) == GetEntryText( pEntry ) )
+ {
+ pFound = pObject;
+ break;
+ }
+ pObject = aIter.Next();
+ }
+ }
+ }
+ }
+ if( pFound )
+ {
+ if( isAltText )
+ return pFound->GetTitle();
+ else
+ return pFound->GetDescription();
+ }
+ }
+ break;
+ }
+ return String();
+}
+String ScContentTree::GetEntryAltText( SvLBoxEntry* pEntry ) const
+{
+ return getAltLongDescText( pEntry, sal_True );
+}
+String ScContentTree::GetEntryLongDescription( SvLBoxEntry* pEntry ) const
+{
+ return getAltLongDescText( pEntry, sal_False);
+}
+//-----IAccessibility2 Implementation 2009
void ScContentTree::InitRoot( sal_uInt16 nType )
{
@@ -174,7 +249,17 @@ void ScContentTree::InitRoot( sal_uInt16
void ScContentTree::ClearAll()
{
+//IAccessibility2 Implementation 2009-----
+ //There are one method in Control::SetUpdateMode(), and one override method SvTreeListBox::SetUpdateMode(). Here although
+ //SvTreeListBox::SetUpdateMode() is called in refresh method, it only call SvTreeListBox::SetUpdateMode(), not Control::SetUpdateMode().
+ //In SvTreeList::Clear(), Broadcast( LISTACTION_CLEARED ) will be called and finally, it will be trapped into the event yield() loop. And
+ //the InitRoot() method won't be called. Then if a user click or press key to update the navigator tree, crash happens.
+ //So the solution is to disable the UpdateMode of Control, then call Clear(), then recover the update mode
+ sal_Bool bOldUpdate = Control::IsUpdateMode();
+ Control::SetUpdateMode(sal_False);
Clear();
+ Control::SetUpdateMode(bOldUpdate);
+//-----IAccessibility2 Implementation 2009
for (sal_uInt16 i=1; i<SC_CONTENT_COUNT; i++)
InitRoot(i);
}
@@ -402,10 +487,90 @@ void ScContentTree::KeyInput( const KeyE
break;
}
}
- StoreSettings();
+//IAccessibility2 Implementation 2009-----
+ //Solution: Make KEY_SPACE has same function as DoubleClick
+ if ( bisInNavigatoeDlg )
+ {
+ if(aCode.GetCode() == KEY_SPACE )
+ {
+ bUsed = sal_True;
+ sal_uInt16 nType;
+ sal_uLong nChild;
+ SvLBoxEntry* pEntry = GetCurEntry();
+ GetEntryIndexes( nType, nChild, pEntry );
+ if( pEntry && (nType != SC_CONTENT_ROOT) && (nChild != SC_CONTENT_NOCHILD) )
+ {
+ if ( bHiddenDoc )
+ return ; //! spaeter...
+ String aText( GetEntryText( pEntry ) );
+ sKeyString = aText;
+ if ( aManualDoc.Len() )
+ pParentWindow->SetCurrentDoc( aManualDoc );
+ switch( nType )
+ {
+ case SC_CONTENT_OLEOBJECT:
+ case SC_CONTENT_GRAPHIC:
+ case SC_CONTENT_DRAWING:
+ {
+ Window* pWindow=(Window*)GetParent(pEntry);
+ ScNavigatorDlg* pScNavigatorDlg = (ScNavigatorDlg*)pWindow;
+ ScTabViewShell* pScTabViewShell = NULL;
+ ScDrawView* pScDrawView = NULL;
+ if (pScNavigatorDlg!=NULL)
+ pScTabViewShell=pScNavigatorDlg->GetTabViewShell();
+ if(pScTabViewShell !=NULL)
+ pScDrawView =pScTabViewShell->GetViewData()->GetScDrawView();
+ if(pScDrawView!=NULL)
+ {
+ pScDrawView->SelectCurrentViewObject(aText );
+ bool bHasMakredObject(false);
+ SvLBoxEntry* pParent = pRootNodes[nType];
+ SvLBoxEntry* pBeginEntry = NULL;
+ if( pParent )
+ pBeginEntry = FirstChild(pParent);
+
+ while( pBeginEntry )
+ {
+ const String aTempText(GetEntryText(pBeginEntry));
+ const SdrObject* pCandidate = pScDrawView->GetObjectByName(aTempText);
+
+ if(pCandidate && pScDrawView->isSdrObjectSelected(*pCandidate))
+ {
+ bHasMakredObject = true;
+ break;
+ }
+
+ pBeginEntry = Next( pBeginEntry );
+ }
+
+ if( !bHasMakredObject && pScTabViewShell)
+ pScTabViewShell->SetDrawShell(sal_False);
+ ObjectFresh( nType,pEntry );
+ }
+ }
+ break;
+ }
+ }
+ }
+ }
+ //StoreSettings();
+ //-----IAccessibility2 Implementation 2009
if( !bUsed )
+ //IAccessibility2 Implementation 2009-----
+ {
+ if(aCode.GetCode() == KEY_F5 )
+ {
+ StoreSettings();
SvTreeListBox::KeyInput(rKEvt);
+ }
+ else
+ {
+ SvTreeListBox::KeyInput(rKEvt);
+ StoreSettings();
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
}
//sal_Bool __EXPORT ScContentTree::Drop( const DropEvent& rEvt )
@@ -606,6 +771,56 @@ ScDocument* ScContentTree::GetSourceDocu
return NULL;
}
+//IAccessibility2 Implementation 2009-----
+//Solution: move along and draw "*" sign .
+void ScContentTree::ObjectFresh( sal_uInt16 nType,SvLBoxEntry* pEntry )
+{
+ if ( bHiddenDoc && !pHiddenDocument )
+ return; // anderes Dokument angezeigt
+ if(nType ==SC_CONTENT_GRAPHIC||nType ==SC_CONTENT_OLEOBJECT||nType ==SC_CONTENT_DRAWING)
+ {
+ SetUpdateMode(sal_False);
+ ClearType( nType );
+ /*sal_uInt16 nId = OBJ_GRAF;
+ switch( nType )
+ {
+ case SC_CONTENT_OLEOBJECT:
+ nId = OBJ_OLE2;
+ break;
+ case SC_CONTENT_DRAWING:
+ nId = OBJ_GRUP;
+ break;
+ }*/
+ GetDrawNames( nType/*, nId*/ );
+ if( !pEntry )
+ ApplySettings();
+ SetUpdateMode(sal_True);
+ if( pEntry )
+ {
+ SvLBoxEntry* pParent = pRootNodes[nType];
+ SvLBoxEntry* pBeginEntry = NULL;
+ SvLBoxEntry* pOldEntry = NULL;
+ if( pParent )
+ pBeginEntry = FirstChild(pParent);
+ while( pBeginEntry )
+ {
+ String aTempText( GetEntryText( pBeginEntry ) );
+ if( aTempText == sKeyString )
+ {
+ pOldEntry = pBeginEntry;
+ break;
+ }
+ pBeginEntry = Next( pBeginEntry );
+ }
+ if( pOldEntry )
+ {
+ Expand(pParent);
+ Select( pOldEntry,sal_True);
+ }
+ }
+ }
+}
+//-----IAccessibility2 Implementation 2009
void ScContentTree::Refresh( sal_uInt16 nType )
{
if ( bHiddenDoc && !pHiddenDocument )
@@ -792,9 +1007,46 @@ void ScContentTree::GetDrawNames( sal_uI
{
String aName = ScDrawLayer::GetVisibleName( pObject );
if (aName.Len())
- InsertContent( nType, aName );
+ {
+ //IAccessibility2 Implementation 2009-----
+ //InsertContent( nType, aName );
+ if( bisInNavigatoeDlg )
+ {
+ if (nType >= SC_CONTENT_COUNT)
+ {
+ DBG_ERROR("ScContentTree::InsertContent mit falschem Typ");
+ return;
}
-
+ SvLBoxEntry* pParent = pRootNodes[nType];
+ if (pParent)
+ {
+ SvLBoxEntry* pChild=InsertEntry( aName, pParent );
+ if(pChild)
+ pChild->SetMarked( sal_False);
+ Window* pWindow=NULL;
+ ScTabViewShell* pScTabViewShell=NULL;
+ ScDrawView* pScDrawView=NULL;
+ ScNavigatorDlg* pScNavigatorDlg=NULL;
+ if(pChild)
+ pWindow=(Window*)GetParent(pChild);
+ if(pWindow)
+ pScNavigatorDlg = (ScNavigatorDlg*)pWindow;
+ if (pScNavigatorDlg!=NULL)
+ pScTabViewShell=pScNavigatorDlg->GetTabViewShell();
+ if(pScTabViewShell !=NULL)
+ pScDrawView =pScTabViewShell->GetViewData()->GetScDrawView();
+
+ if(pScDrawView)
+ {
+ pChild->SetMarked(pScDrawView->isSdrObjectSelected(*pObject));
+ }
+ }//end if parent
+ else
+ DBG_ERROR("InsertContent ohne Parent");
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
pObject = aIter.Next();
}
}
@@ -1517,7 +1769,50 @@ void ScContentTree::StoreSettings() cons
}
}
+//IAccessibility2 Implementation 2009-----
+class ScContentLBoxString : public SvLBoxString
+{
+public:
+ ScContentLBoxString( SvLBoxEntry* pEntry, sal_uInt16 nFlags,
+ const String& rStr ) : SvLBoxString(pEntry,nFlags,rStr) {}
+ virtual void Paint( const Point& rPos, SvLBox& rDev, sal_uInt16 nFlags,
+ SvLBoxEntry* pEntry);
+};
+void ScContentTree::InitEntry(SvLBoxEntry* pEntry,
+ const XubString& rStr ,const Image& rImg1,const Image& rImg2, SvLBoxButtonKind eButtonKind)
+{
+ sal_uInt16 nColToHilite = 1; //0==Bitmap;1=="Spalte1";2=="Spalte2"
+ SvTreeListBox::InitEntry( pEntry, rStr, rImg1, rImg2, eButtonKind );
+ SvLBoxString* pCol = (SvLBoxString*)pEntry->GetItem( nColToHilite );
+ ScContentLBoxString* pStr = new ScContentLBoxString( pEntry, 0, pCol->GetText() );
+ pEntry->ReplaceItem( pStr, nColToHilite );
+}
+void ScContentLBoxString::Paint( const Point& rPos, SvLBox& rDev, sal_uInt16 nFlags,
+ SvLBoxEntry* pEntry )
+{
+ // IA2 CWS. MT: Removed for now (also in SvLBoxEntry) - only used in Sw/Sd/ScContentLBoxString, they should decide if they need this
+ /*
+ if (pEntry->IsMarked())
+ {
+ rDev.DrawText( rPos, GetText() );
+ XubString str;
+ str = XubString::CreateFromAscii("*");
+ Point rPosStar(rPos.X()-6,rPos.Y());
+ Font aOldFont( rDev.GetFont());
+ Font aFont(aOldFont);
+ Color aCol( aOldFont.GetColor() );
+ aCol.DecreaseLuminance( 200 );
+ aFont.SetColor( aCol );
+ rDev.SetFont( aFont );
+ rDev.DrawText( rPosStar, str);
+ rDev.SetFont( aOldFont );
+ }
+ else
+ */
+ SvLBoxString::Paint( rPos, rDev, nFlags, pEntry);
+}
+//-----IAccessibility2 Implementation 2009
//
//------------------------------------------------------------------------
//
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/navipi/navipi.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/navipi/navipi.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/navipi/navipi.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/navipi/navipi.cxx Wed Nov 27 17:25:40 2013
@@ -785,6 +785,9 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindi
aTbxCmd.Select(IID_ZOOMOUT);
aTbxCmd.RemoveItem(aTbxCmd.GetItemPos(IID_ZOOMOUT));
}
+ //IAccessibility2 Implementation 2009-----
+ aLbEntries.SetNavigatorDlgFlag(sal_True);
+ //-----IAccessibility2 Implementation 2009
}
//------------------------------------------------------------------------
@@ -985,7 +988,13 @@ void __EXPORT ScNavigatorDlg::Notify( Sf
case FID_ANYDATACHANGED:
aContentTimer.Start(); // Notizen nicht sofort suchen
break;
-
+ //IAccessibility2 Implementation 2009-----
+ case FID_KILLEDITVIEW:
+ aLbEntries.ObjectFresh( SC_CONTENT_OLEOBJECT );
+ aLbEntries.ObjectFresh( SC_CONTENT_DRAWING );
+ aLbEntries.ObjectFresh( SC_CONTENT_GRAPHIC );
+ break;
+ //-----IAccessibility2 Implementation 2009
default:
break;
}
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/scuitphfedit.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/scuitphfedit.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/scuitphfedit.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/scuitphfedit.cxx Wed Nov 27 17:25:40 2013
@@ -166,6 +166,18 @@ ScHFEditPage::ScHFEditPage( Window* p
aWndCenter. SetFont( aPatAttr );
aWndRight. SetFont( aPatAttr );
+ //IAccessibility2 Implementation 2009-----
+ aWndLeft.SetObjectSelectHdl( LINK(this,ScHFEditPage,ObjectSelectHdl) );
+ aWndCenter.SetObjectSelectHdl( LINK(this,ScHFEditPage,ObjectSelectHdl) );
+ aWndRight.SetObjectSelectHdl( LINK(this,ScHFEditPage,ObjectSelectHdl) );
+ aBtnText.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnFile.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnTable.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnPage.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnLastPage.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnDate.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ aBtnTime.SetAccessibleRelationMemberOf( &maFtCustomHF );
+ //-----IAccessibility2 Implementation 2009
FillCmdArr();
aWndLeft.GrabFocus();
@@ -174,6 +186,14 @@ ScHFEditPage::ScHFEditPage( Window* p
FreeResource();
}
+ //IAccessibility2 Implementation 2009-----
+ IMPL_LINK( ScHFEditPage, ObjectSelectHdl, ScEditWindow*, pEdit )
+ {
+ (void)pEdit;
+ aBtnText.GrabFocus();
+ return NULL;
+ }
+ //-----IAccessibility2 Implementation 2009
// -----------------------------------------------------------------------
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/tphfedit.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/tphfedit.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/tphfedit.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/pagedlg/tphfedit.cxx Wed Nov 27 17:25:40 2013
@@ -564,6 +564,10 @@ void __EXPORT ScEditWindow::Paint( const
Control::Paint( rRec );
pEdView->Paint( rRec );
+ //IAccessibility2 Implementation 2009-----
+ if( HasFocus() )
+ pEdView->ShowCursor(sal_True,sal_True);
+ //-----IAccessibility2 Implementation 2009
}
// -----------------------------------------------------------------------
@@ -605,6 +609,14 @@ void __EXPORT ScEditWindow::KeyInput( co
{
Control::KeyInput( rKEvt );
}
+ //IAccessibility2 Implementation 2009-----
+ else if ( !rKEvt.GetKeyCode().IsMod1() && !rKEvt.GetKeyCode().IsShift() &&
+ rKEvt.GetKeyCode().IsMod2() && rKEvt.GetKeyCode().GetCode() == KEY_DOWN )
+ {
+ if (aObjectSelectLink.IsSet() )
+ aObjectSelectLink.Call(this);
+ }
+ //-----IAccessibility2 Implementation 2009
}
// -----------------------------------------------------------------------
@@ -618,6 +630,9 @@ void ScEditWindow::Command( const Comman
void __EXPORT ScEditWindow::GetFocus()
{
+ //IAccessibility2 Implementation 2009-----
+ pEdView->ShowCursor(sal_True,sal_True);
+ //-----IAccessibility2 Implementation 2009
pActiveEdWnd = this;
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xTemp = xAcc;
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/drawview.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/drawview.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/drawview.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/drawview.cxx Wed Nov 27 17:25:40 2013
@@ -703,6 +703,89 @@ void __EXPORT ScDrawView::UpdateUserView
#pragma optimize ( "", on )
#endif
+//IAccessibility2 Implementation 2009-----
+SdrObject* ScDrawView::GetObjectByName(const String& rName)
+{
+ SfxObjectShell* pShell = pDoc->GetDocumentShell();
+ if (pShell)
+ {
+ SdrModel& rDrawLayer = getSdrModelFromSdrView();
+ sal_uInt16 nTabCount = pDoc->GetTableCount();
+ for (sal_uInt16 i=0; i<nTabCount; i++)
+ {
+ SdrPage* pPage = rDrawLayer.GetPage(i);
+ DBG_ASSERT(pPage,"Page ?");
+ if (pPage)
+ {
+ SdrObjListIter aIter( *pPage, IM_DEEPNOGROUPS );
+ SdrObject* pObject = aIter.Next();
+ while (pObject)
+ {
+ if ( ScDrawLayer::GetVisibleName( pObject ) == rName )
+ {
+ return pObject;
+ }
+ pObject = aIter.Next();
+ }
+ }
+ }
+ }
+ return 0;
+}
+//Solution: realize multi-selection of objects
+//==================================================
+sal_Bool ScDrawView::SelectCurrentViewObject( const String& rName )
+{
+ sal_uInt16 nObjectTab = 0;
+ SdrObject* pFound = NULL;
+ sal_Bool bUnMark=sal_False;
+ SfxObjectShell* pShell = pDoc->GetDocumentShell();
+ if (pShell)
+ {
+ SdrModel& rDrawLayer = getSdrModelFromSdrView();
+ sal_uInt16 nTabCount = pDoc->GetTableCount();
+ for (sal_uInt16 i=0; i<nTabCount && !pFound; i++)
+ {
+ SdrPage* pPage = rDrawLayer.GetPage(i);
+ DBG_ASSERT(pPage,"Page ?");
+ if (pPage)
+ {
+ SdrObjListIter aIter( *pPage, IM_DEEPWITHGROUPS );
+ SdrObject* pObject = aIter.Next();
+ while (pObject && !pFound)
+ {
+ if ( ScDrawLayer::GetVisibleName( pObject ) == rName )
+ {
+ pFound = pObject;
+ nObjectTab = i;
+ }
+ pObject = aIter.Next();
+ }
+ }
+ }
+ }
+ if ( pFound )
+ {
+ ScTabView* pView = pViewData->GetView();
+ if ( nObjectTab != nTab ) // Tabelle umschalten
+ pView->SetTabNo( nObjectTab );
+ DBG_ASSERT( nTab == nObjectTab, "Tabellen umschalten hat nicht geklappt" );
+ pView->ScrollToObject( pFound );
+ if ( pFound->GetLayer() == SC_LAYER_BACK &&
+ !pViewData->GetViewShell()->IsDrawSelMode() &&
+ !pDoc->IsTabProtected( nTab ) &&
+ !pViewData->GetSfxDocShell()->IsReadOnly() )
+ {
+ SdrLayer* pLayer = getSdrModelFromSdrView().GetModelLayerAdmin().GetLayerPerID(SC_LAYER_BACK);
+ if (pLayer)
+ SetLayerLocked( pLayer->GetName(), sal_False );
+ }
+ bUnMark = isSdrObjectSelected(*pFound);
+ MarkObj(*pFound, bUnMark);
+ }
+ return ( bUnMark );
+}
+//-----IAccessibility2 Implementation 2009
sal_Bool ScDrawView::SelectObject( const String& rName )
{
UnmarkAll();
@@ -761,6 +844,23 @@ sal_Bool ScDrawView::SelectObject( const
return ( pFound != NULL );
}
+//UNUSED2008-05 String ScDrawView::GetSelectedChartName() const
+//UNUSED2008-05 {
+//UNUSED2008-05 // used for modifying a chart's data area - PersistName must always be used
+//UNUSED2008-05 // (as in ScDocument::FindChartData and UpdateChartArea)
+//UNUSED2008-05
+//UNUSED2008-05 const SdrMarkList& rMarkList = GetMarkedObjectList();
+//UNUSED2008-05 if (rMarkList.GetMarkCount() == 1)
+//UNUSED2008-05 {
+//UNUSED2008-05 SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+//UNUSED2008-05 if (pObj->GetObjIdentifier() == OBJ_OLE2)
+//UNUSED2008-05 if ( pDoc->IsChart(pObj) )
+//UNUSED2008-05 return static_cast<SdrOle2Obj*>(pObj)->GetPersistName();
+//UNUSED2008-05 }
+//UNUSED2008-05
+//UNUSED2008-05 return EMPTY_STRING; // nichts gefunden
+//UNUSED2008-05 }
+
bool ScDrawView::InsertObjectSafe(SdrObject& rObj, sal_uLong nOptions)
{
// Markierung nicht aendern, wenn Ole-Objekt aktiv
@@ -820,7 +920,7 @@ void ScDrawView::DeleteMarked()
ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
ScDocShell* pDocShell = pViewData ? pViewData->GetDocShell() : 0;
::svl::IUndoManager* pUndoMgr = pDocShell ? pDocShell->GetUndoManager() : 0;
- bool bUndo = pDrawLayer && pDocShell && pUndoMgr && pDoc->IsUndoEnabled();
+ bool bUndo = pDocShell && pUndoMgr && pDoc->IsUndoEnabled();
// remove the cell note from document, we are its owner now
ScPostIt* pNote = pDoc->ReleaseNote( pCaptData->maStart );
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin.cxx Wed Nov 27 17:25:40 2013
@@ -867,6 +867,45 @@ void ScGridWindow::DoScenarioMenue( cons
CaptureMouse();
}
+//IAccessibility2 Implementation 2009-----
+sal_Bool ScGridWindow::HasScenarioRange( sal_uInt16 nCol, sal_Int32 nRow, ScRange& rScenRange )
+{
+ ScDocument* pDoc = pViewData->GetDocument();
+ sal_uInt16 nTab = pViewData->GetTabNo();
+ sal_uInt16 nTabCount = pDoc->GetTableCount();
+ if ( nTab+1<nTabCount && pDoc->IsScenario(nTab+1) && !pDoc->IsScenario(nTab) )
+ {
+ sal_uInt16 i;
+ ScMarkData aMarks;
+ for (i=nTab+1; i<nTabCount && pDoc->IsScenario(i); i++)
+ pDoc->MarkScenario( i, nTab, aMarks, sal_False, SC_SCENARIO_SHOWFRAME );
+ ScRangeList aRanges;
+ aMarks.FillRangeListWithMarks( &aRanges, sal_False );
+ sal_uInt16 nRangeCount = (sal_uInt16)aRanges.Count();
+ for (i=0; i<nRangeCount; i++)
+ {
+ ScRange aRange = *aRanges.GetObject(i);
+ pDoc->ExtendTotalMerge( aRange );
+ sal_Bool bTextBelow = ( aRange.aStart.Row() == 0 );
+ sal_Bool bIsInScen = sal_False;
+ if ( bTextBelow )
+ {
+ bIsInScen = (aRange.aStart.Col() == nCol && aRange.aEnd.Row() == nRow-1);
+ }
+ else
+ {
+ bIsInScen = (aRange.aStart.Col() == nCol && aRange.aStart.Row() == nRow+1);
+ }
+ if (bIsInScen)
+ {
+ rScenRange = aRange;
+ return sal_True;
+ }
+ }
+ }
+ return sal_False;
+}
+//-----IAccessibility2 Implementation 2009
void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, sal_Bool bDataSelect )
{
delete pFilterBox;
@@ -2233,6 +2272,9 @@ void __EXPORT ScGridWindow::MouseButtonU
pViewData->GetView()->InvalidateAttribs();
}
+//IAccessibility2 Implementation 2009-----
+ pViewData->GetViewShell()->SelectionChanged();
+//-----IAccessibility2 Implementation 2009
return;
}
}
@@ -3073,7 +3115,9 @@ void __EXPORT ScGridWindow::KeyInput(con
if( !rKeyCode.GetModifier() && (rKeyCode.GetCode() == KEY_F2) )
{
SC_MOD()->EndReference();
- return;
+//IAccessibility2 Implementation 2009-----
+ //return;
+//-----IAccessibility2 Implementation 2009
}
else if( pViewData->GetViewShell()->MoveCursorKeyInput( rKEvt ) )
{
@@ -3081,8 +3125,14 @@ void __EXPORT ScGridWindow::KeyInput(con
pViewData->GetRefStartX(), pViewData->GetRefStartY(), pViewData->GetRefStartZ(),
pViewData->GetRefEndX(), pViewData->GetRefEndY(), pViewData->GetRefEndZ() );
SC_MOD()->SetReference( aRef, pViewData->GetDocument() );
- return;
+//IAccessibility2 Implementation 2009-----
+ //return;
+//-----IAccessibility2 Implementation 2009
}
+//IAccessibility2 Implementation 2009-----
+ pViewData->GetViewShell()->SelectionChanged();
+ return ;
+//-----IAccessibility2 Implementation 2009
}
// wenn semi-Modeless-SfxChildWindow-Dialog oben, keine KeyInputs:
else if( !pViewData->IsAnyFillMode() )
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin3.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin3.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin3.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin3.cxx Wed Nov 27 17:25:40 2013
@@ -180,6 +180,10 @@ sal_Bool ScGridWindow::DrawKeyInput(cons
if ( !bOldMarked &&
rKEvt.GetKeyCode().GetCode() == KEY_DELETE )
bUsed = sal_False; // nichts geloescht
+//IAccessibility2 Implementation 2009-----
+ if(bOldMarked)
+ GetFocus();
+//-----IAccessibility2 Implementation 2009
}
if (!bLeaveDraw)
UpdateStatusPosSize(); // #108137# for moving/resizing etc. by keyboard
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin5.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin5.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin5.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/gridwin5.cxx Wed Nov 27 17:25:40 2013
@@ -59,6 +59,9 @@
#include "tabvwsh.hxx"
#include "userdat.hxx"
#include "postit.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <vcl/svapp.hxx>
+//-----IAccessibility2 Implementation 2009
// -----------------------------------------------------------------------
@@ -422,13 +425,42 @@ void ScGridWindow::HideNoteMarker()
com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
ScGridWindow::CreateAccessible()
{
+//IAccessibility2 Implementation 2009-----
+ com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc= GetAccessible(sal_False);
+ if (xAcc.is())
+ {
+ return xAcc;
+ }
+//-----IAccessibility2 Implementation 2009
ScAccessibleDocument* pAccessibleDocument =
new ScAccessibleDocument(GetAccessibleParentWindow()->GetAccessible(),
pViewData->GetViewShell(), eWhich);
-
- com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xAccessible = pAccessibleDocument;
+//IAccessibility2 Implementation 2009-----
+ //com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xAccessible = pAccessibleDocument;
+ xAcc = pAccessibleDocument;
+ SetAccessible(xAcc);
+//-----IAccessibility2 Implementation 2009
pAccessibleDocument->Init();
-
- return xAccessible;
+//IAccessibility2 Implementation 2009-----
+ //return xAccessible;
+ return xAcc;
+//-----IAccessibility2 Implementation 2009
+}
+//IAccessibility2 Implementation 2009-----
+// MT: Removed Windows::SwitchView() introduced with IA2 CWS.
+// There are other notifications for this when the active view has chnaged, so please update the code to use that event mechanism
+void ScGridWindow::SwitchView()
+{
+ if (!Application::IsAccessibilityEnabled())
+ {
+ return ;
+ }
+ ScAccessibleDocumentBase* pAccDoc = static_cast<ScAccessibleDocumentBase*>(GetAccessible(sal_False).get());
+ if (pAccDoc)
+ {
+ pAccDoc->SwitchViewFireFocus();
+ }
}
+//-----IAccessibility2 Implementation 2009
+
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/output.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/output.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/output.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/output.cxx Wed Nov 27 17:25:40 2013
@@ -80,6 +80,9 @@ static ColorData nAuthorColor[ SC_AUTHOR
// Hilfsklasse, fuer die Farbzuordnung,
// um nicht mehrfach hintereinander denselben User aus der Liste zu suchen
+//IAccessibility2 Implementation 2009-----
+//Move this class declare to Chgtrack.hxx
+/*
class ScActionColorChanger
{
private:
@@ -96,6 +99,8 @@ public:
void Update( const ScChangeAction& rAction );
ColorData GetColor() const { return nColor; }
};
+*/
+//-----IAccessibility2 Implementation 2009
//------------------------------------------------------------------
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/preview.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/preview.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/preview.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/preview.cxx Wed Nov 27 17:25:40 2013
@@ -1467,13 +1467,42 @@ void ScPreview::LoseFocus()
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> ScPreview::CreateAccessible()
{
+//IAccessibility2 Implementation 2009-----
+ com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> xAcc= GetAccessible(sal_False);
+ if (xAcc.is())
+ {
+ return xAcc;
+ }
+//-----IAccessibility2 Implementation 2009
ScAccessibleDocumentPagePreview* pAccessible =
new ScAccessibleDocumentPagePreview( GetAccessibleParentWindow()->GetAccessible(), pViewShell );
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xAccessible = pAccessible;
+//IAccessibility2 Implementation 2009-----
+ //com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xAccessible = pAccessible;
+ xAcc = pAccessible;
+ SetAccessible(xAcc);
+//-----IAccessibility2 Implementation 2009
pAccessible->Init();
- return xAccessible;
+//IAccessibility2 Implementation 2009-----
+ //return xAccessible;
+ return xAcc;
+//-----IAccessibility2 Implementation 2009
}
-
+//IAccessibility2 Implementation 2009-----
+// MT: Removed Windows::SwitchView() introduced with IA2 CWS.
+// There are other notifications for this when the active view has chnaged, so please update the code to use that event mechanism
+void ScPreview::SwitchView()
+{
+ if (!Application::IsAccessibilityEnabled())
+ {
+ return ;
+ }
+ ScAccessibleDocumentBase* pAccDoc = static_cast<ScAccessibleDocumentBase*>(GetAccessible(sal_False).get());
+ if (pAccDoc)
+ {
+ pAccDoc->SwitchViewFireFocus();
+ }
+}
+//-----IAccessibility2 Implementation 2009
//Issue51656 Add resizeable margin on page preview from maoyg
void ScPreview::DragMove( long nDragMovePos, sal_uInt16 nFlags )
{
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/select.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/select.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/select.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/select.cxx Wed Nov 27 17:25:40 2013
@@ -369,6 +369,9 @@ sal_Bool ScViewFunctionSet::SetCursorAtC
}
pView->UpdateRef( nPosX, nPosY, pViewData->GetTabNo() );
+//IAccessibility2 Implementation 2009-----
+ pView->SelectionChanged();
+//-----IAccessibility2 Implementation 2009
}
}
else if (pViewData->IsFillMode() ||
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/tabview2.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/tabview2.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/tabview2.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/tabview2.cxx Wed Nov 27 17:25:40 2013
@@ -118,7 +118,7 @@ void ScTabView::InitOwnBlockMode()
}
void ScTabView::InitBlockMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
- sal_Bool bTestNeg, sal_Bool bCols, sal_Bool bRows )
+ sal_Bool bTestNeg, sal_Bool bCols, sal_Bool bRows, sal_Bool bForceNeg )
{
if (!bIsBlockMode)
{
@@ -129,7 +129,11 @@ void ScTabView::InitBlockMode( SCCOL nCu
SCTAB nTab = aViewData.GetTabNo();
// Teil von Markierung aufheben?
- if (bTestNeg)
+//IAccessibility2 Implementation 2009-----
+ if (bForceNeg)
+ bBlockNeg = sal_True;
+//-----IAccessibility2 Implementation 2009
+ else if (bTestNeg)
{
if ( bCols )
bBlockNeg = rMark.IsColumnMarked( nCurX );
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh.cxx Wed Nov 27 17:25:40 2013
@@ -41,6 +41,11 @@
#include <sfx2/sidebar/SidebarChildWindow.hxx>
#include <avmedia/mediaplayer.hxx>
+//IAccessibility2 Implementation 2009-----
+#include "cell.hxx"
+#include "docoptio.hxx"
+//-----IAccessibility2 Implementation 2009
+
#include "tabvwsh.hxx"
#include "docsh.hxx"
#include "reffact.hxx"
@@ -105,3 +110,20 @@ IMPL_LINK( ScTabViewShell, HtmlOptionsHd
GetViewFrame()->GetBindings().Invalidate(SID_DRAW_TEXT_MARQUEE);
return 0;
}
+
+//IAccessibility2 Implementation 2009-----
+rtl::OUString ScTabViewShell::GetFormula(ScAddress& rAddress)
+{
+ String sFormula;
+ ScDocument* pDoc = GetViewData()->GetDocument();
+ ScBaseCell* pCell = pDoc->GetCell(rAddress);
+ if (pCell && pCell->GetCellType()==CELLTYPE_FORMULA)
+ {
+ static_cast<ScFormulaCell*>(pCell)->GetFormula(sFormula);
+ }
+ return sFormula;
+}
+//-----IAccessibility2 Implementation 2009
+
+
+
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh4.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh4.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh4.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwsh4.cxx Wed Nov 27 17:25:40 2013
@@ -93,6 +93,9 @@
#include "sc.hrc" //CHINA001
#include "scabstdlg.hxx" //CHINA001
#include "externalrefmgr.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <svx/fmpage.hxx>
+//-----IAccessibility2 Implementation 2009
void ActivateOlk( ScViewData* pViewData );
void DeActivateOlk( ScViewData* pViewData );
@@ -112,7 +115,9 @@ sal_uInt16 ScTabViewShell::nInsObjCtrlSt
void __EXPORT ScTabViewShell::Activate(sal_Bool bMDI)
{
SfxViewShell::Activate(bMDI);
-
+//IAccessibility2 Implementation 2009-----
+ bIsActive = sal_True;
+//-----IAccessibility2 Implementation 2009
// hier kein GrabFocus, sonst gibt's Probleme wenn etwas inplace editiert wird!
if ( bMDI )
@@ -240,7 +245,9 @@ void __EXPORT ScTabViewShell::Deactivate
}
SfxViewShell::Deactivate(bMDI);
-
+//IAccessibility2 Implementation 2009-----
+ bIsActive = sal_False;
+//-----IAccessibility2 Implementation 2009
ScInputHandler* pHdl = SC_MOD()->GetInputHdl(this);
if( bMDI )
@@ -1479,6 +1486,52 @@ sal_Bool ScTabViewShell::TabKeyInput(con
}
}
+//IAccessibility2 Implementation 2009-----
+ // use Ctrl+Alt+Shift+arrow keys to move the cursor in cells
+ // while keeping the last selection
+ if ( !bUsed && bAlt && bControl && bShift)
+ {
+ sal_uInt16 nSlotId = 0;
+ switch (nCode)
+ {
+ case KEY_UP:
+ nSlotId = SID_CURSORUP;
+ break;
+ case KEY_DOWN:
+ nSlotId = SID_CURSORDOWN;
+ break;
+ case KEY_LEFT:
+ nSlotId = SID_CURSORLEFT;
+ break;
+ case KEY_RIGHT:
+ nSlotId = SID_CURSORRIGHT;
+ break;
+ case KEY_PAGEUP:
+ nSlotId = SID_CURSORPAGEUP;
+ break;
+ case KEY_PAGEDOWN:
+ nSlotId = SID_CURSORPAGEDOWN;
+ break;
+ case KEY_HOME:
+ nSlotId = SID_CURSORHOME;
+ break;
+ case KEY_END:
+ nSlotId = SID_CURSOREND;
+ break;
+ default:
+ nSlotId = 0;
+ break;
+ }
+ if ( nSlotId )
+ {
+ sal_uInt16 nMode = GetLockedModifiers();
+ LockModifiers(KEY_MOD1);
+ GetViewData()->GetDispatcher().Execute( nSlotId, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD );
+ LockModifiers(nMode);
+ bUsed = sal_True;
+ }
+ }
+//-----IAccessibility2 Implementation 2009
if (bHideCursor)
ShowAllCursors();
@@ -1554,6 +1607,9 @@ void ScTabViewShell::Construct( sal_uInt
ScDocument* pDoc = pDocSh->GetDocument();
bReadOnly = pDocSh->IsReadOnly();
+//IAccessibility2 Implementation 2009-----
+ bIsActive = sal_False;
+//-----IAccessibility2 Implementation 2009
SetName( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("View")) ); // fuer SBX
Color aColBlack( COL_BLACK );
@@ -1979,3 +2035,13 @@ void ScTabViewShell::GetTbxState( SfxIte
+//IAccessibility2 Implementation 2009-----
+const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & ScTabViewShell::GetForms() const
+{
+ if( !pFormShell || !pFormShell->GetCurPage() ){
+ static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > aRef;
+ return aRef;
+ }
+ return pFormShell->GetCurPage()->GetForms();
+}
+//-----IAccessibility2 Implementation 2009
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwshe.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwshe.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwshe.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/tabvwshe.cxx Wed Nov 27 17:25:40 2013
@@ -48,6 +48,9 @@
#include "editsh.hxx"
#include "dociter.hxx"
#include "inputhdl.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <svx/srchdlg.hxx>
+//-----IAccessibility2 Implementation 2009
#include "document.hxx"
//==================================================================
@@ -254,7 +257,29 @@ void ScTabViewShell::ExecSearch( SfxRequ
const SvxSearchItem* pSearchItem = (const SvxSearchItem*) pItem;
ScGlobal::SetSearchItem( *pSearchItem );
- SearchAndReplace( pSearchItem, sal_True, rReq.IsAPI() );
+ //IAccessibility2 Implementation 2009-----
+ //SearchAndReplace( pSearchItem, sal_True, rReq.IsAPI() );
+ sal_Bool bSuccess = SearchAndReplace( pSearchItem, sal_True, rReq.IsAPI() );
+ if ( Application::IsAccessibilityEnabled() )
+ {
+ SvxSearchDialog* pSearchDlg =
+ ((SvxSearchDialog*)(SfxViewFrame::Current()->GetChildWindow(
+ SvxSearchDialogWrapper::GetChildWindowId())->GetWindow()));
+ if( pSearchDlg )
+ {
+ ScTabView* pTabView = GetViewData()->GetView();
+ if( pTabView )
+ {
+ Window* pWin = pTabView->GetActiveWin();
+ if( pWin )
+ {
+ pSearchDlg->SetDocWin( pWin );
+ pSearchDlg->SetSrchFlag( bSuccess );
+ }
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
rReq.Done();
}
}
@@ -306,6 +331,27 @@ void ScTabViewShell::ExecSearch( SfxRequ
rReq.IsAPI() ? SFX_CALLMODE_API|SFX_CALLMODE_SYNCHRON :
SFX_CALLMODE_STANDARD,
&aSearchItem, 0L );
+ //IAccessibility2 Implementation 2009-----
+ if ( Application::IsAccessibilityEnabled() )
+ {
+ SvxSearchDialog* pSearchDlg =
+ ((SvxSearchDialog*)(SfxViewFrame::Current()->GetChildWindow(
+ SvxSearchDialogWrapper::GetChildWindowId())->GetWindow()));
+ if( pSearchDlg )
+ {
+ ScTabView* pTabView = GetViewData()->GetView();
+ if( pTabView )
+ {
+ Window* pWin = pTabView->GetActiveWin();
+ if( pWin )
+ {
+ pSearchDlg->SetDocWin( pWin );
+ pSearchDlg->SetSrchFlag();
+ }
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
}
else
{
Modified: openoffice/branches/alg/aw080/main/sc/source/ui/view/viewfun2.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sc/source/ui/view/viewfun2.cxx?rev=1546124&r1=1546123&r2=1546124&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sc/source/ui/view/viewfun2.cxx (original)
+++ openoffice/branches/alg/aw080/main/sc/source/ui/view/viewfun2.cxx Wed Nov 27 17:25:40 2013
@@ -1616,8 +1616,11 @@ void ScViewFunc::AutoFormat( sal_uInt16
//----------------------------------------------------------------------------
// Suchen & Ersetzen
-void ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
+//IAccessibility2 Implementation 2009-----
+//void ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
+sal_Bool ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
sal_Bool bAddUndo, sal_Bool bIsApi )
+//-----IAccessibility2 Implementation 2009
{
ScDocShell* pDocSh = GetViewData()->GetDocShell();
ScDocument* pDoc = pDocSh->GetDocument();
@@ -1669,7 +1672,10 @@ void ScViewFunc::SearchAndReplace( const
if ( pOldSelectedTables )
delete [] pOldSelectedTables;
ErrorMessage(STR_PROTECTIONERR);
- return;
+ //IAccessibility2 Implementation 2009-----
+ //return;
+ return sal_False;
+ //-----IAccessibility2 Implementation 2009
}
}
}
@@ -1843,6 +1849,9 @@ void ScViewFunc::SearchAndReplace( const
delete pUndoDoc; // loeschen wenn nicht benutzt
delete pUndoMark; // kann immer geloescht werden
+//IAccessibility2 Implementation 2009-----
+ return bFound;
+//-----IAccessibility2 Implementation 2009
}