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