summaryrefslogtreecommitdiff
path: root/starmath/inc
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2019-05-14 12:03:48 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2019-05-23 07:00:56 +0200
commit2fdcd86ac08c0ed033398bdb85ed04b64f50c633 (patch)
tree059c02b7002998d57759305acf04455816611f52 /starmath/inc
parenta71c960754152fb7e8094cdf6190783e609c2b58 (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.hxx12
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();