acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_dialog.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//::particle_pointer particle::realize(::particle * pparticleReificator)
12//{
13//
14// return pparticleReificator->realize_particle(this);
15//
16//}
17//
18//
20//::particle_pointer particle::realize_particle(::particle * pparticleToRealize)
21//{
22//
23//
24//}
25//
26//
28
29
30#include "acme/prototype/prototype/realizable.h"
31#include "acme/handler/sequenceable.h"
32#include "acme/user/user/interaction.h"
33
34namespace acme {
35
36namespace user
37{
38
39class message_box;
40
41
42enum enum_dialog
43{
44
45 e_dialog_none,
46 e_dialog_message_box,
47
48
49};
50
51
52class CLASS_DECL_ACME dialog :
53virtual public ::acme::user::interaction
54{
55public:
56
57 enum_dialog m_edialog;
58 ::string m_strTitle;
59 ::payload m_payloadResult;
60 ::function<void(dialog *)> m_functionOnTimeOut;
61 ::function<void(const ::payload &)> m_functionOnDialogResult2;
62 class ::time m_timeShowStart;
63 class ::time m_timeTimeout;
64 class ::time m_timeCancelledTimeout;
65 ::pointer < ::manual_reset_happening > m_pmanualresethappeningDialogResponse;
66
67 dialog();
68 ~dialog() override;
69
70
71 virtual ::string dialog_title() const;
72
73
74 //virtual void display_dialog();
75 //virtual void display_dialog(::dialog * pdialog);
76 //virtual void display_dialog_and_wait_dialog_response(::dialog * pdialog);
77 //virtual void display_dialog(::dialog * pdialog);
78 virtual void wait_dialog_response(const class ::time & timeTimeout = ::time::infinity());
79
80
81 virtual void set_dialog_result(const ::payload & payloadResult);
82
83
84 virtual void on_dialog_result(const ::payload & payloadResult);
85
86
87 //virtual message_box * get_message_box_payload();
88
89 virtual class ::time dialog_time_remaining_from_timeout() const;
90 virtual class ::time dialog_timeout() const;
91 virtual ::string dialog_details() const;
92 virtual ::string_array_base dialog_details_icon_urls() const;
93
94 // ::string dialog_title() const override;
95 //
97 // void display_dialog() override;
98 // void on_dialog_result(const ::payload & payloadResult) override;
99 //
100 //
101 // class ::time dialog_time_remaining_from_timeout() const override;
102 // class ::time dialog_timeout() const override;
103
104};
105
106
107//
108//class CLASS_DECL_ACME dialog_payload :
109// virtual public dialog
110//{
111//public:
112//
113//
114//
115//
116// dialog_payload();
117// ~dialog_payload() override;
118//
119//
120//
121//
122//};
123//
124
125//class CLASS_DECL_ACME dialog_reifier :
126// virtual public ::dialog
127//{
128//public:
129//
130//
131// ::pointer < ::dialog > m_pdialog;
132//
133// dialog_reifier();
134// ~dialog_reifier() override;
135//
136//
137// ::string dialog_title() const override;
138//
139//
140// void display_dialog() override;
141// //void display_dialog(::dialog * pdialog) override;
142//
143//
144// void set_dialog_result(const ::payload & payloadResult) override;
145//
146//
147// class ::time dialog_time_remaining_from_timeout() const override;
148// class ::time dialog_timeout() const override;
149//
150//
151// message_box_payload * get_message_box_payload() override;
152//
153//
154//
155//};
156
157//
158//class CLASS_DECL_ACME message_box :
160//virtual public ::dialog
161//{
162//public:
163//
164//
165// bool m_bDetails = false;
166// string m_strMessage;
167// string m_strTitle;
168// ::user::e_message_box m_emessagebox;
169// string m_strDetails;
170// ::string m_strDetailsTitle;
171// ::string_array m_straDetailsIconUrl;
172// ::pointer < ::nano::graphics::icon > m_picon2;
173// ::string_array m_straIconUrl;
174// ::pointer < ::user::activation_token > m_puseractivationtoken;
175// ::function<void(::message_box *)> m_functionOnMessageBoxResult;
176//
177//
178// //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);
179// message_box(const ::scoped_string &scopedstrMessage, const ::scoped_string &scopedstrTitle = {},
180// const ::user::e_message_box &emessagebox = {}, const ::scoped_string &scopedstrDetails = nullptr,
181// const ::string_array_base &straIconUrl = {});
182// message_box(const ::exception & exception, const ::scoped_string & strMoreDetails);
183// message_box(const ::exception &exception, const ::scoped_string &strMessage,
184// const ::scoped_string &scopedstrTitle, const ::user::e_message_box &emessagebox = {},
185// const ::scoped_string &scopedstrDetails = nullptr, const ::string_array_base &straIconUrl = {});
186// ~message_box() override;
187// //
188// //#ifdef _DEBUG
189// // ::i64 increment_reference_count() override;
190// // ::i64 decrement_reference_count() override;
191// //#endif
192//
193// //virtual ::string get_conversation_message();
194// //virtual ::string get_conversation_title();
195// //virtual ::user::e_message_box get_conversation_flags();
196// //virtual ::string get_conversation_details();
197// //virtual ::payload get_conversation_result();
198//
199// //message_box_payload *get_message_box_payload() override;
200//
201// ::payload get_result_payload() override;
202//
203//
204// void on_timed_out() override;
205//
206// ::string dialog_details() const override;
207//
208// ::string_array_base dialog_details_icon_urls() const override;
209//
210// void display_dialog() override;
211// //virtual void async();
212// //virtual void sync();
213//
214// //::payload do_synchronously(const class time & timeWait) override;
215// //void do_asynchronously() override;
216//
217// /// shows the message box
218// /// override in the topper implementation to display the message box (run the message box)
219// void run() override;
220// //void complete_aggregation(sequence * psequence) override;
221// //
222//
223// void on_dialog_result(const ::payload &payloadResult) override;
224//
225//};
226//
227
228
229} // namespace user
230
231
232} // namespace acme
233
234
235
Definition interaction.h:50
Definition _template_forward_declaration.h:297
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32