5 litehtml::element::ptr litehtml::elements_iterator::next(bool ret_parent)
9 while(m_idx < (int) m_el->get_children_count())
11 element::ptr el = m_el->get_child(m_idx);
12 if( el->get_children_count() && m_go_inside && m_go_inside->select(el) )
17 m_stack.push_back(si);
27 if( !m_select || (m_select && m_select->select(m_el->get_child(m_idx))) )
29 return m_el->get_child(m_idx);
40 void litehtml::elements_iterator::next_idx()
43 while(m_idx >= (int) m_el->get_children_count() && m_stack.size())
45 stack_item si = m_stack.back();
54 //////////////////////////////////////////////////////////////////////////
55 //////////////////////////////////////////////////////////////////////////
58 bool litehtml::go_inside_inline::select(const element::ptr& el)
60 if(el->get_display() == display_inline || el->get_display() == display_inline_text)
67 bool litehtml::go_inside_table::select(const element::ptr& el)
69 if( el->get_display() == display_table_row_group ||
70 el->get_display() == display_table_header_group ||
71 el->get_display() == display_table_footer_group)
78 bool litehtml::table_rows_selector::select(const element::ptr& el)
80 if( el->get_display() == display_table_row)
87 bool litehtml::table_cells_selector::select(const element::ptr& el)
89 if( el->get_display() == display_table_cell)