OSDN Git Service

CPU射程操作バグ改善
[awarsiii/AwarsIV.git] / Awars III / Gallery.m
1 //
2 //  Gallery.m
3 //  Awars III
4 //
5 //  Created by Killery on 2013/01/09.
6 //  Copyright (c) 2013年 Killery. All rights reserved.
7 //
8
9 #import "Gallery.h"
10
11 @implementation Gallery
12 -(IBAction)backButton:(id)sender{
13     [titleWindow  makeKeyAndOrderFront:nil];
14     [galleryWindow close];
15 }
16
17 -(void)awakeFromNib{
18
19     [galleryListTV setTarget:self];
20     [galleryListTV setAction:@selector(clickGL:)];
21
22
23 }
24
25 -(id)init{
26     
27     if(self){
28         timer = [NSTimer
29                  scheduledTimerWithTimeInterval:0.1
30                  target:self selector:@selector(EventLoop:)
31                  userInfo:nil repeats:YES
32                  ];
33         
34         
35         galleryMax = 5;
36         /*
37         NSImage *img[12];
38         
39         img[0] = [[NSImage imageNamed:@"test01.jpg"] retain];
40         img[1] = [[NSImage imageNamed:@"test02.jpg"] retain];
41         img[2] = [[NSImage imageNamed:@"test03.jpg"] retain];
42         img[3] = [[NSImage imageNamed:@"test04.jpg"] retain];
43         img[4] = [[NSImage imageNamed:@"test05.jpg"] retain];
44         img[5] = [[NSImage imageNamed:@"test06.jpg"] retain];
45         img[6] = [[NSImage imageNamed:@"test07.jpg"] retain];
46         img[7] = [[NSImage imageNamed:@"test08.jpg"] retain];
47         img[8] = [[NSImage imageNamed:@"test09.jpg"] retain];
48         img[9] = [[NSImage imageNamed:@"test10.jpg"] retain];
49         img[10] = [[NSImage imageNamed:@"test11.jpg"] retain];
50         img[11] = [[NSImage imageNamed:@"test12.jpg"] retain];
51         
52         galleryListMA = [NSMutableArray new];
53         
54         
55         
56         NSMutableDictionary* dict = [NSMutableDictionary new];
57             
58         [dict setValue:@"すべて" forKey:@"name"];
59         [self willChangeValueForKey:@"galleryListMA"];
60         [galleryListMA addObject:dict];
61         [self didChangeValueForKey:@"galleryListMA"];
62
63         
64         [self willChangeValueForKey:@"galleryListMA"];
65         [[galleryListMA objectAtIndex:0] setValue:img[0] forKey:@"img01"];
66         [[galleryListMA objectAtIndex:0] setValue:img[1] forKey:@"img02"];
67         [[galleryListMA objectAtIndex:0] setValue:img[2] forKey:@"img03"];
68         [[galleryListMA objectAtIndex:0] setValue:img[3] forKey:@"img04"];
69         [[galleryListMA objectAtIndex:0] setValue:img[4] forKey:@"img05"];
70         [[galleryListMA objectAtIndex:0] setValue:img[5] forKey:@"img06"];
71         [[galleryListMA objectAtIndex:0] setValue:img[6] forKey:@"img07"];
72         [[galleryListMA objectAtIndex:0] setValue:img[7] forKey:@"img08"];
73         [[galleryListMA objectAtIndex:0] setValue:img[8] forKey:@"img09"];
74         [[galleryListMA objectAtIndex:0] setValue:img[9] forKey:@"img10"];
75         [[galleryListMA objectAtIndex:0] setValue:img[10] forKey:@"img11"];
76         [[galleryListMA objectAtIndex:0] setValue:img[11] forKey:@"img12"];
77         [self didChangeValueForKey:@"galleryListMA"];
78         
79         NSImage *img2[12];
80         
81         img2[0] = [[NSImage imageNamed:@"to01.jpg"] retain];
82         img2[1] = [[NSImage imageNamed:@"to02.jpg"] retain];
83         img2[2] = [[NSImage imageNamed:@"to03.jpg"] retain];
84         img2[3] = [[NSImage imageNamed:@"to04.jpg"] retain];
85         img2[4] = [[NSImage imageNamed:@"to05.png"] retain];
86         img2[5] = [[NSImage imageNamed:@"to06.jpg"] retain];
87         img2[6] = [[NSImage imageNamed:@"to07.gif"] retain];
88         img2[7] = [[NSImage imageNamed:@"to08.jpg"] retain];
89         img2[8] = [[NSImage imageNamed:@"to09.jpg"] retain];
90         img2[9] = [[NSImage imageNamed:@"to10.png"] retain];
91         img2[10] = [[NSImage imageNamed:@"to11.jpg"] retain];
92         img2[11] = [[NSImage imageNamed:@"to12.jpg"] retain];
93         
94         dict = [NSMutableDictionary new];
95         [dict setValue:@"とある科学の超電磁砲" forKey:@"name"];
96         [self willChangeValueForKey:@"galleryListMA"];
97         [galleryListMA addObject:dict];
98         [[galleryListMA objectAtIndex:1] setValue:img2[0] forKey:@"img01"];
99         [[galleryListMA objectAtIndex:1] setValue:img2[1] forKey:@"img02"];
100         [[galleryListMA objectAtIndex:1] setValue:img2[2] forKey:@"img03"];
101         [[galleryListMA objectAtIndex:1] setValue:img2[3] forKey:@"img04"];
102         [[galleryListMA objectAtIndex:1] setValue:img2[4] forKey:@"img05"];
103         [[galleryListMA objectAtIndex:1] setValue:img2[5] forKey:@"img06"];
104         [[galleryListMA objectAtIndex:1] setValue:img2[6] forKey:@"img07"];
105         [[galleryListMA objectAtIndex:1] setValue:img2[7] forKey:@"img08"];
106         [[galleryListMA objectAtIndex:1] setValue:img2[8] forKey:@"img09"];
107         [[galleryListMA objectAtIndex:1] setValue:img2[9] forKey:@"img10"];
108         [[galleryListMA objectAtIndex:1] setValue:img2[10] forKey:@"img11"];
109         [[galleryListMA objectAtIndex:1] setValue:img2[11] forKey:@"img12"];
110         [self didChangeValueForKey:@"galleryListMA"];
111         */
112         
113         gallerySortNumb = 2;
114         
115         [self initGalleryList];
116         
117     }
118     
119     
120     
121
122     return self;
123 }
124
125 -(void)loadGalleryImage{
126
127     NSString *directoryPath;
128     
129     directoryPath = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];
130     [[NSFileManager defaultManager] changeCurrentDirectoryPath:directoryPath];
131     
132     
133     for (int i = 0;i < 255;i++) {
134         G[i] = NULL;
135     }
136     
137     G[0] = calloc(1, sizeof(GALLERY));
138     GTop[0] = G[0];
139     
140     G[0]->nameTop = [@"メディアミックス" retain];
141     G[0]->name = [@"img01" retain];
142     G[0]->img = [[NSImage imageNamed:@"test01.jpg"] retain];
143     G[0]->Hscene = false;
144     G[0]->background = false;
145     
146     G[0]->next = calloc(1, sizeof(GALLERY));
147     G[0] = G[0]->next;
148     G[0]->name = [@"img02" retain];
149     G[0]->img = [[NSImage imageNamed:@"test02.jpg"] retain];
150     G[0]->Hscene = false;
151     G[0]->background = false;
152     
153     G[0]->next = calloc(1, sizeof(GALLERY));
154     G[0] = G[0]->next;
155     G[0]->name = [@"img03" retain];
156     G[0]->img = [[NSImage imageNamed:@"test03.jpg"] retain];
157     G[0]->Hscene = false;
158     G[0]->background = false;
159     
160     G[0]->next = calloc(1, sizeof(GALLERY));
161     G[0] = G[0]->next;
162     G[0]->name = [@"img04" retain];
163     G[0]->img = [[NSImage imageNamed:@"test04.jpg"] retain];
164     G[0]->Hscene = false;
165     G[0]->background = false;
166     
167     G[0]->next = calloc(1, sizeof(GALLERY));
168     G[0] = G[0]->next;
169     G[0]->name = [@"img05" retain];
170     G[0]->img = [[NSImage imageNamed:@"test05.jpg"] retain];
171     G[0]->Hscene = false;
172     G[0]->background = false;
173     
174     G[0]->next = calloc(1, sizeof(GALLERY));
175     G[0] = G[0]->next;
176     G[0]->name = [@"img06" retain];
177     G[0]->img = [[NSImage imageNamed:@"test06.jpg"] retain];
178     G[0]->Hscene = false;
179     G[0]->background = false;
180     
181     G[0]->next = calloc(1, sizeof(GALLERY));
182     G[0] = G[0]->next;
183     G[0]->name = [@"img07" retain];
184     G[0]->img = [[NSImage imageNamed:@"test07.jpg"] retain];
185     G[0]->Hscene = false;
186     G[0]->background = false;
187     
188     G[0]->next = calloc(1, sizeof(GALLERY));
189     G[0] = G[0]->next;
190     G[0]->name = [@"img08" retain];
191     G[0]->img = [[NSImage imageNamed:@"test08.jpg"] retain];
192     G[0]->Hscene = false;
193     G[0]->background = false;
194     
195     G[0]->next = calloc(1, sizeof(GALLERY));
196     G[0] = G[0]->next;
197     G[0]->name = [@"img09" retain];
198     G[0]->img = [[NSImage imageNamed:@"test09.jpg"] retain];
199     G[0]->Hscene = false;
200     G[0]->background = false;
201     
202     G[0]->next = calloc(1, sizeof(GALLERY));
203     G[0] = G[0]->next;
204     G[0]->name = [@"img10" retain];
205     G[0]->img = [[NSImage imageNamed:@"test10.jpg"] retain];
206     G[0]->Hscene = false;
207     G[0]->background = false;
208     
209     G[0]->next = calloc(1, sizeof(GALLERY));
210     G[0] = G[0]->next;
211     G[0]->name = [@"img11" retain];
212     G[0]->img = [[NSImage imageNamed:@"test11.jpg"] retain];
213     G[0]->Hscene = false;
214     G[0]->background = false;
215     
216     /*
217      G[0]->next = calloc(1, sizeof(GALLERY));
218      G[0] = G[0]->next;
219      G[0]->name = [@"img12" retain];
220      G[0]->img = [[NSImage imageNamed:@"test12.jpg"] retain];
221      G[0]->Hscene = false;
222      G[0]->background = false;
223      */
224     G[0] = GTop[0];
225     
226     
227     
228     G[1] = calloc(1, sizeof(GALLERY));
229     GTop[1] = G[1];
230     
231     G[1]->nameTop = [@"とある科学の超電磁砲" retain];
232     G[1]->name = [@"img01" retain];
233     G[1]->img = [[NSImage imageNamed:@"to01.jpg"] retain];
234     G[1]->Hscene = false;
235     G[1]->background = false;
236     
237     G[1]->next = calloc(1, sizeof(GALLERY));
238     G[1] = G[1]->next;
239     G[1]->name = [@"img02" retain];
240     G[1]->img = [[NSImage imageNamed:@"to02.jpg"] retain];
241     G[1]->Hscene = false;
242     G[1]->background = false;
243     
244     G[1]->next = calloc(1, sizeof(GALLERY));
245     G[1] = G[1]->next;
246     G[1]->name = [@"img03" retain];
247     G[1]->img = [[NSImage imageNamed:@"to03.jpg"] retain];
248     G[1]->Hscene = false;
249     G[1]->background = false;
250     
251     G[1]->next = calloc(1, sizeof(GALLERY));
252     G[1] = G[1]->next;
253     G[1]->name = [@"img04" retain];
254     G[1]->img = [[NSImage imageNamed:@"to04.jpg"] retain];
255     G[1]->Hscene = false;
256     G[1]->background = false;
257     
258     G[1]->next = calloc(1, sizeof(GALLERY));
259     G[1] = G[1]->next;
260     G[1]->name = [@"img05" retain];
261     G[1]->img = [[NSImage imageNamed:@"to05.png"] retain];
262     G[1]->Hscene = false;
263     G[1]->background = false;
264     
265     G[1]->next = calloc(1, sizeof(GALLERY));
266     G[1] = G[1]->next;
267     G[1]->name = [@"img06" retain];
268     G[1]->img = [[NSImage imageNamed:@"to06.jpg"] retain];
269     G[1]->Hscene = false;
270     G[1]->background = false;
271     
272     G[1]->next = calloc(1, sizeof(GALLERY));
273     G[1] = G[1]->next;
274     G[1]->name = [@"img07" retain];
275     G[1]->img = [[NSImage imageNamed:@"to07.gif"] retain];
276     G[1]->Hscene = false;
277     G[1]->background = false;
278     
279     G[1]->next = calloc(1, sizeof(GALLERY));
280     G[1] = G[1]->next;
281     G[1]->name = [@"img08" retain];
282     G[1]->img = [[NSImage imageNamed:@"to08.jpg"] retain];
283     G[1]->Hscene = false;
284     G[1]->background = false;
285     
286     G[1]->next = calloc(1, sizeof(GALLERY));
287     G[1] = G[1]->next;
288     G[1]->name = [@"img09" retain];
289     G[1]->img = [[NSImage imageNamed:@"to09.jpg"] retain];
290     G[1]->Hscene = false;
291     G[1]->background = false;
292     
293     G[1]->next = calloc(1, sizeof(GALLERY));
294     G[1] = G[1]->next;
295     G[1]->name = [@"img10" retain];
296     G[1]->img = [[NSImage imageNamed:@"to10.png"] retain];
297     G[1]->Hscene = false;
298     G[1]->background = false;
299     
300     G[1]->next = calloc(1, sizeof(GALLERY));
301     G[1] = G[1]->next;
302     G[1]->name = [@"img11" retain];
303     G[1]->img = [[NSImage imageNamed:@"to11.jpg"] retain];
304     G[1]->Hscene = false;
305     G[1]->background = false;
306     
307     G[1]->next = calloc(1, sizeof(GALLERY));
308     G[1] = G[1]->next;
309     G[1]->name = [@"img12" retain];
310     G[1]->img = [[NSImage imageNamed:@"to12.jpg"] retain];
311     G[1]->Hscene = false;
312     G[1]->background = false;
313     
314     G[1]->next = calloc(1, sizeof(GALLERY));
315     G[1] = G[1]->next;
316     G[1]->name = [@"img13" retain];
317     G[1]->img = [[NSImage imageNamed:@"to06.jpg"] retain];
318     G[1]->Hscene = false;
319     G[1]->background = false;
320     
321     
322     G[1] = GTop[1];
323     
324     gallerySortNumb = 2;
325     
326     NSString *pathDATA = @"data/StringList/preset.txt";
327     
328     NSString *data = @"";
329     
330     data = [NSString stringWithContentsOfFile:pathDATA encoding:NSUTF8StringEncoding error:nil];
331     
332     NSArray *dataArray = [data componentsSeparatedByString:@"\n"];
333     for(int i = 0;i < [dataArray count]-1;i++){
334         NSArray *item = [[dataArray objectAtIndex:i] componentsSeparatedByString:@","];
335
336         static bool imgAddedFlag = false;
337         for (int n = 0;n <= gallerySortNumb;n++) {
338             GALLERY *GNtop = G[n];
339             while(G[n]){
340                 if([G[n]->nameTop isEqualToString:[item objectAtIndex:1]]){
341                     while (G[n]->next) {
342                         G[n] = G[n]->next;
343                     }
344                     G[n]->next = calloc(1, sizeof(GALLERY));
345                     G[n]->next->name = [[item objectAtIndex:0] retain];
346                     G[n]->next->nameTop = [[item objectAtIndex:1] retain];
347                     
348                     NSString *path = @"data/StringList/img/";
349                     
350                     path = [path stringByAppendingString:[item objectAtIndex:0]];
351                     
352                     NSImage *img = [[NSImage alloc] initWithData:[[NSFileHandle fileHandleForReadingAtPath:path] readDataToEndOfFile]];
353                     
354                     G[n]->next->img = [img retain];
355                     imgAddedFlag = true;
356                     G[n] = G[n]->next;
357                 }
358                 G[n] = G[n]->next;
359             }G[n] = GNtop;
360         }for (int n = gallerySortNumb;n <= gallerySortNumb;n++){
361             GALLERY *GNtop = G[n];
362             while(G[n]){
363                 if(![G[n]->nameTop isEqualToString:[item objectAtIndex:1]]){
364                     gallerySortNumb++;
365                     while (G[n]->next) {
366                         G[n] = G[n]->next;
367                     }
368                     G[n]->next = calloc(1, sizeof(GALLERY));
369                     G[n]->next->name = [[item objectAtIndex:0] retain];
370                     G[n]->next->nameTop = [[item objectAtIndex:1] retain];
371                     
372                     NSString *path = @"data/StringList/img/";
373                     
374                     path = [path stringByAppendingString:[item objectAtIndex:0]];
375                     
376                     NSImage *img = [[NSImage alloc] initWithData:[[NSFileHandle fileHandleForReadingAtPath:path] readDataToEndOfFile]];
377                     
378                     G[n]->next->img = [img retain];
379                     imgAddedFlag = true;
380                     G[n] = G[n]->next;
381                 }
382                 G[n] = G[n]->next;
383             }G[n] = GNtop;
384         }if(imgAddedFlag){
385             imgAddedFlag = false;
386             
387         }
388     }
389     
390     for(int i = 0;i < gallerySortNumb;i++){
391         G[i] = GTop[i];
392         while (G[i]) {
393             
394             static int GALLtopCnt = 0;
395             if(GALLtopCnt == 0){
396                 GALL = calloc(1, sizeof(GALLERY));
397                 *GALL = *G[i];
398                 GALLtop = GALL;
399                 GALLtopCnt = 1;
400             }else if(GALLtopCnt == 1){
401                 GALL->next = calloc(1, sizeof(GALLERY));
402                 *(GALL->next) = *G[i];
403                 GALLtop = GALL;
404                 GALL = GALL->next;
405                 GALLtopCnt = 2;
406             }else{
407                 GALL->next = calloc(1, sizeof(GALLERY));
408                 *(GALL->next) = *G[i];
409                 GALL = GALL->next;
410             }
411             
412             G[i] = G[i]->next;
413         }
414         G[i] = GTop[i];
415     }
416
417 }
418
419 -(void)initGalleryList{
420
421     [self loadGalleryImage];
422     
423     galleryListMA = [NSMutableArray new];
424     
425     [self willChangeValueForKey:@"galleryListMA"];
426     [galleryListMA removeAllObjects];
427     [self didChangeValueForKey:@"galleryListMA"];
428     
429     NSMutableDictionary* dict = [NSMutableDictionary new];
430     
431     [dict setValue:@"すべて" forKey:@"name"];
432     [self willChangeValueForKey:@"galleryListMA"];
433     [galleryListMA addObject:dict];
434     [self didChangeValueForKey:@"galleryListMA"];
435
436     
437     for(int i = 0;i < 2;i++){
438         NSMutableDictionary* dict = [NSMutableDictionary new];
439         
440         [dict setValue:G[i]->nameTop forKey:@"name"];
441         [self willChangeValueForKey:@"galleryListMA"];
442         [galleryListMA addObject:dict];
443         [self didChangeValueForKey:@"galleryListMA"];
444     }
445
446     [galleryListAC setSelectionIndex:0];
447     GAclrow = 0;
448     galleryNumb = 0;
449     galleryMax = 0;
450     
451     //[self setGallery];
452 }
453
454 -(void)setGallery{
455     
456     Gflag1 = false;
457     Gflag2 = false;
458     Gflag3 = false;
459     Gflag4 = false;
460     Gflag5 = false;
461     Gflag6 = false;
462     Gflag7 = false;
463     Gflag8 = false;
464     Gflag9 = false;
465     Gflag10 = false;
466     Gflag11 = false;
467     Gflag12 = false;
468     if(GAclrow == 0){
469         int cnt = 0;
470         galleryMax = 0;
471         for(int i = 0;i < 2;i++){
472             G[i] = GTop[i];
473             while (G[i]) {cnt++;
474                 if((cnt-1)%12 == 0) galleryMax++;
475                 G[i] = G[i]->next;
476             }
477             G[i] = GTop[i];
478         }
479         
480         int cnt2 = 0;
481         for(int i = 0;i < 2 && G[i];i++){
482             G[i] = GTop[i];
483             while(G[i]){
484                 [IV01 setImage:NULL];
485                 [IV02 setImage:NULL];
486                 [IV03 setImage:NULL];
487                 [IV04 setImage:NULL];
488                 [IV05 setImage:NULL];
489                 [IV06 setImage:NULL];
490                 [IV07 setImage:NULL];
491                 [IV08 setImage:NULL];
492                 [IV09 setImage:NULL];
493                 [IV10 setImage:NULL];
494                 [IV11 setImage:NULL];
495                 [IV12 setImage:NULL];
496                 
497                 [IV01 setImage:G[i]->img];
498                 if(G[i]->img){
499                     Gflag1 = true;
500                 }else{
501                     Gflag1 = false;
502                 }
503                 
504                 
505                 G[i] = G[i]->next;cnt2++;
506             hi02:
507                 if(G[i]) {
508                     [IV02 setImage:G[i]->img];
509                     Gflag2 = true;
510                 }
511                 else {
512                     G[i] = GTop[i];
513                     i++;
514                     if(G[i]) goto hi02;
515                     Gflag2 = false;
516                     return;
517                 }G[i] = G[i]->next;cnt2++;
518             hi03:
519                 if(G[i]) {
520                     [IV03 setImage:G[i]->img];
521                     Gflag3 = true;
522                 }
523                 else {
524                     G[i] = GTop[i];
525                     i++;
526                     if(G[i]) goto hi03;
527                     Gflag3 = false;
528                     return;
529                 }G[i] = G[i]->next;cnt2++;
530           hi04:
531                 if(G[i]) {
532                     [IV04 setImage:G[i]->img];
533                     Gflag4 = true;
534                 }
535                 else {
536                     G[i] = GTop[i];
537                     i++;
538                     if(G[i]) goto hi04;
539                     Gflag4 = false;
540                     return;
541                 }G[i] = G[i]->next;cnt2++;
542             hi05:
543                 if(G[i]) {
544                     [IV05 setImage:G[i]->img];
545                     Gflag5 = true;
546                 }
547                 else {
548                     G[i] = GTop[i];
549                     i++;
550                     if(G[i]) goto hi05;
551                     Gflag5 = false;
552                     return;
553                 }G[i] = G[i]->next;cnt2++;
554                 hi06:
555                 if(G[i]) {
556                     [IV06 setImage:G[i]->img];
557                     Gflag6 = true;
558                 }
559                 else {
560                     G[i] = GTop[i];
561                     i++;
562                     if(G[i]) goto hi06;
563                     Gflag6 = false;
564                     return;
565                 }G[i] = G[i]->next;cnt2++;
566                 hi07:
567                 if(G[i]) {
568                     [IV07 setImage:G[i]->img];
569                     Gflag7 = true;
570                 }
571                 else {
572                     G[i] = GTop[i];
573                     i++;
574                     if(G[i]) goto hi07;
575                     Gflag7 = false;
576                     return;
577                 }G[i] = G[i]->next;cnt2++;
578                 hi08:
579                 if(G[i]) {
580                     [IV08 setImage:G[i]->img];
581                     Gflag8 = true;
582                 }
583                 else {
584                     G[i] = GTop[i];
585                     i++;
586                     if(G[i]) goto hi08;
587                     Gflag8 = false;
588                     return;
589                 }G[i] = G[i]->next;cnt2++;
590                 hi09:
591                 if(G[i]) {
592                     [IV09 setImage:G[i]->img];
593                     Gflag9 = true;
594                 }
595                 else {
596                     G[i] = GTop[i];
597                     i++;
598                     if(G[i]) goto hi09;
599                     Gflag9 = false;
600                     return;
601                 }G[i] = G[i]->next;cnt2++;
602                 hi10:
603                 if(G[i]) {
604                     [IV10 setImage:G[i]->img];
605                     Gflag10 = true;
606                 }
607                 else {
608                     G[i] = GTop[i];
609                     i++;
610                     if(G[i]) goto hi10;
611                     Gflag10 = false;
612                     return;
613                 }G[i] = G[i]->next;cnt2++;
614                 hi11:
615                 if(G[i]) {
616                     [IV11 setImage:G[i]->img];
617                     Gflag11 = true;
618                 }
619                 else {
620                     G[i] = GTop[i];
621                     i++;
622                     if(G[i]) goto hi11;
623                     Gflag11 = false;
624                     return;
625                 }G[i] = G[i]->next;cnt2++;
626                 hi12:
627                 if(G[i]) {
628                     [IV12 setImage:G[i]->img];
629                     Gflag12 = true;
630                 }
631                 else {
632                     G[i] = GTop[i];
633                     i++;
634                     if(G[i]) goto hi12;
635                     Gflag12 = false;
636                     return;
637                 }G[i] = G[i]->next;cnt2++;
638                 
639                 if(galleryNumb <= cnt2/12){
640                     
641                     G[i] = GTop[i];
642                     return;
643                 }
644             }
645             
646             G[i] = GTop[i];
647         }
648         
649         
650     }else if(GAclrow > 0){
651         G[GAclrow-1] = GTop[GAclrow-1];
652         
653         int cnt = 0;
654         galleryMax = 0;
655         while (G[GAclrow-1]) {cnt++;
656             if((cnt-1)%12 == 0) galleryMax++;
657             G[GAclrow-1] = G[GAclrow-1]->next;
658         }
659         G[GAclrow-1] = GTop[GAclrow-1];
660         
661         for(int i = 1;i < galleryNumb;i++){
662             
663             for(int j = 0;j < 12;j++){
664                 G[GAclrow-1] = G[GAclrow-1]->next;
665             }
666         }
667         
668         int cnt2 = 0;
669         while(G[GAclrow-1]){cnt2++;
670             [IV01 setImage:NULL];
671             [IV02 setImage:NULL];
672             [IV03 setImage:NULL];
673             [IV04 setImage:NULL];
674             [IV05 setImage:NULL];
675             [IV06 setImage:NULL];
676             [IV07 setImage:NULL];
677             [IV08 setImage:NULL];
678             [IV09 setImage:NULL];
679             [IV10 setImage:NULL];
680             [IV11 setImage:NULL];
681             [IV12 setImage:NULL];
682             
683             [IV01 setImage:G[GAclrow-1]->img];
684             if(G[GAclrow-1]->img){
685                 Gflag1 = true;
686             }else{
687                 Gflag1 = false;
688             }
689             
690             
691             G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
692             if(G[GAclrow-1]) {
693                 [IV02 setImage:G[GAclrow-1]->img];
694                 Gflag2 = true;
695             }
696             else {
697                 G[GAclrow-1] = GTop[GAclrow-1];
698                 Gflag2 = false;
699                 return;
700             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
701             
702             if(G[GAclrow-1]) {
703                 [IV03 setImage:G[GAclrow-1]->img];
704                 Gflag3 = true;
705             }
706             else {
707                 G[GAclrow-1] = GTop[GAclrow-1];
708                 Gflag3 = false;
709                 return;
710             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
711             
712             if(G[GAclrow-1]) {
713                 [IV04 setImage:G[GAclrow-1]->img];
714                 Gflag4 = true;
715             }
716             else {
717                 G[GAclrow-1] = GTop[GAclrow-1];
718                 Gflag4 = false;
719                 return;
720             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
721             if(G[GAclrow-1]) {
722                 [IV05 setImage:G[GAclrow-1]->img];
723                 Gflag5 = true;
724             }
725             else {
726                 G[GAclrow-1] = GTop[GAclrow-1];
727                 Gflag5 = false;
728                 return;
729             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
730             if(G[GAclrow-1]) {
731                 [IV06 setImage:G[GAclrow-1]->img];
732                 Gflag6 = true;
733             }
734             else {
735                 G[GAclrow-1] = GTop[GAclrow-1];
736                 Gflag6 = false;
737                 return;
738             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
739             if(G[GAclrow-1]) {
740                 [IV07 setImage:G[GAclrow-1]->img];
741                 Gflag7 = true;
742             }
743             else {
744                 G[GAclrow-1] = GTop[GAclrow-1];
745                 Gflag7 = false;
746                 return;
747             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
748             if(G[GAclrow-1]) {
749                 [IV08 setImage:G[GAclrow-1]->img];
750                 Gflag8 = true;
751             }
752             else {
753                 G[GAclrow-1] = GTop[GAclrow-1];
754                 Gflag8 = false;
755                 return;
756             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
757             if(G[GAclrow-1]) {
758                 [IV09 setImage:G[GAclrow-1]->img];
759                 Gflag9 = true;
760             }
761             else {
762                 G[GAclrow-1] = GTop[GAclrow-1];
763                 Gflag9 = false;
764                 return;
765             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
766             if(G[GAclrow-1]) {
767                 [IV10 setImage:G[GAclrow-1]->img];
768                 Gflag10 = true;
769             }
770             else {
771                 G[GAclrow-1] = GTop[GAclrow-1];
772                 Gflag10 = false;
773                 return;
774             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
775             if(G[GAclrow-1]) {
776                 [IV11 setImage:G[GAclrow-1]->img];
777                 Gflag11 = true;
778             }
779             else {
780                 G[GAclrow-1] = GTop[GAclrow-1];
781                 Gflag11 = false;
782                 return;
783             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
784             
785             if(G[GAclrow-1]) {
786                 [IV12 setImage:G[GAclrow-1]->img];
787                 Gflag12 = true;
788             }
789             else {
790                 G[GAclrow-1] = GTop[GAclrow-1];
791                 Gflag12 = false;
792                 return;
793             }G[GAclrow-1] = G[GAclrow-1]->next;cnt2++;
794             
795             if(galleryNumb <= cnt2/12){
796                 
797                 G[GAclrow-1] = GTop[GAclrow-1];
798                 return;
799             }
800         }
801         G[GAclrow-1] = GTop[GAclrow-1];
802     }
803
804
805 }
806
807 -(void)clickGL:(id)sender{
808
809     GAclrow = [galleryListTV clickedRow];
810     galleryNumb = 1;
811     
812     [self setGallery];
813
814 }
815
816 -(void)EventLoop:(NSTimer *)timer{
817
818     if(galleryClickedFlag){
819         [self setGallery];
820         galleryClickedFlag = false;
821     }
822     
823     if(GallayClick > 1){
824         
825         if(GAclrow == 0){
826             
827             GALL = GALLtop;
828             for(int i = 0;i < GDclickedNum-1 + (galleryNumb-1)*12;i++){
829                 
830                 GALL = GALL->next;
831             }
832             [IVGD setImage:GALL->img];
833             [IVGD setImageScaling:NSScaleToFit];
834             
835             GALL = GALLtop;
836         }else{
837             
838         G[GAclrow-1] = GTop[GAclrow-1];
839         for(int i = 0;i < GDclickedNum-1 + (galleryNumb-1)*12;i++){
840         
841             G[GAclrow-1] = G[GAclrow-1]->next;
842         }
843         
844         [IVGD setImage:G[GAclrow-1]->img];
845         [IVGD setImageScaling:NSScaleToFit];
846         
847         G[GAclrow-1] = GTop[GAclrow-1];
848         }
849     
850         [galleryDetailWindow makeKeyAndOrderFront:nil];
851     }
852     static int clickCancel = 0;
853     if(GallayClick > 0)
854         clickCancel++;
855     if(clickCancel > 5){
856         GallayClick = 0;
857         clickCancel = 0;
858     }
859     
860     [TF setStringValue:[NSString stringWithFormat:@"%d/%d", galleryNumb, galleryMax]];
861 }
862
863 -(IBAction)previous:(id)sender{
864     
865     if(galleryNumb > 1) galleryNumb--;
866     else galleryNumb = galleryMax;
867     [TF setStringValue:[NSString stringWithFormat:@"%d/%d", galleryNumb, galleryMax]];
868     [self setGallery];
869 }
870 -(IBAction)next:(id)sender{
871     
872     if(galleryNumb < galleryMax) galleryNumb++;
873     else galleryNumb = 1;
874     [TF setStringValue:[NSString stringWithFormat:@"%d/%d", galleryNumb, galleryMax]];
875     [self setGallery];
876 }
877
878 -(IBAction)radioButton:(id)sender{
879 }
880
881
882
883
884
885
886
887 -(IBAction)close:(id)sender{
888
889     [galleryDetailWindow close];
890
891 }
892
893
894 @end
895
896
897
898
899 @implementation GalleryDetail
900
901 - (id)initWithFrame:(NSRect)frame
902 {
903     self = [super initWithFrame:frame];
904     if (self) {
905         // Initialization code here.
906     }
907     
908     return self;
909 }
910
911 -(void)mouseDown:(NSEvent *)theEvent{
912     
913 }
914
915 - (void)drawRect:(NSRect)dirtyRect
916 {
917     // Drawing code here.
918 }
919
920 @end
921
922 @implementation GDIV1
923
924 - (id)initWithFrame:(NSRect)frame
925 {
926     self = [super initWithFrame:frame];
927     if (self) {
928         // Initialization code here.
929     }
930     
931     return self;
932 }
933
934 -(void)mouseDown:(NSEvent *)theEvent{
935     GDclickedNum = 1;
936     if(Gflag1)
937     GallayClick++;
938 }
939
940 @end
941
942 @implementation GDIV2
943
944 - (id)initWithFrame:(NSRect)frame
945 {
946     self = [super initWithFrame:frame];
947     if (self) {
948         // Initialization code here.
949     }
950     
951     return self;
952 }
953
954 -(void)mouseDown:(NSEvent *)theEvent{
955     GDclickedNum = 2;
956     if(Gflag2)
957     GallayClick++;
958 }
959
960 @end
961
962 @implementation GDIV3
963
964 - (id)initWithFrame:(NSRect)frame
965 {
966     self = [super initWithFrame:frame];
967     if (self) {
968         // Initialization code here.
969     }
970     
971     return self;
972 }
973
974 -(void)mouseDown:(NSEvent *)theEvent{
975     GDclickedNum = 3;
976     if(Gflag3)
977     GallayClick++;
978 }
979
980 @end
981
982 @implementation GDIV4
983
984 - (id)initWithFrame:(NSRect)frame
985 {
986     self = [super initWithFrame:frame];
987     if (self) {
988         // Initialization code here.
989     }
990     
991     return self;
992 }
993
994 -(void)mouseDown:(NSEvent *)theEvent{
995     GDclickedNum = 4;
996     if(Gflag4)
997     GallayClick++;
998 }
999
1000 @end
1001
1002 @implementation GDIV5
1003
1004 - (id)initWithFrame:(NSRect)frame
1005 {
1006     self = [super initWithFrame:frame];
1007     if (self) {
1008         // Initialization code here.
1009     }
1010     
1011     return self;
1012 }
1013
1014 -(void)mouseDown:(NSEvent *)theEvent{
1015     GDclickedNum = 5;
1016     if(Gflag5)
1017     GallayClick++;
1018 }
1019
1020 @end
1021
1022 @implementation GDIV6
1023
1024 - (id)initWithFrame:(NSRect)frame
1025 {
1026     self = [super initWithFrame:frame];
1027     if (self) {
1028         // Initialization code here.
1029     }
1030     
1031     return self;
1032 }
1033
1034 -(void)mouseDown:(NSEvent *)theEvent{
1035     GDclickedNum = 6;
1036     if(Gflag6)
1037     GallayClick++;
1038 }
1039
1040 @end
1041
1042 @implementation GDIV7
1043
1044 - (id)initWithFrame:(NSRect)frame
1045 {
1046     self = [super initWithFrame:frame];
1047     if (self) {
1048         // Initialization code here.
1049     }
1050     
1051     return self;
1052 }
1053
1054 -(void)mouseDown:(NSEvent *)theEvent{
1055     GDclickedNum = 7;
1056     if(Gflag7)
1057     GallayClick++;
1058 }
1059
1060 @end
1061
1062 @implementation GDIV8
1063
1064 - (id)initWithFrame:(NSRect)frame
1065 {
1066     self = [super initWithFrame:frame];
1067     if (self) {
1068         // Initialization code here.
1069     }
1070     
1071     return self;
1072 }
1073
1074 -(void)mouseDown:(NSEvent *)theEvent{
1075     GDclickedNum = 8;
1076     if(Gflag8)
1077     GallayClick++;
1078 }
1079
1080 @end
1081
1082 @implementation GDIV9
1083
1084 - (id)initWithFrame:(NSRect)frame
1085 {
1086     self = [super initWithFrame:frame];
1087     if (self) {
1088         // Initialization code here.
1089     }
1090     
1091     return self;
1092 }
1093
1094 -(void)mouseDown:(NSEvent *)theEvent{
1095     GDclickedNum = 9;
1096     if(Gflag9)
1097     GallayClick++;
1098 }
1099
1100 @end
1101
1102 @implementation GDIV10
1103
1104 - (id)initWithFrame:(NSRect)frame
1105 {
1106     self = [super initWithFrame:frame];
1107     if (self) {
1108         // Initialization code here.
1109     }
1110     
1111     return self;
1112 }
1113
1114 -(void)mouseDown:(NSEvent *)theEvent{
1115     GDclickedNum = 10;
1116     if(Gflag10)
1117     GallayClick++;
1118 }
1119
1120 @end
1121
1122 @implementation GDIV11
1123
1124 - (id)initWithFrame:(NSRect)frame
1125 {
1126     self = [super initWithFrame:frame];
1127     if (self) {
1128         // Initialization code here.
1129     }
1130     
1131     return self;
1132 }
1133
1134 -(void)mouseDown:(NSEvent *)theEvent{
1135     GDclickedNum = 11;
1136     if(Gflag11)
1137     GallayClick++;
1138 }
1139
1140 @end
1141
1142 @implementation GDIV12
1143
1144 - (id)initWithFrame:(NSRect)frame
1145 {
1146     self = [super initWithFrame:frame];
1147     if (self) {
1148         // Initialization code here.
1149     }
1150     
1151     return self;
1152 }
1153
1154 -(void)mouseDown:(NSEvent *)theEvent{
1155     GDclickedNum = 12;
1156     if(Gflag12)
1157     GallayClick++;
1158 }
1159
1160 @end
1161
1162
1163