]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - mac/macpgen.r
036b14f0e4d7a617e264a9b48416cf821679dc9c
[PuTTY.git] / mac / macpgen.r
1 /* $Id: macpgen.r,v 1.3 2003/02/16 14:27:37 ben Exp $ */
2 /*
3  * Copyright (c) 1999, 2002 Ben Harris
4  * All rights reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person
7  * obtaining a copy of this software and associated documentation
8  * files (the "Software"), to deal in the Software without
9  * restriction, including without limitation the rights to use,
10  * copy, modify, merge, publish, distribute, sublicense, and/or
11  * sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following
13  * conditions:
14  * 
15  * The above copyright notice and this permission notice shall be
16  * included in all copies or substantial portions of the Software.
17  * 
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21  * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
22  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
23  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25  * SOFTWARE.
26  */
27
28 /* PuTTYgen resources */
29
30 /*
31  * The space after the # for system includes is to stop mkfiles.pl
32  * trying to chase them (Rez doesn't support the angle-bracket
33  * syntax).
34  */
35
36 # include "Types.r"
37 # include "Dialogs.r"
38 # include "Palettes.r"
39 # include "Script.r"
40
41
42 /* Get resource IDs we share with C code */
43 #include "macpgrid.h"
44
45 #include "version.r"
46
47 /*
48  * Finder-related resources
49  */
50
51 /* 'pGen' is now registered with Apple as PuTTYgen's signature */
52
53 type 'pGen' as 'STR ';
54
55 resource 'pGen' (0, purgeable) {
56     "PuTTYgen experimental Mac port"
57 };
58
59 resource 'SIZE' (-1) {
60     reserved,
61     ignoreSuspendResumeEvents,
62     reserved,
63     canBackground,
64     needsActivateOnFGSwitch,
65     backgroundAndForeground,
66     dontGetFrontClicks,
67     ignoreAppDiedEvents,
68     is32BitCompatible,
69     isHighLevelEventAware,
70     localandRemoteHLEvents,
71     isStationeryAware,
72     dontUseTextEditServices,
73     reserved,
74     reserved,
75     reserved,
76     1024 * 1024,        /* Minimum size */
77     1024 * 1024,        /* Preferred size */
78 };
79
80 #define FREF_APPL 128
81 #define FREF_Seed 132
82
83 resource 'FREF' (FREF_APPL, purgeable) {
84     /* The application itself */
85     'APPL', FREF_APPL, ""
86 };
87
88 resource 'FREF' (FREF_Seed, purgeable) {
89     /* Random seed */
90     'Seed', FREF_Seed, ""
91 };
92
93 /* "Internal" file types, which can't be opened */
94 resource 'BNDL' (129, purgeable) {
95     'pTTI', 0,
96     {
97         'ICN#', {
98             FREF_Seed, FREF_Seed,
99         },
100         'FREF', {
101             FREF_Seed, FREF_Seed,
102         };
103     };
104 };
105
106 resource 'kind' (129) {
107     'pTTI',
108     verBritain,
109     {
110         'Seed', "PuTTY random number seed",
111     }
112 };
113
114 /* Icons, courtesy of DeRez */
115
116 /* Random seed icon */
117
118 resource 'ICN#' (FREF_Seed, purgeable) {
119         {       /* array: 2 elements */
120                 /* [1] */
121                 $"1FFFFC00 18F36600 161EF500 1CC92C80"
122                 $"1CF2EC40 10662C20 108E07F0 151F0490"
123                 $"1E00C4F0 1803BBD0 1FC5BE10 108B5A90"
124                 $"1B3C4F50 1267AC90 14B60470 1BB791B0"
125                 $"17F4D2B0 1DC1F830 1B029450 1B753DD0"
126                 $"145A8170 11390DD0 1E15A8B0 1CC4CD90"
127                 $"154ECED0 15C9CF30 172CDB50 12617970"
128                 $"15E45C90 1D4B9890 15CE4430 1FFFFFF0",
129                 /* [2] */
130                 $"1FFFFC00 1FFFFE00 1FFFFF00 1FFFFF80"
131                 $"1FFFFFC0 1FFFFFE0 1FFFFFF0 1FFFFFF0"
132                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
133                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
134                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
135                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
136                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
137                 $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
138         }
139 };
140 resource 'icl4' (FREF_Seed) {
141         $"000FFFFFFFFFFFFFFFFFFF0000000000"
142         $"000FFC0CFFFF0CFF1FFC0FF000000000"
143         $"000F0FF0C0CFFFF1FFFFCFCF00000000"
144         $"000FFF0CFF0CF11F0CFCFFCCF0000000"
145         $"000FFFC0FFFF11F0FFF0FFCCCF000000"
146         $"000F0C0C0FF11FFC0CFCFFCCCCF00000"
147         $"000FC0C0F111FFF0C0C0CFFFFFFF0000"
148         $"000F0F0F111FFFFF0C0C0F0CFC0F0000"
149         $"000FFFF111111111FFC0CFC0FFFF0000"
150         $"000FF111111111FFFCFFF0FFFF0F0000"
151         $"000FFFFFFF111FCFF0FFFFF0C0CF0000"
152         $"000F0C0CF111FCFF0F0FFCFCFC0F0000"
153         $"000FF0FF11FFFFC0CFC0FFFFCFCF0000"
154         $"000F0CF11FFC0FFFFCFCFF0CFC0F0000"
155         $"000FCF11F0FFCFF0C0C0CFC0CFFF0000"
156         $"000FF1FFFCFF0FFFFC0F0C0FFCFF0000"
157         $"000F1FFFFFFFCFC0FFCFC0F0F0FF0000"
158         $"000FFF0FFF0C0C0FFFFFFC0C0CFF0000"
159         $"000FF0FFC0C0C0F0F0CF0FC0CFCF0000"
160         $"000FFCFF0FFF0F0F0CFFFF0FFF0F0000"
161         $"000FCFC0CF0FF0F0F0C0C0CFCFFF0000"
162         $"000F0C0F0CFFFC0F0C0CFF0FFF0F0000"
163         $"000FFFF0C0CFCFCFF0F0F0C0F0FF0000"
164         $"000FFF0CFF0C0F0CFF0CFF0FFC0F0000"
165         $"000FCFCF0FC0FFF0FFC0FFF0FFCF0000"
166         $"000F0F0FFF0CFC0FFF0CFFFF0CFF0000"
167         $"000FCFFFC0F0FFC0FFCFF0FFCFCF0000"
168         $"000F0CFC0FFC0C0F0FFFFC0F0FFF0000"
169         $"000FCFCFFFF0CFC0CFCFFFC0F0CF0000"
170         $"000FFF0F0F0CF0FFFC0FFC0CFC0F0000"
171         $"000FCFCFFFC0FFF0CFC0CFC0C0FF0000"
172         $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
173 };
174 resource 'icl8' (FREF_Seed) {
175         $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
176         $"000000FFFFF5F5F5FFFFFFFFF5F5FFFF05FFFFF5F5FFFF000000000000000000"
177         $"000000FFF5FFFFF5F5F5F5FFFFFFFF05FFFFFFFFF5FF2BFF0000000000000000"
178         $"000000FFFFFFF5F5FFFFF5F5FF0505FF0000FFF5FFFF2B2BFF00000000000000"
179         $"000000FFFFFFF5F5FFFFFFFF0505FFF5FFFFFFF5FFFF2B2B2BFF000000000000"
180         $"000000FFF5F5F5F5F5FFFF0505FFFFF5F5F5FFF5FFFF2B2B2B2BFF0000000000"
181         $"000000FFF5F5F5F5FF050505FFFFFFF5F5F5F5F5F5FFFFFFFFFFFFFF00000000"
182         $"000000FFF5FFF5FF050505FFFFFFFFFFF5F5F5F5F5FFF5F5FFF5F5FF00000000"
183         $"000000FFFFFFFF050505050505050505FFFFF5F5F5FFF5F5FFFFFFFF00000000"
184         $"000000FFFF050505050505050505FFFFFFF5FFFFFFF5FFFFFFFFF5FF00000000"
185         $"000000FFFFFFFFFFFFFF050505FFF5FFFFF5FFFFFFFFFFF5F5F5F5FF00000000"
186         $"000000FFF5F5F5F5FF050505FFF5FFFFF5FFF5FFFFF5FFF5FFF5F5FF00000000"
187         $"000000FFFFF5FFFF0505FFFFFFFFF5F5F5FFF5F5FFFFFFFFF5FFF5FF00000000"
188         $"000000FFF5F5FF0505FFFFF5F5FFFFFFFFF5FFF5FFFFF5F5FFF5F5FF00000000"
189         $"000000FFF5FF0505FFF5FFFFF5FFFFF5F5F5F5F5F5FFF5F5F5FFFFFF00000000"
190         $"000000FFFF05FFFFFFF5FFFFF5FFFFFFFFF5F5FFF5F5F5FFFFF5FFFF00000000"
191         $"000000FF05FFFFFFFFFFFFFFF5FFF5F5FFFFF5FFF5F5FFF5FFF5FFFF00000000"
192         $"000000FFFFFFF5FFFFFFF5F5F5F5F5FFFFFFFFFFFFF5F5F5F5F5FFFF00000000"
193         $"000000FFFFF5FFFFF5F5F5F5F5F5FF00FFF5F5FFF5FFF5F5F5FFF5FF00000000"
194         $"000000FFFFF5FFFFF5FFFFFFF5FF00FFF5F5FFFFFFFFF5FFFFFFF5FF00000000"
195         $"000000FFF5FFF5F5F5FFF5FFFF00FF00FFF5F5F5F5F5F5FFF5FFFFFF00000000"
196         $"000000FFF5F5F5FFF5F5FFFFFF0000FFF5F5F5F5FFFFF5FFFFFF00FF00000000"
197         $"000000FFFFFFFFF5F5F5F5FFF5FF00FFFFF5FFF5FFF5F5F5FF00FFFF00000000"
198         $"000000FFFFFFF5F5FFFFF5F5F5FF0000FFFFF5F5FFFFF5FFFF0000FF00000000"
199         $"000000FFF5FFF5FFF5FFF5F5FFFFFF00FFFFF5F5FFFFFFF5FFFF00FF00000000"
200         $"000000FFF5FFF5FFFFFFF5F5FFF5F5FFFFFFF5F5FFFFFFFFF5F5FFFF00000000"
201         $"000000FFF5FFFFFFF5F5FFF5FFFFF5F5FFFFF5FFFFF5FFFFF5FFF5FF00000000"
202         $"000000FFF5F5FFF5F5FFFFF5F5F5F5FFF5FFFFFFFFF5F5FFF5FFFFFF00000000"
203         $"000000FFF5FFF5FFFFFFFFF5F5FFF5F5F5FFF5FFFFFFF5F5FFF5F5FF00000000"
204         $"000000FFFFFFF5FFF5FFF5F5FFF5FFFFFFF5F5FFFFF5F5F5FFF5F5FF00000000"
205         $"000000FFF5FFF5FFFFFFF5F5FFFFFFF5F5FFF5F5F5FFF5F5F5F5FFFF00000000"
206         $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
207 };
208 resource 'ics#' (FREF_Seed) {
209         {       /* array: 2 elements */
210                 /* [1] */
211                 $"7FE0 56B0 59A8 637C 51DC 6794 59AC 76EC"
212                 $"7224 7C6C 743C 71AC 505C 459C 4424 7FFC",
213                 /* [2] */
214                 $"7FE0 7FF0 7FF8 7FFC 7FFC 7FFC 7FFC 7FFC"
215                 $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
216         }
217 };
218 resource 'ics4' (FREF_Seed) {
219         $"0FFFFFFFFFF00000"
220         $"0F0F0FF1FCFF0000"
221         $"0FCFF11FF0FCF000"
222         $"0FF111FF0FFFFF00"
223         $"0FCF111FFFCFFF00"
224         $"0FF11FFFFC0F0F00"
225         $"0F1FF0CFF0F0FF00"
226         $"0FFF0FFCFFFCFF00"
227         $"0FFFC0F0C0F0CF00"
228         $"0FFFFF0C0FFCFF00"
229         $"0FFFCFC0C0FFFF00"
230         $"0FFF0C0FFCFCFF00"
231         $"0FCFC0C0CFCFFF00"
232         $"0F0C0F0FFC0FFF00"
233         $"0FC0CFC0C0F0CF00"
234         $"0FFFFFFFFFFFFF"
235 };
236 resource 'ics8' (FREF_Seed) {
237         $"00FFFFFFFFFFFFFFFFFFFF0000000000"
238         $"00FFF5FFF5FFFF05FFF5FFFF00000000"
239         $"00FFF5FFFF0505FFFFF5FF2BFF000000"
240         $"00FFFF050505FFFFF5FFFFFFFFFF0000"
241         $"00FFF5FF050505FFFFFFF5FFFFFF0000"
242         $"00FFFF0505FFFFFFFFF5F5FFF5FF0000"
243         $"00FF05FFFFF5F5FFFFF5FFF5FFFF0000"
244         $"00FFFFFFF5FFFFF5FFFFFFF5FFFF0000"
245         $"00FFFFFFF5F5FFF5F5F5FFF5F5FF0000"
246         $"00FFFFFFFFFFF5F5F5FFFFF5FFFF0000"
247         $"00FFFFFFF5FFF5F5F5F5FFFFFFFF0000"
248         $"00FFFFFFF5F5F5FFFFF5FFF5FFFF0000"
249         $"00FFF5FFF5F5F5F5F5FFF5FFFFFF0000"
250         $"00FFF5F5F5FFF5FFFFF5F5FFFFFF0000"
251         $"00FFF5F5F5FFF5F5F5F5FFF5F5FF0000"
252         $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
253 };
254
255 /*
256  * Application-missing message string, for random seed and host key database
257  * files.
258  */
259 resource 'STR ' (-16397, purgeable) {
260     "This file is used internally by PuTTY.  It cannot be opened."
261 };
262
263 /* Missing-application name string, for private keys. */
264 /* XXX Private keys should eventually be owned by Pageant */
265 resource 'STR ' (-16396, purgeable) {
266     "PuTTYgen"
267 };
268
269 /*
270  * Internal resources
271  */
272
273 /* Menu bar */
274
275 resource 'MBAR' (MBAR_Main, preload) {
276     { mApple, mFile, mEdit, mWindow }
277 };
278
279 resource 'MENU' (mApple, preload) {
280     mApple,
281     textMenuProc,
282     0b11111111111111111111111111111101,
283     enabled,
284     apple,
285     {
286         "About PuTTYgen\0xc9",  noicon, nokey, nomark, plain,
287         "-",                    noicon, nokey, nomark, plain,
288     }
289 };
290
291 resource 'MENU' (mFile, preload) {
292     mFile,
293     textMenuProc,
294     0b11111111111111111111111101111011,
295     enabled,
296     "File",
297     {
298         "New",                  noicon, "N",   nomark, plain,
299         "Open\0xc9",            noicon, "O",   nomark, plain,
300         "-",                    noicon, nokey, nomark, plain,
301         "Close",                noicon, "W",   nomark, plain,
302         "Save",                 noicon, "S",   nomark, plain,
303         "Save As\0xc9",         noicon, nokey, nomark, plain,
304         "-",                    noicon, nokey, nomark, plain,
305         "Quit",                 noicon, "Q",   nomark, plain,
306     }
307 };
308
309 resource 'MENU' (mEdit, preload) {
310     mEdit,
311     textMenuProc,
312     0b11111111111111111111111111111101,
313     enabled,
314     "Edit",
315     {
316         "Undo",                 noicon, "Z",   nomark, plain,
317         "-",                    noicon, nokey, nomark, plain,
318         "Cut",                  noicon, "X",   nomark, plain,
319         "Copy",                 noicon, "C",   nomark, plain,
320         "Paste",                noicon, "V",   nomark, plain,
321         "Clear",                noicon, nokey, nomark, plain,
322         "Select All",           noicon, "A",   nomark, plain,
323     }
324 };
325
326 resource 'MENU' (mWindow, preload) {
327     mWindow,
328     textMenuProc,
329     0b11111111111111111111111111111111,
330     enabled,
331     "Window",
332     {
333     }
334 };
335
336 /* Fatal error box.  Stolen from the Finder. */
337
338 resource 'ALRT' (wFatal, "fatalbox", purgeable) {
339         {54, 67, 152, 435},
340         wFatal,
341         beepStages,
342         alertPositionMainScreen
343 };
344
345 resource 'DITL' (wFatal, "fatalbox", purgeable) {
346         {       /* array DITLarray: 3 elements */
347                 /* [1] */
348                 {68, 299, 88, 358},
349                 Button {
350                         enabled,
351                         "OK"
352                 },
353                 /* [2] */
354                 {68, 227, 88, 286},
355                 StaticText {
356                         disabled,
357                         ""
358                 },
359                 /* [3] */
360                 {7, 74, 55, 358},
361                 StaticText {
362                         disabled,
363                         "^0"
364                 }
365         }
366 };
367
368 /* "About" box */
369
370 resource 'DLOG' (wAbout, "about", purgeable) {
371     { 0, 0, 120, 240 },
372     noGrowDocProc,
373     invisible,
374     goAway,
375     wAbout,             /* RefCon -- identifies the window to PuTTY */
376     wAbout,             /* DITL ID */
377     "About PuTTYgen",
378     alertPositionMainScreen
379 };
380
381 resource 'dlgx' (wAbout, "about", purgeable) {
382     versionZero {
383         kDialogFlagsUseThemeBackground | kDialogFlagsUseThemeControls
384     }
385 };
386
387 resource 'DITL' (wAbout, "about", purgeable) {
388     {
389         { 87, 13, 107, 227 },
390         Button { enabled, "View Licence" },
391         { 13, 13, 29, 227 },
392         StaticText { disabled, "PuTTYgen"},
393         { 42, 13, 74, 227 },
394         StaticText { disabled, "Some version or other\n"
395                                "Copyright © 1997-9 Simon Tatham"},
396     }
397 };
398
399 /* Licence box */
400
401 resource 'WIND' (wLicence, "licence", purgeable) {
402     { 0, 0, 250, 400 },
403     noGrowDocProc,
404     visible,
405     goAway,
406     wLicence,
407     "PuTTYgen Licence",
408     alertPositionParentWindowScreen
409 };
410
411 type 'TEXT' {
412     string;
413 };
414
415 resource 'TEXT' (wLicence, "licence", purgeable) {
416     "Copyright 1997-2003 Simon Tatham.\n"
417     "\n"
418     "Portions copyright Robert de Bath, Joris van Rantwijk, Delian"
419     "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,"
420     "Justin Bradford, Ben Harris, and CORE SDI S.A.\n"
421     "\n"    
422     "Permission is hereby granted, free of charge, to any person "
423     "obtaining a copy of this software and associated documentation "
424     "files (the \"Software\"), to deal in the Software without "
425     "restriction, including without limitation the rights to use, "
426     "copy, modify, merge, publish, distribute, sublicense, and/or "
427     "sell copies of the Software, and to permit persons to whom the "
428     "Software is furnished to do so, subject to the following "
429     "conditions:\n\n"
430     
431     "The above copyright notice and this permission notice shall be "
432     "included in all copies or substantial portions of the Software.\n\n"
433     
434     "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, "
435     "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF "
436     "MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND "
437     "NONINFRINGEMENT.  IN NO EVENT SHALL SIMON TATHAM BE LIABLE FOR "
438     "ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF "
439     "CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN "
440     "CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE "
441     "SOFTWARE."
442 };
443
444 /* Key box */
445
446 resource 'DLOG' (wKey, "key", purgeable) {
447     { 0, 0, 120, 240 },
448     noGrowDocProc,
449     invisible,
450     goAway,
451     wKey,               /* RefCon -- identifies the window to PuTTY */
452     wKey,               /* DITL ID */
453     "untitled",
454     staggerParentWindowScreen
455 };
456
457 resource 'dlgx' (wKey, "key", purgeable) {
458     versionZero {
459         kDialogFlagsUseThemeBackground | kDialogFlagsUseThemeControls
460     }
461 };
462
463 resource 'DITL' (wKey, "key", purgeable) {
464     {
465         { 13, 13, 33, 227 },
466         Button { enabled, "Generate" },
467     }
468 };
469