Subversion Repositories Kolibri OS

Rev

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
}