Subversion Repositories Kolibri OS

Rev

Rev 259 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
178 heavyiron 1
virtual at -20
2
 POPUP:
3
  .actions dd ?
4
  .data    dd ?
5
  .acc_ofs dd ?
6
 .size:
7
  .height  dw ?
8
  .width   dw ?
9
 .pos:
10
  .y	   dw ?
11
  .x	   dw ?
12
end virtual
13
 
14
macro popup_res _name,[_lang,_title,_accel,_action]
15
{
16
  common
17
    local s1,s2,m1,m2,c1,c2
18
    m1 = 0
19
    m2 = 0
20
    c1 = 0
21
    c2 = 0
22
    if used _name
23
      dd _name#.actions
24
      dd _name#.data
25
      dd ?
26
      dw ?		; height
27
      dw ?		; width
28
      dw ?		; y
29
      dw ?		; x
30
      _name:
31
  forward
32
      if (lang eq _lang)
33
	db 1
34
      end if
35
  common
36
      .data:
37
  forward
38
      if lang eq _lang
39
	if _title eq '-'
40
	  db 1,'-'
41
	  c2 = c2+1
42
	else
43
	  virtual at 0
44
	    db _title
45
	    s1 = $
46
	  end virtual
47
	  if m1 < s1
48
	    m1 = s1
49
	  end if
50
	  virtual at 0
51
	    db _accel
52
	    s2 = $
53
	  end virtual
54
	  if m2 < s2
55
	    m2 = s2
56
	  end if
57
	  db s1,_title,s2,_accel
58
	  c1 = c1+1
59
	end if
60
      end if
61
  common
62
      db 0
63
      align 4
64
      .actions:
65
  forward
66
      if lang eq _lang
67
	dd _action
68
      end if
69
  common
70
      .size	 = $-_name+20
71
      .max_title = m1
72
      .max_accel = m2
73
      .cnt_item  = c1
74
      .cnt_sep	 = c2
75
      if (m2 = 0)
76
	m2 = -2
77
      end if
78
      store word (m1*6+m2*6+6*8) at _name+POPUP.width
79
      store word (c1*POP_IHEIGHT+c2*4+4) at _name+POPUP.height
80
      store dword (((m1+2)*6-1)*65536) at _name+POPUP.acc_ofs
81
    end if
82
}
83
 
84
macro menubar_res _name,[_lang,_title,_popup,_onshow]
85
{
86
  common
87
    local s,m,c,x
88
    m = 0
89
    c = 0
90
    x = 2
91
    if used _name
92
      _name:
93
  forward
94
      if lang eq _lang
95
	virtual at 0
96
	  db _title
97
	  s = $
98
	end virtual
99
	if m < s
100
	  m = s
101
	end if
102
	dw (s+2)*6,x,ATOPH-1,0
103
	db s,_title
104
	c = c+1
105
	x = x + (s+2)*6
106
      end if
107
  common
108
      db 0
109
      align 4
110
      .popups:
111
  forward
112
      if lang eq _lang
113
	dd _popup
114
      end if
115
  common
116
      align 4
117
      .onshow:
118
  forward
119
      if lang eq _lang
120
	dd _onshow
121
      end if
122
  common
123
      .size	 = $-_name
124
      .max_title = m
125
      .cnt_item  = c
126
      .width	 = x-7
127
    end if
128
}
129
 
130
;// OPTIONS
131
 
132
OPTS_SECURESEL	= 00000001b
133
OPTS_AUTOBRACES = 00000010b
134
OPTS_AUTOINDENT = 00000100b
135
OPTS_SMARTTAB	= 00001000b
136
OPTS_OPTIMSAVE	= 00010000b
137
OPTS_LINENUMS	= 00100000b
138
 
139
;// KEY MODIFIERS
140
 
141
KM_SHIFT	= 0x00010000
142
KM_CTRL 	= 0x00020000
143
KM_ALT		= 0x00040000
144
 
145
KM_CTRLSHIFT	= 0x00030000
146
KM_ALTSHIFT	= 0x00050000
147
KM_CTRLALT	= 0x00060000
148
 
149
KM_CTRLALTSHIFT = 0x00070000
150
 
151
;// KEY CODES
152
 
153
KEY_ESCAPE	= 0x00000001
154
KEY_SNAPSHOT	= 0x00000137
155
KEY_PAUSE	= 0x0000021D
156
 
157
KEY_F1		= 0x0000003B
158
KEY_F2		= 0x0000003C
159
KEY_F3		= 0x0000003D
160
KEY_F4		= 0x0000003E
161
KEY_F5		= 0x0000003F
162
KEY_F6		= 0x00000040
163
KEY_F7		= 0x00000041
164
KEY_F8		= 0x00000042
165
KEY_F9		= 0x00000043
166
KEY_F10 	= 0x00000044
167
KEY_F11 	= 0x00000057
168
KEY_F12 	= 0x00000058
169
 
