#include "Layout.h"
#include "Length.h"
-#include <boost/shared_ptr.hpp>
+#include "support/shared_ptr.h"
#include <iosfwd>
#include <vector>
///
ALIGN_BLOCK,
///
+ ALIGN_DECIMAL,
+ ///
VALIGN_TOP,
///
VALIGN_BOTTOM,
///
LONGTABULAR_ALIGN_RIGHT,
///
+ SET_DECIMAL_POINT,
+ ///
LAST_ACTION
};
///
/* returns the maximum over all rows */
///
- int columnWidth(idx_type cell) const;
+ int cellWidth(idx_type cell) const;
///
int cellHeight(idx_type cell) const;
///
///
void setRowDescent(row_type row, int height);
///
- void setCellWidth(idx_type cell, int new_width);
- ///
void setTopLine(idx_type cell, bool line);
///
void setBottomLine(idx_type cell, bool line);
///
Length const getPWidth(idx_type cell) const;
///
- int cellWidth(idx_type cell) const;
- ///
int textHOffset(idx_type cell) const;
///
int textVOffset(idx_type cell) const;
///
// end longtable support
///
- boost::shared_ptr<InsetTableCell> cellInset(idx_type cell) const;
+ shared_ptr<InsetTableCell> cellInset(idx_type cell) const;
///
- boost::shared_ptr<InsetTableCell> cellInset(row_type row,
+ shared_ptr<InsetTableCell> cellInset(row_type row,
col_type column) const;
///
void setCellInset(row_type row, col_type column,
- boost::shared_ptr<InsetTableCell>) const;
+ shared_ptr<InsetTableCell>) const;
/// Search for \param inset in the tabular, with the
///
void validate(LaTeXFeatures &) const;
LyXAlignment alignment;
///
VAlignment valignment;
+ /// width of the part before the decimal
+ int decimal_hoffset;
+ /// width of the decimal part
+ int decimal_width;
+ ///
+ int voffset;
///
bool top_line;
///
///
Length p_width; // this is only set for multicolumn!!!
///
- boost::shared_ptr<InsetTableCell> inset;
+ shared_ptr<InsetTableCell> inset;
};
CellData & cellInfo(idx_type cell) const;
///
Length p_width;
///
docstring align_special;
+ ///
+ docstring decimal_point;
};
///
typedef std::vector<ColumnData> column_vector;
void updateIndexes();
///
bool setFixedWidth(row_type r, col_type c);
- ///
- void updateContentAlignment(row_type r, col_type c);
/// return true of update is needed
bool updateColumnWidths();
///
/// number of cells
size_t nargs() const { return tabular.numberofcells; }
///
- boost::shared_ptr<InsetTableCell const> cell(idx_type) const;
+ shared_ptr<InsetTableCell const> cell(idx_type) const;
///
- boost::shared_ptr<InsetTableCell> cell(idx_type);
+ shared_ptr<InsetTableCell> cell(idx_type);
///
Text * getText(int) const;
virtual bool usePlainLayout() const { return true; }
///
- virtual InsetTabular * asInsetTabular() { return this; }
+ InsetTabular * asInsetTabular() { return this; }
///
- virtual InsetTabular const * asInsetTabular() const { return this; }
+ InsetTabular const * asInsetTabular() const { return this; }
///
bool isRightToLeft(Cursor & cur) const;
/// writes the cells between stidx and enidx as a string, optionally
std::string const featureAsString(Tabular::Feature feature);
+/// Split cell on decimal symbol
+InsetTableCell splitCell(InsetTableCell & head, docstring const decimal_sym, bool & hassep);
+
} // namespace lyx
#endif // INSET_TABULAR_H