Rev 5768 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4412 | leency | 1 | //Leency - 2012-2013 |
2 | |||
3 | char *ITEMS_LIST[]={ |
||
4 | #ifdef LANG_RUS |
||
5718 | leency | 5 | "Посмотреть исходник", |
6 | "Редактировать исходник", |
||
7 | "История", |
||
8 | "Очистить кэш картинок", |
||
9 | "Менеджер загрузок", |
||
4412 | leency | 10 | #else |
5718 | leency | 11 | "View source", |
12 | "Edit source", |
||
13 | "History", |
||
14 | "Free image cache", |
||
15 | "Download Manager", |
||
4412 | leency | 16 | #endif |
5718 | leency | 17 | 0}; |
4412 | leency | 18 | |
19 | llist menu; |
||
20 | |||
21 | void menu_rmb() |
||
22 | { |
||
23 | proc_info MenuForm; |
||
24 | |||
5718 | leency | 25 | menu.ClearList(); |
26 | while (ITEMS_LIST[menu.count]) menu.count++; |
||
5709 | leency | 27 | menu.SetSizes(2,2,177,menu.count*19,19); |
4412 | leency | 28 | SetEventMask(100111b); |
29 | |||
5631 | pavelyakov | 30 | _BEGIN_APPLICATION_MENU: |
31 | switch(WaitEvent()) |
||
4412 | leency | 32 | { |
33 | case evMouse: |
||
5811 | leency | 34 | GetProcessInfo(#MenuForm, SelfInfo); |
35 | if (!CheckActiveProcess(MenuForm.ID)) ExitProcess(); |
||
36 | mouse.get(); |
||
37 | if (menu.ProcessMouse(mouse.x, mouse.y)) DrawMenuList(); |
||
38 | if (mouse.lkm)&&(mouse.up) ItemClick(); |
||
39 | break; |
||
4412 | leency | 40 | |
5811 | leency | 41 | case evKey: |
42 | GetKeys(); |
||
43 | if (key_scancode==SCAN_CODE_ESC) ExitProcess(); |
||
44 | if (key_scancode==SCAN_CODE_ENTER) ItemClick(); |
||
45 | if (menu.ProcessKey(key_scancode)) DrawMenuList(); |
||
46 | break; |
||
4412 | leency | 47 | |
5811 | leency | 48 | case evReDraw: |
49 | DefineAndDrawWindow(Form.left+mouse.x-6,Form.top+mouse.y+GetSkinHeight()+3,menu.w+2,menu.h+4,0x01, 0, 0, 0x01fffFFF); |
||
50 | DrawPopup(0,0,menu.w,menu.h+3,0, col_bg,border_color); |
||
51 | DrawMenuList(); |
||
4412 | leency | 52 | } |
5631 | pavelyakov | 53 | goto _BEGIN_APPLICATION_MENU; |
4412 | leency | 54 | } |
55 | |||
56 | void DrawMenuList() |
||
57 | { |
||
58 | int N; |
||
59 | |||
60 | for (N=0; N |
||
61 | { |
||
62 | if (N==menu.current) |
||
63 | DrawBar(menu.x, N*menu.line_h+menu.y, menu.w-3, menu.line_h, 0x94AECE); |
||
64 | else |
||
65 | { |
||
4677 | leency | 66 | DrawBar(menu.x, N*menu.line_h+menu.y, menu.w-3, menu.line_h, col_bg); |
5718 | leency | 67 | WriteText(19,N*menu.line_h+9,0x80,0xf2f2f2,ITEMS_LIST[N]); |
4412 | leency | 68 | } |
5718 | leency | 69 | WriteText(18,N*menu.line_h+8,0x80,0x000000,ITEMS_LIST[N]); |
4412 | leency | 70 | } |
5718 | leency | 71 | } |
5519 | leency | 72 | |
5718 | leency | 73 | void ItemClick() |
74 | { |
||
5768 | leency | 75 | action_buf = VIEW_SOURCE + menu.current; |
5718 | leency | 76 | ExitProcess(); |
77 | } |