--- Comment #3 from V Stuart Foote <> ---
(In reply to Heiko Tietze from comment #2)
> Jay was right, we better have an extra ticket for the UX issue. 

Sorry I should also have included link to the navmgr.hxx.

Here is Maja's original description of the navigation history. When originaly
implemented the function tracked SwPosition--but Michael S. changed that to use
SwUnoCrsr (unocrsr.hxx) for more robust behavior [1]:

class SW_DLLPUBLIC SwNavigationMgr
* List of entries in the navigation history
* Each entry is a SwPosition, which represents a position within the document
* SwPosition is given by a node index (SwNodeIndex) which usually represents
the paragraph the position is in
* and an index (SwIndex), which represents the position inside this paragraph.
* You can find more on SwPositions at
* The navigation history behaves as a stack, to which items are added when we
jump to a new position
* (e.g. click a link, or double click an entry from the navigator).
* Every use of the back/forward buttons results in moving the stack pointer
within the navigation history

So, it seems the Navigation toolbar is a dedicated shell for Writer that tracks
movement through the UI and permits "back" button navigation of its stack with
some concept of "curency" of position in the history of movements. Provides a
helper in addition to other Navigator's by "mode" provided movements. 

For example the "reminder" mode (the Paper clip icon) keeps a separate stack of
Marks (to depth of MAX_MARKS default of 5)--but the NavigationMgr
m_aNavigationMgr receives and follows these swUnoCursr objects on its stack.
The modes provided in Navigator are specific for each flavor of events. 

IIUC the NavigationMgr exposes the movement events (that it is aware of)
[2]--and implements a toolbar with Back/Forward button controls to move among
all of them.

I think the buttons from the toolbar probably ought to have been added to the
Navigator from the beginning. The Navigator's current Previous/Next buttons
apply to the active Navigator mode--while the Navigation buttons draw events
from across the UI.  Is there a spot on the Navigator UI the more general
movements from the Navigation toolbar would make sense?

Likewise I think some of the movements in the sw UI ought to be exposed to the
Navigation toolbar's buttons but aren't--position to Top of document, End of
document, next Paragraph, next page, etc. This may need some additional dev
effort to 

Also, seems the same ability to navigate between cursor positions in the other
LO modules by Back/Forward button action would be a good enhancement if this is
the right framework to hang it off of.


You are receiving this mail because:
You are the assignee for the bug.
Libreoffice-bugs mailing list

Reply via email to