#include "layout.h"
#include "LColor.h"
#include "insets/inset.h"
-#include "WordLangTuple.h"
class Buffer;
class BufferParams;
class Spacing;
class UpdatableInset;
class VSpace;
+class WordLangTuple;
/**
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 insertInset(BufferView *, Inset * inset);
- /** Completes the insertion with a full rebreak. */
+ /// Completes the insertion with a full rebreak
void fullRebreak(BufferView *);
///
///
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
*/
- WordLangTuple 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 backspace(BufferView *);
///
- void deleteWordForward(BufferView *);
- ///
- void deleteWordBackward(BufferView *);
- ///
- void deleteLineForward(BufferView *);
- ///
bool selectWordWhenUnderCursor(BufferView *,
word_location const);
///
bool gotoNextInset(BufferView *, std::vector<Inset::Code> const & codes,
string const & contents = string()) const;
///
+ void gotoInset(BufferView * bv, std::vector<Inset::Code> const & codes,
+ bool same_content);
+ ///
+ void gotoInset(BufferView * bv, Inset::Code code, bool same_content);
+ ///
/* for the greater insets */
///
void checkParagraph(BufferView *, Paragraph * par, lyx::pos_type pos);
///
- void toggleAppendix(BufferView *);
- ///
int workWidth(BufferView *) const;
///
int workWidth(BufferView *, Inset * inset) const;
private:
///
mutable Row * firstrow;
-
///
mutable Row * lastrow;
///
void cursorLeftOneWord(LyXCursor &) const;
+ ///
+ void cursorPrevious(BufferView * bv);
+ ///
+ void cursorNext(BufferView * bv);
///
float getCursorX(BufferView *, Row *, lyx::pos_type pos,
lyx::pos_type last, bool boundary) const;
///
- void changeRegionCase(BufferView * bview,
+ void changeRegionCase(BufferView * bv,
LyXCursor const & from,
LyXCursor const & to,
LyXText::TextCase action);
Lgb has learned that 'char' is a lousy type for non-characters
*/
string copylayouttype;
+
/** inserts a new row behind the specified row, increments
the touched counters */
void insertRow(Row * row, Paragraph * par, lyx::pos_type pos) const;
- /** removes the row and reset the touched counters */
+ /// removes the row and reset the touched counters
void removeRow(Row * row) const;
- /** remove all following rows of the paragraph of the specified row. */
+ /// remove all following rows of the paragraph of the specified row.
void removeParagraph(Row * row) const;
- /** insert the specified paragraph behind the specified row */
+ /// insert the specified paragraph behind the specified row
void insertParagraph(BufferView *,
Paragraph * par, Row * row) const;
// fix the cursor `cur' after a characters has been deleted at `where'
// position. Called by deleteEmptyParagraphMechanism
- void fixCursorAfterDelete(BufferView * bview,
+ void fixCursorAfterDelete(BufferView * bv,
LyXCursor & cur,
LyXCursor const & where) const;
/** Updates all counters starting BEHIND the row. Changed paragraphs
* with a dynamic left margin will be rebroken. */
void updateCounters(BufferView *) const;
+ ///
+ void update(BufferView * bv, bool changed = true);
+ /**
+ * Returns an inset if inset was hit, or 0 if not.
+ * If hit, the coordinates are changed relative to the inset.
+ */
+ Inset * checkInsetHit(BufferView * bv, int & x, int & y) const;
+
private:
///
void setCounter(Buffer const *, Paragraph * par) const;
+ ///
+ void deleteWordForward(BufferView *);
+ ///
+ void deleteWordBackward(BufferView *);
+ ///
+ void deleteLineForward(BufferView *);
/*
* some low level functions