blob: f79b6ee7afd81f5e02f34d540e328e5a0900034b (
plain)
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
|
#ifndef __popup_history_h__
#define __popup_history_h__
#include "m_ieview.h" //need this for special renderers
/****HISTORY ++ STUFF ***/
//there's no include file for h++ yet
#ifndef MS_HPP_EG_WINDOW
#define MS_HPP_EG_WINDOW "History++/ExtGrid/NewWindow"
#endif
#ifndef MS_HPP_EG_EVENT
#define MS_HPP_EG_EVENT "History++/ExtGrid/Event"
#endif
#ifndef MS_HPP_EG_NAVIGATE
#define MS_HPP_EG_NAVIGATE "History++/ExtGrid/Navigate"
#endif
#ifndef MS_HPP_EG_OPTIONSCHANGED
#define MS_HPP_EG_OPTIONSCHANGED "History++/ExtGrid/OptionsChanged"
#endif
/************************/
#define HISTORY_SIZE 200 //number of popup history items
#define PHDF_UNICODE 1
#define POPUPMENU_TITLE 100
#define POPUPMENU_MESSAGE 101
#define POPUPMENU_TIMESTAMP 102
#define RENDER_DEFAULT 0x00000
#define RENDER_HISTORYPP 0x00001
#define RENDER_IEVIEW 0x00002
struct PopupHistoryData{
DWORD flags; //PHDF_* flags
union{
char *message;
wchar_t *messageW;
TCHAR *messageT;
};
union{
char *title;
wchar_t *titleW;
TCHAR *titleT;
};
time_t timestamp;
};
class PopupHistoryList{
private:
PopupHistoryData *historyData; //historyData[0] - oldest, historyData[size - 1] - newest
int count;
int size;
int renderer;
void DeleteData(int index);
void AddItem(PopupHistoryData item); //adds a PopupHistoryData item
void RemoveItem(int index);
public:
PopupHistoryList(int renderer = RENDER_DEFAULT);
~PopupHistoryList();
int GetRenderer() { return renderer; }
void SetRenderer(int newRenderer) { renderer = newRenderer; }
void Add(char *title, char *message, time_t timestamp);
void Add(wchar_t *title, wchar_t *message, time_t timestamp);
PopupHistoryData *Get(int index);
void Clear();
int Count() { return count; }
int Size() { return size; }
};
/*Shows a history with the last popups.
Useful if you've missed a popup when it appeared.
wParam - 0
lParam - 0
*/
#define MS_POPUP_SHOWHISTORY "PopUp/ShowHistory"
extern PopupHistoryList lstPopupHistory; //defined in main.cpp
extern HWND hHistoryWindow; //the history window
extern HICON hiPopupHistory;
void RefreshPopupHistory(HWND hWnd, int renderer);
INT_PTR CALLBACK DlgProcHistLst(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
#endif //__popup_history_h__
|