diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-05-14 12:03:48 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-05-23 07:00:56 +0200 |
commit | 2fdcd86ac08c0ed033398bdb85ed04b64f50c633 (patch) | |
tree | 059c02b7002998d57759305acf04455816611f52 /starmath/inc | |
parent | a71c960754152fb7e8094cdf6190783e609c2b58 (diff) |
tdf#65587 SM add key navigation to ElementControl
This adds arrows + home + end key navigation.
The grid is handled like a list. For convenience Left + Up
and Right + Down keys work in the same way.
Change-Id: I757184e5161f2c7ac9b241294a5edc304c882497
Reviewed-on: https://gerrit.libreoffice.org/72792
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'starmath/inc')
-rw-r--r-- | starmath/inc/ElementsDockingWindow.hxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx index c98072143bdc..e102250652c0 100644 --- a/starmath/inc/ElementsDockingWindow.hxx +++ b/starmath/inc/ElementsDockingWindow.hxx @@ -78,22 +78,28 @@ class SmElementsControl : public Control virtual void MouseMove(const MouseEvent& rMEvt) override; virtual void RequestHelp(const HelpEvent& rHEvt) override; virtual void Resize() override; + virtual void GetFocus() override; + virtual void LoseFocus() override; + virtual void KeyInput(const KeyEvent& rKEvt) override; SmDocShell* mpDocShell; SmFormat maFormat; OString msCurrentSetId; - SmElement* mpCurrentElement; + sal_uInt16 m_nCurrentElement; + sal_uInt16 m_nCurrentRolloverElement; Link<SmElement&,void> maSelectHdlLink; std::vector< std::unique_ptr<SmElement> > maElementList; Size maMaxElementDimensions; bool mbVerticalMode; VclPtr< ScrollBar > mxScroll; - bool mbFirstPaintAfterLayout; + bool m_bFirstPaintAfterLayout; void addElement(const OUString& aElementVisual, const OUString& aElementSource, const OUString& aHelpText); - void addElements(const std::pair<const char*, const char*> aElementsArray[], sal_uInt16 size); + SmElement* current() const; + bool hasRollover() const { return m_nCurrentRolloverElement != SAL_MAX_UINT16; } + void stepFocus(const bool bBackward); void build(); |