blob: 861aa592ce205cc7584ec6992d289369b69bf437 (
plain) (
blame)
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
|
#ifndef __POPUPEXITCHECKER_H
#define __POPUPEXITCHECKER_H
#include <bfc/depend.h>
#include <bfc/ptrlist.h>
class ifc_window;
class PopupExitCallback;
class PopupExitCallbackEntry
{
public:
PopupExitCallbackEntry(PopupExitCallback *_cb, ifc_window *_watched, api_dependent *_cbd, api_dependent *_wd) : cb(_cb), watched(_watched), cbd(_cbd), wd(_wd) {}
virtual ~PopupExitCallbackEntry() {}
PopupExitCallback *cb;
ifc_window *watched;
api_dependent *cbd;
api_dependent *wd;
};
class PopupExitChecker : public DependentViewerI
{
public:
PopupExitChecker();
virtual ~PopupExitChecker();
void registerCallback(PopupExitCallback *cb, ifc_window *watched);
void deregisterCallback(PopupExitCallback *cb);
#undef check
int check(ifc_window *w);
void signal();
int isGrandChildren(ifc_window *parent, ifc_window *child); // recursive
PtrList<PopupExitCallbackEntry> watchers;
virtual int viewer_onItemDeleted(api_dependent *item);
};
#endif
|