Modified: openoffice/branches/l10n40/main/vcl/source/control/morebtn.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/control/morebtn.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/control/morebtn.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/control/morebtn.cxx Tue Nov 19 22:39:40 2013 @@ -155,7 +155,7 @@ void MoreButton::Click() // Hier den Click-Handler rufen, damit vorher die Controls initialisiert // werden koennen - PushButton::Click(); + //PushButton::Click(); // IAccessibility2 Implementation 2009 // Je nach Status die Fenster updaten if ( mbState ) @@ -197,6 +197,9 @@ void MoreButton::Click() pWindow = mpMBData->mpItemList->Next(); } } +//IAccessibility2 Implementation 2009----- + PushButton::Click(); +//-----IAccessibility2 Implementation 2009 } // -----------------------------------------------------------------------
Modified: openoffice/branches/l10n40/main/vcl/source/control/tabctrl.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/control/tabctrl.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/control/tabctrl.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/control/tabctrl.cxx Tue Nov 19 22:39:40 2013 @@ -619,6 +619,9 @@ void TabControl::ImplChangeTabPage( sal_ } pPage->ActivatePage(); +//IAccessibility2 Implementation 2009----- + pPage->Show(); +//-----IAccessibility2 Implementation 2009 if ( pOldPage && pOldPage->HasChildPathFocus() ) { @@ -630,7 +633,9 @@ void TabControl::ImplChangeTabPage( sal_ GrabFocus(); } - pPage->Show(); +//IAccessibility2 Implementation 2009----- + // pPage->Show(); +//-----IAccessibility2 Implementation 2009 } if ( pOldPage ) Modified: openoffice/branches/l10n40/main/vcl/source/gdi/bitmapex.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/gdi/bitmapex.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/gdi/bitmapex.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/gdi/bitmapex.cxx Tue Nov 19 22:39:40 2013 @@ -1018,108 +1018,158 @@ BitmapEx BitmapEx::getTransformed( BitmapEx BitmapEx::ModifyBitmapEx(const basegfx::BColorModifierStack& rBColorModifierStack) const { - Bitmap aChangedBitmap(GetBitmap()); - bool bDone(false); + Bitmap aChangedBitmap(GetBitmap()); + bool bDone(false); - for(sal_uInt32 a(rBColorModifierStack.count()); a && !bDone; ) - { - const basegfx::BColorModifier& rModifier = rBColorModifierStack.getBColorModifier(--a); - - switch(rModifier.getMode()) - { - case basegfx::BCOLORMODIFYMODE_REPLACE : - { - // complete replace - if(IsTransparent()) - { - // clear bitmap with dest color - if(aChangedBitmap.GetBitCount() <= 8) - { - // do NOT use erase; for e.g. 8bit Bitmaps, the nearest color to the given - // erase color is determined and used -> this may be different from what is - // wanted here. Better create a new bitmap with the needed color explicitely - BitmapReadAccess* pReadAccess = aChangedBitmap.AcquireReadAccess(); - OSL_ENSURE(pReadAccess, "Got no Bitmap ReadAccess ?!?"); + for(sal_uInt32 a(rBColorModifierStack.count()); a && !bDone; ) + { + const basegfx::BColorModifierSharedPtr& rModifier = rBColorModifierStack.getBColorModifier(--a); + const basegfx::BColorModifier_replace* pReplace = dynamic_cast< const basegfx::BColorModifier_replace* >(rModifier.get()); + + if(pReplace) + { + // complete replace + if(IsTransparent()) + { + // clear bitmap with dest color + if(aChangedBitmap.GetBitCount() <= 8) + { + // do NOT use erase; for e.g. 8bit Bitmaps, the nearest color to the given + // erase color is determined and used -> this may be different from what is + // wanted here. Better create a new bitmap with the needed color explicitely + BitmapReadAccess* pReadAccess = aChangedBitmap.AcquireReadAccess(); + OSL_ENSURE(pReadAccess, "Got no Bitmap ReadAccess ?!?"); + + if(pReadAccess) + { + BitmapPalette aNewPalette(pReadAccess->GetPalette()); + aNewPalette[0] = BitmapColor(Color(pReplace->getBColor())); + aChangedBitmap = Bitmap( + aChangedBitmap.GetSizePixel(), + aChangedBitmap.GetBitCount(), + &aNewPalette); + delete pReadAccess; + } + } + else + { + aChangedBitmap.Erase(Color(pReplace->getBColor())); + } + } + else + { + // erase bitmap, caller will know to paint direct + aChangedBitmap.SetEmpty(); + } + + bDone = true; + } + else + { + BitmapWriteAccess* pContent = aChangedBitmap.AcquireWriteAccess(); - if(pReadAccess) + if(pContent) + { + const double fConvertColor(1.0 / 255.0); + + if(pContent->HasPalette()) + { + const sal_uInt16 nCount(pContent->GetPaletteEntryCount()); + + for(sal_uInt16 a(0); a < nCount; a++) + { + const BitmapColor& rCol = pContent->GetPaletteColor(a); + const basegfx::BColor aBSource( + rCol.GetRed() * fConvertColor, + rCol.GetGreen() * fConvertColor, + rCol.GetBlue() * fConvertColor); + const basegfx::BColor aBDest(rModifier->getModifiedColor(aBSource)); + pContent->SetPaletteColor(a, BitmapColor(Color(aBDest))); + } + } + else if(BMP_FORMAT_24BIT_TC_BGR == pContent->GetScanlineFormat()) + { + for(sal_uInt32 y(0L); y < (sal_uInt32)pContent->Height(); y++) + { + Scanline pScan = pContent->GetScanline(y); + + for(sal_uInt32 x(0L); x < (sal_uInt32)pContent->Width(); x++) { - BitmapPalette aNewPalette(pReadAccess->GetPalette()); - aNewPalette[0] = BitmapColor(Color(rModifier.getBColor())); - aChangedBitmap = Bitmap( - aChangedBitmap.GetSizePixel(), - aChangedBitmap.GetBitCount(), - &aNewPalette); - delete pReadAccess; + const basegfx::BColor aBSource( + *(pScan + 2)* fConvertColor, + *(pScan + 1) * fConvertColor, + *pScan * fConvertColor); + const basegfx::BColor aBDest(rModifier->getModifiedColor(aBSource)); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getBlue() * 255.0); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getGreen() * 255.0); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getRed() * 255.0); } - } - else - { - aChangedBitmap.Erase(Color(rModifier.getBColor())); } - } - else - { - // erase bitmap, caller will know to paint direct - aChangedBitmap.SetEmpty(); - } - - bDone = true; - break; - } - - default : // BCOLORMODIFYMODE_INTERPOLATE, BCOLORMODIFYMODE_GRAY, BCOLORMODIFYMODE_BLACKANDWHITE - { - BitmapWriteAccess* pContent = aChangedBitmap.AcquireWriteAccess(); - - if(pContent) - { - const double fConvertColor(1.0 / 255.0); - - for(sal_uInt32 y(0L); y < (sal_uInt32)pContent->Height(); y++) - { - for(sal_uInt32 x(0L); x < (sal_uInt32)pContent->Width(); x++) - { - const BitmapColor aBMCol(pContent->GetColor(y, x)); - const basegfx::BColor aBSource( - (double)aBMCol.GetRed() * fConvertColor, - (double)aBMCol.GetGreen() * fConvertColor, - (double)aBMCol.GetBlue() * fConvertColor); - const basegfx::BColor aBDest(rModifier.getModifiedColor(aBSource)); - - pContent->SetPixel(y, x, BitmapColor(Color(aBDest))); - } - } - - delete pContent; - } - - break; - } - } - } - - if(aChangedBitmap.IsEmpty()) - { - return BitmapEx(); - } - else - { - if(IsTransparent()) - { - if(IsAlpha()) - { - return BitmapEx(aChangedBitmap, GetAlpha()); - } - else - { - return BitmapEx(aChangedBitmap, GetMask()); - } - } - else - { - return BitmapEx(aChangedBitmap); - } - } + } + else if(BMP_FORMAT_24BIT_TC_RGB == pContent->GetScanlineFormat()) + { + for(sal_uInt32 y(0L); y < (sal_uInt32)pContent->Height(); y++) + { + Scanline pScan = pContent->GetScanline(y); + + for(sal_uInt32 x(0L); x < (sal_uInt32)pContent->Width(); x++) + { + const basegfx::BColor aBSource( + *pScan * fConvertColor, + *(pScan + 1) * fConvertColor, + *(pScan + 2) * fConvertColor); + const basegfx::BColor aBDest(rModifier->getModifiedColor(aBSource)); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getRed() * 255.0); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getGreen() * 255.0); + *pScan++ = static_cast< sal_uInt8 >(aBDest.getBlue() * 255.0); + } + } + } + else + { + for(sal_uInt32 y(0L); y < (sal_uInt32)pContent->Height(); y++) + { + for(sal_uInt32 x(0L); x < (sal_uInt32)pContent->Width(); x++) + { + const BitmapColor aBMCol(pContent->GetColor(y, x)); + const basegfx::BColor aBSource( + (double)aBMCol.GetRed() * fConvertColor, + (double)aBMCol.GetGreen() * fConvertColor, + (double)aBMCol.GetBlue() * fConvertColor); + const basegfx::BColor aBDest(rModifier->getModifiedColor(aBSource)); + + pContent->SetPixel(y, x, BitmapColor(Color(aBDest))); + } + } + } + + delete pContent; + } + } + } + + if(aChangedBitmap.IsEmpty()) + { + return BitmapEx(); + } + else + { + if(IsTransparent()) + { + if(IsAlpha()) + { + return BitmapEx(aChangedBitmap, GetAlpha()); + } + else + { + return BitmapEx(aChangedBitmap, GetMask()); + } + } + else + { + return BitmapEx(aChangedBitmap); + } + } } // ----------------------------------------------------------------------------- Modified: openoffice/branches/l10n40/main/vcl/source/window/btndlg.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/btndlg.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/btndlg.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/btndlg.cxx Tue Nov 19 22:39:40 2013 @@ -289,6 +289,15 @@ void ButtonDialog::StateChanged( StateCh if ( nType == STATE_CHANGE_INITSHOW ) { ImplPosControls(); +//IAccessibility2 Implementation 2009----- + ImplBtnDlgItem* pItem = mpItemList->First(); + while ( pItem ) + { + if ( pItem->mpPushButton && pItem->mbOwnButton ) + pItem->mpPushButton->SetZOrder(0, WINDOW_ZORDER_LAST); + pItem = mpItemList->Next(); + } +//-----IAccessibility2 Implementation 2009 // Focus evt. auf den entsprechenden Button setzen if ( mnFocusButtonId != BUTTONDIALOG_BUTTON_NOTFOUND ) Modified: openoffice/branches/l10n40/main/vcl/source/window/dlgctrl.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/dlgctrl.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/dlgctrl.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/dlgctrl.cxx Tue Nov 19 22:39:40 2013 @@ -835,7 +835,18 @@ sal_Bool Window::ImplDlgCtrl( const KeyE if ( nStyle & WB_GROUP ) break; - if ( pWindow->IsVisible() && pWindow->IsEnabled() && pWindow->IsInputEnabled() ) +//IAccessibility2 Implementation 2009----- + //Solution:Pure window shouldn't get window after controls such as buttons. + //if ( pWindow->IsVisible() && pWindow->IsEnabled() && pWindow->IsInputEnabled() ) + if ( pWindow->IsVisible() && pWindow->IsEnabled() && + pWindow->IsInputEnabled() && ( + pWindow->GetType() != WINDOW_WINDOW && + pWindow->GetType() != WINDOW_SYSWINDOW && + pWindow->GetType() != WINDOW_WORKWINDOW && + pWindow->GetType() != WINDOW_CONTROL + ) + ) +//-----IAccessibility2 Implementation 2009 { pWindow->ImplControlFocus( GETFOCUS_CURSOR | GETFOCUS_BACKWARD ); return sal_True; Modified: openoffice/branches/l10n40/main/vcl/source/window/menu.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/menu.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/menu.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/menu.cxx Tue Nov 19 22:39:40 2013 @@ -1573,6 +1573,36 @@ sal_uInt16 Menu::GetCurItemId() const { return nSelectedId; } +//IAccessibility2 Implementation 2009 +void Menu::SetHightlightItem( sal_uInt16 nHighlightedItem ) +{ + this->nHighlightedItem = nHighlightedItem; +} +sal_uInt16 Menu::GetHighlightItem() const +{ + return nHighlightedItem; +} + + +XubString Menu::GetItemAccKeyStrFromPos(sal_uInt16 nPos) const +{ + MenuItemData* pData = pItemList->GetDataFromPos( nPos ); + if (pData) + { + return pData->aAccelKey.GetName(); + } + return XubString(); +} + +sal_Bool Menu::IsTemporaryItemFromPos(sal_uInt16 nPos ) const +{ + MenuItemData* pData = pItemList->GetDataFromPos( nPos ); + if (pData) + { + return pData->bIsTemporary; + } + return sal_False; +} void Menu::SetItemBits( sal_uInt16 nItemId, MenuItemBits nBits ) { @@ -3728,7 +3758,12 @@ sal_uInt16 PopupMenu::ImplExecute( Windo String aTmpEntryText( ResId( SV_RESID_STRING_NOSELECTIONPOSSIBLE, *pResMgr ) ); MenuItemData* pData = pItemList->Insert( 0xFFFF, MENUITEM_STRING, 0, aTmpEntryText, Image(), NULL, 0xFFFF ); +//IAccessibility2 Implementation 2009----- + sal_uInt16 nmPos; + pData = pItemList->GetData( pData->nId, nmPos ); pData->bIsTemporary = sal_True; + ImplCallEventListeners(VCLEVENT_MENU_SUBMENUCHANGED,nmPos); +//-----IAccessibility2 Implementation 2009 } } else if ( Application::GetSettings().GetStyleSettings().GetAutoMnemonic() && !( nMenuFlags & MENU_FLAG_NOAUTOMNEMONICS ) ) @@ -4005,7 +4040,9 @@ void MenuFloatingWindow::doShutdown() // otherwise the entry will not be read when the menu is opened again if( nHighlightedItem != ITEMPOS_INVALID ) pMenu->ImplCallEventListeners( VCLEVENT_MENU_DEHIGHLIGHT, nHighlightedItem ); - +//IAccessibility2 Implementation 2009----- + pMenu->SetHightlightItem(ITEMPOS_INVALID); +//-----IAccessibility2 Implementation 2009 if( !bKeyInput && pMenu && pMenu->pStartedFrom && !pMenu->pStartedFrom->bIsMenuBar ) { // #102461# remove highlight in parent @@ -4676,6 +4713,9 @@ void MenuFloatingWindow::ChangeHighlight } } HighlightItem( nHighlightedItem, sal_True ); +//IAccessibility2 Implementation 2009----- + pMenu->SetHightlightItem(nHighlightedItem); +//-----IAccessibility2 Implementation 2009 pMenu->ImplCallHighlight( nHighlightedItem ); } else @@ -4977,6 +5017,10 @@ void MenuFloatingWindow::KeyInput( const MenuFloatingWindow* pFloat = ((PopupMenu*)pMenu->pStartedFrom)->ImplGetFloatingWindow(); pFloat->GrabFocus(); pFloat->KillActivePopup(); +//IAccessibility2 Implementation 2009----- + sal_uInt16 highlightItem = pFloat->GetHighlightedItem(); + pFloat->ChangeHighlightItem(highlightItem, sal_False); +//-----IAccessibility2 Implementation 2009 } } } @@ -5566,6 +5610,9 @@ void MenuBarWindow::ChangeHighlightItem( nHighlightedItem = (sal_uInt16)n; DBG_ASSERT( ( nHighlightedItem == ITEMPOS_INVALID ) || pMenu->ImplIsVisible( nHighlightedItem ), "ChangeHighlightItem: Not visible!" ); HighlightItem( nHighlightedItem, sal_True ); +//IAccessibility2 Implementation 2009----- + pMenu->SetHightlightItem(nHighlightedItem); +//-----IAccessibility2 Implementation 2009 pMenu->ImplCallHighlight( nHighlightedItem ); if( mbAutoPopup ) Modified: openoffice/branches/l10n40/main/vcl/source/window/toolbox.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/toolbox.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/toolbox.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/toolbox.cxx Tue Nov 19 22:39:40 2013 @@ -6065,6 +6065,11 @@ void ToolBox::ImplChangeHighlight( ImplT mnCurPos = aPos; ImplShowFocus(); +//IAccessibility2 Implementation 2009----- + if( pItem->mpWindow ) + pItem->mpWindow->GrabFocus(); + if( pItem != pOldItem ) +//-----IAccessibility2 Implementation 2009 ImplCallEventListeners( VCLEVENT_TOOLBOX_HIGHLIGHT ); } } Modified: openoffice/branches/l10n40/main/vcl/source/window/toolbox2.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/toolbox2.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/toolbox2.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/toolbox2.cxx Tue Nov 19 22:39:40 2013 @@ -1737,7 +1737,11 @@ void ToolBox::SetItemState( sal_uInt16 n ImplCallEventListeners( VCLEVENT_TOOLBOX_BUTTONSTATECHANGED, reinterpret_cast< void* >( nPos ) ); // Notify - ImplCallEventListeners( VCLEVENT_TOOLBOX_CLICK, reinterpret_cast< void* >( nPos ) ); +//IAccessibility2 Implementation 2009----- + //Solution:Call accessivle listener to notify state_changed event + ImplCallEventListeners( VCLEVENT_TOOLBOX_ITEMUPDATED,reinterpret_cast< void* >(nPos) ); + //ImplCallEventListeners( VCLEVENT_TOOLBOX_CLICK, reinterpret_cast< void* >( nPos ) ); +//-----IAccessibility2 Implementation 2009 } } } Modified: openoffice/branches/l10n40/main/vcl/source/window/window.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/source/window/window.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/source/window/window.cxx (original) +++ openoffice/branches/l10n40/main/vcl/source/window/window.cxx Tue Nov 19 22:39:40 2013 @@ -5397,6 +5397,15 @@ long Window::Notify( NotifyEvent& rNEvt return nRet; } +// IAccessible2 implementation, 2009 +void Window::NotifyVCLEvent( sal_uLong nEvent ,void* pData /*= NULL*/) +{ + ImplCallEventListeners( nEvent ,pData); +} +::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > > Window::GetAccFlowToSequence() +{ + return ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >(); +} // ----------------------------------------------------------------------- void Window::ImplCallEventListeners( sal_uLong nEvent, void* pData ) @@ -9097,10 +9106,11 @@ sal_uInt16 Window::GetAccessibleRole() c case WINDOW_CANCELBUTTON: case WINDOW_HELPBUTTON: case WINDOW_IMAGEBUTTON: - case WINDOW_MENUBUTTON: + //case WINDOW_MENUBUTTON: case WINDOW_MOREBUTTON: case WINDOW_SPINBUTTON: case WINDOW_BUTTON: nRole = accessibility::AccessibleRole::PUSH_BUTTON; break; + case WINDOW_MENUBUTTON: nRole = accessibility::AccessibleRole::BUTTON_MENU; break; case WINDOW_PATHDIALOG: nRole = accessibility::AccessibleRole::DIRECTORY_PANE; break; case WINDOW_FILEDIALOG: nRole = accessibility::AccessibleRole::FILE_CHOOSER; break; @@ -9115,10 +9125,15 @@ sal_uInt16 Window::GetAccessibleRole() c case WINDOW_MULTILINEEDIT: nRole = accessibility::AccessibleRole::SCROLL_PANE; break; case WINDOW_PATTERNFIELD: +//IAccessibility2 Impplementaton 2009----- + // Need to set the role of those window control to spinbox + /* case WINDOW_NUMERICFIELD: case WINDOW_METRICFIELD: case WINDOW_CURRENCYFIELD: case WINDOW_LONGCURRENCYFIELD: + */ +//-----IAccessibility2 Impplementaton 2009 case WINDOW_EDIT: nRole = ( GetStyle() & WB_PASSWORD ) ? (accessibility::AccessibleRole::PASSWORD_TEXT) : (accessibility::AccessibleRole::TEXT); break; case WINDOW_PATTERNBOX: @@ -9135,7 +9150,17 @@ sal_uInt16 Window::GetAccessibleRole() c case WINDOW_FIXEDTEXT: nRole = accessibility::AccessibleRole::LABEL; break; case WINDOW_FIXEDBORDER: - case WINDOW_FIXEDLINE: nRole = accessibility::AccessibleRole::SEPARATOR; break; + nRole = accessibility::AccessibleRole::SEPARATOR; break; + //IAccessibility2 Impplementaton 2009----- + case WINDOW_FIXEDLINE: + { if( GetText().Len() > 0 ) + nRole = accessibility::AccessibleRole::LABEL; + else + nRole = accessibility::AccessibleRole::SEPARATOR; + break; + } + //case WINDOW_FIXEDLINE: nRole = accessibility::AccessibleRole::SEPARATOR; break; + //-----IAccessibility2 Impplementaton 2009 case WINDOW_FIXEDBITMAP: case WINDOW_FIXEDIMAGE: nRole = accessibility::AccessibleRole::ICON; break; case WINDOW_GROUPBOX: nRole = accessibility::AccessibleRole::GROUP_BOX; break; @@ -9150,6 +9175,13 @@ sal_uInt16 Window::GetAccessibleRole() c case WINDOW_DATEFIELD: case WINDOW_TIMEFIELD: nRole = accessibility::AccessibleRole::DATE_EDITOR; break; +//IAccessibility2 Impplementaton 2009----- + // Need to set the role of those window control to spinbox + case WINDOW_NUMERICFIELD: + case WINDOW_METRICFIELD: + case WINDOW_CURRENCYFIELD: + case WINDOW_LONGCURRENCYFIELD: +//-----IAccessibility2 Impplementaton 2009 case WINDOW_SPINFIELD: nRole = accessibility::AccessibleRole::SPIN_BOX; break; case WINDOW_TOOLBOX: nRole = accessibility::AccessibleRole::TOOL_BAR; break; @@ -9201,8 +9233,12 @@ void Window::SetAccessibleName( const St if ( !mpWindowImpl->mpAccessibleInfos ) mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; +//IAccessibility2 Implementation 2009----- + String oldName = GetAccessibleName(); delete mpWindowImpl->mpAccessibleInfos->pAccessibleName; mpWindowImpl->mpAccessibleInfos->pAccessibleName = new String( rName ); + ImplCallEventListeners( VCLEVENT_WINDOW_FRAMETITLECHANGED, &oldName ); +//-----IAccessibility2 Implementation 2009 } String Window::GetAccessibleName() const @@ -9247,6 +9283,12 @@ String Window::GetAccessibleName() const if ( pLabel && pLabel != this ) aAccessibleName = pLabel->GetText(); } + //IAccessibility2 Implementation 2009----- + if ( !aAccessibleName.Len() ) + { + aAccessibleName = GetQuickHelpText(); + } + //-----IAccessibility2 Implementation 2009 break; case WINDOW_IMAGEBUTTON: @@ -9260,6 +9302,16 @@ String Window::GetAccessibleName() const } break; +//IAccessibility2 Implementation 2009----- + case WINDOW_TOOLBOX: + aAccessibleName = GetText(); + if( aAccessibleName.Len() == 0 ) + aAccessibleName =XubString( RTL_CONSTASCII_USTRINGPARAM( "Tool Bar" ) ); + break; + case WINDOW_MOREBUTTON: + aAccessibleName = mpWindowImpl->maText; + break; +//-----IAccessibility2 Implementation 2009 default: aAccessibleName = GetText(); break; Modified: openoffice/branches/l10n40/main/vcl/win/source/window/salframe.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/vcl/win/source/window/salframe.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/vcl/win/source/window/salframe.cxx (original) +++ openoffice/branches/l10n40/main/vcl/win/source/window/salframe.cxx Tue Nov 19 22:39:40 2013 @@ -92,6 +92,16 @@ using ::std::max; #endif +//IAccessibility2 Implementation 2009----- +#ifdef WNT +#include <oleacc.h> +#include <com/sun/star/accessibility/XMSAAService.hpp> +#ifndef _WIN32_WCE +#define WM_GETOBJECT 0x003D +#endif +#include <win/g_msaasvc.h> +#endif +//-----IAccessibility2 Implementation 2009 #include <com/sun/star/uno/Exception.hdl> #include <time.h> @@ -153,7 +163,12 @@ sal_Bool WinSalFrame::mbInReparent = FAL #define Uni_SupplementaryPlanesStart 0x10000 // ======================================================================= - +//IAccessibility2 Implementation 2009----- +#ifdef WNT +using namespace ::com::sun::star::accessibility; +XMSAAService* g_acc_manager1 = NULL; +#endif +//-----IAccessibility2 Implementation 2009 static void UpdateFrameGeometry( HWND hWnd, WinSalFrame* pFrame ); static void SetMaximizedFrameGeometry( HWND hWnd, WinSalFrame* pFrame, RECT* pParentRect = NULL ); @@ -6178,6 +6193,62 @@ LRESULT CALLBACK SalFrameWndProc( HWND h case WM_IME_NOTIFY: ImplHandleIMENotify( hWnd, wParam ); break; + +//IAccessibility2 implementation 2009----- +#ifdef WNT + case WM_GETOBJECT: + { + if (!Application::IsEnableAccessInterface()) + { + break; + } + else + { + // IA2 should be enabled automatically + AllSettings aSettings = Application::GetSettings(); + MiscSettings aMisc = aSettings.GetMiscSettings(); + aMisc.SetEnableATToolSupport( sal_True ); + aSettings.SetMiscSettings( aMisc ); + Application::SetSettings( aSettings ); + + if (Application::GetSettings().GetMiscSettings().GetEnableATToolSupport()) + { + // Make sure to launch Accessibiliity only the following criterias are satisfied to avoid RFT interrupts regular acc processing + if (g_acc_manager1 == NULL) + { + sal_Bool bCancelled; + InitAccessBridge(sal_False,bCancelled); + if( bCancelled ) + break; + } + if (g_acc_manager1 != NULL) + { + // MT: mhOnSetTitleWnd not set to reasonable value anywhere... + /* + sal_Bool bSkipSetTitleClient = sal_False; + SalFrame* pFrame = GetWindowPtr( hWnd ); + if(pFrame) + { + bSkipSetTitleClient = (lParam == OBJID_CLIENT && hWnd == ((WinSalFrame*)pFrame)->mhOnSetTitleWnd); + } + */ + if ( (lParam == OBJID_CLIENT ) /* && !bSkipSetTitleClient */ ) + { + long RetResult = g_acc_manager1->getAccObjectPtr((long)hWnd, lParam, wParam); + if(RetResult != 0) + { + rDef = FALSE; + return (HRESULT)RetResult; + } + } + } + } + } + break; + } +#endif +//-----IAccessibility2 implementation 2009 + case WM_APPCOMMAND: if( ImplHandleAppCommand( hWnd, lParam ) ) { @@ -6398,3 +6469,25 @@ sal_Bool ImplWriteLastError( DWORD lastE // ----------------------------------------------------------------------- +//IAccessibility2 implementation 2009----- +#ifdef WNT +bool IsWNTInitAccessBridge() +{ + return NULL != g_acc_manager1; +} +#endif +#ifdef WNT +bool WNTEnableAccessInterface(bool bEnable) +{ + ImplSVData* pSVData = ImplGetSVData(); + + BOOL bPreVal = pSVData->maAppData.m_bEnableAccessInterface; + long nEnable= bEnable; + ::InterlockedExchange( + (LPLONG)&(pSVData->maAppData.m_bEnableAccessInterface), + nEnable); + + return bPreVal; +} +#endif +//-----IAccessibility2 implementation 2009 Modified: openoffice/branches/l10n40/main/xmlhelp/util/main_transform.xsl URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlhelp/util/main_transform.xsl?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlhelp/util/main_transform.xsl (original) +++ openoffice/branches/l10n40/main/xmlhelp/util/main_transform.xsl Tue Nov 19 22:39:40 2013 @@ -613,7 +613,7 @@ <xsl:variable name="archive"><xsl:value-of select="concat(substring-before(substring-after(@href,'text/'),'/'),'/')"/></xsl:variable> <xsl:variable name="dbpostfix"><xsl:call-template name="createDBpostfix"><xsl:with-param name="archive" select="$archive"/></xsl:call-template></xsl:variable> <xsl:choose> - <xsl:when test="starts-with(@href,'http://')"> <!-- web links --> + <xsl:when test="starts-with(@href,'http://') or starts-with(@href,'https://')"> <!-- web links --> <a href="{@href}"><xsl:apply-templates /></a> </xsl:when> <xsl:when test="contains(@href,'#')"> Modified: openoffice/branches/l10n40/main/xmloff/source/draw/shapeexport2.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmloff/source/draw/shapeexport2.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmloff/source/draw/shapeexport2.cxx (original) +++ openoffice/branches/l10n40/main/xmloff/source/draw/shapeexport2.cxx Tue Nov 19 22:39:40 2013 @@ -986,8 +986,6 @@ void XMLShapeExport::ImpExportPolygonSha const uno::Reference< beans::XPropertySet > xPropSet(xShape, uno::UNO_QUERY); if(xPropSet.is()) { - sal_Bool bClosed(eShapeType == XmlShapeTypeDrawPolyPolygonShape - || eShapeType == XmlShapeTypeDrawClosedBezierShape); sal_Bool bBezier(eShapeType == XmlShapeTypeDrawClosedBezierShape || eShapeType == XmlShapeTypeDrawOpenBezierShape); Propchange: openoffice/branches/l10n40/main/xmlsecurity/prj/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Nov 19 22:39:40 2013 @@ -0,0 +1,3 @@ +/openoffice/branches/AOO400/main/xmlsecurity/prj:1503684 +/openoffice/branches/ia2/main/xmlsecurity/prj:1417739-1541842 +/openoffice/trunk/main/xmlsecurity/prj:1505446-1543582 Modified: openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/makefile.mk URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/makefile.mk?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/makefile.mk (original) +++ openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/makefile.mk Tue Nov 19 22:39:40 2013 @@ -37,11 +37,9 @@ ENABLE_EXCEPTIONS = TRUE CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS) .ENDIF -.IF "$(WITH_MOZILLA)" == "NO" || "$(ENABLE_NSS_MODULE)"!="YES" -.IF "$(SYSTEM_MOZILLA)" != "YES" +.IF "$(ENABLE_NSS_MODULE)"!="YES" @all: - @echo "No mozilla -> no nss -> no libxmlsec -> no xmlsecurity.." -.ENDIF + @echo "No nss -> no libxmlsec -> no xmlsecurity.." .ENDIF .IF "$(CRYPTO_ENGINE)" == "mscrypto" Modified: openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/nss/makefile.mk URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/nss/makefile.mk?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/nss/makefile.mk (original) +++ openoffice/branches/l10n40/main/xmlsecurity/source/xmlsec/nss/makefile.mk Tue Nov 19 22:39:40 2013 @@ -37,28 +37,19 @@ ENABLE_EXCEPTIONS = TRUE CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS) .ENDIF -.IF "$(WITH_MOZILLA)" == "NO" || "$(ENABLE_NSS_MODULE)"!="YES" -.IF "$(SYSTEM_MOZILLA)" != "YES" +.IF "$(ENABLE_NSS_MODULE)"!="YES" @all: - @echo "No mozilla -> no nss -> no libxmlsec -> no xmlsecurity/nss" -.ENDIF + @echo "No nss -> no libxmlsec -> no xmlsecurity/nss" .ENDIF -.IF "$(SYSTEM_MOZILLA)" != "YES" +.IF "$(SYSTEM_NSS)" != "YES" MOZ_INC = $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla NSS_INC = $(MOZ_INC)$/nss NSPR_INC = $(MOZ_INC)$/nspr .ELSE -# MOZ_INC already defined from environment -NSS_INC = $(MOZ_NSS_CFLAGS) -NSPR_INC = $(MOZ_INC)$/nspr -.ENDIF - -.IF "$(GUI)"=="UNX" -.IF "$(COMNAME)"=="sunpro5" -CFLAGS += -features=tmplife -#This flag is needed to build mozilla 1.7 code -.ENDIF # "$(COMNAME)"=="sunpro5" +# TODO: better use pkgconfig to find the proper system include path +NSS_INC = /usr/include/nss3 +NSPR_INC = /usr/include/nspr4 .ENDIF .IF "$(GUI)" == "WNT" @@ -114,15 +105,10 @@ CDEFS += -DXMLSEC_NO_XSLT # --- Files -------------------------------------------------------- SOLARINC += \ - -I$(MOZ_INC) \ --I$(NSPR_INC) \ --I$(PRJ)$/source$/xmlsec + -I$(NSPR_INC) \ + -I$(PRJ)$/source$/xmlsec -.IF "$(SYSTEM_MOZILLA)" == "YES" -SOLARINC += -DSYSTEM_MOZILLA $(NSS_INC) -.ELSE SOLARINC += -I$(NSS_INC) -.ENDIF SLOFILES = \ $(SLO)$/nssinitializer.obj \ Modified: openoffice/branches/l10n40/main/xmlsecurity/tools/demo/makefile.mk URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlsecurity/tools/demo/makefile.mk?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlsecurity/tools/demo/makefile.mk (original) +++ openoffice/branches/l10n40/main/xmlsecurity/tools/demo/makefile.mk Tue Nov 19 22:39:40 2013 @@ -98,14 +98,6 @@ APP3STDLIBS+=$(SHARE_LIBS) APP3OBJS= $(SHARE_OBJS) $(OBJ)$/multisigdemo.obj # -# ---------- mozprofile ---------- -# -APP4TARGET=mozprofile -APP4DEPN=makefile.mk -APP4STDLIBS+=$(SHARE_LIBS) -APP4OBJS= $(SHARE_OBJS) $(OBJ)$/mozprofile.obj - -# # ---------- performance ---------- # APP5TARGET=performance @@ -137,8 +129,7 @@ REGISTERLIBS= \ dynamicloader.uno$(DLLPOST) \ namingservice.uno$(DLLPOST) \ bootstrap.uno$(DLLPOST) \ - sax.uno$(DLLPOST) \ - $(DLLPRE)mozab2$(DLLPOST) + sax.uno$(DLLPOST) $(BIN)$/demo.rdb: \ makefile.mk \ Modified: openoffice/branches/l10n40/main/xmlsecurity/tools/demo/mozprofile.cxx URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlsecurity/tools/demo/mozprofile.cxx?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlsecurity/tools/demo/mozprofile.cxx (original) +++ openoffice/branches/l10n40/main/xmlsecurity/tools/demo/mozprofile.cxx Tue Nov 19 22:39:40 2013 @@ -33,7 +33,6 @@ #include <xmlsecurity/biginteger.hxx> #include <xmlsecurity/xmlsignaturehelper.hxx> -#include <com/sun/star/mozilla/XMozillaBootstrap.hpp> using namespace ::com::sun::star; Modified: openoffice/branches/l10n40/main/xmlsecurity/util/makefile.mk URL: http://svn.apache.org/viewvc/openoffice/branches/l10n40/main/xmlsecurity/util/makefile.mk?rev=1543609&r1=1543608&r2=1543609&view=diff ============================================================================== --- openoffice/branches/l10n40/main/xmlsecurity/util/makefile.mk (original) +++ openoffice/branches/l10n40/main/xmlsecurity/util/makefile.mk Tue Nov 19 22:39:40 2013 @@ -35,9 +35,9 @@ USE_DEFFILE=TRUE .INCLUDE : settings.mk .INCLUDE : $(PRJ)$/util$/target.pmk -.IF "$(WITH_MOZILLA)" == "NO" +.IF "$(ENABLE_NSS_MODULE)" != "YES" @all: - @echo "No mozilla -> no nss -> no libxmlsec -> no xmlsecurity..." + @echo "No nss -> no libxmlsec -> no xmlsecurity..." .ENDIF # --- Files -------------------------------------------------------- @@ -71,8 +71,6 @@ SHL2NAME=xsec_xmlsec SHL2TARGET= $(SHL2NAME) -.IF "$(ENABLE_NSS_MODULE)"=="YES" || "$(SYSTEM_MOZILLA)" == "YES" - SHL2LIBS= \ $(SLB)$/xs_comm.lib @@ -84,8 +82,6 @@ SHL2LIBS += \ SHL2LIBS += \ $(SLB)$/xs_nss.lib -.ENDIF - SHL2STDLIBS += \ $(SALLIB) \ @@ -102,7 +98,7 @@ SHL2STDLIBS += \ SHL2STDLIBS +=-ldl .ENDIF -.IF "$(SYSTEM_MOZILLA)" == "YES" +.IF "$(ENABLE_NSS_MODULE)"=="YES" && "$(SYSTEM_NSS)"!="YES" .IF "$(NSPR_LIB)" != "" SHL2STDLIBS += $(NSPR_LIB) .ENDIF