X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTabular.h;h=96db31a934a7be437137145ef5374f3cf9f191e9;hb=2203d7aa0a8e9d64666498fb26eb17f699c2f52b;hp=b6cb46109b77b0e3513e7894305108acf48f8b77;hpb=1e670846666ceaf10bafdacdf7bbbe83d7af0124;p=lyx.git diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h index b6cb46109b..96db31a934 100644 --- a/src/insets/InsetTabular.h +++ b/src/insets/InsetTabular.h @@ -28,7 +28,7 @@ #include "Layout.h" #include "Length.h" -#include +#include "support/shared_ptr.h" #include #include @@ -96,6 +96,8 @@ public: /// ALIGN_BLOCK, /// + ALIGN_DECIMAL, + /// VALIGN_TOP, /// VALIGN_BOTTOM, @@ -190,6 +192,8 @@ public: /// LONGTABULAR_ALIGN_RIGHT, /// + SET_DECIMAL_POINT, + /// LAST_ACTION }; /// @@ -280,7 +284,7 @@ public: /* returns the maximum over all rows */ /// - int columnWidth(idx_type cell) const; + int cellWidth(idx_type cell) const; /// int cellHeight(idx_type cell) const; /// @@ -300,8 +304,6 @@ public: /// 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); @@ -339,8 +341,6 @@ public: /// 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; @@ -451,13 +451,13 @@ public: /// // end longtable support /// - boost::shared_ptr cellInset(idx_type cell) const; + shared_ptr cellInset(idx_type cell) const; /// - boost::shared_ptr cellInset(row_type row, + shared_ptr cellInset(row_type row, col_type column) const; /// void setCellInset(row_type row, col_type column, - boost::shared_ptr) const; + shared_ptr) const; /// Search for \param inset in the tabular, with the /// void validate(LaTeXFeatures &) const; @@ -490,6 +490,12 @@ public: 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; /// @@ -507,7 +513,7 @@ public: /// Length p_width; // this is only set for multicolumn!!! /// - boost::shared_ptr inset; + shared_ptr inset; }; CellData & cellInfo(idx_type cell) const; /// @@ -568,6 +574,8 @@ public: Length p_width; /// docstring align_special; + /// + docstring decimal_point; }; /// typedef std::vector column_vector; @@ -612,8 +620,6 @@ public: 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(); /// @@ -805,9 +811,9 @@ public: /// number of cells size_t nargs() const { return tabular.numberofcells; } /// - boost::shared_ptr cell(idx_type) const; + shared_ptr cell(idx_type) const; /// - boost::shared_ptr cell(idx_type); + shared_ptr cell(idx_type); /// Text * getText(int) const; @@ -865,9 +871,9 @@ public: 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 @@ -942,6 +948,9 @@ private: 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