3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | PROJECT: MMI-Framework (8417) $Workfile:: mfw_win.h $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | $Author:: Es $ CONDAT GmbH $Revision:: 8 $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | CREATED: 21.09.98 $Modtime:: 23.03.00 9:08 $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | STATE : code |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 MODULE : MFW_WIN
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 PURPOSE : window types & constants
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 EXPORT :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 TO DO :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 $History:: mfw_win.h $
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 * ***************** Version 8 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 * User: Es Date: 23.03.00 Time: 14:42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 * Updated in $/GSM/Condat/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 * Added 'winUnhide()': no update(), no event.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 * ***************** Version 7 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 * User: Kk Date: 17.01.00 Time: 8:56
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 * Updated in $/GSM/Condat/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 * added simple check functions for easy checking if win is visible,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 * focussed, closed
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 * ***************** Version 6 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 * User: Le Date: 6.01.00 Time: 9:23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 * Updated in $/GSM/Condat/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 * Alignment of MFW versions
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 * ***************** Version 3 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 * User: Xam Date: 12/15/99 Time: 4:06p
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 * Updated in $/GSM/Condat/SND-MMI/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 * Added constant MfwWinClosed.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 * ***************** Version 2 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 * User: Es Date: 22.11.99 Time: 10:30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 * Updated in $/GSM/Condat/SND-MMI/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 * ***************** Version 1 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 * User: Es Date: 18.11.99 Time: 16:35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 * Created in $/GSM/Condat/SND-MMI/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 * Initial
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 * ***************** Version 5 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 * User: Es Date: 6.07.99 Time: 12:37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 * Updated in $/GSM/DEV/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 * ***************** Version 4 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 * User: Es Date: 17.02.99 Time: 20:01
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 * Updated in $/GSM/DEV/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 * ***************** Version 3 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 * User: Es Date: 14.01.99 Time: 17:19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 * Updated in $/GSM/DEV/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 * ***************** Version 2 *****************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 * User: Es Date: 23.12.98 Time: 16:19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 * Updated in $/GSM/DEV/MS/SRC/MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #ifndef _DEF_MFW_WIN_H_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #define _DEF_MFW_WIN_H_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 typedef struct MfwWinAttrTag /* WINDOW ATTRIBUTES */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 MfwRect win; /* window position and size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 MfwRect view; /* view position and size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 U16 bgColor; /* background color */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 } MfwWinAttr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 typedef unsigned long *MfwUserDataPtr ;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 typedef struct MfwWinTag /* WINDOW CONTROL BLOCK */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 MfwEvt mask; /* selection of events */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 MfwEvt flags; /* current event */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 MfwCb handler; /* event handler */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 MfwWinAttr *attr; /* window attributes */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 MfwHdr *elems; /* window elements */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 void *user; /* user specific data */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 } MfwWin;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 /* WINDOW FLAGS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 #define MfwWinVisible 1 /* window is visible */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 #define MfwWinFocussed 2 /* input focus / selected */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #define MfwWinDelete 4 /* window will be deleted */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 #define MfwWinClosed 256 /* Child window closed ?? */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 /* xreddymn Aug-09-2004, MMI-SPR-23964 (TII_MMS33)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 * Implemented suspend and resume functionality for MFW windows
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 #define MfwWinSuspend 8 /* window is suspended */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 #define MfwWinResume 16 /* window is resumed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 /* PROTOTYPES */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 MfwRes winInit (U16 *sx, U16 *sy);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 MfwRes winExit (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 MfwHnd winCreate (MfwHnd w, MfwWinAttr *a, MfwEvt e, MfwCb f);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 MfwRes winDelete (MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 MfwRes winShow (MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 MfwRes winHide (MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 MfwRes winUnhide (MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 MfwHnd winFocus (MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 U8 winAutoFocus (U8 useit);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 MfwRes winClear (MfwHnd win);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 MfwRes winUpdate (MfwWin *w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 MfwHnd winNext (MfwHnd winCur);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 MfwHnd winPrev (MfwHnd winCur);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 int winIsVisible(MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 int winIsFocussed(MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 int winIsClosed(MfwHnd w);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 void mfw_traceWinHdrs(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121
|