1 // generated by Fast Light User Interface Designer (fluid) version 1.0011
2
3 #include "mbasecalc.h"
4 #include "mbasecalc.h"
5 #include "callbacks.h"
6 #include "fmt.h"
7 #include <FL/Fl_Menu_Button.H>
8 int g_accum;
9 int g_value;
10 int g_lastopt;
11 static char digitbuf[128];
12 int g_base;
13
14 Fl_Box *text_disp=(Fl_Box *)0;
15
16 Fl_Button *c_button=(Fl_Button *)0;
17
cb_c_button(Fl_Button *,void *)18 static void cb_c_button(Fl_Button*, void*) {
19 numButtonCb(12);
20 }
21
22 Fl_Button *d_button=(Fl_Button *)0;
23
cb_d_button(Fl_Button *,void *)24 static void cb_d_button(Fl_Button*, void*) {
25 numButtonCb(13);
26 }
27
28 Fl_Button *e_button=(Fl_Button *)0;
29
cb_e_button(Fl_Button *,void *)30 static void cb_e_button(Fl_Button*, void*) {
31 numButtonCb(14);
32 }
33
34 Fl_Button *f_button=(Fl_Button *)0;
35
cb_f_button(Fl_Button *,void *)36 static void cb_f_button(Fl_Button*, void*) {
37 numButtonCb(15);
38 }
39
40 Fl_Button *eight_button=(Fl_Button *)0;
41
cb_eight_button(Fl_Button *,void *)42 static void cb_eight_button(Fl_Button*, void*) {
43 numButtonCb(8);
44 }
45
46 Fl_Button *nine_button=(Fl_Button *)0;
47
cb_nine_button(Fl_Button *,void *)48 static void cb_nine_button(Fl_Button*, void*) {
49 numButtonCb(9);
50 }
51
52 Fl_Button *a_button=(Fl_Button *)0;
53
cb_a_button(Fl_Button *,void *)54 static void cb_a_button(Fl_Button*, void*) {
55 numButtonCb(10);
56 }
57
58 Fl_Button *b_button=(Fl_Button *)0;
59
cb_b_button(Fl_Button *,void *)60 static void cb_b_button(Fl_Button*, void*) {
61 numButtonCb(11);
62 }
63
64 Fl_Button *four_button=(Fl_Button *)0;
65
cb_four_button(Fl_Button *,void *)66 static void cb_four_button(Fl_Button*, void*) {
67 numButtonCb(4);
68 }
69
70 Fl_Button *five_button=(Fl_Button *)0;
71
cb_five_button(Fl_Button *,void *)72 static void cb_five_button(Fl_Button*, void*) {
73 numButtonCb(5);
74 }
75
76 Fl_Button *six_button=(Fl_Button *)0;
77
cb_six_button(Fl_Button *,void *)78 static void cb_six_button(Fl_Button*, void*) {
79 numButtonCb(6);
80 }
81
82 Fl_Button *seven_button=(Fl_Button *)0;
83
cb_seven_button(Fl_Button *,void *)84 static void cb_seven_button(Fl_Button*, void*) {
85 numButtonCb(7);
86 }
87
88 Fl_Button *zero_button=(Fl_Button *)0;
89
cb_zero_button(Fl_Button *,void *)90 static void cb_zero_button(Fl_Button*, void*) {
91 numButtonCb(0);
92 }
93
94 Fl_Button *one_button=(Fl_Button *)0;
95
cb_one_button(Fl_Button *,void *)96 static void cb_one_button(Fl_Button*, void*) {
97 numButtonCb(1);
98 }
99
100 Fl_Button *two_button=(Fl_Button *)0;
101
cb_two_button(Fl_Button *,void *)102 static void cb_two_button(Fl_Button*, void*) {
103 numButtonCb(2);
104 }
105
106 Fl_Button *three_button=(Fl_Button *)0;
107
cb_three_button(Fl_Button *,void *)108 static void cb_three_button(Fl_Button*, void*) {
109 numButtonCb(3);
110 }
111
112 Fl_Button *bin_button=(Fl_Button *)0;
113
cb_bin_button(Fl_Button *,void *)114 static void cb_bin_button(Fl_Button*, void*) {
115 modeButtonsCb(2);
116 }
117
118 Fl_Button *oct_button=(Fl_Button *)0;
119
cb_oct_button(Fl_Button *,void *)120 static void cb_oct_button(Fl_Button*, void*) {
121 modeButtonsCb(8);
122 }
123
124 Fl_Button *dec_button=(Fl_Button *)0;
125
cb_dec_button(Fl_Button *,void *)126 static void cb_dec_button(Fl_Button*, void*) {
127 modeButtonsCb(10);
128 }
129
130 Fl_Button *hex_button=(Fl_Button *)0;
131
cb_hex_button(Fl_Button *,void *)132 static void cb_hex_button(Fl_Button*, void*) {
133 modeButtonsCb(16);
134 }
135
cb_(Fl_Button *,void *)136 static void cb_(Fl_Button*, void*) {
137 operCb(OPR_SHL);
138 }
139
140 Fl_Button *backspace_tricker=(Fl_Button *)0;
141
cb_backspace_tricker(Fl_Button *,void *)142 static void cb_backspace_tricker(Fl_Button*, void*) {
143 backSpaceCb();
144 }
145
146 Fl_Button *enter_tricker=(Fl_Button *)0;
147
cb_enter_tricker(Fl_Button *,void *)148 static void cb_enter_tricker(Fl_Button*, void*) {
149 operCb(OPR_ASGN);
150 }
151
cb_1(Fl_Button *,void *)152 static void cb_1(Fl_Button*, void*) {
153 operCb(OPR_ADD);
154 }
155
cb_2(Fl_Button *,void *)156 static void cb_2(Fl_Button*, void*) {
157 operCb(OPR_SUB);
158 }
159
cb_3(Fl_Button *,void *)160 static void cb_3(Fl_Button*, void*) {
161 operCb(OPR_AND);
162 }
163
cb_4(Fl_Button *,void *)164 static void cb_4(Fl_Button*, void*) {
165 operCb(OPR_OR);
166 }
167
cb_5(Fl_Button *,void *)168 static void cb_5(Fl_Button*, void*) {
169 operCb(OPR_NOT);
170 }
171
cb_6(Fl_Button *,void *)172 static void cb_6(Fl_Button*, void*) {
173 operCb(OPR_ASGN);
174 }
175
cb_7(Fl_Button *,void *)176 static void cb_7(Fl_Button*, void*) {
177 operCb(OPR_MUL);
178 }
179
cb_8(Fl_Button *,void *)180 static void cb_8(Fl_Button*, void*) {
181 operCb(OPR_SHR);
182 }
183
cb_9(Fl_Button *,void *)184 static void cb_9(Fl_Button*, void*) {
185 operCb(OPR_DIV);
186 }
187
cb_a(Fl_Button *,void *)188 static void cb_a(Fl_Button*, void*) {
189 operCb(OPR_MOD);
190 }
191
cb_CE(Fl_Button *,void *)192 static void cb_CE(Fl_Button*, void*) {
193 specButtonCb(OPR_CLRE);
194 }
195
cb_CD(Fl_Button *,void *)196 static void cb_CD(Fl_Button*, void*) {
197 specButtonCb(OPR_CLRD);
198 }
199
cb_CA(Fl_Button *,void *)200 static void cb_CA(Fl_Button*, void*) {
201 specButtonCb(OPR_CLRA);
202 }
203
cb_b(Fl_Button *,void *)204 static void cb_b(Fl_Button*, void*) {
205 operCb(OPR_XOR);
206 }
207
208 Fl_Button *u_button=(Fl_Button *)0;
209
cb_u_button(Fl_Button *,void *)210 static void cb_u_button(Fl_Button*, void*) {
211 specButtonCb(OPR_UNS);
212 }
213
214 Fl_Menu_Button *popup_menu=(Fl_Menu_Button *)0;
215
cb_About(Fl_Menu_ *,void *)216 static void cb_About(Fl_Menu_*, void*) {
217 aboutCb();
218 }
219
cb_Keyboard(Fl_Menu_ *,void *)220 static void cb_Keyboard(Fl_Menu_*, void*) {
221 shortcutCb();
222 }
223
cb_Quit(Fl_Menu_ *,void *)224 static void cb_Quit(Fl_Menu_*, void*) {
225 exit(0);
226 }
227
228 Fl_Menu_Item menu_popup_menu[] = {
229 {"About ", 0, (Fl_Callback*)cb_About, 0, 0, 0, 0, 14, 0},
230 {"Keyboard Shortcuts ", 0, (Fl_Callback*)cb_Keyboard, 0, 0, 0, 0, 14, 0},
231 {"Quit ", 0, (Fl_Callback*)cb_Quit, 0, 0, 0, 0, 14, 0},
232 {0}
233 };
234
makeWindow()235 Fl_Window* makeWindow() {
236 Fl_Window* w;
237 { Fl_Window* o = new Fl_Window(303, 139, "mbasecalc - Programmers\' calculator");
238 w = o;
239 o->callback((Fl_Callback*)mainWindowExitCb);
240 o->align(FL_ALIGN_TOP|FL_ALIGN_INSIDE);
241 { Fl_Box* o = text_disp = new Fl_Box(2, 5, 300, 27, ". . . . . . . . . . 0");
242 o->box(FL_DOWN_BOX);
243 o->color(7);
244 o->selection_color(219);
245 o->labelfont(1);
246 o->labelsize(10);
247 o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
248 o->damage(1);
249 }
250 { Fl_Button* o = c_button = new Fl_Button(2, 35, 30, 25, "C");
251 o->color(0);
252 o->labelsize(10);
253 o->labelcolor(7);
254 o->callback((Fl_Callback*)cb_c_button);
255 o->shortcut('c');
256 }
257 { Fl_Button* o = d_button = new Fl_Button(34, 35, 30, 25, "D");
258 o->color(0);
259 o->labelsize(10);
260 o->labelcolor(7);
261 o->callback((Fl_Callback*)cb_d_button);
262 o->shortcut('d');
263 }
264 { Fl_Button* o = e_button = new Fl_Button(66, 35, 30, 25, "E");
265 o->color(0);
266 o->labelsize(10);
267 o->labelcolor(7);
268 o->callback((Fl_Callback*)cb_e_button);
269 o->shortcut('e');
270 }
271 { Fl_Button* o = f_button = new Fl_Button(98, 35, 30, 25, "F");
272 o->color(0);
273 o->labelsize(10);
274 o->labelcolor(7);
275 o->callback((Fl_Callback*)cb_f_button);
276 o->shortcut('f');
277 }
278 { Fl_Button* o = eight_button = new Fl_Button(2, 61, 30, 25, "8");
279 o->color(0);
280 o->labelsize(10);
281 o->labelcolor(7);
282 o->callback((Fl_Callback*)cb_eight_button);
283 o->shortcut('8');
284 }
285 { Fl_Button* o = nine_button = new Fl_Button(34, 61, 30, 25, "9");
286 o->color(0);
287 o->labelsize(10);
288 o->labelcolor(7);
289 o->callback((Fl_Callback*)cb_nine_button);
290 o->shortcut('9');
291 }
292 { Fl_Button* o = a_button = new Fl_Button(66, 61, 30, 25, "A");
293 o->color(0);
294 o->labelsize(10);
295 o->labelcolor(7);
296 o->callback((Fl_Callback*)cb_a_button);
297 o->shortcut('a');
298 }
299 { Fl_Button* o = b_button = new Fl_Button(98, 61, 30, 25, "B");
300 o->color(0);
301 o->labelsize(10);
302 o->labelcolor(7);
303 o->callback((Fl_Callback*)cb_b_button);
304 o->shortcut('b');
305 }
306 { Fl_Button* o = four_button = new Fl_Button(2, 87, 30, 25, "4");
307 o->color(0);
308 o->labelsize(10);
309 o->labelcolor(7);
310 o->callback((Fl_Callback*)cb_four_button);
311 o->shortcut('4');
312 }
313 { Fl_Button* o = five_button = new Fl_Button(34, 87, 30, 25, "5");
314 o->color(0);
315 o->labelsize(10);
316 o->labelcolor(7);
317 o->callback((Fl_Callback*)cb_five_button);
318 o->shortcut('5');
319 }
320 { Fl_Button* o = six_button = new Fl_Button(66, 87, 30, 25, "6");
321 o->color(0);
322 o->labelsize(10);
323 o->labelcolor(7);
324 o->callback((Fl_Callback*)cb_six_button);
325 o->shortcut('6');
326 }
327 { Fl_Button* o = seven_button = new Fl_Button(98, 87, 30, 25, "7");
328 o->color(0);
329 o->labelsize(10);
330 o->labelcolor(7);
331 o->callback((Fl_Callback*)cb_seven_button);
332 o->shortcut('7');
333 }
334 { Fl_Button* o = zero_button = new Fl_Button(2, 113, 30, 25, "0");
335 o->color(0);
336 o->labelsize(10);
337 o->labelcolor(7);
338 o->callback((Fl_Callback*)cb_zero_button);
339 o->shortcut('0');
340 }
341 { Fl_Button* o = one_button = new Fl_Button(34, 113, 30, 25, "1");
342 o->color(0);
343 o->labelsize(10);
344 o->labelcolor(7);
345 o->callback((Fl_Callback*)cb_one_button);
346 o->shortcut('1');
347 }
348 { Fl_Button* o = two_button = new Fl_Button(66, 113, 30, 25, "2");
349 o->color(0);
350 o->labelsize(10);
351 o->labelcolor(7);
352 o->callback((Fl_Callback*)cb_two_button);
353 o->shortcut('2');
354 }
355 { Fl_Button* o = three_button = new Fl_Button(98, 113, 30, 25, "3");
356 o->color(0);
357 o->labelsize(10);
358 o->labelcolor(7);
359 o->callback((Fl_Callback*)cb_three_button);
360 o->shortcut('3');
361 }
362 { Fl_Button* o = bin_button = new Fl_Button(232, 35, 34, 25, "BIN");
363 o->color(0);
364 o->selection_color(80);
365 o->labelsize(10);
366 o->labelcolor(7);
367 o->callback((Fl_Callback*)cb_bin_button);
368 o->shortcut(FL_SHIFT+'b');
369 }
370 { Fl_Button* o = oct_button = new Fl_Button(200, 35, 30, 25, "OCT");
371 o->color(0);
372 o->selection_color(81);
373 o->labelsize(10);
374 o->labelcolor(7);
375 o->callback((Fl_Callback*)cb_oct_button);
376 o->shortcut(FL_SHIFT+'o');
377 }
378 { Fl_Button* o = dec_button = new Fl_Button(168, 35, 30, 23, "DEC");
379 o->color(0);
380 o->selection_color(80);
381 o->labelsize(10);
382 o->labelcolor(63);
383 o->callback((Fl_Callback*)cb_dec_button);
384 o->shortcut(FL_SHIFT+'d');
385 o->labelcolor(FL_GREEN);
386 }
387 { Fl_Button* o = hex_button = new Fl_Button(136, 35, 30, 25, "HEX");
388 o->color(0);
389 o->selection_color(80);
390 o->labelsize(10);
391 o->labelcolor(7);
392 o->callback((Fl_Callback*)cb_hex_button);
393 o->shortcut(FL_SHIFT+'h');
394 o->labelcolor(FL_WHITE);
395 o->color(FL_BLACK);
396 }
397 { Fl_Button* o = new Fl_Button(268, 87, 34, 25, "<<");
398 o->color(34);
399 o->labelsize(10);
400 o->labelcolor(7);
401 o->callback((Fl_Callback*)cb_);
402 o->shortcut('<');
403 }
404 { Fl_Button* o = backspace_tricker = new Fl_Button(128, 38, 5, 6);
405 o->box(FL_FLAT_BOX);
406 o->callback((Fl_Callback*)cb_backspace_tricker);
407 o->shortcut(FL_BackSpace);
408 }
409 { Fl_Button* o = enter_tricker = new Fl_Button(130, 123, 5, 5);
410 o->box(FL_FLAT_BOX);
411 o->callback((Fl_Callback*)cb_enter_tricker);
412 o->shortcut(FL_Enter);
413 }
414 { Fl_Button* o = new Fl_Button(136, 61, 30, 25, "+");
415 o->color(0);
416 o->labelsize(10);
417 o->labelcolor(7);
418 o->callback((Fl_Callback*)cb_1);
419 o->shortcut('+');
420 }
421 { Fl_Button* o = new Fl_Button(168, 61, 30, 25, "-");
422 o->color(0);
423 o->labelsize(12);
424 o->labelcolor(7);
425 o->callback((Fl_Callback*)cb_2);
426 o->shortcut('-');
427 }
428 { Fl_Button* o = new Fl_Button(168, 87, 30, 25, "&");
429 o->color(0);
430 o->labelsize(10);
431 o->labelcolor(7);
432 o->callback((Fl_Callback*)cb_3);
433 o->shortcut('&');
434 }
435 { Fl_Button* o = new Fl_Button(136, 87, 30, 25, "|");
436 o->color(0);
437 o->labelsize(10);
438 o->labelcolor(7);
439 o->callback((Fl_Callback*)cb_4);
440 o->shortcut('|');
441 }
442 { Fl_Button* o = new Fl_Button(168, 113, 30, 25, "~");
443 o->color(0);
444 o->labelsize(10);
445 o->labelcolor(7);
446 o->callback((Fl_Callback*)cb_5);
447 o->shortcut('~');
448 }
449 { Fl_Button* o = new Fl_Button(136, 113, 30, 25, "=");
450 o->color(0);
451 o->labelsize(10);
452 o->labelcolor(7);
453 o->callback((Fl_Callback*)cb_6);
454 o->shortcut('=');
455 }
456 { Fl_Button* o = new Fl_Button(200, 61, 30, 25, "*");
457 o->color(0);
458 o->labelsize(10);
459 o->labelcolor(7);
460 o->callback((Fl_Callback*)cb_7);
461 o->shortcut('*');
462 }
463 { Fl_Button* o = new Fl_Button(232, 87, 34, 25, ">>");
464 o->color(0);
465 o->labelsize(10);
466 o->labelcolor(7);
467 o->callback((Fl_Callback*)cb_8);
468 o->shortcut('>');
469 }
470 { Fl_Button* o = new Fl_Button(232, 61, 34, 25, "/");
471 o->color(0);
472 o->labelsize(10);
473 o->labelcolor(7);
474 o->callback((Fl_Callback*)cb_9);
475 o->shortcut('/');
476 }
477 { Fl_Button* o = new Fl_Button(268, 59, 34, 25, "%");
478 o->color(0);
479 o->labelsize(10);
480 o->labelcolor(7);
481 o->callback((Fl_Callback*)cb_a);
482 o->shortcut('%');
483 }
484 { Fl_Button* o = new Fl_Button(200, 113, 30, 25, "CE");
485 o->color(0);
486 o->labelsize(10);
487 o->labelcolor(7);
488 o->callback((Fl_Callback*)cb_CE);
489 o->shortcut(FL_CTRL+'e');
490 }
491 { Fl_Button* o = new Fl_Button(232, 113, 34, 25, "CD");
492 o->color(0);
493 o->labelsize(10);
494 o->labelcolor(7);
495 o->callback((Fl_Callback*)cb_CD);
496 o->shortcut(FL_CTRL+'d');
497 }
498 { Fl_Button* o = new Fl_Button(268, 113, 34, 25, "CA");
499 o->color(0);
500 o->labelsize(10);
501 o->labelcolor(7);
502 o->callback((Fl_Callback*)cb_CA);
503 o->shortcut(FL_CTRL+'a');
504 }
505 { Fl_Button* o = new Fl_Button(200, 87, 30, 25, "^");
506 o->color(34);
507 o->labelsize(10);
508 o->labelcolor(7);
509 o->callback((Fl_Callback*)cb_b);
510 o->shortcut('^');
511 }
512 { Fl_Button* o = u_button = new Fl_Button(268, 35, 34, 25, "U");
513 o->color(0);
514 o->labelsize(10);
515 o->labelcolor(63);
516 o->callback((Fl_Callback*)cb_u_button);
517 o->shortcut(FL_SHIFT+'s');
518 }
519 { Fl_Menu_Button* o = popup_menu = new Fl_Menu_Button(0, 0, 304, 142);
520 o->hide();
521 o->menu(menu_popup_menu);
522 o->type(Fl_Menu_Button::POPUP3);
523 }
524 o->end();
525 }
526 return w;
527 }
528
main(int argc,char ** argv)529 int main(int argc, char **argv) {
530 Fl_Window
531 *w=makeWindow();
532 makeAboutWindow();
533
534 popup_menu->show();
535
536 g_value=0;
537 g_base=10;
538 memset(digitbuf,0,sizeof(digitbuf));
539
540 makeColors();
541
542 w->show(argc,argv);
543
544 activateDeactivateButtons(HEX_BUTTONS,DEACTIVATE);
545 activateDeactivateButtons(NUM_BUTTONS,ACTIVATE);
546 return Fl::run();
547 }
548
549 Fl_Window *about_window=(Fl_Window *)0;
550
cb_ok(Fl_Button *,void *)551 static void cb_ok(Fl_Button*, void*) {
552 about_window->hide();
553 }
554
makeAboutWindow()555 Fl_Window* makeAboutWindow() {
556 Fl_Window* w;
557 { Fl_Window* o = about_window = new Fl_Window(299, 130, "About mbasecalc");
558 w = o;
559 { Fl_Box* o = new Fl_Box(2, 2, 294, 94, "mbasecalc 1.1\n(for Linux/Unix and MS Windows)\nby\nMuhammad A Muquit\nhttp:/\
560 /www.muquit.com/muquit/software/\nmuquit@muquit.com");
561 o->box(FL_THIN_DOWN_BOX);
562 o->color(7);
563 o->labelfont(4);
564 o->labelsize(12);
565 o->align(FL_ALIGN_TOP|FL_ALIGN_INSIDE);
566 }
567 { Fl_Button* o = new Fl_Button(120, 100, 60, 26, "ok");
568 o->callback((Fl_Callback*)cb_ok);
569 }
570 o->end();
571 }
572 return w;
573 }
574
mainWindowExitCb(Fl_Widget *,void *)575 void mainWindowExitCb(Fl_Widget *,void *) {
576 exit(0);
577 }
578