You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2013/11/18 13:54:10 UTC
svn commit: r1543021 [10/29] - in /openoffice/branches/rejuvenate01: ./
main/ main/accessibility/inc/accessibility/extended/
main/accessibility/inc/accessibility/helper/
main/accessibility/inc/accessibility/standard/
main/accessibility/source/extended/...
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/dlg/sdtreelb.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/dlg/sdtreelb.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/dlg/sdtreelb.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/dlg/sdtreelb.cxx Mon Nov 18 12:53:58 2013
@@ -247,6 +247,7 @@ sal_uInt32 SdPageObjsTLB::SdPageObjsTran
SdPageObjsTLB::SdPageObjsTLB( Window* pParentWin, const SdResId& rSdResId )
: SvTreeListBox ( pParentWin, rSdResId )
+, bisInSdNavigatorWin ( sal_False )
, mpParent ( pParentWin )
, mpDoc ( NULL )
, mpBookmarkDoc ( NULL )
@@ -260,7 +261,6 @@ SdPageObjsTLB::SdPageObjsTLB( Window* pP
, mpDropNavWin ( NULL )
, mbShowAllShapes ( false )
, mbShowAllPages ( false )
-
{
// Tree-ListBox mit Linien versehen
SetStyle( GetStyle() | WB_TABSTOP | WB_BORDER | WB_HASLINES |
@@ -295,6 +295,184 @@ SdPageObjsTLB::~SdPageObjsTLB()
delete mpMedium;
}
+//IAccessibility2 Implementation 2009-----
+// helper function for GetEntryAltText and GetEntryLongDescription
+String SdPageObjsTLB::getAltLongDescText( SvLBoxEntry* pEntry , sal_Bool isAltText) const
+{
+ sal_uInt16 maxPages = mpDoc->GetPageCount();
+ sal_uInt16 pageNo;
+ SdrObject* pObj = NULL;
+ SdPage* pPage = NULL;
+
+
+ String ParentName = GetEntryText( GetRootLevelParent( pEntry ) );
+
+ for( pageNo = 0; pageNo < maxPages; pageNo++ )
+ {
+ pPage = (SdPage*) mpDoc->GetPage( pageNo );
+ if( pPage->GetPageKind() != PK_STANDARD ) continue;
+ if( pPage->GetName() != ParentName ) continue;
+ SdrObjListIter aIter( *pPage, IM_FLAT );
+ while( aIter.IsMore() )
+ {
+ pObj = aIter.Next();
+ if( GetEntryText(pEntry) == GetObjectName( pObj ) )
+ {
+ if( isAltText )
+ return pObj->GetTitle();
+ else
+ return pObj->GetDescription();
+ }
+ }
+ }
+ return String();
+
+}
+
+String SdPageObjsTLB::GetEntryAltText( SvLBoxEntry* pEntry ) const
+{
+ return getAltLongDescText( pEntry, sal_True );
+}
+
+String SdPageObjsTLB::GetEntryLongDescription( SvLBoxEntry* pEntry ) const
+{
+ return getAltLongDescText( pEntry, sal_False);
+}
+
+void SdPageObjsTLB::MarkCurEntry( const String& rName )
+{
+
+ if( rName.Len() )
+ {
+ SvLBoxEntry* pCurEntry =GetCurEntry();
+ SvLBoxEntry* pEntry =NULL;
+ String aTmp1;
+ String aTmp2;
+
+ if( GetParent(pCurEntry)==NULL )
+ {
+ aTmp1 = GetEntryText( pCurEntry );
+ for( pEntry = First(); pEntry ; pEntry = Next( pEntry ) )
+ {
+ if(GetParent( pEntry )==NULL)
+ continue;
+ aTmp2 = GetEntryText( GetParent( pEntry ));
+ if( aTmp1 != aTmp2)
+ {
+ // IA2 CWS. MT: Removed in SvLBoxEntry for now - only used in Sw/Sd/ScContentLBoxString, they should decide if they need this
+ pEntry->SetMarked(sal_False);
+ }
+ }
+
+ }
+ else
+ {
+ for( pEntry = First(); pEntry ; pEntry = Next( pEntry ) )
+ {
+ aTmp2 = GetEntryText( pEntry );
+ if( aTmp2 == rName)
+ {
+ pEntry->SetMarked(sal_True);
+ }
+ else
+ {
+ pEntry->SetMarked(sal_False);
+ }
+ }
+ }
+ }
+ Invalidate();
+}
+
+void SdPageObjsTLB:: FreshCurEntry()
+{
+ SvLBoxEntry* pEntry =NULL;
+ for( pEntry = First(); pEntry ; pEntry = Next( pEntry ) )
+ {
+ pEntry->SetMarked(sal_False);
+ }
+ Invalidate();
+}
+
+class SdContentLBoxString : public SvLBoxString
+{
+public:
+ SdContentLBoxString( 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 SdPageObjsTLB::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 );
+ SdContentLBoxString* pStr = new SdContentLBoxString( pEntry, 0, pCol->GetText() );
+ pEntry->ReplaceItem( pStr, nColToHilite );
+}
+
+void SdContentLBoxString::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);
+
+}
+
+void SdPageObjsTLB::SaveExpandedTreeItemState(SvLBoxEntry* pEntry, vector<String>& vectTreeItem)
+{
+ if (pEntry)
+ {
+ SvLBoxEntry* pListEntry = pEntry;
+ while (pListEntry)
+ {
+ if (pListEntry->HasChilds())
+ {
+ if (IsExpanded(pListEntry))
+ vectTreeItem.push_back(GetEntryText(pListEntry));
+ SvLBoxEntry* pChildEntry = FirstChild(pListEntry);
+ SaveExpandedTreeItemState(pChildEntry, vectTreeItem);
+ }
+ pListEntry = NextSibling(pListEntry);
+ }
+ }
+}
+void SdPageObjsTLB::Clear()
+{
+ //Save the expanded tree item
+ if (mbSaveTreeItemState)
+ {
+ maSelectionEntryText = String();
+ maTreeItem.clear();
+ if (GetCurEntry())
+ maSelectionEntryText = GetSelectEntry();
+ SvLBoxEntry* pEntry = FirstChild(NULL);
+ SaveExpandedTreeItemState(pEntry, maTreeItem);
+ }
+ return SvTreeListBox::Clear();
+}
+//-----IAccessibility2 Implementation 2009
/*************************************************************************
|*
|* return name of object
@@ -448,6 +626,10 @@ void SdPageObjsTLB::Fill( const SdDrawDo
}
if( aSelection.Len() )
SelectEntry( aSelection );
+ else if (mbSaveTreeItemState && maSelectionEntryText.Len())
+ {
+ SelectEntry(maSelectionEntryText);
+ }
}
/*************************************************************************
@@ -528,6 +710,30 @@ void SdPageObjsTLB::AddShapeList (
IM_FLAT,
sal_False /*not reverse*/);
+ //IAccessibility2 Implementation 2009-----
+ sal_Bool bMarked=sal_False;
+ if(bisInSdNavigatorWin)
+ {
+ Window* pWindow=NULL;
+ SdNavigatorWin* pSdNavigatorWin=NULL;
+ sd::DrawDocShell* pSdDrawDocShell = NULL;
+ if(pEntry)
+ pWindow=(Window*)GetParent(pEntry);
+ if(pWindow)
+ pSdNavigatorWin = (SdNavigatorWin*)pWindow;
+ if( pSdNavigatorWin )
+ pSdDrawDocShell = pSdNavigatorWin->GetDrawDocShell(mpDoc);
+ if(pSdDrawDocShell)
+ bMarked=pSdDrawDocShell->IsMarked(pShape);
+ if(pEntry)
+ {
+ if(bMarked)
+ pEntry->SetMarked(sal_True);
+ else
+ pEntry->SetMarked( sal_False );
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
while( aIter.IsMore() )
{
SdrObject* pObj = aIter.Next();
@@ -542,7 +748,29 @@ void SdPageObjsTLB::AddShapeList (
{
SvLBoxEntry* pNewEntry = InsertEntry( aStr, maImgOle, maImgOle, pEntry,
sal_False, LIST_APPEND, pObj);
-
+ //IAccessibility2 Implementation 2009-----
+ if(bisInSdNavigatorWin)
+ {
+ Window* pWindow=NULL;
+ SdNavigatorWin* pSdNavigatorWin=NULL;
+ sd::DrawDocShell* pSdDrawDocShell = NULL;
+ if(pNewEntry)
+ pWindow=(Window*)GetParent(pNewEntry);
+ if(pWindow)
+ pSdNavigatorWin = (SdNavigatorWin*)pWindow;
+ if( pSdNavigatorWin )
+ pSdDrawDocShell = pSdNavigatorWin->GetDrawDocShell(mpDoc);
+ if(pSdDrawDocShell)
+ bMarked=pSdDrawDocShell->IsMarked((SdrObject*)pObj);
+ if(pNewEntry)
+ {
+ if(bMarked)
+ pNewEntry->SetMarked(sal_True);
+ else
+ pNewEntry->SetMarked( sal_False );
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
SetExpandedEntryBmp( pNewEntry, maImgOleH, BMP_COLOR_HIGHCONTRAST );
SetCollapsedEntryBmp( pNewEntry, maImgOleH, BMP_COLOR_HIGHCONTRAST );
}
@@ -550,7 +778,33 @@ void SdPageObjsTLB::AddShapeList (
{
SvLBoxEntry* pNewEntry = InsertEntry( aStr, maImgGraphic, maImgGraphic, pEntry,
sal_False, LIST_APPEND, pObj );
-
+ //IAccessibility2 Implementation 2009-----
+ if(bisInSdNavigatorWin)
+ {
+ Window* pWindow=NULL;
+ SdNavigatorWin* pSdNavigatorWin=NULL;
+ sd::DrawDocShell* pSdDrawDocShell = NULL;
+ if(pNewEntry)
+ pWindow=(Window*)GetParent(pNewEntry);
+ if(pWindow)
+ pSdNavigatorWin = (SdNavigatorWin*)pWindow;
+ if( pSdNavigatorWin )
+ pSdDrawDocShell = pSdNavigatorWin->GetDrawDocShell(mpDoc);
+ if(pSdDrawDocShell)
+ bMarked=pSdDrawDocShell->IsMarked((SdrObject*)pObj);
+ if(pNewEntry)
+ {
+ if(bMarked)
+ {
+ pNewEntry->SetMarked(sal_True);
+ }
+ else
+ {
+ pNewEntry->SetMarked( sal_False );
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
SetExpandedEntryBmp( pNewEntry, maImgGraphicH, BMP_COLOR_HIGHCONTRAST );
SetCollapsedEntryBmp( pNewEntry, maImgGraphicH, BMP_COLOR_HIGHCONTRAST );
}
@@ -568,7 +822,33 @@ void SdPageObjsTLB::AddShapeList (
{
SvLBoxEntry* pNewEntry = InsertEntry( aStr, rIconProvider.maImgObjects, rIconProvider.maImgObjects, pEntry,
sal_False, LIST_APPEND, pObj );
-
+ //IAccessibility2 Implementation 2009-----
+ if(bisInSdNavigatorWin)
+ {
+ Window* pWindow=NULL;
+ SdNavigatorWin* pSdNavigatorWin=NULL;
+ sd::DrawDocShell* pSdDrawDocShell = NULL;
+ if(pNewEntry)
+ pWindow=(Window*)GetParent(pNewEntry);
+ if(pWindow)
+ pSdNavigatorWin = (SdNavigatorWin*)pWindow;
+ if( pSdNavigatorWin )
+ pSdDrawDocShell = pSdNavigatorWin->GetDrawDocShell(mpDoc);
+ if(pSdDrawDocShell)
+ bMarked=pSdDrawDocShell->IsMarked((SdrObject*)pObj);
+ if(pNewEntry)
+ {
+ if(bMarked)
+ {
+ pNewEntry->SetMarked(sal_True);
+ }
+ else
+ {
+ pNewEntry->SetMarked( sal_False );
+ }
+ }
+ }
+ //-----IAccessibility2 Implementation 2009
SetExpandedEntryBmp( pNewEntry, rIconProvider.maImgObjectsH, BMP_COLOR_HIGHCONTRAST );
SetCollapsedEntryBmp( pNewEntry, rIconProvider.maImgObjectsH, BMP_COLOR_HIGHCONTRAST );
}
@@ -591,6 +871,24 @@ void SdPageObjsTLB::AddShapeList (
pEntry,
bIsExcluded ? rIconProvider.maImgPageObjsExclH : rIconProvider.maImgPageObjsH,
BMP_COLOR_HIGHCONTRAST);
+ //IAccessibility2 Implementation 2009-----
+ if (mbSaveTreeItemState)
+ {
+ vector<String>:: iterator iteStart = maTreeItem.begin();
+ while (iteStart != maTreeItem.end())
+ {
+ String strEntry = GetEntryText(pEntry);
+ if (*iteStart == strEntry)
+ {
+ Expand( pEntry );
+ break;
+ }
+ ++iteStart;
+ }
+ }
+ else
+ Expand( pEntry );
+ //-----IAccessibility2 Implementation 2009
}
}
@@ -968,6 +1266,62 @@ void SdPageObjsTLB::KeyInput( const KeyE
DoubleClickHdl();
}
+//IAccessibility2 Implementation 2009-----
+ else if (rKEvt.GetKeyCode().GetCode() == KEY_SPACE)
+ {
+ if(bisInSdNavigatorWin)
+ {
+ sal_Bool bMarked=sal_False;
+ SvLBoxEntry* pNewEntry = GetCurEntry();
+ if( GetParent(pNewEntry) == NULL )
+ return;
+ String aStr=GetSelectEntry();
+ Window* pWindow=NULL;
+ SdNavigatorWin* pSdNavigatorWin=NULL;
+ sd::DrawDocShell* pSdDrawDocShell = NULL;
+ if(pNewEntry)
+ pWindow=(Window*)GetParent(pNewEntry);
+ if(pWindow)
+ pSdNavigatorWin = (SdNavigatorWin*)pWindow;
+ if( pSdNavigatorWin )
+ pSdDrawDocShell = pSdNavigatorWin->GetDrawDocShell(mpDoc);
+ if(pSdDrawDocShell)
+ {
+ pSdDrawDocShell->GotoTreeBookmark(aStr);
+ bMarked=pSdDrawDocShell->GetObjectIsmarked(aStr);
+ }
+ //Removed by yanjun for sym2_6385
+ //The symphony2.0 can support morn than one level tree list, also support to select tow or more items in different level.
+ /*
+ SvLBoxEntry* pBeginEntry = First();
+ if( pBeginEntry )
+ {
+ if( GetParent(pBeginEntry) != GetParent(pNewEntry) )
+ pBeginEntry->SetMarked( sal_False );
+ SvLBoxEntry* pNextEntry = Next( pBeginEntry );
+ while( pNextEntry )
+ {
+ if( GetParent(pNextEntry) != GetParent(pNewEntry) )
+ pNextEntry->SetMarked( sal_False );
+ pNextEntry = Next( pNextEntry );
+ }
+ }
+ End*/
+ if(pNewEntry)
+ {
+ if(bMarked)
+ {
+ pNewEntry->SetMarked(sal_True);
+ }
+ else
+ {
+ pNewEntry->SetMarked( sal_False );
+ }
+ }
+ Invalidate();
+ }
+ }
+//-----IAccessibility2 Implementation 2009
else
SvTreeListBox::KeyInput( rKEvt );
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/docshell/docshel4.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/docshell/docshel4.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/docshell/docshel4.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/docshell/docshel4.cxx Mon Nov 18 12:53:58 2013
@@ -93,6 +93,10 @@
#include "sdhtmlfilter.hxx"
#include "framework/FrameworkHelper.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <sfx2/viewfrm.hxx>
+#include "SdUnoDrawView.hxx"
+//-----IAccessibility2 Implementation 2009
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using ::sd::framework::FrameworkHelper;
@@ -574,6 +578,22 @@ sal_Bool DrawDocShell::Save()
sal_Bool DrawDocShell::SaveAs( SfxMedium& rMedium )
{
+//IAccessibility2 Implementation 2009-----
+ mpDoc->setDocAccTitle(String());
+ 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
mpDoc->StopWorkStartupDelay();
//TODO/LATER: why this?!
@@ -908,6 +928,241 @@ sal_Bool DrawDocShell::GotoBookmark(cons
return (bFound);
}
+//IAccessibility2 Implementation 2009-----
+//Solution: If object is marked , return true , else return false .
+sal_Bool DrawDocShell::IsMarked( SdrObject* pObject )
+{
+ sal_Bool bisMarked =sal_False;
+
+ if (mpViewShell && mpViewShell->ISA(DrawViewShell))
+ {
+ DrawViewShell* pDrViewSh = (DrawViewShell*) mpViewShell;
+ if (pObject )
+ {
+ bisMarked = pDrViewSh->GetView()->IsObjMarked(pObject);
+ }
+ }
+ return bisMarked;
+}
+//Solution: If object is marked , return true , else return false .
+sal_Bool DrawDocShell::GetObjectIsmarked(const String& rBookmark)
+{
+ OSL_TRACE("GotoBookmark %s",
+ ::rtl::OUStringToOString(rBookmark, RTL_TEXTENCODING_UTF8).getStr());
+ sal_Bool bUnMark = sal_False;
+
+ if (mpViewShell && mpViewShell->ISA(DrawViewShell))
+ {
+ DrawViewShell* pDrViewSh = (DrawViewShell*) mpViewShell;
+
+ String aBookmark( rBookmark );
+
+ if( rBookmark.Len() && rBookmark.GetChar( 0 ) == sal_Unicode('#') )
+ aBookmark = rBookmark.Copy( 1 );
+
+ // Ist das Bookmark eine Seite?
+ sal_Bool bIsMasterPage;
+ sal_uInt16 nPgNum = mpDoc->GetPageByName( aBookmark, bIsMasterPage );
+ SdrObject* pObj = NULL;
+
+ if (nPgNum == SDRPAGE_NOTFOUND)
+ {
+ // Ist das Bookmark ein Objekt?
+ pObj = mpDoc->GetObj(aBookmark);
+
+ if (pObj)
+ {
+ nPgNum = pObj->GetPage()->GetPageNum();
+ }
+ }
+
+ if (nPgNum != SDRPAGE_NOTFOUND)
+ {
+ /**********************************************************
+ * Zur Seite springen
+ **********************************************************/
+
+ SdPage* pPage = (SdPage*) mpDoc->GetPage(nPgNum);
+
+ PageKind eNewPageKind = pPage->GetPageKind();
+
+ if (eNewPageKind != pDrViewSh->GetPageKind())
+ {
+ // Arbeitsbereich wechseln
+ GetFrameView()->SetPageKind(eNewPageKind);
+ ( ( mpViewShell && mpViewShell->GetViewFrame() ) ?
+ mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->
+ GetDispatcher()->Execute( SID_VIEWSHELL0, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD );
+
+ // Die aktuelle ViewShell hat sich geaendert!
+ pDrViewSh = (DrawViewShell*) mpViewShell;
+ }
+
+ EditMode eNewEditMode = EM_PAGE;
+
+ if( bIsMasterPage )
+ {
+ eNewEditMode = EM_MASTERPAGE;
+ }
+
+ if (eNewEditMode != pDrViewSh->GetEditMode())
+ {
+ // EditMode setzen
+ pDrViewSh->ChangeEditMode(eNewEditMode, sal_False);
+ }
+
+ // Jump to the page. This is done by using the API because this
+ // takes care of all the little things to be done. Especially
+ // writing the view data to the frame view (see bug #107803#).
+ sal_uInt16 nSdPgNum = (nPgNum - 1) / 2;
+ SdUnoDrawView* pUnoDrawView = new SdUnoDrawView (
+ pDrViewSh->GetViewShellBase().GetDrawController(),
+ *pDrViewSh,
+ *pDrViewSh->GetView());
+ if (pUnoDrawView != NULL)
+ {
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::drawing::XDrawPage> xDrawPage (
+ pPage->getUnoPage(), ::com::sun::star::uno::UNO_QUERY);
+ pUnoDrawView->setCurrentPage (xDrawPage);
+ }
+ else
+ {
+ // As a fall back switch to the page via the core.
+ DBG_ASSERT (pUnoDrawView!=NULL,
+ "SdDrawDocShell::GotoBookmark: can't switch page via API");
+ pDrViewSh->SwitchPage(nSdPgNum);
+ }
+ delete pUnoDrawView;
+
+
+ if (pObj)
+ {
+ // Objekt einblenden und selektieren
+ pDrViewSh->MakeVisible(pObj->GetLogicRect(),
+ *pDrViewSh->GetActiveWindow());
+
+ bUnMark = pDrViewSh->GetView()->IsObjMarked(pObj);
+
+
+ }
+ }
+ }
+
+ return ( bUnMark);
+}
+//Solution: realize multi-selection of objects
+sal_Bool DrawDocShell::GotoTreeBookmark(const String& rBookmark)
+{
+ OSL_TRACE("GotoBookmark %s",
+ ::rtl::OUStringToOString(rBookmark, RTL_TEXTENCODING_UTF8).getStr());
+ sal_Bool bFound = sal_False;
+
+ if (mpViewShell && mpViewShell->ISA(DrawViewShell))
+ {
+ DrawViewShell* pDrViewSh = (DrawViewShell*) mpViewShell;
+
+ String aBookmark( rBookmark );
+
+ if( rBookmark.Len() && rBookmark.GetChar( 0 ) == sal_Unicode('#') )
+ aBookmark = rBookmark.Copy( 1 );
+
+ // Ist das Bookmark eine Seite?
+ sal_Bool bIsMasterPage;
+ sal_uInt16 nPgNum = mpDoc->GetPageByName( aBookmark, bIsMasterPage );
+ SdrObject* pObj = NULL;
+
+ if (nPgNum == SDRPAGE_NOTFOUND)
+ {
+ // Ist das Bookmark ein Objekt?
+ pObj = mpDoc->GetObj(aBookmark);
+
+ if (pObj)
+ {
+ nPgNum = pObj->GetPage()->GetPageNum();
+ }
+ }
+
+ if (nPgNum != SDRPAGE_NOTFOUND)
+ {
+ /**********************************************************
+ * Zur Seite springen
+ **********************************************************/
+ bFound = sal_True;
+ SdPage* pPage = (SdPage*) mpDoc->GetPage(nPgNum);
+
+ PageKind eNewPageKind = pPage->GetPageKind();
+
+ if (eNewPageKind != pDrViewSh->GetPageKind())
+ {
+ // Arbeitsbereich wechseln
+ GetFrameView()->SetPageKind(eNewPageKind);
+ ( ( mpViewShell && mpViewShell->GetViewFrame() ) ?
+ mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->
+ GetDispatcher()->Execute( SID_VIEWSHELL0, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD );
+
+ // Die aktuelle ViewShell hat sich geaendert!
+ pDrViewSh = (DrawViewShell*) mpViewShell;
+ }
+
+ EditMode eNewEditMode = EM_PAGE;
+
+ if( bIsMasterPage )
+ {
+ eNewEditMode = EM_MASTERPAGE;
+ }
+
+ if (eNewEditMode != pDrViewSh->GetEditMode())
+ {
+ // EditMode setzen
+ pDrViewSh->ChangeEditMode(eNewEditMode, sal_False);
+ }
+
+ // Jump to the page. This is done by using the API because this
+ // takes care of all the little things to be done. Especially
+ // writing the view data to the frame view (see bug #107803#).
+ sal_uInt16 nSdPgNum = (nPgNum - 1) / 2;
+ SdUnoDrawView* pUnoDrawView = new SdUnoDrawView (
+ pDrViewSh->GetViewShellBase().GetDrawController(),
+ *pDrViewSh,
+ *pDrViewSh->GetView());
+ if (pUnoDrawView != NULL)
+ {
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::drawing::XDrawPage> xDrawPage (
+ pPage->getUnoPage(), ::com::sun::star::uno::UNO_QUERY);
+ pUnoDrawView->setCurrentPage (xDrawPage);
+ }
+ else
+ {
+ // As a fall back switch to the page via the core.
+ DBG_ASSERT (pUnoDrawView!=NULL,
+ "SdDrawDocShell::GotoBookmark: can't switch page via API");
+ pDrViewSh->SwitchPage(nSdPgNum);
+ }
+ delete pUnoDrawView;
+
+
+ if (pObj)
+ {
+ // Objekt einblenden und selektieren
+ pDrViewSh->MakeVisible(pObj->GetLogicRect(),
+ *pDrViewSh->GetActiveWindow());
+ sal_Bool bUnMark = pDrViewSh->GetView()->IsObjMarked(pObj);
+ pDrViewSh->GetView()->MarkObj(pObj, pDrViewSh->GetView()->GetSdrPageView(), bUnMark);
+ }
+ }
+
+ SfxBindings& rBindings = ( ( mpViewShell && mpViewShell->GetViewFrame() ) ?
+ mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->GetBindings();
+
+ rBindings.Invalidate(SID_NAVIGATOR_STATE, sal_True, sal_False);
+ rBindings.Invalidate(SID_NAVIGATOR_PAGENAME);
+ }
+
+ return (bFound);
+}
+//-----IAccessibility2 Implementation 2009
/*************************************************************************
|*
|* SaveAsOwnFormat: wenn es eine Dokumentvorlage werden soll,
@@ -1031,4 +1286,39 @@ void DrawDocShell::OpenBookmark( const S
( mpViewShell ? mpViewShell->GetViewFrame() : SfxViewFrame::Current() )->GetBindings().Execute( SID_OPENHYPERLINK, ppArgs );
}
+//IAccessibility2 Implementation 2009-----
+void DrawDocShell::setDocAccTitle( const String& rTitle )
+{
+ if (mpDoc )
+ {
+ mpDoc->setDocAccTitle( rTitle );
+ }
+}
+const String DrawDocShell::getDocAccTitle() const
+{
+ String sRet;
+ if (mpDoc)
+ {
+ sRet = mpDoc->getDocAccTitle();
+ }
+
+ return sRet;
+}
+void DrawDocShell::setDocReadOnly( sal_Bool bReadOnly)
+{
+ if (mpDoc )
+ {
+ mpDoc->setDocReadOnly( bReadOnly );
+ }
+}
+sal_Bool DrawDocShell::getDocReadOnly() const
+{
+ if (mpDoc)
+ {
+ return mpDoc->getDocReadOnly();
+ }
+
+ return sal_False;
+}
+//-----IAccessibility2 Implementation 2009
} // end of namespace sd
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/func/fudraw.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/func/fudraw.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/func/fudraw.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/func/fudraw.cxx Mon Nov 18 12:53:58 2013
@@ -470,10 +470,16 @@ sal_Bool FuDraw::KeyInput(const KeyEvent
// changeover to the next object
if(!mpView->MarkNextObj( !aCode.IsShift() ))
{
- // #97016# No next object: go over open end and
- // get first from the other side
- mpView->UnmarkAllObj();
- mpView->MarkNextObj(!aCode.IsShift());
+ //IAccessibility2 Implementation 2009-----
+ //If there is only one object, don't do the UnmarkAlllObj() & MarkNextObj().
+ if ( mpView->GetMarkableObjCount() > 1 && mpView->AreObjectsMarked() )
+ {
+ // #97016# No next object: go over open end and
+ // get first from the other side
+ mpView->UnmarkAllObj();
+ mpView->MarkNextObj(!aCode.IsShift());
+ }
+ //-----IAccessibility2 Implementation 2009
}
// #97016# II
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/func/fuediglu.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/func/fuediglu.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/func/fuediglu.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/func/fuediglu.cxx Mon Nov 18 12:53:58 2013
@@ -63,6 +63,12 @@ FuEditGluePoints::FuEditGluePoints (
SdDrawDocument* pDoc,
SfxRequest& rReq)
: FuDraw(pViewSh, pWin, pView, pDoc, rReq)
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+ ,bBeginInsertPoint(sal_False),
+ oldPoint(0,0)
+//-----IAccessibility2 Implementation 2009
{
}
@@ -321,11 +327,108 @@ sal_Bool FuEditGluePoints::KeyInput(cons
{
mpView->SetActualWin( mpWindow );
- sal_Bool bReturn = FuDraw::KeyInput(rKEvt);
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+ //sal_Bool bReturn = FuDraw::KeyInput(rKEvt);
+ sal_Bool bReturn = sal_False;
+
+ switch (rKEvt.GetKeyCode().GetCode())
+ {
+ case KEY_UP:
+ case KEY_DOWN:
+ case KEY_LEFT:
+ case KEY_RIGHT:
+ {
+ if(rKEvt.GetKeyCode().IsShift()&& mpView->IsInsGluePointMode() ){
+ long nX = 0;
+ long nY = 0;
+ sal_uInt16 nCode = rKEvt.GetKeyCode().GetCode();
+ if (nCode == KEY_UP)
+ {
+ // Scroll nach oben
+ nX = 0;
+ nY =-1;
+ }
+ else if (nCode == KEY_DOWN)
+ {
+ // Scroll nach unten
+ nX = 0;
+ nY = 1;
+ }
+ else if (nCode == KEY_LEFT)
+ {
+ // Scroll nach links
+ nX =-1;
+ nY = 0;
+ }
+ else if (nCode == KEY_RIGHT)
+ {
+ // Scroll nach rechts
+ nX = 1;
+ nY = 0;
+ }
+ Point centerPoint;
+ Rectangle rect = mpView->GetMarkedObjRect();
+ centerPoint = mpWindow->LogicToPixel(rect.Center());
+ Point aPoint = bBeginInsertPoint? oldPoint:centerPoint;
+ Point ePoint = aPoint + Point(nX,nY);
+ mpWindow->SetPointerPosPixel(ePoint);
+ //simulate mouse move action
+ MouseEvent eMevt(ePoint,1,2,MOUSE_LEFT, 0);
+ MouseMove(eMevt);
+ Point aPix(eMevt.GetPosPixel());
+ oldPoint = ePoint;
+ bBeginInsertPoint = sal_True;
+ bReturn = sal_True;
+ }
+ }
+ break;
+ case KEY_RETURN:
+ if(rKEvt.GetKeyCode().IsShift() && mpView->IsInsGluePointMode() )
+ {
+ if(bBeginInsertPoint)
+ {
+ mpWindow->SetPointerPosPixel(oldPoint);
+ //simulate mouse button down action
+ MouseEvent aMevt(oldPoint,1,3,MOUSE_LEFT,KEY_SHIFT);
+ // MT IA2: Not used?
+ // sal_uInt16 ubuttons = aMevt.GetButtons();
+ // sal_uInt16 uMod = aMevt.GetModifier();
+ MouseButtonDown(aMevt);
+ mpWindow->CaptureMouse();
+ //simulate mouse button up action
+ MouseEvent rMEvt(oldPoint+Point(0,0),1,17, MOUSE_LEFT, KEY_SHIFT);
+ MouseButtonUp(rMEvt);
+ bReturn= sal_True;
+ }
+ }
+ break;
+ }
+ if(!bReturn)
+ bReturn = FuDraw::KeyInput(rKEvt);
+//-----IAccessibility2 Implementation 2009
return bReturn;
}
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+void FuEditGluePoints::ForcePointer(const MouseEvent* pMEvt)
+{
+ if(bBeginInsertPoint && pMEvt)
+ {
+ MouseEvent aMEvt(pMEvt->GetPosPixel(), pMEvt->GetClicks(),
+ pMEvt->GetMode(), pMEvt->GetButtons(), pMEvt->GetModifier() & ~KEY_SHIFT);
+ FuDraw::ForcePointer(&aMEvt);
+ }
+ else
+ {
+ FuDraw::ForcePointer(pMEvt);
+ }
+}
+//-----IAccessibility2 Implementation 2009
/*************************************************************************
|*
|* Command-event
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/func/fusel.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/func/fusel.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/func/fusel.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/func/fusel.cxx Mon Nov 18 12:53:58 2013
@@ -113,6 +113,13 @@ FuSelection::FuSelection (
bMirrorSide0(sal_False),
nEditMode(SID_BEZIER_MOVE),
pWaterCanCandidate(NULL)
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+ ,bBeginInsertPoint(sal_False),
+ oldPoint(0,0)
+ ,bMovedToCenterPoint(sal_False)
+//-----IAccessibility2 Implementation 2009
{
}
@@ -948,8 +955,80 @@ sal_Bool FuSelection::KeyInput(const Key
bReturn = FuSelection::cancel();
}
break;
+//IAccessibility2 Implementation 2009-----
+ //Solution: add keyboard operation for insert points in drawing curve
+ case KEY_UP:
+ case KEY_DOWN:
+ case KEY_LEFT:
+ case KEY_RIGHT:
+ {
+ if(rKEvt.GetKeyCode().IsShift()&&(nEditMode == SID_BEZIER_INSERT)){
+ long nX = 0;
+ long nY = 0;
+ sal_uInt16 nCode = rKEvt.GetKeyCode().GetCode();
+ if (nCode == KEY_UP)
+ {
+ // Scroll nach oben
+ nX = 0;
+ nY =-1;
}
+ else if (nCode == KEY_DOWN)
+ {
+ // Scroll nach unten
+ nX = 0;
+ nY = 1;
+ }
+ else if (nCode == KEY_LEFT)
+ {
+ // Scroll nach links
+ nX =-1;
+ nY = 0;
+ }
+ else if (nCode == KEY_RIGHT)
+ {
+ // Scroll nach rechts
+ nX = 1;
+ nY = 0;
+ }
+ Point centerPoint;
+ Rectangle rect = mpView->GetMarkedObjRect();
+ centerPoint = mpWindow->LogicToPixel(rect.Center());
+ Point aPoint = bMovedToCenterPoint? oldPoint:centerPoint;
+ Point ePoint = aPoint + Point(nX,nY);
+ mpWindow->SetPointerPosPixel(ePoint);
+ //simulate mouse move action
+ MouseEvent eMevt(ePoint,1,2, MOUSE_LEFT, 0);
+ MouseMove(eMevt);
+ oldPoint = ePoint;
+ bMovedToCenterPoint = sal_True;
+ bReturn = sal_True;
+ }
+ }
+ break;
+ case KEY_RETURN:
+ if(rKEvt.GetKeyCode().IsShift()&&(nEditMode == SID_BEZIER_INSERT))
+ {
+ if(!bBeginInsertPoint)
+ {
+ //simulate mouse button down action
+ MouseEvent aMevt(oldPoint,1,3, MOUSE_LEFT, KEY_SHIFT);
+ MouseButtonDown(aMevt);
+ mpWindow->CaptureMouse();
+ bBeginInsertPoint = sal_True;
+ }
+ else
+ {
+ //simulate mouse button up action
+ MouseEvent rMEvt(oldPoint,1,17, MOUSE_LEFT, KEY_SHIFT);
+ MouseButtonUp(rMEvt);
+ bBeginInsertPoint = sal_False;
+ }
+ bReturn= sal_True;
+ }
+ break;
+ }
+//-----IAccessibility2 Implementation 2009
if (!bReturn)
{
bReturn = FuDraw::KeyInput(rKEvt);
@@ -967,6 +1046,21 @@ sal_Bool FuSelection::KeyInput(const Key
}
+//IAccessibility2 Implementation 2009-----
+void FuSelection::ForcePointer(const MouseEvent* pMEvt)
+{
+ if(bMovedToCenterPoint && !bBeginInsertPoint && pMEvt)
+ {
+ MouseEvent aMEvt(pMEvt->GetPosPixel(), pMEvt->GetClicks(),
+ pMEvt->GetMode(), pMEvt->GetButtons(), pMEvt->GetModifier() & ~KEY_SHIFT);
+ FuDraw::ForcePointer(&aMEvt);
+ }
+ else
+ {
+ FuDraw::ForcePointer(pMEvt);
+ }
+}
+//-----IAccessibility2 Implementation 2009
/*************************************************************************
|*
|* Function aktivieren
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDocumentViewBase.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDocumentViewBase.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDocumentViewBase.hxx Mon Nov 18 12:53:58 2013
@@ -38,6 +38,17 @@
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
#include <tools/link.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
+#include "DrawViewShell.hxx"
+#include "sdpage.hxx"
+#include "drawdoc.hxx"
+#include "FrameView.hxx"
+#include "PresentationViewShell.hxx"
+#include <editeng/outlobj.hxx>
+#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
+class SdViewShell;
+//-----IAccessibility2 Implementation 2009
namespace sd {
class ViewShell;
class Window;
@@ -86,6 +97,10 @@ class AccessibleDocumentViewBase
public ::com::sun::star::beans::XPropertyChangeListener,
public ::com::sun::star::awt::XWindowListener,
public ::com::sun::star::awt::XFocusListener
+//IAccessibility2 Implementation 2009-----
+ ,public ::com::sun::star::accessibility::XAccessibleExtendedAttributes
+ ,public com::sun::star::accessibility::XAccessibleGetAccFlowTo
+//-----IAccessibility2 Implementation 2009
{
public:
//===== internal ========================================================
@@ -250,7 +265,12 @@ public:
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL focusLost (const ::com::sun::star::awt::FocusEvent& e)
throw (::com::sun::star::uno::RuntimeException);
-
+//IAccessibility2 Implementation 2009-----
+ //----------------------------xAttribute----------------------------
+ virtual com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+ ::sd::ViewShell* mpViewShell;
+//-----IAccessibility2 Implementation 2009
private:
// return the member maMutex;
@@ -359,7 +379,20 @@ protected:
virtual void SetAccessibleOLEObject (
const ::com::sun::star::uno::Reference <
::com::sun::star::accessibility::XAccessible>& xOLEObject);
+//IAccessibility2 Implementation 2009-----
+ //===== 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 );
+public:
+ virtual void SwitchViewActivated (void) { Activated(); }
+ virtual sal_Int32 SAL_CALL getForeground( )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual sal_Int32 SAL_CALL getBackground( )
+ throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
virtual void impl_dispose (void);
};
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDrawDocumentView.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDrawDocumentView.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDrawDocumentView.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleDrawDocumentView.hxx Mon Nov 18 12:53:58 2013
@@ -26,6 +26,10 @@
#include "AccessibleDocumentViewBase.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp>
+//-----IAccessibility2 Implementation 2009
+
namespace accessibility {
@@ -39,6 +43,9 @@ namespace accessibility {
*/
class AccessibleDrawDocumentView :
public AccessibleDocumentViewBase
+//IAccessibility2 Implementation 2009-----
+ ,public ::com::sun::star::accessibility::XAccessibleGroupPosition
+//-----IAccessibility2 Implementation 2009
{
public:
//===== internal ========================================================
@@ -73,6 +80,11 @@ public:
throw (::com::sun::star::uno::RuntimeException,
::com::sun::star::lang::IndexOutOfBoundsException);
+//IAccessibility2 Implementation 2009-----
+ virtual ::rtl::OUString SAL_CALL
+ getAccessibleName(void)
+ throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
//===== lang::XEventListener ============================================
@@ -86,6 +98,28 @@ public:
virtual void SAL_CALL
propertyChange (const ::com::sun::star::beans::PropertyChangeEvent& rEventObject)
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ //===== XInterface ======================================================
+
+ virtual com::sun::star::uno::Any SAL_CALL
+ queryInterface (const com::sun::star::uno::Type & rType)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL
+ acquire (void)
+ throw ();
+
+ virtual void SAL_CALL
+ release (void)
+ throw ();
+
+ //===== XAccessibleGroupPosition =========================================
+ virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL
+ getGroupPosition( const ::com::sun::star::uno::Any& rAny )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getObjectLink( const ::com::sun::star::uno::Any& accoject )
+ throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
protected:
@@ -120,6 +154,10 @@ protected:
virtual void
implSelect( sal_Int32 nAccessibleChildIndex, sal_Bool bSelect )
throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+private:
+ ::sd::ViewShell* mpSdViewSh;
+//-----IAccessibility2 Implementation 2009
protected:
/** This object manages the shapes of the represented draw page. It is
@@ -159,6 +197,15 @@ protected:
virtual void Deactivated (void);
virtual void impl_dispose (void);
+
+//IAccessibility2 Implementation 2009-----
+ //===== 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 );
+ ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
+ GetSelAccContextInTable();
+//-----IAccessibility2 Implementation 2009
private:
void UpdateAccessibleName (void);
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleOutlineView.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleOutlineView.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleOutlineView.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleOutlineView.hxx Mon Nov 18 12:53:58 2013
@@ -75,7 +75,11 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
getAccessibleChild (sal_Int32 nIndex)
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
//===== XAccessibleEventBroadcaster ========================================
virtual void SAL_CALL
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx Mon Nov 18 12:53:58 2013
@@ -27,6 +27,9 @@
#include <svx/AccessibleGraphicShape.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/AccessibleRole.hpp>
+//-----IAccessibility2 Implementation 2009
namespace accessibility {
/** This class makes Impress shapes accessible.
@@ -60,6 +63,10 @@ public:
virtual ::rtl::OUString
CreateAccessibleDescription ()
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ /// Return this object's role.
+ virtual sal_Int16 SAL_CALL getAccessibleRole () throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
};
} // end of namespace accessibility
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx Mon Nov 18 12:53:58 2013
@@ -27,6 +27,9 @@
#include <svx/AccessibleOLEShape.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/AccessibleRole.hpp>
+//-----IAccessibility2 Implementation 2009
namespace accessibility {
/** This class makes Impress shapes accessible.
@@ -60,6 +63,10 @@ public:
virtual ::rtl::OUString
CreateAccessibleDescription ()
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ /// Return this object's role.
+ virtual sal_Int16 SAL_CALL getAccessibleRole () throw (::com::sun::star::uno::RuntimeException);
+//-----IAccessibility2 Implementation 2009
};
} // end of namespace accessibility
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationShape.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationShape.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationShape.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessiblePresentationShape.hxx Mon Nov 18 12:53:58 2013
@@ -59,6 +59,9 @@ public:
virtual ::rtl::OUString
CreateAccessibleDescription ()
throw (::com::sun::star::uno::RuntimeException);
+//IAccessibility2 Implementation 2009-----
+ ::rtl::OUString GetStyle();
+//-----IAccessibility2 Implementation 2009
private:
/** Don't use the default constructor. Use the public constructor that
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideSorterView.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideSorterView.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideSorterView.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideSorterView.hxx Mon Nov 18 12:53:58 2013
@@ -286,7 +286,8 @@ public:
getSupportedServiceNames (void)
throw (::com::sun::star::uno::RuntimeException);
-
+ // IAccessibility2 Implementation 2009
+ virtual void SwitchViewActivated (void);
private:
class Implementation;
::std::auto_ptr<Implementation> mpImpl;
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideView.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideView.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideView.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/AccessibleSlideView.hxx Mon Nov 18 12:53:58 2013
@@ -25,7 +25,10 @@
#define SD_ACCESSIBILITY_ACCESSIBLE_SLIDE_VIEW_HXX
#include <cppuhelper/implbase6.hxx>
-#include <cppuhelper/implbase7.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <cppuhelper/implbase9.hxx>
+//#include <cppuhelper/implbase7.hxx>
+//-----IAccessibility2 Implementation 2009
#include "SlideView.hxx"
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/accessibility/XAccessible.hpp>
@@ -35,6 +38,9 @@
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
+//-----IAccessibility2 Implementation 2009
#include <vector>
class SdDrawDocument;
@@ -156,14 +162,18 @@ public:
// - AccessibleSlideView -
// -----------------------
-class AccessibleSlideView : public ::cppu::WeakImplHelper7<
+class AccessibleSlideView : public ::cppu::WeakImplHelper9<
::com::sun::star::lang::XUnoTunnel,
::com::sun::star::accessibility::XAccessible,
::com::sun::star::accessibility::XAccessibleEventBroadcaster,
::com::sun::star::accessibility::XAccessibleContext,
::com::sun::star::accessibility::XAccessibleComponent,
::com::sun::star::accessibility::XAccessibleSelection,
- ::com::sun::star::lang::XServiceInfo >
+ ::com::sun::star::lang::XServiceInfo
+//IAccessibility2 Implementation 2009-----
+ ,::com::sun::star::accessibility::XAccessibleExtendedAttributes
+ ,::com::sun::star::awt::XFocusListener >
+//-----IAccessibility2 Implementation 2009
{
public:
@@ -189,8 +199,18 @@ public:
void SetPageVisible( sal_uInt16 nPage, sal_Bool bVisible );
void Reset();
void FocusHasChanged( sal_uInt16 nOldFocusPage, sal_uInt16 nNewFocusPage );
-
-
+//IAccessibility2 Implementation 2009-----
+ void SelectionHasChanged (sal_uInt16 nPage, sal_Bool bSelect );
+ //===== XFocusListener =================================================
+ virtual void SAL_CALL focusGained (const ::com::sun::star::awt::FocusEvent& e)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL focusLost (const ::com::sun::star::awt::FocusEvent& e)
+ throw (::com::sun::star::uno::RuntimeException);
+ //===== lang::XEventListener ============================================
+ virtual void SAL_CALL disposing (const struct com::sun::star::lang::EventObject &) throw (::com::sun::star::uno::RuntimeException);
+ // This method is called from the component helper base class while disposing.
+ virtual void SAL_CALL disposing (void);
+//-----IAccessibility2 Implementation 2009
private:
::osl::Mutex maMutex;
::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > > maSlidePageObjects;
@@ -199,6 +219,10 @@ private:
::sd::Window* mpParentWindow;
/// client id in the AccessibleEventNotifier queue
sal_uInt32 mnClientId;
+//IAccessibility2 Implementation 2009-----
+ sal_uInt32 nFocusPageIndex;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow> mxWindow;
+//-----IAccessibility2 Implementation 2009
// internal
static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
@@ -253,6 +277,11 @@ private:
//===== XServiceInfo ====================================================
+//IAccessibility2 Implementation 2009-----
+ //----------------------------xAttribute----------------------------
+ virtual com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
+ throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ;
+//-----IAccessibility2 Implementation 2009
/** Returns an identifier for the implementation of this object.
*/
virtual ::rtl::OUString SAL_CALL
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawController.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawController.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawController.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawController.hxx Mon Nov 18 12:53:58 2013
@@ -44,6 +44,9 @@
#include <memory>
#include <vector>
#include <boost/scoped_ptr.hpp>
+//IAccessibility2 Implementation 2009-----
+#include <com/sun/star/drawing/XLayer.hpp>
+//-----IAccessibility2 Implementation 2009
class SfxViewShell;
class SdXImpressDocument;
@@ -102,6 +105,10 @@ public:
PROPERTY_ZOOMVALUE = 7,
PROPERTY_VIEWOFFSET = 8,
PROPERTY_DRAWVIEWMODE = 9
+ //IAccessibility2 Implementation 2009-----
+ ,PROPERTY_UPDATEACC = 10
+ ,PROPERTY_PAGE_CHANGE = 11
+ //-----IAccessibility2 Implementation 2009
};
/** Create a new DrawController object for the given ViewShellBase.
@@ -147,7 +154,15 @@ public:
switch.
*/
void BroadcastContextChange (void) const;
-
+//IAccessibility2 Implementation 2009-----
+ void NotifyAccUpdate();
+ void fireChangeLayer( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>* pCurrentLayer ) throw();
+ // change the parameter to int
+ //void fireSwitchCurrentPage( String pageName) throw();
+ void fireSwitchCurrentPage( sal_Int32 pageIndex) throw();
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>* mpCurrentLayer;
+//-----IAccessibility2 Implementation 2009
+
/** Return a pointer to the ViewShellBase object that the DrawController
is connected to.
@return
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawDocShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawDocShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawDocShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawDocShell.hxx Mon Nov 18 12:53:58 2013
@@ -136,6 +136,12 @@ public:
sal_Bool GotoBookmark(const String& rBookmark);
+//IAccessibility2 Implementation 2009-----
+ //Solution: realize multi-selection of objects
+ sal_Bool GotoTreeBookmark(const String& rBookmark);
+ sal_Bool IsMarked( SdrObject* pObject );
+ sal_Bool GetObjectIsmarked(const String& rBookmark);
+//-----IAccessibility2 Implementation 2009
Bitmap GetPagePreviewBitmap(SdPage* pPage, sal_uInt16 nMaxEdgePixel);
/** checks, if the given name is a valid new name for a slide
@@ -225,6 +231,13 @@ protected:
bool mbOwnDocument; // if true, we own mpDoc and will delete it in our d'tor
void Construct(bool bClipboard);
virtual void InPlaceActivate( sal_Bool bActive );
+//IAccessibility2 Implementation 2009-----
+public:
+ virtual void setDocAccTitle( const String& rTitle );
+ virtual const String getDocAccTitle() const;
+ virtual void setDocReadOnly( sal_Bool bReadOnly);
+ virtual sal_Bool getDocReadOnly() const;
+//-----IAccessibility2 Implementation 2009
};
#ifndef SV_DECL_DRAW_DOC_SHELL_DEFINED
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawViewShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawViewShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/DrawViewShell.hxx Mon Nov 18 12:53:58 2013
@@ -252,6 +252,12 @@ public:
sal_Bool IsSwitchPageAllowed() const;
sal_Bool GotoBookmark(const String& rBookmark);
+//IAccessibility2 Implementation 2009-----
+ //Solution: realize multi-selection of objects ,If object is marked ,
+ //the corresponding entry is set true ,else the corresponding entry is set false .
+ void FreshNavigatrEntry();
+ void FreshNavigatrTree();
+//-----IAccessibility2 Implementation 2009
void MakeVisible(const Rectangle& rRect, ::Window& rWin);
virtual void ReadFrameViewData(FrameView* pView);
@@ -372,6 +378,10 @@ public:
::rtl::OUString GetSidebarContextName (void) const;
+//IAccessibility2 Implementation 2009-----
+ //move this method to ViewShell.
+ //void NotifyAccUpdate();
+//-----IAccessibility2 Implementation 2009
protected:
DrawView* mpDrawView;
SdPage* mpActualPage;
@@ -497,6 +507,10 @@ private:
const Point& rMouseLocation);
using ViewShell::Notify;
+
+//IAccessibility2 Implementation 2009-----
+ //const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & GetForms() const;
+//-----IAccessibility2 Implementation 2009
::std::auto_ptr< AnnotationManager > mpAnnotationManager;
::std::auto_ptr< ViewOverlayManager > mpViewOverlayManager;
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/OutlineViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/OutlineViewShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/OutlineViewShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/OutlineViewShell.hxx Mon Nov 18 12:53:58 2013
@@ -139,6 +139,9 @@ public:
::com::sun::star::accessibility::XAccessible>
CreateAccessibleDocumentView (::sd::Window* pWindow);
+//IAccessibility2 Implementation 2009-----
+ String m_StrOldPageName;
+//-----IAccessibility2 Implementation 2009
/** Update the preview to show the specified page.
*/
virtual void UpdatePreview (SdPage* pPage, sal_Bool bInit = sal_False);
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SdUnoDrawView.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SdUnoDrawView.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SdUnoDrawView.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SdUnoDrawView.hxx Mon Nov 18 12:53:58 2013
@@ -112,14 +112,14 @@ protected:
void setMasterPageMode(sal_Bool MasterPageMode_) throw();
sal_Bool getLayerMode(void) const throw();
void setLayerMode(sal_Bool LayerMode_) throw();
-
+public:
/** Return a reference to the active layer object.
@return
The returned value may be empty when the internal state of this
view is not valid (like during destruction.)
*/
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer> getActiveLayer (void) throw ();
-
+protected:
/** Make the specified object the active layer.
@param rxLayer
The new layer object.
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideSorterViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideSorterViewShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideSorterViewShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideSorterViewShell.hxx Mon Nov 18 12:53:58 2013
@@ -174,6 +174,10 @@ public:
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>
CreateAccessibleDocumentView (::sd::Window* pWindow);
+ //IAccessibility2 Implementation 2009-----
+ // handle SlideSorterView specially because AccessibleSlideSorterView doesn't inherit from AccessibleDocumentViewBase
+ virtual void SwitchViewFireFocus( ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc );
+ //-----IAccessibility2 Implementation 2009
SlideSorter& GetSlideSorter (void) const;
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideViewShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideViewShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/SlideViewShell.hxx Mon Nov 18 12:53:58 2013
@@ -140,6 +140,10 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> CreateAccessibleDocumentView( ::sd::Window* pWindow );
void SelectionHasChanged();
+//IAccessibility2 Implementation 2009-----
+ //Notify the SELECTION_CHANGE, SELECTION_ADD, SELECTION_REMOVE events
+ void SelectionHasChanged(sal_uInt16 nPage, sal_Bool bSelect);
+//-----IAccessibility2 Implementation 2009
void PageLayoutHasChanged();
void FocusHasChanged( sal_uInt16 nOldFocusPage, sal_uInt16 nNewFocusPage );
void PageVisibilityHasChanged( sal_uInt16 nPage, sal_Bool bVisible );
@@ -148,6 +152,9 @@ public:
*/
virtual void Activate (sal_Bool IsMDIActivate);
+//IAccessibility2 Implementation 2009-----
+ void SwitchViewFireFocus(::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc );
+//-----IAccessibility2 Implementation 2009
protected:
virtual Size GetOptimalSizePixel() const;
virtual long VirtHScrollHdl(ScrollBar* pHScroll);
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/TabControl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/TabControl.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/TabControl.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/TabControl.hxx Mon Nov 18 12:53:58 2013
@@ -42,6 +42,10 @@ class TabControl
public DragSourceHelper,
public DropTargetHelper
{
+//IAccessibility2 Implementation 2009-----
+ //Solution: declare bIsMarked variable
+ sal_uInt16 RrePageID;
+//-----IAccessibility2 Implementation 2009
public:
TabControl (DrawViewShell* pDrViewSh, ::Window* pParent);
virtual ~TabControl (void);
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/ViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/ViewShell.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/ViewShell.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/ViewShell.hxx Mon Nov 18 12:53:58 2013
@@ -317,6 +317,13 @@ public:
::com::sun::star::accessibility::XAccessible>
CreateAccessibleDocumentView (::sd::Window* pWindow);
+//IAccessibility2 Implementation 2009-----
+ virtual void SwitchViewFireFocus( ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc );
+ virtual void SwitchActiveViewFireFocus( );
+ // Move these two methods from DrawViewShell to enable slide show view
+ void NotifyAccUpdate();
+ void fireSwitchCurrentPage(sal_Int32 pageIndex);
+//-----IAccessibility2 Implementation 2009
void SetWinViewPos(const Point& rWinPos, bool bUpdate);
Point GetWinViewPos() const;
Point GetViewOrigin() const;
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/Window.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/Window.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/Window.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/Window.hxx Mon Nov 18 12:53:58 2013
@@ -202,6 +202,9 @@ protected:
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>
CreateAccessible (void);
+//IAccessibility2 Implementation 2009-----
+ virtual void SwitchView();
+//-----IAccessibility2 Implementation 2009
XubString GetSurroundingText() const;
Selection GetSurroundingTextSelection() const;
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fuediglu.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fuediglu.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fuediglu.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fuediglu.hxx Mon Nov 18 12:53:58 2013
@@ -54,6 +54,14 @@ public:
virtual void Activate(); // Function aktivieren
virtual void Deactivate(); // Function deaktivieren
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+ virtual void ForcePointer(const MouseEvent* pMEvt = NULL);
+private:
+ sal_Bool bBeginInsertPoint;
+ Point oldPoint;
+//-----IAccessibility2 Implementation 2009
protected:
FuEditGluePoints (
ViewShell* pViewSh,
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fusel.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fusel.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fusel.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/fusel.hxx Mon Nov 18 12:53:58 2013
@@ -68,6 +68,10 @@ public:
*/
virtual bool cancel();
+//IAccessibility2 Implementation 2009-----
+ //Solution: let mouse cursor move
+ virtual void ForcePointer(const MouseEvent* pMEvt = NULL);
+//-----IAccessibility2 Implementation 2009
protected:
FuSelection (ViewShell* pViewSh,
::sd::Window* pWin,
@@ -100,6 +104,14 @@ private:
position then NULL is returned.
*/
SdrObject* pickObject (const Point& rTestPoint);
+//IAccessibility2 Implementation 2009-----
+ //Solution: Add Shift+UP/DOWN/LEFT/RIGHT key to move the position of insert point,
+ //and SHIFT+ENTER key to decide the postion and draw the new insert point
+ sal_Bool bBeginInsertPoint;
+ Point oldPoint;
+ //Solution: let mouse cursor move
+ sal_Bool bMovedToCenterPoint;
+//-----IAccessibility2 Implementation 2009
};
} // end of namespace sd
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/navigatr.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/navigatr.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/navigatr.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/navigatr.hxx Mon Nov 18 12:53:58 2013
@@ -165,6 +165,13 @@ private:
virtual void DataChanged( const DataChangedEvent& rDCEvt );
void SetDragImage();
void ApplyImageList();
+//IAccessibility2 Implementation 2009-----
+public:
+ //Solution: when object is marked , fresh the corresponding entry tree .
+ sd::DrawDocShell* GetDrawDocShell(const SdDrawDocument*);
+ void FreshTree ( const SdDrawDocument* pDoc );
+ void FreshEntry( );
+//-----IAccessibility2 Implementation 2009
};
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/inc/sdtreelb.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/inc/sdtreelb.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/inc/sdtreelb.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/inc/sdtreelb.hxx Mon Nov 18 12:53:58 2013
@@ -36,6 +36,10 @@
#include <svl/urlbmk.hxx>
#include <tools/ref.hxx>
#include "sdxfer.hxx"
+//IAccessibility2 Implementation 2009-----
+#include <vector>
+using namespace std;
+//-----IAccessibility2 Implementation 2009
#include <boost/scoped_ptr.hpp>
#include <boost/function.hpp>
@@ -70,6 +74,10 @@ private:
static sal_Bool SD_DLLPRIVATE bIsInDrag; // static, falls der Navigator im ExecuteDrag geloescht wird
+//IAccessibility2 Implementation 2009-----
+ //Solution: set contenttree in SdNavigatorWin
+ sal_Bool bisInSdNavigatorWin;
+//-----IAccessibility2 Implementation 2009
public:
// nested class to implement the TransferableHelper
@@ -144,6 +152,11 @@ protected:
::sd::DrawDocShell* mpDropDocSh;
SdNavigatorWin* mpDropNavWin;
SfxViewFrame* mpFrame;
+ //IAccessibility2 Implementation 2009-----
+ vector<String> maTreeItem;
+ sal_Bool mbSaveTreeItemState;
+ String maSelectionEntryText;
+ //-----IAccessibility2 Implementation 2009
// DragSourceHelper
virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
@@ -188,12 +201,20 @@ protected:
using Window::GetDropTarget;
virtual SvLBoxEntry* GetDropTarget (const Point& rLocation);
+//IAccessibility2 Implementation 2009-----
+ virtual void InitEntry(SvLBoxEntry*,const XubString&,const Image&,const Image&,SvLBoxButtonKind );
+//-----IAccessibility2 Implementation 2009
public:
SdPageObjsTLB( Window* pParent, const SdResId& rSdResId );
~SdPageObjsTLB();
-
+//IAccessibility2 Implementation 2009-----
+ // helper function for GetEntryAltText and GetEntryLongDescription
+ String getAltLongDescText( SvLBoxEntry* pEntry , sal_Bool isAltText) const;
+ String GetEntryAltText( SvLBoxEntry* pEntry ) const;
+ String GetEntryLongDescription( SvLBoxEntry* pEntry ) const;
+//-----IAccessibility2 Implementation 2009
virtual void SelectHdl();
virtual void KeyInput( const KeyEvent& rKEvt );
@@ -208,6 +229,16 @@ public:
sal_Bool HasSelectedChilds( const String& rName );
sal_Bool SelectEntry( const String& rName );
String GetSelectEntry();
+//IAccessibility2 Implementation 2009-----
+ //Solution: Mark Current Entry
+ void MarkCurEntry( const String& rName );
+ void SetSdNavigatorWinFlag(sal_Bool isInSdNavigatorWin){bisInSdNavigatorWin =isInSdNavigatorWin;};
+ void FreshCurEntry();
+
+ void Clear();
+ void SetSaveTreeItemStateFlag(sal_Bool bState){mbSaveTreeItemState = bState;}
+ void SaveExpandedTreeItemState(SvLBoxEntry* pEntry, vector<String>& vectTreeItem);
+//-----IAccessibility2 Implementation 2009
List* GetSelectEntryList( sal_uInt16 nDepth );
SdDrawDocument* GetBookmarkDoc(SfxMedium* pMedium = NULL);
::sd::DrawDocShell* GetDropDocSh() { return(mpDropDocSh); }
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwin.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwin.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwin.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwin.cxx Mon Nov 18 12:53:58 2013
@@ -738,4 +738,28 @@ void ShowWindow::AddWindowToPaintView()
GetChild( nChild )->Show( sal_True );
}
+//IAccessibility2 Implementation 2009-----
+// Overload the sd::Window's CreateAccessible to create a different accessible object
+::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible>
+ ShowWindow::CreateAccessible (void)
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc = GetAccessible(sal_False);
+ if (xAcc.get())
+ {
+ return xAcc;
+ }
+ if (mpViewShell != NULL)
+ {
+ xAcc = mpViewShell->CreateAccessibleDocumentView (this);
+ SetAccessible(xAcc);
+ return xAcc;
+ }
+ else
+ {
+ OSL_TRACE ("::sd::Window::CreateAccessible: no view shell");
+ return ::Window::CreateAccessible ();
+ }
+}
+//-----IAccessibility2 Implementation 2009
} // end of namespace sd
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwindow.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwindow.hxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwindow.hxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/showwindow.hxx Mon Nov 18 12:53:58 2013
@@ -102,6 +102,11 @@ public:
virtual void MouseButtonDown(const MouseEvent& rMEvt);
virtual void Paint(const Rectangle& rRect);
virtual long Notify(NotifyEvent& rNEvt);
+ //IAccessibility2 Implementation 2009-----
+ //Overload the sd::Window's CreateAccessible to create a different accessible object
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible>
+ CreateAccessible (void);
void TerminateShow();
void RestartShow();
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshow.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshow.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshow.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshow.cxx Mon Nov 18 12:53:58 2013
@@ -818,6 +818,12 @@ void SAL_CALL SlideShow::end() throw(Run
}
}
}
+ //IAccessibility2 Implementation 2009-----
+ //Fire the acc focus event when focus is switched back. The above method mpCurrentViewShellBase->GetWindow()->GrabFocus() will
+ //set focus to WorkWindow instead of the sd::window, so here call Shell's method to fire the focus event
+ if (pViewShell)
+ pViewShell->SwitchActiveViewFireFocus();
+ //-----IAccessibility2 Implementation 2009
}
mpCurrentViewShellBase = 0;
}
@@ -1044,6 +1050,10 @@ void SlideShow::activate( ViewShellBase&
if( mxController->startShow(mxCurrentSettings.get()) )
{
pShell->Resize();
+ //IAccessibility2 Implementation 2009-----
+ // Defer the sd::ShowWindow's GrabFocus to here. so that the accessible event can be fired correctly.
+ pShell->GetActiveWindow()->GrabFocus();
+ //-----IAccessibility2 Implementation 2009
}
else
{
@@ -1218,6 +1228,13 @@ void SlideShow::StartInPlacePresentation
if( !bSuccess )
end();
+ //IAccessibility2 Implementation 2009-----
+ else
+ {
+ if(mpCurrentViewShellBase)
+ mpCurrentViewShellBase->GetWindow()->GrabFocus();
+ }
+ //-----IAccessibility2 Implementation 2009
}
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshowimpl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshowimpl.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshowimpl.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slideshow/slideshowimpl.cxx Mon Nov 18 12:53:58 2013
@@ -1096,7 +1096,10 @@ bool SlideshowImpl::startShow( Presentat
pBindings->Invalidate( SID_REHEARSE_TIMINGS );
}
- mpShowWindow->GrabFocus();
+ //IAccessibility2 Implementation 2009-----
+ // Defer the sd::ShowWindow's GrabFocus to SlideShow::activate. so that the accessible event can be fired correctly.
+ //mpShowWindow->GrabFocus();
+ //-----IAccessibility2 Implementation 2009
std::vector<beans::PropertyValue> aProperties;
aProperties.reserve( 4 );
@@ -1472,6 +1475,15 @@ void SlideshowImpl::displayCurrentSlide
pBindings->Invalidate( SID_NAVIGATOR_PAGENAME );
}
}
+ //IAccessibility2 Implementation 2009-----
+ // send out page change event and notity to update all acc info for current page
+ if (mpViewShell)
+ {
+ sal_Int32 currentPageIndex = getCurrentSlideIndex();
+ mpViewShell->fireSwitchCurrentPage(currentPageIndex);
+ mpViewShell->NotifyAccUpdate();
+ }
+ //-----IAccessibility2 Implementation 2009
}
// ---------------------------------------------------------
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/controller/SlsFocusManager.cxx Mon Nov 18 12:53:58 2013
@@ -284,6 +284,11 @@ void FocusManager::HideFocusIndicator (c
if (rpDescriptor.get() != NULL)
{
mrSlideSorter.GetView().SetState(rpDescriptor, model::PageDescriptor::ST_Focused, false);
+
+ //IAccessibility2 Implementation 2009-----
+ // Hide focus should also fire the focus event, Currently, only accessibility add the focus listener
+ NotifyFocusChangeListeners();
+ //-----IAccessibility2 Implementation 2009
}
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx Mon Nov 18 12:53:58 2013
@@ -215,6 +215,12 @@ void SlideSorterViewShell::Init (bool bI
{
ViewShell::Init(bIsMainViewShell);
+//IAccessibility2 Implementation 2009-----
+ // since the updatePageList will show focus, the window.show() must be called ahead. This show is deferred from Init()
+ ::sd::Window* pActiveWindow = GetActiveWindow();
+ if (pActiveWindow)
+ pActiveWindow->Show();
+//-----IAccessibility2 Implementation 2009
mpSlideSorter->GetModel().UpdatePageList();
if (mpContentWindow.get() != NULL)
@@ -296,7 +302,19 @@ Reference<drawing::XDrawSubController> S
pWindow);
}
-
+//IAccessibility2 Implementation 2009-----
+void SlideSorterViewShell::SwitchViewFireFocus(::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xAcc )
+{
+ if (xAcc.get())
+ {
+ ::accessibility::AccessibleSlideSorterView* pBase = static_cast< ::accessibility::AccessibleSlideSorterView* >(xAcc.get());
+ if (pBase)
+ {
+ pBase->SwitchViewActivated();
+ }
+ }
+}
+//-----IAccessibility2 Implementation 2009
SlideSorter& SlideSorterViewShell::GetSlideSorter (void) const
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/DrawController.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/DrawController.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/DrawController.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/DrawController.cxx Mon Nov 18 12:53:58 2013
@@ -539,9 +539,45 @@ void DrawController::FireSwitchCurrentPa
}
}
}
+//IAccessibility2 Implementation 2009-----
+void DrawController::NotifyAccUpdate()
+{
+ sal_Int32 nHandle = PROPERTY_UPDATEACC;
+ Any aNewValue, aOldValue;
+ fire (&nHandle, &aNewValue, &aOldValue, 1, sal_False);
+}
+
+void DrawController::fireChangeLayer( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>* pCurrentLayer ) throw()
+{
+ if( pCurrentLayer != mpCurrentLayer )
+ {
+ sal_Int32 nHandle = PROPERTY_ACTIVE_LAYER;
+
+ Any aNewValue (makeAny( *pCurrentLayer) );
+
+ Any aOldValue ;
+ fire (&nHandle, &aNewValue, &aOldValue, 1, sal_False);
+ mpCurrentLayer = pCurrentLayer;
+ }
+}
+// This method is only called in slide show and outline view
+//void DrawController::fireSwitchCurrentPage(String pageName ) throw()
+void DrawController::fireSwitchCurrentPage(sal_Int32 pageIndex ) throw()
+{
+ Any aNewValue;
+ Any aOldValue;
+ //OUString aPageName( pageName );
+ //aNewValue <<= aPageName ;
+ aNewValue <<= pageIndex;
+
+ // Use new property to handle page change event
+ sal_Int32 nHandles = PROPERTY_PAGE_CHANGE;
+ fire( &nHandles, &aNewValue, &aOldValue, 1, sal_False );
+}
+//-----IAccessibility2 Implementation 2009
void DrawController::FirePropertyChange (
sal_Int32 nHandle,
@@ -750,6 +786,19 @@ void DrawController::FillPropertyTable (
PROPERTY_DRAWVIEWMODE,
::getCppuType((const ::com::sun::star::awt::Point*)0),
beans::PropertyAttribute::BOUND|beans::PropertyAttribute::READONLY|beans::PropertyAttribute::MAYBEVOID ));
+ //IAccessibility2 Implementation 2009-----
+ // add new property to update current page's acc information
+ rProperties.push_back(
+ beans::Property( OUString( RTL_CONSTASCII_USTRINGPARAM("UpdateAcc") ),
+ PROPERTY_UPDATEACC,
+ ::getCppuType((const sal_Int16*)0),
+ beans::PropertyAttribute::BOUND ));
+ rProperties.push_back(
+ beans::Property( OUString( RTL_CONSTASCII_USTRINGPARAM("PageChange") ),
+ PROPERTY_PAGE_CHANGE,
+ ::getCppuType((const sal_Int16*)0),
+ beans::PropertyAttribute::BOUND ));
+ //-----IAccessibility2 Implementation 2009
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/SdUnoDrawView.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/SdUnoDrawView.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/SdUnoDrawView.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/unoidl/SdUnoDrawView.cxx Mon Nov 18 12:53:58 2013
@@ -151,6 +151,9 @@ Reference<drawing::XLayer> SdUnoDrawView
xCurrentLayer = pManager->GetLayer (pLayer);
}
while (false);
+//IAccessibility2 Implementation 2009-----
+ mrController.mpCurrentLayer = &(xCurrentLayer) ;
+//-----IAccessibility2 Implementation 2009
return xCurrentLayer;
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/view/Outliner.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/view/Outliner.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/view/Outliner.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/view/Outliner.cxx Mon Nov 18 12:53:58 2013
@@ -535,7 +535,17 @@ bool Outliner::StartSearchAndReplace (co
else
mnStartPageIndex = (sal_uInt16)-1;
}
- }
+//IAccessibility2 Implementation 2009-----
+ if ( Application::IsAccessibilityEnabled() )
+ {
+ SvxSearchDialog* pSearchDlg =
+ ((SvxSearchDialog*)(SfxViewFrame::Current()->GetChildWindow(
+ SvxSearchDialogWrapper::GetChildWindowId())->GetWindow()));
+ pSearchDlg->SetDocWin( pViewShell->GetActiveWindow() );
+ pSearchDlg->SetSrchFlag();
+ }
+//-----IAccessibility2 Implementation 2009
+ }
else
mpDrawDocument->GetDocSh()->SetWaitCursor( sal_False );
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews4.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews4.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews4.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews4.cxx Mon Nov 18 12:53:58 2013
@@ -79,6 +79,9 @@
// #97016# IV
#include <svx/svditer.hxx>
+//IAccessibility2 Implementation 2009-----
+#include <navigatr.hxx>
+//-----IAccessibility2 Implementation 2009
namespace sd {
#define PIPETTE_RANGE 0
@@ -227,6 +230,14 @@ sal_Bool DrawViewShell::KeyInput (const
else
{
bRet = ViewShell::KeyInput(rKEvt, pWin);
+//IAccessibility2 Implementation 2009-----
+ //Solution: If object is marked , the corresponding entry is set true ,
+ //else the corresponding entry is set false .
+ if(KEY_TAB == rKEvt.GetKeyCode().GetCode())
+ {
+ FreshNavigatrTree();
+ }
+//-----IAccessibility2 Implementation 2009
}
}
@@ -271,7 +282,33 @@ void DrawViewShell::StartRulerDrag (
mbIsRulerDrag = sal_True;
}
}
+//IAccessibility2 Implementation 2009-----
+//Solution: If object is marked , the corresponding entry is set true ,
+//else the corresponding entry is set false .
+void DrawViewShell::FreshNavigatrEntry()
+{
+ sal_uInt16 nId = SID_NAVIGATOR;
+ SfxChildWindow* pWindow = GetViewFrame()->GetChildWindow( nId );
+ if( pWindow )
+ {
+ SdNavigatorWin* pNavWin = (SdNavigatorWin*)( pWindow->GetContextWindow( SD_MOD() ) );
+ if( pNavWin )
+ pNavWin->FreshEntry();
+ }
+}
+void DrawViewShell::FreshNavigatrTree()
+{
+ sal_uInt16 nId = SID_NAVIGATOR;
+ SfxChildWindow* pWindow = GetViewFrame()->GetChildWindow( nId );
+ if( pWindow )
+ {
+ SdNavigatorWin* pNavWin = (SdNavigatorWin*)( pWindow->GetContextWindow( SD_MOD() ) );
+ if( pNavWin )
+ pNavWin->FreshTree( GetDoc() );
+ }
+}
+//-----IAccessibility2 Implementation 2009
/*************************************************************************
|*
|* MouseButtonDown event
@@ -298,6 +335,11 @@ void DrawViewShell::MouseButtonDown(cons
{
ViewShell::MouseButtonDown(rMEvt, pWin);
+//IAccessibility2 Implementation 2009-----
+ //Solution: If object is marked , the corresponding entry is set true ,
+ //else the corresponding entry is set false .
+ FreshNavigatrTree();
+//-----IAccessibility2 Implementation 2009
if ( mbPipette )
( (SvxBmpMask*) GetViewFrame()->GetChildWindow( SvxBmpMaskChildWindow::GetChildWindowId() )->GetWindow() )->PipetteClicked();
}
@@ -467,6 +509,11 @@ void DrawViewShell::MouseButtonUp(const
}
else
ViewShell::MouseButtonUp(rMEvt, pWin);
+//IAccessibility2 Implementation 2009-----
+ //Solution: If object is marked , the corresponding entry is set true ,
+ //else the corresponding entry is set false .
+ FreshNavigatrTree();
+//-----IAccessibility2 Implementation 2009
}
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews5.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews5.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews5.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/view/drviews5.cxx Mon Nov 18 12:53:58 2013
@@ -705,6 +705,15 @@ void DrawViewShell::SetActiveTabLayerInd
// Tell the draw view and the tab control of the new active layer.
mpDrawView->SetActiveLayer (pBar->GetPageText (pBar->GetPageId ((sal_uInt16)nIndex)));
pBar->SetCurPageId (pBar->GetPageId ((sal_uInt16)nIndex));
+ //IAccessibility2 Implementation 2009-----
+ SdUnoDrawView* pUnoDrawView = new SdUnoDrawView (
+ GetViewShellBase().GetDrawController(),
+ *this,
+ *GetView());
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer> rLayer = pUnoDrawView->getActiveLayer();
+ GetViewShellBase().GetDrawController().fireChangeLayer( &rLayer );
+ delete pUnoDrawView;
+ //-----IAccessibility2 Implementation 2009
}
}
}
Modified: openoffice/branches/rejuvenate01/main/sd/source/ui/view/outlnvsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/sd/source/ui/view/outlnvsh.cxx?rev=1543021&r1=1543020&r2=1543021&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/sd/source/ui/view/outlnvsh.cxx (original)
+++ openoffice/branches/rejuvenate01/main/sd/source/ui/view/outlnvsh.cxx Mon Nov 18 12:53:58 2013
@@ -235,6 +235,9 @@ OutlineViewShell::OutlineViewShell (
Construct(GetDocSh());
SetContextName(sfx2::sidebar::EnumContext::GetContextName(sfx2::sidebar::EnumContext::Context_OutlineText));
+//IAccessibility2 Implementation 2009-----
+ m_StrOldPageName.EmptyString();
+//-----IAccessibility2 Implementation 2009
}
/*************************************************************************
@@ -1472,6 +1475,14 @@ void OutlineViewShell::GetStatusBarState
aLayoutStr = pPage->GetLayoutName();
aLayoutStr.Erase( aLayoutStr.SearchAscii( SD_LT_SEPARATOR ) );
+ //IAccessibility2 Implementation 2009-----
+ //Now, CurrentPage property change is already sent for DrawView and OutlineView, so it is not necessary to send again here
+ if(m_StrOldPageName!=aPageStr)
+ {
+ GetViewShellBase().GetDrawController().fireSwitchCurrentPage(nPos);
+ m_StrOldPageName = aPageStr;
+ }
+ //-----IAccessibility2 Implementation 2009
}
rSet.Put( SfxStringItem( SID_STATUS_PAGE, aPageStr ) );
rSet.Put( SfxStringItem( SID_STATUS_LAYOUT, aLayoutStr ) );