summaryrefslogtreecommitdiff
path: root/svtools/source/toolpanel/toolpaneldrawer.hxx
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-21 13:43:11 +0200
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-21 13:43:11 +0200
commit8d3cd06bdf2a14e3275edc0987b91347b1ff9dd9 (patch)
tree512e9c943dba437ff84524b6886e72e9d37ca6ad /svtools/source/toolpanel/toolpaneldrawer.hxx
parent0582a263074e71bd849548f88a796f05d067cc00 (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.hxx32
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;
};