aboutsummaryrefslogtreecommitdiff
path: root/dw/table.hh
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-06-06 22:40:49 +0200
committerSebastian Geerken <devnull@localhost>2014-06-06 22:40:49 +0200
commit1480c8a1556ec5115b7dbf0f3253c6a61033ad55 (patch)
treeb53c5acf21b29553dbc6ac5d63f10a5a05808029 /dw/table.hh
parent723e3b247f0360f0bb583799a06642824c384d81 (diff)
Much work on table widget.
Diffstat (limited to 'dw/table.hh')
-rw-r--r--dw/table.hh24
1 files changed, 10 insertions, 14 deletions
diff --git a/dw/table.hh b/dw/table.hh
index f49d3014..571d61d1 100644
--- a/dw/table.hh
+++ b/dw/table.hh
@@ -10,6 +10,11 @@ namespace dw {
/**
* \brief A Widget for rendering tables.
*
+ * <div style="border: 2px solid #ff0000; margin-top: 0.5em;
+ * margin-bottom: 0.5em; padding: 0.5em 1em;
+ * background-color: #ffefe0"><b>Warning:</b> Some parts of this
+ * description are outdated since \ref dw-grows.</div>
+ *
* <h3>Introduction</h3>
*
* The dw::Table widget is used to render HTML tables.
@@ -383,20 +388,10 @@ private:
* If a Cell has rowspan > 1, it goes into this array
*/
lout::misc::SimpleVector<int> *rowSpanCells;
- /**
- * If a Cell has colspan > 1, it goes into this array
- */
- lout::misc::SimpleVector<int> *colSpanCells;
lout::misc::SimpleVector<int> *baseline;
lout::misc::SimpleVector<core::style::Style*> *rowStyle;
- /**
- * hasColPercent becomes true when any cell specifies a percentage width.
- */
- int hasColPercent;
- lout::misc::SimpleVector<core::style::Length> *colPercents;
-
inline bool childDefined(int n)
{
return n < children->size() && children->get(n) != NULL &&
@@ -405,15 +400,14 @@ private:
void reallocChildren (int newNumCols, int newNumRows);
- void calcCellSizes ();
- void forceCalcCellSizes ();
+ void calcCellSizes (bool calcHeights);
+ void forceCalcCellSizes (bool calcHeights);
void apportionRowSpan ();
void calcColumnExtremes ();
void forceCalcColumnExtremes ();
- void apportion2 (int totalWidth, int forceTotalWidth);
- void apportion_percentages2 (int totalWidth, int forceTotalWidth);
+ void apportion2 (int totalWidth, bool forceTotalWidth);
void setCumHeight (int row, int value)
{
@@ -437,6 +431,8 @@ protected:
void sizeAllocateImpl (core::Allocation *allocation);
void resizeDrawImpl ();
+ int getAvailWidthOfChild (Widget *child);
+
bool isBlockLevel ();
void draw (core::View *view, core::Rectangle *area);