44324099438a88379d99018580afa6e02bc3aa57
[sdk] / ide / src / about.ec
1 #ifdef ECERE_STATIC
2 import static "ecere"
3 #else
4 import "ecere"
5 #endif
6
7 import "licensing"
8
9 #if (defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
10 #define X64STRING " (64 bit)"
11 #else
12 #define X64STRING " (32 bit)"
13 #endif
14
15 class AboutIDE : Window
16 {
17    borderStyle = sizable;
18    hasClose = true;
19    minClientSize = { 452, 440 };
20    text = $"About the Ecere SDK";
21    tabCycle = true;
22
23    EditBox versionCopyright
24    {
25       this, font = { $"Tahoma", 8.25f, bold = true }, borderStyle = none, background = white, readOnly = true, noCaret = true, multiLine = true, autoSize = true, position = { 13, 128 };
26    };
27
28    bool OnPostCreate()
29    {
30       char * longVersion = CopyString(REPOSITORY_VERSION);
31       char * shortVersion;
32       char * tokens[16];
33       char * message;
34       uint count;
35       StripQuotes(longVersion, longVersion);
36       count = TokenizeWith(longVersion, sizeof(tokens)/sizeof(tokens[0]), tokens, "-+", false);
37       shortVersion = count ? tokens[0] : longVersion;
38       message = PrintString(
39             "Ecere Software Development Kit v", shortVersion, " \"Ryōan-ji\"" X64STRING "\n"
40             "Build " REPOSITORY_VERSION "\n"
41             "Copyright © 2005-2014 Ecere Corporation\n"
42             "Copyright © 1996-2014 Jérôme Jacovella-St-Louis");
43       versionCopyright.contents = message;
44       delete message;
45       delete longVersion;
46    }
47
48    Label { this, text = $"Lead Architect and Developer", font = { $"Tahoma", 8.25f, bold = true }, position = { 16, 194 } };
49    Label { this, text = "Jérôme Jacovella-St-Louis", position = { 220, 194 } };
50    Label { this, text = $"With contributions from...", font = { $"Tahoma", 8.25f, bold = true }, position = { 16, 214 } };
51    Button licensingBtn
52    {
53       this, anchor = { left = 40, bottom = 10 }; hotKey = altL; text = "Software Licenses";
54       bool NotifyClicked(Button button, int x, int y, Modifiers mods)
55       {
56          LicensesForm { master = this }.Modal();
57          return true;
58       }
59    };
60    Button button
61    {
62       this, text = $"OK", isDefault = true, size = { 80, 20 }, anchor = { right = 13, bottom = 10 };
63
64       bool NotifyClicked(Button button, int x, int y, Modifiers mods)
65       {
66          Destroy(0);
67          return true;
68       }
69    };
70    EditBox credits
71    {
72       this, borderStyle = none, noCaret = true, readOnly = true, anchor = { left = 16, top = 242, bottom = 48, right = 16 },
73       background = { r = 250, g = 252, b = 255 };
74       multiLine = true,
75       hasVertScroll = true,
76       contents =
77          "Réjean Loyer\n"
78          "   Most of the additional programming on the IDE\n"
79          "   Initial EDA design\n"
80          "   Cross-platform and cross-compiler Makefile build system\n"
81          "\n"
82          "Niraj Kulkarni\n"
83          "   EditBox fixes\n"
84          "\n"
85          "Juan Sánchez\n"
86          "   Oracle EDA driver\n"
87          "   Spanish translation\n"
88          "   Finally getting us an IDE toolbar!\n"
89          "\n"
90          "Jean-François Bilodeau\n"
91          "   Initial Cocoa driver code\n"
92          "\n"
93          "Ryan Prior\n"
94          "   Initial development of the eC testing suite\n"
95          "   Ideas for an auto-layout GUI\n"
96          "   Work on debian packaging\n"
97          "\n"
98          "Joey Adams\n"
99          "   The bootstrapping system idea\n"
100          "   X driver improvements\n"
101          "   PPC Support\n"
102          "\n"
103          "Max Maton\n"
104          "   Code Editor improvements\n"
105          "\n"
106          "Ricardo Nabinger Sanchez\n"
107          "   Work on FreeBSD support\n"
108          "\n"
109          "Li Qi\n"
110          "   Internationalization, many good samples on the forums\n"
111          "\n"
112          "Gaetan Loyer\n"
113          "   Our logo and 3D art (e.g. chess set)\n"
114          "\n"
115          "Walter Charles Griffin\n"
116          "   Documentation, our mascott Ollie the Sea Otter\n"
117          "\n"
118          "Necdet Cokyazici\n"
119          "   Work on debian packaging and using Ecere in najitool\n"
120          "\n"
121          "Chinese translation Team:\n"
122          "   Ma Yanhong\n"
123          "   Li Qi\n"
124          "   Mojay Lee\n"
125          "   Loonke\n"
126          "\n"
127          "Making the Forums alive and forcing me to write good info:\n"
128          "   D. Bane\n"
129          "   Sam Hu\n"
130          "\n"
131          "Chris Goffinet and JF (_Demo_)\n"
132          "   Our work on the Dreamix Project drove us to\n"
133          "   develop eC and the Acovel Media Player\n"
134          "\n"
135          "Herbert Elwood Gilliland III\n"
136          "   Presentation art engine and OpenAL bindings\n"
137          "   Lots of feedback on the SDK\n"
138          "\n"
139          "Zou Yuan Jia\n"
140          "   Bringing Ecere to China\n"
141          "\n"
142          "Bart van der Werf\n"
143          "   Insightful discussions, testing Ecere Blokus!\n"
144          "\n"
145          "Luis Felipe Righi Flores\n"
146          "   Brazilian portuguese translation (under way)\n"
147          "\n"
148          "Special Thanks\n"
149          "\n"
150          "   Our ecere.com hosts, past and present\n"
151          "\n"
152          "   Sanyaade Adekoya\n"
153          "\n"
154          "   ##programming on FreeNode\n"
155          "\n"
156          "   All the guys on #ecere for moral support\n"
157          "\n"
158          "   Dmitrijs Ledkovs for sponsoring the SDK into Debian/Ubuntu\n"
159          "\n"
160          "   #launchpad, #ubuntu-packaging,\n"
161          "      #ubuntu-motu (tumbleweed, jtaylor, micahg...)\n"
162          "      For help with Debian/Ubuntu packaging\n"
163          "\n"
164          "   freebyte.com\n"
165          "\n"
166          "   devmaster.net\n"
167          "\n"
168          "   GitHub\n"
169          "\n"
170          "   The Software Developer's Journal\n"
171          "\n"
172          "Very Special Thanks\n"
173          "\n"
174          "   Dennis M. Ritchie (C)\n"
175          "\n"
176          "   Richard M. Stallman (Bison, GCC)\n"
177          "\n"
178          "   Linus Torvalds (Git, Linux)"
179    };
180    /*Label { this, text = "Réjean Loyer, Joey Adams, Max Maton", position = { 124, 176 } };
181    */
182    //Label { this, text = "Joey Adams", position = { 192, 190 } };
183    //Label { this, text = "Max Maton", position = { 192, 204 } };
184    Picture picture
185    {
186       this, size = { 318, 94 }, anchor = { top = 11 }, image = { ":ecere.jpg" };
187       cursor = ((GuiApplication)__thisModule).GetCursor(hand);
188
189       bool OnLeftButtonDown(int x, int y, Modifiers mods)
190       {
191          ShellOpen("http://www.ecere.com/");
192          return true;
193       }
194    };
195 }