170
KEY_TILDE	= 0x00000029
171
KEY_MINUS	= 0x0000000C
172
KEY_EQUAL	= 0x0000000D
173
KEY_BACKSPACE	= 0x0000000E
174
KEY_TAB 	= 0x0000000F
175
KEY_SQBRACE1	= 0x0000001A
176
KEY_SQBRACE2	= 0x0000001B
177
KEY_SLASH1	= 0x00000035
178
KEY_SLASH2	= 0x0000002B
179
KEY_SEMICOLON	= 0x00000027
180
KEY_QUOTE	= 0x00000028
181
KEY_COMMA	= 0x00000033
182
KEY_DOT 	= 0x00000034
183
KEY_SPACE	= 0x00000039
184
 
185
KEY_1		= 0x00000002
186
KEY_2		= 0x00000003
187
KEY_3		= 0x00000004
188
KEY_4		= 0x00000005
189
KEY_5		= 0x00000006
190
KEY_6		= 0x00000007
191
KEY_7		= 0x00000008
192
KEY_8		= 0x00000009
193
KEY_9		= 0x0000000A
194
KEY_0		= 0x0000000B
195
 
196
KEY_A		= 0x0000001E
197
KEY_B		= 0x00000030
198
KEY_C		= 0x0000002E
199
KEY_D		= 0x00000020
200
KEY_E		= 0x00000012
201
KEY_F		= 0x00000021
202
KEY_G		= 0x00000022
203
KEY_H		= 0x00000023
204
KEY_I		= 0x00000017
205
KEY_J		= 0x00000024
206
KEY_K		= 0x00000025
207
KEY_L		= 0x00000026
208
KEY_M		= 0x00000032
209
KEY_N		= 0x00000031
210
KEY_O		= 0x00000018
211
KEY_P		= 0x00000019
212
KEY_Q		= 0x00000010
213
KEY_R		= 0x00000013
214
KEY_S		= 0x0000001F
215
KEY_T		= 0x00000014
216
KEY_U		= 0x00000016
217
KEY_V		= 0x0000002F
218
KEY_W		= 0x00000011
219
KEY_X		= 0x0000002D
220
KEY_Y		= 0x00000015
221
KEY_Z		= 0x0000002C
222
 
223
KEY_CAPSLK	= 0x0000003A
224
KEY_SCRLK	= 0x00000046
225
KEY_NUMLK	= 0x00000069
226
 
227
KEY_RETURN	= 0x0000001C
228
KEY_NUMRETURN	= 0x0000011C
229
 
230
KEY_LCONTROL	= 0x0000001D
231
KEY_RCONTROL	= 0x0000011D
232
KEY_LSHIFT	= 0x0000002A
233
KEY_RSHIFT	= 0x00000036
234
KEY_LALT	= 0x00000038
235
KEY_RALT	= 0x00000138
236
 
237
KEY_LWIN	= 0x0000015B
238
KEY_RWIN	= 0x0000015C
239
KEY_APPS	= 0x0000015D
240
 
241
KEY_INSERT	= 0x00000152
242
KEY_DELETE	= 0x00000153
243
KEY_HOME	= 0x00000147
244
KEY_END 	= 0x0000014F
245
KEY_PAGEUP	= 0x00000149
246
KEY_PAGEDOWN	= 0x00000151
247
KEY_UP		= 0x00000148
248
KEY_LEFT	= 0x0000014B
249
KEY_RIGHT	= 0x0000014D
250
KEY_DOWN	= 0x00000150
251
 
252
KEY_DIVIDE	= 0x00000135
253
KEY_MULTIPLY	= 0x00000037
254
KEY_SUBTRACT	= 0x0000004A
255
KEY_ADD 	= 0x0000004E
256
KEY_SEPARATOR	= 0x00000053
257
 
258
KEY_NUM1	= 0x0000004F
259
KEY_NUM2	= 0x00000050
260
KEY_NUM3	= 0x00000051
261
KEY_NUM4	= 0x0000004B
262
KEY_NUM5	= 0x0000004C
263
KEY_NUM6	= 0x0000004D
264
KEY_NUM7	= 0x00000047
265
KEY_NUM8	= 0x00000048
266
KEY_NUM9	= 0x00000049
267
KEY_NUM0	= 0x00000052
268
 
269
;// EXTENDED KEY CODES (MULTIMEDIA KEYBOARDS)
270
 
271
KEY_MYDOCUMENTS = 0x0000014C
272
KEY_MYPICTURES	= 0x00000164
273
KEY_MYMUSIC	= 0x0000013C
274
KEY_MUTE	= 0x00000120
275
KEY_PLAYPAUSE	= 0x00000122
276
KEY_STOP	= 0x00000124
277
KEY_VOLUMEUP	= 0x00000130
278
KEY_VOLUMEDOWN	= 0x0000013E
279
KEY_PREVSONG	= 0x00000110
280
KEY_NEXTSONG	= 0x00000119
281
KEY_MEDIA	= 0x0000016D
282
KEY_MAIL	= 0x0000016C
283
KEY_WEBHOME	= 0x00000132
284
KEY_MESSENGER	= 0x00000105
285
 
286
KEY_CALCULATOR	= 0x00000121
287
KEY_LOGOFF	= 0x00000116
288
KEY_SLEEP	= 0x0000015F