Subversion Repositories Kolibri OS

Rev

Rev 267 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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