Subversion Repositories Kolibri OS

Rev

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

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