acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
message_box_implementation.h
1//
2// conversation_message.hpp
3// acme
4//
5// Created by Camilo Sasuke Thomas Borregaard Soerensen on 01/Oct/22. 00:59
6// Copyright (c) 2022 Camilo Sasuke Thomas Borregaard Soerensen. All rights reserved.
7//
8#pragma once
9
10
11#include "acme/user/interface/message_box.h"
12#include "acme/user/implementation/dialog_implementation.h"
13
14
15namespace user_interface
16{
17
18
19// namespace user
20// {
21//
22//class message_box;
23//
24//
25//enum enum_dialog
26//{
27//
28// e_dialog_none,
29// e_dialog_message_box,
30//
31//
32//};
33//
34//
35//class dialog;
36//
37//
38//class CLASS_DECL_ACME dialog :
39//virtual public ::acme::user::interaction
40//{
41//public:
42//
43// enum_dialog m_edialog;
44// ::string m_strTitle;
45// ::payload m_payloadResult;
46// ::function<void(dialog *)> m_functionOnTimeOut;
47// ::function<void(const ::payload &)> m_functionOnDialogResult2;
48// class ::time m_timeShowStart;
49// class ::time m_timeTimeout;
50// class ::time m_timeCancelledTimeout;
51//
52// dialog();
53// ~dialog() override;
54//
55//
56// virtual ::string dialog_title() const;
57//
58//
59// virtual void display_dialog();
60// //virtual void display_dialog(::dialog * pdialog);
61// //virtual void display_dialog_and_wait_dialog_response(::dialog * pdialog);
62// //virtual void display_dialog(::dialog * pdialog);
63// virtual void display_dialog_and_wait_dialog_response();
64//
65//
66// virtual void set_dialog_result(const ::payload & payloadResult);
67//
68//
69// virtual void on_dialog_result(const ::payload & payloadResult);
70//
71//
72// //virtual message_box * get_message_box_payload();
73//
74// virtual class ::time dialog_time_remaining_from_timeout() const;
75// virtual class ::time dialog_timeout() const;
76// virtual ::string dialog_details() const;
77// virtual ::string_array_base dialog_details_icon_urls() const;
78//
79// // ::string dialog_title() const override;
80// //
81// //// using dialog::display_dialog;
82// // void display_dialog() override;
83// // void on_dialog_result(const ::payload & payloadResult) override;
84// //
85// //
86// // class ::time dialog_time_remaining_from_timeout() const override;
87// // class ::time dialog_timeout() const override;
88//
89//};
90
91
92//
93//class CLASS_DECL_ACME dialog_payload :
94// virtual public dialog
95//{
96//public:
97//
98//
99//
100//
101// dialog_payload();
102// ~dialog_payload() override;
103//
104//
105//
106//
107//};
108//
109
110//class CLASS_DECL_ACME dialog_reifier :
111// virtual public ::dialog
112//{
113//public:
114//
115//
116// ::pointer < ::dialog > m_pdialog;
117//
118// dialog_reifier();
119// ~dialog_reifier() override;
120//
121//
122// ::string dialog_title() const override;
123//
124//
125// void display_dialog() override;
126// //void display_dialog(::dialog * pdialog) override;
127//
128//
129// void set_dialog_result(const ::payload & payloadResult) override;
130//
131//
132// class ::time dialog_time_remaining_from_timeout() const override;
133// class ::time dialog_timeout() const override;
134//
135//
136// message_box_payload * get_message_box_payload() override;
137//
138//
139//
140//};
141//
142
143class CLASS_DECL_ACME message_box_implementation :
144//virtual public ::realizable < message_box >,
147{
148public:
149
150
151
152
153 bool m_bDetails = false;
154 string m_strMessage;
155 string m_strTitle;
156 ::user::e_message_box m_emessagebox;
157 string m_strDetails;
158 ::string m_strDetailsTitle;
159 ::string_array m_straDetailsIconUrl;
160 ::pointer < ::nano::graphics::icon > m_picon2;
161 ::string_array m_straIconUrl;
162 ::pointer < ::user::activation_token > m_puseractivationtoken;
163 ::function<void(::user_interface::message_box *)> m_functionOnMessageBoxResult;
164 ::pointer<::nano::graphics::icon> m_picon;
165
166
167
168
169
170 //message_box_payload(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = {}, const ::user::e_message_box & emessagebox = {}, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr);
171 //message_box(const ::scoped_string &scopedstrMessage, const ::scoped_string &scopedstrTitle = {},
172 // const ::user::e_message_box &emessagebox = {}, const ::scoped_string &scopedstrDetails = nullptr,
173 // const ::string_array_base &straIconUrl = {});
174 //message_box(const ::exception & exception, const ::scoped_string & strMoreDetails);
175 //message_box(const ::exception &exception, const ::scoped_string &strMessage,
176 // const ::scoped_string &scopedstrTitle, const ::user::e_message_box &emessagebox = {},
177 // const ::scoped_string &scopedstrDetails = nullptr, const ::string_array_base &straIconUrl = {});
178 message_box_implementation();
179 ~message_box_implementation() override;
180
181
182
183
184 virtual void initialize_message_box(const ::scoped_string &scopedstrMessage, const ::scoped_string &scopedstrTitle = {},
185 const ::user::e_message_box &emessagebox = {}, const ::scoped_string &scopedstrDetails = nullptr,
186 const ::string_array_base &straIconUrl = {});
187 virtual void initialize_message_box(const ::exception & exception, const ::scoped_string & strMoreDetails);
188 virtual void initialize_message_box(const ::exception &exception, const ::scoped_string &strMessage,
189 const ::scoped_string &scopedstrTitle, const ::user::e_message_box &emessagebox = {},
190 const ::scoped_string &scopedstrDetails = nullptr, const ::string_array_base &straIconUrl = {});
191
192
193
194 ::function < void (::user_interface::message_box *) > & message_box_response_callback() override;
195
196 //virtual void _001InitializeMessageBox();
197
198 void set_user_activation_token(user::activation_token *puseractivationtoken) override;
199
200 ::i32_rectangle initial_frame_rectangle() override;
201
202 ::string get_message() const override;
203 ::string get_title() const override;
204
205 ::string dialog_details_title() const override;
206
207 ::user::e_message_box get_emessagebox() const override;
208
209 virtual void _001InitializeMessageBox();
211//void set_dialog_response(const ::payload &payloadResult) override;
212 //void on_di
213 //
214 //#ifdef _DEBUG
215 // ::i64 increment_reference_count() override;
216 // ::i64 decrement_reference_count() override;
217 //#endif
218
219 //virtual ::string get_conversation_message();
220 //virtual ::string get_conversation_title();
221 //virtual ::user::e_message_box get_conversation_flags();
222 //virtual ::string get_conversation_details();
223 //virtual ::payload get_conversation_result();
224
225 //message_box_payload *get_message_box_payload() override;
226
228
229
230
231 void on_timed_out() override;
232
233 ::string dialog_details() const override;
234
235 ::string_array_base dialog_details_icon_urls() const override;
236
237 ::string_array_base & dialog_details_icon_urls() override;
238
239
240 void set_dialog_details_title(const ::scoped_string & scopedstrTitle) override;
241 virtual void add_button(const ::scoped_string & scopedstrTitle, enum_dialog_result edialogresult, ::i8 chLetter);
242
243// void display_dialog() override;
244 //virtual void async();
245 //virtual void sync();
246
247 //::payload do_synchronously(const class time & timeWait) override;
248 //void do_asynchronously() override;
249
252 void run() override;
253 //void complete_aggregation(sequence * psequence) override;
254 //
255
256 void on_dialog_response(const ::payload &payloadResult) override;
257
258};
259
260
261
262//} // namespace user
263
264} // namespace user_interface
Definition _template_forward_declaration.h:297
Definition payload.h:54
Definition dialog_implementation.h:56
::payload get_dialog_response() override
void _on_draw(::nano::graphics::context * pgraphicscontext) override;
Definition message_box_implementation.cpp:867
void run() override
Definition message_box_implementation.cpp:790
Definition message_box.h:145