[Libreoffice-commits] core.git: Branch 'aoo/trunk' - sfx2/Library_sfx.mk sfx2/source
Andre Fischer
af at apache.org
Fri May 31 03:08:41 PDT 2013
sfx2/Library_sfx.mk | 2 ++
sfx2/source/sidebar/DeckTitleBar.cxx | 11 +++++++++++
sfx2/source/sidebar/DeckTitleBar.hxx | 1 +
sfx2/source/sidebar/PanelTitleBar.cxx | 21 +++++++++++++--------
sfx2/source/sidebar/PanelTitleBar.hxx | 2 ++
sfx2/source/sidebar/TitleBar.cxx | 32 ++++++++++++++++++++------------
sfx2/source/sidebar/TitleBar.hxx | 5 +++--
7 files changed, 52 insertions(+), 22 deletions(-)
New commits:
commit 6055c2b50b36a0fc1b26c18b030827e3e08a51fc
Author: Andre Fischer <af at apache.org>
Date: Fri May 31 09:03:08 2013 +0000
122271: Setting FOCUSABLE flag at accessibility object sidebar title bars
so that bridges create focus events and title bars become visible
to AT devices.
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 5341571..38625ca 100755
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -218,6 +218,8 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
sfx2/source/sidebar/SidebarController \
sfx2/source/sidebar/SidebarPanelBase \
sfx2/source/sidebar/SidebarToolBox \
+ sfx2/source/sidebar/Accessible \
+ sfx2/source/sidebar/AccessibleTitleBar \
sfx2/source/sidebar/AsynchronousCall \
sfx2/source/sidebar/CommandInfoProvider \
sfx2/source/sidebar/Context \
diff --git a/sfx2/source/sidebar/DeckTitleBar.cxx b/sfx2/source/sidebar/DeckTitleBar.cxx
index 8e0c450..bd9e86c 100644
--- a/sfx2/source/sidebar/DeckTitleBar.cxx
+++ b/sfx2/source/sidebar/DeckTitleBar.cxx
@@ -139,6 +139,17 @@ void DeckTitleBar::HandleToolBoxItemClick (const sal_uInt16 nItemIndex)
+cssu::Reference<css::accessibility::XAccessible> DeckTitleBar::CreateAccessible (void)
+{
+ const ::rtl::OUString sAccessibleName(msTitle);
+ SetAccessibleName(sAccessibleName);
+ SetAccessibleDescription(sAccessibleName);
+ return TitleBar::CreateAccessible();
+}
+
+
+
+
void DeckTitleBar::DataChanged (const DataChangedEvent& rEvent)
{
maToolBox.SetItemImage(
diff --git a/sfx2/source/sidebar/DeckTitleBar.hxx b/sfx2/source/sidebar/DeckTitleBar.hxx
index dfc5e9c..f75aad9 100644
--- a/sfx2/source/sidebar/DeckTitleBar.hxx
+++ b/sfx2/source/sidebar/DeckTitleBar.hxx
@@ -49,6 +49,7 @@ protected:
virtual sidebar::Paint GetBackgroundPaint (void);
virtual Color GetTextColor (void);
virtual void HandleToolBoxItemClick (const sal_uInt16 nItemIndex);
+ virtual cssu::Reference<css::accessibility::XAccessible> CreateAccessible (void);
private:
const sal_uInt16 mnCloserItemIndex;
diff --git a/sfx2/source/sidebar/PanelTitleBar.cxx b/sfx2/source/sidebar/PanelTitleBar.cxx
index 4917412..a8d1048 100644
--- a/sfx2/source/sidebar/PanelTitleBar.cxx
+++ b/sfx2/source/sidebar/PanelTitleBar.cxx
@@ -35,7 +35,6 @@
#include <vcl/image.hxx>
#include <toolkit/helper/vclunohelper.hxx>
-
using namespace css;
using namespace cssu;
@@ -55,16 +54,11 @@ PanelTitleBar::PanelTitleBar (
mpPanel(pPanel),
mnMenuItemIndex(1),
mxFrame(),
- msMoreOptionsCommand()
+ msMoreOptionsCommand(),
+ msAccessibleNamePrefix(String(SfxResId(SFX_STR_SIDEBAR_ACCESSIBILITY_PANEL_PREFIX)))
{
OSL_ASSERT(mpPanel != NULL);
- const ::rtl::OUString sAccessibleName(
- String(SfxResId(SFX_STR_SIDEBAR_ACCESSIBILITY_PANEL_PREFIX))
- + rsTitle);
- SetAccessibleName(sAccessibleName);
- SetAccessibleDescription(sAccessibleName);
-
#ifdef DEBUG
SetText(A2S("PanelTitleBar"));
#endif
@@ -195,6 +189,17 @@ void PanelTitleBar::HandleToolBoxItemClick (const sal_uInt16 nItemIndex)
+Reference<accessibility::XAccessible> PanelTitleBar::CreateAccessible (void)
+{
+ const ::rtl::OUString sAccessibleName(msAccessibleNamePrefix + msTitle);
+ SetAccessibleName(sAccessibleName);
+ SetAccessibleDescription(sAccessibleName);
+ return TitleBar::CreateAccessible();
+}
+
+
+
+
void PanelTitleBar::MouseButtonDown (const MouseEvent& rMouseEvent)
{
if (rMouseEvent.IsLeft())
diff --git a/sfx2/source/sidebar/PanelTitleBar.hxx b/sfx2/source/sidebar/PanelTitleBar.hxx
index 517d759..426f087 100644
--- a/sfx2/source/sidebar/PanelTitleBar.hxx
+++ b/sfx2/source/sidebar/PanelTitleBar.hxx
@@ -56,6 +56,7 @@ protected:
virtual sidebar::Paint GetBackgroundPaint (void);
virtual Color GetTextColor (void);
virtual void HandleToolBoxItemClick (const sal_uInt16 nItemIndex);
+ virtual cssu::Reference<css::accessibility::XAccessible> CreateAccessible (void);
private:
bool mbIsLeftButtonDown;
@@ -63,6 +64,7 @@ private:
const sal_uInt16 mnMenuItemIndex;
cssu::Reference<css::frame::XFrame> mxFrame;
::rtl::OUString msMoreOptionsCommand;
+ ::rtl::OUString msAccessibleNamePrefix;
};
diff --git a/sfx2/source/sidebar/TitleBar.cxx b/sfx2/source/sidebar/TitleBar.cxx
index d04dd4f..c2e01bf 100644
--- a/sfx2/source/sidebar/TitleBar.cxx
+++ b/sfx2/source/sidebar/TitleBar.cxx
@@ -23,11 +23,16 @@
#include "TitleBar.hxx"
#include "Paint.hxx"
+#include "Accessible.hxx"
+#include "AccessibleTitleBar.hxx"
#include <tools/svborder.hxx>
#include <vcl/gradient.hxx>
#include <vcl/lineinfo.hxx>
+#include <com/sun/star/accessibility/AccessibleRole.hpp>
+
+
ToolbarValue::~ToolbarValue (void) {}
namespace
@@ -96,8 +101,7 @@ void TitleBar::Paint (const Rectangle& rUpdateArea)
PaintDecoration(aTitleBarBox);
const Rectangle aTitleBox (GetTitleArea(aTitleBarBox));
PaintTitle(aTitleBox);
- if (HasFocus())
- PaintFocus(aTitleBox);
+ PaintFocus(aTitleBox);
}
@@ -156,6 +160,15 @@ void TitleBar::HandleToolBoxItemClick (const sal_uInt16 nItemIndex)
+cssu::Reference<css::accessibility::XAccessible> TitleBar::CreateAccessible (void)
+{
+ SetAccessibleRole(css::accessibility::AccessibleRole::PANEL);
+ return AccessibleTitleBar::Create(*this);
+}
+
+
+
+
void TitleBar::PaintTitle (const Rectangle& rTitleBox)
{
Push(PUSH_FONT | PUSH_TEXTCOLOR);
@@ -193,7 +206,7 @@ void TitleBar::PaintTitle (const Rectangle& rTitleBox)
void TitleBar::PaintFocus (const Rectangle& rFocusBox)
{
- Push(PUSH_FONT | PUSH_TEXTCOLOR | PUSH_LINECOLOR | PUSH_FILLCOLOR);
+ Push(PUSH_FONT | PUSH_TEXTCOLOR);
Font aFont(GetFont());
aFont.SetWeight(WEIGHT_BOLD);
@@ -210,15 +223,10 @@ void TitleBar::PaintFocus (const Rectangle& rFocusBox)
aTextBox.Right() + 2,
aTextBox.Bottom() + 2);
- LineInfo aDottedStyle (LINE_DASH);
- aDottedStyle.SetDashCount(0);
- aDottedStyle.SetDotCount(1);
- aDottedStyle.SetDotLen(1);
- aDottedStyle.SetDistance(1);
-
- SetFillColor();
- SetLineColor(COL_BLACK);
- DrawPolyLine(Polygon(aLargerTextBox), aDottedStyle);
+ if (HasFocus())
+ Window::ShowFocus(aLargerTextBox);
+ else
+ Window::HideFocus();
Pop();
}
diff --git a/sfx2/source/sidebar/TitleBar.hxx b/sfx2/source/sidebar/TitleBar.hxx
index 5167749..6a8c84e 100644
--- a/sfx2/source/sidebar/TitleBar.hxx
+++ b/sfx2/source/sidebar/TitleBar.hxx
@@ -24,7 +24,7 @@
#include "Paint.hxx"
-#include <vcl/window.hxx>
+#include <vcl/fixed.hxx>
#include "sfx2/sidebar/SidebarToolBox.hxx"
@@ -57,6 +57,7 @@ public:
protected:
SidebarToolBox maToolBox;
+ ::rtl::OUString msTitle;
virtual Rectangle GetTitleArea (const Rectangle& rTitleBarBox) = 0;
virtual void PaintDecoration (const Rectangle& rTitleBarBox) = 0;
@@ -64,9 +65,9 @@ protected:
virtual sidebar::Paint GetBackgroundPaint (void) = 0;
virtual Color GetTextColor (void) = 0;
virtual void HandleToolBoxItemClick (const sal_uInt16 nItemIndex);
+ virtual cssu::Reference<css::accessibility::XAccessible> CreateAccessible (void);
private:
- ::rtl::OUString msTitle;
Image maIcon;
void PaintTitle (const Rectangle& rTitleBox);
More information about the Libreoffice-commits
mailing list