#include "lyxlength.h"
#include "insets/insettext.h"
+#include <boost/shared_ptr.hpp>
+
#include <iosfwd>
#include <vector>
class InsetTabular;
-class LatexRunParams;
+class OutputParams;
/* The features the text class offers for tables */
/// constructor
LyXTabular(BufferParams const &, int columns_arg, int rows_arg);
- ///
- void setOwner(InsetTabular * inset);
/// Returns true if there is a topline, returns false if not
bool topLine(int cell, bool onlycolumn = false) const;
int getDescentOfRow(int row) const;
///
int getHeightOfTabular() const;
- /// Returns true if a complete update is necessary, otherwise false
+ ///
void setAscentOfRow(int row, int height);
- /// Returns true if a complete update is necessary, otherwise false
+ ///
void setDescentOfRow(int row, int height);
- /// Returns true if a complete update is necessary, otherwise false
+ ///
void setWidthOfCell(int cell, int new_width);
///
void setAllLines(int cell, bool line);
void read(Buffer const &, LyXLex &);
///
int latex(Buffer const &, std::ostream &,
- LatexRunParams const &) const;
+ OutputParams const &) const;
//
- int linuxdoc(Buffer const & buf, std::ostream & os) const;
+ int linuxdoc(Buffer const & buf, std::ostream & os,
+ OutputParams const &) const;
///
- int docbook(Buffer const & buf, std::ostream & os, bool mixcont) const;
+ int docbook(Buffer const & buf, std::ostream & os,
+ OutputParams const &) const;
///
- int ascii(Buffer const &, std::ostream &, int const depth,
+ int plaintext(Buffer const &, std::ostream &,
+ OutputParams const & runparams,
+ int const depth,
bool onlydata, unsigned char delim) const;
///
bool isMultiColumn(int cell) const;
///
// end longtable support
///
- InsetText & getCellInset(int cell) const;
+ boost::shared_ptr<InsetText> getCellInset(int cell) const;
///
- InsetText & getCellInset(int row, int column) const;
+ boost::shared_ptr<InsetText> getCellInset(int row, int column) const;
/// Search for \param inset in the tabular, with the
///
- int getCellFromInset(InsetOld const * inset) const;
+ int getCellFromInset(InsetBase const * inset) const;
///
int rows() const { return rows_; }
///
///
cellstruct(BufferParams const &);
///
+ cellstruct(cellstruct const &);
+ ///
+ cellstruct & operator=(cellstruct);
+ ///
+ void swap(cellstruct & rhs);
+ ///
int cellno;
///
int width_of_cell;
///
LyXLength p_width; // this is only set for multicolumn!!!
///
- InsetText inset;
+ boost::shared_ptr<InsetText> inset;
};
cellstruct & cellinfo_of_cell(int cell) const;
///
int TeXCellPostamble(std::ostream &, int cell) const;
///
int TeXLongtableHeaderFooter(std::ostream &, Buffer const & buf,
- LatexRunParams const &) const;
+ OutputParams const &) const;
///
bool isValidRow(int const row) const;
///
int TeXRow(std::ostream &, int const row, Buffer const & buf,
- LatexRunParams const &) const;
+ OutputParams const &) const;
///
// helper function for ASCII returns number of newlines
///
std::vector<unsigned int> const &) const;
///
int asciiPrintCell(Buffer const &, std::ostream &,
+ OutputParams const &,
int cell, int row, int column,
std::vector<unsigned int> const &,
bool onlydata) const;
/// auxiliary function for docbook
- int docbookRow(Buffer const & buf, std::ostream & os, int row) const;
+ int docbookRow(Buffer const & buf, std::ostream & os, int,
+ OutputParams const &) const;
private:
/// renumber cells after structural changes