Subversion Repositories Kolibri OS

Rev

Rev 617 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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