This repository has been archived by the owner on Oct 6, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathui_message_controls.h
109 lines (100 loc) · 4.99 KB
/
ui_message_controls.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
nazwa="UI message controls"
info="Nagłówek do obsługi kontrolek w oknach wiadomości i historii"
*/
/** \file
Nagłówek do obsługi kontrolek w oknach wiadomości i historii.
W wersji UI 0.1.18 kontrolki obsługujące okno wiadomości i historię
zostały zmienione tak, aby było możliwe ich zastąpienie.
Obie akcje uznawane są z góry za akcje typu #ACTT_HWND, niezależnie
od ustawionego stylu. Za pozycjonowanie i rozmiar okna odpowiada
sam interfejs. Komunikacja z interfejsem odbywa się poprzez
specjalne komunikaty akcji opisane w tym pliku...
Jedynym stylem (nowym w tym UI), który dobrze by było dodać
jest #ACTR_SETCNT.
W programie można podmienić 3 kontrolki, usuwając istniejące
przez #IMI_ACTION_REMOVE i tworząc w ich miejsce nowe o tym
samym identyfikatorze...
W oknie rozmowy:
sUIAction(IMIG_MSGWND , konnekt::UI::act::msg_ctrlview) - podgląd rozmowy
sUIAction(IMIG_MSGWND , konnekt::UI::act::msg_ctrlsend) - wpisywanie treści
W oknie historii:
sUIAction(IMIG_HISTORYWND , konnekt::UI::act::msg_ctrlview) - podgląd rozmowy
Układ namespace'ów i nazwy stałych i klas może się jeszcze zmienić!
*/
namespace Konnekt {
namespace UI {
namespace ACT{
const int msg_ctrlview = 250; ///< Kontrolka, w której pojawiają się wiadomości
const int msg_ctrlsend = 251; ///< Kontrolka, z której wiadomości są wysyłane
const int msg_ctrlsend_menu = 260; ///< Menu msg_ctrlsend
const int msg_ctrlsend_menu_copy = 261;
const int msg_ctrlsend_menu_paste = 262;
const int msg_ctrlsend_menu_paste_nf = 263;
const int msg_ctrlsend_menu_paste_qt = 264;
const int msg_ctrlsend_menu_select = 265;
const int msg_ctrlsend_menu_cut = 266;
const int msg_ctrlsend_menu_delete = 267;
const int msg_ctrlsend_menu_undo = 268;
const int msg_ctrlsend_menu_redo = 269;
const int msg_ctrlsend_menu_hist_previous = 270;
const int msg_ctrlsend_menu_hist_next = 271;
const int msg_ctrlsend_menu_hist_clear = 272;
};
namespace Notify {
// kontrolka do wyświetlania
const int lock = 300; ///< Odświeżanie okna powinno być zablokowane
const int unlock = 301; ///< Odświeżanie okna powinno być przywrócone
const int clear = 302; ///< Okno powinno być wyczyszczone
const int insertMsg = 310; ///< Trzeba wstawić wiadomość (_insertMsg *)
const int insertStatus = 311; ///< Trzeba wstawić info o zmianie statusu (_insertStatus *)
// kontrolka do wpisywania
const int getMessage = 312; ///< Trzeba wstawić treść wpisanej wiadomości (dla kontrolek do pisania treści)
const int getMessageSize = 313; /**< Trzeba zwrócić rozmiar wpisanej wiadomości.*/
const int getSelection = 314; ///< Trzeba zwrócić aktualne zaznaczenie (_getSelection *).
const int getMessageLines = 315; /**< Trzeba zwrócić liczbę linijek w wiadomości.*/
const int getMessageLine = 316; /**< Trzeba zwrócić numer linii, w której znajduje się znak.
@param notify1 (int)numer znaku
*/
const int supportsFormatting = 317; ///< Czy kontrolka (wpisywania) obsługuje formatowanie
const int setSelection = 318; ///< Ustawia aktualne zaznaczenie (_setSelection *).
const int insertText = 319; ///< Ustawia aktualne zaznaczenie (_insertText *).
class _insertMsg: public sUIActionNotify_base {
public:
cMessage * _message; ///< Wiadomość do wyświetlenia
const char * _display; ///< Nazwa kontaktu jako autora (jeżeli "" - to na podstawie wiadomości)
bool _scroll; ///< Czy przewinąć ekran do dodanej wiadomości
_insertMsg(cMessage * message , const char * display , bool scroll):_message(message),_display(display),_scroll(scroll)
{code = insertMsg; s_size = sizeof(*this);}
};
class _insertStatus: public sUIActionNotify_base {
public:
int _status; ///< Status
const char * _info; ///< Opis
_insertStatus(int status , const char * info):_status(status),_info(info) {code = insertStatus; s_size = sizeof(*this);}
};
class _getMessage: public sUIActionNotify_base {
public:
cMessage * _message; ///< Wiadomość do wyświetlenia. cMessage::body trzyma wskaźnik do bufora, którego rozmiar został ustawiony w getMessageSize
int _size;
_getMessage(cMessage * message , int size):_message(message),_size(size)
{code = getMessage; s_size = sizeof(*this);}
};
class _getSelection: public sUIActionNotify_base {
public:
int _start; ///< Początek zaznaczenia
int _end; ///< Koniec zaznaczenia.
_getSelection():sUIActionNotify_base(getSelection),_start(0),_end(0) {s_size = sizeof(*this);}
};
typedef _getSelection _setSelection;
class _insertText: public sUIActionNotify_base {
public:
const char * _text; ///< Treść do wstawienia/zastąpienia
bool _isHtml; ///< Czy jest formatowana?
int _position; ///< Miejsce do wklejenia. -1 - aktualna pozycja/zaznaczenie
_insertText():sUIActionNotify_base(insertText),_text(""),_isHtml(false),_position(-1) {s_size = sizeof(*this);}
};
};
};
};
#pragma once