9class CLASS_DECL_ACME item_container :
15 ::item_pointer m_pitemCurrent;
16 ::pointer < ::item_array > m_pitema;
20 ~item_container()
override;
23 bool _is_set()
const override;
26 virtual ::collection::count item_count()
const;
28 virtual void clear_items();
32 virtual void indexed_set_item_at(::collection::index iIndex, ::item * pitem);
34 virtual void indexed_add_item(::item * pitem);
36 virtual ::collection::index add_item(::item * pitem);
38 virtual ::item_pointer add_item(const ::e_element & eelement, ::collection::index iItem = -1);
42 virtual ::collection::index item_index(const ::item * pitem);
45 inline ::item * item_at(::collection::index iIndex)
47 if (!m_pitema)
return nullptr;
48 return m_pitema->element_at(iIndex);
52 inline const ::item * item_at(::collection::index iIndex)
const
54 if (!m_pitema)
return nullptr;
55 return m_pitema->element_at(iIndex);
65 virtual ::item * item(const ::atom &
atom);
67 virtual const ::item * item(const ::atom &
atom)
const;
69 virtual bool contains_item(const ::atom &
atom)
const;
71 virtual ::item * find_item(const ::e_element & eelement, ::collection::index iItem = -1);
73 virtual ::item * defer_item(const ::e_element & eelement, ::collection::index iItem = -1);
75 virtual ::collection::index item_index()
const;
77 virtual ::collection::index item_index(const ::atom &
atom)
const;
84 virtual bool is_item_selected(::item * pitem);
85 virtual ::item * selected_item();
87 virtual bool is_item_hover(::item * pitem);
88 virtual ::item * hover_item();
91 virtual void on_item_selected(::item * pitem);
92 virtual void on_item_hover(::item * pitem);
94 virtual ::item * get_child_as_item(::collection::index iIndex);
95 virtual ::collection::count get_child_as_item_count();