summaryrefslogtreecommitdiff
path: root/starmath/inc
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2019-05-17 02:38:43 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2019-05-23 07:02:45 +0200
commit73f8222109c3091d5119ed47eac5cad4a55b2212 (patch)
tree42ae5a80036c88ec7d10b92221c0927fddec578f /starmath/inc
parent2fdcd86ac08c0ed033398bdb85ed04b64f50c633 (diff)
tdf#65587 SM handle page keys in the ElementControl
The page handling implementation is a little bit tricky, because the elemnt list is not handled like a grid but a list. Normally one would keep the horizontal cell and just scroll vertically. Instead this implements a kind of circle. Vertical offset is consistet, so you have the same amount of steps for up and down, but up runs left and down runs right. Change-Id: I296a46e98f7e00a59fd0a0ba358c981b49ac86cd Reviewed-on: https://gerrit.libreoffice.org/72793 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'starmath/inc')
-rw-r--r--starmath/inc/ElementsDockingWindow.hxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx
index e102250652c0..874735a8a44f 100644
--- a/starmath/inc/ElementsDockingWindow.hxx
+++ b/starmath/inc/ElementsDockingWindow.hxx
@@ -99,7 +99,12 @@ class SmElementsControl : public Control
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 pageFocus(const bool bBackward);
+ // common code of page and step focus
+ inline void scrollToElement(const bool, const SmElement*);
+ inline sal_uInt16 nextElement(const bool, const sal_uInt16, const sal_uInt16);
void build();