class Spacing;
class UpdatableInset;
class VSpace;
+class WordLangTuple;
/**
///
void setLayout(BufferView *, string const & layout);
- /// used in setlayout
- void makeFontEntriesLayoutSpecific(Buffer const *, Paragraph * par);
-
/** increment depth over selection and make a total rebreak of those
paragraphs
*/
paragraphs */
void decDepth(BufferView *);
- /** Get the depth at current cursor position
- */
+ /// get the depth at current cursor position
int getDepth() const;
/** set font over selection and make a total rebreak of those
*/
void redoHeightOfParagraph(BufferView *, LyXCursor const & cursor);
- /** forces the redrawing of a paragraph. Needed when manipulating a
- right address box
- */
- void redoDrawingOfParagraph(BufferView *, LyXCursor const & cursor);
-
/** insert a character, moves all the following breaks in the
same Paragraph one to the right and make a little rebreak
*/
///
void insertInset(BufferView *, Inset * inset);
- /** Completes the insertion with a full rebreak.
- Returns true if something was broken. */
- bool fullRebreak(BufferView *);
+ /// Completes the insertion with a full rebreak
+ void fullRebreak(BufferView *);
///
mutable Row * need_break_row;
///
mutable int refresh_y;
///
- int refresh_height;
- ///
int refresh_width;
///
int refresh_x;
///
void status(BufferView *, text_status) const;
+ ///
+ Inset::RESULT dispatch(FuncRequest const & cmd);
+
private:
/** wether the screen needs a refresh,
starting with refresh_y
to the beginning of this word.
With SelectSelectedWord can this be highlighted really
*/
- string const selectNextWordToSpellcheck(BufferView *, float & value) const;
+ WordLangTuple const selectNextWordToSpellcheck(BufferView *, float & value) const;
///
void selectSelectedWord(BufferView *);
/// returns true if par was empty and was removed
void setCursorFromCoordinates(BufferView *, LyXCursor &,
int x, int y) const;
///
- void cursorUp(BufferView *) const;
+ void cursorUp(BufferView *, bool selecting = false) const;
///
- void cursorDown(BufferView *) const;
+ void cursorDown(BufferView *, bool selecting = false) const;
///
void cursorLeft(BufferView *, bool internal = true) const;
///
///
void cursorLeftOneWord(BufferView *) const;
///
- void cursorLeftOneWord(LyXCursor &) const;
- ///
void cursorRightOneWord(BufferView *) const;
///
void cursorUpParagraph(BufferView *) const;
/// Change the case of the word at cursor position.
void changeCase(BufferView *, TextCase action);
///
- void changeRegionCase(BufferView * bview,
- LyXCursor const & from,
- LyXCursor const & to,
- LyXText::TextCase action);
- ///
void transposeChars(BufferView &);
/** returns a printed row in a pixmap. The y value is needed to
///
void checkParagraph(BufferView *, Paragraph * par, lyx::pos_type pos);
///
- int numberOfCell(Paragraph * par, lyx::pos_type pos) const;
- ///
- void removeTableRow(LyXCursor & cursor) const;
- ///
- bool isEmptyTableCell() const;
- ///
- void toggleAppendix(BufferView *);
- ///
int workWidth(BufferView *) const;
///
int workWidth(BufferView *, Inset * inset) const;
///
mutable Row * lastrow;
+ ///
+ void cursorLeftOneWord(LyXCursor &) const;
+
+ ///
+ float getCursorX(BufferView *, Row *, lyx::pos_type pos,
+ lyx::pos_type last, bool boundary) const;
+ ///
+ void changeRegionCase(BufferView * bview,
+ LyXCursor const & from,
+ LyXCursor const & to,
+ LyXText::TextCase action);
+ /// used in setlayout
+ void makeFontEntriesLayoutSpecific(Buffer const *, Paragraph * par);
+
+ /** forces the redrawing of a paragraph. Needed when manipulating a
+ right address box
+ */
+ void redoDrawingOfParagraph(BufferView *, LyXCursor const & cursor);
+
/** Copybuffer for copy environment type.
Asger has learned that this should be a buffer-property instead
Lgb has learned that 'char' is a lousy type for non-characters
/// paint appendix marker
void paintRowAppendix(DrawRowParams & p);
+ /// paint page break marker. Returns its height.
+ int paintPageBreak(string const & label, int y, DrawRowParams & p);
+
/// paint env depth bar
void paintRowDepthBar(DrawRowParams & p);
public:
/** Updates all counters starting BEHIND the row. Changed paragraphs
* with a dynamic left margin will be rebroken. */
- void updateCounters(BufferView *, Row * row) const;
+ void updateCounters(BufferView *) const;
private:
///
void setCounter(Buffer const *, Paragraph * par) const;
+ ///
+ Inset::RESULT lfunAppendix(FuncRequest const & cmd);
/*
* some low level functions
/// draw a mark for foreign language, starting from orig_x
void drawForeignMark(DrawRowParams & p, float const orig_x, LyXFont const & orig_font);
/// draw an inset
- void drawInset(DrawRowParams & p, lyx::pos_type const pos);
+ bool drawInset(DrawRowParams & p, lyx::pos_type const pos);
/// draw new line marker
void drawNewline(DrawRowParams & p, lyx::pos_type const pos);
/// draw text
- void draw(DrawRowParams & p, lyx::pos_type & vpos);
+ bool draw(DrawRowParams & p, lyx::pos_type & vpos);
/// get the next breakpoint in a given paragraph
lyx::pos_type nextBreakPoint(BufferView *, Row const * row, int width) const;
///
lyx::pos_type beginningOfMainBody(Buffer const *, Paragraph const * par) const;
- /** Returns the left beginning of the text.
- This information cannot be taken from the layouts-objekt, because
- in LaTeX the beginning of the text fits in some cases
- (for example sections) exactly the label-width.
- */
+ /**
+ * Returns the left beginning of the text.
+ * This information cannot be taken from the layout object, because
+ * in LaTeX the beginning of the text fits in some cases
+ * (for example sections) exactly the label-width.
+ */
int leftMargin(BufferView *, Row const * row) const;
///
int rightMargin(Buffer const *, Row const * row) const;