diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-21 13:43:11 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-21 13:43:11 +0200 |
commit | 8d3cd06bdf2a14e3275edc0987b91347b1ff9dd9 (patch) | |
tree | 512e9c943dba437ff84524b6886e72e9d37ca6ad /svtools/source/toolpanel/toolpaneldrawer.hxx | |
parent | 0582a263074e71bd849548f88a796f05d067cc00 (diff) |
sllidecopy: inject an artifical A11Y component into the A11Y object hierarchy, for ZoomText to actually read the tool panel deck drawers
Diffstat (limited to 'svtools/source/toolpanel/toolpaneldrawer.hxx')
-rw-r--r-- | svtools/source/toolpanel/toolpaneldrawer.hxx | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/svtools/source/toolpanel/toolpaneldrawer.hxx b/svtools/source/toolpanel/toolpaneldrawer.hxx index e088365176f4..f58726c2d247 100644 --- a/svtools/source/toolpanel/toolpaneldrawer.hxx +++ b/svtools/source/toolpanel/toolpaneldrawer.hxx @@ -34,6 +34,33 @@ namespace svt { //...................................................................................................................... + class ToolPanelDrawer; + //================================================================================================================== + //= DrawerVisualization + //================================================================================================================== + /** serves a single purpose - let ZoomText read the drawers ... + + Strange enough, ZoomText does not read the drawers when they get the focus (in none of the combinations + of AccessibleRoles I tried), except when it does have an AccessibleChild with the role LABEL. To "inject" + such a child into the A11Y hierarchy, we use this window here. + + (We could also inject the A11Y component on the A11Y level only, but this would mean additional code. With + this approach here, VCL/toolkit will take care of creating and maintaining the A11Y component for us.) + */ + class DrawerVisualization : public Window + { + public: + DrawerVisualization( ToolPanelDrawer& i_rParent ); + ~DrawerVisualization(); + + protected: + // Window overridables + virtual void Paint( const Rectangle& i_rBoundingBox ); + + private: + ToolPanelDrawer& m_rDrawer; + }; + //================================================================================================================== //= ToolPanelDrawer //================================================================================================================== @@ -48,11 +75,13 @@ namespace svt void SetExpanded( const bool i_bExpanded ); bool IsExpanded() const { return m_bExpanded; } + void Paint(); + protected: // Window overridables - virtual void Paint( const Rectangle& i_rBoundingBox ); virtual void GetFocus(); virtual void LoseFocus(); + virtual void Resize(); virtual void DataChanged( const DataChangedEvent& i_rEvent ); virtual void MouseButtonDown( const MouseEvent& i_rMouseEvent ); @@ -73,6 +102,7 @@ namespace svt private: ::std::auto_ptr< VirtualDevice > m_pPaintDevice; + DrawerVisualization m_aVisualization; bool m_bFocused; bool m_bExpanded; }; |