LibHTML: Add is<T> helpers for the table-related LayoutNode subclasses

This commit is contained in:
Andreas Kling 2019-10-17 23:34:12 +02:00
parent 5e29238a49
commit b4c2621ed7
Notes: sideshowbarker 2024-07-19 11:39:28 +09:00
4 changed files with 24 additions and 0 deletions

View file

@ -50,6 +50,9 @@ public:
virtual bool is_block() const { return false; }
virtual bool is_replaced() const { return false; }
virtual bool is_box() const { return false; }
virtual bool is_table() const { return false; }
virtual bool is_table_row() const { return false; }
virtual bool is_table_cell() const { return false; }
bool has_style() const { return m_has_style; }
bool is_inline() const { return m_inline; }

View file

@ -10,5 +10,12 @@ public:
virtual void layout() override;
private:
virtual bool is_table() const override { return true; }
virtual const char* class_name() const override { return "LayoutTable"; }
};
template<>
inline bool is<LayoutTable>(const LayoutNode& node)
{
return node.is_table();
}

View file

@ -8,5 +8,12 @@ public:
virtual ~LayoutTableCell() override;
private:
virtual bool is_table_cell() const override { return true; }
virtual const char* class_name() const override { return "LayoutTableCell"; }
};
template<>
inline bool is<LayoutTableCell>(const LayoutNode& node)
{
return node.is_table_cell();
}

View file

@ -10,5 +10,12 @@ public:
virtual void layout() override;
private:
virtual bool is_table_row() const override { return true; }
virtual const char* class_name() const override { return "LayoutTableRow"; }
};
template<>
inline bool is<LayoutTableRow>(const LayoutNode& node)
{
return node.is_table_row();
}