acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
container.h
1// Now based on ::item_container and also named item_container from own user::container by camilo on 2023-07-21 12:07 <3ThomasBorregaardSorensen!!
2// Created by camilo on 2023-07-18 13:46 <3ThomasBorregaardSorensen!!
3#pragma once
4
5
6#include "item_base.h"
7#include "acme/user/user/item.h"
8#include "acme/handler/item_container_map.h"
9
10
11namespace user
12{
13
14
15 class CLASS_DECL_ACME acme_container :
16 virtual public ::item_container_map
17 {
18 public:
19
20
21 ::user::item_base_map m_useritembasemap;
22 ::pointer < acme_tool > m_pacmetool;
23 ::pointer < acme_content > m_pacmecontentMain;
24 ::item_pointer m_pitemHover;
25 ::item_pointer m_pitemPressed;
26
27
28 acme_container();
29 ~acme_container() override;
30
31
32 virtual ::pointer < ::user::item_base > allocate_user_item_base(const ::item * pitem);
33
34
35 void destroy() override;
36
37
38 bool _is_set() const override;
39
40
41 inline acme_tool & tool() { if (!m_pacmetool) create_tool(); return *m_pacmetool; }
42 inline acme_content & main_content() { if (!m_pacmecontentMain) create_main_content(); return *m_pacmecontentMain; }
43
44
45 virtual void create_tool();
46 virtual void create_main_content();
47
48
49
50 virtual bool is_item_pressed(const ::item_t & item) const;
51 virtual bool is_item_hover(const ::item_t & item) const;
52
53 virtual ::item_pointer pressed_item();
54 virtual ::item_pointer hover_item();
55 virtual ::item_pointer selected_item();
56
57 //virtual ::collection::count item_count() const;
58
59 //virtual void clear_items();
60
61 //virtual ::item * item_at(::collection::index iIndex);
62
63 //virtual void default_set_item_at(::collection::index iIndex, ::item * pitem);
64
65 //virtual void default_add_item(::item * pitem);
66
67 //virtual ::collection::index add_item(::item * pitem);
68
69 //virtual ::item_pointer add_item(const ::item_t & item);
70
71 //virtual ::user::item * user_item_at(::collection::index iIndex);
72
73 //virtual ::collection::index item_index(const ::item * pitem);
74
75 //virtual ::collection::index content_item_index(const ::item * pitem);
76
77 virtual ::user::item_base * user_item_base(const ::item * pitem);
78
79 inline ::user::item * user_item(const ::item * pitem)
80 {
81
82 auto puseritembase = user_item_base(pitem);
83
84 auto puseritem = puseritembase->m_puseritem;
85
86 return puseritem;
87
88 }
89
90 //virtual ::user::item * user_item(const ::atom & atom);
91
92 //virtual ::item_pointer item(const ::atom & atom);
93
94 //virtual ::item_pointer item(const item_t & item);
95
96 //virtual ::item_pointer defer_item(const item_t & item);
97
98 //virtual ::collection::index item_index() const;
99
100 //static ::collection::index item_index(::item_array * pitema, const ::atom & atom);
101
102 //virtual ::collection::index item_index(const ::atom & atom) const;
103
104 //virtual bool is_item_pressed(const ::atom & atom) const;
105
106 //virtual bool is_item_hover(const ::atom & atom) const;
107
108 //virtual bool is_item_pressed_by_index(::collection::index iIndex) const;
109
110 //virtual bool is_item_hover_by_index(::collection::index iIndex) const;
111
112
113 virtual bool is_item_selected(::item * pitem);
114 //virtual ::item_pointer selected_item();
115
116 virtual bool is_item_hover(::item * pitem);
117 //virtual ::item_pointer hover_item();
118
119
120 //virtual void on_item_selected(::item * pitem);
121 virtual void on_item_hover(::item * pitem);
122
123 //virtual ::item_pointer get_child_as_item(::collection::index iIndex);
124 //virtual ::collection::count get_child_as_item_count();
125
126 virtual ::item_pointer on_create_stock_item(const ::e_element & eelement);
127 virtual ::item_pointer stock_item(const ::e_element & eelement);
128
129
130
131 };
132
133
134} // namespace user
135
136
137
Definition content.h:14
Definition tool.h:14
Definition aaa_item.h:13
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition _.h:67