*/
class InsetText : public UpdatableInset {
public:
+ ///
+ /// numbers need because of test if codeA < codeB
///
enum UpdateCodes {
///
NONE = 0,
///
- INIT,
+ CURSOR = 1,
///
- FULL,
+ CLEAR_FRAME = 2,
///
- CURSOR_PAR,
+ DRAW_FRAME = 4,
///
- CURSOR,
+ SELECTION = 8,
///
- SELECTION,
+ CURSOR_PAR = 16,
///
- DRAW_FRAME,
+ FULL = 32,
///
- CLEAR_FRAME
+ INIT = 64
};
///
enum DrawFrame {
///
~InsetText();
///
- Inset * Clone() const;
+ Inset * Clone(Buffer const &) const;
///
InsetText & operator=(InsetText const & it);
///
///
void update(BufferView *, LyXFont const &, bool =false);
///
+ void SetUpdateStatus(BufferView *, int what);
+ ///
string const EditMessage() const;
///
void Edit(BufferView *, int, int, unsigned int);
///
void InsetKeyPress(XKeyEvent *);
///
- UpdatableInset::RESULT LocalDispatch(BufferView *, int, string const &);
+ UpdatableInset::RESULT LocalDispatch(BufferView *, kb_action, string const &);
///
int Latex(Buffer const *, std::ostream &,
bool fragile, bool free_spc) const;
///
int Linuxdoc(Buffer const *, std::ostream &) const { return 0; }
///
- int DocBook(Buffer const *, std::ostream &) const { return 0; }
+ int DocBook(Buffer const *, std::ostream &) const ;
///
void Validate(LaTeXFeatures & features) const;
///
///
void GetCursorPos(BufferView *, int & x, int & y) const;
///
- int InsetInInsetY();
+ unsigned int InsetInInsetY();
///
void ToggleInsetCursor(BufferView *);
///
///
void SetParagraphData(LyXParagraph *);
///
+ void SetText(string const &);
+ ///
void SetAutoBreakRows(bool);
///
void SetDrawFrame(BufferView *, DrawFrame);
///
void SetFrameColor(BufferView *, LColor::color);
///
- LyXText * getLyXText(BufferView *) const;
+ LyXText * getLyXText(BufferView const *, bool const recursive=false) const;
///
void deleteLyXText(BufferView *, bool recursive=true) const;
///
///
LyXParagraph * par;
///
- mutable UpdateCodes need_update;
+ mutable int need_update;
protected:
///
- void UpdateLocal(BufferView *, UpdateCodes, bool mark_dirty);
+ void UpdateLocal(BufferView *, int what, bool mark_dirty);
///
mutable int drawTextXOffset;
///
///
int BeginningOfMainBody(Buffer const *, LyXParagraph * par) const;
///
- void ShowInsetCursor(BufferView *);
+ void ShowInsetCursor(BufferView *, bool show=true);
///
void HideInsetCursor(BufferView *);
///
UpdatableInset::RESULT moveLeft(BufferView *, bool activate_inset = true,
bool selecting = false);
///
+ UpdatableInset::RESULT moveRightIntern(BufferView *, bool behind,
+ bool activate_inset = true,
+ bool selecting = false);
+ ///
+ UpdatableInset::RESULT moveLeftIntern(BufferView *, bool behind,
+ bool activate_inset = true,
+ bool selecting = false);
+
+ ///
UpdatableInset::RESULT moveUp(BufferView *);
///
UpdatableInset::RESULT moveDown(BufferView *);
void removeNewlines();
///
- long cx(BufferView *) const;
+ int cx(BufferView *) const;
///
- long cy(BufferView *) const;
+ int cy(BufferView *) const;
///
- int cpos(BufferView *) const;
+ LyXParagraph::size_type cpos(BufferView *) const;
///
LyXParagraph * cpar(BufferView *) const;
///
+ bool cboundary(BufferView *) const;
+ ///
Row * crow(BufferView *) const;
/// This instead of a macro
///
mutable int insetAscent;
///
- mutable long insetDescent;
+ mutable int insetDescent;
///
mutable int insetWidth;
///
///
LyXParagraph * inset_par;
///
- int inset_pos;
+ LyXParagraph::size_type inset_pos;
+ ///
+ bool inset_boundary;
///
mutable int inset_x;
///