acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
menu.h
1
// From base/menu/menu.h (user::menu) to
2
// aura/menu/menu.h (menu::menu) more like an
3
// interface of a menu by camilo on
4
// 2024-06-24 08:26 <3ThomasBorregaardSorensen!!
5
#pragma once
6
7
8
namespace
menu
9
{
10
11
12
class
CLASS_DECL_ACME menu :
13
virtual
public
::particle
14
{
15
public
:
16
17
18
// ::pointer<::menu::menu> m_pmenuParent;
19
// ::pointer<::menu::item> m_pmenuitem;
20
// ::i32_size m_sizeMinimum;
21
// ::pointer<::menu::item> m_pmenuitemShowSubMenu2;
22
// bool m_bHideSubMenu2;
23
// ::pointer<::channel> m_pchannelNotify;
24
// bool m_bCloseParentOnClose;
25
// bool m_bOwnItem;
26
// ::i32_size m_size;
27
// ::f64 m_dCheckBoxSize;
28
// bool m_bAutoDelete;
29
// ::f64 m_dHeaderHeight;
30
// ::pointer<::menu::item> m_pitemClose;
31
// ::i32 m_iHoverSubMenu;
32
// ::u32 m_dwOut;
33
// ::pointer<menu> m_pmenuSubMenu;
34
// i32_point m_pointTrack;
35
// bool m_bUsePositionHint;
36
// i32_point m_pointPositionHint;
37
// ::i32 m_iFlags;
38
// bool m_bPositionHint;
39
// bool m_bInline;
40
// bool m_bMenuOk;
41
// ::pointer<::menu::item> m_pmenuitemSub;
42
// ::i32_array_base m_iaColumnWidth;
43
// ::i32_array_base m_iaColumnHeight;
44
// bool m_bCloseButton;
45
//
46
47
menu();
48
~menu()
override
;
49
//
50
// ::i32_size get_window_minimum_size() override;
51
//
52
// bool is_menu() const override;
53
//
54
// virtual ::channel * get_notify_channel();
55
//
56
// ::menu::item * GetSubMenu(::i32 i);
57
//
58
// virtual void defer_initialize_user_menu();
59
// virtual void initialize_user_menu();
60
//
61
// //virtual void layout_menu(::draw2d::graphics_pointer& pgraphics);
62
//
63
// virtual bool contains_menu_item(::menu::item * pitem, bool bRecursive = true) const;
64
//
65
// virtual void update_flags(::i32 iFlags);
66
// virtual void update_position(const ::i32_point & point);
67
// virtual void hints(::i32 iFlags, const ::i32_point & point);
68
//
69
// virtual bool create_menu(::channel * pchannelNotify = nullptr, ::user::interaction * puiParent = nullptr);
70
// virtual bool create_inline_menu(::channel* pchannelNotify = nullptr, ::user::interaction * puiParent = nullptr);
71
// virtual bool track_popup_menu(::channel* pchannelNotify = nullptr, ::user::interaction * puiParent = nullptr);
72
//
73
// void operator()(::timer * ptimer) override;
74
//
75
// void _001OnDraw(::draw2d::graphics_pointer & pgraphics) override;
76
//
77
//
78
// virtual void show_sub_menu(::menu::item * pmenuitem);
79
// virtual void hide_sub_menu();
80
//
81
//
82
// virtual void show_sub_menu_delayed(::menu::item * pmenuitem);
83
// virtual void hide_sub_menu_delayed();
84
//
85
//
86
// virtual void detach_sub_menu();
87
//
88
//
89
// DECLARE_MESSAGE_HANDLER(on_message_left_button_down);
90
// DECLARE_MESSAGE_HANDLER(on_message_create);
91
// DECLARE_MESSAGE_HANDLER(on_message_destroy);
92
// DECLARE_MESSAGE_HANDLER(_001OnNcActivate);
93
// DECLARE_MESSAGE_HANDLER(on_message_non_client_calculate_size);
94
// DECLARE_MESSAGE_HANDLER(_001OnEnable);
95
// DECLARE_MESSAGE_HANDLER(on_message_show_window);
96
// DECLARE_MESSAGE_HANDLER(on_message_close);
97
// DECLARE_MESSAGE_HANDLER(_001OnMouseActivate);
98
// DECLARE_MESSAGE_HANDLER(_001OnActivate);
99
// DECLARE_MESSAGE_HANDLER(_001OnNcCreate);
100
//
101
//
102
// void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
103
//
104
// bool on_click(::item * pitem) override;
105
//
106
// bool pre_create_window(::user::system * pusersystem) override;
107
//
108
// void install_message_routing(::channel * pchannel) override;
109
//
110
// ::pointer<::menu::item>get_menu_item();
111
//
112
// //::pointer<::menu::item>get_menu_item(::user::interaction * pinteraction);
113
//
114
// //bool has_pending_graphical_update() override;
115
//
116
// virtual bool create_menu(const string_array_base & straCommand, const string_array_base & straCommandTitle);
117
//
118
// void destroy() override;
119
//
120
// virtual bool add_menu(::xml::node * pnode);
121
//
122
// virtual bool load_xml_menu(const ::payload & payload);
123
//
124
// //virtual bool add_xml_menu(const ::payload & varXml);
125
//
126
// virtual void update_command(::menu::item * pitemParent);
127
//
128
// void calc_size(::menu::item * pitem, ::draw2d::graphics_pointer & pgraphics, ::i32 & iMaxWidth, ::i32 & iMaxHeight);
129
// void layout_buttons(::menu::item * pitem, ::i32 iMaxWidth, ::i32_rectangle * prectangle, const ::i32_rectangle & lpcrectBound);
130
//
131
//
132
//
133
// virtual void defer_close();
134
//
135
// virtual ::pointer<::user::menu_interaction>create_menu_button(::draw2d::graphics_pointer & pgraphics, ::menu::item * pitem);
136
//
137
// void route_command(::message::command* pcommand, bool bRouteToKeyDescendant) override;
138
//
139
// //// <3ThomasBorregaardSorensen__!!
140
// void handle_command(const ::atom& atom) override;
141
//
142
//
143
// void on_perform_top_down_layout(::draw2d::graphics_pointer & pgraphics) override;
144
145
146
};
147
148
149
}
// namespace user
150
151
152
user
menu
menu.h
Generated by
1.17.0