mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Add introduction to cursor related classes, written by JMarc.
This commit is contained in:
parent
878a86ff46
commit
b76b6575bd
41
src/Cursor.h
41
src/Cursor.h
@ -9,6 +9,47 @@
|
|||||||
* Full author contact details are available in file CREDITS.
|
* Full author contact details are available in file CREDITS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
First some explanation about what a Cursor really is. I try to go from
|
||||||
|
more local to general.
|
||||||
|
|
||||||
|
* a CursorSlice indicates the position of the cursor at local level.
|
||||||
|
It contains in particular:
|
||||||
|
* idx(): the cell that contains the cursor (for Tabular or math
|
||||||
|
arrays). Always 0 for 'plain' insets
|
||||||
|
* pit(): the index of the current paragraph (only for Texted)
|
||||||
|
* pos(): the position in the current paragraph (or in the math
|
||||||
|
equation in Mathed).
|
||||||
|
* inset(): the inset in which the cursor is.
|
||||||
|
|
||||||
|
* a DocIterator indicated the position of the cursor in the document.
|
||||||
|
It knows about the current buffer (buffer() method) and contains a
|
||||||
|
vector of CursorSlices that describes the nesting of insets up to the
|
||||||
|
point of interest. Note that operator<< has been implemented, so that
|
||||||
|
one can send a DocIterator to a stream to see its value. Try it, it is
|
||||||
|
very helpful to understand the cursor layout.
|
||||||
|
* when using idx/pit/pos on a DocIterator, one gets the information
|
||||||
|
from the inner slice (this slice can be accessed as top())
|
||||||
|
* inMathed() returns true when the cursor is in a math formula
|
||||||
|
* inTexted() returns true when the cursor is in text
|
||||||
|
* innerTextSlice() returns the deepest slice that is text (useful
|
||||||
|
when one is in a math equation and looks for the enclosing text)
|
||||||
|
|
||||||
|
* A CursorData is a descendent of Dociterator that contains
|
||||||
|
* a second DocIterator object, the anchor, that is useful when
|
||||||
|
selecting.
|
||||||
|
* some other data not interesting here
|
||||||
|
This class is used only for undo and contains the Cursor element that
|
||||||
|
are not GUI-related. In LyX 2.0, Cursor was directly deriving from
|
||||||
|
DocIterator
|
||||||
|
|
||||||
|
* A Cursor is a descendant of CursorData that contains interesting
|
||||||
|
display-related information, in particular targetX(), the horizontal
|
||||||
|
position of the cursor in pixels.
|
||||||
|
* one interesting method for what you want to do is textRow(), that
|
||||||
|
returns the inner Row object that contains the cursor
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef LCURSOR_H
|
#ifndef LCURSOR_H
|
||||||
#define LCURSOR_H
|
#define LCURSOR_H
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user