X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsettabular.h;h=1d358d53d468c297091d8e1f2ecdf827ed708a08;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=5d5af999f4c06ee5d951720f69d2069eb67a10c3;hpb=8dc8a363709d38a087532d6fe8b1c6f9d11aca4e;p=lyx.git diff --git a/src/insets/insettabular.h b/src/insets/insettabular.h index 5d5af999f4..1d358d53d4 100644 --- a/src/insets/insettabular.h +++ b/src/insets/insettabular.h @@ -56,7 +56,7 @@ #include "tabular.h" #include "LString.h" #include "lyxcursor.h" -#include "func_status.h" +#include "FuncStatus.h" class LyXLex; class Painter; @@ -102,6 +102,8 @@ public: /// void edit(BufferView *, int x, int y, unsigned int); /// + void edit(BufferView * bv, bool front = true); + /// bool doClearArea() const; /// void insetUnlock(BufferView *); @@ -123,15 +125,13 @@ public: /// bool insertInset(BufferView *, Inset *); /// - bool insertInsetAllowed(Inset *) const { - return the_locking_inset != 0; - } + bool insetAllowed(Inset::Code code) const; /// bool isTextInset() const { return true; } /// bool display() const { return tabular->IsLongTabular(); } /// - void insetButtonRelease(BufferView *, int, int, int); + bool insetButtonRelease(BufferView *, int, int, int); /// void insetButtonPress(BufferView *, int, int, int); /// @@ -148,7 +148,7 @@ public: /// int linuxdoc(Buffer const *, std::ostream &) const; /// - int docBook(Buffer const *, std::ostream &) const; + int docbook(Buffer const *, std::ostream &) const; /// void validate(LaTeXFeatures & features) const; /// @@ -183,11 +183,11 @@ public: /// bool showInsetDialog(BufferView *) const; /// - func_status::value_type getStatus(string const & argument) const; + FuncStatus getStatus(string const & argument) const; /// std::vector const getLabelList() const; /// - void nodraw(bool b) { + void nodraw(bool b) const { UpdatableInset::nodraw(b); } bool nodraw() const; @@ -208,8 +208,24 @@ public: /// Paragraph * firstParagraph() const; /// + Paragraph * getFirstParagraph(int) const; + /// LyXCursor const & cursor(BufferView *) const; + /// + bool allowSpellcheck() { return true; } + string const selectNextWordToSpellcheck(BufferView *, float & value) const; + void selectSelectedWord(BufferView *); + void toggleSelection(BufferView *, bool kill_selection); + /// + bool searchForward(BufferView *, string const &, + bool = true, bool = false); + bool searchBackward(BufferView *, string const &, + bool = true, bool = false); + // this should return true if we have a "normal" cell, otherwise true. + // "normal" means without width set! + bool forceDefaultParagraphs(Inset const * in) const; + // // Public structures and variables /// @@ -232,6 +248,8 @@ private: /// void hideInsetCursor(BufferView *); /// + void fitInsetCursor(BufferView *) const; + /// void setPos(BufferView *, int x, int y) const; /// UpdatableInset::RESULT moveRight(BufferView *, bool lock = true); @@ -245,8 +263,8 @@ private: bool moveNextCell(BufferView *, bool lock = false); /// bool movePrevCell(BufferView *, bool lock = false); - /// Delete what? - bool Delete(); + /// + bool deletable() const; /// int getCellXPos(int cell) const; /// @@ -255,11 +273,17 @@ private: void removeTabularRow(); /// bool hasSelection() const { - return sel_cell_start != sel_cell_end; + return has_selection; } /// void clearSelection() const { - sel_cell_start = sel_cell_end = 0; + sel_cell_start = sel_cell_end = 0; + has_selection = false; + } + void setSelection(int start, int end) const { + sel_cell_start = start; + sel_cell_end = end; + has_selection = true; } /// bool activateCellInset(BufferView *, int x = 0, int y = 0, @@ -283,7 +307,10 @@ private: /// bool isRightToLeft(BufferView *); /// - void getSelection(int & scol, int & ecol, int & srow, int & erow) const; + void getSelection(int & scol, int & ecol, + int & srow, int & erow) const; + /// + string selectNextWordInt(BufferView *, float & value) const; // // Private structures and variables @@ -299,9 +326,11 @@ private: mutable unsigned int inset_x; /// mutable unsigned int inset_y; - /// + /// true if a set of cells are selected + mutable bool has_selection; + /// the starting cell selection nr mutable int sel_cell_start; - /// + /// the ending cell selection nr mutable int sel_cell_end; /// mutable int actcell; @@ -319,5 +348,9 @@ private: mutable bool locked; /// mutable UpdateCodes need_update; + /// + bool in_update; + /// + mutable bool in_reset_pos; }; #endif