Rev 7500 | Rev 7504 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7500 | Rev 7503 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | #include "kosSyst.h" |
4 | #include "kosSyst.h" |
5 | //#include "KosFile.h" |
5 | //#include "KosFile.h" |
6 | 6 | ||
7 | extern DWORD def_col_width, def_row_height; |
7 | #define DEFAULT_CELL_W 80 |
Line -... | Line 8... | ||
- | 8 | #define DEFAULT_CELL_H 19 |
|
8 | extern DWORD col_count, row_count; |
9 | |
- | 10 | extern DWORD col_count, row_count; |
|
9 | extern char ***cells; |
11 | extern char ***cells; |
10 | extern DWORD *col_width, *row_height; |
12 | extern DWORD *cell_w, *cell_h; |
11 | extern char ***values; |
13 | extern char ***values; |
12 | 14 | ||
Line 13... | Line 15... | ||
13 | extern DWORD *col_left, *row_top; |
15 | extern DWORD *cell_x, *cell_y; |
Line 14... | Line 16... | ||
14 | 16 | ||
15 | // áóôåð îáìåíà |
17 | // áóôåð îáìåíà |
16 | extern char ***buffer; |
18 | extern char ***buffer; |
17 | extern DWORD buf_col, buf_row; |
19 | extern DWORD buf_col, buf_row; |
Line 18... | Line 20... | ||
18 | extern DWORD buf_old_x, buf_old_y; |
20 | extern DWORD buf_old_x, buf_old_y; |
Line -... | Line 21... | ||
- | 21 | ||
- | 22 | extern bool sel_moved; |
|
- | 23 | ||
- | 24 | extern struct GRID |
|
- | 25 | { |
|
19 | 26 | int x,y,w,h; |
|
Line 20... | Line 27... | ||
20 | extern bool sel_moved; |
27 | } grid; |
Line 43... | Line 50... | ||
43 | if (x > col_count) |
50 | if (x > col_count) |
44 | x = col_count; |
51 | x = col_count; |
45 | for (i = 0; i < x; i++) |
52 | for (i = 0; i < x; i++) |
46 | r+=col_width[i]; |
53 | r+=cell_w[i]; |
47 | return r; |
54 | return r; |
48 | } |
55 | } |
49 | 56 | ||
50 | // àíàëîã |
57 | // àíàëîã |
Line 51... | Line 58... | ||
51 | int get_y(int y) |
58 | int get_y(int y) |
52 | { |
59 | { |
53 | int i, r = 0; |
60 | int i, r = 0; |
54 | if (y > row_count) |
61 | if (y > row_count) |
55 | y = row_count; |
62 | y = row_count; |
56 | for (i = 0; i < y; i++) |
63 | for (i = 0; i < y; i++) |
57 | r+=row_height[i]; |
64 | r+=cell_h[i]; |
58 | return r; |
65 | return r; |
59 | } |
66 | } |
60 | 67 | ||
Line 104... | Line 111... | ||
104 | { |
111 | { |
105 | int i, j; |
112 | int i, j; |
106 | 113 | ||
107 | //col_count = WND_W / def_col_width; |
114 | cell_w = (DWORD*)allocmem(col_count * sizeof(DWORD)); |
Line 108... | Line -... | ||
108 | //row_count = WND_H / def_row_height; |
- | |
109 | - | ||
110 | col_width = (DWORD*)allocmem(col_count * sizeof(DWORD)); |
- | |
111 | row_height = (DWORD*)allocmem(row_count * sizeof(DWORD)); |
115 | cell_h = (DWORD*)allocmem(row_count * sizeof(DWORD)); |
112 | col_left = (DWORD*)allocmem(col_count * sizeof(DWORD)); |
116 | cell_x = (DWORD*)allocmem(col_count * sizeof(DWORD)); |
113 | row_top = (DWORD*)allocmem(row_count * sizeof(DWORD)); |
117 | cell_y = (DWORD*)allocmem(row_count * sizeof(DWORD)); |
114 | for (i = 0; i < col_count; i++) |
118 | for (i = 0; i < col_count; i++) |
115 | { |
119 | { |
116 | col_width[i] = def_col_width; |
120 | cell_w[i] = DEFAULT_CELL_W; |
117 | } |
121 | } |
118 | col_width[0] = 30; |
122 | cell_w[0] = 30; //make row headers smaller |
119 | 123 | ||
Line 120... | Line 124... | ||
120 | for (i = 0; i < row_count; i++) |
124 | for (i = 0; i < row_count; i++) |
121 | { |
125 | { |
122 | row_height[i] = def_row_height; |
126 | cell_h[i] = DEFAULT_CELL_H; |
123 | } |
127 | } |
Line 124... | Line 128... | ||
124 | 128 | ||
125 | cells = (char***)allocmem(col_count * sizeof(char**)); |
129 | cells = (char***)allocmem(col_count * sizeof(char**)); |
126 | values = (char***)allocmem(col_count * sizeof(char**)); |
130 | values = (char***)allocmem(col_count * sizeof(char**)); |
Line 149... | Line 153... | ||
149 | 153 | ||
150 | for (i = 0; i < col_count; i++) |
154 | for (i = 0; i < col_count; i++) |
Line 151... | Line 155... | ||
151 | { |
155 | { |
152 | col_width[i] = def_col_width; |
156 | cell_w[i] = DEFAULT_CELL_W; |
153 | } |
157 | } |
154 | 158 | ||
Line 155... | Line 159... | ||
155 | for (i = 0; i < row_count; i++) |
159 | for (i = 0; i < row_count; i++) |
156 | { |
160 | { |
157 | row_height[i] = def_row_height; |
161 | cell_h[i] = DEFAULT_CELL_H; |
158 | } |
162 | } |
Line 159... | Line 163... | ||
159 | 163 | ||
160 | for (i = 1; i < col_count; i++) |
164 | for (i = 1; i < col_count; i++) |
161 | { |
165 | { |
Line 484... | Line 488... | ||
484 | { |
488 | { |
485 | char smalbuf[32]; |
489 | char smalbuf[32]; |
486 | memset((Byte*)smalbuf,0,32); |
490 | memset((Byte*)smalbuf,0,32); |
487 | sprintf(smalbuf, "%U,", col_width[i]); |
491 | sprintf(smalbuf, "%U,", cell_w[i]); |
488 | strcpy(buffer+strlen(buffer),smalbuf); |
492 | strcpy(buffer+strlen(buffer),smalbuf); |
489 | } |
493 | } |
490 | buffer[strlen(buffer)-1] = '\n'; // çàìåíèëè ïîñëåäíþþ çàïÿòóþ íà ïåðåâîä ñòðîêè |
494 | buffer[strlen(buffer)-1] = '\n'; // çàìåíèëè ïîñëåäíþþ çàïÿòóþ íà ïåðåâîä ñòðîêè |
491 | //rtlDebugOutString(buffer); |
495 | //rtlDebugOutString(buffer); |
492 | fileInfo.dataCount = strlen(buffer); |
496 | fileInfo.dataCount = strlen(buffer); |
493 | fileInfo.bufferPtr = (Byte*)buffer; |
497 | fileInfo.bufferPtr = (Byte*)buffer; |
494 | fileInfo.rwMode = 3; |
498 | fileInfo.rwMode = 3; |
Line 506... | Line 510... | ||
506 | { |
510 | { |
507 | char smalbuf[32]; |
511 | char smalbuf[32]; |
508 | memset((Byte*)smalbuf,0,32); |
512 | memset((Byte*)smalbuf,0,32); |
509 | sprintf(smalbuf, "%U,", row_height[i]); |
513 | sprintf(smalbuf, "%U,", cell_h[i]); |
510 | strcpy(buffer+strlen(buffer),smalbuf); |
514 | strcpy(buffer+strlen(buffer),smalbuf); |
511 | } |
515 | } |
512 | buffer[strlen(buffer)-1] = '\n'; // çàìåíèëè ïîñëåäíþþ çàïÿòóþ íà ïåðåâîä ñòðîêè |
516 | buffer[strlen(buffer)-1] = '\n'; // çàìåíèëè ïîñëåäíþþ çàïÿòóþ íà ïåðåâîä ñòðîêè |
513 | //rtlDebugOutString(buffer); |
517 | //rtlDebugOutString(buffer); |
514 | fileInfo.dataCount = strlen(buffer); |
518 | fileInfo.dataCount = strlen(buffer); |
515 | fileInfo.bufferPtr = (Byte*)buffer; |
519 | fileInfo.bufferPtr = (Byte*)buffer; |
516 | fileInfo.rwMode = 3; |
520 | fileInfo.rwMode = 3; |
Line 767... | Line 771... | ||
767 | } |
771 | } |
768 | *d = '\0'; |
772 | *d = '\0'; |
769 | i = atoi(buffer); |
773 | i = atoi(buffer); |
770 | col_width[items++] = i; |
774 | cell_w[items++] = i; |
771 | if (items == col_count) |
775 | if (items == col_count) |
772 | { |
776 | { |
773 | step++; |
777 | step++; |
774 | items = 1; // òåïåðü âûñîòû ñòðîê ÷èòàòü ìû áóäåì ñìåëî |
778 | items = 1; // òåïåðü âûñîòû ñòðîê ÷èòàòü ìû áóäåì ñìåëî |
775 | // ÷òîá èõ âîññòàíîâèòü è áûëî êàê âñåãäà |
779 | // ÷òîá èõ âîññòàíîâèòü è áûëî êàê âñåãäà |
776 | //sprintf(debuf, "cols read done last buf %S file pos %U",buffer,fileInfo.OffsetLow); |
780 | //sprintf(debuf, "col_count read done last buf %S file pos %U",buffer,fileInfo.OffsetLow); |
777 | //rtlDebugOutString(debuf); |
781 | //rtlDebugOutString(debuf); |
778 | } |
782 | } |
779 | d+=2; |
783 | d+=2; |
780 | break; |
784 | break; |
781 | 785 | ||
782 | case 1: // ñòðîêè, êîèõ âûñîòà çàïèñàíà |
786 | case 1: // ñòðîêè, êîèõ âûñîòà çàïèñàíà |
Line 791... | Line 795... | ||
791 | } |
795 | } |
792 | *d = '\0'; |
796 | *d = '\0'; |
793 | i = atoi(buffer); |
797 | i = atoi(buffer); |
794 | row_height[items++] = i; |
798 | cell_h[items++] = i; |
795 | /*if (items > 5) |
799 | /*if (items > 5) |
796 | { |
800 | { |
797 | sprintf(debuf, "set row from %S hei %U %U",buffer,items-1,i); |
801 | sprintf(debuf, "set row from %S hei %U %U",buffer,items-1,i); |
798 | rtlDebugOutString(debuf); |
802 | rtlDebugOutString(debuf); |
799 | }*/ |
803 | }*/ |
800 | 804 | ||
801 | if (items == row_count) |
805 | if (items == row_count) |