Rev 6278 | Rev 6678 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6278 | Rev 6640 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | char new_disk_size[5]; |
53 | char new_disk_size[5]; |
54 | edit_box edit_disk_size= {50,0,7,0xffffff,0x94AECE,0xFFFfff,0xffffff,0,4,#new_disk_size,#mouse_dd, 1000000000000010b}; |
54 | edit_box edit_disk_size= {50,0,7,0xffffff,0x94AECE,0xFFFfff,0xffffff,0,4,#new_disk_size,#mouse_dd, 1000000000000010b}; |
Line 55... | Line 55... | ||
55 | 55 | ||
56 | void Main_Window() |
56 | void Main_Window() |
57 | { |
57 | { |
58 | word id, key; |
58 | word id; |
Line 59... | Line 59... | ||
59 | int i, x; |
59 | int i, x; |
60 | 60 | ||
61 | mem_Init(); |
61 | mem_Init(); |
Line 83... | Line 83... | ||
83 | selected=id-20; |
83 | selected=id-20; |
84 | DrawTmpDisks(); |
84 | DrawTmpDisks(); |
85 | } |
85 | } |
86 | break; |
86 | break; |
87 | case evKey: |
87 | case evKey: |
88 | key = GetKey(); |
88 | GetKeys(); |
- | 89 | // PROCESS KEYS WHEN EDIT BOX INACTIVE |
|
89 | switch(key) |
90 | if ( !asm test edit_disk_size.flags, 2) switch(key_scancode) |
90 | { |
91 | { |
91 | case 9: |
92 | case SCAN_CODE_TAB: |
92 | if ( !asm test edit_disk_size.flags, 2) edit_disk_size.flags=1000000000000010b; |
- | |
93 | else edit_disk_size.flags=1000000000000000b; |
93 | edit_disk_size.flags=1000000000000010b; |
94 | edit_box_draw stdcall (#edit_disk_size); |
94 | edit_box_draw stdcall (#edit_disk_size); |
- | 95 | DrawTmpDisks(); |
|
95 | break; |
96 | break; |
96 | case 185: |
- | |
97 | AddDisk(); |
- | |
98 | break; |
- | |
99 | case 182: |
97 | case SCAN_CODE_UP: |
100 | if (disk_num<>0) DelDisk(); |
- | |
101 | break; |
- | |
102 | case 13: |
- | |
103 | if ( !asm test edit_disk_size.flags, 2) OpenTmpDisk(); |
- | |
104 | else AddDisk(); |
- | |
105 | break; |
- | |
106 | case 178: |
- | |
107 | if (selected==0) break; |
98 | if (selected==0) break; |
108 | selected--; |
99 | selected--; |
109 | DrawTmpDisks(); |
100 | DrawTmpDisks(); |
110 | break; |
101 | break; |
111 | case 177: |
102 | case SCAN_CODE_DOWN: |
112 | if (selected+2>disk_num) break; |
103 | if (selected+2>disk_num) break; |
113 | selected++; |
104 | selected++; |
114 | DrawTmpDisks(); |
105 | DrawTmpDisks(); |
115 | break; |
106 | break; |
116 | case 176: |
107 | case SCAN_CODE_LEFT: |
117 | if (selected<3) break; |
108 | if (selected<3) break; |
118 | selected-=3; |
109 | selected-=3; |
119 | DrawTmpDisks(); |
110 | DrawTmpDisks(); |
120 | break; |
111 | break; |
121 | case 179: |
112 | case SCAN_CODE_RIGHT: |
122 | if (selected+4>disk_num) break; |
113 | if (selected+4>disk_num) break; |
123 | selected+=3; |
114 | selected+=3; |
124 | DrawTmpDisks(); |
115 | DrawTmpDisks(); |
125 | break; |
116 | break; |
- | 117 | case SCAN_CODE_INS: |
|
- | 118 | AddDisk(); |
|
- | 119 | break; |
|
- | 120 | case SCAN_CODE_DEL: |
|
- | 121 | if (disk_num<>0) DelDisk(); |
|
- | 122 | break; |
|
- | 123 | case SCAN_CODE_ENTER: |
|
- | 124 | OpenTmpDisk(); |
|
- | 125 | break; |
|
126 | } |
126 | } |
- | 127 | // PROCESS KEYS WHEN EDIT BOX ACTIVE |
|
- | 128 | else switch(key_scancode) |
|
- | 129 | { |
|
- | 130 | case SCAN_CODE_TAB: |
|
- | 131 | edit_disk_size.flags=1000000000000000b; |
|
- | 132 | edit_box_draw stdcall (#edit_disk_size); |
|
- | 133 | DrawTmpDisks(); |
|
- | 134 | break; |
|
- | 135 | case SCAN_CODE_ENTER: |
|
- | 136 | case SCAN_CODE_INS: |
|
- | 137 | AddDisk(); |
|
- | 138 | break; |
|
- | 139 | default: |
|
127 | EAX=key<<8; |
140 | EAX = key_editbox; |
128 | edit_box_key stdcall(#edit_disk_size); |
141 | edit_box_key stdcall(#edit_disk_size); |
129 | break; |
142 | break; |
- | 143 | } |
|
- | 144 | break; |
|
130 | case evReDraw: |
145 | case evReDraw: |
131 | system.color.get(); |
146 | system.color.get(); |
132 | DefineAndDrawWindow(170,150,314,270,0x74,system.color.work,"Virtual Disk Manager 0.62",0); |
147 | DefineAndDrawWindow(170,150,314,270,0x74,system.color.work,"Virtual Disk Manager 0.65",0); |
133 | GetProcessInfo(#Form, SelfInfo); |
148 | GetProcessInfo(#Form, SelfInfo); |
134 | if (Form.status_window>2) break; |
149 | if (Form.status_window>2) break; |
Line 135... | Line 150... | ||
135 | 150 | ||
136 | DrawBar(0,0, Form.cwidth,TOPPANELH, system.color.work); |
151 | DrawBar(0,0, Form.cwidth,TOPPANELH, system.color.work); |
Line 200... | Line 215... | ||
200 | unsigned int disk_pos_x[]={13,13,13,85,85,85,157,157,157,229,229,229}; |
215 | unsigned int disk_pos_x[]={13,13,13,85,85,85,157,157,157,229,229,229}; |
201 | unsigned int disk_pos_y[]={60,95,130, 60, 95, 130, 60, 95,130, 60, 85,130}; |
216 | unsigned int disk_pos_y[]={60,95,130, 60, 95, 130, 60, 95,130, 60, 85,130}; |
Line 202... | Line 217... | ||
202 | 217 | ||
203 | void DrawTmpDisks() |
218 | void DrawTmpDisks() |
- | 219 | { |
|
- | 220 | dword selection_color; |
|
- | 221 | dword selection_active = 0x0080FF; |
|
204 | { |
222 | dword selection_inactive = 0x757489; |
205 | char free_ram_text[60]; |
223 | char free_ram_text[60]; |
206 | byte i, real_id; |
224 | byte i, real_id; |
Line 207... | Line 225... | ||
207 | int FreeRAM=GetFreeRAM()/1024; |
225 | int FreeRAM=GetFreeRAM()/1024; |
Line 228... | Line 246... | ||
228 | WriteText(disk_pos_x[i]+25,disk_pos_y[i]+2, 10110000b, 0, #disk_list[i].Item); |
246 | WriteText(disk_pos_x[i]+25,disk_pos_y[i]+2, 10110000b, 0, #disk_list[i].Item); |
229 | real_id = disk_list[i].Item[3] - '0'; |
247 | real_id = disk_list[i].Item[3] - '0'; |
230 | WriteText(disk_pos_x[i]+25,disk_pos_y[i]+19, 0x80, 0x888888, ConvertSize(disk_sizes[real_id])); |
248 | WriteText(disk_pos_x[i]+25,disk_pos_y[i]+19, 0x80, 0x888888, ConvertSize(disk_sizes[real_id])); |
231 | _PutImage(disk_pos_x[i]+5,disk_pos_y[i]+4, 14,14, 2*14*14*3+#icons); |
249 | _PutImage(disk_pos_x[i]+5,disk_pos_y[i]+4, 14,14, 2*14*14*3+#icons); |
232 | if (selected==i) { |
250 | if (selected==i) { |
- | 251 | if ( !asm test edit_disk_size.flags, 2) selection_color = selection_active; else selection_color = selection_inactive; |
|
233 | DrawWideRectangle(disk_pos_x[i], disk_pos_y[i], 65, 30, 2, 0x0080FF); |
252 | DrawWideRectangle(disk_pos_x[i], disk_pos_y[i], 65, 30, 2, selection_color); |
234 | PutPixel(disk_pos_x[i], disk_pos_y[i], 0xFFFfff); |
253 | PutPixel(disk_pos_x[i], disk_pos_y[i], 0xFFFfff); |
235 | } |
254 | } |
236 | } |
255 | } |
237 | } |
256 | } |