X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTabular.h;h=78727b0f5cb12d32793dd0ce6d870a72d8edbb3c;hb=d8a6b5bfd0baa02a4ba03f8c9e9c618baf41b03f;hp=22d4a0fcae3a5170f50cdc60d1cc24a965d8455b;hpb=82309f0c2df9a10a119e3f3d5ce97c81b3113d69;p=lyx.git diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index 22d4a0fcae..78727b0f5c 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -67,7 +67,7 @@ class OutputParams; // // A helper struct for tables // -class Tabular { +class Tabular { public: /// enum Feature { @@ -239,8 +239,9 @@ public: static const idx_type npos = static_cast(-1); /// constructor - Tabular(BufferParams const &, col_type columns_arg, - row_type rows_arg); + Tabular(); + /// constructor + Tabular(Buffer const &, col_type columns_arg, row_type rows_arg); /// Returns true if there is a topline, returns false if not bool topLine(idx_type cell, bool wholerow = false) const; @@ -323,17 +324,17 @@ public: /// int getBeginningOfTextInCell(idx_type cell) const; /// - void appendRow(BufferParams const &, idx_type cell); + void appendRow(idx_type cell); /// void deleteRow(row_type row); /// - void copyRow(BufferParams const &, row_type); + void copyRow(row_type); /// - void appendColumn(BufferParams const &, idx_type cell); + void appendColumn(idx_type cell); /// void deleteColumn(col_type column); /// - void copyColumn(BufferParams const &, col_type); + void copyColumn(col_type); /// bool isFirstCellInRow(idx_type cell) const; /// @@ -347,23 +348,23 @@ public: /// idx_type numberOfCellsInRow(idx_type cell) const; /// - void write(Buffer const &, std::ostream &) const; + void write(std::ostream &) const; /// - void read(Buffer const &, Lexer &); + void read(Lexer &); /// - int latex(Buffer const &, odocstream &, OutputParams const &) const; + int latex(odocstream &, OutputParams const &) const; // - int docbook(Buffer const & buf, odocstream & os, OutputParams const &) const; + int docbook(odocstream & os, OutputParams const &) const; /// - void plaintext(Buffer const &, odocstream &, + void plaintext(odocstream &, OutputParams const & runparams, int const depth, - bool onlydata, unsigned char delim) const; + bool onlydata, char_type delim) const; /// bool isMultiColumn(idx_type cell) const; /// bool isMultiColumnReal(idx_type cell) const; /// - void setMultiColumn(Buffer *, idx_type cell, idx_type number); + void setMultiColumn(idx_type cell, idx_type number); /// idx_type unsetMultiColumn(idx_type cell); // returns number of new cells /// @@ -458,16 +459,16 @@ public: /// //private: /// - class cellstruct { + class CellData { public: /// - cellstruct(BufferParams const &); + CellData(Buffer const &); /// - cellstruct(cellstruct const &); + CellData(CellData const &); /// - cellstruct & operator=(cellstruct); + CellData & operator=(CellData); /// - void swap(cellstruct & rhs); + void swap(CellData & rhs); /// idx_type cellno; /// @@ -497,17 +498,17 @@ public: /// boost::shared_ptr inset; }; - cellstruct & cellinfo_of_cell(idx_type cell) const; + CellData & cellinfo_of_cell(idx_type cell) const; /// - typedef std::vector cell_vector; + typedef std::vector cell_vector; /// typedef std::vector cell_vvector; /// - class rowstruct { + class RowData { public: /// - rowstruct(); + RowData(); /// int ascent; /// @@ -537,17 +538,17 @@ public: bool endfoot; /// row of endlastfoot bool endlastfoot; - /// row for a pagebreak + /// row for a newpage bool newpage; }; /// - typedef std::vector row_vector; + typedef std::vector row_vector; /// - class columnstruct { + class ColumnData { public: /// - columnstruct(); + ColumnData(); /// LyXAlignment alignment; /// @@ -564,7 +565,7 @@ public: docstring align_special; }; /// - typedef std::vector column_vector; + typedef std::vector column_vector; /// idx_type numberofcells; @@ -596,7 +597,7 @@ public: ltType endlastfoot; /// - void init(BufferParams const &, row_type rows_arg, + void init(Buffer const &, row_type rows_arg, col_type columns_arg); /// void updateIndexes(); @@ -623,12 +624,11 @@ public: /// int TeXCellPostamble(odocstream &, idx_type cell) const; /// - int TeXLongtableHeaderFooter(odocstream &, Buffer const & buf, - OutputParams const &) const; + int TeXLongtableHeaderFooter(odocstream &, OutputParams const &) const; /// bool isValidRow(row_type const row) const; /// - int TeXRow(odocstream &, row_type const row, Buffer const & buf, + int TeXRow(odocstream &, row_type const row, OutputParams const &) const; /// // helper functions for plain text @@ -639,16 +639,22 @@ public: bool plaintextBottomHLine(odocstream &, row_type row, std::vector const &) const; /// - void plaintextPrintCell(Buffer const &, odocstream &, + void plaintextPrintCell(odocstream &, OutputParams const &, idx_type cell, row_type row, col_type column, std::vector const &, bool onlydata) const; /// auxiliary function for docbook - int docbookRow(Buffer const & buf, odocstream & os, row_type, - OutputParams const &) const; + int docbookRow(odocstream & os, row_type, OutputParams const &) const; + + /// change associated Buffer + void setBuffer(Buffer const & buffer) { buffer_ = &buffer; } + /// retrieve associated Buffer + Buffer const & buffer() const { return *buffer_; } private: + Buffer const * buffer_; + /// renumber cells after structural changes void fixCellNums(); }; @@ -663,21 +669,21 @@ public: /// ~InsetTabular(); /// - void read(Buffer const &, Lexer &); + void read(Lexer &); /// - void write(Buffer const &, std::ostream &) const; + void write(std::ostream &) const; /// - bool metrics(MetricsInfo &, Dimension &) const; + void metrics(MetricsInfo &, Dimension &) const; /// void draw(PainterInfo & pi, int x, int y) const; /// void drawSelection(PainterInfo & pi, int x, int y) const; /// - virtual docstring const editMessage() const; + docstring editMessage() const; /// EDITABLE editable() const { return HIGHLY_EDITABLE; } /// - bool insetAllowed(Inset::Code) const { return true; } + bool insetAllowed(InsetCode code) const; /// bool allowSpellCheck() const { return true; } /// @@ -689,18 +695,15 @@ public: /// DisplayType display() const { return tabular.isLongTabular() ? AlignCenter : Inline; } /// - int latex(Buffer const &, odocstream &, - OutputParams const &) const; + int latex(odocstream &, OutputParams const &) const; /// - int plaintext(Buffer const &, odocstream &, - OutputParams const &) const; + int plaintext(odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, odocstream &, - OutputParams const &) const; + int docbook(odocstream &, OutputParams const &) const; /// void validate(LaTeXFeatures & features) const; /// - Code lyxCode() const { return Inset::TABULAR_CODE; } + InsetCode lyxCode() const { return TABULAR_CODE; } /// get offset of this cursor slice relative to our upper left corner void cursorPos(BufferView const & bv, CursorSlice const & sl, bool boundary, int & x, int & y) const; @@ -732,24 +735,20 @@ public: // this should return true if we have a "normal" cell, otherwise false. // "normal" means without width set! /// should all paragraphs be output with "Standard" layout? - bool forceDefaultParagraphs(idx_type cell = 0) const; - + virtual bool allowParagraphCustomization(idx_type cell = 0) const; /// - void addPreview(graphics::PreviewLoader &) const; - + virtual bool forceEmptyLayout() { return true; } /// - Buffer const & buffer() const; + void addPreview(graphics::PreviewLoader &) const; - /// set the owning buffer - void buffer(Buffer const * buf); /// lock cell with given index - void edit(Cursor & cur, bool left); + void edit(Cursor & cur, bool front, EntryDirection entry_from); /// Inset * editXY(Cursor & cur, int x, int y); /// can we go further down on mouse click? bool descendable() const { return true; } // Update the counters of this inset and of its contents - virtual void updateLabels(Buffer const &, ParIterator const &); + void updateLabels(ParIterator const &); // // Public structures and variables @@ -767,7 +766,7 @@ protected: int scroll() const { return scx_; } private: - virtual Inset * clone() const; + Inset * clone() const; /// void drawCellLines(frontend::Painter &, int x, int y, row_type row, @@ -811,8 +810,6 @@ private: row_type row_start, row_type row_end, col_type col_start, col_type col_end) const; /// - Buffer const * buffer_; - /// mutable idx_type first_visible_cell; /// mutable int scx_;