- ///
- int GetWidthOfCell(int cell);
- ///
- int GetBeginningOfTextInCell(int cell);
-
- ///
- void AppendRow(int cell);
- ///
- void DeleteRow(int cell);
-
- ///
- void AppendColumn(int cell);
- ///
- void DeleteColumn(int cell);
-
- ///
- bool IsFirstCell(int cell);
- ///
- bool IsLastCell(int cell);
-
- ///
- int GetNumberOfCells();
- ///
- int AppendCellAfterCell(int append_cell, int question_cell);
- ///
- int DeleteCellIfColumnIsDeleted(int cell, int delete_column_cell);
- ///
- int NumberOfCellsInRow(int cell);
- ///
- void Reinit();
+ enum {
+ CELL_NORMAL = 0,
+ CELL_BEGIN_OF_MULTICOLUMN = 1,
+ CELL_PART_OF_MULTICOLUMN = 2
+ };
+ /* konstruktor */
+ ///
+ LyXTable(int columns_arg, int rows_arg, Buffer *buf = 0);
+ ///
+ ///
+ LyXTable(LyXTable const &, Buffer *buf = 0);
+ ///
+ explicit
+ LyXTable(LyXLex & lex, Buffer *buf = 0);
+ ///
+ ~LyXTable();
+ ///
+ LyXTable & operator=(LyXTable const &);
+ ///
+ LyXTable * Clone();
+
+ /// Returns true if there is a topline, returns false if not
+ bool TopLine(int cell);
+ /// Returns true if there is a topline, returns false if not
+ bool BottomLine(int cell);
+ /// Returns true if there is a topline, returns false if not
+ bool LeftLine(int cell);
+ /// Returns true if there is a topline, returns false if not
+ bool RightLine(int cell);
+
+ ///
+ bool TopAlreadyDrawed(int cell);
+ ///
+ bool VeryLastRow(int cell);
+
+ ///
+ int AdditionalHeight(int cell);
+ ///
+ int AdditionalWidth(int cell);
+
+ /* returns the maximum over all rows */
+ ///
+ int WidthOfColumn(int cell);
+ ///
+ int WidthOfTable();
+ ///
+ int AscentOfRow(int row);
+ ///
+ int DescentOfRow(int row);
+ ///
+ int HeightOfTable();
+ ///
+ void SetAscentOfRow(int row, int height);
+ ///
+ void SetDescentOfRow(int row, int height);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetWidthOfCell(int cell, int new_width);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetAllLines(int cell, bool line);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetTopLine(int cell, bool line);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetBottomLine(int cell, bool line);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetLeftLine(int cell, bool line);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetRightLine(int cell, bool line);
+ /// Returns true if a complete update is necessary, otherwise false
+ bool SetAlignment(int cell, char align);
+ ///
+ bool SetPWidth(int cell, string width);
+ ///
+ bool SetAlignSpecial(int cell, string special, int what);
+ ///
+ char GetAlignment(int cell); // add approp. signedness
+ ///
+ string GetPWidth(int cell);
+ ///
+ string GetAlignSpecial(int cell, int what);
+
+ ///
+ int GetWidthOfCell(int cell);
+ ///
+ int GetBeginningOfTextInCell(int cell);
+
+ ///
+ void AppendRow(int cell);
+ ///
+ void DeleteRow(int cell);
+
+ ///
+ void AppendColumn(int cell);
+ ///
+ void DeleteColumn(int cell);
+
+ ///
+ bool IsFirstCell(int cell);
+ ///
+ bool IsLastCell(int cell);
+
+ ///
+ int GetNumberOfCells();
+ ///
+ int AppendCellAfterCell(int append_cell, int question_cell);
+ ///
+ int DeleteCellIfColumnIsDeleted(int cell, int delete_column_cell);
+ ///
+ int NumberOfCellsInRow(int cell);
+ ///
+ void Reinit();